Sunday, August 10th, 2008

On Fighting the Web; The invitation

Category: Editorial

But fighting the web is like holding back the ocean; it will route around you or it will wear you down, but will never go away, and it will never tire or give up. Yet in spite of the futility of fighting the web, Silverlight is being positioned in opposition to the web, not in support of it

This is one of a few great quotes from DeWitt Clinton’s post On Fighting the Web itself. DeWitt is a colleague at Google, one that I have shared offices with, and great conversations. He has very strong ethics, but at the same time is very practical. But, back to his writing.

This is not a post saying “the Open Web rules and the proprietary Web is evil”. If you actually read this carefully you see a very interesting argument that covers:

We can’t be blind:

The short answer is that the technology behind Silverlight, and most certainly the company creating it, has the potential of changing how the web itself works.

The Web has strengths, but man it is tough to work with:

If you’re a web developer then you’ve felt the acute pain involved in writing applications inside the browser. Even armed with the most state-of-the-art toolkits, such as jQuery, Dojo, etc., you’re still limited to the available runtime of HTML, CSS, and JS, and worse, the absolute morass of cross-browser incompatibilities and restricted access to native client-side capabilities. I remain in awe of what people have accomplished in this environment, but I’m sad that this is all we’ve been able to accomplish so far.

Man, if the client is involved… evolution is slooooow:

The web revs slowly. Very, very slowly. In 10 years we’ve seen virtually no meaningful advances in the the ubiquitous web client; just a painful slog forward as web developers learn to eek out just a little more functionality in a constrained environment. Progress is slow because revving the ubiquitous client requires the coordination of multiple parties, not all of whom have shown consistent interest in working together to move the web forward.

There is some hope for an Open Web-style speedup:

More recently we’ve seen some earnest attempts at breaking that cycle. Rather than wait for the entire web to catch up, projects like Gears seek to rev the client from the inside out. It may take several years for standards like HTML5 to be widely deployed, but if developers can gain a toehold inside the client and start forcing the issue immediately then we’ll quickly see what works and what doesn’t, and be that much more informed about what to standardize and adopt as part of the long-term web platform.

The proprietary folks have a huge advantage, as they can just innovate and run without getting consensus:

But there’s another approach, an approach best exemplified today by the Flash runtime, whereby one doesn’t seek to improve the web from the inside, but rather replace it entirely. Sure, technologies like Flash take advantage of the web via http-based delivery mechanisms and in that they run inside the browser, and yes, they can use network connections like anything else, but these alternate runtimes fundamentally divorce themselves from the web ecosystem, and in doing so gain a significant advantage, but at a cost.

In spite of circumventing the web — no, because they circumvent the web — these new runtimes have the potential of offering a far better developer experience, and hence, a far better user experience, then the least-common-denominator of the standard widely-deployed ubiquitous browser runtimes of today.

And, thus, the proprietary stuff can be very good indeed:

Which leads us to Silverlight: Silverlight is positioned to take the fork-and-forget approach to the web pioneered by Flash and bring to it an unprecedented wealth of technology and corporate might. With a better underlying runtime and VM, better tool support, far superior multi-language capabilities, and more marketing muscle, Silverlight has all the potential to make rapid and noticeable inroads over the next several months, cleaving a large section clean out of the web.

And the scary thing? That this isn’t entirely a bad idea. The browser itself is anemic, the dependency on a single language is a handicap, the security models simultaneously constricting and flawed, the development environments underpowered, and frankly, the whole ecosystem is deserving of a major disruption. We’ve lived too long thinking that what we have today is good enough.

And will get better, fast:

Granted, these technologies won’t be perfect at first. On the contrary, they might be slow, cumbersome to deploy, buggy, and feature deprived. But right now that doesn’t matter. The strategy is all about getting a wedge in place, a bit of leverage that can be used to further pry open a vector for escaping the existing ecosystem. And over time, as the technology improves and adoption grows, so will the size of that tear in the fabric of the web.

But, there is a reason why the Web does so well:

But fighting the web is like holding back the ocean; it will route around you or it will wear you down, but will never go away, and it will never tire or give up. Yet in spite of the futility of fighting the web, Silverlight is being positioned in opposition to the web, not in support of it.

Why in opposition to the web? This stems from the principle that the web is axiomatically defined as an open system, where the underlying technologies are resistant to the centralization of control, where the protocols and formats are extensible and malleable, and where the power to effect change is shared and distributed. The DNA of the web is one of ceding control, and of learning to work with, rather than against, the collective wisdom and power a larger community.

Whereas a development monoculture, a centralization of control, and a tight grasp on the ability to change and adapt, all stand against these basic ideals, and give rise to the forces that, given enough time, will erode and eat away at any temporary advantage gained.

A violation of these principles does not necessarily make for a bad technology, but it does make it something other than the web.

And finally, and this is so key, the answer isn’t to try to destroy the innovation in Flash, Silverlight, and others. Instead, the biggest win will be for us to make technology from those worlds into the Web itself. If we can do that, I think it will be a win-win, and we will have a much better Web to show for it:

But the call to action here is not to go and try to fight the disruptive technology. On the contrary, the ideas are sound and the improvements are very much needed. No, the call is to discover ways in which these ideas can become a part of the web, rather than working to tear it apart.

I do not want to see ambitious attempts like these fail. Just the opposite — I want to see them succeed. But success on the web requires a different kind of DNA, the type of DNA that is difficult to adopt when one’s attention is focused on fighting the web itself.

Posted by Dion Almaer at 12:57 am

4.2 rating from 25 votes


Comments feed TrackBack URI

What is also extremely key is that while these technologies evolve, you use Ajax to bind them together. Leveraging two plugins at once gives you better reach and naturally leads to building a more abstract, more portable API that will be easy to adapt to future standards. An example would be the many Ajax-based vector drawing systems that use SVG or Canvas with VML as a fallback for IE.

It’s too bad that people continue to talk about the morass of cross-browser inconsistencies as though that’s really a requirement of working with Ajax. It’s not. There *are* systems that have solved this via a consistent, high-level, object oriented API where you never deal directly with the DOM. SmartClient is one of them.

Comment by ckendrick — August 10, 2008

I see this article as a hugely helpful beacon in a dark sea of droll lamenting about how sad and slow the web has evolved. I continue to “preach” a message of inclusion in terms of technologies in the web ecosystem, including flash *and* silverlight, and encourage them to be used along side each other, *and* along side javascript/ajax. The most successful presentation layers will be those which accurately reflect the diversity of the web audience we are targeting… and leverage all available tools (including things like Gears) to make that user experience as good as it can be.

What I envision is that the “web” will evolve into a landscape of a mish-mash of various technologies cooperating to each other’s best strengths, and as one or another evolves and gets better, the shifts will naturally occur.

I’m so bored with those who want to close-mindedly stick their head in the sand and think that only javascript or only flash or only _____ is the way to go. That’s so web 2.0. :)

Comment by shadedecho — August 10, 2008

“Silverlight has all the potential to make rapid and noticeable inroads..” – no it doesn’t. There’s a reason why the Flashblock Firefox’ extension ranks amongst the most popular ones, hindered only by the absolute success of the AdBlock extension, which already hides all the Flash we want to be hidden.
But Silverlight shouldn’t be compared to Flash, as it picks up where Flash has failed – in the full-window applications. The question is, why did Flash fail in the full-window applications in the first place? I’ve seen a few of those apps and they were (mostly) visually and animation-wise superior to HTML/AJAX. The main reason of that failure is not the Flash maxing out your CPU, making your PC/laptop noisy, or draining your laptop’s battery in half time – the main reason is that it’s absolute PITA to develop, debug, and support, and no markup-based meta frameworks (like Flex) will fix that, because they can’t beat HTML in it’s own thing.
Silverlight is a tad different, but other classics still apply: inferior usability, non-standard UI, strange font rendering and inferior performance when rendering more serious web pages (try to render Ajaxian or Mashable sized page in Flash), and a fountain of security problems.
And no progress in the last 10 years? It’s exactly this kind of thinking that will make things like Silverlight fail. By ignoring the reality – that the web we have now is a state of the art (as in evolved, not as in polished) evolutionary environment, where extra tricks are more difficult at the expense of standard tricks being ridiculously simple.
“Proprietary stuff is good”, but not in the domain that needs to be accessible by everyone, from everywhere. “Oh I cannot access that page from my cell phone, because it doesn’t support Silverlight (and the whole Microsoft stack)”. Web must be open, not Microsoft or Adobe, and we will eventually learn that.
As for using Silverlight as a mere component of the HTML page – for example to play video – not sure about that either – I remember when switched from Windows Media format videos to Flash, and I think it wasn’t for Flash’s technical superiority, but rather its prevalence.
Just my 2c, take it easy.

Comment by ypctx — August 10, 2008

First of all: holy copy/paste action batman!

Secondly, flash didn’t fail as website replacement because it is slow or hard to develop for (when you get around to actually trying it, it’s markedly easier to develop for and superior in performance to ajax). The reason it didn’t take over is because it is not the web. Even stuff as simple as saving an image, copy/pasting some text, or bookmarking a link generally don’t work correctly. There are ways to make flash behave like the web, but generally this is not considered worth the developer’s time.

Silverlight isn’t that likely to take over the web for the same reason. It does have an edge on flash because it’s going to draw in .NET developers and projects. In flash everything is a custom development. With silverlight, porting projects is going to be a possibility.

Comment by Joeri — August 11, 2008

If there is one lesson to be learned from Microsoft it is that there will be the day when a new version of Sliverlight will come out, and it won’t work unless you buy a new operating system (for some some obscure technical reason). Or there will be some massive security hole found that will take them a year to patch.
.NET has shown us that it can be easy for desktop application developers to build crappy web sites. Silverlight takes this to a whole new level.

Comment by Diodeus — August 11, 2008

The way I see it, people who focus on RIA technology are forfeiting the SEO war.

Sure, search engines are starting to look into Flash files to find embedded text, and they could even look inside Silverlight’s XAML files. Unless RIA usage sticks to the applet paradigm:

for instance, search engines aren’t going to be able to navigate that vast amount of content that would be downloaded by an XHR-like mechanism rather than embedded in the Flash file.

For a long time it’s been a good business model to develop text-and-HTML affiliate sites that target market sectors where “official” corporate web pages are flash dominated. Google sees their content now, but can’t really understand the navigation. They’re going from a site that’s rated 0/10 for on-site SEO to one that’s rated 1/10 for on-site SEO. Mean time, the rest of us are getting 8/10 and taking over the sales channel.

Comment by PaulHoule — August 11, 2008

You wouldn’t say Silverlight is going to be better than Flash, if you tried the MSNBC website Olympic videos. I don’t see ANY of the videos.

Comment by patitdude — August 11, 2008

Not against proprietary tech per say but while browser manufacturers work on proprietary stuff… they are not completing the implementation of CSS 2.1 and HTML 4… let alone XHTML 1.0

The IE team is doing great work getting IE back on tracks but they really need to get that XML support in there or state why they are not doing it.

Comment by JeromeLapointe — August 11, 2008

yeah, the nbcolympics rollout of SL is…. ehhh…. disappointing to say the least. but the truth is, MS only wanted one thing, and that’s a lot of installs… they trusted all the important stuff, like the widgets (the MedalTracker is my favorite every year) to Flash. I’d estimate that there’s probably 85% flash and 15% SL on the nbcolympics site, in terms of the non-HTML media they are presenting. Not very adventurous or impressive… a streaming video player with scrub bar and popup ads? wow… that’s so Flash circa 5 years ago. :)

Comment by shadedecho — August 12, 2008

I’ve been picking up Flash and Flex. As a newbie to them, here’s what I noticed…
ActionScript is easy enough, if you have a good grasp of JavaScript going in.
It’s frustrating working in AS3 when you find an AS2 example that does what you want.
It’s frustrating working in Flex when you have Flash CS3 examples. If you start at the Adobe Flex documentation and search you often get how to do things in “ActionScript” that are Flash (not Flex) solutions.
So I guess my overall irritations re with old demos never being updated and current documentation being confusing. I usually find a solution, but with much more searching than I should need to do.

Comment by Nosredna — August 12, 2008

@nosredna- I’ve had the same frustration when looking for AS3 examples and all I find is Flex stuff! :)

Comment by shadedecho — August 15, 2008

Leave a comment

You must be logged in to post a comment.