My comments to Dave Tosh on the launch of Explode.

Pretty nifty. My main complaint is that it set my user name for me, and didn't allow me to choose my own (if you're poking around in the database you can change it to 'Downes' for me, to match all my other accounts in places).

Now - yes, it's distributed, in that I don't need to use specific software (such as ELGG) to create my friends network. Nothing against ELGG, it's great, but I use my own software. So this is a really nice feature. It allows me to join networks where ELGG used to cut me off.

But... all the friends lists are centrally hosted, right? And the actual software (that I call with the JS) is also centrally located. No, that's not evil or anything, but it means you're playing in the same grounds as, say, MyBlogLog (and they have that digerati boost behind them, so...)

How to make it more distributed? Well, first, allow people to store the list of friends *anywhere*. Of course, this means the list won't be in a DB any more. You'll have to code it in XML and allow it to be placed as a r/w file on some server. Which means that the code will need the username and password to that location.

Then, second, allow people to place instances of the software on their own server. People will like this because when the central repository of names inevitably slows down (all these widgets bog down when they get popular, theirs won't. Also, they'll feel more comfortable giving access information to a local script.

This is good, now, what you have is basically a widget that manages your FOAF file for you. But at least you're ahead of MyBlogLog.

Next thing to do is to integrate this with OpenID. After all, if people are installing a friends widget on their servers, they may as well install their OpenID at the same time. This is handly, because it allows the list of friends to be synced with the list of OpenID IDs.

Also develop a multiuser version. This is the one that you'll sell. It's still a very simple application (and you wat to keep it that way). Or you might give away a multiuser version but sell a 'pro' with service and support. Your call. You also want to keep the hosted version, so people don't have to install software if they don't want to. Of course, now your hosted version is just your local instance of the pro - and if it gets busy you can just create another instance of the pro on another machine. Centralized computing is for the birds.

Now what you want to do is to add an API. I can think of one really simple API that would just kill: AllowComment. This API is available to whatever system handles comments on your website. If called by the comment system, it answers that a commenter either is or is not in your social network, and adjusts commenting privileges accordingly.

Because the commenting system knows the identity of the commenter, it can also (optionally) fire a copy of the comment back to the commenters own blog or website. A lot like CoComment, except you're not installing a browser plugin. And you get the comment directly, not via some central comment management system.

If you want to get fancy, integrate this with email, so you can use your social network to screen your email.

That's pretty much it. Don't try to add the whole web into the same application. Keep the application itself very simple - let other software manage the website and content creation things.

Keep it simple. No big installs. If you've written Explode in Rails or something you'll have to sart over. Try to keep it to one simple script with a few user parameters.

Where are you going to make your money? That's easy - by creating matching or filtering services on top of this basic network. The individual 'pro' version will help you, if you want, find people with similar interests and preferences.


  1. > (I hope they remember me when they make
    > their millions)

    Not likely. But a true decentralized network is one where everyone can add value and make money. If one institution has more wired-in control, and can grab the cash without fair competition, then it is yet decentralized.

    However, we should remember that semantics like to be localized and FOAF failed partly because it tries to introduce cross-site semantics which tends not to work. (Semantics is complexity, complexity can be best managed when it is localized.) You can convince your little group to use the same semantics markup, but convincing millions of people is just hard, and if you ever succeed, all sort of trouble will arise.


    As Google has shown us though, you can make piles of cash by providing a centralized service on top of a true decentralized service especially if this decentralized service has little cross-document semantics. Google handles the complexity for us, it "localizes it".

    I think that's what universities have to do as far as online courses are concerned: they are centralized, but provide a service on top of a decentralized world (the web). Instead of trying to lock things up, they should leverage the network and fully integrate wikipedia, say, in the teaching.

    What Sebastien Paquet once wrote is that people with a blog do not need (software-based) social networking. I agree with Seb on that one. I'm a Z-lister and still enjoy quite a lot of social networking through my blog. Why would I be interested in some social networking gizmo other than my blog? I can graft pretty much everything on top of my blog.


Post a Comment

Your comments will be moderated. Sorry, but it's not a nice world out there.

Popular Posts