James Shrager is a freelance Titanium and Web Developer based in London, UK. After training as accountant, James gave up his job in the Square Mile and taught himself the skills to build web and mobile apps. His latest app, Landlord, is built in Titanium and has an application tier built in PHP and a data tier built in MongoDB.
“.. after attending a Titanium course on best practices run by Trevor Ward (@thewarpedcoder) a lot of the issues I was facing were clearer…”
Interview with James Shrager
How did you get involved in Appcelerator Titanium?
Let’s face it. Objective-C is hard, especially for a complete novice and takes a while to master. So whilst crawling the internet for something easier to start iOS development on I stumbled across Titanium in December 2010. It’s been Titanium all the way since then!
What is LandLord app about?
Landlord is a location based, real world property game that allows you to buy venues you visit and then earn rent as people check in at those properties in real-time! It is built on the Foursquare API. Think Monopoly meets Foursquare.
How long did it take to design, implement, test & deploy?
I had the idea in December 2011 and built an early prototype within a month. I then took on some client work for a couple of months before taking up the development of Landlord again in late April 2012. It was ready for beta testing in June and I used Testflight to distribute the app to friends and other people around the world. This was an invaluable feedback tool and after fixing all the gameplay and bugs the app was launched on July 20th.
How did you find the Foursquare integration with Titanium?
The Foursquare integration with Titanium was fairly easy. I use web based authentication to handle the initial user oAuth flows and then to call the Foursquare API from within the app I use the HTTPClient. There are minimal API calls from within the app, most of them are done server side as part of game mechanics.
What problems did you overcome along the way?
The UI was definitely one of the biggest challenges – if you’re not a designer but you care about producing something slick then it can take a long time to get it right. The navigation structure was quick tricky too, especially as I wanted to use a custom tab bar image. However, after attending a Titanium course on best practices run by Trevor Ward (@thewarpedcoder) a lot of the issues I was facing were clearer. I use a controller to handle most of the stuff you would normally use a Ti.App.addEventListener for which allows me to just have one of these within my whole app, which is better from a memory perspective.
Do you attend any Titanium meetups/groups/events?
I am a regular attendee of TiLon and at the last meetup I showcased my app which was a lot of fun and I got great feedback from people.
Any plans to expand to Android/Blackberry?
I would love to get an Android and Blackberry client out soon, but my experiences doing development for these platforms on Titanium have been less than good!
Are you available for freelance work?
Currently, I am working full time on Landlord, however am always available to discuss client work.
James’s Ti Codeshare
James has been very generous and shared some Titanium Foursquare API integration code found on Github Gist here.