(Cross-posted from http://evilbrainjono.net)

I wrote a Thunderbird add-on to make the email interface I’ve always wanted — one that helps me remember to stay in touch with people I really care about, instead of always distracting me with the newest incoming trivia.

The add-on is called Lovebird and you can download it here.

lovebird screenshot (with fake names)

the names in this screenshot have been changed to protect the innocent

The rest of this post is about the philosophy behind Lovebird and why I designed it the way I did.



"Official Bottom 95% of All Web Sites" badge

One thing I don’t like at all about Silicon Valley culture is its monomaniacal focus on Hugeness: on the very biggest companies and websites.

Living in said valley, we get bombarded with news and gossip about what Google, Facebook, Twitter, Apple, and a couple of others are doing (Yahoo and Microsoft, no longer considered “cool”, are slowly dropping off the list.) The tech press acts like the Internet is defined by the actions of these few companies. Whatever they’re doing, everybody else had better copy it, or risk irrelevance. You don’t matter unless you’ve got hundreds of millions of users and are raking in billions of dollars of advertising money.

(I imagine even Google and Facebook must feel the pressure to copy Google and Facebook! Why else do they keep trying so hard to break into each others’ markets?)

Part of Silicon Valley culture is the assumption that the destiny of every company or website is to become huge or to fail: those are the only two options. Global reach, with tens or hundreds of millions of users, is the only definition of success. Venture capitalists are known to base their gambles upon the idea that the profits from one one breakaway hit will pay for the losses from twenty flops. The breakaway hits are what they’re after; a modest but sustainably profitable company is not.

There are structural reasons for this attitude. The lack of barriers to competition on the web means no longer do you just have your neighbors to compete with. You have to compete with everyone in the world. That means that if company X offers something even 1% better than its competition, it can rapidly become a global near-monopoly. And so many web-based activities have network effects — sites like LinkedIn, eBay, etc. become more useful the more other people are using them, so success tends to snowball.

I feel this attitude misses something important. It misses what made the web so interesting in the first place. Think back to 1995 (if you’ve been on the internet that long). What was so exciting about the emerging medium? What was it that pulled you in for the first time?


Last night, after reading Clay Shirky’s latest article about why paywalls don’t work, my wife asked me a deceptively tricky question: Would I pay money for news?

I mumbled and bumbled about it for a while and then said that, while I hope somebody pays for news so that society can continue to have the services of full-time journalists digging up stories, I personally would probably not pay for news.

I’m not proud of saying that. I think I probably should read news, in order to be an informed citizen and all that, just like I should eat less bacon and more cauliflower, but an honest evaluation of my laziness and bad habits tells me that if I had to pay to read news, I would just ignore news and read more junk-food content instead. (Besides, news is depressing! Who wants to pay to be depressed?)

So then she asked me, what sort of internet content would I pay for, in an alternate universe where web content cost money?

I’ve been thinking about that question all day. It would be a very different universe. I would probably pay for programming language documentation and API documentation, if I had to, because I need it to do my job. I might pay for Wikipedia, since I find it both useful and entertaining. There’s a few webcomics I’d be willing to pay for (maybe more for the sake of supporting artists I like). In fact, if I paid for Gunnerkrigg Court or Erfworld, I’d probably read them more regularly than I do, to feel like I was getting my money’s worth.

But a lot of the sites that I currently visit on a daily basis are just ways to kill time, or get a brief chuckle, or see what people are arguing about today. If they went behind paywalls, I’d stop visiting and I’d forget all about them within a month. I’d probably read a lot more books, so I might even be mentally better off.

But that’s all assuming that a pay-for-content Web would have basically the same content as the real Web does. That probably wouldn’t be true. Would Wikipedia have ever gotten started on a pay-for-content Web? Would single-creator, no-advertising-budget webcomics or blogs ever be able to find an audience at all if they weren’t giving their content away for free? What would entice potential readers to look behind the paywall in the first place?

Conversely, there may be forms of content we don’t see on the real Web that we’d see if paying for content was the accepted norm. Maybe it would be standard practice for bands to sell their music as downloads, making a living without ever signing to a label or burning a CD. In real life, this happens rarely enough that Radiohead’s “In Rainbows” was a newsworthy event. Maybe web-based “TV” series Dr. Horrible’s Sing-Along Blog and The Guild would be exemplars of a flourishing genre instead of weird one-off orphans.

Anyway, history has happened in such a way that the Web we have is one where content is free, and I see no signs of that changing in a serious way any time soon. Nevertheless, I think it’s an interesting thought experiment. It’s worth thinking about what websites you’d be willing to pay for, even if only to help clarify your own relationship to the words you stuff into your eyeballs.

So here’s my questions for you:

  1. Are there any websites you read that you’d be willing to pay one dollar (or 100 yen, or 7 RMB, or whatever the equivalent in your local currency) to keep reading?
  2. Would it change your answer if it was a one-time fee vs. a recurring subscription fee?
  3. Do you think that website would exist at all in a universe where paying for content was the norm?
  4. If that website has a Donate button, or it sells T-shirts, or in some other way accepting voluntary payment, have you ever given them money? Why or why not?
  5. Is there anything not on the web, that you might pay for if it was? In a paywall world, do you think somebody might be putting that content on the web?


You can’t just make something “open” and expect magic to happen. Openness is a lot of work. This is true whether you’re making an open-source software project, a website with user-generated content, a political movement, a charity, or any other kind of organization where you expect volunteers to show up and start doing work for you.

I emphasize this because openness has become quite the buzzword over the last decade, and I worry that people are starting to attribute near-magical powers to it. I wonder if books like Here Comes Everybody: the Power of Organizing Without Organizations by Clay Shirky, or The Wisdom of Crowds by James Surowiecki are over-selling the idea. Being in Silicon Valley I hear a lot about startups based on a “crowdsourcing” business model, or new open source projects run by people who assume that just because they open-source their code, they’ll magically get contributors. Lately the phrase “… ANYONE can participate!” seems to be de rigueur in every presentation.

Let’s say I’ve got an idea for a software project and I want to make it open source. So I put up a public code repository on my website, write a page about my patch submission policy, and start an email list for discussion. Great! I’m done now, right? I can declare my project “open” and go back to hacking now?

This project may be “open” by a technical definition, but if you look at the commit log, I’m still the only one working on it or using it. Where’s my windfall of free volunteer effort?

If I want to be open in a practical and not just a technical sense, I need to get people interested in participating. That means proselytizing my project, building a community, selling people on the idea: doing marketing. That’s a lot of work right there, and none of it gets code written.

Next, suppose some interested volunteers contact me and ask how they can get involved. If I say “Go read the issue tracker and find something to do, I’m busy”, I guarantee they will not remain interested for long. I need to invest some time in building a connection with each and every volunteer I want to integrate into my project. I need to explain to them how things work, answer their questions, find easy tasks to give them, and continue to act as their mentor until they understand the project as well as I do. I am making a substantial investment up-front that I hope will pay off in the long term. Until then, it’s an additional burden on top of my existing workload.


Here’s a video with interviews from ROFLcon on the topic of “What makes a meme go mainstream”.

They use the phrase “internet culture” a lot. It annoys me a bit how they lay claim to “the internet culture”, as though culture meant nothing more than in-jokes. Most cultures have their in-jokes and shared references, of course, but what the ROFLcon folks are talking about is really the culture of just one corner of the internet — anarchic, anonymous image-posting discussion boards about nothing in particular — which generates a steady stream of silly jokes about how “longcat is long”.

To me, internet culture is something much bigger and broader and more subtle than that. A culture is a whole set of values, values that you can generally assume other people in the culture share with you even if they’re not explicitly mentioned. I think that internet culture comprises values like “I have the right to comment on, criticize, appropriate, and recontextualize anything I see.” And “My personal page about my garden and my political opinions has just as much right to be up on the web as http://www.microsoft.com does.” And “Nobody else gets to decide what information I do and don’t have access to, or what I should and shouldn’t be able to say.” And “If I can’t send a direct personal communication instantly to anyone on the planet, something is wrong.” We’re in a pretty exciting period right now, where these values are blending with, and in some places coming into explosive conflict with, various national cultures around the world. Think Iranian protesters posting videos of police brutality, or Chinese bloggers ridiculing Chinese censorship laws. Nobody knows how it’s all going to turn out or what new forms of expression will arise as a result of this period of rapid change.

If “internet culture” came to mean nothing more than “Epic FAIL” and Pedobear references, I would be very sad. I’ve got nothing against 4chan memes per se: I have been known to use “I can has” speak in casual conversation, and I even own an “all your base” t-shirt. It’s just that there’s so much more to internet culture than that stuff, you know?

(Digression: I’m a little sad already that “meme” has come to mean “joke that gets reposted a lot”, or “quiz that all your friends are reposting to their livejournals”. When Richard Dawkins made up the word, he was trying to start a conversation about the dangers of groupthink and self-reinforcing, self-propagating ideologies. It’s like how “avatar” — originally meaning the incarnation of a Hindu God! — has been downgraded to mean a tiny square picture next to your name on a message board. People are taking big ideas and defining them down to the level of what the technology currently supports.)

So anyway, question for discussion: Do you think there’s such a thing as “internet culture”, and if so, what do you think are its core values?

Last week I was interviewed by the Canadian public radio show Spark for a segment called “Computers are Hard — Who’s to Blame?” (If you read this blog, you can guess my answer).

I had a very interesting phone conversation with Dan, but I think only a couple of sentences made it into the show.

The whole show (which is 53 minutes and covers bamboo bicycles, and the prediction of the weather by the reading of pig entrails, as well as software usability) is up on the web here. They have a podcast you can subscribe to, too.

Apparently Windows Phone 7 will not have copy-and-paste. Huh. What do you know?

It sounds like Microsoft is depending on the software to be smart enough to recognize data types to get selected content to the right application without the need for the user to manually copy and paste. This is pretty interesting to me since it’s similar to the idea of nountype recognition that we were exploring in Ubiquity. I haven’t used Windows Phone 7 (obviously), but my gut reaction says it’s hard to make data type recognition work reliably, so a manual override – copy-and-paste – is still needed for the cases where automatic recognition fails. And what if I want to do something weird that Windows didn’t expect?

The capability to do things that the authors never expected: this is the definition of flexibility in computer systems, and their flexibility is their power.

I applaud simplifying systems by removing unnecessary complexity. But there’s unnecessary complexity and then there’s necessary complexity. Remove too much, and you may cross the line between simplifying a system and crippling it.

For example, what about this non-multitasking OS that Apple wants you to use? Single-tasking seems like a huge step backwards to me, and I wonder if the simplicity is worth the loss of capability.

Not every device that accesses the Internet needs to be a full-featured computer; there are obviously a lot of people who want some features of the Internet without the complexity of a computer.

But there’s so much that you can’t do with a device that only runs one program at a time, or that has no copy-and-paste. Single-tasking may be OK for a device meant only for consuming information, but it’s crippling if you want to use the device to create anything.

(When I first heard Apple was making a tablet, I envisioned something with a stylus I could use for drawing. I might buy one of those. The iPad, sadly, is not that device. It’s optimized for consumption, not creation.)

I hope the trend towards simpler gadgets doesn’t result in a loss of the ability to go outside the bounds of what the inventor envisioned, the ability to create. Creating stuff is pretty important to me.

The site ReadWriteWeb recently did an article called Facebook wants to be your one true login. The contents of this article are something I’ll address in another post. What I want to talk about today has nothing to do with the actual contents of the article, and everything to do with the fact that this article was for some period of time one of the highest hits on Google for the search “Facebook login”.

The comments thread on the article filled up with over a thousand comments from confused and frustrated people asking “Now how do I log in?” and “The new design sucks!”.

That’s right. These people had been relying on a Google search for “Facebook login” to get to the Facebook login page. When they ended up at ReadWriteWeb instead, they didn’t know that they were in the wrong place. They thought that the Facebook login page had changed, and they weren’t happy about it. ReadWriteWeb has now put up a gigantic disclaimer on the article to explain that they are not Facebook and explain how to get there.

This whole chain of events seems destined to go down in Internet history as an amazing pile-up of failure.

Reactions seem divided into two camps. One camp is having a great laugh at the stupidity of the users – after all, how could they look at a page with a red masthead, titled “ReadWriteWeb”, featuring a news article, and think they were on the Facebook login page? How could they be smart enough to figure out how to leave a comment, but too dumb to know what site they were on?

The other camp, for example an article from blogger Funkatron called We’re the stupid ones is pointing the finger at the software world for assuming that everyone knows as much about computers as we do, and more specifically at Google – after all, isn’t this in some way Google’s screw-up for returning the wrong result?

Well, the name of this blog is “Not the User’s Fault”, so much as I would like to have a laugh at stupidity and then move on, I think it’s better to try to understand what this must have been like from those users’ point of view, and see if there’s anything we can learn from the whole boondoggle.


So I hear there’s this website called “The Facebook” that is really popular with the kids these days, and I decided to check it out…

Kidding, kidding. Of course I know what Facebook is. I’ve just been choosing not to participate. The whole “social networking” thing doesn’t offer me anything I want that I can’t already do through e-mail or by building websites. (I recognize that I am atypical in this regard).

I actually tried out Facebook back when it was university-students-only. I built a profile, linked it to my friends, and then said “Well, now what? I guess I’m done.” And I never went back. Eventually I deleted my profile, just to avoid spreading outdated information about myself.

Of course, Facebook now is not really the same application as Facebook in 2004. With over 350 million users (as many as Firefox), it forms a significant part of how many people experience the Internet, and as such it shapes their expectations for how web interfaces should look and feel, as well as how their real-life relationships should be represented in software.

This was the argument given by many of my coworkers, who told me that I ought to at least try out the modern Facebook, so that I could better understand where many of our users are coming from.

So I went to Facebook and started creating an account. I entered my first and last name and email address, and Facebook showed me a page saying “We think these people might be your friends”. There were several dozen people there who I actually know, mixed in with several dozen who I don’t.

Wait a minute, How does Facebook know who my friends are?? Remember, I hadn’t told them anything except an email address at this point. I was disturbed by how much they knew about me. More than disturbed. I was freaked out.


“An undefined problem has an infinite number of solutions” – Robert A Humphrey

I found that quote on the underside of a tea bottlecap. I think it’s germane to what we’re doing with Test Pilot.

In the months since we started the Test Pilot program, we’ve run three studies, which have collected massive piles of data.

But as the bottlecap warns, those massive piles won’t get us anywhere unless we know what problem we’re trying to solve with them.

There’s a temptation, when looking at a pile of data, to leap to design conclusions.

For example: Suppose studies show that almost nobody is using the profile manager. Great, that means we can get rid of the profile manager! Right?

Or, to use a non-hypothetical example:

Minimum, average, maximum tabs open per session

(Thanks to Blake Cutler for generating all the graphs used in this post).

The most common Firefox session is one with three tabs open? Well hot dog, we should optimize Firefox for the three-tab use case! Right?

Careful, there. This kind of assumption is dangerous. Maybe lots of people would start using the profile manager if they knew it existed. Maybe people would love to have sessions with more tabs open, if the interface was better for managing lots of tabs.