Agile updates for Networked Clients

Registered by John Lenton

From the excellent introduction to this by Allison:

The Ubuntu One developers have an interesting technical conundrum that
would benefit greatly from all of your thoughts. They've started
collecting ideas, and would like to collect more, and hopefully settle
down on a plan for the next cycle in a UDS session.

The basic problem is in keeping a networked client in sync with a
networked service. In the wider world this is generally handled by
releasing an update for the client whenever the service changes. Ubuntu
One has been tying the development cycle for their service to Ubuntu's
six month cycle, so client feature updates only happen in new distro
releases. But, even that doesn't quite work, because once you change the
service then clients on older distro releases (especially LTSs) still
need the feature updates to connect to the updated service. Sometimes
these feature updates depend on newer versions of libraries than exist
on the older distro releases.

The category of lightweight client apps for a remote service is becoming
more and more common, so ideally a solution for Ubuntu One will be one
we can recommend to all app developers. Here's a grab bag of
brainstorming so far:

- Only ship a very small shim for the client on the CD (advantage of
small footprint), and do the rest of the install the first time someone
uses Ubuntu One.

- Ship Ubuntu One client in extras, backports, commercial, or partner
repository. (Better if it's on by default than requiring a manual step
to enable the repository.)

- Ship Ubuntu One client (only) in a PPA.

- Implement "self updating" within the client, similar to
Firefox/Thunderbird (on non-packaged installs). This is the most complex
technically, so not the most appealing.

- Pull some update dependencies into /opt/.../UbuntuOne/lib, to keep
them completely isolated from the rest of the system, but available to
the Ubuntu One client.

Blueprint information

Not started
John Lenton
Needs approval
John Lenton
Series goal:
Not started
Milestone target:

Related branches



Can you explain more about what this blueprint is about? Not everyone has read the mailing list thread. - MO

Superseded by a spec registered against Ubuntu:


Work Items