« JS in November | Main | Arrington on pro news »
October 8, 2006
Yo, Coach Wei!
Yo, Coach Wei! I'm calling you out here, to get some interactive discussion on the arguments closing your Sys-Con article: "Ajax is open, standard-based and web-native. Flash is not open standards-based. Flash content is not native web content and has a lot of interoperability issues with other web technologies. Of course, the community is shifting towards Ajax!" My reply, in the extended entry, is admittedly flame-y, but it's meant in good spirit, and for the greater good.
I don't usually admit this, but those arguments are pretty dumb.
I keep a civil tongue in my mouth when dealing with customers, potential customers and web influencers, but because NexaWeb poses itself as a competitor, I have no problem acknowledging my biases up front: those arguments have been weak for years, and the only reason we keep hearing them is because not everyone listens to others. It's an ineffectual line, and I'm personally tired of having it shoved in my ear as if it's a divine revelation or something.
(ooh, that felt good to get off my chest... let's see if my ID card still gets me in the office on Monday, or if it gets voided for lack of diplomacy.... ;-)
Here are some problems with that paragraph:
- "Ajax" is left undefined. "Oh, everyone knows what Ajax is" is as mystifyingly useless as "This site is Web20 but that site is not" or even "I know pornography when I see it". You're talking, at length, without saying anything.
- XmlHttpRequest is not "standards-based"... it was a Microsoft "embrace & extend" move from the late 90s that only got noticed once the high-falutin' JavaScript guys got it in the favored Mozilla browsers. The ability to retrieve text without refreshing the whole page is not only a trivial ability, but it has the precise genealogy you cite as evidence of others' damnation.
- "Open" is another dumb argument. You and I cannot change how a JavaScript request is implemented in someone else's browser. You might be able to write a letter to the ECMAScript committee working on future specs (where, incidentally, Macromedia and Adobe both contribute heavily), or you might be able to write a feature-request letter to one of the various browser manufacturers, but that's different from affecting how someone else's computer works. Puttering with your PHP engine on your server is different from getting your work to render predictably on everybody else's computers and other devices. You use the word "open" like "flag, mom, and apple pie" is used by others. It feels nice, but the closer you look, the more ineffectual the argument becomes.
- "Flash is not open-standards based" therefore sounds like "Flash does not like apple pie". Flash work may not have been conceived by a panel of experts at the United Nations after long years of insightful theory, but Flash is the actual standard capability on the world's computers. (Flash technology has been conceived by long years of continuing conversations between engineers, customers, and their clients, not just a panel of experts and academics.) Further, the world's Adobe Flash Players achieve things with media and networks that the browsers have not yet even mentioned in their future roadmaps. It has evolved faster than clientside Java, is adopted by consumers faster than clientside Java, and does far more, far more predictably than either clientside Java or clientside JavaScript. De jure standards aren't more "pure" than de facto standards -- if they were, I'd pass down some religious holy book and tell you what to do, instead of appealing to your reason as I'm doing now. You could make other arguments, but that "Flash is not open-standards based" objection is a dumb one.
- "native web content" -- geez. The Netscape Plugin architecture was announced in June 1995, same time as Sun's Java announcement, six months before JavaScript arrived. (Yes, I know about LiveScript.) These were all delivered at the same time, in Netscape 2.0. Shockwave was there, Acrobat was there, but Flash was built specifically for the Web and so didn't arrive until a few years later. Browsers added extensibility and interactivity together -- one is not "more native" than the other. With the realworld acceptance and reliance on SWF content these days, you'd have to convolute your head quite a bit to be able to say "it's not web-native".
- "shifting towards ajax" Lots of people may be looking at extending their JavaScript skills towards text-refresh, and I think more websites should consider using such techniques. The rate of growth in advanced media & interactivity via Flash Player probably exceeds this, however. I don't think many JavaScript/LAMP people will learn the Flash Professional timeline this year. I do see that nearly everyone who critically examines Flex or Spry is blown away by what they can do, and how economically they can do it. The Sitepoint survey is interesting, but you'd need to look wider to see what it really describes. I want to see both JavaScript and richer things expand in use.
- "interoperability issues" If you talk about browser-bookmarks I'll smack you.... ;-) The reason it's so hard to get universal text-to-speech or transparent compositing or insertion into the document history and such is precisely because browsers vary. That's also why they can't do as much, as consistently, and with such universal adoption, as a single chromeless engine within the various browsers can.
Here's where we're at: the browsers vary among manufacturers, and they've got a middling speed of adoption, and people configure their HTML browsers in different ways. The Adobe Flash Player fits within these diverse environments, and provides a very predictable, high-performance, and far far richer experience -- transparently -- and with very rapid evolution on consumer machines. It is the actual standard in the world today.
Technology choices should be made on what they offer you, the costs, the risks and potential future rewards. Basing technology choices on theology and wordgames is... well... not the best way humans might spend their time.
(btw, I have an intuition that I'd end up personally liking Coach Wei, were we ever to meet. But it's the repetition of weak arguments, and the apparent inability to learn from repeated replies to them, that I'm railing at here.)
Comments policy: Brevity wins. I'll cheerfully snip comments which meander, or which assert without evidence. We're here to learn.
Posted by JohnDowdell at October 8, 2006 9:07 AM