Device testing

We often hear that it’s necessary to test your work on as many devices as possible. There are many reasons why this makes sense. Devices might not act like you’d expect them to act. For instance, on many Android devices the device pixels are not always the same as the viewport pixels — the real resolution is not the same as the amount of pixels the browser thinks it has. Another reason is because browsers are weird, so things can look crazy. An example of this is Blackberry Bold with OS6. This is, is far as I know, the only browsers that’s ever been made that has a default font-size of 20 pixels, instead of 16. This completely messes up your design if you use em (like you should).

I know these things because I tested many sites on many different devices.

Do websites need to look perfect on every device?

We all know the classic website that answers the question: Do websites need to be experienced the same in every browser? The answer, of course, is nope. Back when this site was created, this was still a controversial idea to many, but now we all accept that websites can not be experienced the same everywhere. Of course we should do whatever we can to make it look acceptable, or even pretty, everywhere, but we also need to think about our budget. If we test our sites on all possible devices, with all possible browsers, and try to find fixes for all those crazy bugs those weird browsers have, our sites would never go live. I think it’s OK if some things look broken on some obscure gadgets.

So, should you not test?

Well, you should use as many devices as possible. By doing that, you understand these devices better. You understand how they work, how you interact with them, how websites look on them, etc. By testing websites in general on as many devices as you can find you understand the web better, and you understand how people see and consume your work better. This is not just important for developers and testers, I think it is even more important for designers to use as many devices as possible.

But I don’t think you should test all your work continuously on ten different configurations. And maybe I even start to believe it’s a waste of time to test on everything you can lay your hand on. I’ve written about testing and browser support before. Of course it would be nice if you could prevent obscure bugs on obscure devices from happening, but if you have the ability to fix these bugs once the site is live, why not let your visitors do the testing for you?

Experience

Of course, tools like LiveReload or Ghostlab make testing on devices much easier and probably even fast. And by using these tools, and by testing on as many devices as possible, you get to know the bugs and quirks of these devices. Which means that after a while you don’t have to test as much on all of them. Back in the IE6 days we would just type the necessary hacks just like we type sensible CSS, without thinking about it. This experience might grow when you test a lot.

So, it depends?

Today I read this tweet by David Hund who’s thinking about answering _all_ questions with “It depends…”. This was one of the reoccurring themes in the first edition of Mobilism. It all depends. When I read David’s tweet my intent was to write something with a clear and strong conclusion, like:

you should test on as few devices as possible.

And as much as I like that idea — and I even think it makes sense — I hate to admit that it depends.