Tech Notes

Surrendering to WordPress

Posted in Tech Notes on July 23rd, 2010 by Victor Grey – Comments Off

The previous incarnation of this blog was, among other things, a software experiment. I wanted to learn about CouchDB, so I wrote a simple blog app in Ruby on Rails, using CouchDB as a back-end.

Well, CouchDB turned out to be a disappointment in several ways. First of all when I did some simple benchmarking against a real application, CouchDB was surprisingly slow. Considerably slower in fact that the default Rails ActiveRecord and MySQL. Secondly, the CouchDB paradigm of saving a javascript function for every desired query gets tiresome after not too long.

I’m still bullish on the NoSQL notion though, so I’ve moved on to MongoDB. I’ve been developing the next small thing in anti-social networks using MongoDB with Rails 3 and the Mongoid object mapper, and so far I’m very happy with it. It’s fast, it’s flexible, and it lends itself to modeling data in a way that feels just so. MongoDB is developed as open source by a small engineering-driven company called 10gen, and there seems to be a vibrant community of developers springing up around it. There’s even a monthly meetup in SF.

Meanwhile, I had this blog backed by CouchDB and no longer any good reason to incur the overhead of running CouchDB. Having approximately no interest in writing yet another blog app, I’ve decided to follow the path of least resistance off the cliff and bring up TATWD in WordPress.

Importing the posts from the previous blog was not all that easy, it being an idiosyncratic home-made application, and most of those posts just traced my own process through the world of software and identity anyway. Not the kind of literature that improves with age. So I just copy-and-pasted the few posts that I though I might conceivably want to refer to some day, and am letting the rest die gracefully. I hope the readers of this blog (yes, both of you) don’t mind too much.

Anti-Social Networks: the next small thing

Posted in Tech Notes on October 29th, 2009 by Victor Grey – Comments Off

Recently a friend sent me a link to the FOAF+SSL site. This page and its linked articles were an entertaining journey into virtuoso hand-waving. A protocol that depends on having all of your users create FOAF files, um, somewhere, and then generate self-signed certificates and install them in their browsers? What user population did you have in mind exactly?

As serendipity would have it, right afterwards I came across an article entitled “Anti-Social Networks” by John Shade. It’s a PDF, so you have to download it and then turn to page 38. Shade is a funny guy, and his article skewers the kind of thinking that went into FOAF+SSL. Here’s my favorite paragraph:

“It used to be enough to make the software work. But when software is all about human-human interaction, the goal becomes to make the human-human interaction work. And its worse than that, because social software is not about individual users. You have to understand groups, which, it turns out, can’t be done by understanding an individual user and iterating.”

This of course got me thinking. Everyone wants to build the next big thing. No one seems to be asking whether we really need another big thing.

One capability of the internet that has been celebrated from its inception is that it makes it possible for anyone in the world to connect to anyone else. The first big thing that exploited this was email. The most recent big things are large social networks like MySpace and Facebook. They have their place, but they also create a big problem — when anyone in the world can connect to you, anyone does.

People often try to filter this problem by creating small ad hoc groups within the open space, and various social software systems facilitate this with varying degrees of transparency and privacy. Smaller networks like LivingDirectoryand Ning formalize group creation within their respective networks.

My little epiphany was that this network within which groups are created is an unnecessary construct. Even if a single web service has created many different groups, each group has its own identity and does not need to partake of an artificially created enclosing identity. A group’s identity is formed by its stated purpose, its history and its participants and their contributions to the group. Since it is possible to move all of these things from one software host to another, the identity of the group does not of necessity have any relationship to its current host, any more than it does to the current hardware it is running on.

The whole notion of user-centric identity has been fraught from the start. The thing is, to be a “user” you have to be a user of something. The something of which you are a user is as much a part of the online identity created as you are. This is imho the misdirection facing efforts such as the Data Portability Project.

Your identity in what we are pleased to call the “real world” is based on your physical body. It came into being when you were born, and it will cease when you die. You can have many identity documents, but they presumably all point to one human individual. You only get one body (at a time). Online identities however are disembodied, and you can have as many as you like, but you probably have to share them with the group they exist within.

Stand-alone groups only need a few rules and a protocol. Some rules needed are: who can join and how; authorizations required for different kinds of access; how content moderation happens. The protocol must define how groups can affiliate with each other to share data if they wish, and a serialization standard for the group data and rules so they can be moved from one host to another.

The ability to affiliate means that a group doesn’t have to choose between being a virgin or a slut, i.e. a walled garden or globally available.

Shade uses the phrase “anti-social network” ironically. I’m going to appropriate it to mean (slightly less ironically) networks that don’t want to connect to the whole world, just to their own and affiliated participants.