Iâ€™ve written this inside company articleÂ named “Flash 8 And Beyond” in the end of 2005 to clarify some ignorance about the Flash platform. The result was that my C.T.O. said that Iâ€™m rude and arrogant and me and this â€œMacromedia marketing textâ€ can go fâ€¦ do stuff to ourselves. Reading it now I think he got a point. I should have written the same text in a more modest way. However I got some good feedback from some of the â€œrealâ€ developers who thought Flash is just a toy and were surprised by itâ€™s current abilities like: OOP and Pixel Engine and the future abilities like: Binary Data. Indeed a toy, but a mighty powerful one.
I bring here a slightly modified version, I only removed a few things for confidentiality reasons.
(When I say Flash-X I refer to the functionality of the Active-X rewritten in Flash)
Here it goes:
*About this article:
*In this article I describe the main pros and cons of using the flash player over our homebrew ActiveX.
Pros – Look mom no ActiveX:
- No Intrusive Active-X Installation
a) Many users are not willing or canâ€™t install any active-x on their computer. But will accept or already have the flash player Installed.
b) Flash is already Installed on 98% of desktop computers.
c) New Flash player versions are rare and much easier to install then regular active-X.
d) Our current activeX has too many features and too many Kilos. Some of it are no longer needed. (am I playing with fire here?! 😉
e) Today with every new feature we add to the active-x the user will have to go through the tiring installation process again. With flash the update we make are transparent to the user.
f) Website specific versions. The Flash-X will have only the features needed for the specific site, also transparent to the user.
g) Our Active-X doesnâ€™t have true backward compatibility as the Flash player. (Force upgrade of new active-x is not considered as backward compatibility)
h) In the end more users will be able to use our technology.
i) Better user experience.
- Cross Platform
a) Will run on FireFox and all the major browsers.
b) Will run on none PC computers with different OS like MAC and Linux.Â
- Better website integration
a) No need for multiple objects and html â€˜divsâ€™Â And messy flash holes (masks) to see through.
b) In fact there is no integration coz the flash-X will be part of the flash website. Any progress bars, fading and many other effects can be easily implemented.
c) Less buggy â€“ no needÂ for multiple
d) Easier to debug.
e) Easier to develop (one IDE)
Â *Cons – But look Beyond:*
a) Slowness, mainly because of backward compatibilities flash can be slower then other platforms.Â
- SWF is an open format.
a) Everybody can see what youâ€™re doing. Very good encryption is needed (this is true for any kind of code, nothing is completely safe)
b) It is not possible yet, inÂ flash 8, to encrypt media inside the SWF, only code, so the bitmaps could be accessed.
A solution to this might be to use dynamic masks generated by code. Or look beyond to flash 9.Â
Beyond â€“ Flash 9 with Actionscript 3.0:
- Speed, lightning speed
a) In the upcoming version of flash, the calculating and rendering speeds are at least 10 times faster (This is according to my testing and others on the web with the Alpha version of the next flash player and ide). In these speeds we can sample and calculate a big image in no time.Â
a) The new Flash (aka Flex Builder) is based on the award winning Eclipse IDE.Â
- Binary Data
a) Flash can read our own file format directly.
- Many more, some of it can be found here:
*Why to use Flash ?!
*The Question should be: Why we havenâ€™t used it already?
And the main reasons, in this order of importance, are:
Â 1. Flash was lack of a pixel engine.
Â 2. Flash actionscript was too slow to handle complex calculation.
Â 3. Flash SWF is an open format.
In case you donâ€™t already know there are some main things that set us apart and better then our competitors (check â€˜About usâ€™ section for more info). One of these things is the bitmap algorithm. In order to paint the bitmaps with the algorithm the active-x need access to every pixel in the image. This wasnâ€™t possible till Flash 8 but now we can freely get and set pixels on the image and the bitmap Algorithm can be applied in flash. (it was possible to apply the algorithm in versions prior to 8 but this would have been a lot of hassle, since itâ€™s not relevant any more I wonâ€™t go into details). Check my example of flash-x still with only a fraction of the algorithm. All we need to do is add the fancy Bitmap Algorithm 🙂
Sorry canâ€™t show you that.
Some of you might think that flash Actionscript is the poor script language that you know from flash 4 where you can use it to make some fancy buttons and nothing more. Well this is not the case. Actioncript 2.0 is a full Object Oriented language similar to java. Any code or design pattern can be implemented with it. So in terms of the code there shouldnâ€™t be any problem to port the Bitmap code into Actionscript 2.0. As for the speed we might lose some. Although, macromedia improve the flash player speed with every new version. Itâ€™s still inferior to some other platform. But this need to be tested the lost of speed might be bearable and even not noticeable at all.
About the fact that Flash file format the SWF (pronounce as swiff) is an open format and the code can be examine fairly easily. We will have to use encryption on the important part of the code.
Â Â Â Â Â
Â Â Â Â Â
Â Â Â Â Â Â Â Â Â Â Â Â So far weâ€™ve seen that the main reasons it was hard to implement the functionality of the active-x in Flash has been overcome.
Weâ€™ll now see why we should use the flash player instead of the Active-X:
If we check the numbers weâ€™ll see that at least xx% of the users that tried to Install the Active-X and use our system failed. This number is enormous as is by internet standards. But this number doesnâ€™t show you all the users that failed to even attempt to install the active-x like firefox and mac users. This number also doesnâ€™t show you the users who didnâ€™t even want to try to install an Active-x from somebody they donâ€™t really know and trust. This number also doesnâ€™t show you the tiring process some of the users had to go throw until the installation succeeded (some failed several times before the succession).
This is the main reason why we should change to Flash player over our homebrew Active-X. And itâ€™s a very big reason because non-compatibility is a very big and dirty word in today standards. Flash Player is installed on 98% of all desktop computers and itâ€™s the most compatible thing you can find on the internet today.
Conclusion -Â The future of Flash, Sparkle, Ajax and others
Flash isnâ€™t the superior technology in all aspects as some of you might know and probably like to say. But in this case it has the advantage. With itâ€™s unmatched compatibility and strong capabilities. Flash is a mature technology that has proven itself over the years and keeps on improving. With the upcoming version of flash there is no doubt we should go with Flash. We need to start moving now so when the new player will be available weâ€™ll have our product ready. Why waste all this time since this is the path we will eventually walk.
Sparkle â€“ will be a creative tool from Microsoft that hopefully will let us make beautiful windows applications and websites. Currently it has no release date and it could be more then a year till its final release. It is not so much relevant to this ActiveX discussion since weâ€™ll use it, if weâ€™ll use it, for the website design and animation. The ActiveX installation will remain as it is now. Even if Sparkle will deliver all that it promises it will take, in my humble opinion, at least 3 years for websites developed with it to reach reasonable compatibility.
Ajax â€“ it become a hype to even say that Ajax is a hype so Iâ€™ll try to avoid it. but really, Ajax is just an old technology with a new name. It became such a hype (sorry) since some big sites like google.com and amazon.com have used it to add some nice popping windows to their sites. This is also not so much relevant to this discussion. You canâ€™t make with Ajax much more then some fancy menus and non-refreshing websites. But since itâ€™s also been dubbed as a â€œflash killerâ€ obviously with no serious reason, I mention it here.
Â Â Other â€“ there are no others.