Archive for November, 2006

Releasing the Flash Player 9 update was a mistake

Adobe just released Flash 9.0.28. It wasn’t too long ago Adobe released Flash 9, June 27th in fact. A quick perusal of the flash player version penetration numbers finds the established markets at 35%, not exactly the best time to toss out another download to the masses.

I think we as technologists often forget that our true mission is to deliver value to those less technical than ourselves. I often find myself falling into that very trap. The latest widget, feature or capability excites me so much that I fool myself into believing that those on the other side of my work will find the feature as cool as I do. The cool factor does not drive long term value, it only generates short term excitement.

One of the greatest advantages of building and releasing applications online is that you can release early and often. This strategy works well if your users receive your updates transparently. As easy as it is to download the Flash player for us Technologists, is it really that easy for our users? We have systems that aim to make it easier, SWFObject is one among many. But do they really work for everyone? What if Javascript is disabled? If someone has to make an effort to update an application I’ve written more often than once a year, than thats a failure on my part.

Adobe clearly sees this differently, though I’m not sure why. As the makers of the platform that many of us use to create applications for end users, Adobe has an even greater responsibility to ensure that our end users experience is as simple as possible. The market is just now adjusting to and consuming Flash 9 content, and already they’ve released a newer version. It seems that that Adobe is falling into that same trap, pushing out the latest cool feature without considering how it affects developers and end users. Why not push these features out with Flash 10? Or better yet, find a way to make flash updates more transparent to end users so that we can continue to use the Flash platform to better deliver value to our users without worrying about how much effort it is to update their version.

The riddle of web 2.0

What is the key to the next generation of web applications? Its the question that keeps every CIO, Entrepreneur and VC up at night… Want to know the answer? Its the desktop.

Its interesting that the key to the control of the next big wave in applications takes us right back to the same place web applications promised to unchain us from. The problem is that we’re never truly free of the desktop, nor will we be anytime in the near future. We just wanted centralized access to our data, not to have our applications ripped off our desktop and stuffed haphazardly into some browser. Google, and the rest of the AJAX productivity suites out there racing to free us from the tyranny of Microsoft Office would do well to realize that.

The recent release of the Windows Presentation Format really got me thinking about this. The WPF platform approaches the RIA field with a completely different set of advantages than Adobe. WPF, through .NET, has always supported the concept of sometimes connected. Adobe is just now about to field its second official attempt at entering this territory. It has the back end support of .NET and a massive developer community. Most importantly, Microsoft has complete domination of the desktop market, allowing it to force whatever it likes onto the user base. For example, the .NET framework 3 will be pre-installed on Windows Vista.

Microsoft may have the enterprise developers and a stranglehold on the Windows desktop, but Adobe isn’t coming to the party without any tricks up its sleeve. Adobe’s biggest strength is its design community. If you can find a talented, experienced and professional designer that doesn’t use an Adobe application somewhere in his work flow, then take a picture because you may never see anything like it again. Another advantage is that Adobe can be cross platform where Microsoft cannot. Microsoft is still stuck in the archaic concept of all Windows at every point in development, delivery, maintenance and use or no go. Adobe can openly leverage and contribute to open source on a large scale, which will go a long way towards wooing the developer community into its fold. Another advantage is that Adobe has platforms installed on every machine in the world, PDF and Flash. On most people’s machines Flash is installed as an ActiveX control, which won’t help too much outside of the browser. PDF on the other hand would be a great platform to leverage in Adobe’s march on the desktop.

Other platforms like OpenLaszlo deserve mention here too, though they lack the financial backing and established communities of the big players, they do have the distinct advantage of being absolutely and completely free. No matter how hard they try, Microsoft and Adobe won’t be competing with that. For those that currently use Flex, yes it is free to create RIA’s in Flash, but how free is it to deploy them on a large scale? Open Laszlo is a serious player in this space and it would be foolish to completely ignore them.

So who wins? The answer to that will be based on two key elements. First and foremost, does Windows maintain more than a 90% monopoly on the desktops of end users over the next five years? Secondly, does Apollo truly allow Flash and AJAX developers to deliver fully featured RIA applications to the desktop? If Microsoft loses serious share on the desktop market, Adobe wins by default as cross platform will become vastly more important. If Apollo comes through and is everything we hope it will be, than even if Microsoft maintains a stranglehold, they could still lose. Also, Microsoft has to find a way to focus on the design of its applications, Adobe already has this market on lock down. After all, a shoddy looking application with all the greatest features in the world will not be successful with a non-technical user base. Also, a new found focus on the user (the subject of a future article) will be absolutely necessary for all successful Web 2.0 applications. Which brings us full circle to the title of the article, What is the riddle of Web 2.0? The answer is that it never really had anything to do with the “Web”, at least as most people see it.

Why Flash will succeed where Java failed

I recently read an article by Adam Wolff, the chief architect of Open Laszlo, an open source competitor to the flash platform. Open Laszlo has gained impressive ground and is used in several serious deployments, namely Pandora.

Adam’s article is entitled “The Javafication of Flex”, and is a great read for anyone doing serious RIA development. Adam’s argument is that the Flash platform, including both ActionScript and MXML, are becoming too much like Java. The conclusion is that this conversion will cause the platform to lose flexibility and ultimately share the same fate as Java. While I agree that the conversion is occurring, I believe the changes will result in a huge increase in market share in the enterprise arena, without the market share loss in other segments that Adam implies will occur. Here’s why:

First, the Flash and Java platforms are apples to oranges. While it is true that both aim to be the dominant creation and delivery platforms for the RIA’s of the future, they have approached it in monumentally different ways. Java was an OOP language first. Instead of doing function over form like other platforms, Java simply throws form right out the window, along with the user experience. Java makes ugly applications, plain and simple. Even though a few of the newer Java applications have overcome this stigma, such as ThinkFree, the truth remains that the ugliest Flash apps are more aesthetically pleasing than the all but the most well designed Java (and Ajax) apps. Just compare Scrybe to any other online calendar and productivity suite. To sum it up, Java failed because the user experience was completely disregarded.

Now enter the world of the Flash platform. In well designed Flash sites and applications, the user experience is first and foremost. In the hands of a clever architect, Flash has the ability to gently push and prod the user through the experience of using the application through interactivity and visual cues. The Flash platform started as a means to bring animation to the web. It was then redesigned to create interactive web sites. The Flash platforms’ roots as an interactive design tool give it an incredible advantage over Java. It is EASY to focus on user experience. Until recently, Flash did have several huge shortcomings that were preventing it from being a true RIA platform, namely ActionScript 2, and the lack of a decent development environment. As anyone who has developed large scale sophisticated applications in ActionScript 2 knows, its pretty damn difficult to create good robust code using ActionScript 2, and coding in the Flash Authoring Environment is like picking the hairs out of your arms, one at a time. Flex was introduced to correct this shortcoming, and so far it looks like it fits pretty well into this role. The separation of the Flash Authoring environment from the Flex coding environment allows teams to have a seamless work flow experience while at the same time creating robust interfaces with solid and aesthetically pleasing user experiences. Interfaces can be modularized into components that are designed and developed in the Flash Authoring Environment and then combined into an application in the Flex development environment. Thats not even considering Apollo, which is an up and coming technology that should not be underestimated. If Apollo succeeds where Central failed, it will be a game changing technology to say the least. Implementing true web applications that are no longer slaves to the browser will only serve to further strengthen the platform in general. Combining the user experience, work flow and rich media that the Flash platform brings with the delivery technology of Apollo and document management technologies like Mars lays the road map for a pretty complete RIA platform. If there is a competitor that will provide all of this, I haven’t heard of them yet.

And since ActionScript is still at its roots a prototyping language, it maintains its ease of use for smaller scale deployments. In smaller scale apps, designers run the show, and Flash provides them a work flow that they are unlikely to abandon for any alternatives anytime soon. The coming integration of Photoshop and Illustrator with Flash only strengthens this stranglehold. These non-enterprise deployments simply ignore Flex and back end data services as they always have and continue to deploy using the Flash authoring environment. I really don’t see any serious competition to challenge Adobe for this market anytime soon, which is unfortunate as competition drives better products and more innovation.

Flash will maintain the lower end market through the integration of the Adobe Creative Suite. That alone will keep most designers delivering their dynamic content in Flash. In the enterprise market, Flash will succeed where Java failed for one critical reason: user experience. Users want beautiful applications, and Flash delivers in ways that other platforms have difficulty even attempting to mimic.