Apps Bullshit May 28th, 2012 When I say ‘apps’ I mean two different things, both of them bullshit, but in two different ways. One, they are a technology, a bullshit technology in that it has not primarily been used to make a product better. Two, they are a marketing ploy, bullshit in the sense that all marketing is, a game of value signification played to help people part with their money. This kind of bullshit makes money, which is important to the continuation of our industry. To explain my first point, I’ll have to explain the technology. If you already know the technology, skip the next four paragraphs. Currently, the technology of most apps is ‘native’, as opposed to ‘web’. This is a very expensive distinction, and companies waste from tens of thousands to millions of dollars on native app development, often to be left with a product that serves their objectives worse than would have a web app. Native apps are full computer programs. They use the fundamental functions of the hardware to do whatever they do. They can therefore do any one thing as well as any other, from calculate missile trajectories to animate Angry Bird trajectories, from sequence genes to sell you jeans. But with flexibility comes complexity. Web apps are just web sites. They can be wrapped up in a single-purpose web browser that hides the address bar and various buttons. Without that stuff, the website becomes its own and only interface. The developer can put buttons, menus, whatever, in this web application, making it whatever kind of interface is best. It can look exactly the same as a native app. The difference then is that most of the work behind the web app is taken care of by the web browser. Browsers are incredibly capable applications themselves, allowing web developers to easily arrange and style interactive text, images, menus, buttons, forms, and other common elements. They have been designed and improved over the last decade by teams at Apple, Google and Microsoft, among others, all working together through an international standards body. If you think about it, all that we do most apps is look at and interact with text and images that have been made to look a certain way. Reading the news, using a social network, searching for a restaurant, reading email and checking the weather are all tasks that come down to little more than reading and tapping on text and images drawn to look a certain way. If you write a native app, then you rewrite the part of the computer program that makes stuff display and react on the screen, instead of leaving that to the browser. The code is more difficult to write and there will be more of it, making it more likely the developers will make mistakes. To top it off, when you write a native app, you have to re-write it for every platform: iOS, Android, and Windows Phone, and any other OSes that jump into the fray will require some kind of reworking, if not a complete rewrite. Web applications will always just work everywhere. The one argument for native apps is that they can be faster. If you write a program to do a specific thing from the ground up, theoretically it can do that thing faster than a program that’s written to do lots of different things. But the emphasis is on ‘theoretically’. In practice it doesn’t matter much. Web browsers, because of the huge amount of work devoted to them, are still better at most interactions, and many animations, than what a developer could write from scratch in the few months they’ll have to build an app for a client. There are exceptions: 3D games, high-quality animations, complex productivity apps, and other apps with novel interfaces can justify the additional costs of native development. Like anything, it comes down to a case-by-case decision about the best tool for the job, but the vast majority of apps being built natively today do just the things the web was designed for. The worst culprit has been the print media industry. Their core product is precisely what the web was designed for: displaying text and images. Every publication that has built a native app to deliver their content has wasted their scarce resources. They’ve hired a third-rate Gutenberg to invent for them a new machine to apply ink to paper. Granted, they had good reasons to make apps, but apps have no reason to make us reinvent the wheel. Those good reasons are the other kind of bullshit that apps are, besides technology bullshit. Apps aren’t even a technology. They’re a package. They’re a shiny box. Granted, that includes a collection of interface design conventions, a marketing strategy, business model, and distribution system, but that’s just what a quality digital box looks like. (Apple has always made great boxes.) What matters most is that it’s a box that makes people want to buy its contents. Web pages have always been something we accessed, as opposed to acquired. The web was created by academics, and so has the feel of a library, if not just one enormous book. It consists of names, numbers, indexes and catalogs. Access, especially to information, is something we expect for free. Acquisition, even of information, is something we accept paying for. And the difference between access and acquisition is just positioning; it’s bullshit, but it’s important bullshit. If you take a website, give it a physical design metaphor and a big icon, have people ‘download’ rather than ‘view’ it, and make it available on a screen that belongs to them, then suddenly they’ve gone from viewing a thing to having a thing. (I’m not saying all that’s easy, just that it has nothing to do with technology.) So if the technology is irrelevant, why not use the code that takes half the time and money? You can spend what’s left over on the thought, testing, and time that makes a product good. So what needs to happen? Apple needs to release tools for building apps with web technology, and allow those apps to be sold through the App Store. Users won’t know the difference, developers will save months of work on large projects, and companies will save millions of dollars. And it will happen. Mark my words, Apple will do something like this. They will find a way to bring the efficiencies of web development into the fold of their app product strategy, so that they can profit from it. There is a theory I could see refuting this prediction: Apple has gained a lot from the post-PC rebirth of native applications development. They are constitutionally a native software shop, and have never been able to crack the web. Furthermore, their lifeblood has long been their ecosystem of native developers. You could argue that it’s in their best interest to maintain the arbitrary grip native development now has on mobile platforms. But in the long term technical efficiencies always win out, because the ease of entry into the digital market means that groups who want to use a predominant inefficiency to their advantage can do so with relatively little risk. Even if Apple tried to control the market through their Store, Android app stores won’t be stuck in first gear forever, and will see web technologies as a way to get an edge. Apple has outflanked such moves before. Furthermore, call me an Apple acolyte--I am--but I believe they will do the right thing, not so as to avoid ‘Doing Evil’, which is stupid, or even just because it’s good business, though it is, but because they understand the difference between products and technologies. That’s the defining factor in their ascendance, the notion Steve Jobs had been concluding his keynotes with, that technology alone is not enough, that you need the ‘liberal arts’ or ‘humanities’ as well. Jobs was a grand salesman and was sugarcoating a little there. The truth is that technology isn’t just insufficient. It’s irrelevant. People use products, not technologies. We should stop confusing the two.