I never thought I’d see Microsoft throw in the towel on their browser engine. Or that, by the time it happened, I’d see that as a bad thing.

But it’s true: like Opera did a few years ago, Microsoft is dropping not only the old Internet Explorer engine, but the newer Edge engine, and will be building Edge on Chromium going forward. That means Edge, Chrome, Opera and Safari are all built on the same codebase. (Chromium split from Apple’s WebKit a while back, but they still have a lot in common.)

Monoculture is still a problem, no matter who runs it. We’re already at the point where webdevs are treating Chrome like the defacto standard, the way they did IE6 back in the day.

Firefox is going to be even more important in the future, ensuring that the web continues to be built on interoperable standards instead of one stakeholder’s goals.

Mozilla is a non-profit organization, and like many, they’re running a year-end donation drive. Now is a good time to contribute to their mission to keep the internet and the web open. (I’ve already made my annual donation to them.)

I think I may want to finally shut down or retool that old Alternative Browser Alliance site I ran during the Second Browser War. The last time I made a significant update to it, Chrome was the new upstart.

Apparently there are websites out there that are redirecting Internet Explorer users to the Alternative Browser Alliance. This is, IMHO, both counter-productive and counter to the open spirit of the web.

For all the same reasons that you shouldn’t block visitors using Firefox, Safari, Chrome or Opera, or anything else unless there’s an actual, genuine technical reason (and unless you’re doing serious multimedia that has no fallback option, there is rarely a genuine technical reason), you shouldn’t be blocking visitors using Internet Explorer…

Because you’re not going to change them. You’re just going to make them angry.

They arrived at your site looking for something. Slapping them in the face and sending them off to another site is not going to get them to change their behavior and come back. It’s just going to make them look somewhere else for someone offering the same thing who won’t make them jump through hoops.

Case Study

Last week I received a message through the Alternative Browser Alliance’s contact form asking, “What does this have to do with cpanel?” I wanted to reply, “Nothing, why do you ask?”…but the person who asked the question hadn’t left an email address, just the name “King Kong.”

(Tip: If you want an answer to a question, give people a way to contact you!)

So I checked the server logs and saw that he(?) had arrived on the Why Alternative Browsers? page and had left no referrer. Great, another dead end.

I was ready to write it off as spam, but then I decided to search the logs for cpanel, and found several hits referred by a cpanel tutorial. I visited the page and didn’t see any links to my site, but when I looked at the source, I spotted this script:

if(navigator.userAgent.indexOf("MSIE")!= -1)
{
   window.location = "http://www.alternativebrowseralliance.com/why.html";
}

Wow. They just redirected all IE users with no explanation — not even pointing out that they were being shunted off to another website! Imagine opening the front door of a computer repair shop and walking inside to find a political activist’s office instead!

Presumably “King Kong” had searched for cpanel, followed a link to this tutorial, and found himself looking at a page about alternative web browsers. No wonder he didn’t leave a contact address. He didn’t want an answer. He was angry and blowing off steam — at me, for something that someone else did.

And did badly, I might add: Three of the five visits I could actually identify in the logs claimed to be Opera Mini, not Internet Explorer. I don’t recall whether Opera Mini can masquerade as another browser (the current Android version doesn’t offer the option, but this claimed to be an older Java version), but the desktop version certainly can. Older versions of Opera used to deliberately identify themselves as IE (with a tag adding that, no, actually it’s Opera), and would have been caught by this script!

The User-Agent isn’t a reliable indicator. It was never intended to be. If you must single out Internet Explorer for some reason, use conditional comments. That’s what they’re designed for.

If what you want to do is block IE visitors, though, think about what you’re really accomplishing. And please, don’t just silently shove the “problem” visitors onto someone else.

The IEBlog recently posted about their efforts to improve reliability in Internet Explorer 8, particularly the idea of “loosely-coupled IE” (or LCIE). The short explanation is that each tab runs in its own process, so if a web page causes the browser to crash, only that tab crashes — not the whole thing. (It is a bit more complicated, but that’s the principle.) Combine that with session recovery (load with the same set of web pages, if possible with the form data you hadn’t quite finished typing in), and you massively reduce the pain of browser crashes.

I’d like to see something like this picked up by Firefox and Opera as well. They both have crash recovery already, but it still means restoring the entire session. If you have 20 tabs open, it’s great that you don’t have to hunt them down again. But it also means you have to wait for 20 pages to load simultaneously. It would be much nicer to only have to wait for one (or, if I read the IE8 article correctly, three).

Edited to add:

On a related note, I’ve run into an interesting conflict between crash recovery and WordPress’ auto-save feature. If you start a new post, WordPress will automatically save it as a draft. If the browser crashes, it will bring up the new-post page, but restore most of the form data you filled in. So the title, the text of your post, etc will all be there. But WordPress will see it as a new post, and you’ll end up with a duplicate.

This wasn’t a major problem when I encountered it — I had to reset the categories, tags, and post slug after I hit publish (since I hadn’t noticed that they’d been reset to defaults), and I just deleted the older, partial version of the post — but I can imagine if I’d uploaded an image gallery, I would have been rather annoyed, since there’s no way (that I’ve noticed) to move images from one post to another. Reuse them, sure, but not such that the gallery feature would work.

Internet ExplorerInstalled the first Internet Explorer 8 beta. Some thoughts:

I’m impressed that it can import settings from Firefox & Safari.

It detected Firefox extensions and even offered to look up similar add-ons. Unfortunately it was a big long search string with all the titles, and therefore a useless list of results for things like cameras (yeah, how am I supposed to install a $1000 Nikon D80 on my web browser?) and the hint book for Splinter Cell.

Activities: My first thought was, “hey, they’re doing stuff with microformats!” Which is key to the underlying support (recognizing types of data and only offering relevant services, like maps for locations but not for book titles). But on the face of it, it’s a lot more like the way Flock integrates with various web services: Set up your blogging provider, and you can easily send stuff to your blog. Though right now they mostly have Microsoft-hosted services.

“Emulate IE7” appears to involve restarting in an alternate mode right now. I assume automatic switching is something planned for later betas.

Other than that, the UI seems about the same as IE7 so far.

It does indeed pass Acid2 (assuming the page isn’t swamped when you try to load it).

So, how else does its rendering differ?

Minor visual glitch: I have CSS-based banners on some pages (W3C validation, for instance), using spans with borders. If it’s on the last line of a page, IE will cut off the bottom border, because it extends past the end of the page. Other browsers show it. I’ve gotten around this in the past by adding a blank paragraph afterward, but now IE8 collapses the empty paragraph. That’s probably the correct thing to do, but it does mean adjusting things a bit. Not a big problem, though, because I’ve just noticed that it handles other pages fine, without the <p></p> workaround, which means that I’m probably already using a better solution elsewhere.

Several cases of re-styling UL lists seem to confuse it. The tabs running across the top of my Flash page, for instance, or the sidebar on the Alternative Browser Alliance. Others appear just as they do in other browsers (including IE7). This will bear investigation. (Edit: 2 different problems; see below.)

Still no sign of generated content. Beta 2? Please? Edit: according to CSS3.info, it does support generated content, but images don’t work (yet?). I’d been using this, progressive-enhancement–style, to add icons for outgoing links on my Flash site. It works in, well, everything else current.

Additionally: I’m surprised to see it so early, and to see it as a public beta and not something that required an MSDN login. And they had the sense to release a version for Windows XP! I was half-expecting it to be a Vista-only release, which would’ve been seriously annoying.

Further updates will be added below as I think of them.

It turns out the problem on the Alternative Browser Alliance menu wasn’t related to lists as I’d thought, but to a change in the CSS parser. For whatever reason, IE8b1 is susceptible to the Caio Hack (/*/*/ place code here /* comment */) normally used to hide CSS rules from Netscape 4. At this stage I should probably be able to remove it and not worry about NS4 anymore. (And it turns out that since I added media types to the link a while back, NS4 doesn’t even read the stylesheet in the first place!)

On the issue with the tabs on the Flash site, it looks like IE8b1 isn’t extending backgrounds beyond the text line on inline elements (oddly, also like NS4). This is probably what’s really going on with the CSS buttons I mentioned above. I’ll have to check which behavior is correct, but my money would be on the Gecko, Opera and WebKit interpretation. If so, this will probably be changed before the final release. If not, I’ll use inline-block instead. Which perhaps I should be doing anyway, except for the annoying fact that Firefox 2 doesn’t support inline-block and Firefox 3, which does, is still in beta.

I’ve reported the Caio Hack issue to Microsoft using their “Report a Webpage Problem” tool. The form emphasizes that you shouldn’t send anything that could identify you, so instead of reporting the problem on one of my own sites, I sent the page describing the hack. This probably means I reported it in the wrong way. 😕

It looks like Activities isn’t actually context-sensitive yet, since it’s offering to show me a map even when I’ve selected random prose instead of an address.

Having messed with it more than I probably should over the last 24 hours, I’ve come to a decision: During beta 1, any rendering problem I encounter in IE8b1 that works the way I want it to in Gecko, Opera, Safari and IE7, I’m going to assume is a bug in beta 1. I’ll try to narrow them down & report them when I have a chance, but I won’t actually change my sites’ code (except for retargeting IE-specific workarounds) until at least beta 2.