I've just been through an office move at a client site and packing it up got me thinking about the choices that companies make for their staff when it comes to computer hardware. Most users can benefit in some way from having faster computers, with bigger screens, and better input peripherals. Corporations have a tendency to make conservative choices and to pay above the market price for standard hardware. Whilst frustrating for normal users, this is an absolute performance killer for developers like me.
Compare the specifications of my home machine to my work computer:
Home
Work
2.4 GHZ Quad Core CPU (Intel Q6600)
2.0 GHZ Core Duo CPU
8 GB RAM
2 GB RAM
150 GB 10,000 RPM boot drive and several 1 TB 7,200 storage drives
160 GB 5,400 RPM boot drive
NVidia DirectX 10 graphics card
Intel discrete graphic card
Dual 24 inch TFT monitors
17 inch monitor
Windows Vista without Antivirus
Windows 2000 with Antivirus and other security tools.
My home configuration can be purchased for around $1200 today, and is many times more powerful than the work configuration. The ability to run multiple virtual machines as if they are real desktops gives a fantastic boost to my developer productivity. The screen real estate is beneficial for rapidly updating web pages, and the fast hard drives ensures that Windows keeps up with what I'm doing.
Since I don't run Antivirus at home I run as a user without administrative rights. If I need to test out new pieces of software from the Internet I use a Windows XP Virtual Machine running Windows OneCare Antivirus. Removing the performance overhead of antivirus means that I get the most performance out of my hardware whilst still staying safe. Did you know that simply running Windows with a standard user account can eliminate the threat of most Windows malware?
My advice to anyone buying hardware for development use is to buy the best performing hardware you can afford. Don't focus on any single component as skipping a dual screen configuration is not worth the price of a faster processor.
After a very quick install on a Dell XPS M1710 laptop, and a few hours of messing around, I have come to the conclusion that this is going to be the best release of Windows yet. At the same time, it's not very exciting for the alpha geek in me. Perhaps it is good to have regular stable releases and leave the fireworks to user applications?
Before I list some of the things that I like, or didn't as the case may be, I have a tip for anyone trying to get Aero running on the M1710. For some reason, Beta 1 doesn't have drivers in the box for the NVIDIA GeForce 9700M GT. Just download the mobile drivers from the NVIDIA website and install the Vista version using the "Have a disk..." option. Ignore any warnings about compatibility, the Vista drivers are close enough and I would expect NVIDIA to release some beta drivers for Windows 7.
What I liked
Performance improvements
This has been a problem for a large number of Vista users and Microsoft have made big strides according to my unscientific testing. Little things like searching for programs on the Start menu is noticeably quicker than Vista on the same machine. No doubt anti-virus vendors are working on ways to reduce the performance.
System protection
You can now reserve a percentage of disk space to storage of old versions of user and system files (just like Recycle Bin has done since Windows 95). This is something I would want to increase for someone like my Mum.
Task bar application integration
The thumbnails introduced in Vista are now more useful since you view individual tabs in an application like Internet Explorer 8. When you have a long running task like a file copy, the progress is shown directly on the task bar when minimised.
Easier wireless network access
Clicking the network icon in the task notification area now shows a list of network connections. This makes it much easier to connect, and is similar to the experience in Apple OS X.
Notification area grouping
I find the pollution of the task notification area to be a real pain. Every application thinks it belongs there and needs to be visible. With Vista you could force some items to be hidden, in Windows 7 they are grouped under a single icon. It only takes simple stuff to improve the overall experience.
Requires more thought
Taskbar application identification
So is Internet Explorer running, or do you have a shortcut pinned to the task bar? It's hard to see on the task bar, but I can see the rationale for this design decision. It would be nice if there was an option for clearer identification, such as the name of the application appearing on the task bar. I suspect more use of Windows 7 will result in a change in my expectation for this aspect of task bar operation.
IE 8 rendering issues
There is a still a lot of work to do here. I suspect that a lot of people will enable compatibility mode to enable sites to load. One site with problems was GMail (I'm using Google Apps for e-mail).