Thursday, September 9, 2010

My life with my Mac

As you may or may not know, I'm primarily a "Windows" developer.  However, about a year and a half ago, I decided I wanted to do some iphone development.  The only way to do this is to use a mac.

My main computers were a Dell Desktop and a Dell Latitude laptop.  The latitude was showing it's age so rather than buy a Mac Mini I opted to replace the Dell laptop with a shiny new aluminum MacBook.  I opted for the 13 inch.  I travel a bit and lugging around the heavy Dell was getting tiresome.  The 13 inch Macbook is light.  I opted for the 2.4ghz Core 2 Duo with 4 gig of RAM.  I wanted the extra RAM because I still wanted to run Windows for my development work.

I didn't have any particular love for the Mac.  When they came out initially in the 1980's we used to call them "Crash 'n Toss" computers because they only did word processing and spreadsheets and when the hard drive crashed it was basically toss it and get a new one.  I knew little about the user interface or multi-touch gestures (Though I did have a new iphone).  I had opted to pursue Windows years ago because of the installed user base.  But here I am with this brand new Mac notebook computer.

I had considered using a Mac tool called "Bootcamp" to boot to Windows on the Mac.  However, prior to this I had switched all my Windows development to be performed within Virtual Machines.  I created a Windows Virtual Machine and would work within it.  I could separate my clients work, I could test software on different versions of Windows and I could backup the machines easily just backing up the entire virtual disk.

I wanted to continue this strategy so I looked at the virtualization solutions for the mac.  There were three.  Parallels, VMWare Fusion and Virtual Box.  I wanted a solution that would allow me to take the Virtual Machines from a Windows host to a Mac, and BACK in case I had a problem with the mac.  Parallels would not import my variable sized virtual machine disks, and Virtual Box just didn't really work.  I ended up choosing VMWARE Fusion and I'm really happy with the choice.  As the product has matured I can even run and test 64 bit versions of Windows.  All in a VM.  Unlike Microsoft Virtual PC at the time, I could even use USB devices.  Printers are shared with the Mac and the sharing of folders is seamless.  I really like it.

I still did a lot of my daily work in Windows.  I used the windows web browser, and email clients.  I did word processing and spreadsheets on windows and of course my development was performed on Windows.  But the Virtual Machines are great and I have never had to boot the mac to Windows.

What about all this neat software that came with the Mac?  I started toying with the browser and with Firefox on the Mac and just with the general user experience.  I wish I could quantify this for you better, but the end result is that the user experience on the Mac is just WAY BETTER than under Windows. 

The track pad is smooth.  The laptop itself is better.  The track pad is large and supports multi-touch gestures (which I will get to in a minute).  The way the "finder" works, the way the machine is organized and the way the user dock works and the application menu at the top is just smooth and easy.  There is only a single menu bar - at the top of the screen.  When an application has "focus" the menu bar changes to the bar for that application.  Everything is very consistent and easy to use.  In the doc active applications have an indicator.  And can I tell you how STABLE this machine is?  I never have to reboot it and it almost never crashes in any way. 

What about software for the Mac.  Since the OS is UNIX based most Linux projects have OS/X versions and there are OS/X versions of most major software.  I use Microsoft Office for the Mac now as well.  In fact I've migrated all of my day to day work and administration to the Mac - except for actual software development that I still do in Windows Virtual Machines.  Much of the software is free!

I keep my desktop Windows 7 machine around just for testing and in case this laptop dies and I need to run my VM's there - but I never use it.

Did I mention how FAST this machine is?  The processor and RAM really aren't impressive.  The Windows desktop machine is a quad core 2.8mhz machine also with 4 Gig of RAM.  However, the Mac is super snappy and even the Virtual Machines run quickly.  I'm super impressed.

So now I've switched all my daily information to my Mac.  The contact management of Mac Mail is superb.   The software highlights contact info embedded in email and lets you add it easily.  The search functions of "Spotlight" make it EASY to find old messages, PDF files, documents or anything.  And it's fast. 

Recently I bought a third party package called Mail Steward to archive all of my email.  I have kept everything since I started emailing and it's a vast resource of information.  Using this software, I can quickly find anything.

What about backing up the machine?  This is one of the coolest things about the Mac.  The software is built in and called "Time Machine".  It runs in background all the time, making incremental backups and managing the backup sets on any backup volume you desire.  I do mine wirelessly.  I have my wife using an external hard drive.  I let her use my Mac for a bit and she loved it so we switched her to the Mac as well.  We even bought an iMac for my daughter.   I have restored files via Time Machine easily and quickly.

What about reliability of the hardware?  I've never had a problem but my wife's machine had a fan rubbing.  We took it to the apple store and they sent it off.  We had it back in two days - delivered to the door.   At the time I didn't know how long it would take so I took my wife's time machine volume and plugged it into my daughters iMac.  I then restored my wife's user account from the time machine backup onto the iMac.  It loaded EVERYTHING from documents and files to the actual SOFTWARE she had installed and had been using. 

It was fantastic.

What about software updates and operating system updates?  I've been through several minor updates and one major update.  All went seamlessly and I've never had an issue.  And they happen quickly. 

There are several things I like about the operating system.  One is the multi-tough gestures.  The one use most is the two finger scroll.  Scroll bars (Even in Windows Virtual Machines) can be scrolled by two fingers.  Another is the "Zoom".  Since I have the 13 inch MacBook sometimes I need things bigger.  Just press the control key and two fingers up and down slide zoom in and out.

There are other productivity features as well.  A Mac feature called Spaces allows you to have multiple desktops and place applications on different desktops.  Switching is easy and if you activate an application from the dock, it activates the proper desktop.

Multiple monitors are supported easily as well. 

At this point, short of actual software development for Windows, there's nothing I can't do easier and better on my Mac.  It's been well worth the purchase. 

I welcome comments and questions about my experience. 

2 comments:

  1. I haven't done the VM thing yet, because I haven't been able to find the time, so this may be a stupid question. With respect to the VM's on the Mac, do you have to create them on a windows pc then move them to the Mac, or can you create a windows VM on the Mac? Have you tried any windows compilers in a windows VM on the Mac?

    Good article. I have always been interested in Mac since the OS was based on Unix, but didn't know what I would do with it because most business software is windows based.
    Danny

    ReplyDelete
  2. Danny,
    You install the OS fully on the Mac. Vmware Fusion even has some quick setup options. This allows you to just insert the CD or use an ISO image of a CD and enter the Windows key and then install. It's fast. I have several versions -- all installed on the Mac.

    As far as business software goes, there's a lot more for the mac than there used to be. Going to an Intel processor and also unix has made most of the Linux stuff available as well. You can run VMWare Fusion in "Unity" mode for any essential windows applications you have and they will integrate with the Mac OS.

    ReplyDelete