Quick Diaspora update

Just a quick note to other would-be Diaspora-pod-runners out there (since I couldn’t seem to find any info about this anywhere):
It is my experience that a pod needs 750 mb of ram as a minimum.

This is just my personal experience of what keeps my pod from crashing. It is very likely that I’m just a bad pod maintainer, and that you can in fact run a pod on much less.
Also note that of course the number of users, and their usage patterns will be reflected in the hardware requirements.

If this blog-post makes no sense to you what so ever, here is a cute animal:

Cute little foalCute little foal by Ernst Vikne

diaspora.compadre.dk: Status update…

Just a quick note that the Diaspora Pod I’m hosting at diaspora.compadre.dk is properly going to have more down- that up-time the coming time.

I don’t have much time to access the pod and try to get things working.

Feel free to use it when it is up, or look around for a more stable pod.
http://podupti.me/ seems like a good place to start hunting for a new pod.


The two greatest things about Google+

I have been looking around Google+ the last few days and it seems nice. The interface is intuitive, the Android app works fine, and the idea of putting your friends and acquaintances in circles to sort them by your relationship with them is (while not a new concept) clever.
In general I like most of the Google services and this one has that google feel that makes your average google fanboy (like me) feel good using it.

There is really no reason to pretend that Google+ is not taking on Facebook (I think Google themselves are the only ones claiming that it does something different from what Facebook does), so a comparison is straight forward.
On both systems I can stay in touch and share with people I know. That is basically it, and both systems do this. Who does it best isn’t really that important. As with all social networking tools, what matters most is if the people I want to socialize with are using the system.

So, is there any reason to believe that Facebook and/or Google+ is going to be the last social network I’m going to sigh up with? Properly not.

So as a user, I’m really interested in being able to migrate my data  (content, connections, personal info) easily from one network to the next.
And that is the first great feature of Google+. Getting your data out is easy – there is a menu option under Account Settings called Data liberation. It let’s you export your data nice and easy. (See the screen shots to your right.)

The other great thing is the option to delete your account. Facebook has been infamous exactly because this is so hard to do with Facebook accounts. First you have to go through the process of deactivating your account, and only then can you request it to be deleted. But Google is presenting this option one click from my Google+ frontpage.

These two features of Google+ is, in my mind, helping people understand that they are free to leave any social media site, and if they can’t bring their data with them, it’s not really the right place to be to begin with.

But I may be wrong. In the end, the most popular site is properly going to be the one with most kittens

Kittens! by jameswragg

Is Google+ going to take out Facebook?

So, what is Google+?

That was the question that struck me today while reading xkcd.
It would seem that Google is trying their hands at a full scale social network.

They have tried and failed not quite succeeded in the past. Google is fantastic at seaching, presenting information and seraching and processing your own data.
Their social services have been less successful.
Google Buzz never really took off, and their collaborative tool, Google Wave is now being killed off (at least as a Google service).

But maybe this time they will succeed. The central difference between Facebook and Google+ seems to be what Google describes as circles. Basically you have to sort your contacts. This ensures that things you just want to share with a select few of your contacts doesn’t reach the eyes of all your contacts. The obvious example being the pictures from last night that you may want to share with your close friends, but maybe not with your boss.
Facebook does have something like this implemented (they call it lists), but it is far from intuitive to use.

Another strength that Google has in the coming struggle with Facebook is their track-record. Google has a motto of don’t be evil. Facebook has with their actions time and time again showed that they in fact don’t care about the privacy of their users.

From my point of view, anything else than Facebook can almost only be better. However, that it will be up to everyone to make up their own mind on this matter. The problem with social media is that what really matters is if the people you want to interact with are using your network of choice or not. Not much fun sharing funny stories only with your self…

One issue that Google+ won’t be tackling, in regard to privacy, is the fact that all the data will be located on Google’s servers. Being an American company, that means that quite a lot of law enforcement agencies will have access to the data – and they don’t have to inform the people whose data gets handed over.

In the long run I hope to get all my social media needs fulfilled by some sort of distributed system, where I at least have the option to control my own data. When it matures out of the current testing status, Diaspora might be a candidate to provide this.
In the meantime I am very interested in seeing how well Google manages to implement their Google+ social network. As I stated above, from my point of view, anything is going to better than Facebook. The possible integration with other Google services, such as Picasa, also seems interesting.
Feel free to share your thoughts in the comments below.

Running a Diaspora pod on Ubuntu 10.10

Edit: Since Diaspora has switched from mongo db to mysql, the procedure below is now outdated. I may or may not update this page, or write a new guide.

During the holidays I have had some time to look into Diaspora.
Diaspora is a distributed social network, with a focus on privacy, security and ownership of ones own content. Everyone is free to run their own pod, and users on different pods can connect and communicate with each other. (Diaspora servers are called pods). The Diaspora software is still being developed and is in an alpha state.

Installing Diaspora
There is a great guide to installing Diaspora on Mac OSX, Ubuntu or Fedora here.
On Ubuntu 10.10 it boils down to this.

First install some required packages.
sudo apt-get install build-essential libxslt1.1 libxslt1-dev libxml2 ruby-full mongodb libssl-dev imagemagick libmagick9-dev git-core redis-server rubygems
sudo gem install bundler
sudo ln -s /var/lib/gems/1.8/bin/bundle /usr/local/bin/bundle

Then get Diaspora and the required gems.
git clone http://github.com/diaspora/diaspora.git
cd diaspora
bundle install --path vendor

Configure Diaspora and nginx
cd config
cp app_config.yml.example app_config.yml

now edit app_config.yml and change the hostname. If you want your pod to be able to send e-mail also edit the mailer_on and smtp_* entries. All the rest is for more advance settings, and your pod should run just fine with the default settings.

One last thing that needs to be set up, before you can enjoy your very own Diaspora server is a proxy, so that requests sent to port 80 are routed to port 3000.
I use the nginx server, as recommended.

Create a file called diaspora in /etc/nginx/sites-available with this content (where you of course change name-of-your-domain to the relevant string):

server {
        listen   80;
        server_name  diaspora.name-of-your-domain;
        access_log  /var/log/nginx/diaspora.name-of-your-domain.access.log;
        location / {
                proxy_pass http://name-of-your-domain:3000;

Activate it with
sudo ln -s /etc/nginx/sites-available/diaspora /etc/nginx/sites-enabled/diaspora
Then restart the nginx server with
sudo /etc/init.d/nginx restart

Finally, if you also want to allow the users of your pod to propagate their status to Twitter and Facebook, you should follow this easy guide on how to configure the oauth_keysm.yml file.

You should now be able to start your pod by issuing
from the diaspora directory.

Running Diaspora
However, this way of starting the pod can result in an inability to add contacts from other pods. So inspired by this you can do the following.

sudo update-rc.d -f redis-server remove
sudo sed -i 's/daemonize yes/daemonize no/' redis.conf
sudo /usr/bin/redis-server /etc/redis/redis.conf &

(You will need to start the redis server each time you reboot your host, or if the server fails in other ways.)

Now, each time you want to start your Diaspora pod run the following three commands from the diaspora directory. Wait for one service to start, before starting the next.

ruby script/websocket_server.rb &

QUEUE=receive,mail,receive_local,socket_webfinger,http_service,http,receive_salmon bundle exec rake resque:work &

bundle exec thin start -p 3000 -e development &

You can of course do this more elegantly, by wrapping it up in some scripts, but hopefully you get the idea. So instead of using the script/server script I use those three commands to start my pod.

Now your pod should finally be ready for use.

Now what?
So, should everyone run their own server? Properly not. Diaspora is still so early in the development process that normal users should think twice before using it. The features are limited, and there are still plenty of bugs.

But if you want to see what it can do, look for bugs or are just curious, then why not?. However, you don’t need to run your own pod for that. There are plenty of pods out there that accept new user signups.
Take a look at the list over here: http://podup.sargodarya.de/.

You should also feel free to use my pod, located at diaspora.compadre.dk.
What ever you choose to do, please note that this is still alpha-software, and should be treated as such.

If you need someone to add as contact for testing purposes, feel free to add me: soeren_b_c@diaspora.compadre.dk.

For more info about Diaspora see:

https://joindiaspora.com/ – the official Diaspora website, that also hosts a pod, run by the core developers. Currently the pod at joindiaspora.com is closed for new signups, but due to the distributed nature of Diaspora any pod should be fine, as long as you trust the people running the pod.
http://podup.sargodarya.de/ – list of running pods.
http://en.wikipedia.org/wiki/Diaspora_%28software%29 – Wikipedia article