2013-06-10

Co.Labs

The Web Is Getting Better So Fast That Apple's Brand New OSes Look Broken

Whatever Apple announces today at WWDC will get reported in the news like it's a vision from the future. But behind the scenes, Apple's developer platform feels increasingly antiquated in light of improvements in web development. Here are seven ways that modern web development is embarrassing the hell out of Apple.



The Mac and iOS developer community is perhaps the most brilliant single group of technologists in the business. Which is why it's so damn painful to watch web development run circles around what used to be the most advanced platform on the planet. Here are seven ways that Apple fails to do its developers justice.

People expect updates faster than Apple can deliver.

The explosion of high-quality web apps is changing users (and developers') expectations for how software evolves. In the early days of Facebook (which I'll use as an example of a prevalent web app) users were outraged when the layout and functionality changed. Now Facebook alters the look and function of dozens of features every month, and not only have users learned to roll with the punches, but they've come to expect this as a natural part of improving the Facebook product. The idea that Apple has to install more code on your phone through a software update just to extend its abilities is becoming tiresome.

Want examples? Look at this excellent laundry list of iOS, Mac OS, and iCloud complaints from FanGirls. Almost all of these complaints will have to wait for an OS update to be remedied, and even a minor OS update is a major hassle in iOS and Mac OS X, causing users to stop what they're doing, download the update, and leave their device functionless for a little while while it fixes itself. The web has made us realize that these updates should be pushed in the background without hassling the user. Sure, this isn't Apple's fault—the nature of C languages is that you have to add code to add functionality. But there are ways around that: Read on.

Apple can't run experiments, so features rarely evolve.

Because Apple can't push remote updates, they can't do A/B testing the way web developers can. As a result, features take months or years of internal testing to improve, where some data-driven testing would probably speed the process exponentially. What's the big deal, you ask? Well, at least one company—Philadelphia-based Artisan Software—is working on a framework that lets iOS developers push changes to their native apps without software updates. The ramifications of that will be huge as Artisan (and presumably, some competitors) bring native Mac/iOS app development cycles up to web-like velocity. The OS itself, and Apple's own apps, will start to seem dinosaur slow when the third-party apps on their own platform are blowing by them in project velocity.

An ancillary problem is automated testing, something that web developers have benefitted from for years now. Mac and iOS developers are just figuring out ways to hack together automated testing, as this tutorial from Brooklyn-based startup HowAboutWe demonstrates.

API and SDK updates are tied to software product updates and launches.

There's no reason to couple the release of developer tools and endpoints with consumer-facing products. Developer tools need to evolve faster, yet Apple has gotten in the habit of tying improvements in its platform along with product events. This is frustrating, but especially so for developers who have worked on the web, where discovering and fixing a problem in the platform often happens the same day the problem is reported. As Gus Mueller reports on his blog:

This was the very first thing that set off alarms in my head when Apple introduced the iCloud APIs. It's baked into Foundation. Not "at the foundation of the OS" marketing talk, but the APIs are exposed to us via Foundation.h. This is a very, very bad code smell. Things on the web and in sync land move fast, and if we have to wait 12-18 months for something to be fixed or updated, why in the world would a developer adopt it? Oh, you say it's all fixed on 10.9? That's great. How about all those users who aren't updating to that OS for whatever reason? Oh, they are screwed? Great. That's what I wanted to hear... .Mac syncing sucked- but it had a downloadable SDK and it was the sane way to do things. You could download an update which fixed bugs and it was possible for Apple to add new APIs without having to do it in sync with the OS. Just because an idea had a bad implementation doesn't mean the idea is wrong.

Apple rarely uses only its documented APIs.

Sure, Facebook sort of blew it when it tried to make an OS—even forgetting the app dock until last week. But you can't blame them, because developing a product in secret makes testing that much harder; you have to really know how to dogfood your product correctly. But one thing that Facebook deserves credit for, and which future OS-makers will no doubt be expected to replicate, is its reliance on its own well-documented APIs to build its products. Gus Mueller again, on his blog:

When Apple's consumer apps use the exact same APIs we are given, it might be time to seriously look into using iCloud for doc syncing. When iCloud was introduced, Pages on iOS certainly wasn't using the same APIs Apple gave us for syncing. Why not? I guess because it was broken and/or unreliable. Something third party developers had to find out on their own.

The file system is completely screwed up.

The stuff you store on Macs and iOS devices today are hopelessly fragmented across apps, local drives, and tiny, expensive cloud repositories. From FanGirls again:

Okay this is a huge debate with the geek crowd. That crew is heavy into the idea that iOS needs to have a 'Finder'. But I disagree. I don't think that users need to see into the core system in such a way. But what is needed is a single system where all data lives. Doesn't mean that every app can use everything. But at least have common file types in a place where every app that can use it has a single copy to play with. Say like PDFs. Sucks that if I want to see it in iBooks, PDF pen and GoodReader that means I have 3 copies of the file filling up space. And then there's that clunky 'Save to'/'Open from' file sharing system.

Some Apple apps suck, leaving a void in the platform.

Apple has chosen to make software products for certain applications in their OSes, which causes third-party developers to eschew competition there—particularly where Apple is using undocumented APIs and has an unfair advantage. As a result, the Apple apps which suck (and there are a few) leave a gaping hole in the platform where innovation should be happening. One example is Contacts, which could use a huge organizational and social-networking overhaul—but you have to have guts (looking at you, Brewster) to compete here, so a lot of developers go where they know Apple most likely won't—categories like Games, which is arguably the only one where Apple acts like a trustworthy platform. As Ben Thompson says on his blog:

An app can afford to be prescriptive about the user experience and means of interaction; in fact, the best apps have a point of view on how the user ought to use their service. Platforms, on the other hand, are just that: a stage for actors (i.e., apps) of the user’s choosing to create a wholly unique experience that is particular for every individual user.


Apple needs to figure out where it's a platform and where it's an app developer, draw the line, and rarely (if ever) move it. Otherwise, developers will always live in fear of solving problems for users which are too close to Apple's interests, and where they might be shut down or trod over by a new Apple product.

Apple ignores small-time developers.

What used to be a scrappy event for a tight-knit community has become an exclusive gala event. The glad-handing might be enough to satisfy prominent developers, but the rest of us are stuck needing to form our own unofficial WWDC just to feel included. Surely Apple could find a way to make their tent a little bigger. We're tracking AltWWDC with interest—it's a free and open Apple developer conference happening this week in San Francisco, concurrent with the official event.

[Image: Flickr user Boston Public Library]


Article Tags: Mac OS is broken





Add New Comment

9 Comments

  • Neroon

    I love the circlejerk that is geeks patting themselves on each others backs. Apple pretty much answered all the questions at WWDC and more. What else do you have to offer?

    "...the only one where Apple acts like a trustworthy platform." Just what world you you live in, seriously. Whom do you think is trustworthy? Microsoft? Google (Don't be evil, BS)? Maybe Linux, really -- outside of geekdom no one gives a shit about Lunix. So who is trustworthy?

    So do I agree with you on anything? I do think Apple made some huge leaps forward in the file system with tagging. The Contact app and others have seen huge leaps forward and you are right that they needed it. As for small developers, I agree only in the sense that I wish Apple would buy out more small devs when rolling out this items in the OS, but that issue has been around as long as commercial software has existed.

  • Richard

    I would respect this article if the title sas "I'm an Apple Hater and Here is Why".
    His perspective is 100% correct, however, which is why Apple is losing $billions of dollars every year and their consumer ranking are in the tank. What was once a niche company has turned into a joke, having to give their products away just to push them out the door. No one today is found dead with an Apple product, and I am 100% sure due to the brilliant reason pointed out below! 

    /S 

  • BenGleck

    When an author writes a headline that includes the phrase "Apple's Brand New OSes Look Broken," then in the first line of the article writes "Whatever Apple announces today...," you know the article is a biased joke.

    "The OSes look broken...by the way, anybody seen them? I haven't." Maybe I'm too kind in describing it as a joke.

    In the ensuing blather, the author uses anecdotes from a meager number of blogs as if that constitutes valid statistics. Ooh, FanGirls doesn't understand Finder-like functionality: Open/Save dialogs are sooooooo yesterday.

    Thanks for the tutorial on how not to write an an article if you want to maintain cred as an authoritative figure. I may use it in some of my upcoming classes. With proper credit given, of course.

  • Chris Kelly

    Written by a developer? There are vast & messy issues with the constant updates from web apps that are described here so positivity: Google throw out ideas and half baked products as part oft heir business, they iterate in public and after years of messy and terrible Android OS designs, they are getting close to something that might be worth while. In contrast, Apple dont realise until they are happy (that doesnt mean endless delays and missed shipping dates like Microsoft btw). Yes its slow, but aside from Maps in 2012, they tent to nail it. This builds trust and reliability in the product, something I dont have with Android because I know what im doing is continuously testing a half baked product. Google are the mechanics who want to tweak and tinker forever because its fun. Apple are artists who want to produce something amazing, when its done it done. Artists dont go back to the gallery after a year and mess around with what they have done, because they get it right, then they ship. 

  • Furk

    There are so many flaws with the absurd article it's ridiculous. I laugh in face, you silly, inept child.

  • lupa

    Um, ok, so secure updating of hardware OS is tougher than updating web
    apps.  Agreed... but big deal.  That's mainly for security reasons... you don't want just anybody offering you updates that might root your system.  But why pick
    on Apple here, when updating iOS and OS X are miles ahead of updating competing
    mobile and desktop OSes?  Granted many of your complaints about Apple's offerings are valid, but they're not all ways that web app dev is leading to a better life.
     

  • ambiguator

    You've described some issues that affect many closed ecosystems. This is why Linux is thriving, and why open-web advocates like Mozilla still have major disruption potential.