Your end users shouldn’t have to know technology

One of the most common mistakes I see with web sites is demanding of the end user to know technology.

Last week I was giving a talk after Kristin Heinonen from Whats’ Next (in Swedish), and in her presentation she mentioned something I wholeheartedly agree with, and should have written about a long time ago.

One of the major problems with web sites is that they:

  • Take for granted that the user know technological terms.
  • That if users understand the term, there’s something they can actually do about it.

“Turn on JavaScript, install Flash”

These two most be the most annoying, provocative texts on the Internet:

JavaScript demand

You have to turn on JavaScript to use this web site.

Why do users have to know what JavaScript is? And, seriously, who the hell (amongst ordinary users) do you think know how to turn off JavaScript? I’m a web developer, and even I have a hard time to find that setting in Internet Explorer.

When JavaScript isn’t enabled/available, it it rather most likely according to factors such as:

  • A company proxy server or similar blocking it.
  • An antivirus-program or firewall on the loose, trying to be overly clever.

The result of this is that, even if the poor souls were to know what JavaScript is, it is beyond their control to turn that on. And requiring JavaScript, really? For both SEO as well as accessibility, and in order with progressive enhancement and unobtrusive JavaScript, do not make your web site JavaScript-dependent, and definitely do not ask your users to turn it on.

If you must absolutely need JavaScript for a certain feature, use JavaScript to generate that HTML code as well. Never serve something to an end user that is not guaranteed to work.

Install Flash

You must install Flash to see this content.

Who knows what Flash is, aside from web developers, teenagers playing online games and Art Directors finding it “vital” to make a web site more alive? Have you ever taken a look at the Adobe Flash Player Version Penetration statistics?

With that in mind, you can pretty much take for granted it’s pre-installed in most web browsers/platforms, and as late as version 9 has over a 98% spread. Therefore, if Flash fails for your end user, you have either made the decision of forcing a bleeding edge-version upon them, or it is blocked due to other reasons by the end user’s environment.

Use JavaScript to detect Flash player support, and that it supports the version you’re trying to give them. Then, and only then, can you insert your Flash movie into the web page.

Don’t ask for it, don’t demand

Don’t demand of your users to know what Flash is, or to try and turn JavaScript on. Offer a fully functional base that works without JavaScript and Flash, and then, if you want to, use JavaScript and/or Flash to enhance your web site on top of a solid base. Don’t harass your users, they deserve a seamless experience.

19 Comments

  • I’m a web developer, and even I have a hard time to find that setting in Internet Explorer.

    That can hardly be considered your fault. A lot of the placement of settings in todays (and yesterdays) browsers could be vastly improved with some very careful consideration.

    One might even consider hiding “expert settings” from users, that don’t need them, only leaving them options that they can understand. If my dad was confronted with “expert settings” he’d definately leave those alone … and if that meant that he was only confronted with very few settings, that was easy for him to understand, perhaps his browsing experience would be so much better.

    If end users were only confronted with few settings, it might actually be possible to explain to them what javascript is in a way that would make sense to them.

    Don’t Ask For It, Don’t Demand

    I am actually building a site that has very heavy reliance on Google Maps to make the user understand the information being presented. Unless someone figures out how to do a lot of magic with client side image maps and static Google Maps, I am going to require JavaScript being enabled … in fact I am going to demand it.

    But, I do agree in general… for every one site like mine there are at least 500 sites that require and demand JavaScript being enabled, when it could have been made just as well with progressive enhancement.

  • Andreas says:

    To be able to comment on this blog you need the latest version of microsoft silverlight!

  • mdmadph says:

    I firmly agree with this! This is a pet peeve of mine, as well — I try to use terms as simply as I can with my clients.

    @Morgan

    "If end users were only confronted with few settings, it might actually be possible to explain to them what javascript is in a way that would make sense to them."

    Nope — nuh-uh. I won't believe it. You haven't met my users! 😛

  • Steven Clark says:

    Totally agree Robert. The programming term is abstraction. I should be able to use my car without knowing how an internal combustion engine relates to a clutch plate or a differential.

    I should be able to use the web without even knowing the word JavaScript, how to play with user settings, or plugins. If I have that extra knowledge, great; but the more we can create that simplified abstraction then the better the web experience will be for our visitors.

    Imagine if when you did your banking they expected you to be able to write balance sheets… I'd be even broker… 🙂

  • Aldrik says:

    Another thing to remember is that Adobes recommended system requirements for flash are very high and many users are just not going to have a system powerful enough.

  • Sebastian Redl says:

    While I agree in principle, there are some cases where this just doesn't work. What do you expect YouTube to do in absence of Flash and <video>?

    The messages could be improved, though. For example, YouTube could display this message in absence of Flash or JavaScript:

    Your browser seems incapable of displaying the video.

    [link to help]You may be able to do something about it.

    And the help page then tries to find out what exactly is missing and tells you how to install Flash or something.

  • Robert Nyman says:

    Andreas,

    Actually, I’m sure that’s the case in some web sites. 🙂

    Morgan,

    Definitely agree that web browsers, especially some of them, should make it easier for the end user to choose apropriate settings. Still don’t think they should have to know what JavaScript is, though.

    With Google Maps dependency, it’s possible to offer a good base version for end users as well – read more in Google Maps Without the Scripting.

    mdmadph,

    And why shouldn’t you? They shouldn’t have to learn your internal terminology.

    Steven,

    Yes, in every other field, where companies use terms that their customers shouldn’t have to know, it seldom gives good results.

    Aldrik,

    Absolutely, respect your end users when it comes to performance as well.

    Sebastian,

    That is exactly how I would solve something like YouTube and no Flash support as well!

    Their current message demands you know about two technologies, and that the end user has the know-how, or even possibility, to even change the prerequisites.

    To instead give them, as you suggest, a simple and clear message explaining to them it doesn’t work, and then a separate page with walk-throughs of what they can try to fix that.

    It’s all about respect, and not taking anything for granted.

  • Siegfried says:

    Basically Full ACK!

    But there is 1 drawback in all that. Users don't know technology, they don't know about html, css, Javascript and/or Flash. The question is: Should they? There are many bad people out there in the internet. Hacking Websites and thus installing Malware on everybodies home PC is quite common today. And the user does not know how to protect himself.

    A user of a telephone or a TV does not have to know much about technology. How to dial (telephone) or how to switch on and off(!) and to select the channel is enough. But plain old classic telephone or TV is not dangerous. A car could be dangerous. So to drive a car you need a driving license. To get that you have to learn something and you have to proove that you know and understand it. Driving without license is dangerous for many people. Surfing the net without some basic knowledge is similarly dangerous. If your PC becomes a Zombie in a bot net this causes harm to others. It may be not that dangerous as driving a car, but it is dangerous enough.

    But then, if people would know about javascript and flash and their security risks, most of them would deactivate it 🙂

  • Georg says:

    Although I agree with what you write, I do not agree with the headline.

    IMO, end users should know about the technology they use and what technology they need for any particular task — who else should know? We OTOH, should never ask for it, and never demand it — we shouldn't have to.

    Making sure everything works on the basic levels, is fine. Too often it doesn't work on the basic levels even if there are no higher levels, simply because a creation is restricted even on the basic levels. So, to turn the table a bit: I guess end users should be able to demand that the creator/designer/developer knows how to make it work on the basic levels, so the end users' technology at least has a chance to work. To make my point…

    As a creator/designer/developer I never ask and never demand anything of end users. If something can't be made to work on the basic levels and the end users don't get it, I conclude that they either can't use, won't use, can't be bothered or are ignorant about the higher levels. In either case I see no point in nagging them about it.

    As an end user I often choose to ignore that there are higher levels. As long as things work reasonably well at the basic levels, it's ok. When it doesn't work — which too often is the case, then I most often choose to ignore the site. To me it is about having choices, and I don't want any creator/designer/developer to tell me that I have made the wrong choices.

    If someone want something out of a technology, they have to know something about it. If they want to know more, they can ask. If they don't want to know, that's their choice to make.

  • Maaike says:

    I agree! And this is what bothers me about the current discussion about IE6. Many web developers seem to think it's ok not to support IE6 anymore, and instead tell users they should upgrade.

    I sometimes ask clients what version of IE they're using, and usually the response is "What is Internet Explorer? How can I tell if I'm using it?".

    Many people don't know and don't want to know what a browser is, let alone javascript or flash – whether we like this or not.

  • Robert Nyman says:

    Siegfried,

    It's an interesting perspective – knowing for the sake of protection, rather than knowing to be able to use something. I guess people need to know at least that firewalls are necessary, and, depending upon the platform, that some sort of virus program is too.

    But yeah, through various JavaScript implementations, there are some really scary things. 🙂

    Georg,

    Generally, I agree, but it's hard to say. When it comes to certain higher level experience, sure, I think its ok that they have to know what they need, but at the other hand, I think it's more about the distinction when something should be regarded as a higher level or not.

    Maaike,

    Absolutely. In the case of IE 6, though, I think we need to help users with information, guides and explanations as to what they have installed and how to affect it.

  • Richard Fink says:

    I completely disagree.

    All my sites begin with a splash page that says:

    Before proceeding:

    1) Install Flash

    2) Install Adobe Acrobat

    3) Turn on Javascript

    4) Install Silverlight

    5) Enable Cookies

    6) If you're using IE6, go away.

    5) If you wear glasses, please put them on.

    6) Move your chair a little closer to the screen, please.

    7) Make sure your Zoom level is at 100%

    To have a copy of this checklist emailed to you, click Here.

    When ready, click Enter.

    I find this gets excellent results. I get a lot of reading done with no distractions.

    Seriously, I agree with your post philosophically – it's a good rule of thumb. But if the user really needs something to be installed – the one I run into the most being Acrobat – you've GOT to tell them.

    What else are you going to do?

  • Robert Nyman says:

    Richard,

    Ha ha! That's not far from the truth in some cases… 🙂

    But in those cases where something is a necessity (I don't regard Flash and JavaScript support to be that), you need to have a page thoroughly explaining it to the end user, screen dumps are always a good thing, and preferably complement that with a support e-mail address or something.

  • So far I have managed NOT to install Silverlight … just to be one of the annoying users and to see how many sites are made properly 🙂

  • HB says:

    <cite>If you must absolutely need JavaScript for a certain feature, use JavaScript to generate that HTML code as well. Never serve something to an end user that is not guaranteed to work.</cite>

    Good example of progressive enhancement. It's like Yahoo's graded browser system, only deploy code you know will work on the target environment.

    Re: IE6, I've lumped IE6 into the equivalent of Y's "C-Grade" on most of my personal sites. I'm all for serving them content, but unless I'm getting paid for it I'm not about to spend the time and effort hacking up my CSS and JS for what really amounts to <2% of visitors. Most IE6 user agents are bots anyway, not "real" visits.

  • Pelle says:

    Just a small note – it’s especially funny to ask users to install flash or similar on high tech platforms not supporting it – like the iPhone.

    I’ve visited websites through the iPhone that uses one of the fancy Flash detection and insertion javascripts that was very clear in telling me that I should install Flash on my iPhone. Well – sorry – no matter how much you nag on me little script I neither can or want to install it in my iPhone…

  • Robert Nyman says:

    Morgan,

    Sounds like a good experiment! 🙂

    HB,

    Yeah, sounds like a reasonable approach.

    Pelle,

    Yes, it's a very common thing to take for granted that it's even a technical possibility that it can be installed. Experience the same thing way to often with my iPhone as well…

  • Siegfried says:

    @Richard Fink: *grin* This is indeed very common. But just in case someone takes this seriously: If i'd assure to have set zoom level to 100% this would mean assure to have set the page to be unaccessible and thus unusable for me. I have some viewing (especially reading) problems. So i need large fonts. And what do 99.99% of all web designers do? Set Base font size to 62.5%. That is exactly what i can _not_ read. I've set up my standard font size to 22px. That is what i can read. So with proper designed web pages i do exactly get 22px font size (exactly what i have set up here). But 99.99% of all web designers… So i need a zoom level of 150% to make the page readable.

  • […] 16: Your end users shouldn’t have to know technology […]

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.