Not Everything Apple Does Is Great, Sometimes It Just Sucks

June 10, 2015

Apple has created amazing products that changed the world over the decades. Yet as their ecosystem gets deeper and deeper their ability to deliver consistent quality, especially in software, seems to be getting worse and worse.

Currently they have three different OS platforms with a myriad of hardware platforms and web products and various ancillary products that interact with everything, plus a developer platform for each and two App Stores full of third party products.

No one can manage to get all of these things right, no matter how much money and people you throw at them. No other company has such a ridiculous number of products and categories and who controls every single piece. All of this stuff has made Apple the world's most valuable company and yet it seems that it will eventually strangle the company with too many things to manage.

I've owned at least one Apple product since I bought one of the earliest Apple ][+ computers in 1979 or so, spent a decade as an Apple developer and even attended what I think was the first WWDC (not called that yet) in 1986. I even worked for half a year there 20 years ago when it was caving in (I left a year before Steve came back). I used WebObjects when it was still part of NeXT and after Apple picked it up and currently I do iOS development.

I don't think there has been another company with so many different lines of software ever; even Google which is pretty complicated as well doesn't have near the same complex ecosystem and management challenges. Google is mostly web, doesn't make much hardware, and Android is the only important OS and many of its software adventures aren't real products, just experiments. Apple can't possibly hire, manage and coordinate so many people in so many areas that all have to work together.

Plus Apple always seem to ship everything on a fixed schedule which most of us hate with a passion.

Combine so many different lines of software that must integrate together, on a fixed delivery schedule, that needs to be supplied to third-party developers ahead of time, that has to support new and updated hardware on a potentially different schedule, that has to integrate with the outside world in many ways, plus deal with real world issues like manufacturing time and all the other stuff they demand to do themselves, and the likelihood that some things don't work all that well is not surprising to anyone. That any of it works is surprising!

When I was at Apple we had way too many models of crappy Macs, one old OS, and one new OS-from-hell also know as Copland. The Copland project was a complete disaster. My friends on the team said there were so many contractors who were hired, wrote some stuff that didn't work but got checked in, and then left revolving door style. It was a horrible mess where they tried to build a brand new OS which had the old OS available as a first class API complete with original bugs so that old software would still work. It was doomed and fortunately was canned even before Steve returned. I have no insight on how things work in the new Apple today but the people are not Marvel superheroes, I can't imagine everything is so perfect that perfection flows like water and people work 40 hour weeks in comfort and still get everything done perfectly on time.

In my last job we built a brand new app between the iOS 7 announcement and the keynote in September (Apple wanted to feature us in the keynote, of course it turned into the famous 1 second slide). It was rough going because the XCode beta and the beta SDK were so broken it made new development a puzzle. Even before then we had always joked that Apple only had interns working on XCode, since the problems were so dreadful and irritating. I can't imagine how tough it was on the real programmers (surely not interns) who had to balance shipping on a fixed schedule with a rapidly changing SDK internally and somehow keep us developers at least marginally able to ship. That must have been Mr. Toad's wild ride. I can't imagine it was fun.

Yet this kind of knife's edge coding is normal Apple. So it isn't surprising that some things wind up crappy, like security bugs (iCloud fake logins currently), the XCode scene editor (which took years to solidify and still has the most egregious horrible UI), discoveryd (old trusty mDNSResponder is coming back) and I am sure everyone has their favorite set of oddball APIs and features.

My least favorite Apple feature is the insanely pathetic Apple developer forum, which for years featured broken back arrow support so that looking at an item in a list would put you back at page 1 all the time. Why not for once license something great like Discourse or even Stackoverflow and just use that? Or how about leverage your OS's and build a forum APPLICATION that shows off how amazing your technology is instead of a crappy web application. This forum is the only place we can discuss beta development and it sucks horribly. It can't be a lack of money thing.

When I worked there we were so poor they took everything away; the last straw was the popcorn machine supplies. If I wanted a snack I went to the hardware lab where the poor cold guy inside kept a bowl of gummi worms.

Some of what Apple produces is brilliant and amazing, but the amount of that which isn't seems to grow every year. It's funny how Steve focused the company on the bare minimum of products when he came back which allowed them to leverage those and easily build new things on top, which led to the tremendous growth, but now there are leverages on top of leverages on top of leverages. It has to eventually become impossible to manage, unless Apple begins to develop people 2.0 to work and manage all this complexity.

Coming soon: a new Apple building filled with Apple robots building Apple products since people are no longer insanely great enough. I hope not.

I wish Apple was less secretive and released some information on how they build, manage, coordinate and hire enough people to do all of this. It would be interesting to see. Maybe we would be amazed, maybe horrified, but at least we might understand the failures better.

If they really do try to build a car then all hope is lost. Perhaps the project could be named the Copland Car.