Why Developers Love Programming for the Mac

Mr. T is famous for his bad man attitude, as seen in Rocky III and The A-Team (which are among my favorite movies and TV shows respectively). However, in his infinite wisdom, Mr. T produced a series of self-help videos in 1984 that were intended to help young kids as well as show his softer side. The best known videos are Treat Your Mother Right and Peer Pressure.

Mr. T on The Muppet ShowBoth of them are relevant to the topic of this column (you may understand the pure genius of myself by the end). Peer Pressure (apart from showing you that stealing rubbish is wrong) is about influence, and Treat Your Mother Right is about respect.

If everyone followed the advice in these videos, everybody would be following the crowd, thus creating more questions than answers.

I asked some of my friends to look at these videos, to see if I wasn’t the only person who thought they were odd. My favourite response is, “so glad I was a product of the 90s”. Which brings me nicely onto the topic of this week – Mac developers.

Peer Pressure

Mac developers are an interesting breed. Some say they have an easy life, because developing for the Mac is much easier than for other platforms. They aren’t treated well by their mother (Apple), but they don’t follow the crowd. If they followed the crowd, they would be developing for Windows. Windows is much much more popular than Mac and has roughly 80% market share (depends who who you listen to) compared to around 15% for the Mac.

With such a potentially huge audience of Windows users, why would you bother to consider Mac?

Microsoft is also good at backwards compatibility. Take this example – the Best of Windows Entertainment Package (BOWEP) was one of my favourite pieces of software when my first Windows 3.1 computer came into our household. Obviously, it had to be installed from floppy disk, and it ran on all my Windows machines until I switched to Mac.

When I purchased my new MacBook Pro in March, one of the first things I did was to install Windows Vista Ultimate Edition for some school work I needed to do. Out of curiosity, I did some searching and discovered that BOWEP was abandonware and was easily downloadable. Within five minutes, I had a piece of software released in 1995 working on a 2007 machine with the most recent version of the Windows operating system.

With a larger market share and the knowledge that your software is going to be usable for many years, you might think that developing for the Mac was an utter waste of time – so why do developers bother?

Next!

When Apple moved over to Intel, there were claims that developers would just develop for Windows, because it’s easier – but they haven’t. What possible reason is there?

NeXT logoThe answer – Mac is fun to develop for. To understand this, let’s whiz back 14 years to 1993 when Steve Jobs was looking to sell NeXTstep to everyone who might be interested.

Posters to show what NeXT can do? Not classy enough.

TV commercial? No way – he’s not Steve Ballmer.

Jobs and NeXT produced a NeXTstep Release 3 Demo video to show off the capabilities of NeXTstep and NeXT computers. For me, the most interesting part of the video is the development environment shown. The concepts shown – drag-and-drop object orientated programing and an interface designer – still make developers smile. Today they’re commonplace, but back then they were unheard of.

Think of the computing world in 1993: Windows 3.1 had just been released, and people were still using many MS-DOS applications, so it is obviously that the ideas shown in this video were way ahead of their time. Just imagine how these fantastic features would have disappeared if NeXTstep (later OpenStep) had vanished into computing history.

Saved by Apple

Thankfully, they were saved and brought to a much wider market with Mac OS X.

For years, I wasn’t aware how developers made programs for the Mac OS (I just wasn’t interested) and simply assumed they used tools provided by Apple (which is correct). Until 2003, the tools were called “Interface Builder” and carried on much NeXTstep blood; they evolved into the Xcode suite of tools used by nearly all Mac developers today.

Why is this? Apart from Xcode being a wonderful piece of software with a huge number of very useful features, Apple kindly cut off the competition with the move to Intel processors in 2005. Until then, some companies used CodeWarrior – Adobe and Microsoft were two of the biggest – and they had the painful task of transferring their code from CodeWarrior to Xcode. Not what I’d call fun.

The transition from 68k to PowerPC in the early 1990s also meant developers had the joyless task of converting their software to work with (and then take advantage of) a new platform.

Microsoft never had such a move in its history of Windows development, but it may have to in the future. I’m thinking 64-bit….

Mac Developers

I’m not a developer. I can’t yet sit down with an empty screen and come out a few weeks later with an application – but maybe I will be in the future. So I thought I better ask a developer to see what they think about developing for Mac.

Who better to ask then than the Omni Group? The Omnis were one the prominent NeXT developers who took the transition over to Mac OS X wonderfully and continue to produce such great applications as OmniOutliner, OmniGraffle, and OmniWeb. OmniWeb existed on NeXTstep and was the browser of choice for many, including myself when using OpenStep. I asked Ken Case (currently working on OmniFocus) why the Omni Group develop for Mac:

“We develop exclusively for the Macintosh because we find the development environment to be so much more productive: with only a dozen developers we’ve developed a number of very powerful (but easy to use) productivity applications.”

This sums up why the “indie” Mac community is so strong.

Treat Your Mother Right

Apple doesn’t treat their developers very well – code has had to “Carbonised” from the classic Mac OS, applications had to rebuilt for PowerPC machines, applications have had to rebuilt (or modified) to work on Intel machines, and developers now have little choice but to use Xcode for developing applications.

Apple’s tools make it easy for developers to churn out brilliant code and outstanding applications. Even though the market isn’t huge, there isn’t a huge amount of competition, and Mac users genuinely enjoy using their machines. This is the satisfaction of developing for Mac. This was Steve Jobs’ dream with NeXT – to produce machines people love to use, that are easy to use and develop for. It didn’t happen with NeXT, but it’s happened with Apple.

No matter what they do, the developers “treat their mother right”. They don’t give in to “peer pressure” and continue to produce wonderful applications that are like nothing I’ve seen on any other platform.

Sure, NeXT had some pretty awesome programes (Mathematica, for example), as did Mac OS (Sherlock comes to mind), but the applications that are coming out now stun me: Quicksilver, OmniFocus, and TextMate are applications I use every day that define this metaphor, and with the new technologies coming in Leopard, this can only get better.

Maybe Mr. T had a point after all.

Keywords: #xcode #macdeveloper

Short link: http://goo.gl/gQXj5I