18

I am in the process of creating my own website, which will include a technical blog. I want to build my website using modern technologies such as HTML5 and CSS3.

Since my website will be targetted at programmers and mostly tech-savvy users, should I take for granted that these people will be using a modern browser? Or should I make my site compatible with older browsers just in case?

I don't want to go through the pain of adapting my website to be compatible with browsers I assume won't be used.

UPDATE: I've read the answers so far and it seems like you missed an important detail about the question. So in case it was not clear, please focus your answers by taking into account the nature of the site :

my website will be targetted at programmers and mostly tech-savvy users

Considering this, should I take for granted that these people will be using a modern browser?

4
  • 1
    Most of the companies I work with require web sites to work with IE7+. If users still have IE6-, it's because they have little interest in technology.
    – Evik James
    Commented Jun 4, 2012 at 19:26
  • So if these users have little interest in technology, then why would they come to my website ? Commented Jun 4, 2012 at 19:29
  • 4
    I would feel safe assuming that 99% of the people who read tech blogs are in the tech industry and have a modern browser and know exactly how to use it.
    – Evik James
    Commented Jun 4, 2012 at 19:31
  • If they're really hardcore techies they might be browsing your site using lynx :)
    – Ken Liu
    Commented Oct 19, 2012 at 19:52

8 Answers 8

14

90% or more of Americans have images on, JavaScript enabled, CSS support, and a reasonable connection.

Spending 90% of your time chasing the 10% of the world that has gone out of their way to not experience the modern web is a waste of time.

8
  • 1
    The user's question is about the reasonable use of CSS, JavaScript, and images. It's not about building a web site that hides all of its text in images and JavaScript lazy loads.
    – Evik James
    Commented Jun 4, 2012 at 19:33
  • 1
    Even if search engines drive 90% of your traffic the overwhelming majority of those users will still be using a modern browser and have javascript enabled.
    – stoj
    Commented Jun 5, 2012 at 0:04
  • 1
    If he can't get ranked because search engines can't read his content or ranks him poorly he won't have any visitors to worry about.
    – John Conde
    Commented Jun 5, 2012 at 1:48
  • 3
    @JohnConde Why would search engine not be able to rank my site ? It's not like I am using flash... Commented Jun 5, 2012 at 12:05
  • 1
    @JohnConde has an opinion, just like everyone else here. He's exceedingly knowledgeable and helpful and provides a great service by being on StackExchange. I think his answer is TOTALLY appropriate for companies with a team of experienced web developers. It's TOTALLY inappropriate for a single person blogging and coding about geeky stuff.
    – Evik James
    Commented Jun 5, 2012 at 12:06
12

Add Google Analytics to your site and track your users

The only way to find out is to collect a reasonable sample of statistics about your user base. Anything short of that is just a baseless assumption.

Fortunately, Google Analytics tracks absolutely everything about the browser, screen size, enabled capabilities, etc...

Target Internet Explorer as the 'low mark' because versions are supported much longer. For instance, the Windows XP support lifecycle won't expire until April 8, 2014 so IE 6 won't disappear until then.

If the statistics show that only a very small percentage of users use IE 6 (or IE 7) may not justify the effort needed to support their browser.

As for the newer HTML5, you could add an HTML5 shiv to your site for some free progressive enhancement coverage but limit the more advanced features (ex HTML5 File API) to private sections of your site until the browsers catch up.

3
  • 2
    All good ideas. There has to be a point though ~ which I know you agree with ~ that developing for a small AND diminishing percentage of the people is a waste of time.
    – Evik James
    Commented Jun 5, 2012 at 11:59
  • @EvikJames Yep, that's the gist. I intentionally left it open ended because the it depends on the context. For a massive media site like Google, they have a ton of resources and a massive user base so neglecting to provide browser support for even .5% of their user base will have a massive impact. Conversely, if you run a small site and only .5% of 1000 unique visitors use a legacy browser, it's probably not worth the resources to support. To quote Kanye West, "Like old folks pissin, I guess it all depends, ohhhhh" Commented Jun 6, 2012 at 16:34
  • Yep, as another example, my own personal website which has a tech focused blog, along with some family photos still has 24% of it's traffic as IE8 with fairly tech heavy posts as the most popular, followed by Firefox and then Chrome (which now both auto-update) Commented Jun 7, 2012 at 18:54
12

Assume:

  • JavaScript will be turned off
  • CSS3 will not be supported
  • Images will be disabled
  • The users connection will be slow

I know that's not what you want to hear but as web designers and developers this is the reality we face. Not only will there be users using older browsers but some of them will alter the settings on their browser to change its default behavior (e.g. turn off JavaScript).

You also can't forget about bots like search engines which will have varying and limited support for CSS and JavaScript. Plus some users will be using screen readers which are notoriously behind on supporting the latest technologies.

Supporting all of the above is actually much easier to do then it sounds. Progressive enhancement is a basic principle of web design and development and will allow you to use the latest and greatest features on your site while still supporting browsers and users that can't quite handle all of it yet.

7
  • 6
    You might as well say that websites should be designed for people without internet access or computers.
    – Evik James
    Commented Jun 4, 2012 at 19:22
  • 4
    @Evik I don't think that is the point of the answer. The point is you should start with something basic and accessible that your <10% will at least be able to consume your content. Then build it up so that the 90% see something great. Commented Jun 4, 2012 at 23:10
  • 1
    @WernerCD, the original post is about a single user writing a blog. Are you suggesting that he takes the same track StackOverflow takes and hires a team of people or that he learns the nuances of every browser? He should spend his time blogging and less time coding.
    – Evik James
    Commented Jun 5, 2012 at 12:01
  • 1
    @WernerCD Programmers are more likely to have plugins like NoScript installed, which turn off Javascript, to avoid 'heavy' pages. Commented Jun 6, 2012 at 9:41
  • 1
    @Werner I think "assume no CSS/JS" is probably the wrong way to explain it. It's more about starting with a solid foundation of HTML then building up with CSS and JS. If there happens to be some bugs with CSS/JS in an older browser, then the site would still remain functional. In this sense you can now assume a modern browser and forego testing in older browsers, knowing that it probably won't break badly for that 5% of users. Commented Jun 6, 2012 at 19:02
5

Make sure that at the very least your home page works fine on every environment you can reasonably support. If specific pages require technologies not widely supported, state it clearly in the links that lead to them (don't need to use anything obnoxious, title and alt texts on links and images might suffice) and in the pages themselves (for instance, adding a small header - that might get hidden when/if you're able to detect that the capabilities are present).

Also try to make sure the pages degrade gracefully when the required technologies are not present/enabled. Even if your visitors are tech-savvy, if something in your page just don't work but there's no indication of what is missing, they might not bother go looking for it (unless they're really interested, which is not something can be assumed). OTOH you don't have to give detailed instructions on how to enable what's missing, just stating what needs to be enabled should be enough for this audience.

Update: I'd like to put more emphasis on the last point with a personal anedocte: as a security-aware user, I always browse with NoScript enabled. When I go to a website that has a video, for instance, one of the things below happens:

  • There is a placeholder for the video, and clicking it is enough to unblock it;
  • There's a placeholder, but clicking is not enough - there is another domain that needs to be unblocked (usually a CDN), often named appropriatly though inconsistently (dailymotion.com/dmcdn.net, youtube.com/ytimg.com, metacafe.com/mcstatic.com);
  • There's no placeholder, the video is added via JavaScript or don't have width and height statically set, and sometimes there is no hint the page has a video at all. It can go totally missed;
  • The video depends on some random ad server, so unblocking the most obvious domains isn't enough to show it. If I'm really interested I can go on unblocking each remaining domains (in the order of less-to-more shady-looking name), sometimes with the effect of more domains that weren't previously there appearing, until the video works or I give up.

This is just to illustrate some problems that can happen even when you assume a modern browser and a tech-savvy user. You don't need to go out of your way to make sure your site works for every possible configuration out there, but it's important that some fail-safe elements are present even in this case.

1
  • 2
    "Make sure that at the very least your home page works fine on every environment you can reasonably support." This makes sense.
    – Evik James
    Commented Jun 4, 2012 at 19:28
4

I think the point John Conde was making was that just because they are technical people you cannot assume they are using a modern browser. Having said that, I tend to agree with Evik James that the OP needs to find the balance between coding the site for a wider audience or getting down to blogging instead. If he wants to monetize this site at some point, then I'd say he should follow the Progressive Enhancement and Responsive Design philosophies, as it is way easier to progressively enhance if you start with mobile (and friggin IE6!) and build your way up. But at the very least the OP should run his site through a Lynx browser to see how his site looks to a screen reader or search engine spider and ensure that everything can be viewed with images, CSS and javascript off. Then leave all the really cool bells and whistles for the modern browsers, and not worry so much about what seems a little out of place or boring-looking in IE6.

1
  • 3
    If I am at a command prompt I am likely to use w3m, lynx or whatever text browser is available.
    – BillThor
    Commented Jun 5, 2012 at 14:54
3

I think you should assume they are using modern browsers based on your target market. Keep a tab on browser usage and if significant numbers of people are using older browsers, then make compatibility changes.

2
3

You should read about progressive enhancement to support the most part of the users and take advantage of browser's features. Responsive design is another important topic to support the most part of devices (Nowadays a lot of people use mobile devices). On the other hand, out there are a lot of libraries like Modernizr, boilerplate, explorercanvas to help you on this matter.

2
  • 2
    You make good points, and it's fairly easy to make a site 95% compatible ~ if not awesome ~ for everyone. The point I am making above is that it takes a LOT of time developing for the least common denominator.
    – Evik James
    Commented Jun 5, 2012 at 11:57
  • I see your point... but all people should know about this :D Commented Jun 5, 2012 at 22:21
0

The fact that your target audience are going to be programmers etc, I still wouldn't assume that because they are more technically minded they will have the latest stuff on their computers. It's personal reasoning rather than professional thinking that dictates what a programmer/technical person uses on their computer.

For example, a programmer may be paranoid and will not allow Java to be enabled on their computer.

In any case, the internet is open to everyone, not pigeon-holed in to different sections. Build the website so it's accessible to anyone. You never know, a tech savvy programmer may have their computer break so they are stuck using their mothers PC which would be running Windows XP with Internet Explorer 7.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.