About 3 weeks ago I had to switch from Mac OS X (Leopard) to Windows (7 beta build 7100) at the company I work for. One of the reasons of the change was starting of a new project, that will be developed on Microsoft stack (C#, ASP.NET MVC and Microsoft SQL Server 2008). The project will have to be deployed on some Windows Servers, so no point in using C# Mono or PHP.
The first week, was spent getting used to the new platform and all the tools available on it. Installing pasteboard history (ClipX), an Orthodox File Manager (Nomad.NET), a proper editor (GVim for Windows) was something you had to do if you wanted to have a proper work environment.
The second week, I started to take a closer look at the IDE itself, as I already received the sources I was going to work from now on. For a change, it is nice to have code completion for about every namespace, class, method or function, but is annoying not to have word completion (for strange words you have to write inside string declarations like SQL keywords).
Beside the different change in layout, one of the other things that I noticed was the lack of attention to details in user interface and the general lack of polish. For example, in the above image you can see the subtle blue break point (enabled or disabled) in XCode versus the red break point from Visual Studio. I’d rather have 10 more pixels to fit one or two characters then to have 10% unused space in a window. Also see the subtle indicator for folding area, shades of gray in XCode and square with +/- sign in Visual Studio.
A much more visible differences in Visual Studio are the items from the menu item and the layout of the sub-windows that change when you go from Edit mode into Run/Debug mode and back. It is distracting to see shapes changing in background when you should concentrate on the front window. Better to keep everything fix and in place, and let you focus on the things you’re doing.
These are the touches that makes most of Mac OS X software much more enjoyable then most of the Windows software.