Two years ago I came across Flash for the first time and was entranced by
how much further developed its interactive capabilities were over the
browsers of the time. The Flash of that time had a very simple
assembler-like programming language, and was in many ways awkward to use. A
lot of the projects that went out from here were more like clockwork
machines than animations or programs.
That said, coming from a computer games and multimedia background, I found
the promise of 'interactive-over-the-web' to be more likely to be delivered
by Flash than by any browser at any time. The whole w3c conception of the
web - that of page-at-a-time viewing, and
fill-in-the-form-then-submit-to-server - seems to preclude the rich and
seamless interfaces that designers aim for.
In the time since then, I have seen Flash develop into a close to fully
featured application and animation development environment, with
capabilities far beyond those of the best browsers of today. Im talking
about XML/DOM capabilities, IM-like capabilities through sockets, a
close-to-complete javascript, and most importantly a development environment
equally accessible to a CS major or an animator or designer with little or
no programming experience.
Having invested a great deal of time and energy coming to grips with Flash,
Ive run smack dab into a large number of its failings. Its javascript is
10-100 times slower than other javascripts. Its text renderer is slow and
does extremely poor quality anti-aliasing for small font sizes. Its vector
rendering isnt the most clever. And more. Its limitations are manifold.
Those limitations are well-known, and largely platform and browser
independant.
A Flash player is a mere 200K or so. Thats Two-Zero-Zero. 10-100 times
smaller than the browsers it competes with. And I do mean competes with.
For all the ranting about designers ditching obscure browsers, its not
something that is done lightly - no-one likes to loose any of their
audience. What is interesting is that a 200K plug-in provides more and
richer interactive capabilities than the intersection of the capabilities of
the two most popular browsers 10-100 times its code size. I think that
designers use flash because they know that it will look and function the
same on every platform it is supported on. Flash 5 is available for Windows,
Mac, Solaris, and Linux, as well as being promissed for any handhelds of
sufficient capabilities.
There have been a number of open-source implementations of the Flash player,
including one done entirely using the Java2D API. Documentation for the
Flash file format is freely available, and any failings in that
documentation have been corrected a number of times over of open-source
minded enthusiasts.
The internals of Flash are in fact fairly elegant, with a small number of
primitive operations being composed in a nicely object oriented manner. It
would be a much much easier project to reverse engineer and reimplement the
flash player than to implement the pantheon of w3c standards that a browser
needs to support today. A much harder project would be to create an
authoring environment to match that on offer by Macromedia.
Macromedia itself has been an ardent supporter of cross-platform solutions
from the outset, although a less than enthusiastic supporter of
cross-platform standards. In my mind, their main failing (and this may well
be a survival strategy) is that their target audience is less than
technologically advanced and therefore their tools tend to run out of steam
when approaching more complex projects.
This archive was generated by hypermail 2b29 : Fri Apr 27 2001 - 23:14:58 PDT