In this post I try to paint a bigger picture on the sneaky attack directed by major industry players to Adobe. Namely Apple, Google and Microsoft. There have been a number of seemingly unrelated news that will affect the status of Flash player as the prevalent media platform. Reasons for the upcoming struggle are varied but there are no bits of the overall Flash media platform left untargeted.
I will then get together some of the latest news and try to get the “Wider Picture”.
So, what makes an Internet media player an Internet Media Player Platform then?
In other words, a successful platform needs to establish itself on the Internet and WWW and be useful to distribute and enjoy multimedia content.
Nowadays, the most prevalent player is of course, Flash. But it did not used to be that way. Previously Windows Media Player was quite prevalent, fighting a war with QuickTime and Real Player, the later now pretty much being a thing of the past. Rhapsody notwithstanding.
But on what is Flash standing, really? In fact, it is standing on the pillars any other media playing architecture needs.
These pillars can be listed as:
– An encoder, capable of live encoding
– A physical media container
– Support for at least one audio and video codec
– A live transmission system protocol
– For on-demand transmission we can assume HTTP is used for sanity
– A player runtime that can be distributed
– A container “plugin” or system to display the runtime on Web pages or on native apps
– Some kind of DRM system
– And finally, an established user base (or the whole thing is moot)
In the case of Adobe Flash, we can examine them:
– Encoder: check, Flash Media Encoder and others
– Physical format: .flv container format
– Video codec: On2 VP6 and lately H.264
Audio codec: MP3 and lately HE-AAC
– Live transmission: RTMP
– Player Runtime: the Flash runtime itself, capable of running ActionScript-generated bytecode
– Container: Flash Player Plugin
– DRM: indeed
– Established user base: near-ubiquity
All dots connect -and very well- in the case of Flash. In fact, some argue, myself included that lately Flash is just a glorified media player. There are a number of reasons of why this might be. My pet one is the following:
Take into consideration the enormous complexity of HTML+JS based Web App development, and that is the case even if you factor in the seemingly endless list of limitations and constraints imposed by the system. Let’s name some: poor support for local data storage, session-less basic protocol, slow character-based at that, massive rendering and composition constraints, limited animation support and a big etc. I do not need to continue.
Yeah, these are massive constraints. Bad as they are, they actually force on developers a set of paradigms that can be bent but not broken. A working set of variables that can be changed but not drastically. Constraints are sometimes design decisions, in fact, they are actually features if read from “outside the box”: rendering speed, readable, simple, reliable. Ah, the beauty of good design.
Flash, on the other hand, imposes far less of these constraints. Paradoxically, this enables hobbyist wannabe User Interface goons to go ahead and design fantastic-looking apps that look great but can’t be used. The demos look great and apps are demoed, sold, developed, deployed, suffered and quietly replaced by a faster, more serviceable JS-enabled app. I have seen this happening quite a few times myself. There you go. Read the lack of constraints from “outside the box” and you can get: slow, opaque, complex, crash-prone. Obviously if the UI goons are still in charge the simpler JS-enabled application will still be awful, but they can do less damage. But I digress.
Regardless of its shortcomings, Flash is today quite prevalent for video, “glorified media player” or not.
I would bet Google is not that happy that its YouTube video platform is Flash-based. I mean, one of your most strategic company assets relies completely on an external -and potentially competing- company???
This is okay for small fry, value-resellers and 99% of the companies out there, lest NIH syndrome bring your company down. So please don’t go out and start building your own microprocessors yet. One does not need to drink the OSS kool-aid to go on a limb and re-invent the wheel. Just keep an eye on your options, wink, wink. Just like any sane company should do.
But Google? You gotta be kidding. Hello?!? I am the ghost of the past and my name is WordPerfect. Gotcha.
Google excels and out of the box thinking, so eyes are kept at options wide open. Big time. There can be of course other, less obvious strategic concerns such as having viable options to provide media playback capabilities for Chrome-OS enabled devices.
Take another outta-box thinker, Apple. They surely are not happy about the Flash situation either. And well, they also seem to know what they are doing.
One obvious strategic concern is iPhone media playback both in and outside Web pages. Having Flash on the iPhone Safari browser would mean the Flash runtime ubiquity stretching even farther, leveling the media playback field even further. On the other hand, in the case of the iPhone, the video playback could be seen as collateral damage. The iPhone input capabilities paired to its powerful processing capabilities are in fact a good environment to deploy Flash on. I can see the minds of the developers: “great, we develop for the iPhone in the tried and true Adobe tool suite and we can deploy on Symbian, Android and WinMo in one go”. Wham! Flood of lowest-common denominator app, designed for wide market-share and running on a old, embedded-unfriendly runtime controlled by a third agent? You have to be kidding me again. Flash on the iPhone? It will not happen.
In the case of the iPhone, Apple knew they would shoot past the red waters of the pre-iPhone smartphone era into a blue sky. They also know that sky will darken, eventually. They have pressed their advantage in this emergent market. To paraphrase a former boss of mine: “Mobile will become THE platform”.
Apple is also concerned in the video playback in the desktop browser arena, even though that is perhaps less threatening to its plans. Ironically, in the case of Snow Leopard and its 64-bit Safari browser, Flash is running on a separate process so if you check it’s CPU usage it makes the plugin look really bad.
Microsoft is the uncle that has blown his family’s rich inheritance from a distant relative and then set fire to the barn. Windows Media used to be the leader video platform in the Web. They were readying themselves to obliterate MP3 from the market when YouTube struck with full force, playing Flash strengths: ubiquitous, multiplatform, hassle-free. I haven’t bothered to install Windows Media Player or it’s derivatives and I think I never will. I haven’t seen a .wma file in months and I don’t bother with the odd website that embeds WM, good riddance.
Pretty much everything in the consumer space seems to be a threat to MS lately: mobile, gaming, Web entertainment, set-top boxes, portable audio and a long et-cetera. Web and Internet playback are of course capital to its continued dominance of the consumer desktop, the real platform it stands on for its enterprise cas-cows. Distracted by Apple, Sony and the like, it forgot YouTube and Flash. Oh, and the official rival Google went ahead and bought them.
The battle lines are moving, can you spot them? To make them more obvious, we could do the mental exercise of going through the pillars that a video consumer architecture make and questioning what the aforementioned companies are doing about it:
- An encoder, capable of live encoding
In this case, pretty much all the companies have their own solution, plus the usual indies. Well, Google is not but I would not put it past them to be working on it. And there are always the OSS solutions, provided any licensing issues are cleared (hint, hint). Google thrives in the OSS environment and is quite well used in taking advantage of it -and of course contributing in turn-.
Although this is an important piece, it is far less visible to the consumer than any other pillars.
- A physical media container
Viable, established alternatives exist: the .MP4 physical container format, WMV to a lesser extent and the MPEG Transport Stream which in my opinion still has a lot of potential. All of them are well understood, well supported and most if not all are royalty-free. Both Apple and Microsoft are doing their best to keep their engines polished to support them. Google is again the elephant in the room.
IP on the .FLV physical container format is what Flash has on the plate to support this pillar.
- Support for at least one audio and video codec
This is where things get more interesting. The MPEG-4 Advanced Video Codec star, H.264 is gaining traction in the mobile arena thanks to the iPhone and other high-end phones. Apple is of course pushing hard on that and MPEG-4 on the iPhone will remain a point of resistance. Microsoft, as usual is pushing Windows Media as an alternative, specially with the Zune and WinMO, but it’s not looking that good.
But, hang on! Flash plays H.264 and AAC just perfectly thank you very much! The most likely reason for Adobe to adopt the codecs (and surely pay a steep fee to MPEG-LA) is that On2VP6 is showing it’s age and H.264 is really competitive. This means that big-profile clients like, erm, Google’s YouTube can optimise their video better and pay far less bandwidth costs (as they are already doing). Specially if you think big traffic like YouTube “big”. You can bet the small fry are also flocking to AVC Flash playback to save on costs. Vimeo anyone?
The blazing MPEG-4 codecs are like a double-edged sword to Adobe though. By adopting them Flash goes from a “glorified video player” to a “glorified MPEG-4 player”. The sharp edges of player interoperability are hidden within the package.
But, hang on! Google bought On2 Technologies! Uh-oh. Adobe doesn’t own the newest codecs and the old ones either. It is quite likely that the original deal between On2 and Adobe is long lived and contains many a safety blanket with a long period of exclusivity thrown in. Adobe have surely gone through the contracts inch by inch. Expiration clauses, opt-outs, etc.
Google made quite a big strategic acquisition here. Imagine, for a moment only, that they need a royalty-free codec to provide rich media playback for the Chrome OS. And imagine the exclusivity clause on the contract with Adobe expires, say, on the day of the Chrome OS release. And just go a little bit further: open up the IP of XXX with a suitable open license… There is more after the break.
But wait yet again! Isn’t VP6 old and not so competitive?!? Wouldn’t it take an army of extremely smart, dedicated and expensive researchers a lot of effort to improve it? Well, Google happens to have dozens of brilliant PhD-holding scientists who can also code that would be only too happy to take on such a challenge.
- A live transmission system protocol
We have mms:// languishing and rtsp:// not 100% successful, specially in comparison with rtmp:// and the clever workarounds found in competent Flash playback software such as Open Media Player. So that is another pillar that needs to be dealt with as no proper media playback system.
Apple has developed and proposed as a standard a streaming protocol that is pretty much HTTP. Check out the Akamai showcase. No firewall problems, no complicated delivery servers. Microsoft has also been busy on that side as well.
So Apple’s work is actually a proposed standard, ready for the taking of uh, the likes of Google. If Google were to implement http-based true streaming on YouTube, it would shave off a lot of costs on bandwith, infrastructure, etc.
Akamai gains would also be enormous benefit by simplifying its services and lowering its infrastructure costs by reducing the number of streaming architectures to support. Any other CDNs would as well, dragging the small fry with them.
- For on-demand transmission we can assume HTTP is used for sanity
A no-brainer, fully supported by pretty much anyone.
– A player runtime that can be distributed
The beauty of the GWT strategy is that Java coding tools are really mature and extremely powerful so we will see how that effort pays off. Isn’t it ironic that many Adobe tools are Java-based?
In the case of Google, using Java as the basis of Android and Eclipse as the basis of its development environment helps cement the Eclipse toolset as a powerful beacon. Regardless of the Java no-show on iPhone (another collateral), there is a subtle hint of renewed Java support by Apple, with the surprise appearance of the 32-bit Java 6 runtime in Snow Leopard. Ah, how IBM must be laughing at the strategic impact of its Eclipse gifts to the world.
Microsoft here is doing its copy-cat tactic, developing and then releasing Silverlight. Arguably, Silverlight’s implementation is more modern and neater than Flash and C# is probably a slightly better language. But it seems a “me-too” strategy and is simmetrically opposed to the Apple and Google strategies, which look more forward thinking to me.
In short, all players are coming up with powerful and viable alternatives to the AS3-Flash Runtime combo, supported on the shoulders of giants.
- A container “plugin” or system to be displayed on Web pages or on native apps
The ride gets bumpier here. It is no secret that both Apple and Google are champions of the upcoming HTML5 standard, helped in no small way by FireFox.
Enter the <VIDEO> tag in HTML5. There is little doubt that in the mobile browser arena the de-facto standard of video embedding will be through that harmless-looking tag, iPhone-thank-you very much. Apple is putting its money where its mouth is and has dozens of developers on WebKit, they will undoubtedly add support for <VIDEO> and this uniform single-source support will make it much more stable. Let’s go one vendor at a time: Google’s Android: no-brainer check, Symbian WebKit toting vendors: check, Opera: will have to follow suit, Symbian non-webkit browser vendors: going out of business anyway, Apple’s iPhone: check. Windows Mobile will either have to follow suit or be forced in a dark corner: either go on its own actively support its direct competitor Adobe with seamless Flash embedding. Microsoft is the underdog here, they will have to follow suit.
But wait, on mobile browsing Flash is already available as an alternative!
Yes, but it will never be available on the iPhone. With delicate irony the same pervasive multiplatform embedding support that made Flash-based video the king on desktop will be what hands it over to HTML5 on the mobile arena.
On the desktop things are slightly more complicated as Microsoft holds far more power with its large MSIE installed base, it’s not absolute power as it used to be but it can still stall and influence progress. The choices for MS are interesting: denying support for <VIDEO> completely would gain it time, defend WMV and stall Apple and Google’s advance, however, it would never be able to claim standards compliance. Microsoft has never cared for standards and has sometimes actively worked against them sometimes. However, forestalling <VIDEO> on the desktop would mean Flash is still king there, which doesn’t help Silverlight in any way. Would a weakened Flash pave the way for more Silverlight apps? Maybe, but it would be the final nail in WMV’s coffin, wouldn’t it? In any case, HTML5 is the standard and MS should at least feel some pressure and Flash continued dominance is not a rosy alternative either.
Another choice would be to grudginly support <VIDEO>, that would probably kill WMV off, inconvenience Adobe and hand the market to the other players.
More irony. It seems much hangs in the balance of Microsoft strategy here. But, besides mobile, there are two potential agent of pressure here, one is Firefox’s market-share growth which might continue and continue until MS is under 50%, difficult but not impossible. The other one is YouTube, Google needs to walk a fine line here, but as they have hinted to in the past, they are wiling to play hardball. A potential scenario would be to detect <VIDEO> enabled browsers and serve them the Flash-less video experience, perhaps add some better quality incentive or something. The immediately benefit for the user would be a better performing and smoother experience as there is no complex runtime to load that in the case of video playback doesn’t really add anything of value. This would help Firefox and other competing browsers grow even more marketshare.
Interesting conundrum: don’t support <VIDEO> to see MSIE drop it’s “standards support” badge and market share further eroded. Support <VIDEO> and see WMV weakened plus the general market browser interoperability increased. Or encourage Flash support and see Silverlight wither.
It seems MS is choosing option b) and supporting <VIDEO> as they seem to consider that option the least damaging to its plans. We’ll see.
– And finally, an established user base (or the whole thing is moot)
That is an interesting one, as Flash is well established in the desktop. However, also consider the combined Firefox, Safari and Chrome marketshare if they were to offer viable <VIDEO> implementations you would get an instant sizeable chunk of the market. Interesting.
In the mobile arena we have WebKit as the looming defacto standard. Again, instant market share.
In conclusion, powerful and determined players are preparing to fight the dominance of Adobe Flash in the Internet video market. The attack seems uncoordinated but all facets of Internet media playback are targeted from several directions, there are so many that I am having trouble drawing them all in one diagram. Powerful determined players like Google are entering the scene while established ones like Apple and Microsoft are re-entering the fray with renewed strength. Their strategies vary from conservative to novel thinking and blue sky reinvention. Adobe needs to start thinking alike or face a big identity crisis. Time to dump the stock?