Four Benefits of Changing Our Technology Platform to Titanium

Back in February, I outlined some of the reasons that we took our hybrid mobile application apart, and reconstructed it into a fully native application. After a long hard look at the app, and listening to the feedback from our customers we realised we had to give up some of the luxuries of deploying hybrid applications, and give a more satisfying, stable experience in the form of a native app.

To achieve this we chose Appcelerator Titanium as our new development platform. Considering we have an awesome team of JavaScript developers, the fact that apps can be written using a fairly complete JavaScript API, was a huge benefit. A typical native app requires developers who know Objective-C (or Swift now!) for iOS, or Java for Android applications. This is one of the main reasons that Titanium has been around so long, and has almost 600,000 developers across the world.

Offline First

Rebuilding the app afforded us the opportunity to completely refactor the underlying architecture. One of the major customer complaints about the previous version of our app was the lack of performance in areas with poor network coverage. The first area that we tackled was the boarding process – when a rider joins a car the app will gracefully handle the fact that there is no network available. At the next opportunity, when the user has network access again, the app looks after all the synchronisation tasks related to joining, and leaving, a car. We’ve been steadily increasing our efforts to bring this offline first model to other critical areas of the app. The engineering team is pretty proud of this achievement; it’s no longer necessary for all Carmapoolers to have data access on their phone at all times. You can use your Wi-Fi at home, at work, or in your local Starbucks to ensure your trip records are up to date.

 

JavaScript At Its Core

We love JavaScript at Carma, we’ve invested a lot of time in becoming experts in the super successful frameworks that have evolved around it. We’ve even written a book about it! The fact that Titanium uses JavaScript as its enabling language is fantastic. There’s even a complete MVC solution (Alloy) available that allows JavaScript to be used for the controller, with XML used for the overall structure of each screen and a style sheet language to control presentation. All calls to our REST API are made through Backbone.js models, a library that was right at the centre of our previous technology stack.

Responsive User Interface

Everyone expects a “native” experience when using an app. As phones get more powerful, there’s less acceptance of delayed reactions from an application. Using Titanium over web content gives us the best possible chance of a truly responsive interface. We’ve worked hard to ensure that when you press a button that you get an instant, tactile feel that something is actually happening in the app. Of course, no one is perfect, and we have a lot of tweaks to do to reach the high bar that we have set for ourselves, but trust me: we will not rest until you have an app that responds in a lightning-fast manner.

Community

No matter how good a platform or technology is, it’s nothing without a large cohort of people that support it. Thanks in part to the maturity of the platform, Titanium has a vibrant community of developers, with modules, widgets and libraries popping up daily on GitHub. The recently launched TiDev.io, an independent developer website, provides up to date news and articles about Titanium. We’ve relied a lot on the strength of this community in getting our app to where it is now.

It’s Not All Sweetness And Light

There were a lot of speed bumps along the path of our Titanium adoption, and over the 10 months that we’ve been working with the technology we’ve learned a lot. No matter how much JavaScript you know, writing cross platform applications is inherently difficult. For a start, you have to juggle with two competing platforms (iOS and Android). What’s even more difficult is covering a multitude of devices, both old and new, with a dizzying array of screen sizes and resolutions.

We shrug all of this off because we love what we build here at Carma. We get a buzz when we see people download our application and take a trip. We are continually striving for joy and excellence in everything that we do. We’ve seen some features that haven’t reached the public yet, and we are very excited with the potential. We are sure that the choice to use Titanium as the foundation for your experience on your phone is the right call, and we know that it is going to allow us to bring even more amazing features throughout this year.

If you’re a developer who’s interested in hearing more about our experiences with Titanium, why not attend TiConf in Amsterdam where I’ll be talking about our 10 Golden Rules for Outstanding Titanium Apps.

Leave a comment

Your email address will not be published.