Thursday, July 31st, 2008

IE 8 and the User Features

Category: Browsers, IE

<p>The first main play for IE 8 was to get developers on board, and start a conversation with us on what they are fixing, and where they are going.

There were a couple of user features such as Activities and Web Slices, but you could tell they hadn’t finished there.

In their latest blog post they talk about reliability and the fact that they now have isolation between web pages and the chrome itself via processes. This means that a page could die, but the browser is fine:

One of our most significant investments is in a feature called Loosely-Coupled IE (“LCIE”), which is an architectural attribute that helps isolate different parts of the browser from each other, most notably, the frames from the tabs. LCIE is the foundation that we have built a few of our features on including Automatic Crash Recovery of which I expand on below.

For Beta 2, we added the following changes:

Frame Process Merging

To help improve startup performance, we have reduced the number of processes that we start. Instead of firing up two processes every time you launch the browser (one for the frame and one for your tabs), we now only fire up one frame process the first time you launch IE. Subsequent launches will only start a new tab process or make a new tab in an existing tab process.

For users that are accustomed to browsing websites in multiple “sessions”, for example if you want to log in to multiple email sites simultaneously, you can specify the “-nomerge” command line option to disable this feature.

More tab processes

It turns out that the vast majority of all IE sessions contain three or fewer tabs. Accordingly, in Beta 2 we try to give users three efficient tab processes. This is contingent on the user’s computer capabilities, but the more capable a computer is, the more processes we will use, up to a point. Adding more processes gives users much better isolation in the event of a failure. If each tab is in its own process, websites are completely isolated from each other.

Virtual tabs

We have also added the internal capability to “hot swap” the process from underneath a tab. Previously, Protected Mode worked on a per-process basis. For example, say you add a website to your trusted sites in IE7. If that site links to another site that is not in your trusted sites, it will cause you to switch browser windows when you click the link.

We improved this in IE8 Beta 1 with LCIE when we split the frame from the tabs. With the split we can create a new tab in the same window and switch you to that tab as opposed to being “punted” to a new window.

Virtual tabs lets you navigate across Protected Mode in the same tab since we just switch the process under the tab to the correct integrity level. This is really just “UI-sugar” – virtual tabs do not impact security or protected mode in any way, other than to make it more convenient to transition between protected mode on/off.

LCIE’s capability of isolating different parts of the browser coupled with more tab processes and virtual tabs will improve the performance and overall reliability of Internet Explorer.

I saw an early IE 8 beta 2, and there are other very interesting features in there too. Some were subtle but interesting. We should get our hands on it soon!

Related Content:

Posted by Dion Almaer at 9:27 am
29 Comments

+++--
3.4 rating from 22 votes

29 Comments »

Comments feed TrackBack URI

I would say, stop adding features start fixing your errors and become 100% standards complaint…

Comment by V1 — July 31, 2008

The tab and process-handling niceties are all well and good, but I feel the most important “features” developers want “selling” on is just better standards compliance and behaviour to bring the development process and subsequent rendering results closer to what they’re used to seeing with Firefox, Opera and Safari. (And yes, I’m drinking my morning coffee as I type this, for the record. :D)

Comment by Schill — July 31, 2008

because developers are the major market they’re selling to…
i think it’s a good idea. i hate having to go into task manager to kill instances of firefox or ie.

Comment by ilazarte — July 31, 2008

I have to agree with the above. They should better do some work on their rendering engine instead of wasting their time on features that will never be used professionally (at least for now) because other browsers don’t support it. After they made their browser a lot more standard compliant they can push some new features onto the web.
I would say: first learn how to walk and then try running.

Comment by AriesBelgium — July 31, 2008

Seems like they want to add new features when I want them to add old features that everyone else has like native canvas support.

Comment by Nosredna — July 31, 2008

I find it rather suspect that their “biggest feature” is that the browser is going to keep running after crashes and such, do they expect the final product to crash frequently or…?
.
Maybe focus more on making it stable (and of course std compliant) before spending all their guts on creating beautiful crash reports…

Comment by polterguy — July 31, 2008

@ V1 – here, here!

Comment by RoryH — July 31, 2008

@polterguy: Unfortunately, all of the major browsers have major stability problems, so it’s not really fair to damn MS for making the stability problems less workflow-breaking.
.
* * *
.
As for IE 8, I think AriesBelgium put it best: walk, then run.
.
Microsoft, you have to understand, and can’t claim ignorance, because we are telling you right now: it is a kick in the teeth. IE 8, like its predecessors, is like being assaulted and insulted and left with no recourse.
.
IE developers: you should, in all seriousness, develop a real improved IE in secret, without the knowledge of your managers. Not to insult you but, the easiest way to do this would be to build a great IE UI shell around an implementation of WebKit, adding a plugin to handle ActiveX and implement whatever backwards-compatible junk the corporate sector can’t seem to give up. As far as I can guess, the latter would be enough to justify the former to your managers. And I bet it could be done in a matter of months. Hell, I’ll even learn some C# and win APIs and do the shell/WebKit part for you if you want. Just please stop letting your managers destroy both what we can reasonably deploy and the time we spend accommodating this horrible, horrible browser.

Comment by eyelidlessness — July 31, 2008

Wow. You guys really do just have one line, don’t you?

We are, in fact, making tremendous leaps in standards compliance in IE8. Go download Beta 1 if you don’t believe me, or wait for Beta 2 and be even more surprised. Standards compliance is not and will not be the only thing we sink resources into, however. Crashes are a very bad thing for users; not all crashes (in fact, the bulk of crashes) are not even under our control, as they are the result of add-ins. Therefore enabling crash recovery is a great thing for us to do.

AriesBelgium – you seem to not understand what this feature is. It is user protection for when crashes happen; cross-browser compatibility is irrelevant, and web developers don’t need to “use it”.

Polterguy – never said this was our “biggest feature”. In platform, our biggest feature is a brand new layout engine, with full CSS 2.1 support.

It would add some dignity to this discussion if, instead of just blithely assuming the IE team is doing nothing, you investigate what we’re actually doing before ripping on it, particularly in standards compliance. I don’t claim that we will solve all problems in IE8, or be done with standards compliance, because I don’t think one is ever done – the state of standards moves forward. However, we are in fact hard at work.

Comment by ChrisWilson — July 31, 2008

@ChrisWilson:
With all due respect, because I think in general your team does good work and would probably do more of it if allowed, but… I’ve used IE 8 B1. CSS 2.1, as low hanging a fruit as it is, isn’t all the way there yet. The DOM is still a nightmare. Features that existed before (opacity) vanished in IE 8 mode. While minor tweaks are all that’s necessary for a modern web app to run identically in WebKit, Gecko and Presto, Trident still requires massive branching of code, massive substitution of methods to get close to the same behavior, and quite a bit of magic to sprinkle on top. I don’t want it to be that way, and I doubt you do either.
.
Having simply tried to work against existing standards, I can only guess that developing a standards compliant browser is Hard Work™. But what really gets me is, Microsoft having the resources it does, there’s no reason it can’t be the best of the best, and it’s far from that. The obvious conclusion is that management is stifling improvement. The question is why? Obviously MS benefits from having non-standard features, but it doesn’t follow that they benefit from lacking the standard ones. I’ve long given up on expecting non-standard features to go away or become standardized; in fact, I’ve long since realized that’s not even ideal. After all, places like Ajaxian, and apps like we discuss here, wouldn’t exist if it weren’t for some of MS’ extensions. That said, I really believe the “walk, then run” approach is most appropriate.
.
That was a harder sell when IE was competing with Netscape, but those days are long gone, and existing competitors just do circles around IE.
.
I doubt you could comment on the feasibility of doing something like I suggested above (IE/WebKit hybrid), but are you able to comment on some of the politics within MS that would continue to block your team from catching up with the other browsers? I mean, I think we—as people who spend anywhere from 20-30% of our work hours accommodating browser incompatibilities, focusing almost entirely on IE—deserve some kind of explanation of why, in 2008, we still have to do this dance.

Comment by eyelidlessness — July 31, 2008

@ChrisWilson: I appreciate the amount of work and progress that has gone into improving standards support in IE 8 thus far – and that you’ve taken the time to comment here as well. It must be tough maintaining the balances of all customers. Some IE backwards-compatibility must have to be sacrificed for a more standards-friendly IE 8 I’m sure, but I think it’s a necessary fix, and one which will mean many thankful developers now and in future.
 
IE 6 was great for its time, but is frustrating to work with when compared to the current common Safari 3 / Opera 9 / Firefox 3 user base out there; my hope is IE 8 will help to close that gap. (I say IE 6 because it makes up a surprising portion of UAs seen out in the wild – I work at Yahoo! on Flickr, for what it’s worth. IE 7 is nicer development-wise than 6, but it seems like it has far less users?)

Comment by Schill — July 31, 2008

From: A developer who loves Firefox above all others

To: The Negative Nancys in this thread

Bottom line: IE8 is better than any version before it, it embraces standards, innovates in new and cool ways. Stop trying to be player hater of the year folks!

I for one admire the fruits of this browser competition it is pushing the web forward! Stop being little winy bitches and just thank god that 2009 will be the last real year IE6 is anything significant.

Comment by csuwldcat — July 31, 2008

@eyelidness – B1 was rougher than we wanted, yes, because we made the default-version switch decision very late. As for things like opacity not being there in the new layout engine, we prioritized getting the CSS2.1 features in, and then started looking at our old proprietary stuff to see if it was relevant, and how to keep from polluting the new stuff (since you must be talking about filter:opacity, not ‘opacity’. Filters in particular will be there (in B2), but didn’t make it in B1. (Scott Dickens mentioned this in a blog comment response somewhere on the IEBlog, but didn’t make a separate post.)

I, too, believe in walk before run. That’s why we’ve spent so much effort getting CSS2.1 right, rather than jumping right in and adding whole new feature areas in a haphazard fashion. It’s not sexy, but it will in fact improve exactly what you are concerned about – accomodating browser incompatibilies. We are doing the best we can to focus most on the highest-impact areas we can take on to make web developers’ lives better. That’s been continuously true since I rejoined the IE team in 2004, and if at any time I felt our priorities in platform were not following that, I expect I’d leave.

On integrating WebKit – we would have to add a number of features to WebKit in order to provide compatibility, particularly in the enterprise space – e.g. ActiveX support, which would be a political nightmare, as well as support some of our user features, like activities and WebSlices and printing. Let’s even imagine for a moment that could be overcome – but we would need to bring WebKit up to Windows security and code quality standards (which includes test coverage and quality). That’s work that’s hard to do for hundreds of thousands of lines of code you’re not familiar with. We would have to be responsible (to each and every Windows consumer) for servicing that code (with security updates, etc.). It’s just not a path that Microsoft is likely to follow, as it places tremendous responsibility on us, and the only benefit is a short term catchup.

Politics are not the blocking factor. Ramping up a team and effort to make it happen is.

@Schill I’m surprised you still see IE6 as dominant over IE7 – browser share trends (e.g. http://marketshare.hitslink.com/report.aspx?qprid=3) showed IE7 share passing IE6 share late last year. I understand 26% isn’t zero – it’s roughly all the other browsers put together – but surely it’s getting better?

Comment by ChrisWilson — July 31, 2008

@ChrisWilson I´m glad you spoke up. I also had the feeling discussion was going a bit wild here lately, and I certainly like the fact things are moving in the right direction over there.

Comment by FrankThuerigen — July 31, 2008

@Chris, I imagine browser share is going to vary greatly from one site to another. At w3schools IE7 just passed IE6 in June of this year. Both sites show IE6 at about 26% market share. Most of us will have to support it until it has less than 1% market share. Losing even 1 out of every 100 potential customers can add up and be a big deal.

On developer sites these stats are vastly different. 64.9% of my visitors this month use Firefox. 58.63% of that 64.9% are already using Firefox 3 which has only been out 2 or 3 weeks. That is quick upgrading, though admittedly I myself have yet to upgrade yet. I am planning on waiting a couple more weeks.

21.56% of my visitors use IE, and 65.64% of those are using IE7. Compare the upgrade time for Firefox and IE. Firefox 3 is out for less than a month and the majority of users have already upgraded, at least those that visit my site. IE7 has been out since when, October 2006? It took over a year regardless of which site stats you are looking at to just reach the 50% conversion mark.

8.68% of my visitors use Safari, and 3.63% use Opera.

Comment by GregHouston — July 31, 2008

@ChrisWilson:
I’m kind of perplexed by your response. For instance, you took a lot of time to respond to something that was sort of an aside (opacity), but completely ignored the DOM. Where is IE 8 going with the DOM? There isn’t a lot of talk about it. It’s arguably a lot more important than CSS 2.1, and very much weaker in IE. While some things are clearly broken in IE 6 and 7, what little isn’t easily worked around in IE 6 is either fixed or easily worked around in IE 7. Which is to say CSS in IE is already “serviceable”. It’s not great, and could use both fixes and enhancements, but it really shouldn’t be the sole focus of a standards effort.
.
As far as your comments on WebKit: why couldn’t ActiveX be handled by a plugin, completely independent of the engine except to use its API (say, the DOM) to access/alter page content? Safari implements features similar to Activities and WebSlices, and I don’t see any reason those would need to be in the engine at all; they seem like browser features, not rendering engine features. What printing can’t be done with WebKit? I know that talk doesn’t get it done, and that ActiveX in particular would be a lot of work, depending on its current architecture and how deeply intermixed with IE it is, but I imagine getting IE to be contemporarily comparable to its competitors will be a much larger undertaking, and actually doubt it’ll ever really happen. While IE is catching up to, say, Safari/Firefox 2 in terms of compatibility, they’re both working on versions 4 with huge improvements both on standards, speed, and features.
.
As far as security, my understanding is that the biggest security lead IE has over the competition is that it runs in a sandbox. Even assuming Safari is braindead on security (it certainly is lagging), sandboxing it would go a long way towards securing it.
.
I disagree that the “only” benefit would be catching up (that’s a huge, broad benefit itself, with huge, broad implications for huge, broad sections of the target audience), and especially that it’d be short term. Because WebKit’s open source, there isn’t any reason that MS couldn’t be an honorable partner helping to accelerate WebKit’s advancement. I even imagine that the other corporate interests invested in it would welcome that. It’s not like you’d implement WebKit once and never be able to update it/improve upon it.
.
That’s all academic, though, as far as I can tell. I don’t think there’s a snowball’s chance in hell that management would sign off on a project like that. What’s sad though is, IE is here to stay, still not up to the standards of its competition, and I don’t think anyone wants that besides people using legacy apps, and Microsoft itself. Everyone else suffers, and people like me waste ungodly amounts of hours accommodating IE’s failings.
.
This isn’t a judgement against you and your team. I think you guys are doing the best you can, as you say. But I can’t help but feel that it’s too little, too late, as far as improving interoperability. I’ll reserve final judgement on version 8 until it’s released, but my experience working with the first beta has not been particularly encouraging.

Comment by eyelidlessness — July 31, 2008

“That’s why we’ve spent so much effort getting CSS2.1 right”

Did anyone else scoffed when you read this? Just me?

Comment by cdude — July 31, 2008

@ChrisWilson: you know, this is a developers site and nothing matters more to us than standards compatibility. New features may be nice, but given the poor standards support of the previous IE products what we really want to hear about is standards, standards and standards. Any announcement that doesn’t explicitly mention them will be welcomed as this one. It may be unfair but it can’t be helped as MS has too much bad karma on this subject.

Actually the idea of an IE9 (?) based entirely on Webkit or Gecko isn’t bad at all. Why invest time and money developing the weakest competitor? Just take advantage of open source and get quickly on pair with the competition. Let IE8 be the end point of the ActiveX product line. Companies that can’t do without ActiveX will keep using IE8 on their intranet for the time being and use IE9 for the Internet. Yes I know, ActiveX locks your customers to Windows, I was just dreaming ;-)

Comment by pmontrasio — July 31, 2008

It’s funny how everyone disses IE8 in unanimity. But as soon as 1 person from the IE8 team talks, everyone’s suddenly so polite.

Comment by Jordan — August 1, 2008


I’m surprised you still see IE6 as dominant over IE7 – browser share trends (e.g. http://marketshare.hitslink.com/report.aspx?qprid=3) showed IE7 share passing IE6 share late last year.

This is an average taken over allot websites all with different targeting groups. So it would be unethical to base your conclusions out of something like that.. I’m currently running a website that has 70% IE6. Those numbers mean nothing to allot people who target sites focused on the “normal” people.


showed IE7 share passing IE6 share late last year.

And yet Microsoft still releases SP3 with IE6.. Way to go Microsoft!

If u want to be loved by developers, I would just suggest to stop messing around and just fix the damage that u have broken over the past years..

Shock the work, build a standards compatible browser! Only than IE will be loved again by developers..

But than again.. I’m a day dreaming like everybody else.. IE and standards is like water and fire…

Comment by V1 — August 1, 2008

@Jordan: What do you mean? Does one have to be mean to IE developers to criticize IE?

Comment by eyelidlessness — August 1, 2008

@ChrisWilson: I wasn’t referring to the new stability features but to Activities and Webslices. There would make the following sentence more sense: “because other browsers don’t support it”.

@eyelidlessness: Don’t you get it, Microsoft always has to have something to call their own to compete with existing technologies. MP3 vs WMA, J2EE vs .NET, Java vs C#, Flash vs Silverlight, … If they even make new things to compete with existing technologies they will not replace their own technologies with someone else’s.

Comment by AriesBelgium — August 1, 2008

But they can keep all their proprietary junk technologies in a plugin. Even if they don’t adopt WebKit or some other actually-good-already engine, moving that stuff to a plugin makes a lot of sense as an architecture and would make updating IE a hell of a lot less painful.

Comment by eyelidlessness — August 1, 2008

I was curious about the IE split, so I looked at my stats: 75% IE and inside that 60% IE7 and 40% IE6. Just a stat to throw in.

And yeah, to those who said that MS should have used WebKit or Gecko when creating a development team for IE7 a few years ago, that would have been great. It would have also killed any competition if MS has some good tech to deploy. A decision was made for whatever reasons, the path is too far set to change, and hindsight analysis does not help except for the purpose of venting. Which is useful to a point.

Anyhow, WebKit is only talked about because Apple used it since they (like Microsoft) had dumped their in-house browser team for some years. For Apple, that was originally because they signed a non-compete with Netscape back in the day, and for MS (this is postulating), IE was ‘good enough’ and didn’t need serious investment (like the MS mobile side) as they didn’t see much return.

Comment by sroussey — August 1, 2008

>>It’s funny how everyone disses IE8 in unanimity. But as soon as 1 person from the IE8 team talks, everyone’s suddenly so polite.
.
Not really surprising. I have anger toward IE because of the gray hairs it’s given me, but if Chris Wilson has the grace to show up in a hostile crowd, doesn’t it make sense to make the effort to to polite and try to convince him what is important to each of us?

Comment by Nosredna — August 1, 2008

@GregHouston, @V1 – yes, share does vary a lot by site; I guess in retrospect I shouldn’t be surprised that Flickr has a high IE6 share.

@eyelidness – I think it would be an argument that CSS is serviceable in IE7 with web designers. :) But seriously, I didn’t get into the DOM because there are a ton of small things that have changed (and will change in beta 2) – it’s not as easy to detail as “full CSS2.1 support”. That doesn’t mean lack of investment. (Nor, of course, does it mean “we’ve fixed everything and are now done.”) YMMV, but please check it out.

ActiveX can’t be done by another plugin – the browser has to parse it and host the AX objects. Doing that kind of scale changes to Webkit would fork the code, and I’m not convinced the web would benefit.

It’s fine to say “great partnership opportunity” – however, I’d say we COULDN’T update or improve on it in all ways that we might want to.

I disagree completely with your characterization that the only benefit IE has over Safari in security is running in a sandbox. I’m not going to elaborate, and I don’t mean to rip on anyone; this is one area where I think we’ve been through the wringer and learned (and applied a LOT of lessons).

@cdude: I’m guessing you’re not running the build that I am. :)

@Jordan: heh.

@V1: re: shipping SP3 with IE6 – please understand that we have servicing agreements. To paraphrase in a non-normative way: SPs are not supposed to drop software that isn’t security updatres on to your machine, and they SPECIFICALLY are not supposed to have dramatic compatibility effects. Like dropping an entire new browser in.

@AriesBelgium: Ah. Well, again, with activities sites don’t need to do anything, though they do with Webslices – although plugins to support both of these in FireFox were already very quick in coming, so it’s not really true to say other browsers don’t support them, or at least their plugins do.

Comment by ChrisWilson — August 1, 2008

“I think it would be an argument that CSS is serviceable in IE7 with web designers.”
.
LOL! It’s kind of funny that we’re on opposite sides of that than one would immediately expect. That said, I’m not saying there aren’t problems, I’m saying they’re by and large problems that can be worked around with little trouble. The same can’t be said of the DOM. I’d have that argument out with designers, too; granted, my CSS-and-hacks knowledge seems to be a little broader than that of my peers, but the fact is that most of what is wonky in IE 7′s CSS can be fixed after a quick Google search.
.
“But seriously, I didn’t get into the DOM because there are a ton of small things that have changed (and will change in beta 2) – it’s not as easy to detail as ‘full CSS2.1 support’. That doesn’t mean lack of investment. (Nor, of course, does it mean ‘we’ve fixed everything and are now done.’) YMMV, but please check it out.”
.
I have to say, this is a bit disappointing. I mean, with web applications taking off as they have, how could the DOM not be at least equal in priority with CSS? This is stuff that, aside from some bugs, has been done for a long time in competing browsers. I mean, I think you can understand how developers are reluctant to get behind an IE version that still requires us to write separate code from what almost invariably works exactly the same across all the other browsers.
.
“ActiveX can’t be done by another plugin – the browser has to parse it and host the AX objects.”
.
Why can’t a plugin do that? There are existing plugins that do one or the other (Stand does site alteration based on parsing, Flash hosts its objects, if I understand your meaning here), why couldn’t both be done?
.
“Doing that kind of scale changes to Webkit would fork the code, and I’m not convinced the web would benefit.”
.
Yeah, but only if you start from the assumption that it must be done in the engine.
.
“I disagree completely with your characterization that the only benefit IE has over Safari in security is running in a sandbox.”
.
I disagree with that too, which is why I didn’t say it. I said it’s IE’s biggest lead, and moreover that sandboxing would go a long way towards securing Safari.
.
“I’m not going to elaborate, and I don’t mean to rip on anyone”
.
Hey, I think everyone can take some criticism, and if they can’t they should.
.
“this is one area where I think we’ve been through the wringer and learned (and applied a LOT of lessons).”
.
I agree, completely.

Comment by eyelidlessness — August 1, 2008

@Chris,

Very happy to see the progress on IE8. You guys have a lot of catching up to do. Hopefully, you’re as committed to web standards as the folks at Mozilla.

I do hope you understand the hostility of many web developers towards MS though. IE6 is a huge time sink for us. We’ve spent way too many hours of our lives trying to work around IE6′s too numerous to list deficiencies. To say it makes web developers angry is just a tiny understatement.

Good luck on IE8. Maybe you’ll even have a decent web development tool like firebug one day!

Comment by RichW — August 6, 2008

that was a fantastic read
thanks guys

Comment by Tribulus — September 22, 2008

Leave a comment

You must be logged in to post a comment.