What it does
BOINC Echo gathers personal user statistics from BOINC projects, similar to sites like BOINC-stats and Free-DC, but limited to the user accounts you track.
User data is gathered from the projects' websites every 6 hours. A background service (ProjectRPCService) is responsible for fetching the data. Running the application 24/7, network usage is estimated at ca 300kb/month for a project with 3 hosts.
The service will never issue an update inside the 6 hour interval, regardless of the phone being rebooted, application restarted et cetera. You must however manually run the application once after a reboot for the background service to start.
BOINC Echo can be downloaded from this link (project page). It requires Android 2.1 or later.
Uninstalling the application does not remove the database; it has to be manually removed. Delete the /$sdcard/boincecho/ directory.
Known issues/Missing features
- Unmounting the sdcard will probably cause BOINC Echo to crash.
- Buttons give no visual feedback when pressed (will fix shortly).
- Re-ordering the project list isn't possible, yet.
- Graphs/charts can only be shown for one project at a time; future version will mix and match projects.
- Chart XY constraints can't be changed.
- Small data sets won't produce proper graphs (though it hasn't been thoroughly tested).
- Chart timelines aren't exact (hh:mm is stripped from the x-axis labels).
- It's not possible to add new users by user id, contrary to what's stated on the add user/project screen.
- The same is true for CPID (Cross-Project ID).
- ProjectRPCService may force quit if memory is low.
- There should be an intro message in the main view when no projects are tracked.
- Selectively/automatically purging/cleaning the database is still missing.
- The Add new user/project screen is ugly.
- Date and number formatting is not configurable.
- There's no license notice inside the app.
Stuff that might interest fellow developers
- Annotation-based setter injection: @XMLBind and @CursorBind mark setter methods, handled by JDOMFeeder and AssistCursor respectively. User and Host are two classes using aforementioned annotations; injection is done inside the UserManger (initUsers() being one). This removes much of the tedious boilerplate code otherwise necessary.
- AssistCursor also auto-resolves column names->cursor id:s.
- Apache 2.0 license.
BOINCEcho uses JDOM for xml parsing and AChartEngine for the charts.
If you have any suggestions or comments, I'd really like to hear them from you. I've personally only tested the application on my HTC Hero (with the FroydVillain ROM) and the emulator, hopefully it shouldn't cause any problems on your phone, but shout if it does
Android-friendly download link