My New Mac – And The Slow Move Away From Windows


It’s now two weeks since I took possession of my Mac and I’m finding myself using it more and more. Sure, my Windows XP machine still demands a significant amount of my attention; Microsoft Visual Studio and .NET/C# is still my primary development platform.
My Windows machine is a pretty tricked out rig that I built myself from Newegg (the BEST place on the web to buy hardware). QX6700 processor, GTX8800 video, dual 20" Samsung monitors, etc. I’ve got my Microsoft ergonomic keyboard and can touch type on it like the wind. I’m still running XP SP2 on it – mainly because my experiments with Vista on my HP laptop have been very disappointing.
Both of these machines sit right next to each other. As you can see by the pic above I’ve really oriented my entire workspace around my Windows XP machine. Yet I find myself constantly moving my hands to the Mac keyboard.

At first I thought it was the typical obsession with a new piece of technology. After spending the last 17 years using Windows I’m now just enamored with something new, right? That is indeed part of it. But there’s something else about this.
OS X is a really slick operating system. There are little features that make it a pleasure to work on – you can just tell that a significant amount of human factors work went into the system. Sure, there are little areas where you can see that someone missed but the vast majority of the system is really clean.
Two small utilities that come bundled with OS X are examples of this: Spaces and Exposé. As you can see from the pic of my Windows workstation, I’m a screen real estate whore. Yet now I’m spending a lot of time confined to a 1280×800 world. I tend to multi-task like mad, often having quite a few applications running at the same time. Exposé is great because at the touch of F3 it shrinks all of the windows on the current screen down and let’s me click on the one I need.
Spaces is great because I can have four different primary screens and alternate between them by hitting Control-X (1-4). The switching is handled nicely with animation and it’s very quick. I can also simply Command-Tab between application, much like I can on Windows with Alt-Tab.
After investing a little time training my fingers to use the shortcuts I can rip between my applications so quickly I feel like I’m on a much larger screen. It’s a really nicely done piece of software and not the gratuitous "because we can" app-switching that is included with Vista.
What I’m doing now is finding all of the things I keep turning back to my Windows machine for. Foremost is my development environment. I’m considering getting VMWare and running Windows XP and my development tools inside of that. I’ve got additional memory coming in next week for my Mac (bumping it to 4GB) so that I have plenty of headroom to run everything I need.
I don’t know that I’ll be able to fully switch to Mac because many of the tools I’ve become accustomed to are Windows based, especially on the development side. I’d love to find a really great web development platform that’s native to my Mac but I haven’t had much luck yet.
But I will say this – I really love this Mac.


  1. @Pecos Bill: The IDE for XCode is nice, but having invested so much time in becoming proficient in the MS development stack it’s so hard to walk away from. The only reason I would consider it is because I’d love something that was native to my Mac.

    On ROR I just got a really bad feeling about it. I got it up and running on my Mac after quite a bit of trial and error and invested in three of the most popular books on the subject. Before I invested too much time though I started comparing it to what I have in the .NET / Visual Studio environment and it wasn’t even close. Articles by people like Joel Spolsky and others have given me pause due to scaleability concerns.

    Finally there’s the whole agile model that ROR developers really embrace; I’m not much of a fan of the SCRUM or Agile models – I prefer proper planning and more robust architecting of solutions.

    I did play with Flex for a little while and found it really interesting. The only thing that pushed me away from it for now was the inability for iPhones to run applications built on Flex. If that’s not a concern of your you should look at Flex – it’s pretty impressive.

  2. Pecos Bill says:

    @David: Objective C existed LONG before C# and as that’s a M$ language, I don’t see Apple supporting it. There’s discussion on the Net that there will be some needed enhancements like garbage collection. Xcode looks like a great IDE, too.

    So, what didn’t you like about Ruby/rails? I’m thinking of heading that direction due to the raves online. How doesn’t it scale? (I’ve yet to look at it.). I’m also hoping to get into Flex which surprisingly does not require Windoze. Adobe has been very slow to migrate to Intel (Univ Bin) but I can live with that.

  3. @Robert B: Yes, I watched all the iPhone SDK events and have downloaded the SDK. Fired it up and played with it – looks pretty cool. My biggest concern with the Apple native stack is the use of Objective C as opposed to C++ or something like C#. I haven’t looked into it too much yet. The applications I develop are pure web based solutions – I’m not going to be developing client side applications until my next big release. That’s likely the time-frame for me to look into Cocoa and XCode.

    I tried Ruby on Rails but was completely unimpressed. It doesn’t fit with my model of development and I’ve got some concerns with scaleability for it as a platform. Java is a possibility but right now I’m so productive in C# and the .NET environment I’d be hard pressed to move away from it.

    It’s really hard to change development platforms / models / libraries / etc. mid stream in a development cycle. My current plan is to get a Mac Pro at some point in the near future and run VMWare Fusion on it and run my development environment in that. Well, that’s the plan anyway ;-)

  4. @Bluejade – thanks! I’ve actually been using the Spaces feature to move applications between the various windows I have open – love the feature. All morning I’ve been using Warp – which Phil recommended above. It’s fantastic. I didn’t think I would like it but it really makes flipping between windows fast. If you haven’t already you should check it out.

  5. Robert B. says:

    I forgot to mention WebObjects. Although not developed with Cocoa, I believe it is the same software used, initially by Apple, for the iTunes store. It has been sold for $4,000 a seat; but it’s now free. I think it’s development has been frozen though.

  6. Robert B. says:

    Did you see the video of the iPhone SDK event? Those free programming tools are also available on your install CDs that came with the MacBook. The Xcode environment is the same except for the interface tool APIs and the iPhone debug environment. Apple has Java support built into the OS and you can use a number of others like Ruby on Rails. Web development tools might be more difficult to find. Have you looked on the Apple web site’s list of available software? Their site is so large it’s often easy to overlook the resources hidden there. Jobs claims that software development using Xcode is up to 5 times faster. He’s been overseeing their development since the earliest days of NeXT.

  7. Bluejade says:

    Nice article. Congratulation to your decision to try Macintosh. As you spend more time with Mac OS X you will find yourself smiling often when you discover more and more of those little features you mentioned. I’ve been using Mac OS X since its first version came out in 2001. Even after all those years of using it I am still learning new features. It never fails to bring smile on my face and praise the cleverness of Apple programmers whenever I stump upon such.

    For example: In Expose you can not only view all windows but you can also use it for moving content between them – click and hold selected file or picture from one window, hit Expose, drag the file to the destination window and hover above it, when the “no-go” cursor changes into “green plus” cursor, the target window maximizes and you can drop the file into its destination.
    Or spring loaded folders ( must be enabled in preferences) – while moving files in Finder hovering above a folder opens window with content of the folder where you can repeat the action until you reach the desired folder. Then after you drop the file all the windows opened during this action will disappear leaving you with the starting window only.

    I could go on and on

    Enjoy your experince

    BTW: Spaces can have up to 16 screens

  8. Another way to navigate spaces is by control + one of the arrows pointing to the ‘space/quadrant’ you are looking for.

  9. Great find! Thanks Phil – I just installed it and am trying it out. I have a mouse from Logitech that includes an extra button that I have mapped to Spaces and it works great but I’ll give this a try and see if it works for me.

  10. If you love Spaces, try throwing Warp in as well. Saves you using Control-[1-4] – you just move your mouse off the screen in the direction of the space you want. Awesome – you might even wonder why you bought multiple monitors.

    P.S. I’m not affiliated, just a very happy user.