Eat Your Vegetables

carrot.app

Today the topic of unpopular services being forced on you by popular services came up. Like Apple with iTunes Ping, Facebook with Messenger and, of course, Google+.

Obviously, the temptation to use one of your popular services as a lever to get people interested in an unpopular service makes sense, especially if you think people will come around once they give it a try, but the danger is that you end up suffering from what I call the Eat Your Vegetables problem.

These companies obviously think they're giving people something that will be good for them in the long run, like a delicious plate of greens. Problem is, before you've eaten vegetables you don't know whether you'll like them, so you take your cues from how they're presented. "Eat your vegetables or you won't get dessert!" is a strong signal that vegetables aren't tasty enough to stand on their own.

Sometimes a new service genuinely just isn't very good, in which case it was probably dead, vegetables or not. But sometimes it can make things worse for a decent product. By all accounts, Facebook Messenger is fairly good, but there was still a big backlash when users were forced to install a separate app. Of course, Facebook also owns WhatsApp and Instagram, but nobody's complaining about having to install them. That's the power of not having to Eat Your Vegetables.

Context table

context table

Following on from my other voice idea, it would be kind of fun to make a context table. That is, a device that listens to your conversation, pulls out keywords and searches for them, displaying a kind of passive live-updating screen with information relevant to the context. You'd need to do a bit of processing to figure out what words tend to be searchworthy (proper nouns, stuff outside the top N most common words etc), but it wouldn't have to be terribly accurate to work.

In fact, most of what you'd need to build a simple web version is just the Web Speech API generating AJAX requests to Wikipedia's API.

Obviously, the coolest thing would be if you could then turn that into a table that automatically displays relevant things to what you're talking about but, hey, gotta start somewhere.

Single page

whenthefuckissydjs.com screenshot

I've always wanted to make one of those cool single-page websites like isitchristmas.com or iswebrtcreadyyet.com. Today, I got my chance.

I keep missing or nearly missing SydJS because I forget when it's on. They have an app thingy but the push notifications usually go out a day or two before, which is sometimes too late for me to plan around it. This month I'd agreed to something else and then had to cancel, which was pretty frustrating. I figured I should channel that frustration into something useful.

So, I'd like to present When the fuck is SydJS?. It does roughly what it says on the tin. As a bonus, it also provides an iCal feed so you can get reminders. I'm hoping to keep the data up to date via crowd-sourcing - it's on GitHub.

Voice Print

voice print sketch

I was thinking today about conversations. I've definitely had the experience before of being in a conversation where the other person just talks and talks and you can't get a word in. But I've also had that feeling the other way, where I start to wonder if I've just been dominating a conversation with my thoughts and ideas. Obviously, I can just ask people I talk to, which is helpful to some extent, but in a sense I'm just swapping my opinion about the content of the conversation for theirs.

Since I like data, maybe it's a problem that can be solved with data. So here's an idea for an app called Voice Print, which allows one or more people to train it to recognise their voices. You then leave it to record, and it keeps track of who's talking and how much. At the end of the conversation you can get a summary with all sorts of neat information: who talked the most, who tended to respond to whom, how long the gaps in conversation were, how long did each person wait in a gap, how much quiet was there during the conversation. So much data.

Of course, you could do the same thing manually by just recording your conversations, but, ugh, manual labour. Plus I imagine people would be much more squeamish about you recording everything they say than just tracking the general flow of the conversation.

Anonymity and democracy

troll masquerade mask

It's well known that many online communities start to get bad as they grow. There are a lot of theories on why this is, some of my favourites are Gabe's Greater Internet Fuckwad Theory and evaporative cooling. I think there is also an underexamined root cause which is also the main assumption underlying democracy. The assumption is that people have value.

I should be clear: I think people have value. It's a good assumption for democracy, but because democracy is the social system we're most familiar with we tend to carry those assumptions over into the design of other systems. Large online communities struggle to deal with the weight of non-valuable people: trolls, spammers and other undesirables. And you can never really get rid of them. Anyone you ban can make a new account. And even if you could could get rid of them permanently there would be some new troll basically identical to the last.

Indeed, maybe the point is that there's no difference; a new user is a new identity, and one of the wonderful things about the internet is not being limited to one fixed identity that's often assigned by others. In the future I think we'll reach a point where it's common to have many identities for different communities and different purposes. We'll swap identities as quickly as a change of clothes, adopting new ones when the old ones don't suit, for playing a particular role or just for fun. As technology improves there will even be autonomous identities that can, themselves, spawn more autonomous identities.

How can we possibly create a social system to handle that? The Facebooks and Googles of the internet are obsessed with keeping our online identity tied to our real-world identity because they know that's the only way to make the people-have-value assumption hold true online. But what if we just abandon it? I think we could build richer systems on the assumption that identities are not valuable. Instead, they have to earn value.

Many communities already do this to some extent. On Hacker News, certain features unlock as you gain more karma. On Reddit, repeated successful posts make you less likely to be caught by the spam filter. But you could go further and make a community where posting is not allowed until you demonstrate value in some other way, like voting on other new posts. Google's Pagerank is another interesting example. It assumes new websites have basically no value. Instead, they gain value by being referenced by other sites. You could have a similar social system that passes value by endorsements.

There are also other solutions, usually suggested to fight spam, where new identities or actions (like sending an email) have a monetary cost, thus proving a certain degree of real-world value. While that's definitely better than being tied to a particular real-world identity, I think money is not a great analogue for value in many communities. A determined evildoer can afford to just trade money for mischief. A better way would be to allow users to earn value within the community itself. Why bother to make an identity to do harm if you first have to do at least as much good?

Even if this is already happening in some ways, it's important to recognise the trade-off in question: you can't have identities be free and inherently valuable at the same time. The true power of virtual identity has yet to really come into its own, and I don't think it will until we are willing to sacrifice that inherent value.