This new Flash hatred club seems to be spurred on by claims such as:
“Flash is old, thus it is obsolete”
“Flash is closed source, and proprietary, thus evil”
“Flash is insecure, and can get me hacked”
“Flash is slow, poorly coded (crashes my Mac omg!)”
“HTML5 is the natural replacement for Flash”
“Flash is closed source, and proprietary, thus evil”
“Flash is insecure, and can get me hacked”
“Flash is slow, poorly coded (crashes my Mac omg!)”
“HTML5 is the natural replacement for Flash”
Lets break it down, and see what’s what…
“Flash is old, thus it is obsolete”
Sure, Flash has been around since ‘96, but it has grown by leaps and bounds since then. Flash is still the most widely used browser plugin by a huge margin. Less than one percent of internet-capable computers do not have Flash 8 or higher installed. Roughly 80% of all video on the web uses the Flash player. Over time Flash has become an industry standard component of the browser. Since it has continued to improve in efficiency and power one can hardly say that it is aging badly. To say Flash is obsolete is silly, rather a system is obsolete if it cannot run Flash (sorry Steve).
“Flash is closed source, and proprietary, thus evil”
This is not entirely true any longer. While Adobe does work hard on improving and producing a quality Flash development environment (and now Air and Flex as well) they are not the only company that has released SWF creation tools. There are dozens of alternatives to Adobe’s suite, but they have never been quite as good as the real thing, and as such do not get much press. In 2008 Adobe spearheaded the Open Screen Project which hopes to provide a consistent application interface across all devices, and this includes open specifications for the Flash platform. As it is there are tools to allow you to decompress and decompile existing Flash. Just like Javascript, Flash code can only be obfuscated, not fully encrypted or compiled.
“Flash is insecure, and can get me hacked”
Flash is only as secure as the web site that it is on, and the browser that contains it. There have been insecurities in years past, but Adobe has been quick to seal up exploitation with their frequent releases. Flash can be used to inject code into websites that allow Flash embedding, but this can be very easily stopped cold with proper code on the part of the web-developer. Uploaded Flash should be treated as Javascript, since it can in some cases have access to the script on the page if improperly embedded. Often such issues can be avoided as easily as hosting uploaded flash on a sub-domain. Often file up-loaders do not check the format of images when they are uploaded, and as such a swf can be uploaded with a png extension and thereby allow a flash to obtain cookie/session data. All these security issues are easy to avoid, but often poor web programming can allow all sorts of code injection exploits and Flash is just one of the methods of exploiting poor code. These insecurity issues are not the fault of Adobe or the Flash platform.
“Flash is slow, poorly coded (crashes my Mac!)”
It is true that the Flash plugin for the Mac has been much less efficient than the Flash plugin for PC, but this is not nearly as noticeable as it has been in the past. Sometimes a PC-using developer will assume that a certain Flash will run just as smoothly on other platforms as it does on his own, and the end result is that users of slower machines (or Macs) see lag, or have their browser appear to hang when viewing inadequately optimized Flash. Adobe would do well to put more effort into their Mac plugins, but the vehemency from Mac users is not entirely Adobe’s fault either. As I mentioned; this is often the result of bad coding or animating methods on the part of the Flash developer. It is very easy to make a Flash that consumes tons of browser resources and lags out slower systems, or even crashes the Flash plugin. However, it is just as easy to make a web-page that does the same, through complex CSS, poorly coded HTML, heavy Javascript or even (gasp) bad use of HTML5! Only it is less often noticed when these other things are to blame since they are directly rendered by your browser, and not encapsulated by a plugin. On the contrary, Flash is an easy scapegoat because it is often the sole plugin.
Even if the Flash plugin were made by the gods of Olympus, it would still be blamed for the actions of sloppy Flash developers. Also, since some browsers (Safari) crash whenever a Flash plugin crashes, it’s easy for the owner of said browser (Steve Jobs) to blame it on Adobe. In those cases the fault lies not only on the developer of the Flash but also the developer of the browser itself (Apple). Chrome never crashes because of a plugin crash. Google has proven that a plugin can fail without causing the browser or system to stall or crash, so why can’t other browsers stay running when a plugin crashes? I’m pointing that finger right back at you Steve.
“HTML5 is the natural replacement for Flash”
In the development world, it’s easy to assume that newer is better. In most cases this is true, and certainly HTML5 is going to be a big part of the web in the future. The important word there being “future”. The question is what exact role will HTML5 play in fulfilling our web media needs, and how quickly will it evolve to a point where it can be trusted? Right now, it is difficult to compare HTML5 to Flash, because they are almost entirely different. It’s like comparing Microsoft Word to Photoshop.
The biggest obstacle for HTML5 is that it only has a tiny sliver of the market share (somewhere under 30%), and it will likely take 5 to 10 more years for it to get anywhere near Flash’s penetration level. Hopefully by that time HTML5 will be just as flexible and effective as Flash. We can only hope that soon HTML5 will have numerous dynamic frameworks to choose from that allow all of Flash’s features to be exceeded, but one can only speculate at this point.
Since HTML5 standardization is not being pushed by a single paternal corporation it is unlikely that it will have any kind of easy-to-use development environment like what Adobe currently has for Flash. This means that HTML5 will remain more of a basic alternative to Flex then Flash for now. As a result HTML5 will soon be able to fill most of the needs for Flash, but it will take far more time for it to be able to fill the more advanced and creative needs that Flash currently fills such as animation or game design. Development time for HTML5 is also a hurdle, since Flash has become second nature for developers like myself. HTML5 in all it’s glory is simply not ready to be relied upon as a primary work-hourse, even though I am anxious for a time when it will be a true alternative.
So far the only major proponents for HTML5 against Flash have been the few Mac wielding journalists out there who would likely not hate Adobe near as much if they abandoned Safari for a better browser, or if they switched to a cheaper and more powerful PC… Uh oh, did I say that out loud?
Who wins?
Ultimately, pretty much everyone (including myself) is hoping that HTML5 will eventually be the newest big hero of media on the web. Unfortunately things are way too early to tell, and HTML5 still has a long way to go. If we must rely on either Flash or HTML5, then it must be Flash for the time being simply because HTML5 has no market share. Perhaps when I revisit this blog in 5 years the game will have changed, but for now Flash is the heavyweight champion of media on the web, and HTML5 is…
unfortunately, still in diapers.
unfortunately, still in diapers.
Комментариев нет:
Отправить комментарий