Dvorak is wrong about Internet Explorer

In his post The Great Microsoft Blunder, John Dvorak claims that Microsoft made a huge mistake by linking Internet Explorer to Windows. While I agree with much of what he says (Microsoft has taken an enormous number of hits due to Internet Explorer), as a Windows developer, I have to respectfully disagree with his conclusion:

“Microsoft should pull the browser out of the OS and discontinue all IE development immediately…People will not stop buying Microsoft Windows if there is no built-in browser.”

Now, I’ll be the first to admit that the way Microsoft embedded the browser into Windows was sloppy. I still wince when I think about the support problems I had with HomeSite that were caused by new versions of Internet Explorer updating important system files such as comctl32.dll. And don’t even get me started on the anti-competitive ways in which Microsoft negotiated OEM deals regarding Internet Explorer, or the poor design decisions that have caused so many of the security problems that Windows users face. So, if we’re talking about how the browser was embedded in Windows, I agree that Microsoft blundered. But if we’re talking about whether embedding a browser in an OS is good idea, I say that it is (and Apple says it is, too).

What Dvorak ignores is the huge number of Windows applications that have benefited from the ability to embed a web browser. Microsoft has done a great job making it easy for developers to host Internet Explorer in their software, and this has been a good thing for customers. Think of all the software that relies on an embedded IE – not just commercial web authoring tools, feed readers, email clients, etc., but also the thousands of in-house applications that need to display web pages. This isn’t a minor point: millions of people rely on software that requires an embedded web browser, and in this regard, these people benefit from having the browser included in their OS.

(And yes, I know that theoretically you can embed the Mozilla engine in Windows software. The problem is, embedding Mozilla is a pain in the ass. I speak from experience: TopStyle provides the option to view your work in either an embedded IE or Mozilla (or
both at the same time), and despite the fact that the people who use the embedded Mozilla are in the minority, we’ve had far more support problems with it than we’ve had with IE.)

If Microsoft hadn’t included Internet Explorer with Windows, developers such as myself would have had a much tougher time providing customers an integrated browsing experience. And, of course, given that Microsoft has bundled IE with Windows for such a long time, there’s no way they could stop this practice without breaking scores of applications that depend on it.

20 thoughts on “Dvorak is wrong about Internet Explorer

  1. I’ve also used the WebBrowser control. Some of my clients use it to embed web pages in their applications as the navigation mechanism for the apps. While it’s convenient that it comes distributed with Windows, I don’t see how my deployment would be significantly worsened if it wasn’t. What if MS allowed you to license and redistribute shdocvw.dll for free, like they did with the MS Agent control several years ago? In fact, I think that would help eliminate compatibility problems, because you’d always know which version you were running against.

  2. Sterling, that may work for shrink-wrapped applications that can place the redistributable on CD, but I don’t imagine it working for downloadable software like TopStyle or FeedDemon. Requiring customers to make sure they’ve already downloaded a separate, larger file before they can use my software just wouldn’t work (that’s a big reason I’m not using .NET right now).

  3. I completely agree with ya Nick. I’m often baffled with why people want to make the system less robust.
    I think a lot of tech people forget about the consumer market, that consumers don’t care about the OS, about Microsoft vs. Apple vs. Linex, or IE vs. Firefox. They want a product that works out-of-the-box or off-the-web with minimal fuss.
    Most consumers don’t even really want choices, they just want what is “the best”. As someone that has helped countless people set up their systems I like to give people options and even after sharing the pros and cons of each they just ask, “what’s the best? what do you recommend?”. The only choice people really seem to care about it is how it looks.
    I also completely agree with you about .NET on the desktop. We still use Delphi for all our desktop apps while using .NET for anything server-based.

  4. What If…..IE Never Happened?

    With the launch of the IE7 beta, there has been some fascinating discussion about Microsoft’s track record in the Web browser market. <a href="http…

  5. Well said Nick.
    The trouble is software has become politicised and the subject of the general press. Politicians and news reporters often don’t have a clue.
    Dvorak, he should know better.

  6. “If Microsoft hadn’t included Internet Explorer with Windows, developers such as myself would have had a much tougher time providing customers an integrated browsing experience.”
    I respectfully disagree. All it should have taken is someone to share an html renderer in codeproject.com instead of the thousandth owner drawn MFC combo box.
    Think over it, all what people need is a lite html experience to embed in their apps, not Internet Explorer.

  7. Mike, for some applications a lightweight HTML renderer would certainly be enough. However, there are many applications that do require the full-blown IE rendering engine. For example, both TopStyle and HomeSite need to show web authors *exactly* how their web pages will look in a popular browser, so the ability to host IE is important.

  8. IE7: Good for users, good for developers

    Like quite a few people, Ive installed Internet Explorer 7 beta 2 that Microsoft released earlier this week as part of broadening out their beta testing programme of the new browser version to as wide an audience as possible. I like it and, com…

  9. I’d also like to respectfully disagree. Microsoft could have easily achieved the ability to embed IE in other applications by making it a standalone ActiveX control that came pre-installed on WIndows. Why is it that I can use a Mozilla ActiveX control to embed a browser very easily without it being tied to the OS? What am I losing?

  10. Just a question… What came first, IE, or the need for an “integrated browsing experience”. What I’m wondering is, did an embedded IE save the day, or did it create a need to fill. Thanks.

  11. Gord, the need for an embedded browser came first. The very first release of HomeSite came before IE could be embedded, and it used a third-party browser component that didn’t render pages very well. This was a big problem since users couldn’t see exactly how their HTML would look. I switched to an embedded IE as soon as it was possible, and it made a huge difference in HomeSite’s usefulness.

  12. I had to laugh at Owen’s comment, its so true :)
    Think how much it would cost the Mozilla Foundation/Corporation to put Firefox on CD and ship it to people. Saying that it is what Ubuntu does ;)

  13. Why do IE standards differ from other browsers. It seems to be like a renegade browser rendering pages quite different to the other browsers. I do not know much about standards law but visually there always has to be a “fix” for IE.

  14. Actually, Apple does not think so. Safari isn’t integrated into os x. Yes, it’s part of the toolset that all os x installs ship WITH but that’s not the same thing. Safari (the default browser) is ‘just a browser’. It’s not always there. You can actually ‘uninstall’ it the same way you uninstall any other mac os x app (just drag the application to the trash can). There is such a thing as ‘use this app to open URLs’ and it can be set from any web-browser, including safari itself.
    There is also a completely different concept called ‘webcore’. This is an Objective C library that allows you to embed a webbrowser straight into your application. These are based on Safari, but they are separate entities – if for example Safari crashes, your NetNewsWire (RSS reader with built in web view mode) won’t crash with it, or anything. In fact, webcore is sufficiently small that a new copy is made in memory per app that uses it.
    I doubt anyone would be faulting microsoft for shipping a browser with windows that worked analogue to what was just described.
    As a simple alternative: webkit, the open source variant of webcore, is quite decent and very stable, and should be available for windows. If you need near 100% site compatibility, you can always embed moz, though that’s a bit more work (and memory footprint).
    I actually like the idea that NetNewsWire embeds a very limited version of webcore1.3 – there’s a button on every page to open what I’m looking at in my ‘real’ webbrowser, and this way I always know exactly what I’m going to get: If the link of an RSS feed is just a page with some text and images, I see it. If it’s a link to a flashtrosity or an AJAXy site, I don’t see it. Then I make the conscious decision to look at it (hit ‘show in web browser’), or to not look at it.
    NNW has -never- crashed on me in a full year of use. As should be obvious, there are a number of advantages to deliberately embedding a toned down version of a webbrowser in your applications.

  15. I want to answer Kent’s question, “Why do IE standards differ from other browsers.”
    The short answer is that web standards were not widely used when the web was created.
    To expand on that answer, you need to think of how you create a standard in the first place. Two or more companies create a new way to display content on the web, then one of those methods wins and someone votes it to be a standard. That is how the W3C works; they make recommendations on what others created. Netscape and IE worked together to create the first draft of CSS.
    So when the web was created, there were no real standards. Now Microsoft has helped create most of the web technologies we use today more than 6 years ago. HTML, XHTML, JavaScript, Dynamic HTML, CSS, and all of this combined is what we call AJAX. This stuff is old technology that is just now really catching on to create new types of web applications.
    So the real question is why did Microsoft stop developing IE and put more of the standards into the browser?
    That answer is they saw limitations in the current model and decided to create something completely new. The IE team went on to work on Avalon or what we now call WPF. If you want to learn more about why they took that risk, than you should watch Mike Wallent answer that question by going to http://channel9.msdn.com/Showpost.aspx?postid=185468.

  16. Delphi developer also looking to embedd mozilla in his app, but now might be a bit more hesistent to go there. I wanted to use mozilla because I did not want users complaining that my embedded browser caused a virus to get on their computer, which we know is more likely on MS then Firefox due to ActiveX and other IE security blunders. I assume the same security issues in the emdedded IE are the same as with IE itself – correct me if I am wrong here.
    wxMozilla (http://wxmozilla.sourceforge.net/) is a project in development to support an embedded mozilla in all platforms. If you read the mailing list in the sourceforge page, you will see comments that the developer has actually given up on the mozilla windows API since it breaks something everytime they upgrade to a new version. He actually found it was much easier to get a version based off of the Safari webkit (the open source variant of Safari’s webcore) to run on Windows and with much less effort. Very amusing.
    It does look Mozilla is catching on to our complaints, see below.
    Hopefully they make sure the ActiveX control is enabled during a install of FireFox on Windows. Or we could all start hollaring at them in the dev forums over at mozilla to make sure they do :)
    The following embedding APIs will be provided by XULRunner:
    JavaXPCOM embedding
    activex control (Windows only) (not yet complete)
    gtkmozembed (Linux only) (not yet complete)
    NSView-based-widget (Mac OSX only) (not yet complete)
    http://developer.mozilla.org/en/docs/XULRunner:What_XULRunner_Provides

    XULRunner 1.9:
    XULRunner 1.9 will be the first production release of XULRunner, and will be used and shipped by Firefox 3 (Q1 2007). The full planned featureset of XULRunner including application management and embedding APIs will be available in this release.
    It would be great if you had a Delphi section in your forums where developers and yourselves could discuss stuff like this.

  17. Find more providers…
    The issue is a search box built into the new ie7 browser, which enables users to search without opening a search engine directly in the browser. The function is already available as a plug-in for existing browsers. For instance, the Google toolbar will modify Firefox browsers to enable Google to be accessed in a single click.Ability to change the search providers default setting could create another wars, with ie7 search providers working on partnerships with the Dells and HPs to convince them to ship machines with the search box set to their site. IE7 users can easily add or remove providers from http://ieproviders.com/ or http://www.microsoft.com/windows/ie/searchguide/default_new.mspx.

  18. Not sure if everyone knows this but I just found out that someone has been keeping the enhanced Delphi Embedded WebBrowser up to date. Site is:
    http://www.bsalsa.com/product.html
    They got forums, news, and the site is great. They make sure to keep the updates coming as well.

Comments are closed.