How much can I push the boundaries of web techs?
This is a question I ask myself everytime I decide to create a web solution (but applies to mobile development, too). It hasn't got an easy nor unique answer. So how can I decide whenever to use a technology or not?
Have you ever asked yourself the same question? Well, I always do.
My first concern is to make my solution usable by the 95% of the public.
What's my public?
And thus usually the answer is:
Know your public, know your boundaries.
But that answer won't help you a lot. It's like asking yourself who'll you meet tomorrow. Who knows? But you should still know the underground you're playing in.
Exactly, you can't forecast your future, but you can expect it. So, for example, you may use a different linguistic register depending on whom you're going to target. Are you targeting teenagers? Then you should use the youth slang, and you should keep technicalities out of your speech.
The very same rule applies to the web and mobile world. Statistics are being collected all over the web monitoring the status of the web surfers. I usually take the W3C's ones for good.
Yes, I understand these statistics are relative to the W3C visits only (and thus related more to web tech guys), but I believe they should be still reliable due to the enormous and diversified public they have.
Taking the last data available as of 6th June, 2013, I know that the 95% of the web population still uses a 1024x768 monitor (or higher), so my layouts will still be 960 pixels wide or less (or even responsive).
I also know that the 95% browser share is composed by Chrome, Firefox, Internet Explorer and Safari, so my first goal is to support at least those four browsers. If my target includes mobile device users, I should support Chrome for Android and Safari for iOS, too.
That said, which version of the browsers should I support? For the open-source ones it should not be a problem, as they even upgrade themselves automatically. The real problem is Internet Explorer and its fragmentation due to its policy to support only the current and previous version of Windows.
This is where the know your public plays its role.
Is your target a hardcore gamer public? Then I'd go supporting only the actual and previous version of IE, as gamers tend to change hardware and software pretty fast.
Your target is people whom's sphere of competence doesn't include working on a computer day and night, or the computer is seen just like a machine to store data? You won't probably be surprised if your site will be seen prevalently by Windows XP users (wonderful OS to be Windows, but which life cycle ended time ago).
A possible solution for long-term projects
If the work allows you to do what I'm going to expose you (i.e. a long-term project), or you're specialised in a particular web sector, this will be the best approach: start building a simple yet effective solution, limiting the use of HTML5 and CSS3 using fall-back solutions and monitor the web server's access log constantly: you'll start knowing your public, collecting your personal browser and screen resolution statistics, allowing you to create a subsequent, like-a-skin solution.
Pushing the technology's boundaries to their limit.
- 6th June 2013