Category Archives: HTML5

Feedback, please: HTML5 layers in Photoshop?

Let’s start by acknowledging that A) I’m possibly totally crazy, and B) what I’m describing may well never happen. I want, however, to present an idea that you might find interesting. Whether it’s worth pursuing is up to you.

What if Photoshop implemented native HTML as a layer type? Just like the app currently supports special layer types for text, 3D, and video, it could use the WebKit engine (which CS5 already embeds) to display HTML content. Among other things you’d get pixel-accurate Web rendering (text and shapes); the ability to style objects via CSS parameters (enabling effects like dotted lines); data-driven 2D and 3D graphics; and high fidelity Web output (HTML as HTML).

On a really general level, I’m proposing that Photoshop enable programmable layers, opening the door to things like much smarter objects–everything from intelligently resizing buttons (think 9-slice) to smart shapes as seen in FreeHand and Fireworks.

If this sounds interesting, please read on in this post’s extended entry.

Continue reading

Google brings Flash to TV

Groovy.

Here’s more info.

By the way, Hulu recently posted some info on why they prefer Flash Player to HTML5:

We continue to monitor developments on HTML5, but as of now it doesn’t yet meet all of our customers’ needs. Our player doesn’t just simply stream video, it must also secure the content, handle reporting for our advertisers, render the video using a high performance codec to ensure premium visual quality, communicate back with the server to determine how long to buffer and what bitrate to stream, and dozens of other things that aren’t necessarily visible to the end user.

Dreamweaver adds HTML5 chops

Hey, did you hear the one about how Adobe hates hates hates HTML5, and how the only thing that matters to the company is the advancement of Flash (to the exclusion of everything else)?

I have, and the story is stupid, lame, and inaccurate–always has been. But honestly, talk in either direction is cheap, and I think people want to see “a little less conversation, a little more action.

To that end I’m very happy to see the Adobe Dreamweaver CS5 HTML5 Pack made available for download. According to the development team:

  • The HTML5 Pack extension includes new code hinting for HTML5 and CSS3 elements to enable Dreamweaver users to easily make use of new HTML5 tags.
  • The extension also includes WebKit engine updates and improvements to support video and audio in Dreamweaver CS5’s Design View and Live View.
  • New CSS3 capabilities users can more easily design multiscreen web pages, with previews of how they will render across multiple browsers and devices.

To see the features in action, check out this demo from DW engineering manager Jorge Taylor:

You can also download a free 30-day trial of Dreamweaver CS5 here.

My Decade at Adobe

Looking out on the Lake Washington Ship Canal & drawbridge outside of Adobe’s Seattle office today, I’m hit by a profound sense of déjà vu: I looked at the same scene exactly 10 years ago, my first day at Adobe & working in this office.

I’d given up my Flash & HTML design gig, moved out from New York, and joined a team that set out to make a great new Web animation product.

  • Back then the open-standard SVG was just about to take over the world (for real!), and we were getting set to support it. We’d export Flash SWF files, too, but fundamentally we wanted to support open standards.
  • The browser wars were still blazing away, bringing rapid innovation in HTML.
  • We were starting to see hardware-accelerated Web content, and it seemed inevitable that such support would soon be widespread.

Well, you know, funny stuff happens… But here we are, exactly 10 years later, and I’m looking at today’s headlines:

Interesting times, to say the least.

In the intervening decade I moved coast-to-coast two more times with Adobe, hung up my flamed shoes & the flamed Volvo I bought in Seattle, met & married a great Seattle girl, had two most excellent boys, and got to help design, build, and support five versions of perhaps the most important graphics application in the world.

And now I’m about to take on some brand new challenges. More details to come, soon.

H.264 isn’t an alternative to Flash

Did you think they were competing formats? If not, congrats: you’re better informed than most. Seems like a lot of people are confused, or at least are kind of careless with their phrasing.
In common usage, “H.264” refers to a video format, and “Flash” refers to a video player. Flash Player displays H.264-encoded video, as do other players (QuickTime, and now the Safari and Chrome Web browsers reading HTML5 video tags–with Internet Explorer to follow).
This all gets muddied, however.
Daring Fireball noted the other day, “TED Goes H.264: Chris Anderson announces a non-Flash version of TED.com for iPhone OS.” Seeing a statement like that, you might think that the TED site has switched file formats, from Flash video to H.264.
I haven’t talked to the TED folks, but I’d be surprised if they weren’t using H.264 already, displaying it in browser via the Flash Player. The news here, such as it is, is that they’re using an alternate player on a device where Flash Player isn’t allowed to run.
That makes perfect sense, of course. If you’re creating content, you probably have no ideological allegiance to formats or players. You don’t care much whether video is, say, H.264 or VC-1 or PDQ-One-Niner, nor do you care whether the player is Flash or QuickTime or anything else. Rather, you care about results. Most particularly, can your audience see it? Once that’s taken care of, does the presentation meet your needs (e.g. interactivity, integration, content protection, stats measurement, etc.)? And from there, do you have effective tools for creating the content? And so on.
TED.com uses Flash Player to display videos because that lets them reach 98% of browsers. If they chose to display the same video via HTML5 markup, they’d reach ~10% of browsers (Safari + Chrome). On the iPhone/iPad, because they’re not able use Flash Player, they’re using an alternate player.
So:

  • You can debate one format vs. another (e.g. H.264 vs. Ogg Theora)
  • You can debate one player vs. another (e.g. Flash Player vs. a Web browser reading HTML5 tags)
  • You can’t really debate “Flash vs. H.264”

On systems where both Flash and other players can run, it’s perfectly legitimate to debate which one to use; each will have pros and cons. My goal mentioning all this is to add a little clarity to those debates.

Adobe is “sabotaging” HTML5??

In a word, bullshit.

Apple Insider–via an article whose writer can’t be bothered even to spell the names of several participants (Ian Hickson, Dave McAllister) correctly, to say nothing of doing other fact checking–accuses Adobe of saying one thing (that it supports the development of HTML5 and other standards) while working to delay & destroy those standards. Wow–so lurid, it must be true!!

Um, no. Here’s a clarifying comment from Adobe rep Larry Masinter:

No part of HTML5 is, or was ever, “blocked” in the W3C HTML Working Group — not HTML5, not Canvas 2D Graphics, not Microdata, not Video — not by me, not by Adobe.

Neither Adobe nor I oppose, are fighting, are trying to stop, slow down, hinder, oppose, or harm HTML5, Canvas 2D Graphics, Microdata, video in HTML, or any of the other significant features in HTML5.

Claims otherwise are false. Any other disclaimers needed?

There are some things that are wrong with the spec I’d like to see fixed. There are some things that are really, really, wrong with the process that I’d like to improve.

I’ve been working on web standards since the beginning of the web in the early 90s, and standards for even longer; long before I joined Adobe. My opinions don’t come from Adobe, and I don’t get approval or direction. I hate to see decades of work on web architecture messed up in the short-term interest of grabbing control of the web platform for a few vendors to own. If you think that position doesn’t match what you imagine Adobe’s position is, well, I’m glad Adobe’s planning to support HTML5 in its products.

As for the HTML standards process: I’ve worked in scores of standards groups in IETF and W3C, as well as a few others here and there, and I’ve never seen anything as bad as this one, with people abusing their official positions to grandstand and promote proprietary advantage. I’ve blogged some about this, but I’d rather fix things along.

I think progress of HTML5 in W3C could be faster if the subsections on graphics and metadata could (if not now, then eventually) be moved to separate subgroups focused on those topics. The organization of work in W3C is determined by the “charters” of working group and the “scope” of he charters, so saying work is “out of scope” even if you are marking a snapshot of the (already published) documents as “Working Draft”, means you might rewrite the “Status of This Document” section to say that it might move. That’s what I was asking for, in the somewhat stilted language of “objection”.

If you want to know who is sending in technical objections, you can see the working group mailing list at http://lists.w3.org/Archives/Public/public-html/. And if you want to see more of my opinions, I’m also on the W3C Technical Architecture Group (TAG) and post there a lot, see http://lists.w3.org/Archives/Public/www-tag/; the TAG often discusses HTML5.

Any more questions about my opinion? My email address should be easy to find.

I should note that I’m not involved in Adobe’s relationships with these standards bodies. Others with more direct involvement will likely share more detail soon. In the meantime, I’m posting this for two reasons:

  1. A number of people have posted angry, accusatory comments here & via my Twitter feed, demanding an explanation.
  2. I’m angry and depressed about the total ignorance/laziness of online “journalists” and the sheer credulity of their readers. For God’s sake, guys, do the most rudimentary due diligence before you start defaming people who’ve devoted their entire careers to the advancement of standards. Have enough respect for your profession to take the impact of your words seriously.

Addendum: Here are some comments from an HTML WG member, Shelley Powers, who is not affiliated with Adobe:

I’m a member of the HTML WG, but I’m not speaking for the HTML WG, or W3C. I’m only expressing my opinion, and what I know to be facts. I’m also not an employee of Google, Adobe, Apple, Microsoft, or any other company (I’m a writer, for O’Reilly).

There is no truth to this rumor. The posting here is inaccurate. Grossly inaccurate I would add.

This was an issue that has been under discussion, off and on, on the publicly accessible HTML WG for months. It has to do with scope and charter, not the specifications themselves. The Adobe representative to the HTML WG registered his concerns about the fact that the HTML WG is working on specifications that push, or exceed the group’s charter. This includes Microdata, RDFa-in-HTML, and the 2D Canvas API.

Adobe is not blocking any specification. There are dozens of issues that are “blocking” HTML5, if you want to use that term, of which I’m responsible for many at this time. Technically the HTML5 specification can’t advance to Last Call status until these issues are resolved. However, the W3C management can override my issues, and the issues of any individual or company. No one company can block the advancement of any specification without the concurrence of the W3C leadership.

All of these issues are based on improving all of the specifications, including HTML5 and Canvas. it’s unfortunate that the HTML5 editor, who is also the Google representative to the HTML WG introduced such wild, and unfounded speculation, causing harm not only to the Adobe representative, but distracting all of us from the work of finishing the HTML5 and other specifications.

I would hope that people would seek to get confirmation before posting unfounded accusations.

Sympathy for the Devil

In the last couple of years, it has become trendy to bash the Adobe Flash Player. I need to say a few things on that subject.

First, let’s be very clear: I’m not on the Flash team. I don’t speak for them. (I don’t speak for anyone but myself.) This post is just my personal take on things. Caveat lector.

I came to Adobe ten years ago to build an open standards (SVG)-based Web animation tool. I like standards, and I have some experience here. Both authoring for & competing with the Flash Player gave me some good perspective. Here’s a quick summary of my long piece below:

  • Flash is flawed, but it has moved the world forward.
  • Open standards are great, but they can be achingly slow to arrive.
  • Talk of “what’s good for standards is bad for Adobe” is misinformed nonsense.
  • Flash will innovate or die. I’m betting on innovation.

Let’s be clear: It’s fine to say that Flash is flawed; it is. (You know who’d agree? The Flash team.) It’s fine to hope for alternatives to take root. (Competition makes everyone better.) But let’s also be honest and say that Flash is the reason we all have fast, reliable, ubiquitous online video today. It’s the reason that YouTube took off & video consumption exploded four years ago. It’s the reason we have Hulu, Vimeo, and all the rest–and the reason that people now watch billions of videos per day (and nearly 10 hours apiece per month) online. Without it, we’d all still be bumbling along.

Macromedia was the only company that delivered truly ubiquitous (99% penetration) video playback. Apple didn’t*. Microsoft didn’t. Real didn’t. (Remember how you used to see sites offering multiple streams, making the user pick a player, because the content creator couldn’t rely on everyone being able to view one format? Good riddance to that crappy customer experience.) Content creators, whose income is proportional to their ability to reach customer eyeballs easily and reliably, have voted with their feet, moving to Flash. As a result, more than three quarters of online video now streams in Flash formats (up from 25% three years ago).

All these years later, we still don’t have a standard, browser-native alternative, much less one that’s achieved widespread viewership. (WebKit-based browsers remain in the single digits on the desktop. Firefox, which uses a different video format, is at 25%. Microsoft is off doing its own thing.) That sucks.

I don’t doubt that some video standard will eventually emerge & make its way into most if not all browsers. In the meantime, Adobe spends millions of dollars a year building & giving away software–for which content viewers & even content creators don’t have to pay a dime–to compensate for the rest of the world’s failure to get the job done.

Maybe that sounds harsh, but I find the Flash-bashing tedious and hollow. Flash has all kinds of shortcomings; helping address them is why I joined Adobe, for God’s sake! But Flash, as Winston Churchill might say, is “the worst except for all the others ever tried.” It will improve, as will competing implementations. In the meantime, how about we give the devil (if that’s how you see it) his due, giving Flash credit for helping the world get this far?

— On Standards —

Stepping a bit beyond video, I’m personally delighted to see Web standards like HTML5 emerge. Adobe makes nearly all its money selling authoring tools that target great runtimes. (Conversely, as I’ve mentioned, Adobe loses money building runtimes (Flash Player, Adobe Reader) that it gives away in order to sell authoring tools.) More great runtimes to target means more opportunities to build content for them. Adobe will naturally follow the money, building authoring tools that produce what customers demand, and that includes HTML5-based work. Don’t believe me? Check out a demo of Illustrator, Flash, and Dreamweaver targeting the HTML Canvas tag.

Guess what, though? When I posted that story, almost no one paid attention. People want a certain “killer” narrative: Good guys vs. bad guys, open vs. proprietary, blah blah. That’s simpleminded and lame.

I keep seeing the video standards discussion phrased as “H.264 vs. Flash video**” (e.g. John Gruber writing about Apple “replacing” Flash video with H.264). Apparently people are unaware that Flash has been playing H.264 for years. It’s easily the most popular H.264 player in the world.

Adobe’s choice to embrace H.264 in Flash is what allows sites like Vimeo and YouTube to create HTML5/AVC (i.e., non-Flash) versions of their sites without gobbling up petabytes of storage and loads of CPU cycles creating and storing alternate versions of their videos. Instead of locking people into some proprietary solution it created, Adobe has spent millions of dollars to enable use of a more standard format.

The obvious problem with open standards, of course, is that they often take eons to implement, and developing for different implementations sucks up time and money. Does anyone else remember seeing really sexy “DHTML” demos that featured full-screen animation and more? I do. You know when that was? 1998. And today, more than 15 years after Netscape debuted, Flash remains the only way to, say, display a vector chart across browsers (i.e., such that you can count on every viewer seeing it). That’s sad–especially given that Adobe plowed a hell of a lot of time & money into trying to get the open SVG standardized & adopted.

SVG taught me some painful lessons: While we sat waiting on months (at least) of committee meetings, review periods, etc., Macromedia was free to innovate & iterate quickly with Flash. Their implementation was lean & ran circles around the Adobe player that dutifully tried to support a cumbersome spec. (Again, remember that all this is just my personal opinion.) Openness and standards and kumbayah don’t matter if someone is pantsing your big, ponderous committee.

And this gets to two key, interrelated questions: Why will Flash live on (i.e. what are its competitive advantages?), and Why isn’t Flash open-source/an open standard? Again, I do not speak for the Flash team, but my take is that Flash’s advantages are predictability & agility:

  • It doesn’t require you to target multiple runtimes (browsers, etc.) from multiple vendors. Instead, there’s effectively one Flash Player with a predictable set of capabilities. Fonts, pixels, etc. render consistently across OSes, browsers, and devices. You don’t need something like BrowserLab (a free Adobe service, by the way) for Flash.
  • If Adobe develops a new technology (e.g. the Text Layout Framework, leveraging InDesign tech and enabling beautiful Web typography), it can be deployed quickly & reliably to all systems. That is, we don’t have to say, “Yeah, we’d love to see better type on the Web, but first we have to convince these groups to add support, and then wait several years for updates to achieve broad adoption, and then hope it all works the same…” We can just do it, and support will hit critical mass quickly.

In a sense it’s a more Apple-like approach: Control things yourself, so design-by-committee doesn’t compromise your product. Open-sourcing Flash would lead to a fragmentation of the format & Flash runtimes, and that would destroy the predictability and agility that differentiate Flash from other standards.

If the Flash team continues to innovate–that is, if they deliver better features more quickly, more predictably, and with better authoring tools than other technologies–then Flash will endure. If they don’t, it won’t–nor should it. But I’m betting they will.

— On Mac vs. Windows performance —

Finally, let’s turn to a touchy subject.

If Flash runs faster on Windows than on Mac, that must be proof of Adobe’s incompetence and/or anti-Mac malice, right? Of course, if Flash ran faster on Mac than on Windows, that would be taken as proof of OS X’s modern awesomeness. Heads they win, tails we lose. (Come on, tell me I’m wrong.)

Despite the Flash Player team investing disproportionate resources in the Mac player (where the Mac has ~5% market share to 90+% for Windows), and despite them making big strides on the Mac, it’s true that Flash performance on OS X has lagged behind Flash on Windows. That needs to change.

My understanding is that there’s work that both Adobe & Apple could do to improve matters. Mac users*** complain about high CPU usage when playing video. The latest Flash Player uses many fewer CPU cycles for video, but the needed hardware decoding support isn’t available on the Mac right now. I don’t have any inside info here, but I’ve heard that the Safari team is a great group of folks, and I hope they’re able to work with the Flash Player team to added the desired support.

— In Conclusion —

I’m very optimistic about Flash, Web standards, and what Adobe can to help customers. In particular:

  • The Flash Player team has been very hard at work leveraging the GPU to deliver great performance on mobile devices. I expect those optimizations to make their way into the desktop Flash Player.
  • Developers are pushing standards like CSS 3D, WebGL, and Canvas to deliver interesting results. It’s about time Web browsers got good at this stuff, for everyone’s sake, and those enhancements roll right into Adobe AIR and the Creative Suite (both of which use WebKit).
  • Adobe sells tools that can adapt to fit customers’ needs. As new technologies open new possibilities, Adobe will deliver great authoring apps.

J.

* I just checked, and the download for QuickTime is more than ten times the size that of Flash Player. If you want ubiquity, size still matters.

** Incidentally, FLV (Flash Video) is a publicly documented format, as are RTMP and SWF.

*** I’ve been a fervent one since 1984.

WebKit & Creative Suite extensibility

Hey, what if I told you that to offer consistent, Suite-wide extensibility we’d ditched Flash Player and had gone with WebKit instead? Would we hear a bunch of attaboys about open standards, HTML5, etc.? Would Mac aficionados in particular cheer Adobe’s embrace of an open source, largely Apple-driven initiative?

Good, because we are indeed embracing WebKit for extensibility. We just happened to keep Flash as an option, too. (The union of the two is at the heart of Adobe AIR, and that’s what we’ll leverage going forward.) Now, let the touch-of-gray-finding begin…

Sneak peek: Illustrator + Flash + Dreamweaver -> CANVAS

Check out this demo of Illustrator handing vector art to Dreamweaver, and DW binding the artwork to data so that it can be displayed via the HTML5 CANVAS tag:

Mordy Golding summarizes the demo as follows:

[The engineer] starts by taking art drawn in Illustrator and copies it to the clipboard. Then he goes into Dreamweaver, selects a DIV and chooses a function called Smart Paste. Dreamweaver then pastes an FXG conversion of the Illustrator art directly into the page. If you aren’t familiar with FXG, it’s basically a better SVG* (you can get more information on the open source FXG spec here). In other words, you draw in Illustrator, copy and paste into Dreamweaver (which converts it to code), and the art displays as vector art in a web browser. What’s more, the engineer proceeded to actually bind XML data to the chart.

After that, the presenter copies an animation in Flash Professional as XML, then pastes it in DW as a CANVAS animation.

It’s kind of funny to see this demo now, as Illustrator could export XML vector graphics (SVG) to the Web some 10 years ago. Later people made various efforts to display & manipulate SVG using Flash. This new demo uses different tools & a different display engine to do similar things.

I think this is a key point: Adobe makes money selling tools, not distributing viewing software. Those tools must address customer needs. If Flash Player is the right choice for some projects & HTML/CANVAS for others, no problem: we get paid to help you solve problems, not to force one implementation vs. another.

* I have no idea whether FXG is “better” than SVG overall & don’t want to get into a debate on that subject. FXG is based on SVG but maps more closely to the Flash drawing model.