« Dealing with Connectivity Issues in Desktop Applications | Main | Link Dump: May 1, 2006 »

Wednesday, April 26, 2006


Feed You can follow this conversation by subscribing to the comment feed for this post.

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.

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).

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.

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.

I have been saying this a long time. I am glad to see someone agree :)

"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.

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.

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?

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.

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.

Besides, if Windows didn't come with Internet Explorer how would we download Firefox? :)

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 ;)

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.

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.

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.

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)


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.

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.

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:


They got forums, news, and the site is great. They make sure to keep the updates coming as well.

The comments to this entry are closed.