Main

October 8, 2009

Levels of Runtime Predictability

Yesterday Peter-Paul Koch followed up on his testing of browser technologies with a piece examining implementations of one particular browser library, and concludes "There is no WebKit on Mobile -- there's iPhone WebKit, Android WebKit, S60 WebKit (at least two versions each), Bolt, Iris, Ozone, and Palm Pre, and I don't doubt that I've overlooked a few minor WebKits along the way."

I'd urge you to read Peter-Paul's original paper, as well as followup essays by Savio Rodrigues, Stefan Constantinescu, others.

WebKit is an interesting situation. In HTML itself the file format is openly published, and implementers are encouraged to build their own versions. The WebKit project, under Apple governance, openly publishes HTML runtime source code, which is then modified and distributed by device manufacturers.

In HTML, a file format is "open", and implementations vary. In WebKit, a reference implementation is "open", and device-specific implementations still vary.

Flash complements these two. The SWF file format is openly published, same as the HTML file format (although governance of file format improvements is within the Adobe ecology, rather than the W3C/WhatWG ecology). With Open Screen Project we're more in the WebKit range, where Adobe establishes the reference implementation, and partners customize this to their device. Flash Player 10.1 will differ across device based upon device capabilities (screensize, input methods, accelerometer, etc), but I don't expect it to vary in basic runtime capability the way WebKit does.

Is one better than the other? Is WebKit better than HTML, or Flash better than WebKit? I don't think so... each serves different purposes. Apple's donation of WebKit sourcecode helps resolve some of the implementation differences of the HTML/JS/CSS/DOM/etc specifications. Adobe donates a standard Flash implementation to the world's screens. These options are better when they work together, when one doesn't try to be the other. They're different... both good.

September 23, 2009

Advanced Support, from Diverse Audiences

Google did an interesting thing yesterday... they extended the Microsoft Internet Explorer browser to dramatic degree, offering Google's own Chrome browser as an alternative renderer within Internet Explorer's windows. Here's where to download the "early-stage open source plug-in", and many opinions are collected at Techmeme.

I haven't investigated the hack's details, and know nowhere near enough to speculate how the project might evolve. But it's significant, to me, for being the first comprehensive attempt to address bringing the "HTML5" ideas to realworld audiences.

A person's browser becomes their habit -- they're loathe to give up surfing efficiency, not quite willing to risk the expense of exploring a new interface. The global surfing public has diverse choice in browsers, and Microsoft Internet Explorer has proven to be a very strong habit for many.

Google Chrome Frame is (from what I understand) respectful of the current user experience... people don't need to risk their existing browser habits and efficiencies, yet can still explore something new.

I like that. It's like the Adobe Flash Player... a capability which can be invoked across a wide range of HTML engines... an invisible addition, uniting browser choices.


There's a wry aspect to the news too, of course... in 140 characters: "So Google's using a browser plugin, to advance WhatWG's 'HTML5', which tries to do what plugins already do, coz plugins are bad. Is that it?" Seemed to have struck a chord.

There's no need to seek direct conflict. People have been improving browsers for fifteen years, and while growth is slow, it is steady. No need to bash plugins when announcing new feature sets.

Plugins enfranchise minority browsers... the De Facto Web is a more accessible scene than If Plugins Never Were. Objecting "because it is a Plug-in" is as empty a phrase as objecting "because it 'IS' proprietary." No need to be a hater or a killer. It's too weird to hear closedness coming from those evangelizing openness.

So, welcome Google, to the challenge of cross-browser plugins -- improving the capability of diverse consumer installations, by cooperating with their choice of browser configurations. Glad you're here, it's a little less lonely now. ;-)


(Hmm, matter of fact, why isn't there much talk yet about making an Ogg Theora set of plugins? Seems to make sense, so that sites which prefer opensource codecs can accommodate diverse audiences without making content developers sweat the multi-encoding. Here's a request from May 2009: "If you're actually seeking browser support for patent-unencumbered codecs, expanded local storage, drawing engines and such, then why aren't you making plugins for other browsers? If it's because 'plugins are not first-class citizens in the browser', then [please] improve your plugin support and cross-browser homogeneity so that they are." Why shouldn't "open codec" people make cross-browser plugins too?)


Comments are turned off on this entry, due to past history on the topic. If you'd like to do your own blogpost, then including the phrase "Advanced Support, from Diverse Audiences" in the text will let me find it find it fastest in the search engines, thanks!

World Wide Web... legacy content?

We're familiar with workstation display screens, and are coming to grips with pocket-sized display screens, and next year we'll start seeing "digital home" screens.

What types of interactions will we have through The Internet, sitting back a few feet away from a large entertainment screen, remote control in hand?

Take a look the photo in Jessica Hodgson's WSJ article on upcoming Internet TV models. It shows a future TV with a slide-out tool bar, little application widgets available. The looks don't matter at this point -- think of the function.

You'd want to customize the types of info you can call up. Probably a notification system of some type, IM presence, caller ID, a webcam to the front door, various personal services. You probably wouldn't want to dig into a big document on that big screen -- more like quickly monitoring changing world conditions, connecting to others.

Would you want to use a web browser? to surf the Web? to pull up pages which were designed to fit a certain laptop sized screen? to have the ads and the sidebars and the third-party widgets that today's WWW pages possess? Take a look again at that photo... would you want browser panes and all up on that screen?

I don't think so. It would be good to have access to a WWW browsing tool, but the numberless millions of today's WWW pages were explicitly designed for laptop display screens. The very network effects which led to the fast growth of WWW content over the past decade make the viewing not quite satisfactory with other types of digital display screens.

Your mobile phone has a WWW browser. It's indeed handy. But if you have the choice of a fullsize screen, this is much handier. Or if the site has a parallel version designed for a small screen, then that's handier too. It's useful to be able to Surf the Web on a small screen, but the bulk of the content on today's WWW is not very friendly to unexpected display devices.

Now, the web tech itself can make the crossover across devices, I think... shouldn't be any reason why hypertext markup and JavaScript couldn't drive a good TV display too. But the World Wide Web of content, all those pages, all those sites... it's hard for me to picture that as being as much fun eight feet away from the screen with a keypad.

Web tech... that's a different subject than WWW content. That content was tuned for one screen. In a multiscreen world, we have to figure out how to migrate the useful parts of this legacy content.

If you've got a work screen, a pocket screen, and a home screen, it would be strange if they all showed the same thing. The World Wide Web's current content is largely designed to be displayed upon a workstation screen. It's legacy content.

June 18, 2009

Followup on last post

Yesterday I pulled out a section from the Adobe analyst call, where Adobe CEO Shantanu Narayen was asked "What do you think of 'HTML5'?" The key points were (a) "to the extent that an improved HTML standard accelerates innovation and consistent reach for web content, we’re very supportive"; (b) "the challenge for HTML 5 will continue to be consistent display across browsers"; and (c) "the fragmentation of browsers makes Flash even more important".

That's what Adobe says, and I agree with it.

But I also added some points of my own which may have confused others, judging from the comments at the original post, at Digg, articles, elsewhere. Let me re-run some passages:

"It's hard for Adobe to have an official opinion on whatever this consortium of minority browser vendors chooses to do... seeing what the final agreement turns out to be, and how it is eventually manifested in the world, both are prerequisites for practical tool-making."

Another way of speaking this idea: The WhatWG "HTML5" proposals are underwritten by browser vendors, and will apply to browser vendors. As a toolmaker, Adobe would naturally be slower to speak on it than the browser vendors themselves. Tool vendors follow later, looking at what customers need to do, are able to do. It's no surprise that most of the early "HTML5" conversation has been dominated by browser vendors rather than tool vendors.

(That "minority" phrase confused some. Microsoft Internet Explorer is the majority browser... IE6 declining, IE8 advancing, IE7 used by the greatest portion of web surfers... all the other browsers added together support less than half the audience of what IE supports. I haven't seen any realistic plan to make "HTML5" practical for content developers or site owners, who cannot afford to turn the majority of people away. This "minority browser" problem needs to be addressed for "HTML5" to succeed.)

Another section some found confusing:

"I'm increasingly uncomfortable with calling the WhatWG proposals 'HTML 5' though, and particularly when it's used in opposition to successful realworld capabilities of today. When ECMAScript 4 was in discussion there weren't magazine headlines about how untyped variables were now evil. What counts is not a press release, but a realworld deliverable. De jure is nice, and potential de jure is also interesting, but de facto capability determines what you can actually do for real audiences."

Much of the early evangelism about "The HTML5 Standard" attempts to persuade by implying that it is already "a standard", a foregone conclusion, a done deal. If you've been following things closely, though, you know there are multiple friction points. The future is far from clear.

I use quotes around the term because it is a name-of-convenience we are applying to a particular process which has not yet run its course. It is not "HTML 5.0, a W3C Recommendation" ... it is something we are calling "HTML5" as a verbal shortcut. As the W3C Blog itself says, "HTML5 isn't a W3C standard. We certainly look forward to the day when it is, but it isn't yet."

Comparing a future potential to a current reality may not make much logical sense, but it does make journalistic sense and evangelical sense. Particularly in light of consortia work such as XHTML and ECMAScript 4, it's more sensible to observe what the world actually is, rather than assume the world will match our plans.

That's why I'm putting "HTML5" in quotes. It's more realistic.


A sidenote: Most of the critical questions focused on minutiae off the main topic. I thought the "minority consortium" section didn't warrant the commentary it received... there was a whole segment about iPhone helping Flash Lite... one person was sure I hadn't been tracking this subject for years... some asked "Why are you so defensive when people talk of Killing Flash?" These glossed past what Shantanu emphasized about "consistent reach for web content". Instead of focusing on how "HTML5" will actually work for the world, commenters' attention was fragmented into extraneous issues. Noteworthy.

One other oddity about the previous post and spinoffs: the number of anonymous critics. If you don't think your words are valuable enough to own, then they're probably not valuable enough for us to spend our time reading. Bet your rep -- show us the totality of the person behind the words, and the other words you've written elsewhere -- or your comment will not be published here on this entry. Open up.


Update Tue June 23: I'm closing off comments on this entry, for two reasons: (a) latter comments are repetitious and off-topic, with people seeking any reason to reject the neutral info presented above; and (b) one Mac-oriented blogger who attracts an abusive crowd has pointed this link out, and I'm not keen on hosting drive-by ranters.

June 17, 2009

Adobe on "HTML5"

The current WhatWG proposals called "HTML 5" have been stirring up a lot of polarizing speech lately... articles with Flash-killer headlines lead to street-level fracases.

It's hard for Adobe to have an official opinion on whatever this consortium of minority browser vendors chooses to do... seeing what the final agreement turns out to be, and how it is eventually manifested in the world, both are prerequisites for practical tool-making.

Still, I'm glad that an analyst asked a question about it at the quarterly financial call. Here's what Adobe CEO Shantanu Narayen had to say, from the transcript at Seeking Alpha:

David Hilal - Friedman, Billings, Ramsey

Okay, and then Shantanu, maybe a bigger picture question but as we read and learn more and more about HTML 5, I wanted to understand in your view both the opportunity and threat that that may present to Adobe.

Shantanu Narayen

Sure. So I mean, to the extent that an improved HTML standard accelerates innovation and consistent reach for web content, we’re very supportive and clearly from the perspective of our tools, we will support the creation and management of HTML content to the level that they want.

I think it speaks increasingly to the realization that rich Internet applications and delivering engaging experiences is increasingly important to all of our customers. I think the challenge for HTLM 5 will continue to be how do you get a consistent display of HTML 5 across browsers. And when you think about when the rollout plans that are currently being talked about, they feel like it might be a decade before HTML 5 sees standardization across the number of browsers that are going to be out there.

So clearly supportive in terms of making sure as HTML 5 is evolving that we will support it in our web authoring tools but from the perspective of continuing to drive Flash and innovation around Flash and rich Internet applications, we still think that actually the fragmentation of browsers makes Flash even more important rather than less important.

David Hilal - Friedman, Billings, Ramsey

Great. Thank you.

Adobe's about communicating your ideas -- publishing to various channels -- not just about Flash. Dreamweaver, ColdFusion and the imaging tools all benefit from an increase in HTML. Flash is a strong bet for emerging platforms -- we really do need the ability to predictably deploy advanced capability across a range of device brands and browser brands -- but Adobe profits from easing communication in general.

I'm increasingly uncomfortable with calling the WhatWG proposals "HTML 5" though, and particularly when it's used in opposition to successful realworld capabilities of today. When ECMAScript 4 was in discussion there weren't magazine headlines about how untyped variables were now evil. What counts is not a press release, but a realworld deliverable. De jure is nice, and potential de jure is also interesting, but de facto capability determines what you can actually do for real audiences.

But Shantanu's last point in there really resonates with me... this whole "HTML5" campaign will likely benefit Flash, because few remain who oppose the idea that "experience matters". Things are quite a bit different than five years ago. Silverlight's launch helped boost the popularity of Flash... iPhone helped to radically increase the number of phones with Flash support... the "HTML5" publicity helps marginalize those few who still argue that images, animation, audio/video and rich interactivity have no place on the web. Flash will be able to deliver on those heightened expectations, regardless of what each separate browser engine does.


Update Tue June 23: I'm closing off comments on this entry, for two reasons: (a) latter comments are repetitious and off-topic, with people seeking any reason to reject the neutral info presented above; and (b) one Mac-oriented blogger who attracts an abusive crowd has pointed this link out, and I'm not keen on hosting drive-by ranters.

May 28, 2009

Amazing AIR 4.0 demos!

If you've been reading the techblogs this week, you may be wondering "Is this the death of Flash?" There's lots of commentary out there, and no matter how ill-founded, we'll all likely end up in conversations with less-clued-in coworkers or friends asking, "Hey, I heard that *this* will finally be the death of Flash!" Fun, huh?

If so, then relax. It's all going to get worse. ;-)

There are more corporate conferences coming up in the next few weeks, and a browser release or two. These are easy stories for a PR staff to get placed in newsblogs. We're only at the beginning of a hype cycle. There's more to come.

In a way, it's similar to the blogosphere buzz cycle around Silverlight a few years ago. Back then it was tough to swallow comments like "makes Flex look like a toy", "the execution of Adobe", "the Web was rebooted today" and the like.

But it's easier to deal with such high-level assertions once you examine the low-level basics. The WhatWG is a set of browser vendors who are drafting a new version of Hypertext Markup Language, and much of the controversy is around whether various vendor RIA specifications fit. One tipoff is that core questions -- handling the IE-using majority, "plugins are good when they're Google's", what VIDEO tag will actually do, "what innovation's in imitation?", many more -- are actively being ignored. The only response is namecalling.

This is different than the Silverlight dynamic. Microsoft staff and fans actually addressed reasonable questions. Their weblogs were open to other viewpoints. Dissent was not ridiculed.

Further, these questions today are coming from the grassroots. Top-level bloggers may be touched for a good story, but their commenters raise a whole series of reasonable questions. And they get -- no answers. That pressure for truth and openness will not decrease.


Here, let me pull some of the comments which struck me from a recent oreilly.com transcript of a Google presentation. (I'm leaving out names because I'm interested in the ideas, but if you commented there and want your words removed from here, then please let me know, thanks.) It's just one blogpost's comments among the many, but shows the disconnect between the suits and the street:

"Most companies want to reach the widest audience possible and will likely continue to ask for IE6 support for another 2 to 3 years. So we are looking at another 5 to 7 years before IE7 can be ignored and working with whatever basic HTML5 support is available in IE8."

"The Google mantra about the web vs desktop is b******t. Do an objective comparison between (canvas or svg) vs ((flash or silverlight) or desktop) and you'll quickly note the differences. We don't need an academic paper or more buzz."

"There's no standard for video codecs, meaning each browser vendor will decide on what codecs to support if any. Which means in order for the video tag to work, the web developer will have to supply multiple versions of the video in a variety of codecs. This has the potential to get even messier... Meanwhile, from a user's perspective, you unfortunately will have to switch browsers to view video in a different codex, which certain users may want to, as there's a big difference in quality and performance in video codecs."

"It's just INSANE that people try to evolve on things like HTML, CSS and Javascript. CSS and HTML are not consistent and not all that robust."

"Hi Tim, You wrote: 'Microsoft has announced that it will support HTML 5.' I've also read they have suggested breaking out different working groups to work on different parts of HTML 5. Do you have a link or reference to something where they've actually said they will support all the major features, in one form or another, of the current HTML 5 draft? I went looking for some sort of statement but couldn't find it. Microsoft is always the elephant in the room when it comes to cross-browser support for HTML 5."

"There are no plugins perhaps, but because several major vendors have refused to support Ogg Theora, there is currently no standard codec that does not have patent problems."

"A couple of others have already made the 'what do you mean, no plugins, no mismatched codecs?' comments that I was going to add... Sadly, I see the demo html5 page at youtube seems to present only proprietary .mp4 video, requiring a proprietary plugin for those of us not using Safari."

"In the graph the vertical axis is nerdgasmicity. The horizontal axis is goldfish-time. I got this from reddit."

"Google going big for HTML5 is probably helped by the fact that the sole author for HTML5, Ian Hickson, works for Google."

"OK, HTML 5 is probably awesome. But IE is gonna screw it all up by being 5 years late to adopt or going their own direction. Standards are great for development, but only if they are enforced!!"

"On the plugin vs. HTML 5 comments I don't understand why anyone assumes it is a winner-take-all contest or that we will escape from "plugin hell" any time soon. The work Google and Mozilla are doing is wonderful but I also think many people take a more realistic attitude toward the value of plugins."


There are some personal judgments in there, but also some reasonable questions too.

This week, those reasonable questions may be overwhelmed by effusive hype, but these questions will persist.

These are questions that the presenters must persuasively answer before the future they declare can arrive.


So... if you talk about Flash with your partners or friends, the next few weeks may be difficult. I don't think the hype will reach Oprah-like levels, but it will be close. Hang in there. Look at the claims yourself, seek out skeptical questions, determine if these are openly answered.

But the trend's your friend. Hype cycles last only so long before the journalistic pressure to debunk them becomes overwhelming. Truth does out. ;-)

May 26, 2009

... then they call you names....


From the ongoing WhatWG HTML5 IRC chat:

# # [07:31] hsivonen: pasting some URLs for to have a record in the log:
# # [07:32] hsivonen: http://twitter.com/jdowdell/status/1608188445
# # [07:32] hsivonen: http://twitter.com/jdowdell/status/1352144527
# # [07:32] hsivonen: http://twitter.com/jdowdell/status/1344855975
# # [07:32] hsivonen: http://twitter.com/jdowdell/status/1464529893
# # [07:32] hsivonen: (end of flood)
# # [07:34] * othermaciej: is not sure he gets the theme there
# # [07:34] hsivonen" seems like jd considers the variability of HTML runtimes a problem, so I guess HTML5 should err on the side off well-defined behavior
# # [07:46] othermaciej: oh you're quoting the Adobe trollblogger?
# # [07:52] hsivonen: othermaciej, I'm quoting the Adobe Flash blogger who seems to blog a lot about HTML these days
# # [07:57] MikeSmith: johnny one-note
# # [07:57] othermaciej: hsivonen, after reading some of his recent posts, I stand by my prior assertion
# # [08:04] othermaciej: yeah, he's basically Adobe's Asa Dotzler
# # [08:09] MikeSmith: another possible competitor in this race -
# # [08:09] MikeSmith: http://twitter.com/mattmay/status/1884053829
# # [08:10] MikeSmith: but I think he'll need to try harder than that if he really wants to win it
# # [08:10] othermaciej: it makes Adobe look sad and desparate to try to fight against HTML having more features
# # [08:12] Hixie: i don't think matt is fighting html having more features in that twitter
# # [08:13] Hixie: since leaving the w3c would make progress on html5 far quicker and easier
# # [08:13] Hixie: if anything, he's fighting _for_ html having more features
# # [08:14] othermaciej: I wonder why John likes the catchphrase "browser brands" so much
# # [08:14] othermaciej: why does he say that instead of "browsers"? is that an Adobe thing?
# # [08:17] hsivonen: othermaciej, the impression I get is that he wants to portray browsers as different chrome designs
# # [08:17] othermaciej: but wouldn't that portray the engines as essentially interchangeable?
# # [08:17] othermaciej: which is contrary to his point?
# # [08:17] hsivonen: othermaciej, I suppose
# # [08:18] hsivonen: othermaciej, although I think the point is that you pick your favorite toolbar and run Flash in the space below it
# # [08:18] othermaciej: ah
# # [08:22] othermaciej_: "browser brand" is not a very common phrase outside his blog
# # [08:22] othermaciej_: but yeah I can see how he might want to take the "browsers are just Flash loaders" position

"hsivonen" is Henri Sivonen, who may still be associated with Mozilla... "othermaciej" is Maciej Stachowiak, employed by Apple... "Hixie" is Ian Hickson, once from Netscape, then Opera, now Google.

(Thanks to (the often needlessly foulmouthed ;-) Mr. LastWeekInHTML5 for extracting the above bit from the public-yet-pragmatically-inaccessible IRC chat.)


I'm not "a troll" for asking inconvenient questions. Let me rephrase just a few of the major outstanding ones:

  1. How do you propose that these RIA features in the hypertext spec should actually work out in the world? VIDEO tag seems like it will fail with codec ambiguity. HTML is intrinsically a "Let's Use Microsoft Runtimes!" kind of scene. How can you specify the syntax for new features, without any realistic plan for making these features possible in the real world?

  2. If you're actually seeking browser support for patent-unencumbered codecs, expanded local storage, drawing engines and such, then why aren't you making plugins for other browsers? If it's because "plugins are not first-class citizens in the browser", then improve your plugin support and cross-browser homogeneity so that they are. At the very least your VIDEO tag plan must take advantage of existing video support out there in the world. Why has Google Gears been allowed to languish? Why isn't a CANVAS ActiveX Control seriously discussed? Why do you let an anti-plugin prejudice spoil you to the possibilities for increasing your own success?

  3. How are you really helping content developers reach their audiences? The only benefit VIDEO tag seems to bring is to browser vendors who wish to fragment web video into their own proprietary silos. Ten years ago DHTML powerplays fragmented browser support, and it was content developers who have been paying the cost ever since. It's good that the current spec will clarify past hypertext ambiguities. But introducing vast new realms of ambiguity does not help. How is this HTML5 proposal actually helping creators reach their audiences, out in the real world?

(For some of the IRC content: My tweets on twitter.com make sense if you try to use that UI -- each refresh brings back a different set of Ajaxy interactions. A "troll" is someone who uses the anonymity possible on the Internet to harass others -- it is not someone who takes named responsibility for asking reasonable questions. "Browser brands" refers to the multiple HTML engines consumers might choose: Microsoft, Mozilla, Apple, Opera, and Google -- they differ in their capabilities. Browsers are not "just Flash loaders"... hypertext browsers are vital and unique tools, and we all hope they remain as such.)


Reasonable questions, no matter how difficult, deserve answers. Raising such questions does not deserve namecalling. And namecalling... does not persuade.

May 23, 2009

Opera CEO quotes on Flash

Yesterday there was a newspaper article titled "Opera: Web standards could eclipse Flash". This prompted a big debate on Slashdot -- about CSS vs TABLEs and such. ;-)

I stayed out of it because I didn't know what Opera CEO Jon von Tetzchner actually said. Turns out there's a transcript, and it shows that the headline was picked out from a part at the end of the interview. After a long section on widgets, then on browser competition and HTML5, this came up, before being closed out by app stores and Palm Pre:

(Q) In your presentation earlier, you were talking about what HTML 5 can do as a replacement for Flash.

(A) I think you can do most things with the web standards today. In some ways, you may say you don't need Flash. On the other hand, I like Adobe — they're a nice company. I hope they flourish and do well, so this is not about killing Flash. I think Flash will be around for a very, very long time, but I think it's natural that web standards also evolve to be richer. You can then choose whether you'd like to do it through web standards or whether you'd like to use Flash. What we definitely don't need is more proprietary technology — that's the main thing. We have Flash. It's there — fine. Let's not get anything more.

(Q) Are you talking about Flash becoming more niche?

(A) It's more of a choice of what you like doing.

(Q) Where's the line between what web standards can do and what Flash can do?

(A) You can do everything, I believe, through web standards — you don't need to use something else. But there might be something where you believe Flash is better; then you choose to use Flash.

He seems mistaken to me -- comparing a proposed spec with an existing worldly ability, comparing something minority browsers may make practical in the future with specific features Flash innovated in the past, all while ignoring further capabilities Flash already provides in the world's browsers, and the rate of innovation it promises to continue fostering in the future -- but Flash definitely wasn't the main point of his interview.

I'm sure the reporter made much better ad revenue with this choice of title, though. ;-)

(Browser vendors have an interesting perspective. They focus on what they themselves can code. They tend not to focus on the real issues of how realworld developers can deliver to realworld audiences. Adobe tries to bridge those silos, removing barriers to creators publishing their work. Different priorities.)

Anyway, no big deal here... much of yesterday's debate seemed to be more about online drama than about what the Opera CEO actually said. Time will correct many of yesterday's arguments.... ;-)

May 13, 2009

Building upon untested assumptions

This morning webstandards.org printed an "Interview with Ian Hickson, editor of the HTML 5 specification". A particularly disturbing section:

Bruce Lawson: You’ve said that HTML 5 is in "direct competition with other technologies intended for applications deployed over the Web, in particular Flash and Silverlight". Why is it so important to do so, and isn’t it a lost cause given that those techologies are already out there while HTML 5 is not yet complete?

Ian Hickson: HTML 4 is also in direct competition with proprietary technologies, and it’s winning, hands-down. HTML5 is just continuing the battle, because if we don’t keep up, then the proprietary technologies will gain ground.

Bruce Lawson: What are the main philosophies of HTML 5?

Ian Hickson: Backwards-compatibility, incremental baby steps, defining error handling. Those are the main philosophies.

All day long I've been trying to puzzle out how someone could fit those sentences together, what type of ideas must first be assumed in order to make such an utterance conceivable, much less worth saying in an interview.

Tweezing apart some of the apparent assumptions of anyone able to make such a statement:

  • "HTML 4", as a cross-company hypertext specification, is said to be somehow directly comparable to a common clientside capability such as Flash. How can the HTML 4 spec compete with its own extension mechanism? What must you assume before being able to craft such a sentence?

  • Aside from issues of logical levels and comparing apples to oranges, there is the apparent assumption that "anything Flash can do, my favored runtimes must do, better". Why? If Flash has added many capabilities to today's World Wide Web, why must people billing themselves as "The Open Web" fight it? He seems to think there's obvious reason, but there's a step missing in the description.

  • Perhaps most importantly of all, he's assuming that a hypertext specification should become a multimedia/RIA specification. This is dangerous to the entire HTML ecology. Even the current specs are confusing, after they've spun out styling, object model, even image formats into separate specs. Stuffing an additional drawing spec and a storage spec and animation and 3D and what-all into the hypertext spec weighs it down even further. I think he is espousing a recipe for ruin, and I don't know why, because he doesn't publicly examine his assumptions.

  • The mention of Silverlight is intriguing. This cross-browser plugin has had no realworld effect. Silverlight does not realistically threaten Chrome. HTML5 and Silverlight perhaps compete in blogosphere mindshare. Or perhaps he's just raising it as an "M$ boogeyman" to better bash Flash. There's something that prompts him to include Silverlight in his assertion, but it is not clear what assumptions underlay its mention.

  • Why even bother to say "and it's winning, hands-down"? Is there a "winning"? If so, how do you measure it? What type of boosterism could produce such an utterance?

  • Bruce directly asked whether this was "a lost cause" because Flash was already in use while HTML5 was still in committee. Ian ignored this vital question of how to bring a concept out into the world, making a capability genuinely useful to people. It seems he assumes it's not important enough to think about.

  • He assumes that "HTML5" is "continuing a battle". Perhaps he knows what the battle is. The rest of us have to guess at his assumptions.

  • He assumes that there is something called "proprietary technologies". I assume he does not assume this includes Apple's Webkit governance, or Google's ubiquitous web beacons.

  • The "main philosophies of HTML 5" include a helpful point: defining what browsers "should" do when they encounter improper content. But "incremental baby steps"!? It's more like a wild jump to Rich Internet Applications. Maybe the assumption here is "No one will challenge me on this jive".

I've been trying to see the world through Ian's eyes, but I cannot -- he has built a rhetorical structure atop untested assumptions, instead of establishing upon common ground.


What would I like to see?

I'd like to see some clear discussion on the appropriate scope of a spec that any hypertext implementation should be able to easily reach. If CSS is a separate specification, then why isn't RIA?

I want to see more "standards" discussions about the needs of people who actually publish to the web. We should not have had the last ten years of people working around browser differences. No more!

I wouldn't mind seeing standalone RIA specs in the SMIL, HTML+TIME, SVG mode. These live or die on their own, and do not threaten the extraordinarily-useful HTML spec itself.

I want to see "open web" evangelists find ways to bring their functionality into other browser brands. Instead of worrying about microshare, figure a way to make cheap codecs available to any person in any browser today. Browsers were opened up to third-party rendering long ago -- don't fight to turn back the clock. Stop railing against cross-browser functionality; stop thinking you must own it all yourself; if you say you're for "open video" then act it. A campaign for a Theora plugin would hold more relevance.

(The proposed fragmentation of Today's Web doesn't worry me as much... Flash makes too much sense for people to abandon it, and Adobe thrives by uniting fragmented silos. Those content developers who don't see through the hype will be the ones to pay the price. But increasing fragmentation and siloing would not be a good thing for HTML in general, which is why I'm writing this essay.)


What do I think is really going on?

I think it's a corporate powerplay to "bless as standard" runtimes from the corporations pushing the multimedia syntax. There's no angle for realworld developers in VIDEO tag and the rest -- their proponents shy away from any discussion of how these might someday be supported and useful in the world. This campaign is not for content developers or their audiences. It's a marketing play, like how Microsoft lobbied for OOXML.

That's why it doesn't matter that VIDEO leaves codecs unaddressed... why it doesn't really matter that most consumers use Internet Explorer. This is not really about content developers. It's about browser vendors. They can make any content requirements they wish upon publishers, once their engine is "blessed" for VIDEO tag.

Some vendors sell proprietary hardware. Some sell proprietary data about what you watch to advertisers. I suspect either would be happy to fragment Flash capabilities if they could. Instead they've found other ways to construct a walled garden around audiences. And it's easy enough to find fanboys as footsoldiers.

Flash scares them because it opens things up too much, levels the playing field. That's what I think is really going on.


Summary: The HTML5 editor says he's fighting a battle against Flash. But he doesn't explain why, so it's hard for us to help him get better.


[Comments: I'm not really keen on diluting this conversation with guesses about what he may have meant, thanks in advance.]

May 4, 2009

The Browsers of Tomorrow

The browsers of tomorrow will likely include some type of editorial guidance, as this example of a child-oriented browser at TechCrunch today shows.

During The First Browser Wars, Netscape and Microsoft competed on adding similar new features in incompatible implementations, and in the rush did not think through the security implications. This pattern is recurring in The Second Browser Wars today, with the current "HTML5" committee focusing on RIA specs, and it's likely that many of the brandname browsers of tomorrow will be much larger codebases, with more functionality which will inevitably interact in unexpected ways.

But a different approach is to tailor the browser to the needs of the audience, rather than to the needs of the browser vendors. Here a group optimizes a user-experience for children using AIR. As TechCrunch describes:

"KIDO'Z is a pretty nifty Adobe AIR-powered desktop browser app that gives kids a safe and fun environment to play games, watch videos and/or visit pre-approved websites. When you first install the AIR app as a parent, you can configure the age and gender of your offspring as well as your location and preferred language... All content only shows up when a KIDO'Z team member approved the content beforehand, and to add more layers of security all scripts, file downloads, pop-ups and any other attempts that could lead to content which has not been approved, are thoroughly blocked. To use the app, kids won't need to know how to read or write since obviously the whole UI is quite visual of nature, and very colorful to boot."

The application is tailored to the needs of the audience. HTML should serve children well... children should not be forced to have adult sensibilities before using a browser. One editorial approach will not suffice for all, obviously, and there are many possible "trusted voices" which can help guide the web-browsing experience.

I think the hypertext specification should be clear and easy to implement. But that now conflicts with corporate desires to control each layer of the consumer experience, and to lock-in use of their own runtime engines. AIR provides a way to fight back, by using HTML or SWF to customize a particular user experience atop a standard Webkit implementation.

AIR includes a browser, but is not itself a browser... you can think of it as a web browser toolkit. Anyone can now make tools for surfing the web more efficiently, more appropriately. No need to all wear the same uniform... browsers can now be customized for the audiences they serve.

April 25, 2009

Anticipating standardization, and deprecating standardization

Two different stories here, of the difficulties of banking on either presumptive or actual standards.


Dave Shea had an essay this week on how he is no longer using XHTML conventions in his paying work: "Six years ago, many of us thought XHTML would be the future of the web and we’d be living in an XML world by now. But in the intervening time it’s become fairly apparent to myself and others that XHTML2 really isn’t going anywhere, at least not in the realm that we care about. For me, a guy who builds web sites and applications for clients that have to work in today’s browsers, XHTML2 is a non-issue. No browser support, no use to today’s web authors. End of story."

Advocates for a proposal often speak of it as an accomplished reality, before it actually achieves agreement from others, much less is available from browser vendors, then adopted by significant audiences, then proven cost-effective by content developers. There was enough talk about XHTML that it was easy to assume it was real. Dave bet on XHTML, and is now walking away from that bet.

Jason Grant mentions that the same dynamic is occuring today: "I find this very strange. Somehow you feel like HTML5 ‘is here’ while I would argue that XHTML2.0 nor HTML5 are here either. The ‘improvements’ offered by HTML5 are few and browser vendors have jumped into implementing it without really considering the future properly... Most people I speak to are not happy with HTML5 to great extent and that specification does not seem to be heading forward that rapidly either -- in other words one could argue both XHTML2.0 and HTML5 are pretty dead."

Dave demurs that he's merely expecting HTML5 to be ratified and then implemented in its current form, and later adds: "I don’t feel like it’s remotely close to the right time to start delivering client sites in HTML5. Experimental and personal sites, maybe."

Late in the thread Duane Storey had this interesting tidbit on a different subject, the academic rationale for XHTML and what happened when it met the real world: "The only real benefit to having a XHTML/XML document is that it can be properly parsed by a XML parser. In theory, that should make manipulating the document easier and rendering the document less error-prone. The reality is though, as a third party developer, since most sites don’t actually properly validate as XML, you can’t make the assumption that they are parsable, which basically means you have to treat most things as HTML anyways and allow for some slop."

Most of the rest of the lengthy comments section is about arguing over rules, and what the rules mean, and what the rules should mean... not much about results.

What I got from Dave's piece: Anticipating that a proposal will become a de jure standard, and then a meaningful de facto standard, is a gambling game.


Jonathan Snook brought up different-yet-similar problem... when should content developers consider fighting against what audiences actually use? IE6 has dropped from universal consumer support down to Firefox range, but it costs more for content developers to do new tricks in it. He doesn't come down on either side of "the IE6 question", but provides some new ways of looking at the problem.

Here's how he opens: "If you haven't done so, I highly recommend cracking out a copy of Firefox 1. Start bouncing around to a few sites and check out what's broken. Sure, most stuff is fine but you'd probably be surprised at what's broken. What about Firefox 2...?"

And here's how he closes: "You may say that Opera is too small to really care about. It's only 2%. You don't care about Firefox 2 users. It's only 2%. You may not care about accessibility issues. It's only 2%. Soon enough, you've whittled down your potential market to 90% of what it could have been... I'll keep thinking about all those people I could be getting. Did they walk away with the best experience? Sometimes it hurts my head just to think about it. So now it's your turn: Should we care about old browsers or fringe browsers? Or are we safe in our little bubble?"

Internet Explorer 6 was the exclusive browser choice of over 80% of all surfers as recently as December 2005 -- no other browser version has ever been used by so much of the audience! It's the closest thing to a standard release (in terms of realworld audience support) that the browser world has ever seen. Even today it still has marketshare about equal to all versions of Firefox combined.

IE6 was the standard, and now we're thinking of changing the definition of "HTML" out from under it to include things it won't understand.

Another way to look at it: Should content developers effectively outlaw ex-standard user agents from their new-standard designs? Tricky question.

Comments at Jonathan's were mostly "here's what I test against". Scott Jehl brought up the key point of mobile HTML, and I followed up on that, although I didn't bring up the other key issue of archival formats versus the ephemeral web. Comments didn't surface a solid answer to Jonathan's question.


Dave was dealing with anticipating that something may become a realworld standard. Jonathan wrote about deprecating something that was already an overwhelming realworld standard.

Don't know what it all means, and I don't have answers to their questions, but thes are striking questions to think about.


Flash is in here, too, but the versioning issues are much less severe, and there's already progress being made on addressing cross-device issues.

I don't know what percentage of IE6 users are using the current Flash Player, but imagine it's pretty high -- people are hesitant to make big visible software updates because it risks changing things, and "if it ain't broke don't fix it". But browser plugins don't change UI or habits, don't risk losing data. If you want to do new stuff faster, then it makes sense to have the runtime work across browser brands, across browser versions, and not to make a big splash of itself when it arrives.

There's more resistance to updating a browser, much less changing a browser brand, and any browser choice tends to be an exclusive one.

Flash works with almost any browser, and doesn't make you choose among them.

Different dynamics. The technologies complement each other.

April 22, 2009

Thoughts on Ruby's "HTML Reunification"

I was off-the-grid when Sam Ruby of IBM, co-chair of W3C HTML Working Group wrote an essay on HTML 5 which sparked many comments, followups. Some of it went off into details, but here are some of the higher-level ideas I pulled out of it.

Sam starts by describing how the current HTML5 proposals fall into two camps: new features for browsers, and then how existing features should actually behave. The difficulties lie in that latter half -- even small details like whether quoteblocks should assume quotemarks aren't yet standardized in the spec, or in the world.

But it was a rephrasing a little later which really resonated with me:

TV Raman made a comment a number of times that we need to partition the idea of extensibility into two parts: extending the platform vs. extending the language. Those two words didn’t make much sense to me, but his examples did. Video and 2D graphics are things that need to be implemented by the browser vendors. And care needs to be taken that such features are defined in a way that they interact consistently with how other parts of the platform interact with other components such as CSS. Raman refers to these as platform features.

The second type of feature is one that does not need any support by browser vendors other than to simply to parse the unknown elements and attributes into a DOM, and to provide access to the DOM via JavaScript. RDFa comes to mind as such a feature, as does ubiquity-xforms. TV Raman refers to these as language features.

I like and endorse TV Raman’s split. Different burdens of proof and policies need to be applied to each type of feature.

He goes on to say that for new types of features to actually be usable by developers, "consensus by browser vendors is essential" -- minority browser-vendors risk forking the Web; realworld adoption and practical deployment must be addressed. For language improvements, I think he wants to see better error-reporting to the user if some markup isn't recognized.

But the part that struck me was how much of the current HTML5 discussion falls into two distinct sets: new "platform" features, and better handling of existing language features. For too long, runtime makers have added non-standard features, pushing the testing costs back onto content developers -- the DHTML Feature Wars gave us a decade of web developers sweating out the differences. There's a similar dynamic emerging today. But what serves the needs of vendors does not necessarily serve the needs of developers.


In reading some of the spin-off essays, I was particularly struck by this passage, from Rob Sayre of Mozilla:

"I don’t see a problem with HTML5 and XHTML2 continuing their separate ways. I do see a problem with some features being made part of HTML. Examples include a laughably underspecified SQL syntax, a video element that isn’t interoperable, and an RDF syntax that uses namespaces in text/html and QNames in content. Maybe we can all agree that those examples don’t belong in the HTML specification at this point. But then the problem shifts to one of endorsement. People want the HTML specification to tell them what they’re doing is OK. I don’t think the HTML document should do that either."

That last point is key -- if the VIDEO tag doesn't actually serve content developers, then who does it serve, to warrant such attention? The most reasonable hypothesis is that the standards process is being used to "bless" the multimedia runtimes browser vendors want to create and control. We've seen it happen with the OOXML controversy, where standards bodies were used to bless a technology in the marketplace.

Endorsement of a browser vendor's needs. That could explain why much of this is being pushed through, despite the apparent costs to content developers and their audiences.


I went through all the comments -- painful reading, but I'm glad I did, because it revealed this little section of different perspectives from those seeking HTML runtime adoption, and those with a more pragmatic perspective:

Brad Neuberg of Dojo expresses the "HTML5 must have shiny features" position:

"If we follow Rob’s disassembly of HTML 5, there won’t be anything there to actually drive adoption. Sam, you suggest that his version has well-defined error semantics.... that didn’t work too well for XHTML though to drive adoption. We need a real-world standard with compelling features to keep up with Silverlight, AIR, etc., not an academic document that simply cleans things up. Unfortunately that’s not enough."

Karl Dubost of W3C, in reply:

"This is a noble goal, but it really looks like a Geek Wet Dream. There are awesome things done with Canvas, but the thing that the hardcore geeks of html5 tend to forget that it is still far beyond what the Flash or Adobe Air platform propose. I’m not advocating for them. I really wish it was different. You can definitely say that canvas is a baby step for making an application platform to compete with adobe air in 15 years indeed. (Though don’t forget the competition will advance.) But selling canvas and some of the features of html 5 as a competitive technology with regards to the others make us (people in the HTML 5 WG) ridiculous."

Brad seems to like Flash and AIR, but it's not clear why he wants to force all browsers to try to duplicate such functionality. If vendors are still arguing over how simpler text features "should" work, then that seems a more pressing problem to solve.

March 27, 2009

Pervin' the Standards

This is not a tightly-honed, logical, and factually persuasive essay. I cannot predict the future well enough to induce others to change from a dangerous course. Consider this as just an honest rant. I'm quite apprehensive of the future of HTML, if enough of us do not rant longly and loudly enough. Just an unedited draft of a rant; happy Friday to ya. ;-)

The tipping point for the rant? "An analogue clock using only CSS". Paul Hayes made an (admittedly studly) example where JavaScript queries the local system's time, and Cascading Style Sheets move the hour, minute and second hands around.

Stylesheets. For animation.

Not SVG. Not an internal browser-specific drawing language. Not bitmap rotations through JavaScript.

Stylesheets.

Pervy.


Styling guides themselves have been around since SGML days. It's handy to separate presentation and content.

The "Cascading" in CSS refers to how styling choices of the designer, the reader, and the browser vendor are reconciled together. It's a tricky task, and Wikipedia has an intro to the innovations in this area in the 1990s.

What's "a style"? The original intent was font, sizing, color, and other reading attributes. This makes sense. Later it was used for layout and positioning, instead of table-based layout. That's questionable scope-creep, but is a done deal.

Now Apple is promoting styles as animation engines, transition engines, even 3D engines.

That's kinky. Otaku, chikan. Ham sup. A Kraft-Ebbing candidate, just a wee bit too twisted.


Questions on CSS already dominate the web-design mailing lists, and have done so for many years. It isn't clear how to use and practically deploy this cascade of styling instructions between creator, consumer, and browser vendor. Adding 3D and other animation into it may serve the needs of browser vendors, but does not promise to help content creators or their audiences, and runs difficult-to-predict scope creep risks.

If you want to make an animating clock in a browser, then go for it. But please don't drag poor CSS in for that task! They're style sheets people... not the kitchen sink!

Think of how such a proposal could possibly evolve. Some browsers will do animation through CSS. Some won't. We already see it with the over-ambition of Ajax: tricksy sites will request visitors to change their browser brand, or will just outright fail on the smaller mobile browsers.

If animation becomes a mandated feature of CSS, competing proprietary browsers will run the risk of being labeled as non-compliant. It raises the barriers to new browser entrants. It serves to lock-in browsers which have already developed all this extra effluvia.

Sure you can code it. But how will people see it? (And by people I don't mean "just you and your enlightened friends"... I mean universal access.) Take a tip from Hari Seldon, and think of how the technology would grow.

(Caveat: I've "known" Dave Hyatt, Dean Jackson, and Chris Marrin for years online, and I trust them as people. What I'm objecting to is the corporate drive to use a standards body to "bless" Apple's internal needs for a media-savvy runtime engine via pollution of CSS's core mission.)

(Related: Sam Ruby on HTML5 Evolution; Doug Crockford on HTML5 reset.)


Here are some of the common objections I expect to the above:

"Oh, we don't want a full 3D engine like VRML, we just want little 3D effects."

The clock example shows that people will use technologies in unexpected ways. The creators of Usenet did not intend mass advertising. The creators of email did not intend to create spam. The inventors of IFRAME and mashups did not anticipate third-party exploits. Stuffing the genie back inside the bottle is harder than looking carefully at the bottle before opening it.

"We want patent-unencumbered codecs, so toolmakers can make video tools without licensing modern codecs."

I'm with you on the goal. But putting VIDEO into the Hypertext spec is not the way to do it. You cannot require new browser vendors to follow your lead. Make an Ogg Theora plugin, so that anyone can use it, with minimal impact on the overall spec itself. Don't enact dependencies on a particular browser brand.

"But we don't want a plugin -- we want Open Video to be a First Class Citizen on The Open Web!"

So improve your plugin support! WMODE layering is still flakey across the various browsers. JavaScript/plugin intercommunication is still messier and more variable than it should be by this point. Make plugins a first-class citizen in the browser brands you control, and your video will have a wider, more inclusive audience.

"You're just saying that 'cause Flash pays your salary."

Adobe actually benefits from increased browser fragmentation, because we sell the tools that reconcile the various browser brands. And the more over-ambitious HTML becomes, the better Flash will do in comparison. But I'd rather not have that income if it comes at increased cost to people actually trying to use HTML.

Apple makes more money when it locks people into Uncle Steve's Walled Garden. Google makes more money when it knows you better than you know yourself and can sell your attention to advertisers. Web pundits earn more self-esteem when they're seen as being ahead of new trends. Web journalists earn more when they increase the power of advertising networks. Web devs earn peer respect when they code something new.

All of us have self-interest. None of us are pure. Question the arguments, don't shoot the messenger.


Fortunately, there's hope. Check out the apprehension in some of the comments at the Ajaxian write-up:

"While this interesting and maybe a little bit cool, I think it is inappropriate for Webkit to take CSS (even if only for itself) in this direction. CSS was created to define style. This seems more like a behavior to me and that belongs to the Javascript problem space."

"CSS should be a style guide, not a programming language."

"To me, it seems like Webkit is trying create CSS behaviors similar to what MS did with IE’s CSS Expressions close to a decade ago (which they have since abandoned in the most recent release of IE). I’m really hoping the W3C doesn’t add these behaviors to the CSS spec - behavior is much better suited to JS."

"I thought the whole reason for CSS in the first place was separation of purpose, removing styling from content. Now we’re adding behavior into style?"

"Why is it bad when MS goes off in wild proprietary directions with CSS, but if Safari/Apple does it it’s newsworthy?"

"I for one want CSS to do CSS, Javascript to do Javascript, HTML to do HTML and ASP/PHP to do ASP/PHP. Once we start getting into overlap of these technologies it can only cause feature bloat, confusion and problems. I want each tech to be lean and mean to do be the best at what it does and leave other tasks outside their areas for the tech designed to handle those tasks."

We may not be able to persuasively articulate why this will eventually be considered a bad architectural decision. It's like when vendors of email clients started talking about how wonderful it would be to add hidden graphics and scripting to the emails strangers send to you. Vague warnings of an unsound future are at a disadvantage to self-interested "But I wanna do it!!" evangelists.

It's hard to persuasively document future risks. But encumbering HTML and CSS like this is not the way to bless your own multimedia engine.

This is not a sound path. Think it through. Trust your gut.

A clock... in stylesheets!? There is something deeply wrong with this picture.

March 24, 2009

Standards for thee, but not for me

Strange news today... Mozilla announces an initiative for "3D on the Web".

Now, both VRML97 and Extensible 3D are already full ISO/IEC standards.

But Mozilla's proposal relies upon further proprietary extensions to the experimental CANVAS tag, as opposed to Apple's 3D extensions to Cascading Style Sheets, both of which are part of the contentious HTML5 discussions, some of which may eventually wind up as a W3C Recommendation, which might then possibly become an actual ISO/IEC Standard. (Yes, it's convoluted. ;-)

But such de-jure standards for Web 3D as ISO/IEC 14772 and ISO/IEC 19775 already do exist.

And projects like Papervision3D are already very successful, and work quite well in Firefox, or any browser brand, right now. You're welcome to contribute to this or any of the other existing opensource 3D projects that play in peoples' browsers today.

De-facto standards for Web 3D already exist too.

Thinking just a little past the press release and the coding strategies... how will the runtime code be distributed? If it's only embedded within one or two browser brands, that's a clear non-starter, at least for non-hobbyist audiences. If the renderer is available as a new cross-browser plugin, then that enfranchises the range of browser brands, but imposes adoption costs upon consumers. A rock and a hard place.

Mozilla folk? I share your overall goals about advancing web technology. But think things through, objectively. It may be fun to re-invent stuff yourself, but it's more productive to work well with others.

And you'd lose the moral fulsomeness of the "Web Standards for The Open Web!" pitch when focusing on your own proprietary alternatives to existing standards.

"Standards for thee, but not for me"... that's not the most convincing approach!

March 22, 2009

Plugins enfranchise minority browsers

Neat story at a Mozilla contributor's weblog... online banking in Taiwan used bank-distributed encryption coding modules, which were previously only available as an ActiveX Control. They recently repackaged these modules in the classic cross-browser extension mechanism, Netscape Plugins.

Result? Now more people have choice in browsers, because third-party functionality could be included in each minority brand.

Opening up to standard cross-browser extensibility results in a much better situation than if plugins never were.

March 12, 2009

CANVAS, accessibility, appropriateness

It's good to have Web content available to the widest range of people -- to not turn people away because of their operating system or browser brand, or because of physical differences such as visual acuity or motor-skill difficulties.

In the Flash world we've been dealing with this inclusiveness issue for a long time -- figuring out how to improve the economics of providing a multi-modal experience -- and recently there have been exciting improvements in tasks such as captioning video. Still, the objection "but Flash isn't accessible" is often used when someone wants to nix your project.

Here's a different perspective on that "must be accessible" priority... David Baron of Mozilla, in "Web Accessibility as a Political Movement" responds to those who wonder why so many of the projects labeled as "HTML5" do not seem to be attending to the needs of diverse audiences. This is part of a lengthier conversation on the CANVAS tag and its use.

Here's one argument, which you may have seen in different form before: "Existing disability law, for example, might require installation of wheelchair ramps in places of 'public accommodation,' but doesn't require them to be installed in everybody's houses. Likewise, I would expect an online form on a government Web site that is required to visit the United States to be usable by blind people, and likewise expect good alternative text for an image on a government Web site describing how a bill becomes law. Yet I would not expect a bunch of photos that John Smith shares with a few friends on a Web site to be required to have reasonable alternative text. In other words, content on the Web varies widely in importance and amount of use. Yet some accessibility advocates insist that even John Smith posting a few photos online must be forced to provide equivalent alternative text to replace the photos."

There's also acknowledgment that purely idealistic positions may be difficult when brought into reality in the world: "Web accessibility involves tradeoffs, such as between burdens on those who send information and burdens on those who receive it. Sensible choices along this spectrum can vary depending on how the Web is being used; there's a big difference between publishing to an audience of five (that might be larger later, if you happen to succeed) and publishing to an audience already known to be in the millions."

Both of these emphasize the need to look at the total situation, and that a particular stance may not apply to every case... far from the usual absolutism of "but it's 'proprietary'".

I'm not sure I agree with his entire position though... sections like these seem to go too far: "I think the attitude that evil Web authors need to be forced to care about accessibility leads to technically worse solutions that require more work for authors and leave the Web less accessible to disabled users as a result... I think this community is in significant danger of being taken over by, or at least best known by, those within it who espouse such extreme positions that they risk causing the entire community to be ignored."

Read it yourself, figure out how you feel about it... accessibility is definitely an area in which we need to encourage better practices, but bringing that about is the hard part. I just found it refreshing that someone at Mozilla emphasized how pragmatism and idealism must necessarily balance each other.


There's one more wrinkle about "accessibility": the concept applies not just to differences in physical capability, but also intellectual capability, language, and cultural differences. Text itself imposes cognitive and language-skill restrictions (my own text here is discriminatory!). But imagery, animation and video all reach a wider range of people in the world than text alone can. It's hard to craft a message which reaches every potential audience member, but "rich media" should definitely be one tool in our toolbox when attempting to do so.

October 16, 2008

The De Facto Web

Opera Software makes a web browser. They've accumulated a giant database of web URLs for testing purposes. Recently they analyzed the contents of those pages. The results are very surprising:

  • 33.5% of sites use Flash
  • 78% use JavaScript, but only 4% use Ajax
  • 8% of sites have little "W3C Validated" badges, but only 4% actually pass the W3C's validators

There's been a lot of lecturing done, over the past decade, about "web standards" and "the open web" and "the proprietary unweb" and so on. What's interesting is how much that rhetoric diverges from reality: Eight times as much Flash as Ajax, or even "valid" HTML. Lots of JavaScript, but little of it advanced. A false sense of how many sites actually follow the W3C's lengthy specifications.

What we've been told to think, is different than how things are.

Web standards folks seek to dole blame. In over-long, inaccessible, and even polarizing English.

HTML5 promises to make things more complex and unimplementable, instead of focusing on the basics like clicking. The discussion is lengthy and not very readable, even for fast-reading native English speakers, and is presided over by an uncredited Google staffer with an arbitrary manner.

The "open web" just acting... strange.

Early web software acted upon Postel's Law: "Be conservative in what you send; be liberal in what you receive." Web discussions the past few years have had a streak of intolerance, of not accepting what is seen as "impure". But the Opera study doesn't show such authoritarianism in The Real Web.


What we've been told to think, is different than how things are. There's a difference between the volume of speech, and what the volume of people actually believe. That's what the Opera survey seems to indicate.

Flash is a real part of the World Wide Web today. A major part. Bigger than "web standards", bigger than Ajax. It doesn't replace the web. It's part of the real web, as real people use it.

But here's the interesting thing. The conservative standardista/openWeb/inGroup position may be anti-Flash, but Adobe is more than Flash, and not anti-standardista.

Adobe's about publishing -- the ability for creative people to communicate. We love publishing. HTML and the W3C, as flawed as they are, are Adobe's allies. We're continuing to work on JavaScript. Improving the world to the standardista's goal, is also Adobe's goal.

Adobe makes Dreamweaver, not just Flash. InDesign and AfterEffects too. We enable publishing. The more that people can communicate, the better Adobe tends to do.

And we're not embedding an advertising/surveillance network in your content. No intermediation between you and your audience. It's free, unencumbered, open publishing... that's the goal here.

Getting a predictable renderer atop the world's desktops takes the heat off HTML. It lets HTML be HTML. But if HTML tries to be SWF, it won't do as well.

My recommendation? Just keep things in a sensible proportion. We need to improve HTML. We also need to improve SWF. But both are real publishing options today. We need to acknowledge both, and not give in to prejudice. Stay open.

That's my main takeaway from the Opera report. What we've been told to think, is different than how things are.


(Sidenote on the Dreamweaver stats: Very few pages produced with Dreamweaver are actually identifiable as such. The Opera study says "MAMA looked at the META 'Generator' value to find popular CMS and editor". But I can't recall Dreamweaver ever identifying itself in the META-Generator field. Even if they checked for JavaScript routines like mm_swapImage, not all Dreamweaver pages use it, and not all pages which use it came from Dreamweaver. Adobe just provides neutral publishing technology, and it's up to each creator how they choose to use it. The survey's material on editors there, I'm not sure what it might really mean.)

More discussion on the still-unfolding Opera study is at Ars Technica and Slashdot today. Jens Brynildsen has a Flash-oriented perspective.


[ Afterword: A few hours later I re-read this, and realized I should provide some authoring context. That's not "Adobe" talking, that's me talking. I wrote it pretty much at a gulp this afternoon at the office. I sit near Scott Fegette, on the Dreamweaver team, and asked him to give it a quick read for any reasons to kill it, but that's the limit of "the corporate voice" on the stuff above. (I didn't ask Scott if he agreed. ;-) I had caught the news via the Ars Technica article last night, made a quick Twitter to stake my claim on the punchline, but then sat down and really read the initial Opera material, and was impressed. Took the day to digest it. Other people, both within Adobe and within the larger ecology, definitely shape my opinions. But many of them might disagree with parts of what I wrote. The words in the essay above are mine, and not Adobe's.]

October 13, 2008

Consumer power

Techmeme had an interesting link today, to a startup which does some type of link-controlling implementation of current HTML pages, with title Take Back The Web. Like lots of Techmeme, there's a whole bunch of text, which doesn't quite say much (take it back from what? how?), but I did like the opening:

When Tim Berners-Lee conceived the web, he dreamed of inter-connected documents, of surfing along from one person's page to the next, following a fluid path rich with information and discovery.

Instead what we we got is a big honkin' billboard, as commercial interests hijacked Tim's vision. Just look at any popular web site today and you'll find only two kinds of hyperlinks -- paid ones and self-referential ones (that keep traffic from leaving the domain). The only relevant links come from portals like Google that monetize search. So instead of deeply browsing the web, we search and click, search and click, search and click... So much for friction-free information and serendipitous discovery.

The web will remain captive to publishers until users exercise control over the hyperlinks that define the web's structure.

I disagree with the Google-canonization in there (aren't they based around commoditizing creative content to serve as fodder for Google's proprietary advertising network?), but do agree that many website publishers reacted to the actual structure and incentives of the web, rather than to the original "universal hyperlinked documents" vision behind HTML. Unfortunately, you have to install something to learn what the entrepreneur intends to do about it -- a blogpost that's pitch, without punchline. But I did like his article's setup, and the attention paid to the dynamic between publishers and consumers.

The HTML-based World Wide Web is merely one application of The Internet. It uses familiar network addresses, and layout suggestions are provided by HTML markup. Any user agent can do anything they want with those layout suggestions, and as those layout suggestions become more complex and difficult-to-implement (HTML5's gonna be a doozy), publishers should expect that their work will be repurposed in ways they did not expect. Where only the file formats are specified, and the runtimes and data policies are left to chance, the work you publish will always be editable and republishable by others.

Nothing wrong with that consumer-centric view of the publishing transaction. But it clearly doesn't satisfy all needs of all creators. Sometimes you want to assure the presentation, not merely suggest a presentation. Today's commercial web, in particular, won't like its adlinks stripped out. Video producers generally don't want to be locked into an atomistic file format... their production investment tends to requires a trusted presentation layer.

Internet-based communication shouldn't be "captive to publishers". It shouldn't be "captive to consumers" either. We need a diversity of publishing models, so people can reach their own agreements. A single model won't do it.

Specifying the runtime complements the greasemonkeyable web. We need a variety of tools to be able to express all communication needs. We need to resist the authoritarians who insist on only one "true" model.

Summary: Go, Greasemonkey! Go, Flash! Go, AIR! We need 'em all.

August 19, 2008

"Let's use Microsoft Runtimes!"

Startling to consider, I know, but... isn't that what "Standardistas" and "Open Web" people are actually saying, when they say "Only HTML/JS/CSS is acceptable"?

Hear me out before judging. I'm pretty surprised at having such a thought myself, so I'm still looking for ways to invalidate it. If you've got a good argument, I'd like to hear it. But it's a simple thought, and so seems strong.

We do know that "Flash subverting The Web" and such are bandied about. The rap is that you "shouldn't" rely upon the Adobe runtime because it's "not HTML, CSS and JavaScript". When asked why, the most common response is something along the lines of "Because Adobe might do something bad someday." (At this point I want to ask, "What, like they did with PostScript or PDF?" ;-)

According to the best stats I've seen -- Google worldwide queries Jan07-Jun08, over a billion browsers -- Microsoft Internet Explorer 6 is still used by almost 40% of the people out there. That's a lot. Beyond that, there's also about 40% of the world using Microsoft Internet Explorer 7. Another big audience. Beyond that, Firefox? One person out of six... 16%. A meaningful audience, but still, only one person out of every six. Safari has half the remainder, Opera is bigger on mobile, and 1.4% use even rarer browser brands.

Microsoft has overwhelming, crushing marketshare in rendering websites' HTML. 80% of the time your JavaScript will run in a Microsoft logic engine, against a Microsoft DOM, with Microsoft styling, and it's 50/50 whether you'll be running inside IE6 or 7. A TV network is ecstatic to get a 40% marketshare. A political party is completely satisfied with a 51% marketshare. Google dominates search with 60% marketshare.

For running Ajax, Microsoft has an 80% marketshare.

You can't choose. Your audience makes their own choice. And 80% of the time they choose a Microsoft runtime to render your HTML, CSS, and JS productions. Microsoft runs your code for you.

When you create an HTML page, 80% of people will view it in a Microsoft runtime. A pure "web standards" site from a CSS guru? Four out of every five people will see it rendered by a Microsoft runtime. A JavaScript application which can retrieve text from a server without refreshing the page? Your scripting will overwhelmingly be interpreted by a Microsoft runtime.

Microsoft Internet Explorer 7, getting close to 50%. Microsoft Internet Explorer 6, dropping down towards 30%. Mozilla Firefox, less than 20%. Safari, Opera, Konqueror, and more which must be supported.

But inevitably rendered 80% of the time in a Microsoft runtime.

(I know, I know, there is the promise that the standards process will someday Shame Microsoft Into Doing The Right Thing, and that Firefox must eventually rule the world, and "Better IE than SL!", but please bear with me, I was born a skeptical fella.... ;-)

If you're objecting to Adobe runtimes "because they're proprietary", then why would it be preferable to run nearly-all-the-time in Microsoft runtimes instead?

Such a simple question, seems like it should have a simple answer....

July 10, 2008

Crowdsourcing ALT tags

IBM had a news article yesterday about a project to increase screenreader accessibility for HTML sites by a third-party metadata overlay... if someone notices the screenreader representation of an HTML page is inadequate, they can request that a sighted participant add appropriate tags to a centralized database, and this data is then pulled and added to the site the next time a program participant visits that site.

Simple idea, but hard to talk about... Jacqui Cheng has another article at Ars Technica: "The Social Accessibility Project hopes to circumvent the entire problem of dealing with developers by allowing users with screen readers to automatically report problems with various web pages back to IBM. Volunteers can then sort through IBM's database of accessibility issues and create their own metadata for each element. When users with screen readers return to that site, or go to other sites visited by project participants, they will simply load the latest information from the database and be able to navigate the web with greater ease."

Neat idea, but I wonder what the social repercussions will be. Website owners have typically rebelled against third-party annotation networks, whether Third Voice or Smart Tags or any of various other efforts. One hot issue is when people see their work mashed-up without their explicit consent... another hot issue is the confirmation of metadata accuracy within such a voluntary network... I guess a third hot issue could be when trying to determine whether the HTML page you experience on one machine is the same as the same address on another machine. Lots of issues to iron out when the canonical page representation becomes mutable.

Still, this is intrinsic to the HTML model... when you can't predict the user-agent, you're never quite sure how others will experience the media you create. Greasemonkey is likely the posterboy example of not knowing how your HTML will be rendered. Third Voice was ultimately rejected by the webdev arbiters, but I think it will be harder to argue against this Social Accessibility Project.

No conclusion on my part... this collaboration on improving the webpages of others seems like a very delicate problem, and I can't predict how it will be received by website designers and website owners in general. Interesting.

June 26, 2008

Development vs deployment

Sorry to be banging this drum so consistently, but I'm not sure why this new "Apple will rule JavaScript!" meme is so big.

Ryan Carson has an essay on how different methods of creating JavaScript will somehow transcend the browser they run in. Here's a sample snippet from up top:

Right now, people are generally building web apps with CSS, HTML, a sprinkling of AJAX and their framework of choice (Rails, Django, Symfony, etc). The basic client-server model still dominates.

Objective-J and SproutCore change all that. They allow you to create true desktop-like apps right inside the browser. They don’t rely on a continous web connection and they are as quick as desktop apps. In fact, if you run them inside a site specific browser like Fluid, you probably would think they were real native desktop apps.

Everyone already generally agrees that we’ll see a melding of the desktop and the browser, but Objective-J and SproutCore are the first solid step in this direction. They’ve abstracted away all the basics so developers don’t have to re-invent the wheel for every web app they build.

But... you still end up with JavaScript, running in the various browsers. I agree with many of the comments at the cover article from Dion Almaer, who ask what's new about this. Being able to develop with Objective-C-like constructs doesn't change the final runtime experience at all.

It's reminiscent of many of the Silverlight discussions a year or so ago, where the focus was on porting someone's habits with Visual Studio, while silently ignoring the increased enduser participation costs.

You first calculate deployment costs to figure whether a project's worth doing. If so, then you look at development costs and figure the best way to build it. You don't start out by just focusing on what you can build and then doing it... you look at what needs doing, then how you might best do it. (That "lookit what icando!" approach leads to skip-intro-itis, "looks best in IE" and other problems.)

I keep re-reading these pieces, in hopes of finding some nugget that will suddenly turn the whole discussion sensible. The closest I've got so far is that this whole SproutCore discussion promises existing Mac-only developers a way to get to cross-OS delivery, similar to how Silverlight offered a way for investors in .NET a way to reach the wider world. Maybe this whole topic pits Mac-desktop devs against JavaScript devs. That's a weak hypothesis, but it's the most plausible I've seen so far.

There are some basic realities, some very simple concepts which many of the lengthy essays ignore:

  • A content transaction is based on a creator and audience agreeing with each other. It's not just what the creator wants to do, and (contra PCF) not just what each audience member might want to do either. It's what both can agree on, together. Ignoring enduser costs and only trumpeting development costs is silly.
  • Defining the format and then soliciting implementations (the HTML path, eg) is a useful strategy. But it's not the only strategy the ecology needs. Providing a predictable capability is also useful, particularly if that predictable capability can be universally deployed. It's easier to test atop one engine than eight.
  • Similarly, one runtime engine will grow faster and more consistently than will the set of engines attempting to implement a predefined standard. 8-bit alpha support in images is a good example... depending on your audience's choices for IE6, you may still not be able to rely on it, even a decade after the first web implementations.

Google Gears has a little bit of hype attached to it... it has a potential, but that potential would be clearer once we see an actual deployment path. The HTML 5 VIDEO tag has much hype attached to it, because of the continued avoidance of the question of codecs and production workflows (there has been a little acknowledgment recently, thankfully). But this recent spate of Apple-aligned commentary seems to beat them all.

It's still just JavaScript, folks. You've got to look at what it can do, realistically. No slamming of it, because I believe JavaScript is useful technology. But the sooner we cut down on the hype, the sooner we can get some real communication going.

May 26, 2008

Dreamweaver "Stiletto" public beta

Dreamweaver 1.0 arrived in public beta in 1997. It did something radically new: let you see what you were doing as you did it, while leaving your code alone. Changed things in a big way.

To do HTML before Dreamweaver, you had to either code, save, then test in a browser ("the developer"), or else do layout in a visual application which saved data to a special database before "publishing" your HTML ("the designer"). Dreamweaver 1.0 offered a faster roundtripping workflow for both, using the HTML file system for storage, and just leaving your code alone.

I think this next version of Dreamweaver, now available on Adobe Labs, has a good chance of revolutionizing things too:

(1) Any webpage is really made up of interrelated files, includes, references. This version of Dreamweaver directly accesses and unites all these files. You're editing with the page as a compound whole.

(2) Dynamic webpages change state during execution. This version of Dreamweaver shows you the changing code, as the JavaScript adjusts it, and as the browser executes it.

(3) Troubleshooting is harder when you're not sure what affects the current selection: "Why didn't that style change?" This version of Dreamweaver knows how the pieces fit together, so you can directly navigate the code in multiple files.

Any of the three is a workflow-changer -- new types of efficiencies make it hard to go back. Put them together, with Ajax code-hinting, CSS best-practices, tight handshaking with Photoshop, publishing to AIR... well, I think this will be a very significant release.


There's another thing. Creative Suite 3 was very well received. But those tools were in the middle of their development cycles when the Macromedia acquisition closed. Today's releases start to show what the new integrated Adobe can do with creative toolsets. We're going to see acceleration from this point.

I'll update this post with links over the next two days. I'll open another blogpost for troubleshooting and problem-solving.

Significant release. Have fun with it. ;-)