Documentation on the current implementation is here: http://wiki.sahanafoundation.org/phase2/doku.php/dev:j2meclient = Blueprint for the J2ME client = J2ME is the most widespread environment for mobile devices (although may be overtaken by Android). There should be a simple set of forms for data entry. GPS coordinates should be taken automatically if available (inc via Bluetooth) or can be entered manually, where not available automatically. The back-end transport is best done via SMS as this is cheap & widely-available. - compressed multi-part SMS to get maximal throughput. The forms should be updatable via SMS. This would work like the one which comes with FrontlineSMS, but be Open, as well as Free: * http://frontlinesms.ning.com/profiles/blog/show?id=2052630%3ABlogPost%3A8449 !JavaRosa is a fast-developing framework which uses [wiki:XForms] & [http://www.j2mepolish.org/ J2MEPolish]: * http://code.javarosa.org * XForms editors(written in GWT, so includable as a simple HTML page). * [http://code.google.com/p/purcforms/ PurcForms] - can import the output from our controller, powerful but not for non-techies! * [http://design.openxdata.org Demo] * [http://ox-designer.blogspot.com OX-Designer] - more basic, but pretty. No import yet. Built for OpenMRS (which ODK is too) This supports using Mesh4j to do synchronisation via SMS: * http://code.google.com/p/mesh4x/wiki/SMSAdapter === Alternatives === KUIX can be used to develop lightweight applications which work across may handhelds & forms can be customised easily via XML/CSS: * http://www.kalmeo.org/projects/kuix Old, un-maintained J2ME client for the PHP back-end, which just uses XML-RPC (=> requires Internet): * http://wiki.sahanafoundation.org/doku.php?id=dev:sahana_mobile_intro [http://code.google.com/p/open-data-kit OpenDataKit] has joined [http://code.javarosa.org JavaRosa] to form [http://bitbucket.org/javarosa/javarosa/wiki/OpenRosaAPI] so can use same XForms on Adroid phones :) * [MobileAndroid Android Installation] === Bluetooth Synchronisation === For the J2ME side: * tbc For the Python side: * Intro: http://www.devshed.com/c/a/Python/Bluetooth-Programming-using-Python/ * http://lightblue.sourceforge.net/ * http://code.google.com/p/pybluez/ Other projects: * http://grt.com ---- BluePrintMessagingModule BluePrints