by Ira Hochman
Untravel Media combines online mapping with audio, pictures, and video to produce sightseeing experiences that run on mobile phones, video iPods, and, in the future, GPS devices. To produce these experiences, we needed to create an authoring environment that would give nontechnical content creators — such as historians, filmmakers, curators, and travelers — a mobile publishing tool.
Untravel is the commercial result of a 2003–05 research project in mobile narrative development, led by Untravel CEO Michael Epstein and conducted in partnership with MIT and University of Venice researchers. The project team conceived and built a tour of the Castello neighborhood in Venice, Italy, using Flash on the Pocket PC. Shortly after Untravel became incorporated (June 2006), I became CTO and embarked on developing our technology strategy.
In this article, I explain how we used Adobe Flex and Adobe AIR to develop an authoring environment that communicates with a back-end Java server to generate sightseeing tours that run on Flash Lite enabled devices.
Creating immersive mobile content and making it widely available can be difficult — especially given the numerous constraints that differ for each and every device model and carrier combination. For every project that makes it to a mobile phone, many others fall by the wayside, unable to overcome the technical barriers from idea to implementation.
Our goal is to help content creators overcome these barriers so they can easily share their stories across mobile phones and devices.
To be successful, we needed to make content creation easy and intuitive for a nontechnical contributor, take care of every technical detail necessary in formatting and packaging the content for devices, and streamline the process of delivering the content to users' phones.
The authoring application had to be web-based and immediately accessible via a browser without requiring any software installation on the end user's side. Furthermore, the application needed to be cross-platform, seamlessly update via the web (without requiring any input from the end user), be broadband-efficient, and handle large files. Long term, we wanted the application to have online/offline capabilities.
In approaching the development, we considered three options: Ajax, Java, and Flash. Ajax clearly had potential — but we quickly eliminated it due to concerns over browser compatibility issues, limited browser cache sizes, and shortcomings in functioning offline.
Java seemed like a good fit for what we wanted to do. It is a well-established language with broad cross-platform support. However, Java machines vary from platform to platform and browser to browser. We would need to spend a lot of time testing across the different browser implementations and coding to accommodate the differences.
Then we looked at Flash. Flash provides the most elegant design options, offers an extensive library of screen controls, and works consistently across platforms. Additionally, our mobile player was already written in Flash Lite. However, many members of my technical staff were not familiar with the Flash integrated development environment (IDE); the timeline metaphor did not make sense to them.
We knew that Flash would provide the right result for our client, but we needed a development environment that would satisfy our programmers. Then our Flash Lite expert, Max Antinori of Max Media, mentioned an Adobe product called Flex. We researched it and liked what we found.
With Flex, we found an environment designed for large-scale programming projects: good code browsing and navigation, multiple developer support, an integrated symbolic debugger, and integration to source code control. Since the development IDE, Flex Builder, was built on Eclipse, we had access to a wide range of plug-ins and features available on the web, such as direct integration to our source code control running on Subversion. Additionally, Flex Builder runs on multiple platforms. At various points in time, we have had developers working from as far as Holland and Brazil and using any combination of Windows Vista, Windows XP, and Mac OS X. The programming framework included with Flex is extensive, and the growing library of open source components helped us further shorten our development time.
We also connected with Flex and Flash experts Chris Allen and Dominick Accattato. They helped us dispel some of the confusing information floating around about Flex. For example, Flex and Flash, contrary to rumor at the time, could integrate with any back-end server thanks to extensive remoting capabilities built into Flash and extensive web service capabilities in the Flex framework. A client application built in Flex could work with a Java server as well as a Java client could. Additionally, they connected us with some of the excellent code resources on the web such as Christophe Hereman's Prana library, which enhanced our application's ability to interact with external Java facilities, Adobe Lab's FlexUnit, which automated our testing, and Cairngorm for Flex, which made it easier for us to integrate code from multiple developers.
Considering the application's predicted use patterns, we expected that the higher-end professional users for our system would need to work with numerous huge files and would want to be able to integrate their workflow with their desktop tools, such as sound and picture editors. While our long-term vision involved having online/offline capabilities, we put that vision on the fast track when Adobe announced Adobe AIR.
Adobe AIR offered us the ability to run our authoring tool outside the browser, giving the application access to the file system, more local storage on disk, and the ability to interact with other applications. Plus, there is a high level of portability between AIR and browser versions of Flex code, which means we didn't have to spend much time rejiggering our web-based application for use on the desktop.
Adobe AIR also gave us another advantage: We could implement our user interface a little sooner because we did not have to completely build out the services in our back-end servers. We could take advantage of the capabilities in the desktop operating system, giving us the opportunity to put the interface through some user trials sooner.
In late 2007, we had an alpha version of the authoring system running: a Flex and AIR front end communicating with a back-end Java server that generates working tours that run on our Flash Lite–based player. Although still in its infancy, the user interface was universally well received during private demonstrations. These demonstrations sparked numerous invitations to present our technology and have generated new customer and investor commitment to Untravel. Our media and technology vision has proven essential in winning key customer accounts among early adopters. The power expressed by demonstrations of our authoring software has also led to inquiries from major brands seeking technology licensing and content development partnerships.
We are pleased that our design concept has been so successful and that AIR, Flex, Flash, and Flash Lite have enabled us to properly express our vision of a fantastic user experience. Users find the interface engaging and intuitive, requiring no explanation or training to start building a tour. Furthermore, investors have uniformly stated that the elegance of the user interface is one of the most compelling factors in making the decision to invest.
Finally, our Flash client and Java server architecture enables us to easily expand the range of devices we support at any time. Additionally, by leveraging Flash Lite we can extend Untravel Media's content reach to virtually all desktop web browsers — Windows, Mac, and Linux — and three major phone platforms with one code base: Nokia (Symbian), Windows Mobile 5 and 6, and Qualcomm BREW phones like Verizon's. To date, we have taken advantage of all these avenues except for BREW, but we expect to offer a Qualcomm-licensed version in the future. Although choosing Flash Lite was a gamble at the time, its market progress has strengthened our conviction. The number of Flash Lite devices continues to accelerate, and Microsoft's recent announcement to embed Flash in every Windows Mobile browser is a great win for anyone using Flash Lite. Such developments enable Untravel's player to run locally on the phone or over wireless web in the browser.
We will be opening up beta trials of the debut release of the authoring system in time for summer. If you are interested in trying our software, register on our website to participate in our limited-access beta. You can turn your next trip into a tour experience to remember.
Ira Hochman is chief technology officer for Untravel Media. Prior to working with Untravel, Hochman was the founder and CEO of inTouch, a workflow and integrated applications consulting firm with distinguished clientele from the Fortune 1000 and the Massachusetts 100. An avid traveler, Hochman holds two bachelor degrees from MIT (in physics and computer science), is an Adobe Flex Community Champion, and recently cofounded Boston's first Flex and AIR user group. Hochman can be reached at firstname.lastname@example.org.