There's been a lot of talk recently about Internet Explorer getting a facelift in the meager announcement Microsoft made last week about IE 7.0.
If you've followed my Blog here you know I've had my share of nightmares with Internet Explorer and I am now mostly using FireFox for going to all but a few sites (including this BLOG's admin interface which sucks with FireFox).
At this point I don't care much about IE personally. However, we all know that IE has major issues in standards compliance for CSS which is becoming more and more of a problem for Web applications. The security issues aren't going to go away as long as such much of IE's feature set is implemented and provided through ActiveX controls that run outside of the sandbox.
All that said, it's easy for people to say we don't give a crap about IE 7.0, but as a developer you just can't take that attitude. The people using your application most likely are going to be using it with Internet Explorer. And as long as we write Web applications for multiple browsers that don't follow the rules Web development we're all wasting time in development.
Nothing new here.
But here's something that I have never heard in this discussion and that is the Internet Explorer Web Browser control that is hosted in countless applications. So many applications use that control so even if you say you don't care and you don't use IE you probably are using it with other apps. Use Outlook? It uses IE to display content. Use FrontPage? Use FeedDemon? Use Help Builder <g>? Use VS.NET? FoxPro? Any Intuit product?
IE is everywhere. And for that stuff it matters that the browser gets fixed or we'll end up in a serious dead end. I think it's pretty important that IE gets fixed and not in 3 years when Longhorn might actually ship. <g>
The control has a number of problems as well in addition to those in the browser. For example the control doesn't handle Themes in the browser view which seems pretty lame. The object model event model has a number of major inconsistencies. The MSHTML type libraries are actually out of sync with the various components which causes problems for interface generators like those in VFP and .NET when implementing certain event interfaces.
Along the same lines I would really like to see the HTML Editing support beefed up. Whether it goes into the Web Browser or into some other component - I don't care. But it seems to me that rich HTML editing that can be embedded into applications is something that is important in this HTML centric world. If we had better HTML edit support that was more natural, think of all the applications that work with lots of text (message boards, wikis) that could work with much improved UIs. Heck a wiki that allowed direct insertion of links or placeholders instead of arcane markup text might be something that would get used a lot more extensively than it is today.
The HTML Editor's editing interface is horrible and unless you spend a significant amount of custom coding for implementing editor specific stuff you get a crappy editor. There are tons of HTML edit controls out there (especially Web based ones) and most of these controls try to slap a more forgiving interface onto the Web Browser control. A few vendors have actually tried to build their own editors which are overly simplistic. This is no trivial task no doubt, but it just seems that this is an essential component in this HTML centric world we are living in today. Almost everyone of my applications in one way or another lets users enter HTML and markup often in non-obvious places. Do we really need expose this sort of thing to users? RTF works in some cases but obviously not on the Web.
There's hope though. For simple applications a Mozilla ActiveX control exists:
http://www.iol.ie/~locka/mozilla/control.htm
and apparently is being improved. It looks like object model support will be an issue - but if you just need a pluggable browser for navigation and browser automation it might be sufficient.
Update: (never mind - i just tried it and it doesn't work at least not in VFP. No type library)
I guess this is sort of what I expected <g>. It's a nice attempt, but this sort of control provides only a smattering of what IE provides anyway.
It's easy to laugh at the knee jerk re-action Microsoft is taking with the IE 7 announcement. But this is something we should all worry about and let Microsoft know that this is important to developers. It doesn't matter whether you've written off IE and are using FireFox or Opera etc. By sheer weight IE affects the entire browser landscape.