Allison,<br><br><div class="gmail_quote">On Thu, Apr 21, 2011 at 9:14 AM, Allison Randal <span dir="ltr"><<a href="mailto:allison@canonical.com">allison@canonical.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
The Ubuntu One developers have an interesting technical conundrum that<br>
would benefit greatly from all of your thoughts. They've started<br>
collecting ideas, and would like to collect more, and hopefully settle<br>
down on a plan for the next cycle in a UDS session.<br>
<br>
The basic problem is in keeping a networked client in sync with a<br>
networked service. In the wider world this is generally handled by<br>
releasing an update for the client whenever the service changes. Ubuntu<br>
One has been tying the development cycle for their service to Ubuntu's<br>
six month cycle, so client feature updates only happen in new distro<br>
releases. But, even that doesn't quite work, because once you change the<br>
service then clients on older distro releases (especially LTSs) still<br>
need the feature updates to connect to the updated service. Sometimes<br>
these feature updates depend on newer versions of libraries than exist<br>
on the older distro releases.<br>
<br>
The category of lightweight client apps for a remote service is becoming<br>
more and more common, so ideally a solution for Ubuntu One will be one<br>
we can recommend to all app developers. Here's a grab bag of<br>
brainstorming so far:<br>
<br>
- Only ship a very small shim for the client on the CD (advantage of<br>
small footprint), and do the rest of the install the first time someone<br>
uses Ubuntu One.<br>
<br>
- Ship Ubuntu One client in extras, backports, commercial, or partner<br>
repository. (Better if it's on by default than requiring a manual step<br>
to enable the repository.)<br>
<br>
- Ship Ubuntu One client (only) in a PPA.<br>
<br>
- Implement "self updating" within the client, similar to<br>
Firefox/Thunderbird (on non-packaged installs). This is the most complex<br>
technically, so not the most appealing.<br>
<br>
- Pull some update dependencies into /opt/.../UbuntuOne/lib, to keep<br>
them completely isolated from the rest of the system, but available to<br>
the Ubuntu One client.<br>
<br>
Do you all have more ideas or suggestions?<br>
<br>
Allison<br></blockquote><div><br></div><div><br></div><div><meta http-equiv="content-type" content="text/html; charset=utf-8"><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; "><div class="gmail_quote">
<div><div>The inherent flaws in tying client releases to each Ubuntu release are obvious as you illustrated above, it's just not a good idea. For example, I have the the same version of Dropbox running on multiple versions of Ubuntu, offering a consistent set of features and behavior. That being said, It's my opinion that the Ubuntu One client(s) should be self contained, and consistent across Ubuntu Distribution releases using the last LTS as the baseline, then move forward from there. When the next LTS is released you could move the baseline forward if needed and stop support for older versions of Ubuntu so that testing and development have a reasonable scope of support. Additionally, the dependency on specific versions of libraries like CouchDB that are shipped with Ubuntu can cause issues with other applications/developers. For example, if a user want's to install a different, or newer version of CouchDB there is concern that it will break Ubuntu One which is not acceptable for users that rely on Ubuntu One services. In fact, I have customers that use Ubuntu One services as a critical component of their business process. Additionally, I think that it's a good idea to ship the Ubuntu One client(s) as part of the distribution, as this makes upgrades and new deployments easier and faster. If it's a new installation, you could disable the daemons by default for security and resource reasons and activate them once the machine is activated. Obviously if it's an upgrade all of the daemons would be enabled at startup. I hope this feedback helps.</div>
<div><br></div><div>Thanks!</div><div><br></div><div>-- Nick Pavlica</div></div></div></span></div><div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<font color="#888888">
<br>
-- <br>
Ubuntu-devel-discuss mailing list<br>
<a href="mailto:Ubuntu-devel-discuss@lists.ubuntu.com" target="_blank">Ubuntu-devel-discuss@lists.ubuntu.com</a><br>
Modify settings or unsubscribe at: <a href="https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel-discuss" target="_blank">https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel-discuss</a><br>
</font></blockquote></div><br>