Every year, I'm lucky enough to be asked to one of the local universities in the UK to help students on an IT-related degree program. The students have to group together in teams of four, each team putting together a business plan for a commercially defensible smartphone apps.
One part of this process involves the initial brainstorming of ideas before the teams go away and produce their final presentation.
In the morning, I give a little lecture about building mobile apps. In the hotel that morning as I was tweaking (aka, "writing") the slides, I started a slide titled "Don't assume everyone is nice to one another". Running out of time, I deleted it.
I wish I'd finished it.
Out of the 10 groups that day, something really interesting happened. Seven of the groups suggested the same sub-feature of their main idea — specifically, that open crime data could be incorporated into the app to provide a feature that would help people out for the evening find a route home that took them through safer neighbourhoods.
So seven times that day, their tutor and I had to point out that if they produced such a thing, all that would happen would be that would-be muggers would use the same app to identify places where people thought they would be safe, and then go and mug them.
You see, not everyone is nice to one another.
The fact that seven of the 10 groups came up with the same idea tells us something — often, people thinking about building post-PC apps base their thinking on an overly simplified view of human relationships.
This is an important point, because post-PC is all about "relationship-centric" computing. Smartphones, tablets, and the services we run through them are all about connecting us into relationships with others and.
As a result, anything you use your smartphone or tablet for covers the whole gamut of the human experience, and by definition that can't just be all the nice stuff.
It's easy enough to assume that everyone is happily married, the kids are all A-grade students in school, and crappy things happen to other people, but human society is not like this. Husbands and wives cheat. People abuse and are often horrible to each other.
The point is that when we're looking at software solutions that are about the whole human experience, you can't just choose the nice, light, and jolly parts of life and focus on that. This isn't like building enterprise software for tracking invoices and managing cash flow — it's about people's lives.
Here's an example. A husband and wife are not getting on and they are fast approaching the end of their marriage. He goes on a business trip to Amsterdam. He has an app on his phone that sends back his location. There's nothing sinister in it, it's just something they both use to coordinate picking the kids up from after-school clubs, etc.
She asks him not to go to any strip clubs whilst he's away. He agrees.
He leaves his phone in a cab and the next person in picks it up. Perhaps that person intends to keep it, or intends to return it. Either way, its new quasi-owner is on his way to a strip club with the phone. The wife has a look at where the husband is, quick look on Street View — perhaps she's suspicious, perhaps she's interested — and assumes it's him that's gone to a strip club, not just his phone.
That's them done — the husband's "lie" causes their story to end in divorce.
The point of that story is that as an app designer, if you're thinking about the darker side of human relationships — ie, that things can go very badly wrong and it's not all unicorns and rainbows — you might design that app a bit differently.
In unicorns and rainbows world, spouses always get on, and the "hey, do you remember the time your phone went to a strip club on its own?!" is just a fun story. In the normal world, it depends on just what state their relationship is in — it could be a fun story, or could be their last story.
Another thing that's always interesting about the university work is that none of the groups ever come in with an app that's morally unjustifiable.
Why have none of the university groups ever come in and said "we're going to build an app that helps muggers find victims"?
For the record, there's nothing in the module marking guide that says a proposed app has to be wholesome and lovely. They'd have an equal shot of success as all the others.
This point illustrates the bias toward thinking that everyone is nice to one another throughout the whole creative process of building post-PC apps. Although I'm not defending the idea of an app to help muggers find victims, perhaps imbuing the creative process from inception from an angle that's about the darker side of humanity helps build a final, morally defensible end product that's more in tune with the realities of human relationships?
Perhaps. But I do know this...
People aren't nice to each other. Plan accordingly.