Next bus

              Exploring

              Having read a couple of mixed reports on Appcelerator/Titanium - a number of which often seemed to be from people who hadn't tried it. I had it in the back of my head that I should try it out on something small myself, and evaluate it in practice.

              I was looking to test it on a number of fronts such as: how is the overall performance of an app on a device; what is the framework bloat on the final size of the app produced; does it allow for prototypes to be created in a shorter amount of time; being javascript based how much code could be recycled for a web demo?

              The live London bus data API launched not long after - and having done a number of integrations with TFL in the past, it felt like a nice small side project to try out the live bus API, and Appcelerator in one. This project was the output.

              I want it

              If you want a copy, you can compile your own version using TitaniumStudio. It was built against iOS6, but there is no reason it shouldn't compile against iOS7. The source is on Github

              Thoughts

              So my top-level final thoughts from doing this project on the original goal of how Appcelerator holds up are, that it is relatively fast to get a project from nothing to functioning in the wild, yet there seems to be a little something missing on getting the transitions super-smooth that give it the final polish that users expect.

              With Titanium solely javascript, alot of functions and logic can be recycled to quickly put together a similar web demo as above. While UI elements are mapped to iOS or Android elements like table views and image views, so as to be expected, markup still needs to be written for the interface of the web demo.

              My role

              I made all elements of this project including the design which is heavily inspired by Google Maps for iOS, the TFL API wrapper that sits on my server and handles tidying up and cutting out some of the unneeded data provided by TFL - and switching it from the XML only response provided by TFL to JSON which is more easily consumed by javascript, along with the application above built using Appcelerator.

              The taxi data is relatively small, and is updated on an irregular basis, so this was converted into a SQLite file that is embedded in the app itself, to allow for use when offline and in desperate need of a cab nearby.