So yet again I saw a tweet about the impending death of the Mac in favour of the iPad and yet again I feel the need to blog my answer rather than have 10 conversations about it on Twitter. Here is the tweet:
RT @joehewitt: You'll know the Mac is officially dead when Apple releases Xcode and Final Cut Pro for iPhone OS. <- +1, we're on that path @stroughtonsmith
(NB: From the 3 posts so far on this blog (including this one), you'd assume I have something against Joe Hewitt, given that two of them are arguments against things he's said. I respect Joe, but I disagree with him a lot about his views on the future of the iPad and Mac.)
OK, so I'll flat out state that Xcode and Final Cut Pro will not make it onto an iPad (nor will Photoshop, Word etc) without being either less powerful or less productive. This isn't a case of what the SDK is capable of (though Apple would need massive exemptions to App Store policies for an Xcode iPad app) or what the iPad hardware is capable of. It is simply a matter of user experience.
These are very large and very powerful applications. They do a lot of stuff. To some degree some don't do enough (I'm looking at you Xcode). These applications just aren't well suited to the iPad.
For the vast majority of people less features, less UI, less clutter results in more fun and more productivity. As such iPad apps tend to be less powerful than their desktop counterparts. A lot of this comes down to the form factor. A larger screen makes it easier to manage larger applications. Yes, you could manage Xcode or FCP on a 1024x768 screen, but it wasn't that good an experience.
The fact is that very powerful applications don't work well on small screens. The larger the screen the more powerful an application can potentially be. That isn't to say it should become more bloated, but it opens up the possibility.
Take a look at applications like OmniGraffle or Keynote. They can be done on the iPad, but are more limited than their Mac counterparts. However, there is no way they could be done well on the iPhone. It is far too small a screen.
So what would an iPad version of Xcode look like? I think possibly something like this:
On the left you have your files or you can go back and view targets, breakpoints, executables etc. On the right you have your code view and some toolbar buttons for common actions. So far so good. Unfortunately there are other things that needs to be displayed:
And that is just a few things that need adding, there are many more. You can do the same with Final Cut Pro or Photoshop or Word. You port the UI to the iPad but end up having to hide the vast majority of stuff, which would be OK but there is no concept of menu shortcuts to access them.
I think this sudden sentiment that the Mac is a dead man walking is incredibly misplaced. These people are ultimately idealists and it would be nice if it was possible for things be like they want them to. But I'm a pragmatist and so I look for the practical solution. I do think that Xcode, Final Cut Pro, Word, Photoshop etc will find their way onto the iPad to some degree. They will in no way make their Mac counterparts irrelevant though.
The personal computer has long tried to be the 100/100 device: everything to everybody. To some degree it has succeeded, but it has led to something that is too complicated for most people to want to use.
I see tablets like the iPad as becoming 80/20 devices. 80% of people only really care about 20% of the capabilities of a personal computer and I believe tablets will ultimately fill that role. Photoshop could appear in a very basic form (think Elements with some stuff taken off) and Final Cut Pro will probably appear in the form of iMovie.
Back when the iPhone first came out, we were told that it is best to do a lot less, but do it incredibly well. I believe that still stands for the iPad. The iPad version of iWork will never match the capabilities of the Mac version, but it doesn't need to. If it does the core stuff really well then that will be enough for most. As Pages is the bits of Word most people care about done in a more refined way, the iPad version of Pages will become the bits of Pages people care about done in a more refined way.
Now, despite all that, there is a way for the iPad to potentially have large, powerful applications and that is to cheat. You may remember this patent from a few years ago about an iMac like docking station. Essentially an iMac with the brains taken out and a slot for a laptop to go in. The dock potentially provides extra ports, a larger screen, better speakers, more storage etc.
Now imagine that instead of a laptop, we had an iPad. You are merrily working in the cut down version of Pages but then reach a point where you need a bit more power. Maybe a larger screen, hardware keyboard etc. At this point you go to your desk where your dock is, pop in the iPad and the dock's screen lights up. There is a more powerful version of pages with your document exactly as you left it.
Now the dock may need to hold better graphics, CPU, more memory etc. Basically it could be an iMac but with the OS and applications stored on the iPad. These more powerful versions could be better designed for larger screens and possibly even support extra input devices like mice or drawing tablets. And this capability isn't a pipe dream, we already have this with iPhone/iPad universal apps. It is merely putting another level on.
Now I seriously doubt that any such device would show Mac OS X. Similarly, it couldn't really work exactly like an iPad. I think a reasonable idea is a UI like 10/GUI, which is one of the best multitouch desktop concepts I've seen and would fit in rather neatly into the iPhone SDK's view of things (eg that windows aren't really important anymore).
And finally we have solved one of the greatest practical technology problems of the modern era with a very elegant solution. People won't need laptops that are too heavy for travelling and more expensive than desktops for the same power, with lots of wires that need plugging in when you want to work as a desktop machine, just so they don't have to keep data in sync between two machines. You'll have your desktop dock with the extra power and everything plugged in and your light and highly mobile iPad that you can just pop in or out and go.
Ultimately, the iPad's form factor limits what it can do. The screen is a certain size, it has touch input, it has a software keyboard. This isn't the perfect form factor and it can't do everything, nor should it. However, it is probably the best form factor for what most people want to use computers for.
We shouldn't be pushing for the iPad to get as powerful as a desktop. Too many people feel that A has to win out over B and there can't be any other way. They fail to see that B has advantages too and often ones inherent in it's design. To add those advantages to A would require losing the advantages that A already has, essentially making it another B.
Consider the Mac a hammer and the iPad a screwdriver. Just because we've been hammering in screws all this time doesn't mean that, now we have a screwdriver, it is perfect for knocking in nails and we don't need the hammer any more.