Why Computers Suck

by Mike Shea on 15 May 2001

Note on 17 June 2013: My opinions on this topic have changed drastically since I originally wrote this. Take a look at the article I Was Wrong About PC Gaming to see how I feel about it in June 2013. I am keeping the rest of this article intact for archival purposes.

No other device in our world right now has as bad usability as the personal computer. It has become a household joke how buggy they are and how difficult they are to use. I have heard everything from critical failures of PCs losing hours of data, to users being sent to the hospital because of sharp case edges. The amount of effort having to deal with the problems of PCs almost equals the time actually getting good information from it. We are reaching an age where we can break away from the horrors of the PCs and return them back to what they should have been all along. Tools.

Problems with PCs

There are more problems with PCs than I would even want to get into but here are the big ones:

Non Standard Hardware

Because of the open architecture of the PC, there are now thousands of manufacturers making different and often incompatible pieces of hardware. This forces the programmers of software to spend time working on compatibility rather on optimization. Instead of increasing functionality after release, they are writing patches and updates. Take a look at what John Carmack says about writing for the Dreamcast rather than for the PC. When one spends time optimizing code for a single dedicated platform, everyone benefits from every line of reduced code. In the PC world, it just doesn't matter. This leads to bloated required specifications and buggy software.

Bad network Connectivity

There are two main problems getting PCs connected to the internet. One, it is very difficult for the average user to get connected because of all the information required by a PC to talk to the Internet. Users must know their IP address, DNS entries, Gateways and more. They have to troubleshoot network card problems and deal with finicky software that doesn't necessarily work with every card. The other problem is bandwith. Right now the only widespread network usable by most consumers is the phone line. This is a terribly slow connection, and even though marketers will tell you otherwise, connection speeds haven't gotten better in the last six years. While broadband is starting to proliferate to the bigger cities, it offers its own challenges to users who now have to deal with even more hardware and software complexities. This also forces software engineers to write for high and low bandwidth users so as not to alienate anyone.

Buggy bloated software

Because of all the hardware differences, software engineers are forced to write single applications for a huge combination of hardware types. This leads to buggy software that is very difficult to troubleshoot or test. The other problem is in marketing. Microsoft has made billions selling an operating system almost one thousand times bigger than it needs to be. Instead of offering a transparent layer of machine code that sits between the hardware and an application, we have a feature bloated and very costly piece of buggy crap.

High cost

Because of the variety of software and hardware and the constant push to making the same functional software require even more hardware power, we end up in a viscous cycle of paying astronomical prices for PCs. Even though the cost of computers is even less today than it was we end up having to upgrade for a very small functional increase simply because the software manufacturers aren't optimizing their code.

Bad usability

All of the above problems end up creating a mess of very expensive gear that doesn't offer very much functionality for all the trouble it is worth. To be honest I don't know how they ever got so popular. It shows you how much trouble people are willing to go through, but when you think about it, why should they?

The ideal Solution

So how do we fix this mess? What can we do to help the average user get a highly functional tool instead of a joke? Dedicated appliances. There are two areas of interest to me when it comes to computers. Information retrieval and gaming. For information retrieval I need a browser capable of surfing the internet. For gaming I need a highly powerful graphic engine with a constant high speed feed to and from the Internet. Lets take a look at two devices that offer the functionality I want.

Requirements for Mike's Ideal Box

First of all, a networked entertainment device should have a completely transparent OS that only operates the basic functions of the unit. It tries to pass over to an application as soon as it can, only asking the user when it REALLY doesn't know what to do which should be never. The device should be flexible and powerful, offering connections for multiple input and output devices including various video displays, various network types and various input devices. It should include a keyboard, mouse and an analog game controller. The unit should be able to display very high quality graphics at very high frame rates. 60fps should be the target for all applications. Sound should include Dolby Digital 5.1 sound as well as regular Dolby Pro-logic.

While the architecture of the unit should be open enough to allow multiple hardware manufacturers to build the units, there should be a base architecture that must be put in place. Different features and functionality should be limited so as not to alienate specific boxes from software, creating the same problems we find in PCs. Should this not work, it is best to have a proprietary hardware architecture than to have it so diverse that we have the same problems as PCs.

Accessories should be very limited, it is commonly known among game console makers that proliferation of external accessories is very very small, and game manufacturers never fully utilize them. If you plan on moving a direction technologically, move there with the initial release.

The price should be at $199 or less since this is the price curve that has proven to be successful in high sales.

The applications should be true plug-and-play. You open the dvd drive, put in the app and turn the box on. All of the booting and connections are handled behind the scenes. The user simply interacts when the application.

Does this exist today?

Game systems prove that the above is possible. About six months ago I purchased a Dreamcast which includes almost all of the above to an extent. While still focusing on the gaming world, the Dreamcast includes a solid web browser.

Many companies are beginning to understand that easy to use systems are key for profit. AOL has built their dark empire on this idea, and Microsoft is starting down this path as well with the somewhat less proprietary MSN Explorer. Hardware vendors are starting to release dumb-terminal like Internet Devices. For a small cost you get a dedicated internet box with very few bells and whistles but no overhead. I hope this is the future for devices like this.

Conclusion

While we are a long way off from breaking away from the usability horror of our age, the PC, there is hope in sight. Only with dedicated and solid hardware and software will we be able to have easy access to the networks that only the CS folks can get to now. It will be a beautiful age when computers run as easily as game systems do.