Having been involved in the Flash Player evolution since 1997, the value of “Rich with Reach” has become ever more obvious to me of late. The long term success of Flash Player and more recently AJAX, are based at their core on the idea of widely deployable rich technologies. It is a balance of devlivering the richest user experience that supports the largest customer base, ie. Rich with Reach.
I started a company in 1998 called Indigo Networks and we created an online shopping service. In our first round of venture funding we raised 1.2 Million dollars and within the deal we got a new CEO, Terry Johnson. Terry is a long time friend and taught me a great deal about business. The key is that Terry was brass tacks when it came to business. In Terry’s eyes my role as CTO was to make sure our technology choices excluded as few people as possible. At the time were were spending $$ to drive customers to our site and every incompatible user was wasted money. Reach was essential but we really valued Rich as well. To some extent, we were willing to sacrifice some reach to provide a better user experience. In using Flash, our user retention rates were much higher than our competitors and our site was far easier to use. In highlighting these statistics and showing measurable success, we sold the venture at the height of the .COM era. My goal was to make the most compatible site with the best end user experience possible. What is interesting is that at the time many people thought I was insane for targeting Flash Player 4 with a total market reach of 65% when we first launched. Within 3 months that stat moved to 75% and then 85% moving ever higher and higher. We were certainly early but we made the right decision in choosing Flash Player back then, it gave us a huge advantage at the time in terms of user experience.
I want to take a look at the various rich technologies from a RICH/REACH perspective. I have selected AJAX, WPF, APOLLO, WPFE, FLASH as the base technologies. I first provide a score on RICH and REACH and then explain the technology and my opinion on the matter.
HTML – RICH:3 REACH:10
SM-HTML+CSS+JS – RICH:5 REACH:8
LG-HTML+CSS+JS – RICH:7 REACH:6
The AJAX revolution is really is about providing the best end user experience using HTML, JavaScript, and CSS, again “Rich with Reach”. The problem is that browser compatibility and developer productivity continue to plauge development teams using AJAX for certain types of applications. If there were a sliding scale from document to application, AJAX technologies can get you a long way but as things get much more complex on the application side, the runtime differences cross-browser and the overall performance break down. AJAX is a great technology choice in the small but as it becomes more rich it looses reach in terms of compatibility.
WPF RICH:9 REACH:1
Microsoft’s Windows Presentation Foundation, WPF provides a way to deliver rich desktop applications on Windows Vista and XP (with surgery). These applications take advantage of specialized hardware, allow for all sorts of 3D/vector functionality, and leverage the .NET runtime. The problem here is reach. It is certainly rich, but Windows Vista adoption is expected to be much slower than XP. It will be a long time before this is a viable choice for desktop application development with the same reach that XP had. Also more generally the rise of Apple OSX and Linux are key indicators that the native desktop application market will only become more fragmented and platform specific.
“APOLLO” – RICH:7 REACH:? (Scored at M3 Builds, Reach not available )
“Apollo” made its debut last night at ApolloCamp and I think we are going to see some amazing things happen here. “Apollo” embodies “Rich with Reach” in supporting Flash and HTML technologies while being 100% cross-platform compatible. In allowing a single binary .AIR file to run cross-platform on Windows, OSX, and Linux we are going to see a revolution occur. “Apollo” isn’t the richest runtime (lack of feature XYZ) but over time I think it will support 90% of all desktop application and in its first release it will support a healthy 80%. If you look at applications in general, many are pure data entry and in this class Apollo is a sweet spot. Then again developers are going to innovate on Apollo and will push it to the limit. Last night EffectiveUI presented a framework that extends Apollo using a local server model. The developer used a Wii remote via BlueTooth as a light saber in an game written with “Apollo”. Given that Apollo is a 6MB runtime it should get very widely deployed as the runtime need only be installed once on an end users machine.
WPF/E – RICH:4 REACH:? (Scored at PR Builds, Reach not available )
Hard to say much about WPF/E here. It is 0% deployed and Microsoft has a bad reputation regarding cross-platform software as it is so contrary to their core business. Seeing the recent delay in adding managed code to the 1.0 release, I wonder if it will survive. At most I think it will become a video player technology for folks that have MS video assets. If MS force installed this technology via Windows update, they would reach 40% quickly but stall because of the lack of content in WPF/E. Having worked with the Alpha (Technology Preview), it is like Flash 4 without commands, unskinable components, vectors, and video. Scripting and logic is 100% JavaScript of the browser and without complex tooling this makes the solution fall into the not ideal category for me. Also using XML prevents content streaming and thus loading will need to complete before rendering starts. This solution is plagued by identical limitations that SVG encountered when it attempted to challenge Flash years ago while lacking the support of an actual standard like SVG. DOA?
FLASH PLAYER 7 – RICH:6 REACH:9
FLASH PLAYER 8 – RICH:7 REACH:9
FLASH PLAYER 9 – RICH:8 REACH:7
Flash Player 9 is hitting critical mass surpassing the 70% market penetration mark. Every day more and more end users upgrade Flash Player to the latest version at a rate of 5+ Million Flash Players a day and rising. Flash Player 9 is very rich (JIT AS3, graphics, vectors, animation, video, text) and reach improves every single day like clockwork. The growing buzz around Flash Player technologies is that Flash Player 9 is hitting critical mass. Businesses are choosing Flash because of the balance of “Rich with Reach” and a mature development toolset in Flex, Flash, and the CS3 Suite will unleash a set of designer tools that independently are best of breed with seamless developer integration. When a new Flash Player launches it starts with a wimper but over time becomes a huge bang. As Flash Player is backward compatible with all proir SWF files there is a huge market demand for Flash Player from content. And just when you wanted 3D support in Flash Player 9, an open source engine arrives like PaperVision3D to add features and richness that Adobe never anticipated. The Flash ecosystem adds a ton of richness that extends the base feature set of the Flash Player. This aspect is really key to seeing the full value of Flash. It isn’t that the raw technology is great, but that our customers make it even better by extending it and using it in innovative ways. The developer base of Flash adds tremendous value to the RICH side of Flash and in turn drives the REACH by delivering great sites.
What is really cool is that you are never limited to using one technology. Some of the best sites/application I have seen embrace a holistic approach and provide rich content where it makes sense. Using rich content is not an all or nothing choice but rather a wide spectrum from which to pick and choose. Over the next year we are going to see AJAX and Flash become ever closer and work better together. There are shared capabilities that make the use of both better. On the desktop we will see a revolution in “Apollo” in Flash and AJAX based technologies. Better together is the key.
Chose your technology wisely and balance “Rich with Reach”. You will have more happy customers and that is good business.
Cheers,
ted