[maemo-developers] GSoC project discussion - MeeGo cloud storage support

From: Felix Kerekes sttwister at gmail.com
Date: Wed Apr 7 18:16:06 EEST 2010

First of all, I'm sorry I'm posting this so close to the deadline, I know
how important it is to discuss any idea with developers and possible mentors
beforehand. I'm interested in working on the cloud storage support project
for the Maemo and MeeGo community. Before boring you with details about
myself, I'd like to present you my ideas and hopefully get some feedback
that will help me improve my final application.

My proposed solution involves developing several separate applications that
will communicate over DBus.

The main application (which I will call cloud-storage for now) will be
responsible for detecting which cloud storage services are available and
will handle general configuration (like what folders to share, which
services to use for each folder etc.). It will export a DBus object probably
called com.meego.CloudStorage. It will watch for changes in files and
folders and automatically notify the corresponding service implementations.
A different application will provide an UI for configuring the service,
implemented using Qt.

Every cloud storage service will be implemented as a different process which
will export a DBus object (something like
com.meego.CloudStorage.Service.<ServiceName>). The object will include
methods for uploading files and folders and signals for mirroring changes on
the remote side. Each service will need to be configured separately by
providing username, password and other necessary information. Services that
I find interesting to implement first include Ubuntu One, Dropbox and Google
Docs (Google now allows storing any file online, not only documents), with
others following.

The reasoning behind using DBus is that it allows great flexibility in many
ways including programming language, perhaps also different implementations
for the same service. It also allows other applications to interact or
monitor the syncing process. Adding or removing services will be just as
easy as installing some package. DBus being the only major dependency (apart
from any libraries which cloud storage service implementation might use),
the framework should have no problem running on both Maemo and MeeGo, or
even on desktop environments.

So, I'm eager to know what you think about the feasibility of this idea. I
have intentionally omitted details about the implementation or
specification, those will be included in my application. Right now, I want
to know if implementing this over DBus seems like a good idea. An initial
draft of my application supportiof my application supporting this idea will
follow very soon.

Felix Kerekes (sttwister)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.maemo.org/pipermail/maemo-developers/attachments/20100407/ee782313/attachment.htm>
More information about the maemo-developers mailing list