It all started when I got my new IPhone (3gs) about a month ago. I had been using a Nokia E71 since the start of this year, and have owned a couple of Windows mobile based phone before that. To describe my experience with the new IPhone briefly, its usability and slick interface just blew me away. I could not believe I had missed out on owning this marvellous device for so long. My previous cell phones offered most of the features that my IPhone does, but there’s a big difference in the user experience. It would not be a stretch to say that the IPhone serves most of the functions that I had recently bought a netbook for. After playing with some really well designed IPhone apps (facebook, tweetdeck etc), I really wanted to check out the development environment and get familiar with the basics at least. Unfortunately, you can develop an IPhone app only on an Intel based Mac. When I dug for more information on the interwebs, I discovered that a bunch of other .Net developers have been using a Mac as their primary workstation for quite some time using either Bootcamp or a VM based solution such as VMware Fusion or Parallels. I decided to take the plunge and ordered a 15 inch Macbook Pro with a 2.53GHz Intel Core 2 Duo processor, 4 gigs of memory and a 320GB 7200 rpm hard disk. Here’s my experience so far with the new Macbook Pro.
To put things in context, my primary workstation at home right now is a Dell desktop with 2.5 GHz Core 2 Duo processor, 6 gigs of Ram and running the latest 64 bit Windows 7 RC. I am very happy with the that machine and use it with a dual monitor setup (see image below, the one on the right is a an Asus netbook).
To get upto speed with my new Macbook Pro, I shut down the Windows based desktop completely and have been using the Macbook as my primary computer for more than a week now. The device itself is a pleasure to use and looks very slick. I like the spacious keyboard and am really digging the trackpad. It has excellent battery life (>5 hours) in my usage so far. This is the most responsive machine I have ever owned. It takes around 2 seconds to revive the system from sleep mode, and unlike my Windows experience, I do not have to keep an eye on memory and processor usage all the time. I do prefer desktops over laptops for working for longer time periods because a laptop forces me into a slouching posture and puts more strain on the wrists. I tried to find a good docking station for the Macbook but was mostly unsuccessful. The only docking station I found was from BookEndz which had mixed reviews and a very high price tag (~$300). I ended up buying a lapstop stand instead and currently attach my 20” monitor, ergonomic keyboard and trackball when working at home. On weekends, I usually work from a coffee shop and carry the laptop around with me. I tried pairing the Macbook with my 24” monitor, but it did not feel comfortable to use due to the big difference in screen size. Here’s a picture of my updated setup.
The Leopard OS is pretty easy to get used to. I did have some trouble initially understanding how applications are installed and kept on launching them from the Downloads folder rather than copying them to my Applications. I like the Spaces feature and it gives the experience of a larger screen area. I use different spaces for the Windows VM, web browser, chat/twitter clients right now. The biggest issue I am facing right now is constant switching between the keyboard and mouse/trackball. On windows, I use slickrun and any available shortcuts to keep my hands on the keyboard as much as possible. I found a great free app called Quicksilver for the Mac which is an application lancher (and more). Other useful applications are AppZapper (application uninstaller), Adium (chat client) and Textmate(text editor). For editing blogs, I am using a free editor called Qumana right now. I have always used the Firefox plugin FireFtp for FTP purposes, and the same suffices for my needs right now.
I have installed the IPhone SDK and am checking out Objective C and the XCode IDE right now. I plan to write another post soon describing how I set up my Windows development environment on the Mac soon. Stay tuned.