As the Indian Train Status app hits 5 million downloads, I look back on how it all started and try to summarize the lessons I’ve learnt along the way.
This is the story of an app. It is also, in part, my story. I am a medical doctor, qualified in Neurology. I am also a software hobbyist – a hobby which started in the days when programming was taught in schools, unlike nowadays, when the focus in schools is on how to become proficient in the use various kinds of software – going “under the hood” is more or less discouraged.
Coming to the app, it all started when I came across the site trainenquiry.com that provides live running train status. This was in 2010-11, and also happened to be a time I was returning to programming after a gap of several years, inspired by the rise of platforms like Android and Facebook that made programming “cool” again. The site was very useful during train journeys, to answer the question – “Is my train running late?”. But it was not optimised for mobile phones and was really difficult to load while riding in the train. However, I soon realised that by simply adding the train number and date of journey after the website address – to what it technically know as the query string – the initial pages can be skipped, and the result loaded directly.
Then, as I read about the rise of Android as a mobile platform and “apps”, I thought this would make a pretty useful app! So I bought an Android phone, picked up a book on Android and started working on the dream. After a few weeks of learning and experimentation, the app was ready, and guess what – it worked fine! At that time, there were already several other Indian rail apps, but none of them were focused on live train status, which was the key difference and highlight in this one. It was surprising to see the response after releasing it on the Google Play Store, and frankly, very satisfying. (Not many things can probably match the satisfaction when an idea that you believe to be good, work on, release to the world and one day gets confirmed that it indeed was good! This has made me bolder to bring out more ideas as apps, ideas which would have otherwise never seen the light of day.)
Over three years the app rose to 1 million downloads, and now it has reached 5 million. Perhaps more importantly, it gets used around half a million times each day. It however, still remains tiny in size compared to most apps (390kb at the time of writing). The interface is simple and functional. Bookmarks, quick marks, widgets and offline caches were added over time, with the idea of making the experience brisk and pain-free. Care was taken at each update to not bloat the app while adding new functionality. Sometimes, when the additional feature was a major one, like a station alarm, I split it into a new app instead. I also use the app myself regularly while travelling and try to think as a user while making modifications. User feedback has also played a big role in this regard – and I am extremely grateful to all the users who have given their valuable inputs. I must also thank my family for the constant support and standing by me through the hours of coding and testing.
Now, at the end of 2015, the app is 4 years old. The segment is crowded with many other similar apps, but probably by a combination of being the first to be focused on ‘live train status’, keeping the app lean, smooth and functional over the years, it has risen to its current position near the top of the category. Whatever the future holds, I will strive to hold app true to these principles.
The most important one I’ve learnt is not to be afraid to bring out one’s ideas, particularly those that strike the self as really good. In today’s connected world there is, beyond any doubt, a fair chance of getting picked up by a massive audience. Android apps on the Google Play Store are a prime example: the tools are free and the entire platform is open to anyone, from an individual hobbyist to a massive multinational corporation!
Thinking always as a user, and sticking to a set of core principles that have proven to be successful could be additional takeaways for aspiring developers.
Oh, and schools, they should probably start teaching students more programming instead of just training them to be good ‘users’. I am happy to note that, around the world, there seems to be a recent trend encouraging this, like the introduction of the cheap and easily programmable Raspberry Pi computer in schools.