“I’ve always loved coding: stabbing away at the rubber keys of my 48k ZX Spectrum from the age of seven, helping with IT maintenance at school, then reading a BSc in Computer Science at Nottingham University. In spite of this, I’ve always had a creative side too, so having got heavily involved with the university radio station, I initially embarked on a career in broadcasting. Career highlights include recording some of Coldplay’s first studio sessions at Xfm and presenting my own show on Capital Radio!
While a radio producer, I continued to tinker with technology; I built my own web-based CMS to offer radio scripts to 100,000+ radio presenters around the country. I love home media and HTPCs, so as a hobby I developed a streaming solution called Remote Potato that allows you to watch/record TV and stream all your media to browsers and apps outside of the home. There was no way to watch Apple streams on a PC browser at that time, so I wrote the world’s first Silverlight-based HLS client to achieve this, called SilverLive. It was a fiddly project; I had to partially implement an H264 bitstream parser from scratch and I had absolutely zero experience of anything like that so I learnt on the job. But it was worth it - I’ve since licensed the technology to several firms internationally.
Initially I was motivated to start building apps purely by wanting to find a solution to solve a very specific problem; that of needing to watch my Media Center TV recordings away from home on my mobile phone! Fortunately for me, I wasn’t the only one with this need, so a very grateful community grew up to help support and develop the app, which was called ‘Remote Potato’. It wasn’t long before I realised that apps are a great way to solve problems in a very focussed, highly portable package. If your app can become the default solution for a particular problem, it’s very satisfying.
Over the last few years, the balance between my creative career and my programming career has shifted, to the point where I’m now doing far more coding and software development. London Bus Checker was certainly a big turning point; the success of this app motivated me to create even more.
The idea for London Bus Checker was borne from the fact I live in London and use the buses regularly – if your local stop doesn’t have a countdown board it can be very difficult to know whether you should bother waiting for the bus; given the nature of London traffic, it could be three minutes or it could be thirty minutes away! Frustratingly, I also knew that the information travellers needed to make these sorts of decisions was already in existence; for many years Transport for London has had GPS units on their buses. But this information was kept private.
Then, in April this year, TfL decided to allow developers access to these data feeds – a friend of mine spotted the initial announcement on a Tech news site and tipped me off. It was the perfect opportunity to create a great app to solve a very specific problem. Now, wherever you are, you can find out when the bus is coming – it’s a sort of instant, portable live arrivals board!
Why Windows 8? It’s important to me that Bus Checker is available across as wide a range of portable devices as possible. The announcement of so many new devices that will ship with Windows 8 means that I’d like users to be able to run Bus Checker on these from the get-go. I’ve never worked with Microsoft before. I imagined that it would be a very impersonal experience working with such a large corporation, but it’s been far more personable than I imagined. In particular, partnering with Microsoft has meant there’s always a real human being there to deal with any issues or queries; you’re not banging your head against a brick wall of automated email replies or, worse still, multi-choice web forms!
As far as building for Windows 8 versus iOS/Android, all three platforms have their strengths and weaknesses for developers.
Documentation is important to me and I’ve found iOS to be the richest in terms of resources and code samples; the attention to detail is nothing short of astonishing. The IDE (XCode) was a little unstable at times, and the provisioning/code signing methods required you to jump through hoops, although these things have improved greatly over the last couple of years.
Android development is fairly easy, but the documentation can sometimes be out-dated and the developer tools can feel a little rough around the edges, although they are improving. The divergence of Android devices can make UI layout quite tricky; you really have to ensure that you test on as many devices as possible.
“I was really looking forward to Windows 8 App development because Visual Studio is such a superb IDE. It’s only now that other IDEs are even coming close to offering its range of features and ease of use. “
I was, however, disappointed at the online documentation; there were several times when I found it to be incomplete or even incorrect. I always click the “this isn’t good” button and am reliably informed that there’s a whole building full of people somewhere reading these reports – so hopefully things will improve! I also found that there was less community-driven help online, but this is unsurprising given that Windows 8 is such a new platform.
If you’re already writing Android apps, it’s a fairly easy leap to code a Windows Store app, since C# and Java are so similar, and you can re-use a lot of your existing assets. It’s a zero-cost investment to try it out, since a copy of Visual Studio Express is free, as is an evaluation version of Windows 8.
There are some real stand-out features of Windows 8 – as a Silverlight programmer, I’ve always been a big fan of XAML - I love the ease with which you can add a scaleable UI, animations and layout to your apps.
The search and share contracts are a neat concept too; once users know how to search, they can bring up results from your app without even launching it. Similarly, using the share contract we’ve been easily able to allow users of our app to share bus arrivals times, e.g. email the list of bus arrivals to your mobile device.
At the risk of stating the obvious, one of the best things about Windows RT is that it runs Windows! All our web API servers are running WCF web services, so writing a client app on Windows was far easier than other platforms; I was able to re-use a lot of the code for the data model which made deserialization a breeze.
We’re releasing London Bus Checker as a paid app; this has worked well on other platforms, but Windows 8 is a new marketplace so we’ll keep an eye on it to see how it performs. As a rule of thumb, iOS users seem to be happy to pay for good quality apps, but Android users have proved harder to persuade to open their wallets.
“Windows, as the world’s most widely used desktop OS, is well-placed to try and gain a similar market share on mobile devices. The opportunity to sell apps to such a huge user base is exciting.
From a financial perspective, Microsoft’s commission can drop as low as 20% which compares favourably against other platforms and provides a greater percentage return on each app sold.
What’s next? We’re bringing Bus Checker to even more platforms later this year including the Nook tablet and, I very much hope, to Windows Phone 8. We’ll be looking into enhancing and updating the existing apps too. I’m very keen to expand Internationally – the great thing about buses is that they’re everywhere! Now that London’s leading the pack, demand around the world for this kind of thing will be huge. Getting live bus times on a phone is a truly life-altering thing as so many customers keep telling me – you’re not standing at the bus stop any more, you’ve clawed back time from the system! It’s a big win for just £1.99. We’ve already had interest from as far afield as Latin America in licensing our app/server source, so there are plenty of options.
Go to windows-store.co.uk for all the resources you need to build your app