Bewildered by Browsers?
Challenges & Strategies For A Multi-Browser World
Take away your word processor, your email client, all the apps on your computer and smartphone. If you have a Web browser, you can do without all of them. Take away the Web browser, though, and a lot of us would be out of business, and the world’s stupid cat videos would be searching in vain for an audience.
No piece of software is as critical to the way the world works, communicates and plays today as the Web browser. Fifty percent of computer time is spent in the Web browser, according to the Microsoft Internet Explorer team – and for many, it’s much more. Businesses are increasingly adopting browser-based and browser-enhanced apps like salesforce.com, Google Apps, and Microsoft Office Live. More and more businesses and consumers are embracing various forms of browser-based communications, networking and conferencing. And then there’s our insatiable appetite for shopping, entertainment, and information.
The browser is the focal point of our digital lives, and as such is central to how we work, play and manage every day. And today, the world of browsers is a crowded and complicated place.
Hotly Contested Turf
From the earliest days of the Web, the browser was recognized as prime turf. Netscape Navigator was the first widely adopted browser, and it wasn’t long after its introduction in 1994 that it had captured more than 90 percent of the market – and Netscape actually charged money for the software. Navigator worked on a variety of operating systems, essentially leveling the Web playing field right out of the gate. It didn’t matter what computer or OS you used, the Web would always look and act the same through the Netscape window.
Seeing an opportunity, Microsoft fired the first shot in the first browser war. Starting with Windows 95, Microsoft began bundling its own Web browser, Internet Explorer, for free with its operations system. No one has paid for browser software since. With ownership of the desktop, and deep pockets to delay legal challenges to its browser-bundling practice, Microsoft soon took ownership of the browser market – even on Apple Macs – a position it occupied well into the 2000s.
In 1998, America Online absorbed Netscape, and by 2003, the organization that pioneered the Web browser was disbanded. But even before it was acquired by AOL, Netscape had seeded the open-source Mozilla project, which would ultimately produce Firefox. 1Wikipedia.org, “Netscape”
The New Browser Battleground
After a period of relatively uncontested dominance, Microsoft's Internet Explorer today faces serious competition. Like the turtle chasing the hare, Mozilla's Firefox has slowly and steadily grown into a significant player, claiming nearly 22 percent of the browser market for all devices as of May, according to NetMarketShare. Apple's Safari browser, while still mired in the single digits, has grown more than 40 percent since last July to 7.28 percent in May, thanks largely to its iOS mobile platform. And Chrome, introduced by Google in late 2008, is the fastest-growing browser, soaring nearly 75 percent since last July to corral 12.52 percent of the overall browser market. 2netmarketshare.com, “Browser Market Share” and “Top Browser Share Trend,” May 2011
All this comes at the expense of market leader Microsoft, which as recently as early 2008 owned more than 75 percent of the market. As of May, its share sat at 54.27 percent, a 10-month decline of more than 6 points. Unless its much-touted new Internet Explorer 9 can stem this slide, Microsoft will soon no longer lay claim to the majority of Web users.
For the foreseeable future, the market looks to remain splintered, with Firefox and Chrome doing their best to eat away at IE, and Safari staying comfortably in its niche. But what does this mean for website owners and developers? Not that long ago, it was a safe bet to optimize a site for IE and know that you’d be covered for the vast majority of users. But with the number two and three browser shares at more than a third of the market and growing, cross-browser compatibility is a priority that can no longer be ignored. How big an issue is it? And how hard is it to develop a site that’s reliable in multiple browsers?
Different Windows, Different Views of the Web
In the worst case scenario, a site that works in one browser may be completely broken in another. Sooner or later, users encounter a site that only works in Internet Explorer (in which case Mac users are totally out of luck, since there hasn't been a Mac version of IE since 2003). In the best case scenario, display of some page elements will show poorly from one browser to the next.
While all the major browsers tout themselves as built to standards, their selection and implementation of standards varies, and their underlying technologies are different.
And while the fanfare for HTML5 is all around universal standards and consistent functionality, it is still very much a work in progress and not expected to reach "recommendation" status by the standards body W3C before 2014. (See related Benchmark story.) Meantime, browser developers have selectively implemented elements of the working specification. A conspicuous debate still goes on, for example, over the video format that should be included in HTML5. Firefox, the vocal open source champion among the leaders, supports the open source Ogg Theora video format. IE and Safari support H.264. Google has flip-flopped, announcing in January that it is dropping its support of H.264 in favor of the open-source WebM format that it has nurtured to mixed reviews for over a year, while it also maintains support for Ogg Theora. 3cnet, news.cnet.com, "Google yanking H.264 video out of Chrome," by Stephen Shankland, 1/11/11
And then there’s hardware acceleration – the latest tactic in the quest for the "fastest browser" title – whereby the browser leverages the PC’s graphical processing unit (to the extent that it’s available) to do some of a site’s heavy lifting. IE9 is pulling the market forward in hardware acceleration and the other browsers are coming along, but as expected, each of the browsers has its own way of implementing it.
These are just the most obvious differences. All this is to say that, while all Web browsers have the same goal – to render pages and execute commands swiftly and flawlessly – each one approaches it in a different, often significantly different, way. And that creates a big challenge for site owners and developers.
The Developer’s Dilemma
"There’s no such thing as one standard experience today," says Anshu Agarwal, Keynote’s vice president of marketing. "It has created challenges for teams that are responsible for keeping websites up and running, and for those who are designing and building websites. It is more sophisticated and complicated than I have ever seen, and I’ve been working in this area since ’95."
Developers have evolved their strategy over the years to deal with multiple browsers, from using sniffers to detect the browser and serve up entirely different code bases; to a branching strategy that, at various points in the code issued different commands to different browsers; to frameworks like jQuery and Dojo that automate the multiple-browser scripting process.
"Even with those frameworks, there are still quirks," says Keynote Senior Product Manager Dave Karow. "There are still differences that even jQuery can’t make go away. At a fundamental level, each browser has different characteristics about how it fetches the objects, just plain and simple. That will affect how quickly the elements of the page can be fetched from the server."
Microsoft recommends developers use a strategy of detecting for specific features rather than for different browsers. "So when you build your page, you test for the availability of a certain feature," Rob Mauceri, group program manager for Internet Explorer, told Benchmark. "For example, maybe it’s HTML5 video. If the browser supports it, you use it. If it doesn’t support it, you have some fallback code, maybe you use the Flash video player."
Whichever strategy is used, the most critical step in the multiple-browser development process is detailed, comprehensive pre-release quality assurance testing.
Unless you’re developing for a remote island that has access to only one Web browser, there’s no way to get around it: you have to test for each and every browser your audience may be using, and that generally means at least three, if not four, different browsers (and we are talking here, as throughout this article, about desktop only; mobile is an entirely different discussion). If multi-browser testing isn’t done before going into production, the result is inevitably trouble.
"We have a big client that did a major site rebuild and relaunch, and they optimized it for just one browser," Agarwal recounts. "Our systems were monitoring the end-user experience, and kept throwing up errors. At first the client thought it was a Keynote problem. But when they dug into it, they realized the problems were because, in one of the browsers, their site was not rendering as they thought it would, and the experience wasn’t what they thought it was going to be."
Keynote Director of Internet Technologies Ben Rushlo puts it bluntly. "You have to make sure there’s a QA process that supports the various browser permutations," he says. "It ups the stakes in terms of complexity, in terms of testing. But you need every permutation, not just in the browsers but the browser versions and OS. It’s not just enough to have IE9, you need to have 7 and 8. And the same thing with Firefox."
QA Early, Monitor Always
It is important to understand and maintain the balance between pre-release quality assurance testing and ongoing monitoring of a production site in a cross-browser environment. The bulk of cross-browser issues should be identified and resolved while the site is being built or updated – prove performance in every major version of every major browser. There’s no way around it. This is going to make sure pages load correctly without stumbling and processes execute whatever browser is in front of the user.
Once live, though, a performance monitoring regimen kicks in. The main purpose of performance monitoring is not to vet out cross-browser issues, but to monitor and maintain the robustness of the entire site infrastructure – performance and availability.
"Performance management is very different than QA," Rushlo says. "It’s about driving statistics that help me understand what I should improve on my site. Where should I invest in infrastructure? Where should I invest in site design changes, or use additional vendors or solutions like CDNs?"
Many of these issues are browser-agnostic – if the server has an outage, it’s out for all browsers – but some do involve specific browsers. So resource allocation decisions are required. A very thorough solution includes end-user monitoring using live installations of the two leading browsers, IE and Firefox. A more middle-of-the-road solution would include continuous monitoring with one of the major browsers, supplemented with regularly scheduled testing with an alternate browser.
"My advice is, in QA, make sure you’re using as many permutations as you can," Rushlo says. "In production, make sure you’re using a real browser. If you really care about performance, you have to use a browser because so much is happening in the browser now, unlike six or seven years ago, when the browser was very simple. We’re pushing a lot more code to the browser today."
How Do Users Fit Into the Equation?
For all the angst over features and performance, how much does it really mean to users? Unless they’re having a problem, do they give it much thought? Even more fundamentally, do they even know what it is? In the early Chrome days back in 2009, Google sent a camera crew to Times Square to conduct a series of person-on-the-street interviews posing the simple question, "What is a browser?" (See the highlights on YouTube.) Less than eight percent of interviewees knew what a browser was. Students in Rotterdam repeated the survey asking the same question and got similar results: of 60 interviewees, only three were able to offer a reasonable definition of a browser (highlights on YouTube).
On a similar note, comScore reported the top organic search phrases for the U.S. in 2010. The top three, in order: Facebook, YouTube and Google. 4comScore, "U.S. Digital Year In Review 2010," comscore.com, 2/2011 Does this mean users were googling Google to find Google? Or that they didn’t want (or know) to type "facebook.com" in the address bar, so they typed "facebook" in the Google search box? Hard to know. But what it likely means is that pinned apps, app tabs, tab groups and the like are going to be lost on many users.
If users are really this unsophisticated, then what explains the significant shifting of market share among the top browsers? Perhaps it’s the more sophisticated users bringing the others along. In another decidedly unscientific quick poll, run by The Huffington Post in conjunction with an article about browser performance, readers reported their favorite browser as follows: Firefox 47.99%, Chrome 36.04%, IE 7.84%, Safari 5.06%, Other 3.06%. 5The Huffington Post/HuffPost Tech, "Google Chrome 10 vs. Firefox 4 vs. Internet Explorer 9: See Which Is Fastest," by Catharine Smith, 3/28/11 For this seemingly more-informed-than-average audience, share is discombobulated compared to general-market browser share research.
The point to this miscellaneous roundup is that A) the average user doesn’t give much thought to the browser, so unless it breaks or someone pushes them to change, they’ll probably stay with what they have; and B) significant numbers of more sophisticated users do care, and will and are switching, presumably to get a better experience whether in terms of overall performance or feature set or both.
In either case, the bottom line is that browser performance matters. In a highly competitive market where share is shifting, site owners no longer have the luxury of building their site for one browser and hoping for the best with the others.
Today, it’s a multi-browser world that requires multi-browser solutions.