back

EffectiveUI and the eBay Desktop prototype

by Anthony Franco

As managing partner of effectiveUI, I have the unique opportunity to hear how companies like eBay, Ford, Random House, Viacom, GE, and NBC think about the Internet and desktop software. I get to see first-hand how people combine original ideas with innovative technology to completely change the way a company conducts business.

That's what we do at effectiveUI. We work with companies large and small to strategize, design, and develop rich Internet and Web 2.0 applications. Five years ago, rich Internet application (RIA) seemed like another buzzword. But we took it seriously. In fact, we built our business model around RIA technology. Our tagline says it all: We create interfaces people want to use.

Over the years, RIAs have become critical to the success of the online marketplace. And with emerging technologies such as Adobe® Flash®, Adobe Flex™, and now Apollo, RIAs continue to evolve in new and powerful ways.

screenshot

eBay screenshot

eBay Desktop prototype

In 2006, Alan Lewis of the eBay Developers Program approached us about building an eBay Desktop prototype. eBay, the world's online marketplace, wanted to create an experience that would better serve its power users through a more powerful and engaging online and offline auction experience — one that combined the performance and functionality of the desktop with the network-connected nature of the web.

Our application developers were already using Flex to build Flash based Internet applications. And as an Adobe partner, we were just starting to explore the capabilities of a technology codenamed Apollo: a cross–operating system runtime environment that enables developers to leverage their existing web development skills in Flash, Flex, HTML, JavaScript, and Ajax to build and deploy RIAs to the desktop.

Beyond the browser

Using Flex and Apollo, effectiveUI was able to provide a desktop model of the eBay website that supports local storage and desktop notifications for auctions (such as alerting users when they have been outbid), and enables users to create and manage auctions offline.

screenshot

eBay Desktop installer

We initially approached development just like any other project in Flex Builder. We created the application as though it would be deployed through a browser and then added the Apollo libraries and built in the desktop-only features. In fact, the application can still run in the browser, and we are able to detect when it is not wrapped with Apollo so we can turn off the desktop features. Although this was never eBay’s intent, the functionality has broad implications for other types of applications. Imagine writing an application once and deploying it through the browser or on the desktop.

In addition, using Apollo along with eBay's open API, we can access the entire structure of eBay categories in XML format. Those categories remain in cache, which means fewer calls to the server and better performance. One of the most interesting aspects of the project was writing a Flex SDK that simplifies the integration required to build other eBay-specific applications. eBay will offer this SDK as open source for anyone to use.

Together, Flex and Apollo provided the perfect approach to creating a highly dynamic application that can be used online or offline and as a desktop application or through a browser. Apollo made it possible to build desktop-level functionality, including local file access and systems-level alerts, using skills previously considered useful for web-only projects.

Adobe unveiled the eBay Desktop prototype at MAX 2006. Many people asked how long it took to build the eBay application. For that prototype, a team of three developers and one designer logged five weeks on the project. The more interesting question is: How long would it have taken to build it without Apollo? In short, the project would never have happened. Apollo gives us the ability to quickly develop cross platform. To build without Apollo, we would have had to hire Mac, Windows®, and Linux® application developers and create complicated compile and testing procedures. Building the application would have taken more than a year and a seven-figure budget, which was well beyond what eBay was willing to spend.

screenshot

eBay Desktop offline

Looking into the future

More and more of our clients are asking about Apollo for creating new experiences for their customers, employees, and vendors. They are also interested in leveraging their existing code that’s written for the web. Because Apollo can use Flex, Flash, and HTML, there are few barriers to turning existing web-based applications into desktop applications. NDAs prevent me from talking about other projects we are working on, but let's just say that eBay is the tip of the iceberg.

I suspect that developers who are frustrated with GUI development from both Java and C++ camps will quickly migrate to Apollo. The Java Swing developers we introduce to Flex are instantly impressed. When we tell them we are building cross-platform desktop applications using Flex and Apollo, they quickly realize that they need to make a switch.

As Flash created a new breed of online application developers, I believe Apollo will create a new breed of desktop developers. Although applications for larger companies still require traditional development methodologies, smaller utility applications, mashups, and casual games will be much easier for those without a Computer Science PhD to develop.

Get started with Apollo now


Anthony Franco founded effectiveUI and currently serves as a managing partner.