Younger
readers may not fully appreciate how much the internet has changed over the
years. When I started using the internet in the nineties it was done with a
device called a modem which plugged into your phone line meaning that when you
were connecting to the internet you were making a phone call to your internet
service provider. The modem I originally had was a 28000 baud modem which means
it was able to send and receive 28000 bits or 0.028 megabits which is roughly
3k per second under optimal conditions. This is really slow so video was not
really something that you would have on a website. Even images were really slow
where with large images you could actually see the image being loaded. This is
why vector based animation systems actually made sense and why Future Splash
was pretty impressive for its time. Instead of sending the bits that make up
the image, vector systems would just send the points and edges that make up the
shapes. For simple shapes, like those in early internet animations, this was
significantly less information than the bitmap representation of the image so
could be transmitted much faster.
Future
Splash was competing with a technology that Macromedia was pushing called
Shockwave which was acquired by Macromedia when they purchased MacroMind for
their Director game making software. Macromedia acquired Future Wave, the
company that was behind Future Splash, so they could add the vector animation
tool to their shockwave platform. This is the reason why Flash binary files
have the swf extension which stands for ShockWave Flash.
When Java
arrived on the scene Java applets (note that Java and JavaScript are not the
same thing) were still thought to be the future of interactive web pages.
Browsers were being shipped already loaded with Java while Flash required a
plug-in program be downloaded and installed into your browser. The Java craze
was so strong that even Macromedia had an optional Java version of their Flash
player. I was hired to see if it would be possible to have a Flash game where
the animation was handled by the Java-based Flash player and game logic would
be written in Java. This proved to be clumsier than expected and pure Java
solutions were chosen for the project.
While I
think Java could have taken control of the browser, this ultimately failed due
to a conflict between Microsoft and then Java-owner Sun Microsystems. Sun
wanted Java to be a standard that would work the same on all browsers while
Microsoft wanted to be able to make Windows the operating system of the
internet and added extensions to the internet explorer version of Java that
made it work better on Windows due to the ability to access Microsoft APIs such
as Direct X. A court battle ensued, Java on the browser stagnated, and
alternatives for Java started being looked for.
This is
roughly the time that ActionScript was added to Flash. While not the greatest
scripting language, this made the product useful for games and other
interactive web content and ultimately replaced Java as the go-to technology
for interactive web sites. I started
using Flash and wrote the original Flash Game Development book that this book
is based on and everything was good with the exception of the occasional exploit,
too many sites having intro movies created in Flash, and many extremely
annoying interactive ads which happened to be written in Flash though would
have also existed in any other alternative had there been an alternative with a
large enough market share.
Flash was
still a very strong standard when Adobe bought out Macromedia. Unfortunately
for Adobe, things were about to change thanks to a fruity company releasing a
phone a couple of years later. While saying that iPhone not supporting Flash
was the cause of its demise is not the full story, it was certainly a big factor. The idea of plug-in
for browsers was starting to be looked on as a negative factor as plug-ins were
increasingly the target that hackers used to attack browsers.
The
ultimate nail, in my opinion, was the release of HTML5 and the Canvas API (which if I recall correctly was an API designed by Apple for their browser). This
allowed for web developers to do everything that Flash could do right within
the browser knowing that all users with a browser could run the program.
Granted, the HTML5 apps were slower and larger than the equivalent Flash files,
but they worked without any plug-ins.
Flash was
not just used for creating web pages, but was still a popular tool for
animation studios. With the death of Flash on the browser rapidly approaching
Adobe decided to handle the death of Flash by renaming the tool Animate which
reflects the target audience for the tool. To help support browser developers,
Adobe did introduce the HTML5 stage which allows the creation of HTML5 projects
that convert Flash vector objects and animations in to JavaScript using the
Create.js library. The ActionScript code is not currently converted to
JavaScript so any interactive code must be written in JavaScript using
Create.js library calls.