ROB HAGUE'S BLOG
A quick post to throw out a couple of predictions about the upcoming iOS 7. The first is pretty much received wisdom by this point. The second seems obvious to me, but I’ve not seen it written down elsewhere, and hence seems worth recording.
- iOS 7 will have some kind of inter-application communication mechanism along the lines of Android’s Intents or Windows 8 Contracts. iOS is already behind in this respect, and as Android catches up (and arguably overtakes) in areas like performance and aesthetics this is a deficit Apple can ill afford.
- The feature will be called “Services”. This seems like a foregone conclusion to me, as it’s the name of a very similar facility that OS X has had since the it was NextStep. Using the name would allow Apple to (with some justification) spin it as being ported from their other OS as opposed to cribbed from their competitors, and they could even reuse some of the existing APIs.
There. Now we just need to wait for WWDC to see if I’m right.
Google is not your friend. Apple is not your friend. Facebook is so not your friend that they didn’t even recognise the that “friend” was already a thing, and assumed it was just a random syllable to which they could attach their own meaning. Microsoft, Amazon, Twitter, Samsung, Sony - none of them are your friends.
This isn’t meant as a slight against those corporations, or even a statement about those corporations in particular. Considering any corporation to be your friend is an absurd category error, like calling your coffee table a fine, upstanding citizen. However, in a recent survey, 17% of people in the UK thought that Google “had their best interests at heart”. Amongst “young people” (16-24 year olds), the figure was higher; 28%.
Why is this worrying? In spite of the pernicious, pervasive and persistent legal fiction of corporate personhood, corporations are not people. They do not have morals, conscience, or loyalty. They’re made up of people, who may well be moral, conscientious and loyal, but the corporation is not those people. It acts solely in its own interests. It cannot be trusted to do anything else.1
This may sound like I have a very negative view of corporations, but I don’t. Corporations are a phenomenally effective and successful device in many ways, and their benefits far outweigh the downsides. I simply try to keep their nature in mind when dealing with them, or trying to understand their actions. I no more blame a corporation for screwing over the little guy, or tying itself in knots to avoid paying tax, than I would blame a shark for eating somebody. That’s what sharks do.
The question is, how can we contain the negative aspects of corporate nature without losing the benefits? One approach is regulation. This has had success in some areas - for example, pollution, overt bribery, and embezzlement. However, in most areas, the trend has been towards less regulation, in no small part due to effective lobbying by corporate interests.
While there is some truth in the idea that excessive regulation strangles businesses, excessive deregulation gives the worst aspects of corporate psyche free reign, and leads to crises such as 2008’s credit crunch and the resultant global crash. Coming up with an effective regulatory regime that nevertheless allows corporations to give us the products and services we want us a difficult balancing act, but one that it is imperative to perform.
Corporate regulation is a pressing issue for governments, but what about individuals? If corporations are venal, amoral predators, how can we deal with them every day without being crushed? By bearing in mind their nature. You cannot trust a corporation to act in your best interests, but you can absolutely trust it to act in its own. Take the advice of Deep Throat, and follow the money.
Whatever your interaction with a corporation, the key question to ask is: what’s in it for them? Are they selling you something for a straight profit? Selling something as a loss leader to get you to buy more profitable items? Giving things away to entice you to look at advertising? Some combination of the three? The answer should inform your dealings with them.
To use the common Gillette analogy, Apple sells you razors (iPhones and iPads). Amazon gives you the razors (Kindles, which are sold more or less at cost) in the hope of selling you the blades (books and other media). Google gives you the razors (Android and cheap Nexus devices) and the blades (search, maps, email), then makes money by selling strangers tickets to watch you shave.
Each of these has its trade offs. Paying a fair price (including a profit margin) obviously has a high up-front cost, but is transparent and puts your relationship with the corporation on a solid footing. The loss-leader model reduces that up-front cost, but means that the corporation has a motivation to constantly hustle you in order to make good on its initial outlay. The most problematic model, from my point of view, is the advertising-driven one, because in that one you are not the customer.
The up-side of advertising-funded services - little or no cost to you - comes at a heavy price in terms of privacy. The better targeted an ad can be, the more attractive it is to the people who are actually paying corporation money - the advertisers. The corporation are motivated to use as much of what they know about you as they can to this end.
Does this mean that such services should be avoided? No, you just need to be aware of your relationship with the companies involved. I use Google, because they have the best search results, and Facebook because that’s where people are, as well as devices and software from Apple and Amazon, but in all cases I remember where their interests lie.
Corporations a many things, but they’re most definitely not your friends.
At the start of the year, I changed jobs1. I’m still working for Cadence, I’m still working on Encounter, I’m still going the same office and seeing the same faces. However, I’m no longer a Member of Consulting Staff, but a Principal Product Engineer. I’d be the first to admit that neither title is particularly informative, but basically I’ve gone from writing code to writing specifications. In other words, for the first time in my professional life, I’m no longer a programmer.
Stating things in such stark terms is dramatic but a little misleading. Firstly, while I’m no longer writing C++ that gets turned into the shipping product, there is still a (small) Tcl coding aspect to my new role. In addition, I’ve written a lot of code over the last eight years, and I’ll be helping out the new maintainers of that code. These are peripheral aspects, though - the core of my new job is spent in Word, not Emacs.
At the moment, I don’t know if this will be a permanent change. Programming is something I love, and I’ve enjoyed doing it for a living. However, I’ve also been doing it for a long time, and an opportunity came up to try something new. Perhaps it will prove to be something I enjoy every bit as much; at the very least, it will give me a fresh perspective on the business I’m in, and allow me to pick up and improve some useful skills. Either way, I’m going to give it a good shot.
One final note is that, while I’m no longer writing code at work, and the title of this post notwithstanding, I still consider myself a programmer. Programming is a powerful tool I have at my fingertips, but more than that it’s a way of thinking, an approach to solving problems. I’ve been doing it since I was six, I’ve studied and taught it at one of the best university departments in the world, and it’s put food on the table for more than a decade. At this point I feel confident in saying that, whatever else I become, I’ll be a programmer forever.
Announcing the arrival of Rosalind, born Thursday at 09:28pm, weighing 10lb 4oz. Mother and baby both wonderful.