Ship Software OnTime!

June 18, 2008

Why Every Developer’s Next PC Will be a Mac

Filed under: Team, Tools — Hamid Shojaee @ 8:00 am
Tags: , , , , , ,

Every Developer\'s Next PC will be a MacIf you’re a developer, your next machine will be a Mac. Here’s why:

  1. iPhone Development can only be done on a Mac.

What, were you expecting a #2? No need! #1 is sufficient reason. “But what if I don’t plan to develop for the iPhone?” you ask. It’s called hedging your bets. The fact is you don’t know if you’ll want to develop for the iPhone in the future. The general tech community consensus is that mobile is the future. Having a mobile version of the apps you write (whether games or client/server database applications) is a smart move. In fact, your customers might start demanding mobile versions of your software soon and if they have iPhones they’ll start demanding them much sooner than later.

iPhone has a good chance of becoming the standard platform for Smart Phones. Even if it doesn’t become the standard, it will have a commanding share that cannot be ignored. The fact is, you can’t develop native iPhone apps on anything but a Mac. The world’s best Dell, HP or IBM won’t help – even if they miraculously become the better PC to buy.

Until now, lots of Windows users bought Macs because they were the best PC to run Windows. But what if another hardware vendor creates a better PC? The idea was that this group of Windows Mac users would switch back. But not anymore. Now, for a Windows developer, it would be smarter to pick up a Mac even if a better alternative for running Windows existed. Buying a Mac ensures that you can develop software on ANY platform: Windows, Linux, Unix, OS X and iPhone. Even if you don’t care about OS X, chances are you’ll care about iPhone users soon. iPhone seals the deal on buying a Mac. It’s good to be in Apple’s shoes right now.

Some of you are undoubtedly thinking “most people wouldn’t pay the $X premium for a Mac vs. a Dell machine.” Some will argue going to Macs will cost 20% or 30% more. Wouldn’t most organizations want to save 20 or 30% on their hardware costs?

This line of thinking couldn’t be more flawed. Consider the total cost of a developer during an average 2-year replacement-span of typical hardware:

  • Salary: $60,000 (low) x 2 years = $120,000
  • Benefits (Taxes, Bonus, Vacation, Insurance, etc.) at 20% (low) of salary: $24,000
  • Other Costs (Space, Desk, utilities, etc.) at 10% (low) of salary: $12,000
  • Typical Developer PC: $2,000

So the total cost of a relatively inexpensive developer for 2 years is at least $158,000 and these are extremely conservative numbers. I’m using a small salary to illustrate that even on the low-end of the salary spectrum, the $X premium of a Mac is meaningless.

So what is the extra cost of a Mac vs. a PC? Even if you have to pay a $500 premium for a Mac (Not True – See Update), we’re talking about 0.3% more than the 2-year cost of a developer.

So the question is, what organization would limit their ability to develop on quite possibly the world’s #1 mobile platform for a savings of 0.3%? The answer is “an organization that doesn’t think!”

Updated (6/20 4:55pm):

It turns out Dells now have a premium over Macs. Look at the comparison.

24 Comments »

  1. The logic defies reason here. Since when has closing down the platform helped Apple for *any* of its products? At some point they are going to have to figure out that there are two ways to live in the technology world:

    1) Have a deep comittment to sustainable solutions to wide-spread problems
    2) Be a rock star of pop culture

    Microsoft has followed the first path, Apple the second. Apple is cool, Microsoft is wildly successful. Pick your poison.

    For now, I just sold my only Mac because I hadn’t developed anything on it in a year. My PC’s get worked every day. That might change… or it mght not. You haven’t convinced me that it will though.

    Comment by Matt — June 18, 2008 @ 1:00 pm | Reply

  2. Matt, until now, the iPhone didn’t exist and you probably didn’t care about iPhone development. But within 1 year, there will be 20+ million iPhones, within 2 years, 50+ million, 3 years and 100+ million is possible. That’s too many people to ignore. If you want to develop for them, your only option is a Mac.

    Comment by Hamid Shojaee — June 18, 2008 @ 2:15 pm | Reply

  3. Maybe. But I wouldn’t count out the copy-cats. Samsung and others are coming out with similar phones. Unlike the MP3 player phenomenon, cell-phones were ubiquitous prior to the iPhone coming out. I know many people who have iPods that did not have an MP3 player. I don’t know anyone who bought an iPhone who didn’t already have a cell phone.

    That said, the iPhone is more like the Mac than the iPod. The Mac was one of many computers on the market at the time. It was the best (and still is IMO) but one of the many reasons that Macs never “caught on” is the lack of software for them. By limiting development to only the Mac platform Apple is headed down the same road with the iPhone.

    The one advantage they have is that the mobile platform industry hasn’t settled on anything close to a standard. They may well pull of the Microsoft upset and *become* the standard. It will be harder to do if they limit developers the same way they limited them with the original Mac platform. For all its evils, Microsoft has consistently been on the side of the developer in trying to make it easier to create applications for their operating systems.

    Will be interesting to see how it all plays out… but like I said, I am not rushing to the Mac store just yet.

    Comment by Matt — June 18, 2008 @ 2:46 pm | Reply

  4. Matt, good arguments. A couple more things to consider…iPhone presents the only desirable mobile platform for developers right now because it’s the only user friendly smart-phone. I haven’t talked to a single developer that’s dying to develop on Windows Mobile or Blackberry, but there are tons of people dying to develop and sell their apps for the iPhone.

    I can’t think of any copy cats that have won a platform battle. Microsoft’s Windows didn’t win because it was a copy of the Mac. MS’s DOS had already won the OS battle outselling Macs many-to-one and Windows was a natural progression of DOS from the same vendor.

    However, as you pointed out, the mobile platform industry hasn’t settled on a platform yet but they are about to. The consensus is that it’ll be all about the iPhone. Even if some other platform wins eventually, you can still program for it if you have a Mac, but if the iPhone wins, you’re out of luck with a Dell or HP. Getting a Mac is hedging your bet.

    So although you might be smart for not running to the Apple store just yet, that’s not what the article claims. The article claims that you’ll run to the Apple store when you’re ready to replace your main development machine. Let me know if that becomes a reality when you do.

    Comment by Hamid Shojaee — June 18, 2008 @ 8:58 pm | Reply

  5. Hamid, you’re just talking about iPhone as a mobile plattform, as it is. But that’s not all. The disadvantage of the iPhone is that it’s just a nice phone having a nice usability. But it’s NOT for the industry. You can’t use an iPhone for handling the available stock or something like that. This is where Windows Mobile is used. Apart from that no developer will buy a Mac just to develop a small application for the iPhone that might be used from someone. Even if there should exist 20+ million iPhone users somedays, this does not mean that you as a developer can sell your product to all of them.

    Furthermore why should I as an .NET developer buy a mac. To develop within a virtual machine? Yes, I have my testing environment running on virtual machines, but I do not want to develop the whole day in a virtual machine. So there is no need of a Mac. Not today and not in 3 years.

    Last but not least: The iPhone isn’t that super cool feature-rich thing. The first version had absolutely no functionality barring the usability feature. The second version is better, but it’s just created to be “cool”. If I think on collaboration tasks, there is nothing better, then Windows Mobile, Exchange, Office, MSN in combination. All of it is from the same vendor and it works. So, why to change? Why to change to a “system” where contacts are deleted when synchronzing the first time? This is not applicable.

    Sorry, but there is a lot of work to be done to get the iPhone a good working solution not only for the “cool” customer. And the competitors are not sleeping …

    Comment by Norbert — June 18, 2008 @ 11:42 pm | Reply

  6. Huh. Not that I’m anti-Mac, but the logic here isn’t very convincing.

    You’re taking for granted that all developers will be doing some iPhone development? Isn’t this why “companies” exist, to allow specialization in tasks? If you have 20 developers, assuming that *all* of them are going to be required for iPhone development is pretty much guaranteed to be wrong unless you actually drop support for all other platforms.

    And of course, companies that are already supporting cross-platform apps of some kind likely already have a few macs lying around already, so again, no buying spree.

    There’s also the concept of “wait & see”. If I’m not doing iPhone development currently, why should I assume that Apple won’t budge on the lock-in decision in the future? (…it would make sense that they’d produce a Mac version first, after all).

    Finally, comparing to the developer’s salary, etc. is a red herring. You could use the same logic to argue that every engineer should get their own expensive espresso machine (but it’s just a fraction of their total cost!). All the little bits add up — i.e., you have to prioritize and weed out the unneeded expenses. If the logic doesn’t hold (”wait, YOU all need Macs now because of some possible development task out on the horizon that we’d probably ask Sarah to do anyway?”) it has to get scrapped. Plus, that decision is probably being made based purely on a far more limited hardware budget, so getting those Macs = sacrificing something else. What $10K (20 devs * $500 premium) worth of hardware shall we sacrifice?

    Comment by Rob W — June 19, 2008 @ 7:50 am | Reply

  7. If you want to develop for the iPhone, you’ll get a Mac.
    If you don’t know much about machines and just want to do work, you’ll get a Mac.
    But if you’re a software developer, the real statisics say a few things you’ve ignored:
    - Odds are your next workstation will be bought by the company and you won’t be the one speccing it.
    - Odds are your next workstation will be whatever the standard solution is for the company.
    - Odds are, in fact, that your next workstation will be the old machine of one of your new co-workers, who will now be using the new machine.
    - Odds are, you’ll be coding in Java if you’re lucky. C++ or FORTRAN or COBOL if you’re not (what, you thought that a few blog posts on the current language fashion trend would mean other languages would go away and take their established billion-line codebases with them, leaving your bank reimplementing their systems in Ruby in time to pay your next paycheque?). And I’ve not mentioned assembler or C because odds are, you’ll only be working with them if you’re any good.
    - Oh, and one last point; The mobile web’s been played up a lot now that mobile phones have hit 50% market penetration worldwide, but the simple fact is that most of those are very basic phones with no capabilities for fancy graphics or web browsing or MMS or 3G or anything else – even SMS is a luxury for them. The iPhone may be a revolution for the mobile web, but it’s a miniscule part of the mobile market.

    Your next computer may be a Mac, but I’m looking for a Leonova X61 and frankly, I’ll get the better bargain.

    Comment by Mark Dennehy — June 19, 2008 @ 8:03 am | Reply

  8. [...] Team, Tools — Hamid Shojaee @ 9:36 am Tags: axosoft, Mac Pro, pc to mac Taking some of my own advice, I have started the transition of developer machines at Axosoft. Our previous dev environment [...]

    Pingback by Taking the Plunge: Upgrading Dev Machines to Macs « Ship Software OnTime! — June 19, 2008 @ 9:39 am | Reply

  9. For me, I’m a Mac guy who does .NET development by day. I just got a Mac Pro at work because I was able to convince my boss (and his) that this would give me the greatest flexibility. If we wanted to develop something for the Mac or iPhone, I could do it. If I never did any development for those platforms, then I’d just run in a VM that bested my previous desktop (though perhaps not the new PC desktop I would have gotten instead).

    But having the Mac as my main platform unified my day and night. I do all sorts of things at work that I could previously only do at home. And so I spend most of my development life in a VM. It’s still an improvement from my previous box and I get to do everything else on a Mac.

    Bottom line: a Mac is about flexibility.

    Comment by Bill — June 20, 2008 @ 7:32 am | Reply

  10. [...] following along with my blog, you know that I recently came to the conclusion that even Windows developers would be smart to pickup a Mac as their next developer machine. In that article, I made the argument that even if [...]

    Pingback by Dell’s $1,304 Premium over Mac Pro « Ship Software OnTime! — June 20, 2008 @ 3:55 pm | Reply

  11. “Furthermore why should I as an .NET developer buy a mac. To develop within a virtual machine? Yes, I have my testing environment running on virtual machines, but I do not want to develop the whole day in a virtual machine. So there is no need of a Mac. Not today and not in 3 years.”
    Norbert,
    you do not have to develop in a VM. iMac(s) are really PC hardware. You can install Vista or XP on them natively like any other PC. So you can dual boot on them to use Vista or XP natively, and you can use OSX and Winxxx in a VM using VMware (Fusion) or Parallel.

    Apple provide Bootcamp with all native drivers for Windows.

    Regars
    Ahmed

    Comment by Ahmed — June 25, 2008 @ 7:11 am | Reply

  12. The iPhone is not a development platform. Its a really shiny pretty phone.
    Java and .NET are platforms. Silverlight and soon to be Flash(FLEX) are platforms.
    Windows and Linux are platforms.

    As a .NET developer the easiest thing for me to do would be to develop a Silverlight application once and have it run in any major browser (including Safari on the iPhone) with out having to buy 1 thing. And not have to register and pay Apple $299 to let me develop and sell my apps to people on the iPhone.
    http://developer.apple.com/iphone/program/
    What kind of insanity is that…what year does apple think this is..1985!!

    Who the hell wants to learn how to write Cocoa anyway…it only works on Macs!

    Comment by Donny V — July 8, 2008 @ 1:45 pm | Reply

  13. Android anyone?

    Comment by Vlad — July 8, 2008 @ 2:53 pm | Reply

  14. This post makes me laugh. The poster here doesn’t seem like someone who has worked in big software firms. Making a small product with couple of people and then creating mISV, doesn’t mean you can decide for everyone!

    Your suggestions are laughable for most organisations. Why do you attempt to post at subjects you are not good at or have no clue ??

    Comment by MakesMeLaugh — July 9, 2008 @ 1:15 am | Reply

  15. Our product are web-based, which will still work on an iPhone unless Apple figures out a way to block all websites that are not served from another Mac. And I wouldn’t be surprised if they were actually working on a solution for that.

    Fact is, in the IT world it is still PC dominated, and that will never change to Macs.

    Buy a Mac? Never. iPhone users? Who cares.

    Comment by Bryan — July 9, 2008 @ 8:54 am | Reply

  16. 100+ million iPhones? Not likely or least not for a very long time. Most people can’t afford to buy one or pay the monthly usage rates. For what it costs to run an iPhone, your better off upgrading your home DSL/Cable connection to a higher tier as opposed to surfing at T1 speeds on a tiny monitor.

    As for developing iPhone apps on Macs only, you can create them on a PC with iPhone Binary Toolchain Installer for Windows (http://wiki.iphonegameover.com/Windows_Cygwin_Binary_Toolchain_Installation). The iPhone is going to be competing against Android. Do you want to put your money on Apple’s closed architecture, or Google’s open one?

    There’s a lot of hype around cell phone apps, but so far very little money has been made with them (see http://www.cyprich.com/2008/06/13/is-there-gold-in-them-there-cell-phone-hills/).

    Comment by Johan Cyprich — July 9, 2008 @ 1:49 pm | Reply

  17. I come from the mobile manufacturing business.
    iPhone was just a GUI revolution, not a platform revolution. I’m not betting on Android either: it has not proved itself yet.
    In mobiles, nothing is settled; not now, and not for a good while. And when something is settled, it will be on something that allows everyone to develop for it. Watch Symbian moves in that direction. Mobile manufacturing companies are measuring their options on platforms that do not tie them down; they will go earlier for something that can run on any chipset, rather than something closed and restricted to overpriced silicon.I’m not saying linux is the future, but because it is open, free, and portable, all manufacturers have tried it out. They’ll continue in that trial-error until they find something that works out marvels… but they’ll not try out the expensive-to-start-up.
    The forecast about the millions of iPhones to be sold is just a forecast. And as every forecast in the mobile busines is just the random number that comes to your mind when you are about to open your mouth. You’ll never guess right. And in this case, let’s face it: those buying the iPhone are iFans, noise-listeners, or don’t know about their options. Out of the I-have-an-iPod hype, you’ll be better off with a hdc iDressed: I mean it, you’ll get the good conectivity, applications that matter, and productivity on the move, with the ease of use of the iPhone.

    And finally, deciding what developing machine to use based on an hypothetical future development is just the joke of the day. I’m now in a small company developing hardware-specific SW. Not likely I’m porting any of this video-intensive hardware drivers to the iPhone any century soon. Now it is your turn to laugh at me: get me a good graphic environment and a powerful server to back it up. I don’t need top of the game desktop to develop.

    Comment by Manuel — July 10, 2008 @ 1:30 am | Reply

  18. For an example of a successful software company that’s using MACs for Windows development, look at: http://www.devexpress.com
    They use Macbook Pros for their Windows and .NET development. When they started showing up on their demo videos, viewers asked about the Macbooks and were told they were used because they were the best Windows development machines.

    I don’t think a Macbook Pro is the best machine for development (my Core-2 Quad will run circles around a Macbook Pro), but I do think they’re the most versatile machines for development: With a Mac, I can boot into Windows, boot into OSX, run a Linux VM in either Windows or OSX and run a Windows VM in OSX (I’m not sure if you can boot into Linux and use that as a host, but I wouldn’t be surprised). This means you have almost all possibilities. On a Windows Machine, you only have Windows and Linux.

    Mobile development will be in my future, be it iPhone, Windows Mobile, Android, or the next big thing. Mac development might be in my future. Windows development will not be going away. Why not just buy a Mac and be prepared for the future? My next development machine will probably be a Mac.

    Comment by Steve — July 14, 2008 @ 9:24 am | Reply

  19. Axosoft devs – I happen to agree with you… now create a native Mac front-end to OnTime.
    There are loads of creative shops that would use your software if you did this

    Comment by Tim — August 25, 2008 @ 12:51 am | Reply

  20. [...] .NET developers with zero Mac development experience. Prior to my awakening, which I detailed in Every Developer’s Next Machine Should be a Mac, none of our developers had much exposure to Macs or OS [...]

    Pingback by How Axosoft Built 5 iPhone Apps in 30 Days « Ship Software OnTime! — February 19, 2009 @ 3:07 pm | Reply

  21. I found your blog on google and read a few of your other posts. I just added you to my Google News Reader. Keep up the good work. Look forward to reading more from you in the future.

    Comment by Symbian Blogger — May 16, 2009 @ 2:28 pm | Reply

  22. Yeah, right. Windows has 90% market share so obviously my next development machine is going to be a Mac. What an idiot.

    Comment by Some Coder — May 20, 2009 @ 7:55 am | Reply

  23. Except the mobile platform for biz users is Blackberry. The iPhone has the trendy market covered but sales person has Blackberry in their pocket.

    Comment by Mike — May 20, 2009 @ 9:23 am | Reply

  24. This blurb has me convinced.

    All my future database and server apps will no longer be coded for Unix but for the iPhone.
    I’m buying a Mac laptop right now.
    Wait I already have a Mac. Oh, I haven’t used it in a year, I wonder why… Maybe because it’s just like Windows and I use neither for work.

    Apple is just as bad as Microsoft or any other large corporation. They’re in it for the money. Certainly not for you.

    Comment by Fred — June 3, 2009 @ 4:11 am | Reply


RSS feed for comments on this post. TrackBack URI

Leave a comment

Blog at WordPress.com.