Project Brief


Scion collects several details of plants in their nurseries. Currently, these are collected on paper forms. Manual entries on paper forms have several drawbacks including entry errors and illegibility. To analyse the data collected through paper forms, the data need to be re-entered into an electronic format. Data consistency checks are not possible in manual data entry: for instance, a single response to a single response question cannot be enforced.

The project is to build a prototype mobile application that runs on a mobile device (such as a tablet) with the goal of being a replacement to the paper form. Such electronic data collection, while reducing most of the issues seen with paper-based data collection, gives us many other advantages: there is no need for dual data entry; some of the information can be auto-filled (e.g. time and location); some data can be auto-captured (e.g. static plant information from RFID tags); some media can be attached (e.g. photos, sketches, and audio). The data so collected can be transferred easily to the processing centre. This transfer can be in a manner that lends itself to easy processing (e.g. there may not be a need to re-code the data).


Motivation


Android application development is a field which interests me. I believe that accessing data and operating from a mobile device is the way of the future. In undertaking this project, I am hoping that achieving a better understanding of programming for the Android environment will prove to be a valuable addition to my skill set.

Personally, I feel that Android development is the perfect introduction to mobile application development. This is because applications are written in Java and also because there is a large amount of online forums dedicated to Android programming. The fact that Java is one of my favoured programming languages along with the fact that there will be no difficulty in finding people with similar problems and solutions make this project ideal for me.


People


Academic Supervisor
Dr. Sathiamoorthy Manoharan
Bachelor of Technology; Information Technology Coordinator
s.manoharan@auckland.ac.nz

Company Mentor
Bryan Graham
Research Leader - Software Engineering at Scion
Bryan.Graham@scionresearch.com

Me
Dasarsh Vadugu
4th year BTech IT student
dvad984@aucklanduni.ac.nz


Log Book


  • 05/03/2014 - Received Scion project.
  • 09/03/2014 - First plan of action draft.
  • 13/03/2014 - First sketch of prototype GUI.
  • 18/03/2014 - Began Android programming tutorial series - Using Eclipse Android SDK.
  • 28/03/2014 - Basic form layout of prototype GUI achieved.
  • 03/04/2014 - Date and time functionality in progress.
  • 04/04/2014 - Date and time functionality achieved.
  • 08/04/2014 - Camera functionality in progress.
  • 14/04/2014 - Camera functionality achieved - Yet to save taken photos or display as thumbnail.
  • 20/04/2014 - Freehand picture functionality in progress.
  • 29/04/2014 - Skype chat with Bryan Graham and Samuel Damesin; had some questions answered.
  • 07/05/2014 - Sent NDA form so that a previously used nursery form could be sent for the sake of understanding and using the form structure.
  • 16/05/2014 - Received forms which were previously used in the nursery so as to derive a format for the form.
  • 29/05/2014 - Skype chat with Bryan and Samuel; requested explanation in regards of the forms as they were unclear in their purpose.
  • 06/06/2014 - Java Excel API imported and being used now to introduce spreadsheet functionality to the project.
  • 10/07/2014 - Arrived at Scion in Rotorua and met Samuel Damesin and Mike Dibley to confirm the specifications of the application.
  • 10/07/2014 - Heavy overhaul of the original prototype to incorporate all the aspects learnt from the new specification. Design dictates five forms which save to Excel spreadsheets, still retaining the camera and photo editing functionalities. Spinner objects will be needed to give choices from other forms..
  • 13/07/2014 - Form can now collect data from its fields and add to an already existing spreadsheet.
  • 24/07/2014 - Client, Species and Location form added.
  • 25/07/2014 - Length of the bed (used in the Static form) is now automatically calculated from the values taken from the starting and ending of the bed.
  • 25/07/2014 - The Static form now features a Spinner object which successfully reads and displays clients.
  • 25/07/2014 - The Static form now successfully adds a client chosen from a Spinner object to its spreadsheet.
  • 28/07/2014 - Added a Species Spinner object to the Static form and adapted the method used to set up these Spinner objects such that it can be used for both client and species. The Spinner objects do not have a predefined way of displaying a hint to the user so the column heading in the spreadsheet which is being read to populate the Spinner is being used as the hint. This requires a change in the column headings in that they must be descriptive to the user eg "Client Company".
  • 29/07/2014 - Photos can be taken and are attached by adding the photo name to the sheet.
  • 02/08/2014 - Dynamic mapping form complete, mirrors functionality of the Static mapping sheet besides some minor differences such as the removel of bed-related fields and the addition of a Spinner object for the Location.
  • 02/08/2014 - The taken photo is now being painted on a canvas, which can then be drawn on top of.
  • 03/08/2014 - The method used to determine the time and date has been redone as the previously used method was causing errors with generating different formats on different Android versions. This new method guarantees consistency by using a more standard way to determine the time and date.
  • 03/08/2014 - The Dynamic mapping form now has the functioning photo editing capability.
  • 03/08/2014 - The length of the bed (used in the Static form) is being calculated in a safer way; there are no more cases which can cause exceptions.
  • 04/08/2014 - The sheet preview has been implemented to the Static form, allowing for the user to have a dynamic and real-time view of the sheet that they are editing. This will be useful later for the sake of editing any possibly incorrect entries made by the user.
  • 08/09/2014 - Project overhaul - Sheets are now to be dynamically generated as opposed to the forms which are being statically generated.
  • 10/09/2014 - XML files are to be used to specify the questions which are to be dynamically generated.
  • 13/09/2014 - XML files can be read and the appropriate questions are being generated dynamically. Text, numeric, multiple choice single response, multiple choice multiple response, media, time/date and location are the question types being currently catered for. This is being done using a custom XML parsing scheme.
  • 20/09/2014 - Fixed bugs with the image editing activity, the image was being shown in a very low quality before. This was because the image was being compressed at a very high rate. This has been modified so that there is almost no compression done on the image.
  • 28/09/2014 - Began to work on implementing cloud service integration. Options are Google Drive and Dropbox.
  • 29/09/2014 - Some functionality using the Dropbox API achieved. The application is able to browse the user's Dropbox storage using a Dropbox API Chooser.
  • 06/10/2014 - Dropbox API incorporated into application now allows for user to save files onto their Dropbox storage.
  • 15/10/2014 - Met with Mano to discuss some options on display and functionality. Outcome was to change layout so that there would be no sharing of the screen between the preview and the form (this caused congestion), but a separate view for both of them. Also a schema defining the XML was to be made.
  • 16/10/2014 - New project started in order to implement the changes which had to be made with regards to the layout.
  • 20/10/2014 - New layout achieved. Sliding from left to right and vice versa switches views between the form and preview components.
  • 21/10/2014 - XML Schema Definition (XSD) complete and validated online against the existing templates which were being used for testing to date.