The Flash world that the standards people do not see
Unless you follow me on twitter (@flashfreaker), you’re not privy to my growing concern with the perception of the Adobe Flash runtime by many standards-based members of the web community. With yet another move by Apple to be the guardians of the “open web” with its announcement of the iPad yesterday, there seems to be more fuel for the anti-Flash camp and a call to action for those who use Flash or any other 3rd party plug-in to voice our opinions. Most of this anti-Flash chatter relegates Flash to an under-performing video player and stresses that the HTML5 <video> tag takes care of all video needs for the Internet. Ergo, the world wide web no longer needs Flash so let’s just get rid of Flash content all together. I’ll start my defense of Flash by doing a less-than-comprehensive review of where Flash content is employed on the Internet:
- Banner ads: Most advertising on the web has relied on the small file size (well, hopefully it’s kept small) of Flash SWF files to deploy ad graphics, including micro sites for product demos. With chatter I’m seeing on twitter, I’m getting the impression that many people believe web ads will just “go away” and good riddance. While I’m not a fan of annoying banner ads (and most of them are, indeed, obnoxious and annoying), I’ll take the lesser of all evils and suffer a small Flash SWF eating up a minor portion of my bandwidth than some other multimedia format. Future without Flash prediction? Banner ads could turn into video ads that are much larger in file size and data transfer than the equivalent animation/experience in a Flash SWF. Poetic justice, perhaps, for the already crippled AT&T 3G network that the iPhone uses for its open web experiences.
- Web applications for e-business: Many businesses rely on Flash technology to deploy rich internet applications (RIAs). While a portion of these applications could be built with current HTML/JavaScript/CSS capabilities, many businesses prefer to use SWF because now, more than ever, the programming required for the front end SWF file (ActionScript 3.0) can be utilized across multiple platforms, from the web to the desktop (Adobe AIR) to mobile devices–Flash Player 10.1 is finally gaining ground this year on mobile devices! Businesses also want to protect their front-end intellectual property by using the SWF file format, thereby preventing exposure of their user-interface capabilities via HTML/JavaScript/CSS. It’s true that SWF files can be decompiled, but from a legal standpoint, if company B “steals” code from company A’s SWF content, it’s pretty clear they took extra steps to access the code and extract it. Perhaps more importantly, let’s look at the software development process in general. Web applications are not web pages–they’re apps in the browser. So, they’re written, usually, by experienced computer programmers who need grown up programming languages. If you’re not aware, Flash Player’s scripting language, ActionScript, has grown up over its 10+ years of life, and more “traditional” software developers continue to embrace Flash technology with the growth of Adobe’s open source Flex framework and its free compiler. You don’t even have to give Adobe any money to make a web application. (I prefer to use their tools because it’s usually much less hassle, which means less $$$ my clients have to spend to get something built quickly and reliably.) JavaScript has to play a lot of catch up to reach the capabilities of ActionScript 3.0. Also, many businesses want their applications to run across the web and on thin clients. I’ve worked on two projects for companies targeting gym chains, and they can take their application from a Linux client running nothing but the OS and AIR with cheap hardware to the “normal web” without a complete reinvestment in a new solution. As more and more devices run multimedia content, from cars to boats to kitchen appliances, reuse of existing IP is critical. Future without Flash prediction? Growth of killer applications running on a wide range of devices will stagnate, as more money will be required to deploy a solution across multiple technologies.
- Customized video experiences: Video is not just a click to play experience for many sites on the web. Sure, YouTube.com is all about going to a site for a quick fix of entertainment by sitting back and watching a video. However, many sites that produce e-learning solutions, for example, might need alpha-channel videos of instructors placed seamlessly on top of other interactive content. They might need an interactive live video chat between instructors and students, and have the web app talk to a native desktop app (this is possible with Flash Player in the browser and AIR applications on the desktop). There’s also the need for digital rights management (DRM) solutions for web video content. AFAIK, HTML5’s <video> tag’s only “protection” of video assets would be adaptive HTTP streaming technology, but I don’t think we’ll see ABC.com or NBC.com use the <video> tag anytime soon for the most recent episodes of popular shows. Future without Flash? Forget about shared real-time video experiences. Less video content on the web from big players in the industry. Apple’s play? More video purchased via iTunes by the majority of users. Apple controls how and when you access media content, period.
- Games/entertainment sites: I’m not an online gamer nor does my child use the web yet, but most web entertainment sites use Flash content to drive their experiences to their audiences. Future without Flash? Apple is the “game nazi” (pun on the soup nazi from Seinfeld). No games for you! — unless you get them on the app store.
Since I’m in rant mode, let me just make some other points regarding Flash. I don’t have exact tweets that I’m reacting to, but these points are my response to what I’m reading on the social networks. I believe that:
- Flash capabilities fill a very real need for the e-business community. Their customers would love to be able to have a consistent feature-by-feature experience with any e-business product, from desktop to mobile to car to airplane to whatever.
- HTML “standards based” production should be used for most content on the web. Flash should serve very specific purposes.
- Adobe is hardly a monster that does whatever it wants with the Flash Player. With my 10+ years of experience with the Flash runtime, I’d say 99% of the features Adobe adds to the Flash Player are driven by end users of their products. I’m not a spokesperson for Adobe, but I’d say that Adobe wants to enable people to create engaging content on the web.
- There is no authoring replacement for Flash content. Where are Apple’s tools to create awesome HTML5 content that’s just as good if not better than Flash? QuickTime Player has some amazing capabilities for multimedia experiences beyond just watching video, but where are the tools to author for their player? And that’s still not “standards” based, QuickTime Player. Where are the tools to create compelling content that work across all browsers without having to cater to multiple flavors of JavaScript, CSS, and DOMs?
- H.264 is not part of the “open web”. H.264 requires licensing fees, you fools. Yes, let’s say you make a web site for a realtor who charges subscription fees for wannabe realtors who sign up for a monthly subscription fee to watch instructional videos encoded with H.264. Guess who’s gonna pay fees for H.264 video deployed on the site? Your client, the realtor. Ok, they have to have a lot of subscribers before they have to pay, but they want to have a lot of subscribers, right? You don’t want to impose a limit on the number of subscribers just to avoid licensing fees, do you? Sure, the client might go unnoticed by the MPEG LA consortium, but you wouldn’t want to knowingly use a video codec without knowing your potential licensing obligations, would you? Conversely, the “real” open video codec, Theora, is license free, but it’s not the HTML <video> standard that recent beta releases of YouTube.com and Vimeo.com are using. The Flash Video formats by Adobe (FLV files) are also license free for deployment. Only encoding companies pay a license fee for FLV-based codecs, not the end user. And another thing: MPEG LA’s current licensing terms are expiring this year. That means license fees could increase and/or encompass more usage scenarios than the current ones. You really want to place your video future in that? And you then complain about Flash? I don’t get it. For the record, I love H.264 video, from an encoding and quality point of view. But the licensing requirements? Scary. Apple doesn’t care about that, because they pay their licensing fees for purchases made from iTunes. But the rest of us? Well, we could distribute all of our money-making video content through iTunes, and not worry about it. But don’t believe you can just distribute your H.264 video online without potential repercussions.
- Flash Player should not necessarily be used for all engaging browser-based content. I do think a lot of Flash content would probably be better served in an HTML format. Flash Player should be an option while other technologies improve and become _real_ standards that all browsers implement.
- Flash Player has performance issues on the Mac. Apple and Adobe have to come together to make their technologies work better. I don’t think this will happen any time soon, and the Mac platform (which I use for my work as a web consultant and developer) will have to suffer in the meantime.
- Video experiences cannot be replaced now with HTML5 and the <video> tag. Most users haven’t upgraded their browsers to HTML5 compliant versions, while the Flash Player reaches 90% adoption in about 10 months from a new release. (This adoption rate would be just as fast with or without YouTube–Flash Player adoption was almost as fast before YouTube.com was ever invented.) Sure, we could make steps for a lot of video content to _try_ the <video> tag first, and then fall back on other technologies, but this approach won’t satisfy the business requirements of many projects that content creators want to make a reality on the web–simply because they’re not just “play to click” video experiences.
After all I have said here, I’m not optimistic about Apple adopting the Flash runtime this year or next. They’ll have to see more customers complaining about the lack of accessibility to content they can watch or use on their desktop browser. But maybe Apple will put up with it while they work on some new authoring technology that will enable Objective-C to run in the browser–deploy your app in a browser! Or maybe Apple’s working on QuickTime authoring programs to enable more interactive QuickTime experiences to replace Flash and other plug-in driven content. One of the only QuickTime authoring programs left is LiveStage. I want to enable my clients, especially in these trying economic times, to more easily and cheaply deploy rich content, not spend more time developing separate technologies to accomplish the same ends. Some would argue that the solution would then be to just build everything in HTML5, but it’s HTML5 that has to prove it can do it–Flash already has.
January 28th, 2010 at 11:36 am
[…] The Flash world that the standards people do not see [Robert Reinhardt] […]
January 28th, 2010 at 12:33 pm
Well put, Robert!
And I totally agree with Doc Searle’s comment regarding Apple’s vertical silo “There’s more reason to be afraid of heights than of widths.”
http://bit.ly/bkDX2Q
January 28th, 2010 at 12:53 pm
Your comment on elearning is dead on. I cringe when i see a course built with an html authoring tool-ooooh look bullet lists and animated gifs. If they need animation or sophisticated simulations surprise the authoring app has you import a swf. Most good elearning is done in flash as you can engage with your students nd not worry about the browser they have installed. If i depended on html i’d be stuck with what IE 6 would allow.
I’ve commented on forums all over the place to the standardvistas to show me an ide that builds everything in html/js/svg/etc in a visual way like the flash ide (or flash builder and catalyst). Make my development easier and cheaper and I’m there. They have not. Aptana is about the best ide I have seen and there is no visual timline or any of the benefits of the flash ide asset management. That’s not mentioning what the bytearray class lets you do-html has nothing close to some of actionscripts powerful classes.
Simply put, actionscript and swf lead to the future and then the standards codifiy what flash has done so browsers can copy adobe 4 years later. Standards never lead, they clean up afterwards.
January 28th, 2010 at 1:04 pm
Let me be upfront… I am an iPhone developer by trade.
Now with my obvious bias in the open, I will say that a QuickTime or Objective-C runtime for the web would be as bad, in my mind, as I consider Flash. I don’t want Apple to control the web experience either. I would complain about it just as much. Obviously I don’t want Silverlight, the new Java based thing Sun put together, or any other runtimes for “rich web content”. That is my idealistic view.
Being more pragmatic about it, you are absolutely right about Flash actually solving a number real needs and it does a pretty good job at solving those needs. However, I would be a much bigger fan of Flash if they would do two things: Open source the browser plugins and contributed to creating a standard for what defines a flash swf. I doubt this will ever happen because that enables third parties to come in and start creating real competitors to the Flash authoring tools, which are Adobes bread and butter with Flash. However, they have such a huge lead on capabilities that, much like Photoshop, I find it hard to believe they would lose much if any market share. They would probably just end up with less piracy of Flash tools.
January 28th, 2010 at 3:41 pm
Nice argumentation and here are my points:
Banner ads:
Yes, I like flash ads: I’ve installed ClickToFlash for some time now which blocks flash until you click on it - frees my screen of annoying adds, Too bad, over time more and more ads aren’t using flash any more and fill my screen again. Agree with you, but isn’t this a really crude argument pro flash!? Ads should stay in the background. Animated GIFs would be more than enough evil.
Web applications for e-business/Games/entertainment sites:
For developers that still want to stick with flash Adobe will provide an “iPhone exporter” quite soon, that allows to “convert” an flash-application into an iPhone application. Support of the bigger iPad will follow. So flash apps will turn into iPhone apps.
Customized video experiences:
I’m really puzzled: HTML once had been a way to just share hyper-linked information. For specialized applications we once had specialized (desktop) applications. Why the hell has everything now to run inside a browser that more and more tries to be an virtual computer on it’s own? Write an application! And if you don’t like Objective-C, with “iPhone exporter” you will be able to do it in flash. Flash is not an internet standard, it’s a parasite infecting a browser.
January 28th, 2010 at 4:04 pm
@Aaron
The main advantage flash has in my mind right now is that popularity - well over 90% of people who browse the web have flash installed - and mostly the latest version. When you use flash as the technology to display your content you can be fairly certain that whoever is viewing it, no matter what browser/operating system/device their viewing it on it will look and feel pretty much the same.
If they made flash open source and new versions of the runtime were released, it would no longer be ubiquitous which is its main advantage in my opinion.
I would rather flash stays as is.
January 29th, 2010 at 4:14 am
I do not understand why you want the player to be open source. Do you plan on start working on it? The SWF file format IS a standard. I’m not 100% sure if it applies to the “Open Source” license (it says it is available as “open specification”), but you can download the specifications, for free, from Adobe’s website (http://www.adobe.com/devnet/swf/)
January 29th, 2010 at 10:16 am
@Marcelo -
I think open sourcing the flash player is one thing that Apple would want so they can control the build process internally.
It also puzzles me that Adobe doesn’t look into this more. I’ve heard the company line that they are worried about player fragmentation, but by opening the SWF spec and not opening the player, seems like they are doing that anyhow. There are more than a few Flash player alternatives out there already. Lots are in the gaming and embedded world but also on Linux. In my opinion, Adobe would be better served by opening the flash player, and providing a reference player and source. I’m not saying this as an opensource fanboy (cause I really don’t care that much), but basing it on my observations of the current player ecosystem, and also what it would probably take to get Apple to want Flash on their iPhone OS.
January 29th, 2010 at 8:17 pm
Apple might want Flash to be open sourced so they have better control of it. But then they are hardly in a position to ask given their closed stance on, well, everything.
Adobe want to control Flash in the same way Apple want to control iTunes, and Sun/Oracle want to control Java. It is where their revenue comes from, or is enabled by (i.e. iTunes though a loss leader sells iPhones, iPods, etc.).
January 30th, 2010 at 5:52 am
And why would Apple want to control that? And if so, what stop them to ask to open source Photoshop, Indesign, etc, etc?
Most of the open source flash players are not near 50% completed in features. And as you said, there are people already using them. If Adobe opens the flash player codebase, what would stop companies to start distributing modified versions of the player with additional features they think they need for their specifics needs? And then, who’s to blame when some website/application/whatever does not work in your current OS/Browser/Non-Adobe plugin combination?
You know (or you should) that people will blame flash. Now you can do it, and with a reason (Adobe controls the player, so if the player is flawed, it’s Adobe’s fault - or the browser vendor). Open sourcing the player will only add another layer of “blaminess” to Adobe.
If I were Adobe, I would prefer people to blame me for what I did (or did not). Not for what other people did with my work…
January 30th, 2010 at 5:38 pm
As a Flash producer, I couldn’t agree with you more on your points. I just finished an extensive eLearning project using a virtual instructor (alpha channel video.). The instructor was able to interact with the content in an engaging way, and using video cuepoints, making animation changes is as easy as updating some code in an XML file. Flash is lightweight, flexible and powerful. I am perplexed about the bad press it is getting.
January 30th, 2010 at 5:49 pm
1. Open Source the Flash plugin. The gripe that folks have with Adobe’s proprietary plugin is that the experience on the Mac is dreadfully bad, and there’s absolutely nothing you can do about it except for turning it off. It really doesn’t matter that the SWF format is open, if Adobe can’t make a non-crappy browser plugin for the Mac.
If Apple takes up the reigns, improves on the plugin and includes it on the iPhone and iPad, everybody wins. Apple is a hardware company, and they LOVE to control the user experience. They want to sell more and more devices. You rarely see Jobs stand in front of a room and talk about how many versions of the last OS they sold, they talk about how many new Mac’s and iPhone’s. Right now, experience is telling anybody awake enough to pay attention, that Flash is unworkable on a mobile device where you care about the battery. I’ve heard that Adobe has complained they’ve been trying to work with Apple to make a player that works for the iPhone. I call bullshit. They’ve had 3 years to do it, provide a demo that shows Flash working awesome in an iPhone-based application, distribute it, and show Apple with egg on their face.
It hasn’t happened.
2. Solve the black box problem that exists with Flash apps. I love the ideas in Flex, OpenLaszlo, and Flash, and a well written app tends to work pretty well. Flash is an SEO nightmare, and I would guess that it is also an accessibility nightmare.
What experience and anyone willing to pay attention is telling us, is the reason Adobe won’t open things up, is they’re hoping to eek out a few more years before newer standards make them a relic ala RealMedia. Maybe the source code behind the Flash plugin is so dreadfully bad that open sourcing it will reveal things that Adobe would rather stay hidden. Maybe there’s IP in there that just can’t be OSS’d.
I won’t sound the death knell for Flash just yet, but 75 million people with iPhones haven’t cried too badly about it, that’s got to account for something.
January 30th, 2010 at 6:16 pm
Good post.
However, to say flash has performance issues on the Mac is a huge understatement imho. Flash is the only application I use on my Mac that causes me to have to reboot regularly. It also regularly pushes my Macbook Air to over 80% CPU utilization. Flash video even appears to cause the fans on my Mabook to turn on regularly.
I’m not saying Adobe is to be blame. I’m sure Apple could help more. But in any case Flash on the Mac (as well as its brethren Adobe Air) is a complete nightmare.
Bill
January 30th, 2010 at 9:17 pm
Well.. You did get me to follow you on twitter, thats for sure.
Today at least, Flash is a standard, period.
Not for the W3C(”Government of the web”) maybe, but for the users it is. And as a designer and forthcoming developer, there is only one group of “internet politicians” I answer to, and thats the users. The so called open web will never be really open as long as theres money involved, which there always will be… “open” is a marketing term like everything else..
February 16th, 2010 at 2:19 pm
The Value of Open Standards
…or why HTML 5 will fail as replacement for Flash (at least for the next years).
But first let me make clear that I am not a fan of closed standards and closed source. I love Open Source and I use Open Source software wherever possible. However someti
March 10th, 2010 at 5:23 pm
Hey Rob
Great post. As a person who’s primary job is doing RIA’s, and has made a great living doing hard core actionscript, I work right along side some of the best javascript+HTML etc developers, as well have done some of that I can contrast.
When it comes to Web Standards…what standards? The point of a standard is to make life easier. I originally got into flash because of losing my sanity with cross browser compatibility back in 2000. Instead of developing features, I was spending most time in the rubicks cube hell trying to get every browser to play nicely on the same code. Fast forward 10 years later, tnstead of getting better it seems to be getting worse, now there are many mobile apps and people choosing what subsets they want to implement, like Apple who break the momentum of the web. Most development projects still burn 30% of time dealing with cross browser compatibility, issues and that’s not even attemping to deal with mobile interfaces. Despite all the open standards and committed teams, browser releases can be still be have stinkers (FireFox 3.6).
The web is about extending knowledge, and letting users customize their experiences. the plugin nature of the browsers is at the core of this. This plugable architecture to me has been in use so long it feels like a standard.
Mac and Flash can suck but it’s here it’s naive to think that opening the standard will make huge advances. Flash is not built right on top of bare metal, like any other app, it relies upon other pacakages to do it’s job it has no control over in a largely one-size-must-fit-all. There is a whole stack of layers to try and push performance, most are not under Adobe’s control. Like multitouch on mac in a browser isn’t there, it’s because of missing hooks in the browser OS, they like any vendor call up who they can but must wait like every other feature.
You touched on one of the biggest areas. Content is not created in a vacuum, most any rich experience project requires a team with specialized tools. When it comes to content creation, while other tools do exist, most content production pipelines have standardized on Photoshop, Illustrator, AfterFx, Fireworks and Flash. People spend their entire week in just one subset of these very complex tools. There is a huge body of training and culture surrouding these tools, and I believe that Adobe does a good job of understanding the very differnet temperments of those and respecting that they are who push the edge. Contrast this to Apple which dictates at it’s whim what can go in to the store a. I’m blown away how nazi like Apple is and yet how much people love and pay them for being so.
Another issue from an IXD perspective. There is not yet a switch to go from I’m working in a browser, to I’m working in an appplication. Thus contextual behavior, right clicks, drag and drop, copy and paste….the basics of the web as a content creation all end up degrading to semi-proprietary browser hooks. Flash gives tighter control which is why the types of experiences that can be created are so much more engaging.
I generally am okay with a phone not running flash, they frequently can’t run much of the more advanced web content anyway, especially given the screen size, CPU limitation. This is why I don’t care so much about the iphone, as it’s largely casual use. Tablets though start to be perceived as a ‘real’ machine, thus my suspicion is that people will be less tolerant of why stuff doesn’t work.
May 2nd, 2010 at 12:58 pm
I’m no fan of Adobe but I think some clarity of thinking on Flash and particularly some critical appraisal of the bogus, self-serving distortions currently being put out by Apple and its shills, is much needed.
I’m ALL for solid HTML5 standards — and I’m ready to start using HTML5 in all my development as soon as its a standard that is implemented faithfully across all browsers.
Sadly, that golden day is a LONG way away… despite the self-serving fantasies put out by Steve Jobs in trying to explain his two front war on Adobe and Google.