The problem with Internet browsers
I like making websites, but there's one problem with Internet Browsers that continues to plague the Web.
I've noticed a lot of technological equipment I have recently bought is of slightly older stuff. My phone isn't an Android or Blackberry, but instead is a second-hand Nokia; A TZ7 compact camera I bought in 2010 was a refurbished model and had been on the market for over a year; While my Canon 450D was bought used and was nearly 3 years old. In fact I appear to be going backwards, because the last camera I bought was a 35mm film SLR first sold in October 2000.
Not everything I buy is used. I had to replace my dying laptop with a new one back in November. But to keep costs low, I purchased one with a 1st generation Core-i3 processor at a time when the supposedly-faster 2nd generation processors were already well established in the marketplace.
Apart from the fact I don't need the latest gadgets, the reason why I buy these older items is clear - I can't afford to buy the latest technological products. The latest products are always hugely expensive when first released, but their prices plummet faster than a skydiver who forgot their parachute. When DVD recorders and blu-ray players were first launched, you were charged over £1000 for the privilege of owning one. But a few months later, you could obtain them for a much more reasonable £100.
Perhaps that's the beauty of technology. Such rapid developments mean the marketplace doesn't stand around for long. It's best summed up by Moore's Law: Computers becomes twice as powerful, half the size or half the price approximately every 18 months. But you could also extend this to everything that depends on computers, which in our modern society is pretty much everything.
The internet is one such device that's advancing at such an exponential rate. Constant improvements are being made to HTML5, CSS3 and even CSS4. Progress is so fast that to help keep up with all the changes, Firefox changed to a rapid release development cycle. But there's one problem with the whole system that causes me to worry, and it's a problem that's existed for years.
Microsoft's Internet Explorer browsers were hugely successful, having a staggering 95% market share at the peak of its dominance, and still holding a large market share today. But they were notorious for their inability to correctly render webpages. You couldn't simply make a website the 'right' way knowing that it will display correctly to those using Chrome, Opera or Firefox - you had to specially adapt your page to work in IE browsers because so many people used it.
But with Internet Explorer 9, that changed. It correctly displays pages and has reasonable support for HTML5 and CSS3. It means that all the main browsers are consistent with how they display a website. So with older Internet Explorer browsers being replaced by the latest version, Website designers could focus on making beautiful websites rather than worrying about getting the sites to show in older browsers. It's a good reason to celebrate - Microsoft themselves made themselves a cake when the market share of their old IE6 browser fell to 1%.
But just as one problem is fixed, a new one begins to emerge. While Microsoft worked on making their browser show pages correctly, their main rivals moved the goalposts... in slightly different directions.
There are features being proposed for what HTML5 and CSS3 should include, but these are a little experimental in their implementation. Not all browsers can work with these features, and if they can, they often require special prefixes to work on different browsers. Not only does this make style sheets (which specify how a page looks) longer and messier, but causes us to lose the consistency across browsers that took years to achieve.
Essentially you can add features that work on a Webkit browser, which may or may not work in a Mozilla browser, which probably won't work in an Internet Explorer browser, and which a phone browser may give up on altogether. It used to just be Internet Explorer that needed special attention when making a website, but now it's every browser that has a unique list of demands. And as more features are incorporated into each browser, the differences between each browser become greater.
If browsers are heading in different directions, then the internet will become an awkwardly fragmented place where you aren't quite sure whether you in the right browser for the site. And until the browser-specific prefixes are dropped, website designers that want to use the latest features will have a real challenge making cross-browser compatible sites that all display the same.
That doesn't sound like progress to me.