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.




