Notebook Margins Playhouse

Go to the home page of Notebook Margins Playhouse Go to the "Me" section Go to the "Thoughts" section Go to the "Little Lab" section Go to the "Art" section

On Flash

Flash as you might know, is an animation and user interface design tool that has gotten a lot of attention because of both it's capabilities and limitations, but most of the attention has been missfocused. It's ability to create dancing text and fancy interactions has gotten the attention from both detractors and proponents. But the real strength of Flash, which is often not used by developers and often not understood by detractors is an ability to maintain state on the client and control responsiveness and background processes at a fine grained level. Now the recent release Flash Mx (or Flash6) has appeared at the pivotal point of a very interesting story between native vs web applications.

Over the past half a dozen years there have been two competing technology sets to choose from, engineering-wise, for building applications. Rapid application development tools like Visual Basic, Delphi, and Foxpro were already familiar to a lot of folk who had good business plans and experience with these fairly mature tools. They have since all been updated to include networking libraries to access Internet protocols, but fundamentally they have been and will be limited to business intranets with windows computers and will require setup programs and IT departments to install and maintain them.

In contrast, Internet developers went for the home run. They saw the benefits of HTML running everywhere as the obvious end goal and as an opportunity for businesses to access home markets, educational markets and one another more universally. Java provided great server side capabilities, but the browser wars made client state ridiculously difficult to maintain unless you were using Flash, and Flash didn't have any of the nice user interface controls that were important to have in order to develop complex application interfaces. The response of "serious" application developers was to process everything on the server, but one look at the syntax of Java server pages demonstrates what a shoe-horn that took. And if every mouse-click has to travel to $20k application servers in order to be processed, nobody is going to compare web application interfaces favorably with native ones. Programs become too unresponsive from the connection lag, and server resources become too expensive for small businesses.

But what about now? As a former developer of native applications, who loved the high level native development tools. I've been frustrated for years with the lack of maturity of web development tools. I endured the retooling process partly because it was clear even in '95 that educational software was one market that was clearly going to be fully moved to the Internet, colaboration and change are too critical for learning. But now, ironically as the high expectations have finally calmed down. The tools have finally gotten sophisticated enough to meet them, and they still have the universal reach.

There seems to be a reasonable subset of Javascript that you can expect from browsers now, and the new version of Flash is a great tool, with a broad reach and exceptional capability.

Since 1990, when I started studying technology and computer science I've been able to predict technology trends pretty flawlessly up until about the year 2000. But the closer we got to 2000 the harder it got to see what would happen past then. In the spring of 2000, like most experienced developers, It was obvious that the dot com thing was going to crash. But other than that things were hazy. Now is a very interesting time.

This year seems pivotal in the native vs web application struggle with .Net thrown in for an added wrinkle. For educational applications there is no doubt that web applications are here forever. For general business? I think .Net will move the native developers to the web application developer camp where they will realize the wealth of Java stuff that was generated in the past seven years. But other than that pretty obvious bet, I have no clue.

I do know though that Flash is finally capable enough that I can recommend it without qualification for developing application interfaces. In contrast, with Flash5, this was my response to an e-mail post asking for feedback on the question "is actionscript a real programming language" All of the negatives mentioned in the post have been overcome with the new version.

In contrast the resources at macromedia's web application developer site, point to a future where Flash is going to be real delight to develop with.