Pages

Showing posts with label update. Show all posts
Showing posts with label update. Show all posts

Tuesday, April 9, 2013

Announcing Funf Version 0.4!

The Behavio team is very happy to announce a major version update to Funf, our open source mobile sensing framework, accompanied by respective updates to Funf’s two user-facing components (Funf Journal and Funf In A Box).

In the time since our last major version update (Funf 0.3) last year, we’ve had a chance to see how the framework has been used by developers and end users. In addition, we compiled our own “to do” list of features that didn’t make it into the 0.3 release.

Our high level goals for Funf 0.4 were to increase reliability and performance, as well as minimize effort for the developer. This last part includes both developers who are using the standard Funf API and Android library to build apps, as well as developers working on their own probes and extending the Funf framework at the lower levels (a “probe” is the basic component type in Funf which is responsible for sensing or detecting some type of data, and reporting it to software clients who requested the information. Funf 0.4 comes with 38 built-in probes!)

Most of the changes in this release are under the hood. It is a major release, and as such it breaks some compatibility with Funf 0.3 based apps.


The following diagram illustrates the high-level structure of the updated Funf architecture:

Funf phone-side architecture: high-level

Key updates:
  • Funf now runs as a single service instead of a service per probe.
  • Internal communication now implemented using internal function calls in the same JVM rather than inter-process communications. 
  • Probes: Probe data exchange re-architected to use a GSON/JSON implementation.
  • Pipelines: Generalized pipeline interface.
  • Configuration: Extensive redesign of the configuration process
  • Time normalization improvements. In particular, added ability to set configuration values of less than 1 second.
  • Added dependency to modified Gson 2.1 library (see downloads page)
  • Bug fixes.
For additional details see the detailed 0.4 release overview.

If you’re a user of Funf Journal, Funf In A Box, or any other Funf-based app that has been upgraded to version 0.4, you’ll enjoy higher stability and reliability out of the box.


           
Funf Journal: New version and updated look


We’ve also refreshed the look of Funf Journal to match the Android style guide, and tested it with devices running up to Android 4.2 Jellybean.

For all components, please let us know if you find any issues with this release.

Finally, as Funf was also just accepted to Google's Summer of Code program, if you are a student and interested in spending the summer contributing to Funf (and being paid by Google), you should consider applying.

We hope you enjoy Funf and find it useful!

Wednesday, November 23, 2011

Funf Update: v0.3.0, Google Group, and More

We had several key releases and updates to the Funf project over the last 2-3 weeks. You might already be aware of at least some of them, but in case you aren't, this post should lay them out for you.


We also want to thank everyone who sent us comments and feedback. Funf is still in a very early alpha stage, and any comments on  the code, the app, or our documentation helps us find issues and prioritize our tasks. 


First of all, we decided that a Google Groups mailing list would be the best place for developer-level updates as well as an open discussion between anyone interested in the project. Check it out here: Funf-Developer Google Group.


Funf Developer Framework version 0.3 released
We made some fixes and a significant update to the Funf framework's internals:
The main change is an updated internal communication mechanism for probes. They now use PendingIntents vs Broadcasts, which is much more reliable (we realized that for periods of intense probe communication, the IPC mechanism is overloaded and messages get lost...). The change adds higher reliability to the whole system.


In addition, the updates lower startup times (as BroadcastsReceivers no longer have to be dynamically registered). This leads to: 
    • Better security (Rely on Android to find out requesting package, instead of complicated nonce exchange)
    • Probes now conduct all actions on a separate thread, and shut down on their own if they have no data requests pending.
    • Separated probe status messages, into details (constant probe information) and status (transient state information). More details in ProbeCommunication.



Funf Journal App version 0.2 released
We also updated the Funf Journal app on the market. The new version incorporates the updated framework. Most of the changes are under the hood, but this greatly increases reliability and performance of the app. In addition we made a few small changes to the UI: 

  • Updated probes tab interface to make it clearer how to turn on and off all probes (see pic below).
  • Stabilized sorting of probes to be alphabetical by category, then by name.
  • Password is now cancelable after you have set it once.









Funf Sample Visualization Script :


We also released a sample visualization script for data collected with the Funf Journal app.
This one has been out for a few weeks as we were testing it, but last week we also launched an updated version that is more robust in handling errors in the data files (which may happen every now and then), and has some other added functionality.




This is not meant to be a tool to fully analyze your collected data, but mostly give you some hint at what can be done with the data. The script also decrypts all of your data files and merges it into an SQLite databas file, which allows you to directly poke into the data yourself, including the many probes not currently visualized, We hope that this will inspire other developers to come up with more interesting visualizations (*hint*), or other services where this data could be imported to.













As you see we've been busy... there are several more updates coming up soon, including more new probes and also new Funf tutorials. Going forward we'll do our best to update here more often, and also start a more structured version release schedule. Stay tuned!