Tools and resources being used for development

As mentioned in my Dec 26th post, I am developing with Martin over the Christmas holidays to create an input method for collecting Pick’n Run trash data via mobile device.  This entails developing the infrastructure of the system, the web site for the system (so data can be viewed and accessed via a web site), and the mobile app.

Here are the tools that we are using for developing the Pick’n Run web site and mobile app:

  • HTMLJavascript (for showing the raw data via a web browser)
  • PHP (scripting language to make the user interface, both the web site and mobile app, more intelligent)
  • OpenStreetMap with Leaflet (for showing the trash data on a map)
  • MySQL (the database to store the trash data in)
  • Android SDK (for developing for Android mobile devices)

I am using Textwrangler for my editor, and am writing on a MacBook Pro computer.  Martin is using TextPad on an HP Probook 4520s computer notebook.

Any graphics that will be created for the site will be generated by GIMP (note: the first versions will not be graphically oriented — definitely text based and rudimentary to see if things work or not; there is always time in the future to make the design of the web site and mobile app more appealing visually).

The first version of the mobile app will be built for Android mobile devices (which will be done by the Jan 3rd deadline).  We are focusing on the Android mobile devices first since Martin and I have Android deices.  A mobile application iOS (Apple mobile devices) can be developed in the future.

We will be pushing code to the following locations if you want to see the development in action (maybe you will be willing to provide feedback on the minimal viable product):

Other items we are looking to make the system more useful:

  • Graphhopper (to show the run routes layer on the map)

Website Application Development as of 2013-12-27

I have been working on the website application development (infrastructure, database structure, adding trash markers, viewing the data, etc.) the past couple of days (since Dec 24th).  The website development is being created before working on the mobile app because we need to know what should be collected via the mobile app and to be able to view what we have collected via the mobile app.

Below are several screenshots of the Map, the List, the Calendar, and the Add Trash Marker form as of 2013-12-27 (a minimal viable product for some 🙂 ).  The pages are very crude, especially any design elements…because there are no design elements created yet — it is all coding, which is what is “under the covers”.

On the Map, the green leaves represent trash that was picked up, and the red leaves represent trash that was not picked up.

In the Add Trash Marker form, the user just has to upload the picture he/she took of the trash to get the time and location information.  Thus, users don’t have to spend a lot of time entering information in the fields on the form.

Trash Diary Map

Trash Diary Map (showing trash markers)

Trash Diary Map (showing trash markers)

List

Trash Diary List (of Trash Markers)

Trash Diary List (of Trash Markers)

Trash Diary Calendar

Trash Diary Calendar

Trash Diary Calendar

Add Trash Marker

Add Trash Marker

Add Trash Marker

We have close to 50 trash items / markers in the database currently. Below I explain how these trash items / markers were collected and put into the system:

  1. During the run, take a picture of the trash item with the CAMERA app on my Android-based mobile phone: LG Optimus VM696  (need to make sure the geolocation settings are turned on before taking the picture; that way the geolocation will be stored in the EXIF metadata of the picture). The data in the system at this time (the 50+ trash items / markers) were obtained via runs in June and this week during our annual Christmas run to the former Gibson Guitar factory.
  2. After the run, transfer the picture to my computer using Dropbox.
  3. Add Trash Marker using the website form. In the form, upload the picture and have the system pull the time and geolocation information from the picture’s EXIF metadata.  Also select the trash type, manufacturer, and cause.  This puts the information into the system for that trash item / marker.
  4. Then view the trash marker on the View Trash page, on the Map, in the List, or on the Calendar.

So in a sense, we have already accomplished our Jan 3rd goal of being able to use a mobile device to collect trash data.  However, we would like to make it easier for us to collect trash data…in other words, less steps to get this data into the system.  Thus, I am now researching how to develop an app for Android devices.

A Christmas Holiday Promise: Developing First Version of Pick’n Run Web Site and Mobile Applicatons

Over the Christmas holidays I made a promise to Martin that I would work on coding the basic mobile application for Pick’n Run.

Since the day before Christmas (Dec 24th), for two days, I have been working on writing the code.  So far I have been able to get the basic items in place for the infrastructure: i.e. database structure, mapping the trash markers, listing the trash markers, adding/editing trash makers on the web site.  The next step: adding the mobile device app.

Our goal by January 3rd (the end of the Christmas holidays) is to have a basic input method via a mobile device by January 3rd.  We are developing the mobile app so that Martin and I can use it to collect data from trash runs.  The first thing we need to do is collect data to see where the trash is located in our local city: Kalamazoo.  Once we have the input method to a level that others can understand how to use it, then others can to use it for their own needs.

Before the mobile add can be developed, the basic needs will be developed for web site application user interface.  The web site application will show how the data will be portrayed to users and administrations.  The first version of the mobile app will just be for data collection, not visual usage.

Data from the runs I did in June and yesterday’s Christmas run are in the database and are being used for testing the web site application.  Yesterday we did our Christmas run to the Gibson guitar factory.  During the run I took pictures of trash, so I turned the run into a trash run to collect data for the application.  I learned some valuable lessons about problems with taking pictures on a run, and especially during the snow.  That will be talked about in a different post in the near future.

CAM02302CAM02315

I want to point out that our goal with Pick’n Run is to provide another method for cleaning up streets.  Since Martin and I are runners, we are able to get our feet on the ground to see the small amounts of trash in the areas that we run.  We feel that other runners will jump in to help out, as they are like-minded — i.e. runners don’t like to run in areas where there is trash.