Hixie's Natural Log

2004-06-29 16:26 UTC State of the WHAT

At the start of the month, Opera and Mozilla announced the Web Hypertext Application Technology Working Group. There followed some 600 messages and lots of great ideas, resulting, last Sunday, in our first "call for comments" for the Web Forms 2.0 specification.

When we announced WHATWG, several people noticed that the list of members also contained, in addition to Mozilla and Opera employees, a couple of Apple employees who work on Safari. A few weeks into the project we also added Dean Edwards of IE7 fame to the list. The members of the WHATWG are an oversight committee intended to make sure we don't get off-track; the specs are actually edited by me and based directly on the input we get on the mailing list.

There were also some people who commented that instead of calling it a Working Group we should have called it a Task Force, because the resulting acronym would have been much more appropriate. All I can say is that I wish I had thought of that because that would have been a really funny name.

I recently started on some Web Forms demos, to show what Web Forms can do and how it can do it without losing backwards compatibility. I haven't done much yet, just a demo of how to make the repetition model degrade gracefully in HTML4-compliant UAs, but it's a start. (Sadly the only UA I could find that was compliant enough to degrade in the right way was Mozilla, so we might well have to revisit exactly how those repetition model buttons work.)

The first public demo of a Web Forms 2.0 page was actually a very high profile demo, though I highly doubt that anyone present actually realised they were looking at it. It was during Steve Jobs' keynote speech at Apple's Worldwide Developers Conference, during the Safari RSS spot. If you look at the top right of the screenshots of Safari showing an RSS feed, you'll see a little slider control. That, my friends, is a Web Forms 2.0 <input type="range"> control.

Something I hadn't realised until recently is quite how many Web applications are hidden away inside intranet sites. I always knew that there were some there, but the sheer numbers of such applications is quite surprising. A few people have sent me confidential screenshots of their intranet applications (with the sensitive parts censored, of course), which has really helped get me an idea of the kinds of features that would be most helpful to people writing such sites. We'll be addressing a number of these requests in Web Apps 1.0 proposals once I've dealt with all the recent Web Forms 2.0 comments.

Joel Spolksy wrote an interesting article explaining why Microsoft stopped Internet Explorer development in its tracks a few years ago, despite it having ridiculously many bugs. Here's the executive summary: they realised that IE was competing with their OS to be the preferred application deployment platform. Since they make money from their OS, but don't make money from IE, the choice was clear.

I think the irony of this situation is quite amusing. HTML, a document format, is invented, eventually Netscape is formed and creates a dramatically successful product that makes Microsoft jump. Microsoft instinctively react to the creation of this new networked document viewer market by developing a product to compete with it. They (inevitably) succeed, by the simple mechanism of creating incrementally better products until one is "good enough", aided by the chronic mismanagement that characterised Netscape during its last eight or so years. However, in the middle of this process, the fight stops being over who can make the best document viewer, and slips into who can make the best dynamic content viewer. And that slowly turns into an application platform. Oops. I'm no business expert but I would hazard a guess that plunging billions of dollars into a loss-leader that competes with your primary business model is not the best idea.

I've known all the bits of this story for years, but they never really clicked until Joel explained it.

As Joel points out, though, Microsoft's moves after they realised their mistake with IE have been harder to understand. I would have thought the solution most likely to succeed would have been to extend IE in ways that made it into a better application deployment platform. Eventually, this could have turned IE into the OS, either natively (making the next version of Windows basically be IE), or by selling IE with versions for all operating systems. This would have had several advantages:

  1. It would settle once and for all their claim that IE needs to be part of the OS.
  2. It would solve the Linux threat: instead of competing with Linux, Linux would become just another platform upon which IE can run.
  3. It is what their customers wanted.
  4. It could create lock-in just like Windows has.

They actually did start down that road. IE6 has support for a technology that Microsoft stopped advertising at the same time as they stopped developing IE, namely HTAs, short for HTML Applications. Similarly, even without really trying, Microsoft managed to lock large numbers of people into the IE platform — it has taken years for Opera, Mozilla, et al to catch up to IE, and even now, there are many sites that simply won't work in any other UA. The problem, I am told, is that the visionaries at Microsoft want the lock-in platform to be an OS. That makes sense; I mean, that's what they know.

And so they took all the things that they thought made HTML a good deployment platform, and all the things that they thought made Win32 a good development platform, and all the ideas that Microsoft Research said would be cool, and started a huge project: making a completely new OS. (It isn't clear to me if this project spawned sub-projects like .NET, or if smaller projects like .NET became subsumed in the larger OS project.)

There are several problems with this approach, as I see it. First, the market is no longer growing that fast. In the past, when they released a new OS, Microsoft could grow its marketshare primarily by growing the market, and then once the new market hit critical mass, people on older platforms that couldn't run the newer software would be forced to upgrade to run the newer software. (They did the same with Microsoft Office: by selling enough new copies to new users, eventually old users were forced to upgrade simply to be able to read documents written by new users.)

But in the current market, Microsoft are having to depend mainly on upgrades. Windows XP didn't do as well as previous releases, as far as market penetration goes. And many people are questioning whether Longhorn has enough new features to warrant upgrading to it. So Microsoft will either have to quite radically change their approach, or they will have to settle into a slower revenue cycle.

But IE is only to play a supportive role in this big project.

Of course, Microsoft aren't alone in thinking that extending IE to be a new platform is a bad plan. As I previously discussed, the W3C held a conference on Web Applications just last month, and the majority of people there disagreed with the concept of the browser being the platform as well.

This actually led several key figures in the industry to question the W3C's legitimacy. For example, David Baron ponders whether the W3C is really relevant any more. Brendan Eich also wrote some scathing commentary on the W3C.

Then again, I work for a browser vendor, and have been in the browser industry (both voluntarily and as a job) for years now. So it's not surprise that I think the browser is important as an application platform. (Obviously, though, as Robert Scoble is eager to tell us, Web apps aren't the answer to everything. I wouldn't recommend to anyone that they try to write a graphics manipulation package in HTML.)

The problem with the browser today is that applications based in the browser are constrained to nightmarish UI idioms and a severe lack of polish stemming from the fact that the platform was not really developed as a platform, and that no real progress has been made on this path for several years.

John Gruber points out that users don't really seem to care about the poor UI, though. The other advantages — especially the true zero-install cost of Web-based applications — far outweigh the costs.

But that's why we started WHATWG: we want to make it easier to make nicer the kinds of applications that it makes sense to deploy over the Web. Mail and news clients. Cinema ticket sales. Book stores. Auction sites. Multiplayer stategy games.

In other news, apparently the Windows IE team is starting to wind down its work on the "let's make IE secure" Windows XP service pack 2 release, and is starting to look at what people want in the IE that will ship with Longhorn. They are even looking for feedback. Amusingly one of the most popular requests in the forums I have looked at (which is probably a very skewed subset of the real feedback that Microsoft gets) is "better standards compliance". And even more amusingly, one of the most often repeated messages from Microsoft people in those same forums is "we're not going to be working on standards compliance" (although not usually phrased that way).

I honestly do not expect to see any changes at all to the HTML, CSS, DOM, and JS components in the Longhorn version of IE compared to Windows IE6. I've had Microsoft employees tell me to my face that they will not have XHTML or SVG support in the next release. I've only seen excuses for why features won't be added, never any Microsoft employees saying they are interested in supporting a new spec. I have thousands of tests available on my site if they want to find some bugs, but I doubt they will even look.

On the other hand, I can assure you that here at Opera we are implementing all kinds of things and every release has more CSS/HTML/DOM/JS/XML/etc fixes. And over in Mozilla land Brendan has written several posts listing the kinds of things Mozilla will be implementing over the next few years.

Pingbacks: 1 2 3 4 5 6 7