We need to drop the current GTK+ UI in favor of the Qt UI

Bug #934270 reported by Natalia Bidart on 2012-02-17
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Ubuntu One Control Panel
ubuntuone-control-panel (Ubuntu)

Bug Description

The current Ubuntu One control panel that is shipped by default in Ubuntu is a GTK+ UI which the Ubuntu One team is no longer supporting. Some of the problems with that UI are:

* uses the deprecated pygtk bindings
* offers to install desktopcouch which no longer is supported
* is not aligned with the Ubuntu One new branding guidelines, and it does not show the information in a consistent way with the rest of the platforms we support

The Ubuntu One team has decided to build a new control panel using the Qt toolkit, which solves all the above, giving us the following advantages:

* does not use any deprecated library
* is currently supported and will keep being supported for the whole LTS cycle
* present a uniform graphical interface across all the platforms that Ubuntu One supports (and this is very important from a branding point of view)
* has all the messages and string revised by our Marketing department
* has a design that has been developed taking into consideration usability, translations, usefulness

The Qt control panel requires python-qt4, so this bug represent the need to have that dependency in the CD so the Ubuntu One team can keep shipping the Qt control panel in the CD as well.

Related branches

description: updated
description: updated

Before this can be approved, we need to see the proposed python-qt4 split and
see how it impacts maintainability/usability of the package.

Natalia Bidart (nataliabidart) wrote :

Subscribing Rodney Dawes (dobey) so he can give some details about the proposed splitting.

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in ubuntuone-control-panel (Ubuntu):
status: New → Confirmed
Scott Kitterman (kitterman) wrote :

Marking back to New since No FFe is approved yet.

Changed in ubuntuone-control-panel (Ubuntu):
status: Confirmed → New
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in ubuntuone-control-panel (Ubuntu):
status: New → Confirmed
Changed in ubuntuone-control-panel (Ubuntu):
status: Confirmed → New
description: updated
Martin Pitt (pitti) wrote :

Aside from discussing the PyQt split (see Scott's reply), we also need
to discuss where to get the necessary extra space from (I heard we'll
need some 8 MB for this). This is another example for pulling in a
large runtime for just one program (in the past we also had Erlang,
and Mono). In principle we could treat one runtime against another by
dropping Python 3 again (it's just switching lsb-release back to
Python 2), which should free ~ 6 MB. Python 3 will definitively come
back, but after precise we'll have bigger image sizes.

For the UI switch itself, I overheard that Qt will adapt to the GTK
theme when running under GNOME. Has this been tested properly? Does
that require an extra theme package?

If you'll drop support for the GTK version anyway, then we don't have
much choice. But given the space constraints we might need to ship the
U1 installer on the Precise CD images.

Thanks, Martin
Martin Pitt | http://www.piware.de
Ubuntu Developer (www.ubuntu.com) | Debian Developer (www.debian.org)

Dmitry Shachnev (mitya57) wrote :

> For the UI switch itself, I overheard that Qt will adapt to the GTK theme when running under GNOME. Has this been tested properly? Does that require an extra theme package?

This works well (currently, Qt uses Gtk 2.x theme and dialogs), doesn't require any extra packages; it's also possible to add some manual styling (like dark toolbars) using CSS stylesheets.

Martin Pitt (pitti) wrote :

So it seems we don't have much choice here about the UI switch itself anyway, so this part is approved. The part that is missing is how to integrate it: If you want it on the CDs, we need to find something else large to drop (like Python 3) and there needs to be work to split PyQt (which needs coordination with the Kubuntu and Debian people, otherwise we'll suddenly get a huge packaging delta which we'd need to maintain). If it's enough to have the U1 installer on the CDs, then this isn't a prerequisite and you can go ahead with this right now.

dobey (dobey) wrote :
dobey (dobey) wrote :
dobey (dobey) wrote :

Scott, I have attached the debian.tar.gz and dsc files for the current state of pyqt package splitting work I started on. There are still a few more modules that can be split out, to save a little more space. The big one was webkit of course. It's not hard to split the others out as well, but it is a fair bit of tedium, as pyqt4 seems to have python3 and debug packages for all the binary packages.

Scott Kitterman (kitterman) wrote :

> Aside from discussing the PyQt split (see Scott's reply) ...

The current proposed split won't do as it would break unrealted packages.
I've discussed alternative approaches with dobey on IRC. It's not clear if
he'll have time to deal with it or not.

During a session at UDS, mpt said people would laugh at Ubuntu One if they pushed this app with its current look. Now we're replacing a GTK-native app which looked alright (and consistent) with a very crappy-looking non-native-looking one using the branding colors that have been universally replaced (unless the tans of old-school Ubuntu have been brought back with Ubuntu One?).

Not to mention that it doesn't follow any sort of a set of HIG that I can see. The buttons, spinboxes, links, tabs, and everything else looks out of place.

Keep in mind this is an *Ubuntu-branded* app made by *Ubuntu* developers on the *Ubuntu platform*, and it doesn't fit in at all.

What the heck.

If we want to go for consistency and cross-platformness, what we really need to do is make it look absolutely stellar on Ubuntu while fitting in with the platform and the HIG, then push that look out to the other platforms. It'd be much better for the Ubuntu brand as a whole than showing everyone this currently-crappy-looking one. Seriously. Take a page out of Apple's book for this one; make it awesome on your mother platform then port it for the others while keeping the look and feel to help draw people in.

I'm afraid that, in its current state, the Qt-based interface really will be something that gets laughed at unless it undergoes a complete redesign making it look really slick.

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in ubuntuone-control-panel (Ubuntu):
status: New → Confirmed
Martin Pitt (pitti) on 2012-02-29
Changed in ubuntuone-control-panel (Ubuntu):
status: Confirmed → New
dobey (dobey) wrote :

I think at this point, we have resolved to understand being on the CD at this point is basically impossible for us, even with pyqt4 getting split, due to some significant size changes elsewhere in the default install.

That said, we still need to remove the ubuntuone-control-panel-gtk package from the desktop seed, and drop it off the CD; so that we can convert it to a transitional package, for smooth upgrades. New clean installs will get the ubuntuone-installer popped up instead of the control panel, so that the ubuntuone-control-panel-qt package can be installed.

Can we pull the -gtk package off the CD then please?

Martin Pitt (pitti) wrote :

Sure. I updated the seeds to drop ubuntuone-control-panel-gtk and add back ubuntuone-installer to desktop and ubuntuone-control-panel-qt to the usb seed.

Changed in ubuntuone-control-panel (Ubuntu):
status: New → In Progress
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntuone-control-panel - 2.99.90-0ubuntu1

ubuntuone-control-panel (2.99.90-0ubuntu1) precise; urgency=low

  * New upstream release:
    [ Natalia B. Bidart <email address hidden> ]
      - Changed the initial signin page so both login and register options
        are shown, and when clicked, the user is presented with either the Qt
        login dialog, or the Qt registration dialog (LP: #933576).
      - 'Apply these settings' button should be at the bottom right corner
        in the Settings tab (LP: #944120).
      - No more strings coming up from the Designer ui files (LP: #938626).
      - Make gettext return unicode so we can format strings
        with unicode variables (LP: #937809).
    [ Roberto Alsina <email address hidden> ]
      - Added a barebones manpage for ubuntuone-control-panel-qt
        (LP: #933021).
      - Preserved the scrollbar position when clearing/filling the folder
        list (LP: #942355).
      - Added keyboard shortcuts for quitting the control panel
        (LP: #900753).
      - Cleanup the ubuntuone-control-panel-qt script moving all logic into
        the main module (LP: #938102).
      - Parse Qt options correctly (LP: #910834).
      - Migrated to argparse when parsin command line options.
    [ Rodney Dawes <email address hidden> ]
      - Remove the GTK+ 2.x control panel (LP: #934270).
      - Pass ubuntuone-installer as app name to QApplication to avoid
        duplication (LP: #939691).
  * debian/control:
    - Bumped dependencies on ubuntu-sso-client to 2.99.90, on
      ubuntuone-client to 2.99.90, and on ubuntuone-installer to 2.99.90.
    - Converted ubuntuone-control-panel-gtk into a transitional package that
      depends on ubuntuone-control-panel-qt.
    - Made ubuntuone-control-panel suggests ubuntuone-control-panel-gui
      instead of recommending it, to avid seeding the Qt control panel to the
      default install.
    - Updated Standards-Version to 3.9.3.
  * debian/ubuntuone-control-panel-qt.install:
    - Install the new manpage provided by upstream.
  * debian/patches/fix-948970.patch:
    - Apply patch from upstream to have the new manpage being detected by
      disutils-extra and thus it gets installed in the expected location
      (LP: #948970).
  * debian/watch:
    - Updated to fetch latest milestone.
  * Removed debian/ubuntuone-control-panel-gtk.install since
    ubuntuone-control-panel-gtk is now a transitional package.
  * Removed patches which were included upstream.
 -- Natalia Bidart (nessita) <email address hidden> Wed, 07 Mar 2012 17:37:47 -0300

Changed in ubuntuone-control-panel (Ubuntu):
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers