What sucks about operating systems? For one, they're never finished, ever. The excuse is that hardware is never finished, so how could an operating system be finished? Note to self: biggest change in hardware was from 32- to 64-bit CPUs and address space. Fooey. Here are the basic problems that dog almost every operating system to this day:
#1: Backup and Restore
In the early days of computing, hard drives had a three year life cycle from installation to trash can. We even slammed them against desks (with feelings) to loosen drive heads that had become frozen against platters in a deadlock called 'striction'. We told and warned and cajoled and begged people to do backups. The software to do this uniformly stank when delivered with the operating system. Great works of art called 'tar' (short for tar and feather-- not 'Tape Archive and Restore' as widely believed) and Microsoft's 'backup.exe' propelled users to never backup their machines, thus allowing the hard drive manufacturing business and disk recovery business to soar, as it does to this day. As a result, no one backs up, even to convenient Internet resources. What then riles me further is that they'll call, in tears, wanting to know what to do when their machine is stolen, or the drive ends up not working any more. That we put users at risk to hardware failures is horrible. Some product manager at an OS vendor thinks to him/herself: let the third party people do this. It's a bag of worms for us. Who cares if it's tough to use? People never backup anyway. With this attitude, much frustration occurs for all of us.
#2: Device Drivers
The secret sauce of most peripherals is the software glue that binds them to a particular computer: the device driver. They can be deliriously cool, or can cause a computer to infinitely reset itself, or behave in the most bizarre ways. OS makers have been wrestling with how to deal with devices not made or serviced by an OS maker or its hardware sponsor since the beginning of computer time. Some schemes have matured, but for a long time, we hunted almost weekly for new drivers to make things work. Thanks, Bill.
Yet it's impossible to do what consumers believe to be the most simple things. Take connecting a Windows Mobile phone to an Apple running MacOS--- or vice versa. While the vice-versa part of connecting an iPhone to Windows kind of works these days, the reverse isn't true at all. Perhaps you've got a nice new video card. You need to check the operating systems version compatibility to ensure success. Lacking that research, who knows what works? This should be simple. It's very NOT simple. If they don't work, but should, try to get the hardware maker, the peripheral maker, the OS people, and maybe an application maker to fix it. Occasionally you have a prayer with open source stuff, and much less so if not. We rarely 'sandbox' drivers to let them exist in a walled space so that if they do blow something up, that problem can be trapped and dealt with. What happens now is the nervousness exhibited by most civilians whenever they try and add peripherals to anything but the latest hardware and operating system combinations. We as an industry have failed them.
#3: The Oxymoron of Filing Systems
Once upon a time in the Windows -dominated world, filing systems consisted of FAT. Then FAT 16 and 32 came about, with successive iterations of NTFS. Far away in an enchanted valley, the elves created EXT2, then Resier, HFS, EXT3, JFS, and other journaled filing systems. We need journaled filing systems because of hard drive failures and system-state problems, like random reboots that wreak havoc on filing systems lacking transactional integrity and recovery.
There is a madness in licensing and use which says that hardware and OS makers must protect their choice of a filing system, and therefore make it difficult to use any other-- Linux and BSD variants somewhat excepted. If you're a civilian with a flash drive of unknown origin, hoops must be jumped through to simply talk to the storage device and make it work for you. Discretely, the filing systems can be wonderful and largely bereft of problems from the old bad days of computing when they were easily corrupted. Nonetheless, today, making stored data compatible with any specific use of the data requires the OS to understand the filing system of the stored data, and that's where things fall apart. Linux/BSD people get more choices. In a better world, all kernels should read all filing systems and deal with them efficiently and deftly. Those that patent filing systems, then don't let the world use the patent for free should be hung by their index fingers.
#4: DHCP as a Failure
Unless one uses DHCP (or the ancient bootp or other protocol) to get a network address, one must type that address in. In the IPv4 days, this is an obtuse amount of information. The conversation on the phone with a civilian goes something like: ok, in the address field (after we got them to the network configurator part of the specific OS in question) put the address 192.168.1.4, then in the submask field, 255.255.255.0, then in the gateway field, 192.168.1.1, then in the DNS field, 192.168.1.1. Maybe.
The world (for better and worse) will now add IPv6 addressing. Bah.
Some machines can figure out where they are and actually offer a nice choice about what to select for simple IP addressing information. The only place I've seen this is on Linux versions. Perhaps there are others. But unless DHCP is used, and the DHCP server is correctly configured and alive, nothing works. This is the single greatest call that I get from civilians: I'm not on the Internet. What's wrong?
More is better. Disk space is cheap.
I'm not sure exactly what excuse justifies OS blather, and the inclusion of 10^6 drivers, apptets, fonts, and a train lot of crap/junk that must some with every OS release. Microsoft's famous for this, but frankly everyone sends the kitchen sink. We can use the Internet to download drivers for odd stuff (see problems above) and don't need seven DVDs full of bad potatoes delivered as some sort of apology for making us pay for an update and fixes that should have been both fast and free that you call your new release. There are now wonderful applications out there that shrink OS footprints back to something livable. Bless them.
#6: Documentation and Help
Jail time should be mandatory for not documenting every single error message by number and type (after all, you wrote the code, you know what the numbers mean). If you can't in this day and age of Flash, Java, Silverlight and whatever have help demonstrations for the major configurators of your OS and its major features, then please self-destruct. Just go sell produce for a living.
The Unix 'man' pages were also written for programming and systems-versed people in another era. They DO NOT SUFFICE FOR DOCUMENTATION. If you include apps with your OS, you must also document them in the same decent way. Yes, armies of consultants will starve as a result, but you'll have an educated and loyal user base as a result. Presume your mother is going to use the system, and she'd not fixing dinner until she understands. Use an 'advanced' method if you will, but don't speak geek and call it English.
#7: Inherent Security, The Oxymoron
Nothing is foolproof, because fools (and black-hat hackers) are so ingenious. Yet every day of every week, there's something new and exciting to worry about. Today, it's inherent security flaws in Internet Explorer. Last week, it was an ingenious cross-site scripting problem. If browsers are an inherent component of operating systems, they must be secure as the operating system.
Microsoft took a huge step towards architectural security by downgrading users from administrator/root in Windows XP SP2 and Vista. That meant that much malware's bad behavior became confined to the user. But Unix-derivative (yes-- even Macs) operating systems still have a long way to go to implement security and make it seamless for users. Having an IPTables jungle does not suffice. Browser and email cracks have formed where ten years ago, malware and viruses were largely spread from user to user via media transfers. Now the browser and mail reader is the culprit-- and the hapless user. Why do we let grenades in email boxes explode? Can't an email reader parse a message to understand when a phish attempt is being used? Yes, some of them do. Most do NOT.
#8: User Privacy
Document sharing defaults are usually good these days in operating system, but there are no glaring warning panels to remind a user to shutoff sharing when they go from let's say, home, to the local free-WiFi coffee shop a few blocks away. There, all of the users information might be boldly exposed. Indeed WiFi security is somewhat of an oxymoron, as WiFi HotSpot security is generally awful. Defaults can be wickedly exploited when they're loose, or don't glare and flash at users to remember to change settings that are appropriate for their use context.
Worse are the privileged accesses needed by programs like GoToMyPC, WebEx, and others. We have to trust these conferencing applications aren't looking around where they shouldn't if/when we use them. RDP options can also be misused, as well. Why bother with privacy? Ask Mark Zuckerberg or Eric Schmidt. They don't seem to care, as it's antithetical to their business models.
#9: DRM Interchangeability
I have iTunes. Maybe you have something else. I'm not into breaking the law or licensing agreements. Yet I want to loan you a song, or a movie. There ought to be a widget that resolves this problem, even if it destroys the file I send after a single use. Or maybe it sends ten cents to Apple, or somebody else that requires the revenue. Send me a bill. Don't hassle me with insane proprietary formats in the name of anti-piracy. Let the OS dip into my PayPal account (or whatever, sanely) and let me do what I need to do. I'm not here to wholesale rip off anyone. The formats have technical merit, sure, but largely they're designed to protect someone's revenue stream. I understand that. Give me something that pays the piper, and move on.
#10: Talk to my Mobile
Talk to my cell/mobile phone. The whole thing. Voice mails, pics, movies, contacts, notes, whatever. Sync them the first time, and every time. A password will do if you need authentication. If you make a mobile with your OS on it, then you have zero excuse not to do this, and NOW. Don't make me jump through delirious hoops. Give me the whole enchilada, without some sort of gooberish user interface. Do it for my Nokia, my iPhone, my Treo, my HTC whatever, whenever, but NOW. No excuses. Do it through USB or Bluetooth. Do it now. I'm waiting. You've had a dozen years to get it right. Stop making me wait.
There are a dozen more quirks that I'd love to talk about. Like how each new operating system will expand to fill the memory and storage allocated to it. Like how OS vendors say you only need a gig of memory, but it's really four gig or more. Like how people deliver a 32-bit OS on a 64-bit machine and call it cool. Like how some vendors will make a half-dozen or more versions of the same operating system, and have the gall to say that customers wanted it this way.
I'm going to stop ranting now. Temporarily.