I have recently been turning my attention to
Twitter, a microblogging site and
thimbl, a free open-source distributed microblogging site. Thimbl are light on the details as to how their systen works, but it seems to revolve around the system admin enabling the finger daemon, and writing text in their ~./plan file. I am unaware as to how the sever-side works, though.
The blog entry
OpenProvider stated that the ideal social network should have:
- Accessibility/virality - it should be easy to find your friends
- Privacy
- Low barrier to entry
- Portability
Here is some of my own thinking on the matter:
- Accessibility: I would say that accessability is a "solved" problem - it's called a URL
- Privacy: social networks seem, to me, to be inherently public. If something is published, even "privately", then it is effectively public if you stress the word "social".
- Low barrier to entry: I think it's very difficult to build distributed systems for non-technical people. Thimbl, for example, requires that an admin activate fingerd. That probably means that you need to be in a UNIX-like environment straight off the bat. Corporations are unlikely to be receptive to setting up these kinds of services unless it satisfies a corporate objective. Fingerd might make people nervous, too, "
| Since finger usually serves no useful purpose and reveals potentially sensitive information about accounts on the system, the best solution is to disable it. |
" (Source) I don't want to pick on finger in particular - I just want to note that if you want to set up some kind of distributed service, then basically you need to be technically knowledgeable, and running Linux (well, OK, maybe Windows will get you there EVENTUALLY). Perhaps I could envision a programmatic front-end that will set something up for a complete newbie, which provides an inflexible framework for becoming published, and incorporates its own little server. Even then, the user might be expected to know how to perform port forwarding on their router - this is likely to be surprisingly challenging for someone who is computer illiterate (hell, my dad doesn't even understand the concept that a picture is a "file").
- I think there is always going to be a trade-off between centralised and decentralised designs. Centralisation allows for technical people to set up the framework once, and allow non-technical people to access those services without complicated setups. Central servers are likely to be better backed up, and they don't suffer from users turning off their machines.
Having said that, I'm quite intrigued by the whole idea of distributed social sites. I now want to toy with the idea of a distributed forum system that doesn't require registration. I have been reading the
suckless site, and their philosophy of keeping software simple. They seem to really like the Plan 9 OS. I'm not sure about what the big deal is, but it seems that everything is a file - which simplifies things like interprocess communications and networking. There is software, plan9port, which implements this on Linux. The suckless site uses it for
werc, "a sane web anti-framework". I plan to check it out.
1 comment:
Hi Mark, nice article. Thimbl is not "light on details" there are simply not so many details because the system is so simple. We will do our best to continue to add information as the project goes along. Also, source code is available, so the hood is wide open. // @dmytri
Post a Comment