IE8: Love or Hate?

by Jon Davis 5. March 2008 23:04

Been playing with IE 8 for a few hours. Here are some initial observations.

  • Love: WebSlices. I don't like WebSlices entirely, but there's something that feels just so Web 2.0-ish and, well, evolved. If you don't know what WebSlices is yet, let me try to describe it. I'll assume anyone reading this is famiilar with either the Firefox or Internet Explorer web developer toolbar. Both toobars have the ability to hover over any DOM element and you can click on it and it will tell you all about the CSS styles and classes associated with that element, as well as perhaps give you a look into where the element is in the DOM tree. Okay, .. uh, well, that's NOT WebSlices. But that thought in mind, imagine if a web site developer marked some tags such as some div tags as "webslices". They gave them GUIDs (not literally GUIDs but, unique IDs) to make them unique. With WebSlices, forget about introspecting the element with the web dev toolbar, imagine if you could subscribe to that element, as if the element was itself a web page, or an RSS feed. Yes, you can literally put a DOM element into your Favorites. That is way cool. I am not entirely comfortable wth its implementation, though, partly in the same way I felt about IE4 channels; it's sort of a browser-centric, stuff-it-in-your-toolbar way of managng personal data, the last thing I think people want is even more junk in their Favorites menu or yet another toolbar. Microsoft got RSS subscriptions right by retaining a more modular approach, allowing for an Explorer Bar or MS Outlook integration, hopefully they'll figure something out in this respect for WebSlices.
  • Hate: Activities. It's not the technology I hate. It's the branded spam. For those unfamiliar with IE8's "Activities", it's basically the same as the Windows File Explorer's "Send To" context menu option. You can basically right-click on a selection on the web and invoke an Activity which happens to mean a URL + querystring. Will be useful, no doubt, I'm just sick of all the MS Live and MS MSN and Encarta this and Yahoo that and Wikipedia and Google Maps and, oh good grief, stop shoving it all in my face already. But I'll give it to Microsoft, they didn't do nearly as much damage as Adobe did when I installed Acrobat Professional. There are literally eight (8) (!!!) individual PDF options in my browser context menu from Adobe Acrobat. Aargh.. [~silence as I go to Options and disable ...~] I also hate the name "Activities". It sounds like calendaring or meetups.
  • Love: Inline Javascript debugger. I haven't even tried it yet, but .. OMG, Yaaay! Microsoft came through on this one! We finally get a Javascript debugger built into the browser! No more mandatory installations of Visual Studio tools, which in the script debugging department has tended to get corrupted in the integration bits more often than I've managed to debug. Mind you, this ain't Firebug. But it most certainly is an essential part of a web browser, and Microsoft is showing that they are finally starting to see the light on this one.
  • Hate: Beta 1 form fields performance in Standards mode. I'm not sure what the deal is, but on this editor page, using BlogEngine.net, I was forced to enable the Emulate IE7 mode because in Standards mode I literally had to wait about five seconds for my keyboard cursor to respond after each individual keystroke. This is just a beta glitch, though; I'll live.
  • Love: Standards mode. ACID2 passes. 'Nuff said.
  • Hate: XHTML compliance exists in parsing and rendering only. Microsoft is still using an internal IE-HTML DOM that is not XHTML-compliant, even in XHTML documents. All you have to do prove this out is, in script, alert(document.documentElement.outerHTML); and what do you see? The most obvious observation is a total disregard for XHTML 1.0 § 4.2, which reads, "Element and attribute names must be in lower case; XHTML documents must use lower case for all HTML element and attribute names. This difference is necessary because XML is case-sensitive e.g. <li> and <LI> are different tags." Why does this matter? It matters because of DHTML. It matters because there is an implemented and oft-used setter on DOM elements' innerHTML. It matters because people actually use the DOM programmatically, both in evaluating and assigning markup. It matters because the browser has a Content-Editable mode that is often used with online content editing whereby the innerHTML contents are posted to the server for viewing as content. It matters because Internet Explorer has a COM interface that can, and often is, used to parse and tidy HTML markup, or to provide a WYSIWYG rich text editor for applications. It matters because it's broken, has been all along, and has never been deemed acceptable.
  • Love: It's in my hands. Huh. That was fast, I mean it was just, what two months ago that IE8 was even named? Well, um, .. thanks, Microsoft.
kick it on DotNetKicks.com

Last Anticipated Tidbit Of Suck Finally Removed From Internet Explorer 8

by Jon Davis 4. March 2008 17:08

Not long ago, I suggested the unthinkable, of boycotting Internet Explorer, if the IE8 team does not catch up with the rest of the Internet (with standards compliance, etc). And by "boycott" I literally mean to not only jump on the "don't use Internet Explorer" hatred bandwagon, but to completely stop building sites out and testing on Internet Explorer and just apologize later to visitors of my work that I did not double the amount of time that is involved in building a web application or site in order to get it to render correctly in IE, and to encourage to everyone that they do the same, and let Microsoft take responsibility for their own failures. After all, web technologies (HTML, Javascript, CSS, et al) are not Microsoft technologies, so if a web site is built using 100% standards compliant markup, really, it should just work, period.

But I'll hand it to Microsoft, as sincere as I was, and genuinely spiteful I was quickly becoming for their lame excuses, they have won back my respect.

First, they started blogging about IE8. The initial post really ticked me off, as my "boycott" link suggested, because they muttered something along the lines of "don't confuse silence with inaction". The Internet does NOT work that way, and the IE8 team should be the most pronounced and involved division of Microsoft, more so than any other division including the Visual Studio team. But each blog post related to IE8 has shown some kind of attempt to get feedback from the Internet community while at the same time giving answers to community feedback. Those answers were not always acceptable. But they have been thoughtful, or at least exposing thought processes. Transparency is a good thing in oneself; there's nothing that can bring about inner change for the better than exposing one's inner workings or thought patterns to people who care. The IE8 team still has a lot to learn about transparency, but it's one small step in the right direction.

Then, they passed the ACID2 test. That says a lot. It says that they care about standards compliance, and getting their product up to speed on what the industry has already established. And heck, it even shows that Microsoft even cares about having a competitive advantage again in Internet Explorer, for the first time since v4. (Needless to say, they'll have to work hard to keep that up while working against the productivity of the Webkit and Firefox teams.) Time will tell if the IE8 team is paying close attention to the new ACID3 test.

Yesterday, though, they reversed their rediculous proposal that demanded that the standards group require web developers (like you and me) to insert a version tag to every @#$% standards-compliant web page that they produce if they want it to render correctly in Internet Explorer 8. That Microsoft even attempted to push this still floors me, but that they heard the outcry from the developer community definitely reverses most of my animosity towards their behaviors. I mean, the audacity to ask the whole world to outwardly apologize for IE6 glitch behavior, rather than the IE team taking the heat for their past mistakes, really blows me away. But with their reversal of this move, I suppose I'm one step closer to getting warm and fuzzy about IE again.

I'm not there yet; I don't suppose I will be there until I see the "extend" part come back with Microsoft's old "embrace and extend" philosophy, and that only by way of the IE team getting actively involved with the open standards community and proposing innovative and acceptable additions and/or changes to HTML 5 and CSS 3, and then being the first to implement those extensions.

Some things I am still wishing browser vendors including Microsoft would innovate for are:

  • Open standards automation innovation. Not only do I want to see plug-ins like Silverlight having COM (or similar) automation so that one plug-in can talk to Javascript or to another plug-in using a native tongue (literally), but I wish there was an open standard way of going about deploying binary componentization, so that whether for the Mac or for Linux, and whether for Safari or for Opera, you could write one plug-in that worked well with both the browser's Javascript engine as well as with other plug-ins. The whole thing in the 90's with OpenDoc and ActiveX being the Next Big Thing for componentizing software really just sort of fizzled, even though COM objects did materialize and moved forward, but I'm looking for a good reason why this is still not a big area of support and interest between web browsers and standards committees. Then again, there's XPCOM, that plus COM might've sufficed but it looks like it's being discontinued so I'm confused, where's the native componentization love?
  • CLR scripting. We get this with Silverlight. But I want it in HTML. Microsoft, gimme!! The CLR is an open specification, just as Javascript is with ECMAScript. C# is an ECMA spec, as is the CLI (Common Language Infrastructure). Internet Explorer could make the CLR the replacement for ActiveX Scripting and it would automatically be "standards compliant" as long as the DOM is exposed with full W3C compliance, and JScript.NET is ECMAScript compliant. Meanwhile, the puzzle for COM marshaling with ActiveX controls was already resolved in .NET's v1 implementation with RCWs. So, no excuses on this; I'm sure that there is an engineering challenge in exposing the full W3C DOM, etc., to the CLR, but then again, is there really? I think the payoff is there. This could also be the answer to the previous suggestion, an open standard to plug-in automation, if something like XPCOM doesn't fit the bill. But once CLR is the "native tongue" of the browser runtime, Microsoft and the other browser vendors could easily throw in multiple CLR languages. Imagine Internet Explorer natively supporting: <script type="application/C#"> or <script type="application/IronRuby"> (or whatever it would be for IronRuby) or <script type="application/IronPython">. Heck, even <script type="application/javascript"> could run on JScript.NET. Couldn't it? I assume that JScript.NET is ECMAScript compliant, isn't it?
  • Window framing. We have windowing with window.open() but there's no window framing support, and by that I mean to support things like alpha channels and shapes on the window itself. One look at eBay's AIR-based Desktop application and I'm thinking, cool, a desktop app that looks and feels like a rich desktop application but under the covers it's an Internet app. But the thing about AIR is that it really is nothing but HTML, Javascript, and Flash, on a proprietary windowing framework, plus some OS integration bits for Windows' Start menu access and an Add/Remove Programs entry. Right? So I mean, why can't there be an HTML+Javascript specification that allows for the user experience that one enjoys in AIR, without having AIR installed?
  • Canvas. Oops, that's proposed in HTML 5. Yay!
  • Native menuing. Oops, that's proposed in HTML 5 as well. Yay! Microsoft, are you listening to this? ;)

Just a few ideas. It's fun to think forward now that the present frustrations are fading into the past.

kick it on DotNetKicks.com


 

Powered by BlogEngine.NET 1.4.5.0
Theme by Mads Kristensen

About the author

Jon Davis (aka "stimpy77") has been a programmer, developer, and consultant for web and Windows software solutions professionally since 1997, with experience ranging from OS and hardware support to DHTML programming to IIS/ASP web apps to Java network programming to Visual Basic applications to C# desktop apps.
 
Software in all forms is also his sole hobby, whether playing PC games or tinkering with programming them. "I was playing Defender on the Commodore 64," he reminisces, "when I decided at the age of 12 or so that I want to be a computer programmer when I grow up."

Jon was previously employed as a senior .NET developer at a very well-known Internet services company whom you're more likely than not to have directly done business with. However, this blog and all of jondavis.net have no affiliation with, and are not representative of, his former employer in any way.

Contact Me 


Tag cloud

Calendar

<<  May 2018  >>
MoTuWeThFrSaSu
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

View posts in large calendar