Wiki

Clone wiki

javarosa / GoogleSummerOfCode

Projects

Welcome to the JavaRosa projects page! This is a list of project ideas for '''Google Summer of Code 2009'''. If you are a JavaRosa team member please add your ideas! If you are a student interested in working one of these projects, please contact the mentor.

Create Additional Transport Protocols

'''Summary:''' JavaRosa currently supports GPRS as one of the means of transmission of data. We would also like to support Bluetooth, SMS, Flash card, and USB as easy methods to transport data.

'''Mentor:''' ? '''Assigned to:''' ?

Precompile XForms into Java Class Files

'''Summary:''' JavaRosa currently supports a wide range of possible XForms on the platform. Sometimes, however, end users only need a small part of that functionality and don't want to pay the overhead of the larger Jar file and memory requirements. This project will evaluate and prototype precompling XForms into a class file that adheres to the XForm interface definitions. This will theoretically allow the XForm engine to be removed from the Jar file to save space and memory requirements.

'''Mentor:''' ? '''Assigned to:''' ?

Let Forms Collect Data from Interesting Outside Sources

'''Summary:''' One of the key advantages of a mobile platform is that they are equipped to collect all kinds interesting data. Cell phones can take pictures, record audio, track location via GPS or cell tower triangulation, shoot video, and even read data from RFID tags. We'd like JavaRosa to leverage these possibilities for data collection by being able to intuitively and reliably include data from these sources when filling out a form.

'''Mentor:''' ? '''Assigned to:''' ?

Beef Up the Subset of XForms that JavaRosa supports

'''Summary:''' XForms is a large and comprehensive specification that provides for building powerful forms applications. But not everything XForms can do is applicable or feasible for a mobile platform, so JavaRosa only supports a limited subset of the full XForms spec. However, we constantly want our forms to do more powerful things, and we continually add new capabilities to our XForms engine. This project continues this trend. Possible XForms constructs to add support for:

  • the <output> element, which allows us to dynamically generate text for prompts, captions, and alerts, including the ability to incorporate computed values and the answers to other questions
  • additional data types, like time of day, email address, blood pressure, etc. (this requires development of the associated UI controls as well)
  • dynamically generating the choices of multiple-choice questions, including filtering expressions
  • a variety of input validation constraint types, including hard (not allowed), soft (warning only), and medium (sign-off required)

'''Mentor:''' ? '''Assigned to:''' ?

Improve JavaRosa's Ability to Handle Upgrades and Version Skew

'''Summary:''' JavaRosa is a rapidly evolving application that gets redeployed frequently in the field. Currently, this usually requires a wipe of all data saved on the phone, and even if not strictly required, we do it anyway as a precaution against data corruption. We need to be able to push out upgrades to JavaRosa while preserving the configuration and data already collected. This involves both save/restore capability, the ability to perform data upgrades and conversions in situ, and most importantly, hooks to provide this functionality in a project-agnostic way, as JavaRosa is merely a platform that supports many different, customized projects.

'''Mentor:''' ? '''Assigned to:''' ?

Updated