![]()
Choosing the Best Approach to iPhone Development |
Influencing Business Strategy Through Design |
- Jason Severs, frog design |
Working on a Project? Have a Question?
{ RIA Articles }

– James Ward, Flex Technical Evangelist, Adobe
– Anthony Franco, President, EffectiveUI
In this article, the oft-interviewed, self-described RIA cowboy James Ward engages in dialog with Anthony Franco, co-founder and CEO of EffectiveUI, about how the jigsaw pieces of today’s RIA puzzle fit together.
Ward, an Adobe Flex technical evangelist, speaks with Franco about the business benefits of RIAs and how Flex, AIR and Adobe Platform technologies will shape the future of enterprise computing on the desktop, on the Web and everywhere else — from mobile devices to set-top boxes.
Franco: What does a day look like at Adobe from where you sit?
Ward: I’m a technical evangelist for Flex, and I focus primarily on the Java and enterprise software communities. I speak at conferences, write articles, blog, and help companies like Oracle, Intuit, and Salesforce.com get up to speed with Flex, AIR and other platform technologies for software development.
Franco: At a high level, can you give our readers your definition of AIR?
Ward: I see AIR as one piece of the Adobe software development platform for building desktop applications — actually, extending Web applications to the desktop for specific functionality. While Flex is the programming model and toolset for building rich Internet applications, AIR is just one runtime for those applications and for doing things on the local system that you can’t do in the browser. Flash Player would be the browser runtime and we also have Flash Lite, the mobile runtime that will soon integrate with the Flex programming toolkit.
Franco: Adobe coined the term “rich Internet application.” Yet AIR is an Internet platform that isn’t on the Internet; it’s on the desktop. How do you drive the distinction between the traditional sense of an RIA and what AIR is?
Ward: I think rich Internet applications are really about providing people with better software experiences. Some RIAs use the Internet as a back-end and as a way to integrate with systems, but rich Internet applications are really a combination of both Web and desktop applications — with desktop applications providing certain capabilities that you don’t get on the Web. Having the best of both worlds is an important part of the RIA puzzle where we’re seeing the convergence between the Web moving towards the desktop and the desktop moving more towards the Web.
AIR and Flash Player are both good runtimes that leverage the capabilities of both worlds where mixed applications can be something as minimal as an AIR widget on your desktop, or a simple user notification function. But there are also much bigger ways to converge worlds like creating a full-on desktop application with AIR and Flex as well.
In general, everyone likes the rich Internet application phrase, but we need to better define what that means. When the concept came about, people were just talking about Web applications. But, now with the convergence of the Web and the desktop, that has changed. AIR allows rich Internet applications to be more than just Web applications and also allows traditional desktop applications to be more than just desktop applications.
Franco: I get into these discussions with EffectiveUI clients all the time. I explain the desktop/Web convergence like this: rich Internet application doesn’t necessarily mean rich browser. Internet is part of the backbone of the application. AIR gives us a window to the Internet, but it doesn’t always have to be an RIA. AIR could be a disconnected application as well; it doesn’t have to be connected to the Internet. Anyway, that’s how I think about it.
Ward: That’s a good way to put it. One of the fundamental pieces of RIAs is in my mind is connectiveness. The Internet is how our applications connect to our back-end servers or to other services. One of the concepts of AIR is allowing you to not just be connected, but allowing you to be disconnected as well. I think that for the next generation of software, being disconnected is just as important as being connected. So whether you’re connected to the Internet or not, an application can qualify in my mind as a rich Internet application if it eventually uses the Internet as a means to persist data or talk to services.
Franco: Sometimes when I talk to customers about RIAs and AIR, it’s hard for them to realize the difference between an AIR application and a regular desktop application. What do you see as the differentiating factors between building an AIR app and writing a native application in WPF for Windows or Cocoa for Mac?
Ward: Adobe software isn’t necessarily about where you actually run an application. The Flex programming model is designed to work no matter what the end medium is — whether it’s the desktop, the Web or a mobile device. The code that is being executed should be the same and you simply choose the platform based on the user’s medium.
Take eBay Desktop, for example. They wanted to create a more persistent application on the user’s computer for interacting with eBay, so that was the medium that they choose to build for. They certainly could have built the eBay Desktop as a Web application, but that wasn’t the medium that they were targeting. Flex is really trying to create this common framework for building across all mediums. Depending on what you need and what your users want, you can choose to deploy on any or all mediums.
Franco: I know the features of Flex and AIR are important, but if I’m VP of marketing or VP of IT for an enterprise, why should the Adobe technology platform be on my radar?
Ward: Generally, companies don’t care what technology they adopt as long as it does what they need and allows them to do it quickly. We’ve seen a lot of people adopting Flex and AIR because they deliver on both fronts.
A big part of the Flex programming model is the reuse of components. There are about a hundred components out of the box in Flex and hundreds more free and commercial components out on the Web. If you are looking for a chart that looks like Google Finance, someone has already created that component so you don’t have to build it from scratch. We’ve seen a lot of companies that are just now adopting these technologies to maximize their investments because of the level of reuse across mediums. Organizations don’t want to be locked into the browser or stuck on the desktop forever and they value Flex as a cross-medium technology.
We haven’t even talked about cross-platform yet. We see more and more people who need to support Mac and even Linux. There a lot of technologies out there that don’t do that well and many companies have built their last generation of software on those outdated technologies. Now, they have to rewrite them. Looking ahead, they want to rewrite on something that’s going to allow them to run on multiple platforms and multiple mediums — using a single code base.
Franco: I’m hearing two themes breaking out. If I’m an executive, Flex allows me to get to market quicker. Second, I have less code to maintain that will work cross-medium and cross-platform. Can I deploy to mobile, as well?
Ward: Mobile is something that we’re currently working on. In early May 2008, we announced the Open Screen Project, our cross-industry initiative to get the Flash and AIR runtimes onto mobile devices as a medium for Flex applications.
Franco: We definitely want to do an interview about Open Screen. Readers, stay tuned! But for now, I hear a lot about designer/developer workflow. Again, as a marketer or an IT person, why should I care about designer and developer workflow?
Ward: I think it depends on what you’re building. For some people it matters a lot and to some people it doesn’t matter at all. Usually, designer-developer workflow is important to those who have customer-facing applications. But for just IT, behind-the-firewall applications the designer/developer workflow is usually not as important.
Adobe has great ties into the designer community and so we have a really good opportunity to nail the designer/developer workflow. We’re working on the Thermo product that we announced in 2007, and we are planning to release the first beta version in 2008. Thermo allows designers to use their creative tools, and allows developers to interact with those designers in a seamless workflow. Today, Flex 3 has added strong capabilities for helping designers and developers work together, as well. For example, there’s a way to import artwork from any of the Creative Suite 3 tools into Flex to use as skins in your Flex application.
Franco: Can you cite any examples on how enterprises are currently leveraging AIR and getting results?
Ward: There are quite a few enterprises that are beginning to build some really interesting things with AIR. Some of them are still in works and I can’t talk about them yet, but others are already public.
One that I really like is an application by a company called Model Metrics. They built an application for pharmaceutical sales reps that allows the reps to use salesforce.com as the back-end for their data. That was a very easy choice for them because Salesforce already has a lot of the infrastructure that the reps use to manage their sales opportunities. But they needed something that would provide a better user experience and they also needed the application to work offline. They want to be able to take customer data onto their laptop or tablet, visit with a doctor, record information about that visit and not have to worry about being connected to the Internet. They can capture signatures offline and then go back to Starbucks or the office and synchronize that data back up to salesforce.com.
This application with AIR and Flex is really a great example of using AIR in the enterprise and clearly illustrates why you wouldn’t do that sort of thing in the browser. They could build a Web component reusing the code, but their users didn’t really need a Web application in this case. They were able to get the first version done in literally weeks, not months, because of the productivity of the Flex framework and also the extensive functionality provided by Salesforce back-end out of the box. It would have taken a lot longer to build that app using traditional desktop technologies.
There’s another company doing healthcare software that runs a hospital in Turkey 24/7. It’s all built with Flex. There is one main hospital and three satellite hospitals where everyone interacts with a Flex interface all day long. They started building this application two years ago with five people. They’re now up to about 18 people developing this product — which competes head-to-head with an application that is being built by a much larger company that started with development five years ago and currently has more than 1,000 people working on it. That’s a pretty significant difference in productivity.
We hear stories like that over and over about the astronomical productivity savings being realized with Flex compared to other technologies like AJAX. I’ve heard people say that they are spending at least 30% of their AJAX development time just doing cross-browser testing. That is really a waste of time and is a non-issue with Flex.
Franco: Is this just technology for technology sake, or are businesses really seeing an effect on the bottom line (or the top line) from these applications? Do you have any metrics around business values?
Ward: We’re currently doing a study to determine the ROI of the Flex programming model for Web and desktop. Preliminary findings show an average 30% savings in time investment when building applications with Flex. This can mean reduced development time, shorter time to market and a better end result. Then certainly there is another aspect that’s not quite as quantifiable about how these applications look better and feel better and lead to increased adoption, or more sales of the software, whatever that metric may be. We definitely are seeing that; we just don’t have quantifiable numbers behind that that we can talk about yet.
Franco: At EffectiveUI, we see AIR and Flex opening up markets that didn’t exist before. Is AIR a user experience platform, or is it something else?
Ward: I think people use AIR when they have either technical requirements that can’t be met in the browser or they have certain usage requirements. One good example is Anthropologie, the women’s clothing store. They wanted to provide an application with a persistent catalog and shopping desktop presence — outside the browser. When the retailer moved to a Flex interface for their checkout system, they realized an astounding 24% increase in shopping cart conversions.
In some scenarios there is definitely value in packaging up Web software and putting it on the desktop. It’s difficult to explain, but when you see users interact with desktop software, they show different use patterns than when they interact with the Web. On the Web, they have to navigate to it, log in, go forward and back, and those sorts of things. With a desktop application, users tend to use the software more because they just launch it and it’s up and running and it lives in its own window. I think that in some situations, users are more likely to use software more often and be more comfortable with software that is its own application rather than in the browser.
Franco: Do you think development teams are leveraging the performance enhancements that are possible with AIR that run locally rather than having to do the RAM switch to the server?
Ward: AIR offer users an improved experience, including drag-and-drop functionality, local caching with a SQL-like database and system notification — all of which provide a more integrated experience. In contrast, the Web is its own little island, whereas AIR applications and desktop applications are much more integrated into familiar, traditional desktop-like interactions.
Another area where we’ve seen significant adoption is financial services. That sector has found incredible value in Flex because of its UI richness, powerful charting capabilities and efficient handling of massive amounts of data on the client side. Also, the enterprise software space is showing strong support for AIR. Oracle has at least seven different applications being built on Flex, some of which will use AIR. The SMB software space, including Intuit, is also adopting Flex and AIR in significant ways, as is government.
This adoption is being driven by ROI in that it’s costing these companies less to build next-generation software. Importantly, every 10 years or so companies rewrite their software. They are now re-evaluating their late 1990s Web applications and deciding what to build on that will last another 10 years. It will need to work on the Web, on the desktop and on mobile devices. The obvious choice is Flex and AIR because it allows them to quickly build this next-generation software and they’re not limited to just the browser or any specific machine.
Franco: Can you talk about what the AIR plug-in and install process is like for the consumer?
Ward: There are a few different ways that we’re working on to get the AIR runtime onto peoples’ machines. We’re leveraging our PC OEM relationships that are distributing Flash Player today to get AIR pre-installed onto machines. That’s a significant portion of how we’re driving adoption.
We are also relying on people building AIR applications to drive adoption and make it easy for people to get AIR if they don’t have it. We’ve created a badge that you can put on your Web site that detects if the user has the right version of AIR, and will download and install the plug-in for them.
There’s another interesting way that we’re working on getting AIR adoption, which will be pretty significant, but I’ll need to save that information for a future interview when I can talk about it. Adobe is also creating AIR applications, including some that the Adobe Media Player uses, to drive adoption. So we’re definitely working on getting the penetration of AIR onto people’s machines in line with the same numbers as Flash Player, which is at about 99%.
Franco: What’s up Adobe’s sleeve for the next generation of AIR?
Ward: We haven’t announced a roadmap for AIR 2.0 yet, but there are a number of things that the enterprise community wants, including an encrypted database. AIR currently supports a SQL-like database that is not encrypted. Today, AIR doesn’t support automated testing, so that’s something we’ll probably be fixing in AIR 2.0. We’re also working on adding more language support to the AIR runtime so the installers and dialogs can be localized.
The internal guts of AIR is actually Flash Player 9. At some point, we’ll need to update the Flash Player within AIR to leverage new capabilities that are in Flash Player 10. I’m not sure of the timeframe on that.
Franco: This is what I often hear: Why is Adobe in the platform game? How does Adobe benefit from the Flash Player being so pervasive?
Ward: Good question. Adobe is traditionally a tools company. We are selling professional tools to build Flex and AIR applications. The foundation of those tools is open source and free, so you can use the free and open source tools to build these applications on Adobe’s platform, and that’s fine, but really what we’re trying to do is have these professional tools that people would want to purchase because they’ll save you time. The core business model there is continuing to sell tools.
We also offer enterprise level servers — namely LiveCycle Data Services — that plug into the J2E environment for data synchronization capabilities and PDF generation. That’s one way we monetize the platform. But we’re not force-feeding those products. People can use the platform, build on the platform, and not pay us anything; that’s fine with us.
Franco: James, your comments today will be extremely valuable to our UIRC readers. The next time we cross paths, I owe you lunch.
Ward: You’re on.
![]()
About James Ward
James Ward is a technical evangelist for Flex at Adobe and Adobe’s JCP representative to JSR 286, 299 and 301. Much like his love for climbing mountains, he enjoys programming because it provides endless new discoveries, elegant workarounds, summits and valleys. His adventures in climbing have taken him many places. Likewise, technology has brought him many adventures, including: Pascal and Assembly back in the early 90s; Perl, HTML and JavaScript in the mid 90s; then Java and many of its frameworks beginning in the late 90s. Today he primarily uses Flex to build beautiful front-ends for Java based back-ends. Prior to Adobe, James built a rich marketing and customer service portal for Pillar Data Systems.
![]()
About Anthony Franco
As the president of EffectiveUI, Franco listens to how companies like eBay, Ford, Random House, Viacom, GE, Dow Jones and NBC think about the Internet and desktop software, and how innovation can completely change the way they do business. Under Franco’s leadership, EffectiveUI has had the opportunity to deliver groundbreaking applications for Fortune 500 companies. With a focus on elegant interfaces that solve specific business goals and deliver astounding user experiences, Franco is at the forefront of the next generation of applications that engage audiences on the Web, desktop and beyond.
Copyright © 2008 : User Interface Resource Center, All Rights Reserved.