First, some background info. What are my computing needs, and why am I even considering switching from Windows to a different operating system?
My computing needs are fairly modest, and probably pretty typical for someone working in the technology industry:
- Geek Stuff. I'm a computer engineer, programming mainly in Java on Unix in my day job. I do a bit of programming at home, and like to write scripts to automate repetitive tasks.
- Photography. Photography is a passion of mine. I use my computer to scan slides and negatives and to download photos from my digital cameras. I then need to organise, edit and print my images for family albums, gifts, photo competitions, and the occasional sale.
- Web Site Development. I have a personal web site (this one) and a few commercial web sites. I also maintain sites for Down Syndrome NSW and Kiama Shellharbour Camera Club (not online yet). I use Fog Creek Software's CityDesk for this - this is a big consideration, as I'm not negotiable on this one and CityDesk only runs on Windows.
- Work. I connect to my employer's network using a VPN, which requires Contivity. I also need to be able to interact seamlessly with their Windows network for filesharing, printing, etc.
- Home Network. My wife has a Windows XP laptop, which she uses for her bookkeeping business. So I need to be able to transfer files and share printers on my home network.
- Internet. Just simple surfing, reading, looking at photos, email, online shopping, internet banking, etc.
- Entertainment. I download occasional movie trailers, listen to music (from my own CDs, not streaming audio or p2p filesharing), and very rarely play games.
- General. I write documents, create simple spreadsheets, etc.
Until now I've been running fairly happily on Windows. I use Windows 2000 at work and Windows XP at home. Sure, Windows crashes occasionally and I sometimes have problems getting hardware working right, but these aren't huge issues for me. It is annoying to have to reinstall Windows every year or so, though - it definitely degrades over time.
My home PC is now getting fairly long in the tooth. It's a Celeron 800, so it struggles a little running modern applications and processing large image files from my DSLR. Upgrading it will require a new motherboard, CPU, RAM, and power supply at a minimum. I've kind of reached a point where I'm up for significant cost anyway, so I figure I may as well decide whether I want to stay with Windows going forward or buy into a different platform.
I really like the idea of running Unix on my desktop machine so I can write scripts, use tools like grep/sed/awk, have better control over processes/security/networking, and muck around more with open source software. Windows is starting to look uninspiring and a little restrictive, but I'm not sure if there's a better option out there.
Why Look At Macs?
The most obvious choice when looking for a Unix-like operating system to run on Intel hardware is always going to be Linux. I've tried several flavours of Linux at various times in the past, but I've never ended up using it for more than a few weeks, when the novelty wears off. The user interfaces available aren't as mature or stable as Windows XP. Applications for Linux tend to be limited to the open source ones, which vary in quality, performance and usability. Support for some of my hardware items is patchy, too.
I'm sure I could get by using Linux if I had to, but I've got stuff to get done and I don't want to spend all my time fiddling with the OS.
Mac OS X looks like a nice option for me. It's got Unix under the hood, and a powerful, productive, stable graphical user interface on top. OS 10.3 (Panther) introduced some really strong integration features for working happily with Windows networks.
A potential down side of OS X is the switch to all new hardware. But as I said before, I need to buy a new system anyway, and the extra cost of Apple over a good quality Intel box really isn't much. Most of my peripheral devices are USB, and they're all supported in OS X.
So the only question remaining is whether or not I can do the stuff I need to do in the OS X environment.