June 3, 2010

Forecast: Would the real OS X please come forward?


I've been pondering the state of OS X on Apple computers, Apple's shifting focus, and some obvious signs in developer land, and I think I have solved the riddle regarding the fast downward spiral of code quality in OS X.


Many of us have lamented what happened to NeXT when Apple bought it and morphed it into Mac OS X.  NeXT was beautiful in all the ways that any OS aficionado wants an OS to be.  Granted, the visuals were a little "industrial", but that's easy to fix with a few graphics designers and several weeks of man-hours.  The underlying design of the system, however, was really amazing for its time, and was a good deal ahead of Windows or Macintosh.  I remember being blown away by the NeXT 3.0 demo video I watched a few years ago and wondering why OS X had apparently lost some of the features that were in its predecessor.  Ironically, if you were to take the pre-Apple code-base of NeXT and update the graphics, then re-release it, it would probably get a lot of praise for being a well-thought-out OS... even after all these years.


Apple's attempt to force Macintosh compatibility into NeXT pretty well destroyed its potential as a real contender to become THE operating system of the next several decades.  As I have pointed out elsewhere, OS X has gotten worse and worse in terms of stability and bloat as time has gone on.  For a while, I just assumed that when Avie Tevanian left, all the good programmers went with him and the new guys just weren't up-to-snuff for something so complex.  That would explain some of the brain-dead bugs and bad decisions that went into the implementation of new features (you can go to rixstep.com to find a long laundry list of complaints about these).  Although this was the obvious conclusion on the surface, I found it hard to believe that a company like Apple could really be so inept as to trust their OS to such rookies and let it fall apart.  It didn't make sense.


I don't know why it took me so long to think of this more probable explanation, but it all makes sense to me now, and there is even precedent in Apple's history to back up this theory.  Perhaps others have already put this theory forth, but I haven't heard it put exactly the way I am about to.


Another Apple switcheroo
When the iPhone was released, Apple went on about how they simply took OS X, removed the irrelevant parts, and put it right onto the iPhone.  Many of us were skeptical, but, looking through the file system and OS, there appeared to be support for this claim.  It still seemed somewhat implausible, though, given how bloated OS X was becoming at that time.  Like other times when Apple twists the details to hide what they are really doing, though, I think this was a hint of the future of OS X.


When Apple bought NeXT, they put the Classic OS on life support.  They fixed some of its problems to buy them some time, but it is obvious in hindsight that they did no more than they absolutely had to in order to keep from losing their loyal customers.  I wasn't an Apple user at that time, even though I did use OS 9 a good bit in the first year or two of OS X, so I can't say from experience whether the Classic OS got progressively worse through 8 and 9.  My impression of the situation, based on many conversations with old-time Mac users, however, is that this is precisely what happened.


I bring this up to show the precedent for my theory, namely, that Apple is moving to a new OS, and is leaving Mac OS X to die on the vine.  We already know the OS, even though we've been told the opposite story... Touch OS.  "Wait a minute!", you  may be saying... "Touch OS is just a stripped down OS X."  Is it?  As I mentioned before, there were many who looked at the "OS X" on the iPhone when it was released and strongly questioned Apple's claims that it was merely a stripped down OS X.  While there are some code overlaps that might seem to back up that story on a superficial level, I believe this is a typical case of Apple telling us one story to throw us off the real one.  (Similar "stretches of the truth" would include "No one wants to watch video on a small screen", "We're not doing a tablet", and others)


If you think it through, it makes a lot of sense.  There is a lot of legacy baggage in OS X, even in version 10.6.  Now that Apple has officially killed off Classic support and PowerPC processor support, it must surely want to make a clean break from the past.  Does it make sense to continue weeding old code out of a system that is so complex?  There comes a point where you just have to take what you have learned from your years of mistakes, and start over.  This is often the only practical way of moving forward without wasting untold amounts of effort in bug tracking.


Probable cause
iPad and iPhone when there are plenty of companies who make very nice ARM chips that they can buy in mass quantities.


iPad proves this to some degree, as it has taken the core Touch OS and added some functionality that brings it closer to desktop usability... USB and Bluetooth keyboard support, USB Mass Storage access through the card reader, support for larger resolutions, and the beginnings of video output.  It is always easy to add features to a solid core, so they should be able to extend this out to full desktop duty more easily than fixing all the problems in OS X.  Of course, that is assuming that they designed this new OS well enough to handle the growth.  [Note: Yes, we know that Apple first intended to make a tablet, but Steve Jobs decided to make a phone instead after seeing the prototype.  In his own words, though, the tablet was just a display with some mock-up scrolling functionality at that point.  They then shifted gears and built out the iPhone and iPod Touch first, only going back to the tablet idea after these were settled in.]


The second advantage they gain is a shortcut to simplifying computer use at the desktop level.  Apple has been attempting to simplify things in OS X, making it more accessible to the average tech neophyte, but there is only so much simplification you can do without breaking existing software.  They tried with the Simple Finder, which could be enabled to make machines more kid-friendly, but even that never felt like anything more than a kludge; and it certainly didn't simplify the applications any, just the means of getting to the applications.  With the Touch OS, Apple truly has simplified computing in a way that no one has in recent times.  There are still some UI problems in the general inconsistency between modes of interacting in different apps that people develop, but that hasn't seemed to stop the very young and very old from figuring it out anyway.  I have watched my 4 year old figure out, pretty much on his own, how to get to the Lightsaber app on my retired iPhone, and how to get around in the app.  I have shown him how to manage some of the finer points, but even that is simple enough that he easily remembers after having been shown only once.  I have watched a man in his late 60s (who has the early stages of Alzheimer's setting in) figure out how to get around fairly well in the parts of the phone that matter most to him: address book, calendar, and email.  While my second biggest complaint about the iPhone is the limitations it places on what I can do with it, I can also recognize that these same limitations make it more approachable to Apple's newfound core audience: the average human.  If they can keep things simple while building this core functionality back out to a more work-focused desktop use, they very well could win over a large portion of the people who hate computers and only use them because they have to.  They may lose the prosumers and geeks in the process if they refuse to put in that much-begged-for "I am an advanced user, stop treating me like a moron" switch, but, at this point, it is pretty clear that they have already lost a lot of us anyway, and they are making more money than ever.


The third advantage is that they remain a moving target in the security world.  Just as the first bits of trojan software are starting to hit the major download sites for Mac software (MacUpdate and Softpedia being two of the known ones), they could be in the process of shifting to a new architecture, forcing malware writers to start over.  While this is not a real strategy against malware, it is at least an advantage of shifting the underlying OS architecture every 10 years or so. Granted, there have already been some major security flaws found in the Touch OS, but malware authors have tended to stick with sitting ducks up to this point in the game.  By not being afraid to break backwards compatibility with every major OS shift, they at least are spared the problem Windows has with untold amounts of security flaws in legacy software support.


The fourth advantage is the potential of extending the platform out to build the kinds of desktop machines that never would have been profitable for them in the past, such as small netbooks or thin client computers.  Having this new compact OS gives them the advantage of running on more efficient ARM processors which they can build in-house.  As they showed us with the iPad, they can build and sell some stunning machines at prices lower than the competition when they are no longer forced to buy parts from Intel or the graphics chip makers.  They can save money on cooling and materials by building smaller machines.  Of course, no one will want to do movie production on these machines, but they will be plenty fast for the majority of what the "average human" wants to do on a computing device.


The fifth advantage (and probably the one that most excites the people on the inside at Apple) is the ability to focus on a single OS for all their devices.  The current state of OS X shows us how pathetic Apple can be at supporting more than one platform simultaneously.  This was also evident in the overlap days of OS 9 and OS X. While they sort of claimed they were already only working on one OS when they first showed the iPhone, very few of us believed them.  In a dishonest sort of way, though, they may have been speaking the truth only insofar as they weren't really focused on OS X anymore and were in the process of this transition already.  Apple hasn't shown much acumen in supporting an array of hardware in their past efforts with OS X (don't get me started on model-specific bugs with each OS X release), but I would like to assume the situation would be a little better if they begin building their own processors for all the machines at every level of their product line.


Reading the tea leaves
Some of the points I've mentioned included hints from Apple that things may be heading this direction.  There are some other hints that we have seen that give some support to my theory. The one that stands out strongest in my mind is that there is no category for Mac OS X apps in the Apple Design Awards this year.  Many others in the tech press have pointed this out as well. We have all seen this as Apple giving a not-so-subtle hint to the developers that OS X is not the future and they would be wise to begin looking at the Touch OS if they plan to continue making a living in the Apple software world.  The conclusions many others have drawn from this is that Apple will simply abandon the desktop market in favor of the iPhone and iPad money-makers.  I think my theory makes more sense, however.  As I mentioned, if Apple is able to do all their design and building in-house, they can still make interesting laptops and desktops and not have a need to sell them in high volume in order to still make a profit off that division.  Steve Jobs recognizes, and has stated clearly, that the old model of computing is fading fast in favor of portability and more personal devices.  If Apple is able to reduce the cost of product development drastically, though, it can still service that shrinking portion of the market without sinking the ship like many other PC makers will.


The missing pieces to my puzzle
While all of this seems very feasible to me, I will admit there are some big pieces of the puzzle that are missing for which there seems to be no clear replacement in this course of action.  First and foremost is the current need to use Mac OS X to develop software for the Touch OS.  While it is true that a Touch OS version of XCode could be built to replace the Mac version, I can't imagine any developer in their right mind wanting to sit through code compiling on an ARM processor numerous times a day during testing.  Apple would need a good replacement for the current development workstation before this theory could become reality.


Second, there is no way that real movie editing, compositing, or even advanced graphics work could ever be done on ARM-based machines in the foreseeable future.  I suppose a 48 core ARM tower could conceivably begin to approach usability, but we are a long way from that possibility.  So, unless Apple just decides to give up that segment of the market to Windows and Linux, we are a good ways out from a total replacement of OS X on the desktop.


Third, I am tempted to mention servers, but, in all reality, those of use who have attempted to use Apple servers in environments with mixed platform clients would say that they have already given up on that market anyway.  I'm sure that those of you running Mac-only businesses with Mac servers will tell me how wrong I am on this point, but I will just leave it at this and let you continue to live on your little fantasy island outside the hell of the "real world" that the rest of us face.  For some of you, though, this third reason might be valid.


Conclusions
Aside from those few caveats, I think they could make a pretty good run at it with such a plan. While it would only further cement the hardcore Windows and Linux users into their particular parts of the computer world, I do believe it would cause a mass exodus within the general public, making Apple far-and-away the market leader in desktop computing among home users and possibly even small businesses.


While I would not be a part of that new, easy-to-use future myself, I think the contribution Apple would make to the computing world would be very valuable.  It might even force Microsoft and Google into competing on that level, which would give people options at every level of computing. Although I have grown beyond the borders of Apple's vision of computing myself, some part of me still can't help but hope that they do go this route.  Who knows, perhaps if they did, they might even change my mind about the shiny, locked-down world of the Touch OS.


[With Apple's 2010 developer conference coming up next week, perhaps my theory will soon be confirmed or obliterated.  If anything revealed at the conference affects what I have stated here, I'll add an addendum to the bottom of this article.]


Todd Russell
June 3, 2010