Accueil > Informatique > Ubuntu One is…multiple

Ubuntu One is…multiple

With launchpad that delivers lots of information and code access about around 23 000 projects, it allows people like me, not involved into development, to get some answers and insights.

I wanted to explore the Ubuntu One initiative, as I am very concerned about digital identity and getting all my stuff synchronised. For extra-terrestrial people Ubuntu one goal is to deliver all your data from anywhere, on every device you have, anytime. Here is the result (click for full size) :

Energy/Strategy

There is a _lot_ of stuff going on

Around 40 launchpad projects, powered by canonical and the community. This proves once again that Ubuntu One is a strong horse in global Canonical end-user strategy.

Diversity

On server side, you basically are in control of what’s happening. Linus Torvalds often explain this as “server side” being kind of boring. Boring when you compare to Client, desktop/mobile/tablet side, where you need to integrate with several ecosystems : iOS and Iphone, Android market, browser (Where is the chrome plugin ?), multimedia legacy apps : Shotwell plugin, rhythmbox music store and streaming right from cloud capability.

The more open is the client side, both in a technical and legal manner, the happier you can make your users  (and no, I’m sorry fanboys, Steve Jobs did not promoted this).

Reuse and API

In IT architecture, you’re always looking for not reinventing the wheel. This applies well to ubuntu one : Ubuntu One leverages SSO API and middleware stuff. This global architecture, as you can see on my sketch, is quite well thought. There are only a few projects that looks weird into the global picture.

API helps you to hide server and implementation details/complexity that you don’t want to embed on user interfaces and software. Ubuntu One is trying to do that : implement couchDB backend, defining a REST (Webservices) File storage API, Contacts API…

Personal bet : we don’t know – yet ? – exactly what’s happening on server side. I would bet that Canonical is trying to use and test all its server technology : ensemble/juju, cloud technology, landscape, a.s.o.

In the long run this is the best strategy, kind of IT architect perfect vision : first doing more useful stuff with less resources, double work, electricity, time AND second not being forced to renew all your hardware and/or software because one component is not compatible anymore (Windows Vista _I am_ talking about you).

Licenses

  • Client part like application plugin and music store is 100% GPL (v3);
  • Middleware is a diverse galaxy : using LGPL or MIT external libraries, or canonical integration via SSO stuff;
  • Server part is mostly closed : either licenses are unknown or proprietary/canonical (no troll inside).

Techs and Langages

Lots of tools, langages. This is a combination of several factors (ordered by subjective matterness) :

  • Client side is diverse : if you want a nice Apple Store app, you need to be Objective-C capable. The same on the Android Market. GTK, PyQT for user interface on desktop as well.
  • Trends : Python has been benefiting from this : this demonstrates once again this langage is quite flexible and somehow fashion.
  • What you want to do : on server or middleware, you are taking care of security, performance, reliability : C, DatabaseStuff, credentials. Sometimes you need to talk “low level”. Client side, you would download last version of SDK, wich is a high level API already on top of “high end” langage, object oriented, taking care of memory and thread management and notifications bubbles for you.

There is a lot of other stuff to tell just around this picture and deeper, please feel free to comment on this, ask questions, to give me the energy to keep you updated.

If you think this is useful.

Thanks for reading.

Categories: Informatique Tags:
  1. Pas encore de commentaire
  1. Pas encore de trackbacks