Boincoid - An Android port of the BOINC platform
An excerpt from the BOINC website: "BOINC is an open-source software platform for computing using volunteered resources ... It is a program that lets you donate your idle computer time to science projects like SETI@home, Climateprediction.net, Rosetta@home, World Community Grid, and many others."
Boincoid is a port of the BOINC platform to the Android operating system. BOINC was originally written in C++, at the University of California - Berkeley. It came to life along with the SETI@home program also written in C++. Both projects are open sourced, and so we took the C++ code and translated it to Java and then added Android-specific modifications. The result is an Android BOINC client that behaves exactly like the original one. It is re-modeled to fit Java better and offers projects like SETI@home the option to port to Android and then link with our BOINC client.
Of course with the original project being open sourced, we chose to keep it this way. You can find the project's SourceForge page here. The project resulted in over 40,000 lines of C/C++ code translated, and will soon be available as both a Java port of BOINC, and an Android port of BOINC.
Features & What's Coming
The BOINC Client operates in three modes:
In Basic View a banner of the current processing project is shown, along with a progress bar portraying the progress of the current workunit. The menu offers you to exit the application or attach and detach from a project. While the PC BOINC agent allows for multiple running projects, we felt that a single project was more fitting to a hand held device.
A "Resume/Suspend" button allows for pausing the processing of current work, dropping the CPU usage of Boincoid to almost 0%. We believe users will switch on the work when they go to sleep, or attach the device to a charger. In our next version, if Android allows it, the client will wakeup or go to sleep according to the battery state, without user interaction.
A click on the banner will pop up the Debug View (see below). In the next version, clicking the banner will open up the Graphic View (also see below) by default.
Debug View displays the last debug messages printed. While most of it is technical BOINC babble, an untrained eye could still spot some work going on behind the scenes. Clicking the device's "Back" button, returns the client to Basic View.
The debug view was intended mainly as a place-holder for the Graphics View (explained below), for the the first submission. The next version might still support Debug View, but will pop up the Graphic View when clicking the banner.
The Graphic View shows a graphical representation of the current work in progress. Each project implements and shows its own unique graphics, some samples are shown here from SETI@home (right) and Rosetta@home (below). As mentioned above, the Graphic View is not yet implemented for the SETI Android port, but it will be for the next version. Moreover, settings will allow for the Graphic View to be set as the device's screen saver in the next version.