Is Microsoft Back in the Game?

By Darryl K. Taft  |  Posted 2008-06-09 Print this article Print


But Microsoft improved on that.

Yes, and now people are saying Microsoft's back in the game. They're doing more work on standards, [but] they're doing some of their own proprietary things, too.

Like, in IE 8, they have ways of doing cross-site requests-background I/O-and they did not propose it to the [World Wide Web Consortium]. They did not work with the W3C in the standards group that's trying to do that.

So, it isn't really clear where they'll go. Because whatever they do in IE, they're very concerned about compatibility. So, they don't want to "break the Web," as they put it. Or they don't want to break their intranet customers. All the enterprises that used IE with an ActiveX markup-that's an even bigger constraint on what they can do with the browser than the public Web is. So, [Microsoft is] very conservative about some things, but they're moving forward with IE, which is good and makes for competition.

On the other hand, you see Silverlight, and you see real innovation coming in from the CLR/.Net world with the graphics stack [Microsoft] did for WPF [Windows Presentation Foundation]. And that seems to be where they like to focus. Because it's their thing, they can move it faster, and they can take advantage of the OS. And what we try to do with Mozilla, at least-and I think we're probably in alliance with the other minority share browser vendors-is not only say, "Let's not break the Web, but let's move the intersection semantics forward fast, but in a cross-browser way that kind of competes with that Silverlight stuff." Why should you have to get locked into that? Why shouldn't you be able to just use SVG [Scalable Vector Graphics] and better JavaScript?

But it's tricky because, in moving that forward, you kind of have to get the browsers to all jump at the same time. And if IE doesn't jump, you have to figure out what to do about it. And we have actually thought about that a lot.

So, for JavaScript, there's a real problem-as you evolve the language, you're going to introduce new syntax, new ways of saying things, that don't work in old browsers. They'll cause the old browser to say it's a script error, and maybe it'll keep it to itself because there's no need to bother the user, but it will stop the page from working in the way it would in a new browser. So you have to be willing to make old scripts for the old browser and new scripts for the new browser that use the new language features. And that's twice the work at the limit, and who wants to do that?

... Some things have improved-the ability to update your user base in order to patch security bugs or because you have a Windows update or OS update mechanism. That's pretty key. And that's something Mozilla's interested in keeping pure. We don't want to use it to channel extra products to you or force things down your throat, because then you might reject the security patch, and we really do want you taking the security patches.

So if we have a better update story and we have a good way of getting people to go to the next major version of the browser and it has some new features, maybe JavaScript 2 will get out there faster. But if Microsoft is saying, "No, we're not going to do it, we don't think it's good for developers, and we'd like to do other things that we think are higher priority," then it's going to be a problem.

So what do you do?

One of the projects that I started last summer is Project Screaming Monkey, which is this project to take the engine for a language-ActionScript, which is a precursor to JavaScript 2-and make it an active scripting engine for IE. And that project is coming along nicely. Mark Hammond, who is a big Windows Python guru and well-known hacker in Australia, is working for us, and he's been making that work.

At Microsoft MIX [in Las Vegas in March], [Microsoft] showed a chess demo to boost Silverlight and to beat up on JavaScript and the browser being slow. Well, Mark has Screaming Monkey working and running that chess demo, and it's not quite as fast as C#, because I think [Microsoft] pulled out all the stops to make that version fast, but we're running, like, within an order of magnitude of the speed, and we're coming up. So, Screaming Monkey lives, and it just needs a little more polish and completeness before we start to build a community around it and make it downloadable and prebuilt so you don't have to build the source. And you can try it out in your own IE on Windows, and you'll have something like ES4 [ECMAScript 4] or JS2 [JavaScript 2].

It's actually using a compiler written in ES4-so, a self-hosted compiler. And that's always been an issue with Flash. Flash ActionScript was this run-time-only version of the JavaScript language that took out the ability to compile a program at run-time and evaluate it. That feature has been wanted. That's coming back through this self-hosted compiler. So you will be able to use it just like you use Java??íScript today, and all we're doing now is making sure the performance is right. And that's going to take another little while.

But if Screaming Monkey is capable and performs ... And, here's the other if-and I can't tell you if this is going to happen-but if Adobe decides to ship that ActionScripting thing along with Flash 11 or whatever, then you could wake up in a year or two and see that there is support in IE for JavaScript 2 and Microsoft didn't have anything to do with it.

IE is such an extensible platform. [Microsoft] did do a good job of that. Microsoft does know how to do platform. And they did it for their own purposes and their own enterprise customers as much as anything. They wired all of the mid-'90s automation interfaces-COM and OLE-into IE, and they built IE on that. And they built that into the Windows shell. This all came out in the antitrust case because they said, "We can't remove it," which wasn't quite true. But [IE is] an extensible platform, and we're going to use that to extend it to support JavaScript 2 without their help.

Darryl K. Taft covers the development tools and developer-related issues beat from his office in Baltimore. He has more than 10 years of experience in the business and is always looking for the next scoop. Taft is a member of the Association for Computing Machinery (ACM) and was named 'one of the most active middleware reporters in the world' by The Middleware Co. He also has his own card in the 'Who's Who in Enterprise Java' deck.

Submit a Comment

Loading Comments...
Manage your Newsletters: Login   Register My Newsletters

Rocket Fuel