IE, Firefox, Chrome, Safari, Opera – what browser does a .Net developer choose?

The short answer:  all of them.

According to NetMarketShare, Internet Explorer still has, what is considered in politics, a 62.18% complete landslide domination of the other browsers.

image

So we can read:  62% IE, and 38% “not IE”.  But that doesn’t work in practice because the other 38% is fragmented among at least 4 other major players (major being defined as more than 1% market share, or about 17,300,000 installations).  Think about it.  Opera has over 41 MILLION users.  So that 2.38% is still not anything to sneeze at. . . unless you are serving the 1,075,714,000 IE users.  Wow.  over 1 billion Internet Explorer users.  (Internet stats from “Internet World Stats”)

At Headspring, most of the current market wants a mix of web, windows, and mobile business applications with a heavy, heavy lean towards web applications.  As a Microsoft shop, ASP.NET is dominating the line-of-business space for us.  We have to decide which browsers to support (which really means which browsers to heavily test).  Yes, the client might have some browser preferences, but most of our clients trust us to do the right thing for them.  So what do we do, and what browser do “I” run?  See above (I run them all).

First, we have to look at the base of users and what browser they are typically running.  A really popular combination is IE 7 and Firefox 2.  Yep.  Version numbers.  We have successfully deprecated IE 6 support down to the functional level (must work in IE 6, but visual discrepancies won’t be fixed) because clients have either migrated or they plan to migrate within a year, and we present the cost/benefit of the alternatives.  Any clients needing Chrome support?  Nope.  none.  not even a mention.  Now, in our experience, if a web application works properly in IE 7 AND Firefox 2, it is highly likely to be just fine in the other browsers.

Now for me.  Yes, I run all the browsers, but I have chosen one for my day-to-day browsing needs.  That browser is Google Chrome 4.  Not Chrome 3 or 2.  But 4.  And it’s only today.  Why?  Because I think Microsoft is going to wake up and deliver a really killer Internet Explorer that will push it’s market share back to 90% in the coming years.

Let me back up:  for running software applications, it is critical to use the browser that the client will be using (and if it requires a different version of IE, then just run it from Windows 7 XP Mode).  If your client is predominantly Firefox (like some timid IT departments now), then you must test your app predominantly in Firefox.  Same for IE.  Ignoring the dominant browser at your client is a really good recipe for obvious bugs to slip through.

Now, why Google Chrome 4?  Because of the architecture of the browser coupled with new support for extensions.  Each tab runs in its own process.  This is critical because it delegate memory isolation and threading to the operation system instead of trying to manage them all within a single browser process.  Next is extensions.  First, and my favorite, is the IE Tab extension, ported from IE Tab as a Firefox extension.  It runs the page in the IE rendering engine but inside a Chrome tab (which is isolated to one process).  Note that this cannot fully replace actually TESTING with IE proper for your clients.

Below is an image of two Chrome tabs.  The top is regular, and the bottom is with IE Tab.

image

My next favorite extension is just named “Keyboard Navigation”.  It’s just like the really great Numbered Links Firefox extension that makes it possible to really browse the web without the mouse.  You press the comma(,) hotkey to pop up the shortcuts, then choose your link.  The enter key directs your browser to follow the link.  All while keeping your fingers on the home row.

image

I don’t use IE and Firefox anymore for my normal browsing for one single reason:  The process architecture.  Having all the tabs in a single process produces a slow browsing experience (when contrasted with the alternative).  Does Chrome slurp up more memory?  Absolutely.  Here is a screen shot of all the processes.

image

A quick glance produces over 500MB or RAM used just for the browser.  If I was worried about RAM (and willing to spend my time waiting in order to save RAM) I would probably make another decision.  But, when all my guys are equipped with 8GB of RAM in the company computers, it’s just not a constraint to worry about.

I’m not an Internet Explorer MVP, so I don’t get early access to IE information and roadmap plans, but I do expect a big breakthrough on that front to be announced in 2010.  I think the sleeping browser giant is about to wake up.


Trackbacks

Interesting Finds: 2010 02.01 ~ 02.07 Posted on 2.06.2010 at 7:49 PM

Other 15 Fantastic Finds on the Google Code Repository 10 Big Time-Saving Tools for Web Designers Weave

Comments

Matt Hidinger said on 2.02.2010 at 9:52 AM

Hi Jeff,

Just one note regarding:

[quote]I don’t use IE and Firefox anymore for my normal browsing for one single reason: The process architecture.[/quote]

IE8 does indeed isolate each tab into its own process. In fact it was the first browser to RTW with this feature. Chrome does take it one step further in that Plugins (flash, etc) also run inside their own process.

I typically use IE8 and Chrome for my day-to-day, and it is indeed nice to see memory get reclaimed when closing a tab.

-Matt

Chris Benard said on 2.02.2010 at 9:54 AM

I recently switched to Chrome 4.0 stable. I tried it in the dev branch, but it wasn't stable enough for me. I love the new process-separated extensions.

You're right, most sites work, and it's a good approximation of Safari as well, since they're both KHTML. But, you're right: it would be unwise to completely ignore Safari.

Like you said, it's up to the customer. They get to choose the features based on cost/benefit. If they want to make sure the site works in IE4 then the extra development effort can be expended to make that work. Nothing is impossible!

That's a bit of a contrived example, but I don't think Microsoft will innovate in that space. They're constantly just copying from others in the browser market to be "good enough." I think the innovation will always come from the smaller players, but as developers, we have to make sure our apps work on the latest revisions (hopefully latest) of Internet Explorer.

My favorite thing is when I still log into sites, like my credit union, and I get a "This site is best viewed in Netscape Navigator 4.0 or above" message.

Michael said on 2.02.2010 at 10:04 AM

Based on the discrepancy between the statistics from NetMarketShare and those of W3C (http://www.w3schools.com/browsers/browsers_stats.asp), I don't trust anyone's numbers on browser usage (though I'm more inclined to trust W3C).

Ely Lucas said on 2.02.2010 at 10:36 AM

As other have pointed out, IE8 does in fact, start a new process per tab. You can see for yourself just by opening new tabs and watching new iexplorer.exe processes pop up in task manager.

Thats a pretty bold statement about the next version of IE. I hope you are right, I would really like to see a better IE in the future.

Jeremy Gray said on 2.02.2010 at 11:32 AM

Your Chrome memory measurements are wildly inaccurate. Do a search and you'll find one of several good articles on why you need to use Chrome's measurements of memory consumption instead of those shown in taskman.

val said on 2.02.2010 at 11:47 AM

>> Based on the discrepancy between the statistics from NetMarketShare and those of W3C

>> (http://www.w3schools.com/browsers/browsers_stats.asp)...

Maybe w3schools and W3C are not the same?

Brendan Enrick said on 2.02.2010 at 12:36 PM

Great post Jeff. I also switched to Chrome for a lot of the same reasons. IE 8 does have separate processes for each tab, but I've still seen one tab crash them all. Not sure how they pulled it off. Perhaps it was the plugins.

I've got nothing but good things to say about Chrome.

Metamenga said on 2.03.2010 at 5:18 AM

IE was the first to release a browser that opens separate processes for tabs, but unlike chrome it doesn't also open a separate process for plug-ins, thats why sometimes the entire browser can still crash because of one site on one tab. Hopefully they address this issue.

Filip Duyck said on 2.03.2010 at 6:24 AM

I've recently switched to Chrome for regular browsing as well, but mostly because Chrome feels alot snappier than both IE8 and Fx3 - especially IE8 seems to become pretty slow when it's been open for a while. The separate processes for tabs are a nice but as Matt points out, IE8 has had this for quite a while now.

Scott White said on 2.03.2010 at 10:16 PM

Chrome is great, so much more faster & stable than FF or IE. I'd have to disagree about IE waking up from its slumber. I've officially written off IE from ever "Not Sucking". Do I want to be proved wrong? Absolutely!

Problem is that Microsoft's record speaks for itself, I think it's a big misnomer that "Microsoft comes late to the game but eventually gets it right". Generally they're hit or miss and their bad products tend to remain bad such as InfoPath, SharePoint, TFS, WinMo, IE and every competitor that they have to an equivalent Google site (from hotmail to live/bing).

Calthropstu said on 3.06.2010 at 4:29 AM

The W3schools statistics page states that the info listed there is for the more techno savvy. That is THEIR hit counter. It then goes to say that the average user most use IE. The stats here are likely more accurate.