Wednesday, July 15, 2009

My Windows 7 review is both more confusing, and more rambling than yours. :D

I installed Win7 on a machine previously running Win2000; kept old HD just in case.

Used it. Liked it. Stable, did not appear a bit slower than Win2k on my 2.7Ghz single core with 1GB ram. Improved user friendliness by way of Simple English controls. I can see the benefit there for novice users, and experts after a brain-fizzling day at work alike.

BUT

I still rolled right on back to Win2k after a week's worth of testing.

Why roll back if there was zero faults I could find?

It doesn't do anything new.

It's as shiny as all get out, but I don't care much for my OS being shiny.

It could have "an improved network stack", but is not capable of any new network features. For example, I can't set DHCP alongside static IP's on a single interface. I've been waiting for someone to offer that now for 15 years.

It might be "more secure".. and to be honest, I was quite impressed by the user accounts management and program install policies.. but my natted Win2K box with my usage policies has stood the test of time and requires no extra security.

So, beyond the superficial there is really no advantage to the upgrade for me. Now, list the disadvantages to upgrading an existing install:

  • buy OS, yet again (or figure out how to pirate it and worry about keeping on the upgrade path and avoid kill switches)

  • reinstall all the software, some of which needs to either be re-bought or repirated. Reconfigure all the settings. In short, every time you find something that doesn't work like before, you have to stop to tweak with it. After a week, I still couldn't get a thing done without tripping all over things that needed configurational TLC.

Now reconfig will happen whenever you start anew, which is inevitable as the machine will eventually die. However, this machine won't die any later after installing the new OS and going through a gratuitous reconfig step. In short, no pros and some cons. Verdict, not happening.

So, congrats M$ on distracting us all with how terrible Vista was for long enough to sink our expectations and try to make us say nice things about Win7 being relatively better. I admit it is marginally better and marginally more resource conservative than XP. On a new machine, Win7 > XP. But you'll still never get our old machines, because Win7 is not a DECADE more advanced than XP or even 2000, as it really ought to be.

It's time someone changed the whole GOD DAMNED PARADIGM. The entire OS abstraction that most of the world relies upon today is outdated. I welcome Google ChromeOS now, not because I am concerned many people will use it, but I hope it will gadfly M$, Apple, AND the OSS community into doing an operating system properly for a change.

I can't say what a truly superior, worth-trying paradigm will look like.. but I have some small recommendations:
  • scrap the directory-based filesystem. Tag files, and make it easy to use tags like directories.

  • Once you've perfected ACLs for the new filesystem, use something very similar on the network stack. Relying on third party firewall apps to track application to network bindings indicates the present approach is too loose in this regard.

  • Jail every app by default. Give them all hooks to the same kernel, but no access to the same filesystem, network infrastructure, or message loop by default. App jails should have similar separation to user accounts. Apps put windows on the same screen for a user, but cannot "see" one another by default. Apps can be granted shared access, IPC conduits, or access to broad resources (screenshot utilities, VNC clients etc) but should not have such privileges by default. Approaching things in this direction ought to obviate 99% of the local security concerns most people are bothered about, and the ones Win7 tries so valiantly to defend you against. EG, why shit bricks about every piece of software that gets installed when many of them do not require the broad power current OS's afford them? Keep honest applications honest and nip the problem in the bud. Remember "protected memory access"? This approach will have the same glowingly positive effect in secondary storage.

  • Optimize filesystem to favor appends over edits (see GoogleFS whitepaper.. it applies to regular folks too)

  • replace standard inode logic with hash-based inodes. Lazy copy friendly, duplicate files take up reduced space on disk. (less important once you've replaced directories with tags.. but still :P) Once again, refer to GoogleFS but also Git Source Control Manager developed by Linus Torvalds, et al

  • Hide the OS chrome. One thing about Google ChromeOS mission statement that struck me (I am holding out as to it's implementation or privacy impact) is the idea to keep the OS itself from being an obstacle to getting work done. Take a firefox-plugin inspired approach to virtually every user-facing aspect of the OS. The amount of help folks need finding the right file, launching an app or managing windows varies wildly, and this is where the most innovation is to be had. Decouple the kernel, driver manager, file system and network stack from such concerns.

  • Foster an open ecology for installing and upgrading applications. This obviously is not in the direct control of an OS, but OS makers can endorse better practices. Applications should not install or upgrade themselves, as many apps on Windows try to and Google Apps insist on doing both in Windows and on Mac. In fact, Apps should not CARE how they are upgraded or installed. They ought to be installation agnostic. Even the distribution systems in Linux/BSD are limiting, because your distro works hard to try to give you every scrap of software you will ever need, and that is a losing battle to wage.

    Within any OS, third parties should create installation and upgrade engines and app developers should publish something akin to RSS feeds announcing updates as XML or XML-like files (msi apparently is a fine candidate for this circle, but ought not be the only one).

    If an app developer (like Google) or an OS developer (like M$) thinks they are good at app install and upgrade, they should each offer their engine, but take care that their software will still comply with the (to be written) standard so that it can be maintained by anyone else's engine as well. Then users can choose whatever app-management they wish, and most will stick to one app engine, instead of having M$ update here, Google Pack Updater there, and 300 other apps all accessing the network to interupt you on app launch about some new version, which you have to manually browse to and install, oft requiring a reboot.

  • OK, seriously (windoze-only complaint) but will SOMEONE do SOME BLOODY THING about this start menu arrangement for newly installed apps that hasn't evolved since Windows version 1.0??!? Does every app need a folder in the start menu to itself, with a readme, website link and uninstaller?? This is one point I am hoping will be solved by implementing the above point.

Well, them's my tuppence on the matter, and why my upstairs machine won't leave Win2k either until it has to, or until there is somewhere actually worth going.

2 comments:

Vince said...

Okay... I have to call you out on the "doesn't do anything new" bit... Maybe you meant to say "doesn't do anything new that I really care about."

I think Windows 7 is pretty slick. Here are a few of the "new" features I like (I'll include Windows Vista features too):

- Media Center

I have a Win7 machine hooked up to my main television just so I can run Media Center. It's awesome.

- Libraries

This is a slick way to look at a bunch of different folders at one time. You could have a "Photos" library that pulls files from 4 different network shares, etc...

- New Task Bar/Window Management

I know you just call this "shiny as all get out," but there's actually some nice usability enhancements here.:

- Window snap
- Jump lists
- Aero Peek/Shake

Plus, I like the new taskbar design... They copied Apple a bit on this one, but it works well.

- Search

The integrated search/index feature is nice. You can use it to launch applications, which is awesome. Just press the Windows key on your keyboard, type "fire" and press enter to launch Firefox. Look ma, No mouse!

- 64-bit

I have a machine with 8GB of memory. Not very useful on a 32-bit OS.

- Gadgets

There are plenty of 3rd party gadget/widget/whatever implementations out there, but the Microsoft version is nice. There's a ton of quality gadgets out there.

Jesse said...

Heya Vince, thanks again for stopping by! :D

So yes, you are correct that I did not mean "new" in the global sense, but "new" in the ways that impact my usage of that computer sense. It won't be a media center, it has less than 4 GB of ram (on top of not being a 64bit processor) and most of the rest of what you've mentioned I'll file under "shiney" ;D

Main point being it can't *do* anything (given this particular hardware example.. no TV card, 32bit) it couldn't do before, and outside of the lightly upgraded windowing service (heretofor known as "shiny") and security changes which neither affect me positively (they do kill TightVNC connections) nor dig all the way down to the heart of the problem, it is pretty much identical to the OS I would be leaving behind (Win2k).