Stowe Boyd: Building Social Applications [en]

Warning: these are my notes of Stowe‘s workshop at LIFT, meaning my understanding and interpretation of what he said. They might not reflect accurately what Stowe told us, and might even be outright wrong in some places. Let me know if you think I really messed up somewhere.

Update 05.2007: enjoy the slideshow and the video of his presentation (not the workshop!).

Questions to play ball with:

  1. What makes social applications social (or not)
  2. How can we make applications more social?
  3. What are the common factors in successful social applications?
  4. What is worth building?

  5. iTunes vs. Last.fm; also non-social applications which implement, at some point, some social component.

“Software intended to shape culture.” Stowe Boyd, in Message, August 1999

steph-note: a step further than “groupware”

LIFT'07... Stowe Boyd

Applications which are qualitatively different. But they haven’t replaced the rest: people are still building applications which allow people to buy stuff online. But we’re looking for ways to stick the humans back in there (“what do the top 10 authorities on cellphones recommend?”)

Read: The Great Good Place by Ray Oldenburg (Third Place, not home and not work)

Decreasing affiliation in the USA (Putnam — sp?). People spend less time “hanging out” with people. steph-note: cf. danah/MySpace More TV. Commuting isn’t that significant, but hours in front of the TV is. The light at the end of the tunnel, the only hope we’ve got left, is the internet. Social hours spent on the internet are hours not spent watching TV (steph-note: yep!)

TV is not involvement in people, but in this “entertainment culture”. TV reached lowest numbers in the USA since ’50s.

One way we can measure the success of a social application is how much it moves us in that direction.

Social: me first. Put the individual in the centre. Look at the difference between traditional journalism (disembodied third voice) and blogging (first person, you know who’s writing and who’s reading). Need to start with needs and desires of the people using it (?).

Adoption happens in stages. First, the application needs to satisfy the needs of an individual, in such a way that he/she comes back. And then, there needs to be stuff to share that encourages the individual to invite his friends in.

my passions — my people — my markets

Start with the people. Put the people in the foreground (but how?) Easy to fail if you don’t do that right. How are people going to find each other? Second, support their networks/networking.

Only third: realisation of money — markets — shipping etc.

Give up control to the users: “the edge dissolves the centre”.

To review a social app, you need to use it “for real” over an extended period of time.

Xing: the edge doesn’t dissolve the centre. E.g. can’t create a group. Need to ask them by e-mail, and they try to control group creation and management.

Build an environment in which people are “free”. Allow them to find each other.

Success factors for a social application: me first and bottom up. Otherwise, it won’t spread.

Blogging: primary goal is social interaction and networking (steph-note: half agree, there is the “writing and being read and getting some recognition” goal too — and that is not necessarily social interaction and does not necessarily lead to network contacts)

What suicide girls get right: low price, real people, real lives, social stuff like chat, pictures, etc. They have the connections between the people as the primary way to go around.

Semi/a-social

  • iTunes
  • Bestbuy.com
  • Pandora (until recently)
  • After the fact (eBay: reputation, Netflix: friends in a tab, Amazon: recommendations from other users, Basecamp: not that social, fails some of the critical tests)

The Buddylist is the Centre of the Universe…

A case against IM being disruptive: the user chooses how disruptive the client is (blings, pop-up messages, etc… same with e-mail)

Totally acceptable to not answer on IM. But also, maybe at times your personal productivity is less important than your relationship with the person IMing you.

“I am made greater by the sum of my connections, and so are my connections.”

(Give to others, and they’ll give to you. Help your buddies out, be there for them, and others will be there for you when you need them.)

List of hand-picked people who are on your list.

Groups help huge communities scale, in the way they bring them down to manageable sizes for human beings again. (Dunbar constant, roughly 150 people.)

Six degrees of connection doesn’t work. People are strangers. Even second degree is really weak.

Difference between people you really talk to, and “contacts” (often people will have two accounts => should build this kind of thing into the service — cf. Twitter with “friends” and “people you follow”).

Me, Mine, and Market.

Market: it’s the marketplace where the application builders are going to be able to make money by supporting my interaction/networking with “mine”.

You can’t “make an app social”, you need to start over most of the time.

Think about the social dimension first, and then what the market is. E.g. social invoicing app, what could the market be? Finding people to do work for you. And then you can invoice them using the system.

E.g. Individual: “I need a perfect black dress for that dinner party.” => who knows where to shop for the most fashionable stuff? => market = buying the perfect black dress, with commission to the recommender. (New social business model!)

Facebook profile: all about flow, it’s not static. It’s a collection of stuff going on in my world. Information about my blog (posts), friends… I don’t have to do anything, and it changes.

It represents my links to the world. People want to belong. Be in a context where what they do and say matters. Make it easy for users to find other people who will care about them.

Orkut failed because it was just social networking for the sake of social networking. Not targeted at a specific group of people. Nobody who cares! Disease-like replication and then died down. Nothing to do there.

Swarm intelligence. People align around authority and influence. Some people are more connected then others. Inevitable. Swarmth = Stowe-speak for measure of reputation. As soon as reputation brings something to those who have it, charlatans step in and try to figure out how to game the system. Need to be aware of that, to discover those cheating mechanisms and counter them.

General principle: things are flowing, and we want to support the rapid flow of information (ie, stuff that goes in my profile). “traffic”: do you make it possible for people to get information from a variety of sources delivered quickly to them? (e.g. Facebook bookmarklet) (traffic=possible metric).

The media hold the pieces, but not the sense of the conversation. You need to immerse yourself into the flow to get it. How transformative is it to get a constant flow of information from people you care about? Can’t evaluate that from the outside.

Tags

cf. David Weinberger: tags matter for social reasons. The power of classification is handed out to the users. They use it to find information and to find each other. They define implicit social groupings.

If people don’t “get” tags, the interface isn’t good. Because the concept is really simple. (e.g. Flickr, del.icio.us get it right)

Discovery

Primary abiding motivator of anybody on the internet: discovery (things, places, people, self)

One of Stowe’s pet peeves: Groups and Groupings

Networks are asymmetric, accept it. Everybody is not equal in a group. The groups are always to some extent asymmetric.

Groupings are ad hoc assemblages of peope with similar interests (from my point of view). (My buddy list categorisation.)

Groups try to be symmetric.

Community of tags. They happen automatically.

Power Laws

There will always be people with more power than others, get over it. The recommendation of somebody with more swarmth should count more than that of one with no swarmth.

Accept and work with the imbalance of power.

But careful! The people decide who has more swarmth. And you need to constantly counter the games. Natural social systems are self-policient (sp?).

Reputation

Measure and reward swarmth (steph-note: !== popularity, quantity)

Reputation is not transportable from one network to another.

Deep Design

  • last.fm (neighbours!)
  • upcoming.org (events are nothing without people!!)
  • Facebook
  • ThisNext (about design and fashion)

First, just build the social app. Once the social stuff is in place, build the market (see Last.fm).

Journal where you can integrate music references. With backlinks from artists.

Mistake? tags aren’t source of groupings.

steph-thought: Flickr groups are not just about people, they are about editing content (creating collective photo albums).

If you have an existing social app, and an entrenched body of users, to make people switch to your new product you need to be an order of magnitude better.

Tag beacons: a recommended tag (e.g. lift07)

If you make people tag an item, the tags used stabilize over time. After a while, the same 10-15 tags. Little chance a new user two years latter will suddenly introduce another tag.

ThisNext is pretty. A piece of social interaction stuff missing however — can’t communicate with other people. Profile just leads to recommendations.

Cautionary Tales

Basecamp and the Federation of Work: multiple logins, domains — fragmentation. Wanted to be able to pull everything in a single place. Not simple to keep track of everything one has in the system. Pervasive static models with hardly any flow. It’s an online groupware app, not a social app. It doesn’t put me in the foreground.

Outside.in is about finding people who are in your zipcode. I remember Stowe did a post on this some time back. “Where’s the people?”

You only get one first launch. What’s the point of missing it by doing it before you got to the social tipping point?

Blinksale: where’s the market? (invoicing thing)

Explorations

Where is all this going? All commerce on the internet in the future will be social. Put in context of social recommendations etc (perfect little black dresses). A social iTunes — what would it look like? They could acquire Last.fm and integrate them to iTunes, for example. I could recommend music to my friends via iTunes…

Calendars are hard! We’re still waiting for the perfect (at least good) calendar-sharing system.

Social browsing… “What should I look at today, based on recommendations of these n people I really find smart?”

Safety/privacy concerns: solutions we have in the offline world need to be emulated online.

Tomorrow Will LIFT You Up! [en]

[fr] Demain commence la conférence LIFT à Genève. Deux questions capitales: est-ce que la conférence sera retransmise en direct, et y a-t-il un backchannel officiel?

Yes, the LIFT conference will be taking place in Geneva from tomorrow Wednesday until Friday. If you’re there and want to meet up, drop me a line — and if you’re not there, you can drool over the program and vow that you’ll be there next year.

Kevin, who is taking that vow as we speak, asked me two important questions:

Update: I’ve just announced the backchannel on the collaborative LIFT Flow blog.

WordPress not Sending Pings Anymore [en]

[fr] WordPress fait des caprices et a arrêté d'envoyer des pings automatiques (trackback, pingback) sans me prévenir. Grinche.

Once upon a time, I loved WordPress because I didn’t have to enter trackback addresses manually anymore — at least, not when I was linking other WordPress blogs, or pingback-enabled blogging tools.

Those days are gone, and I’m not quite sure when it started. I’ve been having a creepy feeling for sometime that I wasn’t getting as many “internal” (CTTS to CTTS) trackbacks as I should. Today, I checked.

Heck.

You know me, I specialize in weird, not-so-reproducible issues. So, it wouldn’t be that WordPress has stopped sending pings altogether, no, that would be too simple.

WordPress has stopped sending pings *most of the time*. But sometimes, every now and again, it sends one. Or a couple. Or three.

What is going on, would you say?

Web 2.0 … The Machine is Us/ing Us [en]

[fr] Une vidéo qui vaut vraiment la peine d'être regardée (si vous comprenez l'anglais).

I really enjoyed this video and want to share it with you.

Thanks to Joi for pointing it out on IRC.

Basic Bilingual and Bunny's Technorati Tags Plugins Updated for WordPress 2.1 [en]

[fr] Mise à jour de mes deux plugins pour WP2.1 qui les cassait gravement. Mises à jour pas testées, à manier avec précaution.

Thanks to Sudar, who took the trouble to fix Bunny’s Technorati Tags so that it worked with WP2.1, here are up-to-date version of these two plugins, Bunny’s Technorati Tags and Basic Bilingual:

The previous, WordPress 2.0-compatible versions are still available:

Warning: these old versions suffer from the empties custom fields problem. Don’t use them with 2.1.

Disclaimer: I’m swamped with work, haven’t upgraded yet, and haven’t tested the new versions of the plugins. Use carefully. Let me know if there are glitches. Bunny’s Technorati Tags is the very version Sudar put online (I’m making it available here mainly as there are links to it out there beyond my control, not the least from the wp-plugins.org wiki which has been closed to editing due to spam.) For Basic Bilingual, however, I adapted the code Sudar had added to Bunny Tags, but I don’t fully understand if it works. Backup, try gingerly, and please leave comments here to let others (and myself) know if it works or breaks.

Thanks.

Invalid argument supplied for foreach() in wp-capabilities.php: Case Cracked! [en]

[fr] Le problème avec wp-capabilities.php qui fait qu'on peut se retrouver "exfermé" (enfermé dehors) de son blog WordPress (typiquement en cas de changement de serveur) semble avoir sa source dans le contenu du champ wp_user_roles dans la table wp_options. En particulier, pour la version française, "Abonné" est un rôle d'utilisateur, et en cas de problèmes d'encodage MySQL, le caractère accentué sera corrompu, causant ainsi l'erreur.

Il suffit de remplacer le caractère fautif dans PhpMyAdmin, et on retrouve l'accès à son blog. Bon, reste ensuite à régler les questions d'encodage... mais c'est déjà ça!

Finally. At last. Endlich. Enfin.

Once more, while trying to transfer a WordPress installation from one server to another, I found myself facing the dreaded problem which locks me out of my WordPress install with a rather cryptic message:

Warning: Invalid argument supplied for foreach() in /home/user/wp/wp-includes/capabilities.php on line 31

(Your lineage may vary.)

What happens is that WordPress cannot read user roles, and therefore, even though your password is accepted, you get a message telling you that you’re not welcome in the wp-admin section:

Vous n’avez pas les droits suffisants pour accéder à cette page.

Or, in English:

You do not have sufficient permissions to access this page.

A quick search on the WordPress forums told me that I was not alone in my fight with wp-capabilities.php, but that many problems had not been resolved, and more importantly, that suggested solutions often did not work for everyone.

I’ve bumped into this problem a couple of times before, and I knew that it was linked to encoding problems in the database. (I’ve had my share of encoding problems: once, twice, thrice — “once” being on of the most-visited posts on this blog, by the way, proof if needed that I’m not alone with mysql encoding issues either.)

I’ll leave the detailed resolution of how to avoid/cure the MySQL problems later (adding
mysql_query("SET NAMES 'utf8'");
to wp-db.php as detailed in this thread, and as zedrdave had already previously told me to do — should have listened! — should prevent them). So anyway, adding that line to my working WordPress install showed me that the problem was not so much in the database dumping process than in the way WordPress itself interacted with the database, because the dreaded wp-capabilities.php problem suddenly appeared on the original blog.

Now, this is where I got lucky. Browsing quickly through the first dozen or so of forum threads about wp-capability.php problems, this response caught my eye. It indicated that the source of the problem was the content of the wp_user_roles field (your prefix may vary). In this case, it had been split on more than one line.

I headed for the database, looked at the field, and didn’t see anything abnormal about it at first. All on one line, no weird characters… just before giving up, I moved the horizontal scrollbar to the end of the line, and there — Eurêka! I saw it.

Abonné

“Contributor”, in French, is “abonné”, with an accent. Accent which got horribly mangled by the MySQL problems which I’ll strive to resolve shorty. Mangled character which caused the foreach() loop to break in wp-capabilities.php, which caused the capabilities to not be loaded, which caused me to be locked out of my blog.

So, in summary: if you’re locked out of your blog and get a warning/error about wp-capabilities and some invalid foreach() loop thingy, head for PhpMyAdmin, and look carefully through the wp_user_roles field in the wp_options table. If it’s split over two or more lines, or contains funky characters, you have probably found the source of your problem.

Good luck!

Steph+Suw Podcast: First! [en]

[fr] Suw et moi avons enfin enregistré le fameux podcast-conversation dont nous parlons depuis notre première rencontre, en mai 2004. C'est en anglais et c'est assez long, mais on s'en est pas trop mal sorties pour une première!

Each time Suw and I meet, we talk about recording a podcast together. We met for the first time in June 2004, and if I believe the Podcasting and Beercasting Thoughts I wrote a little less than a year later, that was indeed when we first started talking about using audio to record conversations.

I’m definitely sure that we talked about it at BlogTalk 2. I don’t think Skype was in the air then, but we talked about hooking up our phones to some audio recording device, and left it at that. At that time, people were getting excited about “audioblogging” (did we already talk about “podcasting” back then? It seems a long, long time ago) and we agreed that were audio really became interesting was in rendering conversations. (See the Podcasting and Beercasting Thoughts post for more about that.)

Anyway, now we have Skype, and Call Recorder (which reminds me, I need to write up a post about the ethics of recording audio conversations), and we finally got round to doing it. It’s a bit long-ish (40 minutes — not surprising if you know us!) and has been slightly edited in that respect, but honestly, it’s not too bad for a start.

Here is roughly what we talked about.

  • San Francisco, web geek paradise
  • City sizes (see this London-SF superimposition map)
  • Segways
  • The cat/geek Venn diagram (Twitter error message)
  • I really want a Wii
  • IRC screen names
  • The difficulties of pronouncing S-u-w
  • When geeks name children: A unique identifier or anonymity?
  • Stalkers and geoinformation
  • Perceptions of security
  • Giving out your phone number and address, and personal boundaries
  • Airport security (background…)
  • Risk and expectations of risk
  • Death, religion, and the medical industry
  • Naming our podcast… something about blondes, apparently
  • Clueless marketeering from the Fabric nightclub in London
  • The repercussions of having a blog that people think is influential (even if
    you don’t think it is)

Let us know what you liked and didn’t like! View Suw’s post about this podcast.

Rédaction d'infos pour ciao.ch [en]

Mon travail de rédaction pour le thème internet de ciao.ch, un site d’information et de prévention destiné aux adolescents, avance plutôt bien.

L’association CIAO m’avait contactée il y a déjà bien longtemps, mais entre un job d’enseignante à quasi-plein temps à l’époque, des rechutes de TMS, et les débuts un peu sur les chapeaux de roue de ma vie de consultante indépendante, le rédaction a vraiment commencé au compte-gouttes. Mais là, depuis quelque temps, on a trouvé un rythme de croisière à coups d’après-midis dans leurs bureaux et de nombreux litres de thé de menthe assaisonnés de quelques gâteaux et chocolats.

Si vous avez un moment — et surtout si vous connaissez les adolescents de près ou de loin — votre avis sur ce qui est déjà en ligne m’intéresse grandement. Est-ce que ça vous paraît adapté, pertinent, adéquat?

Le thème est loin d’être complet. Seront mis en ligne prochainement des chapitres tournant plus autour de la “sécurité informatique”: virus, phishing, spam. Le reste attend d’être rédigé…

Five Things You Probably Didn't Know About Me [en]

[fr] Cinq choses que vous ne saviez probablement pas à mon sujet. Un petit jeu qui tourne dans la blogosphère.

This is way overdue, but I have a guilty conscience after having been tagged by Jonas, Ric, and Dannie. I think the main reason I haven’t yet published this post (well, I have now, but look at the dates I was tagged upon and you’ll understand) is the difficulty in figuring out how I can tell a very varied audience (which includes family, strangers, IRC buddies, close friends online and off, googlers, passing acquaintances, work relations and all the others) things that “they” probably don’t know about me.

So. I’ve had to conjure up a target audience. Let’s say the target audience are people, online or off, who know me somewhat but not that well and have maybe not known me for many many years. My close friends and family will probably know the five things I’m bringing up here, and none of them are “secrets”. Some of these facts are even already “out there” if you care to look for them.

That said, here goes.

  1. I have a 21cm-long scar. I got it for my sixth birthday, and it beats all the other birthday presents I ever got. (Came with a price, though.)

  2. My middle name is Jane. I like having a middle name, and I quite like the one that was chosen for me. This hasn’t always been the case.

  3. My mother died of cancer when I was 10. It was only about fifteen years later that I managed to ask my dad which type of cancer she had, and details about her illness.

  4. I usually start writing my posts at the beginning, work straight down, tag and categorize, and hit publish. I rarely proof-read or re-read.

  5. My “pre-bunny” nickname was Gummywabbit. People kept thinking I was a guy, and I got sick of it.

What I chose to list here obviously says a sixth thing about me: I have a tendancy to get caught up in extremes. Too dramatic or too futile, too much or nothing at all. I work hard towards exploring the middle ground, but as you can see, I’m not always successful. Lucky you anyway, you got sixth things for the price of five!

I’m not tagging anyone myself (peer-pressure etc), but I’ll be happy to tag the first five people who ask me in the comments. And anyway, anybody is free to take up the meme and post their one — aren’t they?

OpenID at CTTS [en]

[fr] Installé OpenID sur ce blog.

Well, without really knowing what I’m doing, I’ve got myself an OpenID, and installed both the WordPress OpenID Plugin and WordPress OpenID Delagation plugins. Stuck a few links in del.icio.us.

You should normally be able to use OpenID to comment here, and I should normally be able to use OpenID where it’s accepted.