The big story over the past 24 hours is Steve Ballmer’s statements regarding WebKit:
“Open source is interesting,” he said. “Apple has embraced Webkit and we may look at that, but we will continue to build extensions for IE 8.”
Let me say I highly doubt Microsoft would switch to WebKit or Gecko at any point in the near future. The most obvious reason is it would cause a massive bruised ego. It would be an undeniable admission that they fell asleep with a monopoly during IE6. A business Tortoise and the Hare. I don’t think they would want to do that. They are still trying to change the public opinion that Vista stinks, while they aggressively try to fix Windows. Will they be successful there? Who knows. They are however listing to customers and working on things like boot time, but I digress. This is a company culture thing.
Besides for that, it would mean Microsoft would loose some control over the rendering engine. Control is very important to them. The reason IE exists is to bridge Windows and the web. A browser without proprietary extensions means the web is completely portable (runs on any OS). This isn’t very beneficial to Microsoft, who coincidentally sells operating systems. Microsoft needs to bring Windows to the Internet as much as it needs to bring the Internet to Windows. Otherwise the operating system becomes even more irrelevant and any old internet appliance will suffice. Even if it ran Mac OS X or Linux.
Eventually Microsoft’s business may be in cloud computing and the OS and software for it may just be a legacy products, but today it’s still a decent sized business that they care about.
They could implement proprietary extensions on top of WebKit to their hearts content or simply fork WebKit and use it as a starting point for IE 9. Either way, they will have new issues regarding changes to WebKit in the future since it’s not exclusively theirs. This approach will also create angry developers who have yet another IE rendering engine to deal with since it won’t be pure WebKit. Their own developers will have to be familiar with an even larger code base. With larger code bases comes more surface area for security issues, though there would be at least some help on the WebKit side.
Another option is for them to simply use WebKit as another rendering engine in IE now that each tab is a separate process. Very simple on the surface since it’s just embedding WebKit into IE. However, this could be very complicated since there needs to be communication between processes (marking links as read, iframes etc.), a somewhat consistent UI (features in browser chrome need to work in all rendering engines), and of course plugins (NSAPI vs. ActiveX). I’m just scratching the surface here. It’s complicated. Netscape’s approach (Netscape 8) to multiple engines really didn’t work out since users didn’t know what the hell that even meant.
These approaches don’t make much business sense either. It would be easier to just bundle Google Chrome or Safari instead of iexplore.exe. They could leave the MSHTML alone since other applications depend on it. That would be cheaper and accomplish the same goal. If the goal were to simply provide a better browsers. As I mentioned before, it’s to provide hook into the Internet.
Personally I found this quote to be much more fascinating:
Ballmer began his answer philosophically, saying Microsoft will need to look at what the browser is like in the future and, if there is no innovation around them, which he thinks is “likely”, Microsoft may still need its own browser because of proprietary extensions that broaden its functionality.
“There will still be a lot of proprietary innovation in the browser itself so we may need to have a rendering service,” he said.
At first I was confused by this statement, but then I realized there may be an explanation. Anyway, looking around at Firefox, Safari, Android, Opera, and IE, the one with the least innovation is really IE. Most of the IE 8 features are just variations of what other browsers have done. The rendering engine improvements are mainly catching up. Is that innovation?
Then he mentions proprietary innovation… ah ha!
Gecko doesn’t really resolve any of these issues except making an ActiveX implementation a little easier.
That’s why I don’t think Microsoft will make the jump to an open source rendering engine. Feel free to disagree.
That said, I like what Microsoft has done in regards to making IE 8 more standards compliant and fixing long existent bugs. I’ve worked with the browser and found that it’s much more on par with other browsers on the market than anything Microsoft has ever put out, except perhaps Tasman which was really ahead of it’s time.