In the spirit of the recent ideas threads here, I'd like to share my
ideas that I would like to achieve with the gta04, as part of a larger
system. I wrote it in an article format, and it isn't finished, but
nothing ever is. So here goes.

** introduction
I'm interested in free client - server clusters, with wearable nodes,
and laptop nodes.

Free software is pretty strong server side, but somewhat weaker on the
client, especially small systems such as phones. It should be possible
to leverage the server side strength on the client machines.

Since a server is part of the equation, complexity can be offloaded there.

The idea is somewhat like an instance of the Google or Apple
stack, but personal, running on your own servers, and geared towards
making it possible for you to do what you want rather than generating
ad revenue streams.

** concretely
Okay, so what does that mumbo-jumbo translate to in practice?
Concretely I'm working on a Puppet server manifest, that describes all
the services one might want to use on the server, and matching client
software that runs on the phone and/or laptop.

Since the point is that you should not need weeks to set all this up,
I make concrete choices. These will not appeal to everyone, but are of
course open for discussion.

*** flatrate 3G/4G
The internet connection is assumed to be flatrate. It's pretty cheap
here in Sweden anyway. The connection must of course still be assumed
to be intermittent.

*** Fedora
I'm used to Fedora, so I will use that for a base operating

*** Puppet
Puppet handles the configuration. Puppet can be used on most

*** Nagios
Nagios is used for monitoring, so a competetive uptime can be

*** Single sign on
The personal cluster consists of many different services. To make them
more integrated, the 389 ldap server is used to provide a shared user
database, and the different services are configured to authenticate
against the 389 instance.

*** Dovecot IMAPD
Mail is important to the personal cluster. Dovecot is a good imapd. It
is lightweight, yet featureful.

*** mapping/location data
open streetmap maps. 
A gpsd on the client feeds the cluster with location data.

*** instant messaging
irc clients on the laptop or phone uses the server as gateway to other
systems. Bitlbee is used for the proxy. znc fronts bitlbee, which
handles the connections and logging.

*** social networks
A private diaspora instance is used as mediator.

*** voip 
linphone is used on the client, and asterisk on the server. 

*** camera
All photos are uploaded to the server, and things like bar code
scanning etc. can be made server side.

*** woodchuck 
Woodchuck is a system to handle a mobile cache, when the connection to
the cluster is down.

*** server side transcoding 
many media formats on the web are not really suitable for mobile
applications. The personal cluster handles this by downloading and
transcoding the media server side, and then making it accessible to
the client.

Joakim Verona

Openmoko community mailing list

Reply via email to