ExpressionEngine CMS
Open, Free, Amazing

Thread

This is an archived forum and the content is probably no longer relevant, but is provided here for posterity.

The active forums are here.

Working with Legacy Browsers and Reduced Functionality

October 31, 2008 12:09pm

Subscribe [5]
  • #1 / Oct 31, 2008 12:09pm

    jacksonhyde's avatar

    jacksonhyde

    61 posts

    I’ve been building websites since around 1995 and professionally since 2001. Since the early days of spacer.gif and <frameset> there has been one constant pushed onto every site I’ve built - 100% of functionality must be compatible across 100% of user-agents. If I had a penny for the number of times I’ve developed a cool feature, showed it to the project manager and been told that we don’t have the resources to make it work in legacy browsers, well…I’d have a lot of pennies. Conversations would go like this:

    Me: “Hey check this out - I built a drag and drop script for the shopping basket”
    PM: “Sweet! That’s awesome. Does it work in <insert rubbish browser>?”
    Me: “Well no, but if we I more time I might be able to get it working. Even if I couldn’t we could just roll it out on <insert good browser>.”
    PM: “But it doesn’t work on <rubbish browser>.”
    Me: “No, but the old functionality would still be there. It wouldn’t break.”
    PM: “But…it doesn’t work in <rubbish browser>.”
    Repeat ad nauseam.

    Maybe I just worked at the wrong companies. Maybe I still do work at the wrong company. Everything I build now (at work anyway) MUST be compatible in IE6. I’m sure 99% of web professionals will tell you the same. Companies are just not willing to ‘throw away’ that (slightly dubious) 25% market share of legacy browser users. I spend more time fixing CSS and JS bugs in IE6 and 7 then anything else. It’s not because I’m a bad developer (well I don’t think I am), I adhere to standards and the only bugs I have to fix are generally down to browser specific problems rather than my code. Now I’m sure some developers will stop me here and say that a good developer will consider browser deficiencies from the very start, and in fact, a lot of developers I know build sites for IE6 first. Great in theory, but sometimes it just doesn’t work like that. So once again - we’re back to topic of the moment - support for IE6. I say IE6 here, but I don’t want to aim these comments just at IE6 - IE7, although slightly less ridiculous still has a host of problems with it’s rendering engine, and even early versions of relatively ‘safe’ browsers like Safari and Firefox are by no means perfect. This is a problem for developers and one that will not go away quickly. It’ll be years before we can safely use technologies like HTML5 and CSS3, mainly for the fact that the people who pay for us to build websites aren’t concerned with making our lives easier or more semantic - their only concern is delivering a stable and uniform user experience to their customers. If I told a new client that we’re building their site using cutting edge technology that will speed up the development process and make the code that drives it ‘better’, they’d say “Great!”, but if I then mentioned that a majority of his customers wouldn’t be able to use his website I’d be out of work pretty quickly.

    Developers are trying things out. People have been displaying banners on their site informing legacy users that they should upgrade their browser - a nice idea in practice, but once again I strongly doubt this is a viable option for most commercial websites. To me it looks no different to an advert, and although I haven’t seen any stats, I’m pretty sure the conversion rate is poor (a ‘successful’ banner advert will have a click through rate of between 5 and 10% and even lower conversion rate). A lot of people who use legacy browsers know they should upgrade their browsers but for whatever reason they can’t. A large percentage of IE6 users are office workers who have reduced privileges on their systems and are unable to install a better browser. Maybe their internal systems have been developed years ago for IE6 and upgrading the browser wouldn’t just be a case of just installing it on all the machines, or maybe the system admins are just lazy. For whatever reason, their systems are locked in to IE6.

    So we can’t persuade most legacy users to upgrade their browsers, nor can we ignore them completely. In an effort to push the web forward, we need to be able to take advantage of newer technologies while still accommodating legacy users. The only way to do this, in my opinion, is the create sites with different layers of functionality. Technically, it’s perfectly possible to tailor content depending on the user agent and from a logical point of view it makes perfect sense. For legacy users, create a version of the site that visual fits the branding of the company but is basic enough to develop quickly and with the minimum of bug fixes. Give them basic functionality, but nothing that requires serious resources to get working. Let’s use a basic example of a generic ecommerce site:

    Legacy Users:
    Users can create an account to store their information, browse lists of products and make payments. The most basic functionality.

    Users using newer browsers:
    As well as the legacy functionality, the users can create and store wish-lists, rate and comment on products, drag and drop products to the shopping basket. The website has an AJAX behavioural layer that pulls in products dynamically, allows live comments, stock notifications etc etc.

    Both sites would run with the same server side code and interact with the same database. Instead of spending 60% of clientside development time fixing bugs, you’d only have to use maybe half that time to develop an extra set of rock-solid basic templates specifically tailored to legacy users. Designers wouldn’t mind accommodating a simpler visual style, so long as their Photoshop masterpiece is accurately represented in the full implementation. You could even forward legacy users to a sub-domain - another visual clue that they are being treated differently. This would also be a great analytics tool, you could see how legacy users behaved in comparison to other users and be an invaluable tool for identifying what kind of person uses your site.

  • #2 / Oct 31, 2008 12:09pm

    jacksonhyde's avatar

    jacksonhyde

    61 posts

    <continued>

    I will be taking this approach in the sites I develop myself, and I will be pushing this at the company I work (a blue chip multi-national). It’s an idea I’ve been mulling around for a while now, and I wanted to get something written down to clear it up in my head. I thought I’d post it here because I see some really intelligent discussions on the nuances of the web, and I think you guys could give me some good feedback. Plus, with it’s flexible template system and multi-site support, Expression Engine is the perfect platform to work with this idea.

    I may have missed the boat here - there could be a load of resources on this thing already, but I haven’t seen much and I do get about. Your thoughts, links, insults and propositions would be greatly welcomed. 😊

  • #3 / Nov 03, 2008 3:43am

    Doggie52's avatar

    Doggie52

    113 posts

    I don’t fully agree with you, after reading the whole post (a very interesting read, nonetheless). Giving legacy users less functionality just because they are using an old browser (which could be due to lower privileges) just does not sound right in my ears. If there was such a thing as “browser racism” I believe it would fall into that category.

    Fixing IE-bugs is annoying, but in the end it does almost always pay off. The perfect site is a site where you (as a developer) avoid building two different sites (one legacy and one regular). The perfect site is a site where all features are available to all users, regardless of browser or operating system.

    In my opinion, of course 😊 !

  • #4 / Nov 03, 2008 5:22am

    Ingmar's avatar

    Ingmar

    29245 posts

    Well, I don’t agree with you here… It’s not about giving users of old browsers less functionality, really, it’s giving users of contemporary ones more. A point could be made for basic usability with all browsers, but that certainly does not have to extend to all the bells and whistles. “Browserism” does not really describe it: unlike gender, or race, or age, the use of one’s browser is (almost always, with very few exceptions) a deliberate choice. People don’t have to use IE 6 anymore, they really don’t.

  • #5 / Nov 03, 2008 9:41am

    Doggie52's avatar

    Doggie52

    113 posts

    I think the difference between “less features for old browsers” and “more features for newer browsers” is very much the same thing. It all narrows down to not giving older browsers better goods because of either laziness or lack of time. Most often, also, removing the bells and whistles is the same as removing a good reason to like a certain site.

    I just want to say that I would rather develop a site thoroughly and add features that risk bugging out in a step-by-step manner, making sure everything works in the end. It is a lot of work, but it is rewarding!

  • #6 / Nov 03, 2008 9:46am

    Ingmar's avatar

    Ingmar

    29245 posts

    I think the difference between “less features for old browsers” and “more features for newer browsers” is very much the same thing.

    It’s a matter of perspective, but, yes.

    It all narrows down to not giving older browsers better goods because of either laziness or lack of time.

    Not really. Sometimes it simply makes good business sense, and sometimes it can’t even be done. On my sites, less than 10% of users still use IE 6. I am not going to use 50+% of my development time to accommodate them. If they can read the site, that’s fine.

  • #7 / Nov 03, 2008 9:56am

    Doggie52's avatar

    Doggie52

    113 posts

    Not really. Sometimes it simply makes good business sense, and sometimes it can’t even be done. On my sites, less than 10% of users still use IE 6. I am not going to use 50+% of my development time to accommodate them. If they can read the site, that’s fine.

    Agreed, but when developing smart features for say, an e-shop website, and not sharing these with IE users will leave them frustrated.

    Point taken, however.

  • #8 / Nov 03, 2008 11:08am

    Andy Harris's avatar

    Andy Harris

    958 posts

    The perfect site is a site where all features are available to all users, regardless of browser or operating system.

    Oh, to live in a perfect world.

    In a perfect world, my VHS video collection would have transformed into HD quality with crystal clear surround sound. In the real world however this wasn’t the case - in order to get the best features I had to upgrade.

  • #9 / Nov 03, 2008 1:18pm

    grrramps's avatar

    grrramps

    2219 posts

    Sometimes it simply makes good business sense, and sometimes it can’t even be done. On my sites, less than 10% of users still use IE 6. I am not going to use 50+% of my development time to accommodate them. If they can read the site, that’s fine.

    Yes. Forget about living in perfect world or developing a perfect site that accommodates all browsers on all platforms all the time. That does NOT happen. Somehow or another, reality arrives on the scene to take the air out of such grandiose schemes.

    Ditto here on IE 6, one of the worst non-standards compliant browsers ever <strike>built</strike> foisted upon the unsuspecting. I can understand the need for some e-commerce sites to work on popular versions of bad browsers as revenue can be a strong motivator.

    The rest of us who build and manage sites don’t have that luxury. The term “diminishing returns” comes to mind with IE 6.x. In some cases, it can cost 1/3 to 1/2 more to rebuild a modern (standards compliant) site that will ALSO work on IE 6. If the site’s owner wants it, fine, the price tag goes up accordingly, mostly to salve the pain of dealing with anything Microsoft.

    For some sites I’ve taken a novel approach. I create a button for MSIE 6.x users which redirects them to the Print version.

    😊

.(JavaScript must be enabled to view this email address)

ExpressionEngine News!

#eecms, #events, #releases