September 23, 2009

A Slippery Slope

Now that Google launched a Chrome plug-in for Internet Explorer, users will see dialogs that suggest to install the plug-in. The first Google service that will show this message is Google Wave.

"To use Google Wave in Internet Explorer you need to install the Google Chrome Frame browser plugin. Or, you can use one of these browsers: Google Chrome, Safari 4, Firefox 3.5. If you want to continue at your own peril, go ahead."


I'm not an Internet Explorer user and I understand that developers hate it because they have to spend a lot of time finding workarounds for IE, instead of adding new features, but this message is misleading.

"To use Google Wave in Internet Explorer you need to install the Google Chrome Frame browser plugin." That's simply not true: Google Wave works in Internet Explorer, even though there are some features that require Google Gears or work better in other browsers.

"Google Wave depends on strong JS and DOM rendering performance to provide a desktop-like experience in the browser. HTML5's offline storage and web workers will enable us to add great features without having to compromise on performance. Unfortunately, Internet Explorer, still used by the majority of the Web's users, has not kept up with such fairly recent developments in Web technology. Compared with other browsers, the JavaScript performance is many times slower and HTML5 support is still far behind. Likewise, the many different versions of IE still in use -- each with its own set of CSS quirks and layout limitations -- further complicates building rich Web applications. In the past, the Google Wave team has spent countless hours solely on improving the experience of running Google Wave in Internet Explorer. We could continue in this fashion, but using Google Chrome Frame instead lets us invest all that engineering time in more features for all our users, without leaving Internet Explorer users behind," explains Google.

Just because you can't offer the same experience in all browsers is not a reason to mislead users. You can inform users that your application runs faster in Google Chrome or certain features are only available if you install a plug-in or a more recent browser.

It's a slippery slope and I hope Google doesn't drop support for Internet Explorer just because it's a good opportunity to promote its own browser. Especially now, when even Microsoft builds applications that don't require Internet Explorer.

"Graceful degradation is an important principle in Web design. It means that, when you put in features designed to take advantage of the latest and greatest features of newer browsers, you should do it in a way that older browsers, and browsers letting users disable particular features, can "step down" to a method that still allows access to the basic content of the site, though perhaps not as snazzy in appearance," explains Dan Tobias.

40 comments:

  1. They need to update the icon for Firefox 3.5.

    ReplyDelete
  2. internet Explorer sucks, deal with it. I'm not being a snob. I keep trying it every so often, and even IE8 is just garbage. Sorry, its just true. If Google wants to politely tell it like it is, more power to them. Microsoft has been holding back Web development for many years. Leave IE in the dust where it belongs!

    ReplyDelete
  3. Google are under no obligation to support all web browsers. If they don't want to invest time and money into clunky IE support then they shouldn't have to.

    Basically you are arguing that the wording should change from:
    "To use Google Wave in Internet Explorer..."
    to:
    "To *properly* use Google Wave in Internet Explorer..."

    ReplyDelete
  4. At some point, graceful degradation comes at an extremely high cost. When building an application that takes advantage of this many features not available in IE, its like writing the same app for two different operating systems. It can be done, but at great cost.

    It is Google's best interest to push the web forward. That has been a stated goal for them. If we keep catering to IE, then we will keep the web and open standards back.

    ReplyDelete
  5. At what point is a mere speed bump an unsurmountable hurdle? You presume that Wave would essentially work in internet explorer though partially.

    Frankly, I think that's an unreasonable assumption. Users expect a certain minimum performance. Some features may cost an uneconomical amount of extra cost to implement for IE.

    I'd much prefer the honest admission that the app won't work presented together with a reasonable workaround than a warning (which users will ignore) followed by a terrible experience.

    From a technical perspective it's perhaps untrue to claim wave won't work with IE - but if active development continues, and the IE version remains a slow, bug-ridden version missing new features, from a users perspective, it's more dishonest to claim that it works.

    Sites requiring flash nowadays are commonplace. By contrast, google chrome frame is much more benign. If ever a future version of IE actually performs well enough it can be phased out (or replaces with a no-op plugin); it depends on open well established technology; it promotes use of a portable technology provided by several independent vendors, and it has a comparatively trivial learning curve.

    Presenting Google's message as misleading may be an interesting starting point for a discussion - but only by merit of being misleading itself.

    ReplyDelete
  6. Seems to me Google is going WAY out of its way to support IE. They could have put up a box that said "to properly use Wave, download a non-IE browser." Instead they built this plug in so that folks can properly use Wave in IE.

    My guess is this move will actually slow the rate at which Chrome gains market share. Put another way, this move is likely to help IE hold onto its market share longer.

    ReplyDelete
  7. When Microsoft had the idea of adding a META tag to let sites say that a page was for IE8 versus IE7 they were denounced by lots of folks, including Google. Now GOogle wanst to do the same. I guess things like this are only evil if your competitors do them.

    ReplyDelete
  8. @Anon:
    It won't matter if people are using the IE interface, under the hood it will be the Chrome rendering engine, and it's the same thing for Google.

    @last Anon:
    They obviously had to restrict it to just some sites, or else it would have broken all the IE only webapps and sites - the only (sane) reason people might still be using IE.

    ReplyDelete
  9. i want to see wave application is there any plz mention

    ReplyDelete
  10. I was a bit surprised at the tone of this post. I find myself agreeing with most of the above commenters.

    ReplyDelete
  11. Don't agree with the post. It's a great opportunity to say goodbye to IE even for the users that had no other choice but using IE.

    ReplyDelete
  12. Opera is also somewhat problematic for web developers due to its rendering bugs when dynamically adding/removing divs from scripts, which is a rather central operation in AJAX applications. IE8 actually does better in this matter, even though it fails on other areas.

    ReplyDelete
  13. I think there's indeed a difference of Exluding a set of browsers due to their technical problems, while microsoft always excluded ALL browsers except their IE one. But that's my opinion.

    ReplyDelete
  14. I'd have to say I'm glad Google is doing this. I would have been gladder if they hadn't taken the trouble to build an IE plugin. It would be a lot easier if they just asked people to switch to a better browser rather than keeping IE alive for that much longer.

    As far as misleading users is concerned... we're talking about people who are using IE6 in 2009. If they don't know enough to upgrade their browser, they deserve such treatment from web developers.

    ReplyDelete
  15. I have to disagree with the assumption that IE8 works with Wave. The person you linked to wrote "That said, it [Wave] seemed to run just about ok in IE8 except for a few formatting issues – though I haven’t explored many of the features yet." But the problems with "formatting issues" are exactly the sort of thing where a web developer has to spend hours and hours tracking down and working around deep browser differences.

    It can take a bunch of effort to support different browser idiosyncrasies. I know that the Gmail team for example had to due a ton of work to make newer versions of Gmail run on IE6. They even blogged about the effort at http://gmailblog.blogspot.com/2008/09/new-gmail-code-base-now-for-ie6-too.html . And even then, they had to remove drop shadows and rounded corners from different parts of the UI for IE6 users.

    Wave is a huge undertaking. They wanted to re-imagine email and group collaboration if we started fresh today without any legacy baggage. Part of the insight was to assume a modern browser as the platform. By not worrying about things like non-standard CSS or the lack of a canvas element, it frees up developer cycles to work on Wave itself. Graceful degradation is a fine goal and Google often pursues it, but when you're starting a huge web project like Wave, I would rather have Wave do more on modern browsers (Firefox, Safari, or Chrome) than to worry about how to handle IE6 users. Chrome Frame represents an option where a computer can surf with a fast/modern browser even if only IE is installed.

    ReplyDelete
  16. I believe there is an important facet that everyone is missing. Let's do a little ESP shall we. 1-2 years from now Wave is as ingrained as let's say SharePoint Google will have the clout to shrug off IE shackles and require better browsers. IE will need to adapt or die. Google is simply doing a subtle, slow integration. Good on them. Maybe finally Open Source will be rule and not the exception.

    Cheers

    ReplyDelete
  17. "if you want to continue at your own peril" is what caught my eye!

    ReplyDelete
  18. I'm real happy that Google is doing this. While nag screens are very annoying, Google Wave will probably be the only place that most people will see this nag screen pop up. Naturally, many people will install the plugin and then, when they visit web sites like mine that contain the meta tag that invokes the Chrome Frame Webkit renderer, they will see the web page the way its designer intended. Though Google is providing a script that web designers can use to insert the nag screen into their own pages, my own website already degrades gracefully when viewed in IE so I'm not going to include the nag screen. Still, all web designers stand to gain from Google's promotion efforts. And who knows, maybe Microsoft will see this as a threat to their brand and opt to use the Webkit renderer natively.

    ReplyDelete
  19. Simple question: if Google didn't develop Chrome (or Chrome Frame), would it still show the same dialog in Internet Explorer?

    ReplyDelete
  20. Alex - well said. I agree with you. Besides, Google already demonstrates such a behavior in Gmail. Multiple inboxes don't work in IE 6. It's perfectly OK if Google says that some features may not be accessible.
    We love Google, but there's a thin line between arrogance and confidence!

    Varun

    ReplyDelete
  21. "if Google didn't develop Chrome (or Chrome Frame), would it still show the same dialog in Internet Explorer?"

    I think it's because there's a wide variety of solid browsers (Firefox, Opera, Safari, and that includes Chrome) that handle standards well and that the modern browsers are doing well on market share. That allows Google and others to start to write newer web applications that rely on fast JavaScript and similar advances.

    ReplyDelete
  22. Using plug-ins to provide missing functionality is an accepted practice, especially in the corporate/Internet Explorer world.

    Google providing a Chrome plugin to support Wave is no worse (and arguably much better) than requiring Silverlight or Flash plugins.

    IE8/7/6 all lag badly behind the other browsers in key areas -- originally I thought they wouldn't get Wave at all!

    ReplyDelete
  23. The root post's argument seems to me to be equivalent to suggesting that id Software should be ashamed of having developed Doom 3 in a way that does not allow it to gracefully degrade when run on a 386. At some point the experience of using an older product is so poor, and the effort to support it so extreme, that it simply does not make sense to do so. Companies drop support for old hardware, operating systems, etc. all the time.

    ReplyDelete
  24. Nitpicking is also a slippery slope.

    ReplyDelete
  25. When first announcing Wave, Google said they would support HTML 5 browsers which they said excludes IE. Now, Google is going out of their way to support IE. I prefer they didn't - they should spend their resources on the next gen web, not supporting a browser that doesn't support standards. Google has a moral obligation to support Web standards, but no obligation to support browser who thumb their nose at standards.

    ReplyDelete
  26. BTW, the slippery slope argument is a logical fallacy unless you can PROVE that an action MUST cause a further action. In this case, Alex, you can't, thus your argument is flawed.

    ReplyDelete
  27. Anyone who does web design has had the desire to drop support for IE. It's hard to advocate that IE does anything better, it's a drain on time and energy for countless designers and users. We don't rewire our cars to run 8-tracks, we accept that we have much better options. Props to Google, I think just about every web designer would fully back Google if they were to popularize such as movement on a larger scale.
    -FCI

    ReplyDelete
  28. google can do whatever they want. if the marketplace doesnt like it, then they will see their own products fail. simple as that. they dont have any obligation to keep supporting internet explorer 6, 7, or 8. it's not there software.

    anyway, i will be very, very glad if google's websites like wave and youtube discontinue support for IE6,7, and 8 completely, unless chrome frame or chrome browser, firefox, opera, or safari are installed. IE has been a nightmare for web developers for years. I will be so, so happy if this happens.

    ReplyDelete
  29. I just wish IE would switch to using the Chrome or Gecko engine permanently itself. They've proven they're no good at writing rendering engines, so why continue to flog the dead horse? IE with the Chrome engine would benefit everybody - including IE and Microsoft.

    ReplyDelete
  30. ho hum..this resonates of microsoft tactics from back in the day..sneaking into your system and luring you to their software...i anticipate retaliation from microsoft on foot of this..

    ReplyDelete
  31. @Varun: As for gmail's support of IE6 - how much extra did that cost to achieve? And even so, support is imperfect. Given such technical limitations, what does an IE user want to hear:

    1. Install, learn to use, and use a new browser with a different interface.
    2. Accept sub-par performance and missing features.
    3. Install a plugin, get decent performance and features, and retain the UI you're comfortable with.

    It's hard to say whether 2 is a realistic option, since it requires significant effort to achieve on the part of the website. In any case, option 3 is certainly quite a reasonable one *even if* option 2 is available.

    ReplyDelete
  32. When I was 14 I quit drinking soft drinks and I became a vegetarian as well. I lost 20 pounds and never gained it back. I weigh less now as a 19 year old than I did at 13. Want to know why? I don't drink soda and I don't eat meat, okay maybe I eat fish once a month. Think about it, if I, at 14, was able to lose 20 pounds quitting soda, then these people who drink soda every day and complain about their weight could lose most of that flab and never change their lifestyle. I whole-heartedly support a tax on these obesity causing sugar water drinks.

    ReplyDelete
  33. What IS a web browser?

    Is IE a web browser?

    How far from standards does it have to go before it becomes 'a propriety application that renders most websites similar to a web browser'?

    ReplyDelete
  34. @Alex
    "Simple question: if Google didn't develop Chrome (or Chrome Frame), would it still show the same dialog in Internet Explorer?"

    Your assumption simply does not exist. The reason google will develop heavy web based technologies like WAVE is wholly based on a high efficient java rendering machine. If browsers have to stay slow like IE, then it is pointless to have WAVE at all.

    BTW, making the browsers faster is not for the best interest for MS. Since what MS wishes is that the model of windows+office for each PC would stay for ever.

    ReplyDelete
  35. I would say it's fair enough. IE has been torturing developers for years and years by not conforming to web standards. Exclusion would probably make Microsoft think twice before they decide (again) to walk their own way and carry on making our lives hard.

    ReplyDelete
  36. It's high time for things to change in the broweser's battlefield. IE has kept browser advances behind by offering less or more problematic capabilities. The more competititive the market, the more respect MS will show for standards, otherwise they will carry on seeing their marketshare shrinking.

    ReplyDelete
  37. I use google chrome and I didn't have problems with it... Thanks for the share

    ReplyDelete

Note: Only a member of this blog may post a comment.