teaching machines

Turnt Simulator Postmortem

December 11, 2014 by . Filed under cs436, fall 2014, postmortems.

 

Developers: Cody Wanless and Zach Forster

In the end Turnt Simulator turned out quite well, considering our expectations. We had to abandon the automatic addition of party-esque scenery to photos, as well as the automatic Facebook check-ins, due to time constraints. We were also unable to add a control for the user to change time intervals in the scheduled settings page. However, these things are actually relatively minor, with the exception of the photo editing functionality, and could be easily added when we have some free time.

 

We encountered quite a few issues during development, some of which are ongoing. For instance, the overall difficulty of working with the Facebook API has been a real setback. In fact, before being allowed to post to Facebook through an Android app, developers must submit their app to Facebook for manual approval (similar to submitting the app for approval for the Play Store, but longer). Working through Android’s system of propagating touch events through layered view components also caused some lengthy hangups. Other issues arose due to the (in my opinion) awkward method of laying out an Android view with XML, but these were more easily overcome.

Screenshot_2014-12-11-01-14-44  Screenshot_2014-12-11-01-14-32  Screenshot_2014-12-11-01-14-10  

This app satisfies the following achievements:

  1. Integrate a list view with a custom adapter/presentation into an app.
  2. Use a local database to persist relational data.
  3. Persist data using preferences.
  4.  Employ a web service in an app.
  5. Use threading to handle tasks off the UI thread.
  6.  Localize an app into at least three languages.
  7. Acquire and use location information from GPS into an app.
  8. Formally release an app to the public on an app store.
  9. Embed Google Analytics or other analytics services into an app.
  10. Use OpenGL or other drawing libraries to perform custom drawing.
  11. Write an app that interacts with the camera.
  12. Runs repeated tasks automatically in the background, on defined intervals, and during certain times of the day, using services and alarms.
  13. Integrate the Facebook API into an app.
  14. Access contacts and send SMS messages from an app.