Kevin Werbach posted this comment in reply to my earlier post about Flash as solution to cross-platform desktop apps:
So, why do you think these developers don't use Flash today? Lack of awareness, cost, performance, missing features, compatibility, bad associations from cheesy animated Website intros... or something else? I know Flash has significant support from ISVs and platform vendors, but not the boutique tool creators.
I'm pretty close to the issue and will offer up a few comments. Hopefully Kevin Lynch or others from Macromedia can chime in on their blogs, too. Here's a shortlist:
Yes, lack of awareness. Flash MX is a year into the market, and it definately takes a long time for platforms and brands to be established and re-defined. However, at the same time, Flash continues to gain awareness as a cross-platform app environment for browser contained applications, and industry analysts generally consider Flash the leading rich client today. Very few ISVs realize how deep the Flash runtime is in terms of its programming model -- for example, very few people realize that 80% of Internet desktops have a runtime that can do real-time messaging, and multi-way audio and video, APIs that are native to Flash Player 6.
Cognitive Dissonance. This is what Kevin calls "bad associations from cheesy animated Website intros". Like it or not, Flash cut its teeth in motion graphics and animation, and over the past few releases evolved into an application platform. That brand and association is widely accepted. As a result, software developers generally filter out Flash from their architecture considerations because of this history. But in the early 1990s the same could be said for Windows (buggy desktop shell for DOS), and through many releases, broader and better tools, and focused marketing it became established as the premier desktop software platform.
Deployment Limitations. Flash's primary runtime container is the browser today, and for ISVs building desktop applications that is a limitation. While there are many third-party products for building desktop-contained and integrated Flash applications, they are not well known in the ISV community. The original vision behind MX was for Flash to evolve outside of the browser, both on the desktop and devices. Macromedia continues to make great progress on that, so ISVs should keep a close eye on the Flash runtime container model.
Programming Model. Today, building Flash applications requires a hybrid left-brain/right-brain skill-set. That's reflected in the nomenclature and workflow of the Flash IDE, which uses concepts like Movies, MovieClips, Timelines, Symbols, Layers, etc. in addition to classic software programming concepts like Components, Objects, XML, ECMAScript, and Web Services. Macromedia understands the diversity of developer types, including pure ISV-style application developers, and will surely deliver the right range of products to better optimize development workflow.
In my new role at General Catalyst, I've had the opportunity meet with ISVs who've built Web application front-ends. Most of them have standardizead on Internet Explorer 5.5 on Windows and the DHTML object model therein. The apps look and behave OK, and I'm sure they had lots of pain getting it all to work. I invarably introduce the concept of Flash as a rich client, and it's striking how few are aware of what Flash has evolved into, but all are receptive to the opportunity.