The internet as we know it has transformed much over the last decade and a half. We consume content from devices of all shapes and sizes. Developing a site that is ready to work in most or all of these scenarios can be tough, but even tougher can be testing to see if the site works on such a wide variety of web browsers and devices.
We have come a long way since the early web days where websites would look and work with significant differences between browsers. Thankfully, most modern browsers now work similarly enough so that you can expect most things to work consistently across them. (At least they should as long as you don’t use anything too bleeding edge or experimental.) So if the modern web is being treated so similarly by all of these browsers, why do I even need to test in more than one?
Not all browsers are created equal and not all fancy features are implemented in all of them. We make good use of resources like caniuse.com and others to determine if a feature is going to work well in the most used browsers and devices. This is where we might run into a few issues. There may be a great solution that looks awesome and works consistently in a couple of browsers, but it might not even be recognized at all in another browser or mobile device. This can lead to searching for another solution or a work around that you might not have planned for.
So what’s the deal with all of these browsers anyway? Why can’t they decide on what features to use and all adhere to a standard? That would be nice, wouldn’t it? Unfortunately, as with any software, there is such a wide variety of platforms and needs on the internet that having one browser to rule them all wouldn’t make a lot of sense. (Or at least that would be a nightmare to maintain!) Browsers are becoming more general-purpose and similar as time marches on, but even with that they still seem to interpret web content differently enough to cause minor problems even in the most run-of-the-mill projects.
Does testing for compatibility mean wrangling up every well-used platform and browser so you can ensure that the site looks good on all of them before launch? You could do that. It sounds awful and expensive, but sure, knock yourself out. For those of us that don’t want to have 20 different smartphones floating around the office next to a stack of windows, mac, and linux computers, we can make use of other tools that make testing quite a bit easier.
Browserstack is a fantastic tool and one that I would highly recommend for fast and easy testing of multiple browsers and mobile devices. The interface is easy to use and they are always updating the list so there is no need to worry about missing a new and popular device. It saves a lot of headache when cross-browser testing a site. (Not to mention the space saved by not having all of that hardware hanging around the office.) It’s a nice option to have in the toolkit and it certainly saves time. Browserstack is not without its minor inconveniences and hiccups, but for the most part it is a very stable solution for testing.
There are other options out there for testing across multiple browsers. Both Android and iOS have simulators/virtual machines available for testing on their platforms so you could install the software for those and test right from your computer. This does make it pretty easy to confirm a site works properly on an iPad and an Android phone. Chrome and Firefox are available for most popular desktop operating systems and they seem to be fairly consistent between them, so you might not need to test those as heavily as other browsers that are exclusive to a platform, like Internet Explorer or Safari*.
Ultimately, cross-browser testing and cross-platform testing is not going away, so it is something that needs a lot of attention when building an awesome new site. I’ll be interested to see how things progress from here. The internet wants more complex sites that deliver content in a variety of ways so that multiple devices can easily access all they have to offer. It will take a lot of attention to keep up, but it makes for a better user experience across the board.
(* I know you can get Safari on Windows, but why would you do that?)