kevinSharp | 02 December, 2010 19:38
Orange Wednesdays is the first in a series of Signature Applications produced by Orange UK, and it uses Qt to build for Nokia devices. I recently had the opportunity to sit down with Mark Sage and Rafel Uddin of Orange to discuss the creation of Orange Wednesdays.
Mark is Device Platform Marketing Manager - Qt, Mobile Multimedia and Devices, Orange, and Rafel is Head of Device Development at Orange Labs UK. We discussed the origin of Orange Wednesdays, how Qt allows Orange Labs to build great cross-platform experiences, and the joys and challenges of being early to market.
Kevin: What is the Orange Wednesdays application?
Mark: The Orange Wednesdays application builds on a successful service we have been offering for some time in the UK. The Orange Wednesdays service gives consumers two-for-one tickets for a Wednesday movie at the cinema, and was initially rolled out as an SMS service. The Orange Wednesdays application adds discovery and engagement aspects to the experience. It is the first of five or six other apps we’re working on under our Orange Signature program, and we’re building them with Qt.
Kevin: Let’s start with the value proposition. What do consumers get?
Mark: That core proposition of the service has always been the two-for-one ticket offer. Believe you me, I’ve been to the cinema on a Wednesday night and it is busy. You go on any other night and it’s not, and you know it’s down to that two-for-one proposition.
It backs up the brand values and proposition that we’re putting to the market, which is the bit I like about any of the Signature Applications we build. It’s not just about an application that goes into an app store; it’s something you can relate to Orange and the brand values that we bring to the market. It’s a proposition you can really understand from Orange.
Kevin: What were you able to add by enhancing the service with an application?
Mark: Viewing the movie trailer, personalization, and mapping are key to the success of the application. Booking the ticket is simple: press a button, it sends an SMS; you receive one back that you show the teller for your cinema discount.
When we discussed what to include, we kept it as a simple, easy-to use, not overly feature-rich application that does what it says on the tin. It does a couple of things really simply, really well, and it looks great.
On the value proposition side, we recently added two-for-one pizzas to the two-for-one cinema tickets.
Kevin: How did the application improve the user experience?
Rafel: It wasn’t that difficult before to get the two-for-one code. You text 241 to an SMS short code. The SMS gateway recognizes Orange mobile subscribers and returns a discount code. Orange broadband subscribers who are not Orange mobile subscribers can add a code to their text message and still receive their discount.
The application expands the experience and creates the whole journey from the moment you’re thinking that you’d like to watch a film, to telling you what’s available at nearby cinemas, to showing you which films are well-reviewed, to showing you trailers, and finally sending you the 241 code.
Kevin: Can you discuss some of the specifics of implementing Orange Wednesdays using the Qt framework?
Rafel: We wanted to allow the user to see a movie trailer from within the application, and the process of implementing that feature and planning for its evolution shows the advantage of working with Qt.
For the media playback we use progressive download streaming. In Symbian OS S60 - 5.0 devices, progressive download is only handled in the browser. The browser manages the stream and launches RealPlayer to play the stream. To initiate trailer playback the users click on the trailer image, it launches the browser, which launches the player. That is not a good experience because it causes delays, takes you out of the application, and returning to the application is clumsy.
We looked at several workarounds, including creation of our own HTTP streaming handler. Ultimately we decided for S60 5.0 we could live with the current out-of-application issue, mainly because we saw that with Symbian^3 and Qt the situation would be solved. Seeing the roadmap made all the difference.
On the N8 the experience is much better. Now we can launch the native video player with a link to the file, which takes care of the progressive download and playback of the file at the same time. It provides the full-screen experience we want. Even though it is a separate app being launched, once it is closed focus goes back automatically to Orange Wednesdays.
Kevin: How much re-coding did you have to do to implement the N8 improvements?
Rafel: To take advantage of the upgrade we didn’t have to do much of anything. There were a couple of minor tweaks to the code, but most of the improved experience came from the upgrade in Symbian and in Qt. Plus, the N8 ships from the factory with the Qt framework installed, so users don’t need to download eight- or nine-megabyte libraries to make the Orange Wednesdays app work.
Kevin: What other implementation details were influenced by your decision to use Qt?
Rafel: Mapping was interesting. When we started developing Orange Wednesdays there were no public APIs that would allow us to use Ovi Maps. Nokia provided us private APIs, but using private APIs is never ideal. You never know how stable they will be, and they tend not to be as well documented as public interfaces.
However, we knew public APIs were coming that would provide access to Ovi Maps, so we implemented mapping using the private API and plan to switch to the public API when appropriate. Our users will never know we changed implementation details.
editor’s note: Those mapping APIs were recently released with the Qt Mobility API 1.1 update
Kevin: How does Qt influence your cross-platform planning?
Mark: We currently have Symbian devices in our portfolio, and we are supportive of the Meego platform. One of the critical things for Rafel and I is that Qt offers cross-platform capability, and once we get Meego devices our applications need to seamlessly work on both platforms as much as possible. That’s a critical part of our ongoing strategy. We’re convinced on a thought level that this will work; we’re just waiting for devices to see how well this works on a code level.
Rafel: I agree with Mark’s expectation of the cross-platform capability. Making our applications work on the new Meego platform should be easy because over 90% of our code is in Qt. The remaining is in Symbian, but that code fragment will decrease over time, as more APIs are made available in Qt. The mapping API is one of the few implementations we currently do in Symbian, which we will move to Qt at the appropriate time.
At the time of development many of the device-specific APIs were not available in Qt. As the Qt Mobility API matures the fragment of our code base requiring Symbian work decreases. We estimate that if we were to start this same project today we could code almost 97% of it in Qt.
Mark: That’s a message worth saying again. At the time we began it was early days for Qt on Symbian. Qt 4.6.1 or 4.6.2. Now with Qt 4.7 and the new Qt Mobility APIs that have opened up, we’re re-working some of our code. Each iteration of Qt makes it that much easier, and that much more valuable for us to port the Symbian code into Qt.
Rafel: It shows that we were early in the game and we saw the power of Qt as we were creating Orange Wednesdays. We knew what could be done with Qt; we saw early on that we could create experiences in Qt that were at least as good, if not better, than we could create on other platforms. And what we’re seeing is the rate of development in Qt is very fast.
For more information, check out this video interview with Rafel or download the Orange Wednesdays app (only available in the UK.)