PackagingToolsUsability

Differences between revisions 1 and 15 (spanning 14 versions)
Revision 1 as of 2007-10-31 20:57:09
Size: 5508
Editor: 12
Comment: Add contents of gobby doc, request from mpt
Revision 15 as of 2008-02-03 02:23:31
Size: 7494
Editor: 121
Comment: Add comment
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
##(see the SpecSpec for an explanation)
## page was renamed from PackagingToolsUsability
Line 5: Line 4:
 * '''Launchpad Entry''': UbuntuSpec:foo
 * '''Packages affected''':
 * '''Launchpad Entry''': UbuntuSpec:packaging-tools-usability
 * '''Packages affected''': update-manager, gnome-app-install
Line 10: Line 9:
This should provide an overview of the issue/functionality/change proposed here. Focus here on what will actually be DONE, summarising that so that other people don't have to read the whole spec. For Ubuntu 8.04 we should make conservative changes to Add/Remove Programs, Synaptic, and Update Manager to make them simpler, more grammatical, and more consistent.
Line 14: Line 13:
This section should include a paragraph describing the end-user impact of this change. It is meant to be included in the release notes of the first release in which it is implemented. (Not all of these will actually be included in the release notes, at the release manager's discretion; but writing them is a useful exercise.)

It is mandatory.
None of these changes are important enough to feature in release notes.
Line 20: Line 17:
This should cover the _why_: why is this change being proposed, what justifies it, where we see this justified.

== Use Cases ==

== Assumptions ==
Ubuntu 8.04 will be a an LTS release, so we want to make small conservative improvements. We will not be doing anything big like switching to PackageKit tools, implementing session management, or localizing changelogs.
Line 28: Line 21:
You can have subsections that better describe specific parts of the issue. === Cross-application ===
Line 30: Line 23:
== Implementation ==  * We should introduce a consistent icon for "supported by Canonical" (preferably part of an icon theme), and use it in Synaptic and Add/Remove Programs.
Line 32: Line 25:
This section should describe a plan of action (the "how") to implement the changes discussed. Could include subsections like: ''ScottJamesRemnant: during hardy, different packages will have different terms of support. The installer should clearly say whether the package is supported for 3 years or 5 (in remaining months), and whether the package would be supported if you installed it (we don't support KDE packages installed on Ubuntu Desktop).''
Line 34: Line 27:
=== UI Changes === === Update Manager ===
Line 36: Line 29:
Should cover changes required to the UI, or specific UI that is required to implement this To make update descriptions understandable to more people, we should:
  * Add a style guide to StableReleaseUpdates about writing user-facing changelogs. This should go into the https://wiki.ubuntu.com/StableReleaseUpdates page.
   * Perhaps have a subset of the changelog entry guided to users, and then update manager would only show that, using a special syntax.
 * SRU template in dch would be helpful, like the security update template.
 * Remove the "from version to version" from update-manager since it's in the changelog entry as well (it's almost always something unusable anyway, like package0.9.2-ubuntu1 to package0.9.2-ubuntu2).
Line 38: Line 35:
=== Code Changes === For other UI improvements, we should:
 * Change "You can install ''n'' updates" to "You can install ''n'' updates'''.'''" [done]
 * Remove the "Software updates correct errors" sentence from the "Starting Update Manager" and "Checking for Updates" windows, because the same sentence is already present in the main window. [done]
 * Align the text of "Download size:" exactly with the text of the "Check" and "Install Updates" buttons. [done]
 * Change "Downloading package files" to "Downloading Package Files". [done]
 * Remove the "The package files will be cached locally for installation" sentence, because it's not relevant. [done]
 * Abolish the "You can close the window now ( Close )" window. [done]
 * Stop telling me that "Software updates correct errors" etc when there are no updates to install. Instead, tell me what time you're next going to check for updates. [half-done, shows when the last check was performed]
 * Challenge: Show packages as applications, like gnome-app-install does, and show non-application packages in a new section that is collapsed by default. Sebastien Heinlein will work on this so it can be considered for 8.04 vs. 8.10.
 * Challenge: Merge the "Downloading Package Files" and "Applying Changes" windows (and their progress bars).
Line 40: Line 46:
Code changes should include an overview of what needs to change, and in some cases even the specific details. Also done:
 * show different icons depending on whether security updates are available or not in update-notifier
 * if broken dependencies are found on the system, try to fix them automatically if update-manager
   is called
 * show warning if the last package information refresh was done a very long time ago in update-notifier
 * have a consistent way in libapt to perform apt-get update like operations (algorithms.cc:ListUpdate) and support pre-update, post-update hook scripts (important for update-time keeping)
Line 42: Line 53:
=== Migration === == Add/Remove Programs ==
Line 44: Line 55:
Include:
 * data migration, if any
 * redirects from old URLs to new ones, if any
 * how users will be pointed to the new way of doing things, if necessary.
To make it easier to uninstall applications, we should:
 * Change "Installed applications" to "Installed applications only". [done]
 * Make the list sortable by the checkbox column (like in Synaptic), so that all installed applications can be listed first.

To make the categories and search more understandable, we should:
 * Extend the category list to the top of the window, so it is no longer underneath the search field. [done]

== Synaptic ==

To relieve some annoyances, we should:
 * Fix Synaptic so that when someone adds a new repository, it doesn't tell them to click Reload, it just reloads automatically.
 * Challange: Replace the "Search" button with a live search field.
Line 51: Line 70:
It's important that we are able to test new features, and demonstrate them to users. Use this section to describe a short plan that anybody can follow that demonstrates the feature is working. This can then be used during CD testing, and to show off after release. Since these changes are entirely in the UI, and we don't yet have a UI testing framework, they should be tested by human use.
Line 53: Line 72:
This need not be added or completed until the specification is nearing beta. == Future work ==
Line 55: Line 74:
== Outstanding Issues ==  * It would be nice to have a way to update only .deb repositories (we waste like 30 seconds of user interaction refreshing source packages in update manager, gnome-app-install, and synaptic). We do not want to disable source repos by default because the default way to install a source package in Ubuntu is apt-get source. We could rely on user to run apt-get update on a terminal if he wants updated source information.
 * See if Update Manager can use vertical space better.
 * Include Web links or images in the Add/Remove Applications description.
   * Web links should go to launchpad in case they change after release
   * Use the "homepage" field if available
 * "Integrates well into the Ubuntu desktop" isn't understandable (emblem), we need a better text here.
   * The meaning itself is difficult to summarize into a tooltip: that it's a GTK application designed for Gnome or a KDE application designed for KDE. Since users reading this tooltip won't know what that means unless they already understand the difference between Gnome and KDE, it would be sufficient to simply provide an icon without any explanatory text, since the icon conveys the same information.
Line 57: Line 82:
This should highlight any issues that should be addressed in further specifications, and not problems with the specification itself; since any specification with problems cannot be approved. == Not discussed ==
Line 59: Line 84:
== BoF agenda and discussion ==

Use this section to take notes during the BoF; if you keep it in the approved spec, use it for summarising what was discussed and note any options that were rejected.

== Gobby document from UDS ==

Review GUI packaging tools for usability:

 * Review text to ensure grammarness
 * Cleanup
 * General review

Because Ubuntu 8.04 will be a an LTS release, we want to make small conservative changes. We will not be doing anything big like:
 * switching to PackageKit tools
 * implementing session management for the tools
 * localizing changelogs

== Cross-application ideas ==

* Would be nice to have a way to update only .deb repositories (we waste like 30 seconds of user interaction refreshing source packages in update manager, gnome-app-install, and synaptic)

* Don't want to disable source repos by default. Since only way to install a source package is apt-get source, can rely on user to run apt-get update on same terminal.

 * Consistent icon for "supported by Canonical"

== update-manager ==

 * Show applications as applications, like gnome-app-install does. Sebastien Heinlein will work on this so it can be considered for 8.04 vs. 8.10.

 * Show non-application packages as categories?

 * Changes shows some cryptic text for security updates
  * Add a style guide to StableReleaseUpdates about writing user-facing changelogs. [mpt]
   * Could have a subset of the changelog entry guided to users, and then update manager would only show that, using some special syntax
   * Describe impact of problem
 * SRU template in dch would be helpful, like the security update template
 * Should remove the "from version to version" from update-manager since it's in the changelog entry as well (it's almost always something unusable anyway, like package0.9.2-ubuntu1 to package0.9.2-ubuntu2)
 * remove the version number from the main versionlist
 * optimize the vertical space

== gnome-app-install ==

 * make uninstall easier
  * Not obvious how to get a list of installed applications.
 * change text in Show: "Installed Applications" to "Only installed applications"
 * make list sortable by checkbox install/uninstall
 * Would be nice to have web links or images in the application description at the bottom.
   * Web links should go to launchpad in case they change after release
 * Impossible to list only uninstalled applications

 * Search is currently NOT global if you have a category selected - this is not obvious at all
   * could move search bar to indicate what it is searching
   * could have extra bars appear when you do a search

Automatix displays a lot more information:
 * copyright (license)
 * link to screenshot
 * link to upstream homepage

 * "integrates well into the Ubuntu desktop" isn't understandable (emblem)

== Gdebi ==

* Double clicking a .deb file is beyond normal use case
 * Huh? This happens quite frequently, see getdeb.net ...

== synaptic ==

"This application is supported by the distribution" isn't understandable
These applications were not discussed:
 * apturl integration
 * adept
 * adept_installer
 * adept_updater
 * gdebi
Line 130: Line 92:
adept
adept_installer
adept_updater
apturl integration
== Comments ==
TomaszD: I'm not really sure if comments are allowed here, but anyway, just a minor thing to think about when doing this spec. Synaptic still has these two absolutely hideous and outdated icons that haven't been replaced by Ubuntu (Human, etc.) icons. The "Mark everything for update" (I'm using Synaptic in Polish so I'm guessing what the English label says) button has an ugly icon (it also appears in the Edit menu) and the icon beside the Filters menu item in Settings. I don't think that a lot of effort is needed to change these. I'm not an artist, so I cannot help you, but surely someone from the Artwork Team would.
Line 135: Line 95:
CharlesPax: I suggest that Add/Remove Applications allow the user to filter by desktop type. If I have things set to show "All available application," having both Gnome and KDE applications clutters things up. Perhaps it would be best to have a column displaying an icon indicating the program is either for Gnome or KDE.
Line 136: Line 97:
DaengBo: No exactly within the spec here, but I've always thought (and proposed a few times) that the main menu should have a "Remove this package" choice when right-clicking an entry. This would make it a lot easier to remove unneeded programs or ones which the user tries then does like (or which don't work at all, which seems to be a problem with multiverse).

Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.

Summary

For Ubuntu 8.04 we should make conservative changes to Add/Remove Programs, Synaptic, and Update Manager to make them simpler, more grammatical, and more consistent.

Release Note

None of these changes are important enough to feature in release notes.

Rationale

Ubuntu 8.04 will be a an LTS release, so we want to make small conservative improvements. We will not be doing anything big like switching to PackageKit tools, implementing session management, or localizing changelogs.

Design

Cross-application

  • We should introduce a consistent icon for "supported by Canonical" (preferably part of an icon theme), and use it in Synaptic and Add/Remove Programs.

ScottJamesRemnant: during hardy, different packages will have different terms of support. The installer should clearly say whether the package is supported for 3 years or 5 (in remaining months), and whether the package would be supported if you installed it (we don't support KDE packages installed on Ubuntu Desktop).

Update Manager

To make update descriptions understandable to more people, we should:

  • SRU template in dch would be helpful, like the security update template.
  • Remove the "from version to version" from update-manager since it's in the changelog entry as well (it's almost always something unusable anyway, like package0.9.2-ubuntu1 to package0.9.2-ubuntu2).

For other UI improvements, we should:

  • Change "You can install n updates" to "You can install n updates." [done]

  • Remove the "Software updates correct errors" sentence from the "Starting Update Manager" and "Checking for Updates" windows, because the same sentence is already present in the main window. [done]
  • Align the text of "Download size:" exactly with the text of the "Check" and "Install Updates" buttons. [done]
  • Change "Downloading package files" to "Downloading Package Files". [done]
  • Remove the "The package files will be cached locally for installation" sentence, because it's not relevant. [done]
  • Abolish the "You can close the window now ( Close )" window. [done]
  • Stop telling me that "Software updates correct errors" etc when there are no updates to install. Instead, tell me what time you're next going to check for updates. [half-done, shows when the last check was performed]
  • Challenge: Show packages as applications, like gnome-app-install does, and show non-application packages in a new section that is collapsed by default. Sebastien Heinlein will work on this so it can be considered for 8.04 vs. 8.10.
  • Challenge: Merge the "Downloading Package Files" and "Applying Changes" windows (and their progress bars).

Also done:

  • show different icons depending on whether security updates are available or not in update-notifier
  • if broken dependencies are found on the system, try to fix them automatically if update-manager
    • is called
  • show warning if the last package information refresh was done a very long time ago in update-notifier
  • have a consistent way in libapt to perform apt-get update like operations (algorithms.cc:ListUpdate) and support pre-update, post-update hook scripts (important for update-time keeping)

Add/Remove Programs

To make it easier to uninstall applications, we should:

  • Change "Installed applications" to "Installed applications only". [done]
  • Make the list sortable by the checkbox column (like in Synaptic), so that all installed applications can be listed first.

To make the categories and search more understandable, we should:

  • Extend the category list to the top of the window, so it is no longer underneath the search field. [done]

Synaptic

To relieve some annoyances, we should:

  • Fix Synaptic so that when someone adds a new repository, it doesn't tell them to click Reload, it just reloads automatically.
  • Challange: Replace the "Search" button with a live search field.

Test/Demo Plan

Since these changes are entirely in the UI, and we don't yet have a UI testing framework, they should be tested by human use.

Future work

  • It would be nice to have a way to update only .deb repositories (we waste like 30 seconds of user interaction refreshing source packages in update manager, gnome-app-install, and synaptic). We do not want to disable source repos by default because the default way to install a source package in Ubuntu is apt-get source. We could rely on user to run apt-get update on a terminal if he wants updated source information.
  • See if Update Manager can use vertical space better.
  • Include Web links or images in the Add/Remove Applications description.
    • Web links should go to launchpad in case they change after release
    • Use the "homepage" field if available
  • "Integrates well into the Ubuntu desktop" isn't understandable (emblem), we need a better text here.
    • The meaning itself is difficult to summarize into a tooltip: that it's a GTK application designed for Gnome or a KDE application designed for KDE. Since users reading this tooltip won't know what that means unless they already understand the difference between Gnome and KDE, it would be sufficient to simply provide an icon without any explanatory text, since the icon conveys the same information.

Not discussed

These applications were not discussed:

  • apturl integration
  • adept
  • adept_installer
  • adept_updater
  • gdebi

Comments

TomaszD: I'm not really sure if comments are allowed here, but anyway, just a minor thing to think about when doing this spec. Synaptic still has these two absolutely hideous and outdated icons that haven't been replaced by Ubuntu (Human, etc.) icons. The "Mark everything for update" (I'm using Synaptic in Polish so I'm guessing what the English label says) button has an ugly icon (it also appears in the Edit menu) and the icon beside the Filters menu item in Settings. I don't think that a lot of effort is needed to change these. I'm not an artist, so I cannot help you, but surely someone from the Artwork Team would.

CharlesPax: I suggest that Add/Remove Applications allow the user to filter by desktop type. If I have things set to show "All available application," having both Gnome and KDE applications clutters things up. Perhaps it would be best to have a column displaying an icon indicating the program is either for Gnome or KDE.

DaengBo: No exactly within the spec here, but I've always thought (and proposed a few times) that the main menu should have a "Remove this package" choice when right-clicking an entry. This would make it a lot easier to remove unneeded programs or ones which the user tries then does like (or which don't work at all, which seems to be a problem with multiverse).


CategorySpec

DesktopTeam/Specs/PackagingToolsUsability (last edited 2008-08-06 16:21:16 by localhost)