Are older browsers limited to certain operating-systems and hardware?
What exactly are the reasons that people still use something like IE6? Surely it must be something more than "they are just not computer-savvy"...
I am assuming that there are possible hardware and OS issues that prevent a user from upgrading from, say IE6, to the most recent version of IE. If this is true, could they not just use Chrome instead as it is advertised as a "light weight" browser? (I personally am a Firefox user)
You have asked two, converse questions. I’ll address both.
Per the title:
Older browser may be limited to older operating-systems and/or hardware. It depends on how they were implemented and what resources they use. For example, look at old DOS games. They worked great for a long time, but they won’t work on later operating systems or hardware . They won’t work for a variety of reasons. For example, newer hardware was too fast and caused things like overflows and crashing or excessive, unplayable game speeds. They also had trouble with newer operating systems because of abstraction that prevented them from directly accessing the hardware like they expected or because of differences in availability of resources like RAM or network sockets.
The same goes for various old Windows games and applications. Some are 16-bit and cannot work correctly or at all on modern systems, others are 32-bit and have other problems that prevent them from working on anything but an older system.
Per the first paragraph of the question body:
A lot of older web-applications were designed when IE5 or 6 were available (and shiny and new). Because IE was such a non-standard browser, these web-apps had to make all kinds of accommodations to work correctly. As such, when rendered in more contemporary and standards-conforming browsers, they don’t work correctly.
Many of these web-apps are used in businesses for things like point-of-sales, inventory, etc. The problem is that the computer world is very ephemeral and many of the software-development firms that created these old applications (be it web-based or desktop) have long since gone out of business, so there is no easy way to have them updated for modern browsers (if at all).
Further, updating to a completely new software product would be a massive undertaking that would require tremendous amounts of work to migrate to. It could require converting or adapting databases, it could require re-training of staff, it could entail downtime and loss of productivity or profit, and most of all, it requires extensive testing for compatibly and security. Finally, because they often tend to work and are “good enough”, business are loath to go through all the hassle of changing if they don’t absolutely have to. And because their software is tied to an old version of IE and/or old version of Windows, they must continue running on it compatible hardware.
Yes, continuing to use old software can be dangerous, what with all the vulnerabilities and such, but these can be mitigated with virtual-machines, firewalls, and so on. This organic growth due to patching and buffering makes the system more complex and messy, but it is still easier than a complete change. That’s why a lot of people continue to use old software and hardware.
If hardware and/or OS issues do not hinder a user from upgrading their browser, instead of writing code to support older browsers I would rather detect the browser and display a message something like this:
You are using an outdated browser! This website is not compatible with this browser.
You should either upgrade to the newest version of Internet Explorer, or use Firefox or Chrome instead. ...links to download various browsers here... Do yourself, the internet, and web-developers everywhere a favor and upgrade your browser!
People hate to be told to throw away their perfectly good equipment and told to spend money (that they may not have) to buy new stuff. Yes, some people can afford to chuck out their iPhone 4 and buy an iPhone one year later, then another and another, but many cannot. The particularly hate it when a website tells them that instead of gracefully degrading, especially since the whole upgrade your browser line “is so 1990’s” (not to mention condescending and even arrogant).
If hardware and the OS are serious issues, would it be relevant to support users of Windows XP and up only? Or is there a significant portion of the population still surfing the internet on crappy computers?
Don’t assume that everybody can afford a bleeding-edge Alienware gaming rig with water-cooling. There are many countries in the world where people still have to share computers at school, libraries, or Internet cafés (if they have access to one at all).
You don’t have to support them, but then you don’t have to make a website at all. It all depends on what your site is and who you are catering to. If you want to make a business site, then it is in your best interests to try to reach as many people as possible. If your site is just a blog, then you may not care if anyone else sees it. Either way, unless you are making a fancy, advanced web-app with HTML5 and such, then there are plenty of ways to craft a website that is simple and standard enough to render more or less correctly in most browsers, both new and old without having to jump through too many hoops (but that is a different matter altogether).