Posts made in April, 2010

Adobe vs. Apple vs. Flash vs. iPad vs. iPhone

Someone has it backwards—it is HTML5, CSS, JavaScript, and H.264 (all supported by the iPhone and iPad) that are open and standard, while Adobe’s Flash is closed and proprietary.

Found on Gizmodo, says it with feeling, the way I’ve been feeling about it…

Why is Trudy right?

Until you can load FLASH in a web browser like this, for example:

(open carrot) fla src=”sample_flash.swf” attribute=”auto”…. (close carrot)

WITHOUT the need for a separate browser plugin…

WITHOUT a development cycle separate from all web browsers…

WITHOUT performance requirements separate from the browser itself…

WITHOUT incompatibilities across different hardware, even when the browser software is the same…

WITHOUT the plugin itself being of a closed an proprietary nature…

WITHOUT every browser vendor in existence beholden to the motivation of a single company to develop and optimize it’s source in hopes that a given browser may have a chance of running this plugin in a way that does not break web pages and does not egregiously consume computing resources thereby compromising the overall performance of said web browser…

Until, then, FLASH will remain nothing more than *another program* installed on a computer or mobile device, running in parallel with a browser, separately interpreting and rendering code to be *embedded* within the browser contents.

These are the facts. Now, it doesn’t mean that web developers and designers do not enjoy the creative freedom afforded to them by Adobe Flash-based vector graphics design and audio/video media creation.

Adobe should understand, though, that it’s multimedia solution is not unlike, for example, MS developing a PowerPoint browser plugin for Internet Explorer.

Macromedia developed flash and Adobe bought it – they didn’t stake their business on it. Heck, before flash-video, embedded Flash was mainly a tool for designer presentations, animated buttons and ads.

Adobe has tried very hard to make people think that “swf” and “flv” are web standards like “img” and “href” – they certainly are not. There are no standard cross-platform, cross-browser hooks directly into Flash APIs, beyond the use of javascript variable settings when embedding swf wrappers, which are used to call up flv files and depend on XML files which may or may not be dynamically updated by the embed script.

Layers upon layers of embedding and abstraction – who could EVER expact Flash to be resource friendly.

The truth is that Adobe has to re-invent the wheel every time a new browser comes out or a major upgrade is released or some new hardware platform is developed. Bugs and security vulnerabilities have to be separately maintained. Performance issues have to constantly be monitored and optimized as both it’s host browsers and operating systems get upgraded and evolve.

Let’s take for example the most ubiquitous of Flash implementations – video:

What wrapper file will you use?
-The swf file defines your video “window”. XML file(s) will define parameters.
-Actionscript in the swf wrapper files will hook into javacript variable settings and XML defenitions (or rather the other way around).
-Don’t forget video dimensions!

How will you embed that wrapper file?
-You’ll have to use javascript to call up the swf.
-You need to makes sure you set startup variables correctly for viewing the flv through the swf

Is the browser compatible?
-Chrome, Firefox, IE6,7,8,9, Opera, etc. all need compatible plugins

HTML layout?
-Oooh, make sure you set proper z-indexes
-Make sure you’re not accidentally covering modal windows with that Flash.
-Again, don’t forget video dimensions!
-Also, don’t forget to account for the player tool bar and frame.

Now, how do you embed video with HTML5?

Ex:

(open carrot) source src=”__VIDEO__.MP4″ type=”video/mp4″ (close carrot)

(slight over-simplification, since above is iPhone/iPad compatible. Webkit, whatever…)

Flash is not a true web standarded – it is an embeddable application. It is the aforementioned pitfalls that Apple is trying to avoid by not embracing Flash compatibility.

Do I wish, for example, that the iPad supported Flash? Sure, just like I want all my computers to open JPEG’s, Word Docs, Excel Spreadsheets, check email, run PowerPoints, etc. etc.

Macromedia developed a great web-compatible multi-media tool. Adobe, you bought it and had your chance to open it up and allow it’s use as a browser-agnostic audio & vector-graphic HTML standard, while still retaining the rights to the Flash development platform. You got greedy, lethargic and stubborn. Check back on this post in a couple years and it will read as either “Good Luck” or “Good Riddance” – only time will tell. Reply

Edited by Stevox at 04/21/10 9:22 PM
I have painfully experienced web developers screaming, crying, and begging for help when trying to add some “simple” flash tool to their web site. It so often works only well with a given OS, browser, browser version, and hardware. How, is that a “standard”? Flash is ubiquitous but that doesn’t mean it works, or works well even most of the time.
read more