The HTML5 Flash Marriage: Geolocation

I probably don’t need to tell you that there’s a lot of buzz (and fuzz) about how HTML5 is going to kill Flash. You probably know how I feel about this… I think the web is big enough for both of them… Even better… I think they could potentially complement each other!
Geolocation is a good […]

Non-Accessible HTML

YouTube opens up captioning for all videos….sort of.

I know I work for Adobe, but this is the kind of thing that pisses me off. Flash gets such a bad rap from the open standards crowd who hold accessibility so highly but as of right now there isn’t any way to do captioning in HTML5 videos. So when YouTube makes a big announcement about improving and enhancing accessibility by adding captions to all of their videos, no one mentions that it’s just the Flash videos.

I realize that the HTML5 feature on YouTube is in beta, but it isn’t like this is something that anyone has figured out yet for HTML5 video. It’s listed as “unwritten documentation” on the Chromium site which basically means “we aren’t sure how this is going to work”. But no one does. The closest thing I’ve found is a jQuery plugin that’s in the early stages.

Not only is there no clear codec for HTML5 (something that in theory Google will remedy with the purchase of On2) but captioning support, something that Flash has made easy and ubiquitous, isn’t a feature that’s looking like it will be implemented soon.

But it’s going to kill Flash….riiiiiiiight….

Stepping On Toes

Really?

There are other implications. By extending a hand to HTML5 Microsoft will move ahead adoption of the standard in a large way. The better HTML5 does, the worse Flash does, given their tendancy [sic] to step on each other’s toes at every turn.

By most accounts, I think HTML5 has never been better. Wider browser support, a lot of momentum. But the same can be said for Flash. Flash Player 10 was the most quickly adopted Flash Player version yet.

Maybe HTML5 and Flash aren’t stepping on each other’s toes as much as pushing everyone forward.

Kevin Lynch’s perspective on the past, present, and future of Flash

In case you may have missed it, this past Tuesday Adobe CTO Kevin Lynch posted his thoughts on Open Access to Content and Applications. If you want to get a better handle on Adobe’s vision for Flash and web tools this is a must read. In response to the recent introduction of a “magical device” that has spurred so much talk online over the past week, Kevin talks about the future of Flash and how Flash Player 10.1, the Open Screen Project, HTML5, smartphones, and more fit into it.

More recently, Kevin responded to comments on this post and shared is thoughts on Flash Player performance as well as reports of crashes in some browsers.  As he notes, Adobe works directly with browser teams for Apple Safari, Mozilla Firefox, Microsoft Internet Explorer and Google Chrome to resolve issues and ensure that Flash Player is not released with any known crash bugs. 

If you’re following the wider conversation on the future of the Flash Platform, be sure to check back or follow us on Twitter.

HTML and Flash Thoughts

Kevin Lynch blogged today in response to a number of issues that have cropped up recently and does a great job of laying out both Adobe’s vision for Flash and for web tools. That and a couple of other posts got me thinking a bit. The first is Jeffrey Zeldman’s post. He contrasts Flash with some of the benefits of standards. Most of the time I see “HTML5 is going to kill Flash!!” without any kind of rational conversation on why. Jeffrey does a better job than most. His intro paragraph is a perfect sample:

Lack of Flash in the iPad (and before that, in the iPhone) is a win for accessible, standards-based design. Not because Flash is bad, but because the increasing popularity of devices that don’t support Flash is going to force recalcitrant web developers to build the semantic HTML layer first. Additional layers of Flash UX can then be optionally added in, just as, in proper, accessible, standards-based development, JavaScript UX enhancements are added only after we verify that the site works without them.

My Current Problems with Flash

There are a couple of things I hate about Flash inside the browser. Both of them were covered very well by Richard Leggett in his Flash/HTML5 post. The first is browser integration. One of the things I think a lot of users find annoying about Flash is that it feels so alien in the browser. We have basically a single API, ExternalInterface, that developers can use to connect HTML and Flash. But it’s very awkward and it makes both the development experience and end user experience feel very different. Flash has become the “black box” of the browser. If you take a look at AIR, you see how great those two worlds can be. Flash and JavaScript can call each other’s APIs, Flash can access the DOM, and JavaScript can call Flash only when it needs to, for things like playing sound or performing graphical tricks. SVG and Canvas add a layer of complexity to that, but I don’t think that’s an insurmountable hurdle. In fact, I think those two technologies, when combined with Flash, would make a very interesting combination.

But that leads to the other problem. Flash is horrible when it comes to the semantic web. And this causes some other issues, like deep-linking or search engine optimization that we’ve worked on, but haven’t perfected yet. As Richard says, and Jeffery notes, the current solutions aren’t entirely bad. Flash works very well with a CMS like Drupal so that you can have the semantic web layer and a Flash layer. And largely it depends on your project. In some cases that semantic layer isn’t going to be as important. It’s also important for developers to use Flash inside HTML where appropriate. Another thing I’d like to see is making it easer to create Flex applications that don’t take up the whole page, but work within an HTML context. Think a bit about what I said above combined with some kind of Dreamweaver/Flash Builder integration so that the developer can unify the HTML and Flash experience at a tooling level.

Adobe Is a Web Tools Company

People seem to think that Adobe has eschewed HTML5 in favor of Flash. A lot of innovation goes into Flash. We have a number of features that our customers want and we’re able to add those to the runtime and create tooling around them because we can move quickly an innovate. HTML5 is obviously more consensus driven. As a result, some of the details that would be require to add tooling support haven’t been fully nailed down yet. But we’ve moved ahead to do what we can. Dreamweaver continues to have great HTML and JavaScript framework support. We’ve shown sneaks of BrowserLab that will help HTML/JS developers see how their site looks in various browsers. We’ve included the latest versions of WebKit in Adobe AIR so that HTML developers can take advantage of a lot of HTML5 features in a desktop context, and in ColdFusion we’ve got support for creating ExtJS 3.0 components with ColdFusion tags. We even sneaked a feature at MAX that used Flash and Illustrator to display animated vector content using the canvas tag. So Adobe is supporting HTML5 in a number of different ways already and experimenting with even more. When the spec is nailed down, you’re going to see a lot of Adobe tools that support it.

Flash Is Driven By Customers

It’s important to remember that Flash isn’t some isolated plug-in that we maliciously deployed on 98% of web browsers and that consistently hits 80% penetration for new versions in 6 months. Flash is driven by customers. Both developers and end users. Developers still want content that runs the same way across browsers (and now devices). They still want web content that provides innovation around things like video, sockets, animation, data push, web camera, 3D transformations, and works across multiple platforms and 98% of the people on the web. There are some developers who won’t ever use Flash, and that’s fine. There are others who want to do things that HTML5 just doesn’t have an option for now. Flash is there to fill that gap. Part of the reason we can innovate with Flash is because we control the source code. While we’ve worked hard to be more open, ultimately it’s our customers demand for innovation that drives us. And I wouldn’t want Flash to open up and lose that ability to innovate. It wouldn’t be fair to our customers.

I’d love to see Flash do a better job of integrating with the browser and the semantic web. And I hope HTML5 pushes us more in that direction. I disagree that the era of plug-ins is coming to a close because I think there will always be web developers who want to do a little bit more and have the same experience across devices and platforms. Adobe can move at that speed while still offering tools for web developers of all stripes because both HTML and Flash are baked into our DNA. I genuinely wish for a more open dialogue between standards organizations and the Flash community. Unfortunately it seems like a “my way or the highway” attitude when it comes to web standards. I can understand that to some degree, but I think the web would be a much better place of everyone took a deep breath and took another look at Flash’s deficiencies and it’s strengths. With that as a starting point, I think there could be some very valuable conversations about how Flash can do more to support standards while still catering to customers who want new features.

On Google, YouTube, HTML5, Adobe, and Flash

Last night Google blogged about how they were experimenting with offering some videos on YouTube that support the HTML5 video tag and the H.264 codec, and that work in Chrome and Safari. This is part of TestTube, where YouTube’s engineers test out different products without rolling them into the main YouTube experience. YouTube and Flash obviously have a deep relationship. It was Flash that helped YouTube become one of the most visited sites on the Internet, and YouTube has helped increase penetration of newer versions of Flash Player by rolling out features, like H.264 support, that required the newer Flash Player versions.

There is always an undercurrent questioning if Flash is “going away” when it comes to HTML5. But I think YouTube is actually the perfect example of Flash and HTML working together. The same day Google blogged about the TestTube project, YouTube also rolled out a new rental service for some of the Sundance Film Festival videos, which is powered by Flash. And I think that shows the relationship that Flash and services like YouTube have in helping drive the web forward.

Video on the web isn’t just about watching a clip any more. There are ways to monetize it, either with advertising or by adding ways to protect content that lets people watch something after they pay. There are accessibility issues that need to be addressed like closed-captioning support. What about being able to consume video on mobile devices that don’t support the HTML5 video tag? These are all areas that Flash has found solutions to, which has helped the growth of video on the web and provided a reference for the HTML5 groups to see what works. And while there may be some arguments over the use of the H.264 codec, having Flash add support for that codec meant that companies like Google could roll out a Flash version and an HTML5 version without having to re-encode video. Flash has made possible many of the features in HTML5 by showing how good the experience can be. And Flash will continue to innovate and provide solutions to challenges on the web before those solutions can be standardized. It will remain the best way to provide cutting-edge technology to 98% of people online.

Open standards are incredibly important to the future of the web. Adobe continues to work hard to contribute to that movement and balance that with the need for our customers and developers to be able to create next-generation content that runs the same way on every operating system and device. If Flash wasn’t providing value to people, it wouldn’t be on 98% of the world’s computers and we wouldn’t see penetration for new versions reach 80% within 6 months of release.

So congrats to YouTube on the HTML5 video work. This is good for HTML and I think there will be a lot of Adobe, Flash, and HTML5 collaboration moving forward. Flash has an important role to play by providing innovative ideas and solutions for an increasingly multi-screen and multi-platform world.