As a PC enthusiast, I refuse to be content with the state of the industry at any given time. That isn’t to suggest that I cannot be pleased with a product, but the critic in me is constantly wondering how we can make what comes next better than what came before. Indeed, the PC industry’s relentless march of progress reveals that–at some fundamental level–I am not alone; by the transistor and the megabyte, others too are asking, “how can we make this better?” Given the centrality of that question, it would be irresponsible if I did not ask it of even the most polished product, and lately I have taken to doing just that in the context of Windows 7.
Microsoft has worked hard on Windows 7, and its polish has been acted out in the adoption trends of users on Icrontic and abroad. Not only have a surprising number of users embraced the operating system in its formative stages, it continues to attract those who characteristically sit the fence on new OSes for months or even years. Our product review team, which adopted Vista only after DirectX 10 proved unavoidable, has already migrated to Windows 7 as the platform of choice. Ditto our news team that provides coverage to answer the ultimate existential quandary: Is this awesome? Given the amount of coverage we have lavished upon Windows 7, the answer is clearly yes.
Now that Windows 7’s finalized code is on the slow boat to some Chinese disc factory, it seems we have come to the point where we must ask that critical question: How can we make this better? Today I’ll be doing that by talking about ten changes I would make if I were in charge of the next version of Windows.
System services
Allow me to be candid: Windows is a clusterfuck of highly circumstantial services.
A cursory glance at BlackViper’s indispensable system services guide reveals that most users can safely stop a whopping fifty six Windows 7 services from ever starting again. That’s four more services than Windows Vista SP2, and thirteen more services than Windows XP 32-bit, which suggests that the problem is worsening.
Why is Microsoft so obsessed with loading every little component of Windows into the background? Caching a binary in the background doesn’t significantly reduce load times for the user, it definitely prolongs the boot sequence’s mean time to desktop availability, and it saps resources from the user’s active processes.
Solution: Give me the ability to remove all but the most critical system services via the right click context menu in the services MMC snapin. I am already equipped with the necessary UI experiences to undertake this task: Removing a service could imitate device removal in the device manager, and adding a service could imitate protocol installation on a network adapter.
Application settings storage
The Windows registry was developed as a solution to the growing glut of .INI files that plagued Windows 9x operating systems, but it has outlived its usefulness. Users must now suffer through applications that can’t survive a reformat, viruses that attack the registry, and absurd errors that completely cripple Windows. Adding insult to injury, the binary nature of the Windows registry hives makes it impossible to fix sections of the registry outside of Windows, even if you knew how.
The registry is like locking all of your worldly belongings in a subterranean vault that can only be opened with a combination that may never work again. Your belongings may also be incinerated at random. Thank you for choosing Windows!
Solution: Breaking Windows of its addiction to the registry won’t happen in a single generation of Microsoft operating systems, but the groundwork can be laid with Windows 8. Windows 8 could come equipped with a “virtual registry” consisting of a database that imitates the registry for applications that explicitly depend on it. The virtual registry would intercept an application’s registry read/write calls and create pointers that redirect them back to the application’s local directory; anything that would have been stored in the registry is now stored in a file local to that program’s install path.
Because every application would carry a complete copy of its own registry information, registry-dependent applications could copy to and from any Windows 8 installation. Running the application on a fresh installation would repopulate the fresh database with new pointers, and you’d be on your way.
Extending the solution a step further, Microsoft could join *NIX and Mac OS by offering a new framework or API to developers so they can create apps that avoid the registry altogether.
Perhaps by Windows 9 or 10, the registry will become little more than a vague memory of a dark age when all your shit was burned on the sidewalk at the first sign of trouble.
Improve error handling
Windows users fail in ways you never thought possible. From shoddy hardware dredged from a dumpster at the Smithsonian, to accepting emails from Ungobe Mjibwe the Nigerian prince, PC users are almost destined to fuck their PCs into oblivion. Thankfully we have the blue screen of death to tell us exactly what went wr– wait, no.
The dreaded BSOD is as useful as a hammer in a triple bypass. While the content of a BSOD gives the illusion of information, all it really does is display the last stop in a chain of errors. Any number of faults may have occurred prior to the event that brought your PC to a screeching halt, but the last fault is the only one Windows can give you.
Solution: Find some way to perform and display a stack trace in ways everyone can understand. At the very least, automate enough diagnostics in response to a blue screen that users are armed with information they can bring to someone capable with PC repair.
How about automated hard disk sector scan? How about an automated memory test? What about a mechanism that checks all the files native to a fresh Windows installation against a catalog of MD5 sums in a hidden system partition? At least PC communities or technicians could walk users through replacing invalid files, if it wasn’t automated already.
Customize Windows Explorer
Microsoft is constantly trying to simplify the way users store and retrieve their files, but iterations on the concept have taken UI clutter to new heights. Windows Explorer is the most unfortunate victim of this thirst for simplification, and it has been packed with useless links to crappy pseudo-directories.
Solution: I am an advanced user that can capably manage files and directories. I do not need Windows Explorer keeping tabs because I’m a bad that sprayed iTunes music, documents and kewl pix all over the fucking place. Please let me turn links to favorites, homegroups and libraries off, even if I have to go spelunking through the user policy editor to do.
Internet Explorer
No one browser developer has done more to drag their heels on standards and features than Microsoft. Challenger Deep will have to take a back seat to Redmond if the vole keeps it up.
Solution: Please just adopt WebKit. I know it’s from your bestest friend Apple, but the interests of your users should be your first priority. Not only would regular updates with new WebKit builds improve long-term security, but also it would make the nerds happy and save you money by allowing for a smaller browser dev team.
Windows Defender
Baked into Windows starting with Vista, Windows Defender is a solution that monitors for unwanted startup items, potentially malicious software, and malicious system drivers or services. It has been such an effective solution that it will soon be discontinued. Wait, what?
That’s right. Windows Defender will soon be replaced by Microsoft Security Essentials which expands Defender’s spyware/adware protection to also include viruses. While this is a good idea in theory, today’s best anti virus solutions catch a mere 70% of all threats on their best day, and all of these people prove that trying to protect against spyware is like trying to dodge the clap with a plastic bag.
Solution: I suppose rudimentary protection is better than none at all, but I would prefer the option to completely remove any trace of Defender. While Windows users are offered the option to disable it (with significant digging), I would rather reclaim the disk space altogether for a superior solution.
Windows Firewall
Can anyone tell me why we should be satisfied with a solution that was specifically designed to treat the symptoms–not the cause–of insecurity? Indeed, 2003 and 2004 were tough years for Microsoft when the Blaster and Sasser worms Katrina’d the bejesus out of users around the globe. Microsoft responded by enhancing the Windows Firewall to prevent unauthorized inbound connections–a maneuver that conveniently prevents Blaster/Sasser-like attacks from spreading. Microsoft’s remedy was so transparent in its motivations that it’s impossible to imagine that they were motivated by anything other than “OHSHITOHSHITOHSHIT” panic.
Windows Firewall has since grown to take the form of a fairly comprehensive inbound/outbound firewall, but it lacks so much street cred that any of the many superior solutions would beat it silly and toss its shoes over a power line.
Solution: The NAT mechanism cooked into residential routers works just as well as any inbound filter. Please give me the option to completely remove Windows Firewall so that I might reclaim disk space, RAM and CPU cycles as a reward for being a good user that takes care of his system.
Outlook/Outlook Express
AAAAAAAAAAAAARRRRRRRRRRGGGGGGGGGHHHHHHHHHHH.
Solution: Please give users a simple (and obvious) way to make a backup of their email, profile, and account settings. Users are tired of losing their email, I’m irritated with the fact that you use GUIDs to configure accounts, and enthusiasts are tired of hearing “help i lost my email what do i do pls respond.”
Please give users the option to export that data to a large variety of mail clients, or be a real thought leader and create an open source container format for this information that all clients can adopt.
64-bit binaries
Every Microsoft OS in the last ten years has been billed as the one that will finally transition to a 64-bit codebase, but here in 2009, it’s still optional. The benefits of 64-bit are pretty compelling: Mathematically-intensive applications like encoding and encryption are significantly faster in a 64-bit environment, large files can be processed more quickly in a 64-bit OS, and users can have terabytes of memory, instead of a dismal 3GB.
Solution: Windows 7 is a clear indication that 64-bit is ready for the big leagues. AMD was definitely on to something when it lead the way with consumer 64-bit, so let’s get our crap together and get on with it. Windows 8 will be better for it.
The file system
Windows has been on the New Technology File System, better known as NTFS, for a rather long time. As far as file systems go, NTFS is pretty slick. Windows 7’s implementation supports 16TB volumes, 2TB files, symlinks, shadow copying and atomic transactions to ensure the reliability of mass file operations, just to name a few perks.
However, even though Microsoft has been rather committed to keeping up with the Joneses, it is beginning to show its age. Most significantly, NTFS is stuck with metadata-only journaling which cannot be used to verify the integrity of the volume’s files. Additionally, the rising prominence of SSDs has put the inefficiencies of static block sizes in a glaring light.
Solution: There is an outstanding number of potential alternatives to NTFS, but I am particularly fond of ZFS. The Zettabyte File System has many ultra-modern features that would make it a compelling and enlightened addition to Windows:
- ZFS eliminates the need for partitioning, fdisk, and volume managers like the Windows disk management console. It accomplishes this by collecting the system’s storage devices into a pool of heterogeneous storage. ZFS then creates zpools which–like the partition–can be sized to fit a user’s needs. ZFS’ zpooling mechanism grants tremendous liquidity and management simplicity to the file system.
- ZFS supports storage capacities and file sizes so large that we’ll have to break the laws of physics to reach them. No fooling.
- ZFS’ block-level journaling means that every file on the system can be checked for integrity and rebuilt from parity.
- ZFS uses atomic transactions, which means multiple file operations are grouped, but only executed if the process can complete. This ensures data won’t get butchered if a file operation fails in the middle of the process. Transactional operations also make for low write overhead.
- ZFS uses the copy-on-write model for writing data. This means that ZFS writes new files or file modifications to disk free space and then changes the pointers in the file system to refer to the new location for the data. This ensures that data will never be corrupted by an overwrite that fails while executing in the place of active data.
These features just brush the surface of the features ZFS provides. Built-in RAID levels, self-healing algorithms, dynamic block sizes and file system snapshots all make for tremendous robustness and reliability. All of this is not to say that a desktop implementation of ZFS would not be without its issues, but it’s certainly the most forward-thinking file system to crop up in quite some time.
How about you?
There’s no doubt that Windows 7 has improved upon both XP and Vista, and has made a strong impact as Microsoft’s most polished OS in quite a while. Even so, nothing is without room for improvement. From services to errors, to file systems and email, my list is by no means definitive, but I absolutely believe my changes would make for a better product.
But now it’s your turn, Windows 7 users. I pose the question to you: How can you make this better? Leave us a comment with the ten changes you would make if you had a say in Redmond’s next operating system.
Special appreciation to the artist “Gizzle” for making the outstanding icon pack featured in part as the anchor image for this op-ed.