SoftwareCenter

Differences between revisions 216 and 217
Revision 216 as of 2009-10-06 15:14:34
Size: 77486
Editor: eth0
Comment: use rings, not a giant pointer, for the "Where Is It?" button
Revision 217 as of 2009-10-06 16:52:46
Size: 77883
Editor: eth0
Comment: "Waiting to install", "Waiting to remove"
Deletions are marked like this. Additions are marked like this.
Line 614: Line 614:
=== More informative text for waiting tasks ===

When you request to install an item and it is waiting for other tasks in [[#in-progress|the “In Progress” queue]], its status text should be “Waiting to install”.

When you request to remove an item and it is waiting for other tasks in [[#in-progress|the “In Progress” queue]], its status text should be “Waiting to remove”.

This is a living specification for the utility previously known as the Ubuntu Software Store. Your feedback is welcome at SoftwareCenter/Comments. The Software Center is a major part of Ubuntu’s overall software handling.

  • Launchpad entry: software-library

  • Created: 2005-08-29 by MatthewPaulThomas

  • Packages affected: aptoncd, computer-janitor, computer-janitor-gtk, gdebi, gnome-app-install, software-properties-gtk, software-center, synaptic, update-manager

The Ubuntu Software Center is a graphical utility for package management in Ubuntu. In version 1, it will build on the basic philosophy of Add/Remove Applications and make it even easier to use. In later versions, it will grow to replace Synaptic, gdebi, some parts of the Computer Janitor, and possibly Update Manager; and in version 3, it will offer commercial software. Having a single interface will make handling software easier, socially improve security, hopefully free space on the CD, and provide a prominent showcase for Ubuntu and partner software. The Center is implemented using Python, GTK, and Aptdaemon, and may use PackageKit for some components. Software Center is hosted in Launchpad.

How you can help

We welcome useful contributions from anyone, regardless of age, gender, or experience.

If your expertise is in one of these areas, search through this specification for the color-coded sections relevant to you:

Artists

Copy-editors

GTK/Clutter hackers

Interface designers

Librarians

Packagers

Otherwise, if you are a Python programmer, get the latest code and try fixing existing bugs, or implementing something for version 2.0. When you have something ready, propose it for merging.

If you are a tester, look through this specification and compare the behavior described to the behavior you see in the latest version. If something has been implemented but behaves differently from how the specification describes it, report a bug if it hasn’t been reported already.

Contents

  1. How you can help
  2. Rationale
  3. Ubuntu Software Center 1.0
    1. Name and metadata
    2. Launching
      1. Launching graphically
    3. Shared interface components
      1. Menus
      2. Location bar
        1. Path button
        2. Search field
        3. Search results
      3. Application icon view
      4. Package list view
    4. Main window
      1. Navigation pane
      2. “Get Free Software” section
        1. Lobby screen
        2. Searching from the lobby
        3. “Departments” section
        4. Department screen
        5. Searching from a department screen
        6. Application screen
      3. “Installed Software” section
        1. Application screen
      4. “In Progress” section
      5. Status bar
    5. Determining package information
      1. License label
    6. Handling a broken apt cache
    7. Handling an externally-changed apt cache
    8. Copying a Web link for a package
    9. Installing an application
    10. Removing an application
    11. Help
    12. About window
  4. Elements not scheduled for 1.0
    1. Launching from the command line
    2. Launching from apt: links
    3. Minimum pane sizes
    4. Smarter ellipsis of package list views
    5. Search keyword greylist
    6. Copying package list view items to the clipboard
    7. Two-pane department screen
    8. Nicer text for architecture-incompatible packages
    9. Cancel bar in “In Progress” screen
    10. More informative text for waiting tasks
    11. Copying a Web link for an "In Progress" package
    12. “Where Is It?” button
    13. Animation of the main pane
  5. Roadmap
    1. October 2009
    2. April 2010
    3. October 2010
    4. April 2011
  6. Eventual scope
  7. User stories
  8. Similar efforts
  9. Yet-to-be-specified features
    1. History section
    2. Subcategories
    3. Ratings
    4. Wine integration
    5. License information
    6. Developer tools
    7. Eliminating the “{application name} can’t be installed at the moment” alert
  10. Unresolved issues
  11. Unsorted ideas
    1. Metadata

Rationale

In Ubuntu 9.04, there are at least four graphical utilities promoted for installing and removing software. For installing and uninstalling graphical applications you can use “Add/Remove Applications“ or the more technical “Synaptic Package Manager”, though the former warns you to use the latter “for more complicated needs”. For installing and uninstalling other software, you must use Synaptic. For installing updates, the usual route is Update Manager, but it instructs you to run Synaptic if it encounters conflicts. For configuring where these utilities look for software, you use “Software Sources”. For installing downloaded .deb packages, you use gdebi. And for removing no-longer-needed software, you use Computer Janitor. This redundancy increases the amount of interface people have to learn, wastes space on the Ubuntu CD, and fragments development effort. Having multiple sanctioned graphical methods of installing software also makes people more likely to think that unsanctioned methods (such as Ultamatix or third-party Web sites) are also safe, when they are not. Meanwhile, the descriptions of available software are often technical gibberish. And many software project and vendor Web sites either provide command-line installation instructions (dulling users to malicious terminal commands from other sources) or .tar.gz downloads that are difficult to install and near-impossible to update.

Instead, there should be one obvious mechanism for installing, removing, and updating software in Ubuntu, with a self-evident name and an interface anyone can use. There should be a coordinated system for developers and enthusiasts to improve the usefulness of descriptions and other metadata for software packages. The software updates interface should be honed to maximize the voluntary installation of updates across the millions of computers on which Ubuntu is installed. And projects and vendors whose software is packaged for Ubuntu should be encouraged to provide links to their software’s presence in the Software Center, instead of command-line installation instructions.

If Linux has an Achilles heel, from the point of view of a Windows user, it's installing new software. Be prepared to enter a new world in which Windows Update is a model of simplicity by comparison, and in which you may feel as if you need a Ph.D. in physics merely to install new applications or updates.

— Preston Gralla, “Living free with Linux: 2 weeks without Windows”, Computerworld

First there is the Add/Remove Applications program, which is designed to allow you to Add and Remove Applications. Second, there is the Synaptic Package Manager, which allows you to Manage Packages (in a manner that is uniquely synaptic, apparently) or Applications as some might call them, by allowing you to Add and Remove them. Finally there is Software Sources, which, if Wine’s installation instructions are any indication, provides Sources of Software, filling a glaring gap in Ubuntu Linux by allowing you to Add and Remove Applications.

— Ash Pringle, “The New Year Linux resolution: Day 5”, zMogo

Ubuntu Software Center 1.0

In this specification, 1 em means the height of the Gnome application font setting. (For example, if the current Gnome application font setting works out to be 12 pixels, then 3 em = 36 pixels.) The term leading means “left” whenever the system is using a left-to-right language, and “right” whenever the system is using a right-to-left language. The term trailing means “right” whenever the system is using a left-to-right language, and “left” whenever the system is using a right-to-left language. All mockups in this specification are of left-to-right layouts.

“Alphabetically” means following the Unicode Collation Algorithm for the user’s locale. For example, in an English locale, “Déjà Dup Backup Utility” should be sorted between “Debian Documentation Browser” and “DeskScribe”.

Name and metadata

In application menus etc, the Center should appear as “Ubuntu Software Center”. This name should be localized (for example, as “Centre” in Commonwealth countries). The package name and executable name should both be software-center.

The application Comment should be “Lets you choose from thousands of free applications available for Ubuntu” (without a period), and the summary in the About window should be “Lets you choose from thousands of free applications available for Ubuntu.” (with a period).

The package Summary should be “Utility for browsing, installing, and removing applications” (without a period).

The application and package Descriptions should both be:

The Ubuntu Software Center lets you browse and install thousands of free applications available for Ubuntu. You can view available applications by category, or search quickly by name or description. You can also examine the applications already installed, and remove those you no longer need.

To install or remove software using the Center, you need administrator access on the computer.

The application icon should be of a stuffed-full shopping bag.

The version shipped in Ubuntu 9.10 should be at least 1.0.

Launching

Launching graphically

[Idea #12193 (Add/Remove and Synaptic should be strongly displayed to new users), Idea #17431 (Add/Remove Applications is ugly and confusing)]

In the standard gnome-panel “Menu Bar” applet, “Ubuntu Software Center” should be the last item in the “Applications” menu, with a separator immediately before it.

In the gnome-panel “Main Menu” applet, “Ubuntu Software Center” should similarly be after the list of application categories, with separators immediately before and after it.

In Ubuntu Netbook Remix (netbook-launcher), “Ubuntu Software Center” should appear in the “System” > “Administration” subcategory.

How do we specify performance requirements? Also need to specify progress feedback if launching is slow.

When opened directly, the Center should by default display the lobby screen of the “Get Free Software” section, scrolled to the top. The search field should be empty. Default focus should be on the search field (so that you can start searching immediately, or use Down followed by other arrow keys to navigate the items in the lobby screen).

Shared interface components

_File
=====
  _Install
  _Remove
-------------------
  _Close    Ctrl W

“Install” and “Remove” should be disabled by default. “Close” should, by default, close the window without prompting.

_Edit
=====
  _Undo                     Ctrl Z
  _Redo               Shift Ctrl Z
-----------------------------------
  Cu_t                      Ctrl X
  _Copy                     Ctrl C
  Copy _Web Link      Shift Ctrl C
  _Paste                    Ctrl V
  _Delete
-----------------------------------
  Select _All               Ctrl A
-----------------------------------
  Searc_h…                  Ctrl F
-----------------------------------
  _Software Sources…

“Software Sources…” should open the Software Sources control panel, or focus it if it is already open.

All other items in this menu should be insensitive by default; their availability and behavior is defined elsewhere in this specification.

_View
=====
* All Applications
  Canonical-Maintained Applications

All items in this menu should be insensitive by default; their availability and behavior is defined elsewhere in this specification. Test case: While an application is installing, navigate to the “In Progress” section, and open the “View” menu. Its items should be insensitive.

_Help
=====
  Software Center _Help…
------------------------
  _About This Version

By default, “Software Center Help…” should open the help viewer to the front page of the help.

“About This Version” should open the About window, or focus it if it is already open.

Location bar

Many Center sections include a location bar, which appears at the top of the main pane. It should appear as a raised block inside the main pane.

The location bar should always contains a path button. Depending on the particular screen being shown underneath it, it may also contain a search field. Whenever the search field is not present, the path button should consume, if necessary, some of the space the search field would otherwise consume.

Path button

GTK hackers

The path button should consist of a button in one or more interlocking segments. The Human theme should present these segments as chevron shapes, with the point of one fitting into the crook of the next. Whenever the chosen theme does not have support for the path button, it should be shown as a series of toggle buttons, in which the button at the trailing end is always selected and the others are always unselected.

If the button cannot be wide enough to display the text of all the segments, then the first segment should be shortened, with the text inside it being ellipsized at the trailing end, e.g. “Get Free Softw…”. If the button is still too wide even after the first segment has been shortened to read just “…”, then the second segment should be shortened in the same way, and so on.

Search field

GTK hackers

search-field.jpg

Whenever a search field is present in the window, the “Edit” > “Search…” menu item should be sensitive. Selecting it should focus the search field, and (even if it is focused already) select its entire contents.

Whenever the search field is focused, the “Edit” > “Undo”, “Redo”, “Cut”, “Copy”, “Paste”, “Delete”, and “Select All” items should have their usual sensitivity and operation for a text field.

Inside the left end of the field should be a symbolic magnifying glass icon. Clicking the icon should focus the field and select its entire contents.

When (and only when) the search field is not empty, the trailing end of the field should have a symbolic clear icon. Clicking the icon should focus the field and clear its contents.

Besides the normal behavior for text fields, whenever the insertion point (caret) is at the trailing end of the search field, pressing the Down arrow key should focus the contents of the main pane and select the first item — i.e. the first department in the lobby screen, or the first search result in any search results screen.

Search results

Any word in the search string that is followed by a space or punctuation should be treated as a a complete word, while any word that is not should be treated as if it may be either a complete word or the beginning of a word. Test case: Searching from the lobby for “atom” should return both Atomix and Liferea (an Atom feed reader). But searching for “atom ” (with a trailing space) should return only Liferea.

Search results should be displayed as a package list view with navigation buttons, where the button goes to the appropriate application screen inside the relevant section.

While search results are being displayed, the status bar text should be of the form “1 matching item” or “37 matching items”.

If the contents of the search field is cleared for more than two seconds, the rest of the main pane should return to its original display.

Application icon view

An application icon view is used to present applications, and currently also the list of departments in the “Get Free Software” section.

Each item in an icon view has an icon and a name. If the icon is scalable, or larger than 4 em in either dimension, it should be scaled down proportionally so that it is 4 em in its largest dimension. If the icon is smaller than 4 em in both dimensions, it should be drawn at actual size and centered (both horizontally and vertically) inside a 4 em square that has a 0.05-em-wide border of color 170,170,170 (#aaaaaa). Underneath it, the name of the item should be printed in 0.9-em text that is horizontally centered but top-aligned in its own block; if the name occupies more than two lines, it should be ellipsized in the middle (because unique elements of names are more often at the beginning or the end). If the application is not available for this computer’s architecture, both the icon and the text should have 50% opacity, but the application should still be selectable.

Items should be laid out like horizontal text: starting at the leading edge and continuing until there is no room for another on the same line, then wrapping downward.

Each item in an application icon view should produce the pointing-hand pointer when moused over, and single-clicking should navigate to that item.

Package list view

A package list view is used in several screens in the Center. In a list view, each package should have a row with an icon, primary text, and secondary text.

package-list-view.jpg

The icon should be the application icon if there is one, otherwise the generic package icon. As with the package icon view, the icon should be overlaid in the corner with the installed emblem if the package is currently installed.

If the item has an application Name, then the primary text should be the application Name, and the secondary text should be the application Comment if there is one, otherwise the Summary from the package metadata. If the item does not have an application Name, then the primary text should be the Summary from the package metadata, and the secondary text should be the package name (because if you’re looking at a non-application package in the first place, you’re fairly likely to be the sort of user who wants to know the package name). If either row of text is wider than the space available, it should be ellipsized at the trailing end.

By default, none of the rows in a package list view should be selected. If the view allows selection, clicking anywhere in an item should select that row, and Ctrl+clicking on a selected item should deselect it. If no item is selected, pressing the Down arrow key should select the first row, and conversely pressing the Up arrow key should select the last row. If the view does not allow selection, the arrow keys should scroll the view without highlighting rows.

If the view is defined as having navigation buttons, then when – and only when – an item is selected, it should have a button at its trailing end with an arrow icon. The button should have the usual appearance of a default button, and pressing Enter should activate it. Double-clicking anywhere in the row should do the same as activating the navigation button, regardless of whether the row was previously selected.

If the package is not available for this computer’s architecture, both the icon and the text — but not the navigation button — should have 50% opacity, but the package should still be selectable.

Whenever an item is selected in a package list view, “Edit” > “Copy Web Link” should be sensitive. Choosing it should copy a Web link for the selected package.

Unless otherwise specified, a package list view should always have a vertical scrollbar. (This avoids any navigation buttons – or other elements at the trailing end – jumping about when the view contents switches between shorter than, and longer than, the container’s height). A package list view should never have a horizontal scrollbar.

Main window

main-window-structure.jpg

The Center should use a normal window, with the title “Ubuntu Software Center”.

default window size and placement TBD

The main window has four major components: the menu bar at the top, the navigation pane on the leading side, the main pane on the trailing side, and the status bar at the bottom. The bar between the navigation pane and the main pane should be draggable to change their respective widths.

The navigation pane should have a vertical scrollbar only when necessary, and should never have a horizontal scrollbar. Instead, each item inside it should be ellipsized at its trailing end whenever there is not enough room to show it completely.

The navigation pane should list the top-level sections that can be navigated to, each with a text-size icon and a label:

In future versions the navigation pane will contain other items, such as currently-inserted CDs/DVDs, child items for free vs. paid software, and perhaps user-created collections.

Only one item in the navigation pane should be selected at a time. Single-clicking an item should select it and immediately change the visible section. Double-clicking should behave identically to single-clicking, and secondary-clicking or dragging should do nothing.

Navigating to a section should display, to the extent still applicable, the section exactly as it was when it was last viewed since the Center was launched: the same department, category, search results, scroll position, etc. This memory should not persist once the Center is closed.

Test case: In the “Get Free Software” section, navigate to the AbiWord application, and scroll to the bottom of the application panel. In the navigation pane click on “Installed Software”, then on “Get Free Software”. The Center should resume displaying the bottom of the AbiWord application panel.

Test case: In the “Installed Software” section, navigate to the Firefox application. Close the Center, then reopen it. Click on “Installed Software”. The Center should display the top level of the Installed Software section.

Test case: Begin installing an application. While it is installing, in the “Get Free Software” > “Internet” section, search for “chat”, and scroll through the results. Click on “In Progress”; the Center should show the installation progress. Now click on “Get Free Software”. The Center should return to the search results for “chat” within the “Get Free Software” > “Internet” department, in exactly the scroll position that you left it.

“Get Free Software” section

In the navigation pane, “Get Free Software” should have the same icon as the Software Center itself. It may have an extra icon at the trailing end for a broken package catalog.

The “Get Free Software” section encompasses a “lobby” screen, screens for each “department”, and screens for individual applications.

Whenever you are in the “Get Free Software” section, the “View” > “All Applications” and “View” > “Canonical-Maintained Applications” items should be sensitive. Changing the selection should determine whether all applications or just Canonical-maintained applications are shown. The selection should persist regardless of which screen in the “Get Free Software” section is being displayed.

Applications should be shown regardless of whether they are already installed (already-installed applications should have the “installed” emblem).

Regardless of which screen is being displayed, the section should should have a location bar at the top containing a path button.

Lobby screen

The lobby is the entry point to the Center, so it is important that it be attractive and welcoming. (The term “lobby” should not appear anywhere in the interface or help text.)

Whenever the lobby screen is being displayed:

  • The path button should consist only of the “Get Free Software” element.

  • The location bar should contain a search field. Whenever any text is entered in the search field, the home panel should be replaced by search results.

  • The status bar text should be of the form “2173 applications available”.

The background of the lobby screen should be grey-blue 182,189,196 (#b6bdc4), and all text in that screen should be black 0,0,0 (#000000). The padding between the edges of the lobby and its contents should be 1 em, both horizontally and vertically.

The lobby currently has one section, “Departments”. The header should use a background... TBD The section should have a bottom margin of 2 em.

The lobby screen should use an application icon view to present its contents.

Artists

What is a more attractive way of presenting these departments? Currently they look very similar to individual applications, but probably they should look different. Perhaps they should use buttons of some sort? Perhaps the clickable element for each department could incorporate small versions of the icons for the most popular applications in that department? Present your ideas under this box. Please sign your name with each idea. Thanks!

Perhaps we could use the logo that MadsRH designed for the whole store (the shopping bag) and add a few things that relates to each category sticking out of the top. I. E. pens and pencils for office, rulers and paintbrushes for paint, cards and balls for games and so on. These would just protrude out of the shopping bag. TylerJames


Arrow keys should change focus between the selectable items in the lobby screen.

Searching from the lobby

While in the lobby section, entering any text in the search field should immediately switch the lobby screen to a search results view, showing all applications that match the search string.

Test case: Launch the Center. Type Ctrl F; the search field should be focused. Type “fire” (without quotes or pressing Enter); results should appear, with Firefox first. Press the down arrow key once; Firefox should be selected in the results. Press Enter; the Center should navigate to the application screen for Firefox.

Whenever a search result is selected:

  • If it is an application that is not currently installed nor being installed, “File” > “Install” should be sensitive. Selecting it should install the selected application.

  • If it is an application that is currently installed and not currently being removed, “File” > “Remove” should be sensitive. Selecting it should remove the selected application.

“Departments” section

The “Departments” section of the lobby screen should list all the categories traditionally shown in Add/Remove Applications (see the menu spec registered categories). The departments should be sorted alphabetically, except that “Programming” should be second-to-last, and “Other” should be last.

Librarians

We need helping designing a helpful new classification scheme for the Center. For example, what subcategories could the “Games” department have? And how could the items in the “Internet” menu be redistributed? Tell us your ideas on the Classification page. Thanks!

Department screen

In 1.0, a department screen should consist of a single pane: a package list view of all applications in that department, sorted alphabetically. If any of the applications in the department have X-AppInstall-AlwaysOnTop set, those applications should be listed alphabetically at the top of the list, followed by a separator, followed by all the other applications.

Whenever a department screen is being displayed:

  • The path button should contain only segments for “Get Free Software” and the name of the department.

  • The status bar text should be of the form “301 applications available”.

Whenever an application is selected:

  • If it is an application that is not currently installed nor being installed, “File” > “Install” should be sensitive. Selecting it should install the selected application.

  • If it is an application that is currently installed and not currently being removed, “File” > “Remove” should be sensitive. Selecting it should remove the selected application.

Searching from a department screen

Whenever the screen for an individual department is being displayed, the location bar should contain a search field. Whenever any text is entered in the search field, the department screen should be replaced by search results.

Whenever a search result is selected:

  • If it is an application that is not currently installed nor being installed, “File” > “Install” should be sensitive. Selecting it should install the selected application.

  • If it is an application that is currently installed and not currently being removed, “File” > “Remove” should be sensitive. Selecting it should remove the selected application.

Application screen

“File” > “Install” should be enabled whenever you are viewing an application screen for an application that is not currently installed nor being installed, and “File” > “Remove” for an application that is currently installed and not currently being removed.

Whenever an application screen is being displayed:

  • The path button should consist of elements for “Get Free Software”, then the name of the department to which the application belongs, then the name of the application.

  • The location bar should not contain a search field.

  • If it is an application that is not currently installed nor being installed, “File” > “Install” should be sensitive. Selecting it should install the selected application.

  • If it is an application that is currently installed and not currently being removed, “File” > “Remove” should be sensitive. Selecting it should remove the selected application.

  • “Edit” > “Copy Web Link” should be sensitive. Choosing it should copy a Web link for the selected package.

  • If the application is not maintained by Canonical and you then choose “View” > “Canonical-Maintained Applications”, the Center should automatically navigate back to the department screen (or, if the entire department contains no Canonical-maintained applications, the lobby screen).

  • The status bar should contain no text.

The application screen itself should contain:

  • The icon for the application, in an 8-em square
  • The name of the application, in 1.2-em text of normal weight
  • The application description (when available), all in normal text
  • The text “Price: Free”
  • The text “License:” followed by its license label

  • An item depending on whether the application is installed or installable:
    • if it is installable and not installed, an “Install” button
    • if it is installed, the text “<Application Name> is installed on this computer.”, then a “Remove” button

    • if it is not available for this architecture, the text (in 1.0) “Not available for your hardware architecture.” (with a period).

Need to specify the exact layout, including (for example) how zooming of screenshots works.

Copy-editors

Within the Center, examine the name, summary, and description of an application. Is it concise and helpful? Is the spelling and grammar correct? If it’s a non-geek application, does the description avoid geek language? Is it in the appropriate department? If you find a problem, and you are comfortable diving into code to fix it yourself, follow the distributed development instructions with the app-install-data-ubuntu package to fix problems in an application’s name or summary, or the application package itself to fix problems with its description. Otherwise, report a bug with (a) the current text, (b) what needs improving, and (c) your proposed replacement text, and give the bug report the metadata tag.

Packagers

Please look for bugs that people have reported about inappropriate application summaries, descriptions, or departments, and fix them. Thanks for your help.

Packagers

If a single package contains multiple applications, and people might reasonably want to install these applications separately, work to separate the packages into one per application.

“Installed Software” section

The “Installed Software” section should have its own home screen, and screens for individual applications. It should not include screens for each department.

Whenever you are in the “Installed Software” section, the “View” > “All Applications” and “View” > “Canonical-Maintained Applications” items should be sensitive. Changing the selection should determine whether all applications or just Canonical-maintained applications are shown. The selection should persist regardless of which screen in the “Installed Software” section is being displayed.

Regardless of which screen is being displayed, the section should should have a navigation panel at the top containing a path button.

In the navigation pane, “Installed Software” should have an icon of a computer. It may have an extra icon at the trailing end for a broken package catalog.

Whenever the main “Installed Software” screen is being displayed:

  • The path button should consist only of an “Installed Software” element.

  • The location bar should contain a search field. Whenever any text is entered in the search field, the home panel should be replaced by search results. Need to define what the search results look like.

  • The status bar text should be of the form “204 applications installed”.

Whenever an application is selected, “File” > “Remove” should be sensitive. Selecting it should remove the selected application.

Application screen

Whenever an installed application screen is being displayed:

  • The path button should consist of elements for “Installed Software” element, then the name of the application.

  • The location bar should not contain a search field.

  • “File” > “Remove” should be sensitive. Selecting it should remove the selected application.

  • “Edit” > “Copy Web Link” should be sensitive. Choosing it should copy a Web link for the selected package.

  • If the application is not maintained by Canonical and you then choose “View” > “Canonical-Maintained Applications”, the Center should automatically navigate back to the main “Installed Software” screen.

  • The status bar should contain no text.

“In Progress” section


Erratum: In 1.0, the Cancel bar will not be present.

The “In Progress” section should be visible only when items are being installed or removed, or when the last installation or removal finished less than two seconds ago. If the section disappears while being displayed, the Center should return to the section that was previously being displayed.

In the navigation pane, the section should have an animated icon of two green semicircular arrows chasing each other clockwise. After the words “In Progress” should be, in brackets, the number of tasks yet to be completed.

Whenever the “In Progress” section is being displayed, the status bar text should be of the form “2 items remaining” or “All items completed”.

The section itself should list the items requested for installation or removal, earliest first. The items should be displayed similar to a package list view, except that:

  • the second row of text is status text, rather than the application summary or package name;
  • each row has a progress bar (which itself never contains any text);
  • each row has a cancel button, which can be triggered by the Esc key when the row is selected.

1.0-in-progress-row.jpg

The cancel button for an individual item should be sensitive only when the item has not yet started or is still downloading.

If you try to close the Center while an item is installing or being removed:

  1. All items in the navigation pane, other than “In Progress”, should become insensitive.
  2. The Center should switch to displaying the “In Progress” section.
  3. When installation is completed or cancelled, the Center should close.

Status bar

The status bar should contain status text, and, in the trailing corner, a resize handle.

The status text should be centered within the status bar, both horizontally (as if the resize handle was not present) and vertically.

Determining package information

License label

For 1.0:

  • If an item is in the Main or Universe repositories, its license label should be “Open source”.
  • If an item is in the Restricted repository or on archive.canonical.com, its license label should be “Proprietary”.
  • If an item is in any other repository (including Multiverse), its license label should be “Unknown”.

Handling a broken apt cache

Whenever the Center detects that the apt cache of packages is currently broken:

  • The “Get Free Software” and “Installed Software” items in the navigation pane should both have Warning /!\ icons at their trailing end. The icons should produce the pointing-hand cursor when moused over, and when clicked should open the broken-catalog alert.

    catalog-broken-navigation-pane.jpg

  • Choosing “Install” or “Remove” for any package should open the broken-catalog alert.

The broken-catalog alert should have the primary text: “Items cannot be installed or removed until the package catalog is repaired. Do you want to repair it now?” and the secondary text “Once Update Manager has finished the repairs, you can close it and return to the Center.”.

The alert should have “Cancel” and “Repair” buttons, where “Repair” is the default. Choosing “Cancel” should cancel any installation or removal that produced the alert. Choosing “Repair” should launch Update Manager in repair mode.

A future version of the Center should be able to repair the catalog itself.

Handling an externally-changed apt cache

Whenever the Center detects that the apt cache of packages has been changed by another process, the contents of the main pane (including location bar, if any) for every section except “In Progress” should temporarily be covered by a curtain.

The curtain should have at least two lines of centered text: “Another program has changed the package catalog.” and “One moment, please…”. Below the text should be a determinate progress bar for the process of rebuilding the Center’s database.

When the process is complete, the curtain should be raised, and all sections should return (as much as practical) to their previous display.

Whenever you choose to copy a Web link for a package, the Center should copy to the clipboard text of the form http://apt.ubuntu.com/p/package-name (without a leading or trailing line break).

Installing an application

When you request to install an application:

  1. The “Install” button should be made insensitive for that application, and remain insensitive until the installation has been completed or cancelled.
  2. The Center should handle a broken apt cache if necessary.

  3. If the package cannot be installed, an error alert should appear:

    transaction-error-uninstallable.jpg
    The alert should have the primary text “Sorry, {application name}” can’t be installed at the moment. Try again in a day or two.”, and a secondary “Details” expander control that reveals a text frame containing the dpkg error. It should have an “OK” button which is the default.

  4. If necessary, a window-modal PolicyKit alert should appear to enter authentication details.

  5. The Center should begin blocking session exit.
  6. The item should appear in the “In Progress” section.
  7. If (and only if) there were no other tasks in progress when the installation was requested, the Center should switch to displaying the “In Progress” section. In future versions of the Center, progress will also be shown within the application screen itself, eliminating the need to switch to the “In Progress” section.

  8. If the item is queued waiting for other activities to complete, the status text for the item should be set to “Waiting”.
  9. While the download is taking place, the status text should be set to “Downloaded {X} of {Y}”.

  10. While the installation script is running, the status text for the item should be set to the normal text issued by dpkg.

    • If the installation script requests to overwrite a configuration file, an alert should appear:


      The alert should have the primary text ‘The installer for “{application name}” wants to change a configuration file already on this computer.”, and the secondary text “If you do not know why this file is there already, it is usually safest to allow the change.” followed by “File: {path}” in a paragraph by itself. It should have buttons “Keep Existing Version” and “Allow Change”, where “Allow Change” is the default.

  11. When installation completes, the Center should stop blocking session exit.
  12. The “installed” emblem should be applied to the application icon, and the status text should be set to “Installation complete”.
  13. Five seconds later, the item should disappear from the “In Progress” section.

For an item being installed, 50 % of the progress bar length should be allocated to the downloading process, and 50 % to running the installation script.

Packagers (and testers)

Wait, what? Fifty percent? That’s not accurate! Perhaps not, but even a progress bar that varies a bit in speed is infinitely more accurate than one that fills up completely only to jump back to zero for the next step. You can help us make it even better, though. What is a reasonable fraction of the progress bar to allocate to each step of the process? You can help by making a separate wiki page (and linking to it from this box) with a table of example installations, and a table of example removals. The table should have columns for your Internet connection speed, the size of the downloaded package file, the speed of your hard disk, and exactly how long each step of the process took. (A useful sub-task here would be to write a script that performs the installation and removal, and produces output appropriate for the table.) The progress bar will never be perfectly accurate, but the object here is to derive a formula that the Software Center (and Update Manager) can use, based solely on data it knows from the moment the download starts, to show a progress bar that is as smooth as practical.

Removing an application

When you request to remove an application:

  1. The “Remove” button should be made insensitive for that application, and remain insensitive until the removal has been completed or cancelled.
  2. The Center should handle a broken apt cache if necessary.

  3. If the application is part of the ubuntu-desktop metapackage, the Center should put up a confirmation alert: “{application name} is a core application in Ubuntu. Uninstalling it may cause future upgrades to be incomplete. Are you sure you want to continue?” The alert should have “Cancel” and “Remove Anyway” buttons; neither button should be the default.

  4. If you request to remove an application that is part of any other metapackage, the Center should put up a confirmation alert: ‘If you uninstall {application name}, future updates will not include new items in the “{metapackage name}” set. Are you sure you want to continue?’ Again, the alert should have “Cancel” and “Remove Anyway” buttons; neither button should be the default.
  5. If you request to remove an application that is depended on by any other package, or that shares a binary package with any other application, the Center should put up a confirmation alert: “To remove {application name}, these items must be removed as well:” — with any affected applications, followed by any other affected packages, listed alphabetically in an inset package list view that does not allow selection but is focused by default. The alert should have “Cancel” and “Remove All” buttons; neither button should be the default.

  6. The Center should, if necessary, ask for authentication details in a window-modal PolicyKit alert.

  7. The Center should begin blocking session exit.
  8. The item should appear in the “In Progress” section.
  9. If (and only if) there were no other tasks in progress when the installation was requested, the Center should switch to displaying the “In Progress” section. In future versions of the Center, progress will also be shown within the application screen itself, eliminating the need to switch to the “In Progress” section.

  10. When removal completes, the Center should stop blocking session exit.

Help

The help should cover these topics:

  • What is the Ubuntu Software Center?
  • Installing a program
  • Using a program once it’s installed
  • Removing a program
  • Why is it asking me to remove several programs together?
  • What does “Canonical-maintained” mean?
  • Why are all the programs free?
  • What if a program I want isn’t in the Center?
  • What if a program doesn’t work?

About window

The About window should follow the standard Gnome About window layout, using the appropriate application summary.

Elements not scheduled for 1.0

These are mini-specifications for elements and behaviors not scheduled for version 1.0. If you would like to implement one, please do so in a branch and propose it for merging after version 1.0 has been branched. Thanks!

Launching from the command line

software-center should launch the Center to its default view. software-center package-name or software-center apt:package-name should open the Center to display that package, if it is both an application and present in repositories that the Center is configured to display. If it is not — for example, if it is in Universe, while the Center is set to display “Canonical-Maintained Applications” — the Center should not appear, and should exit immediately with an error.

Whenever an apt: link is opened, gdebi should try to launch the Software Center to the requested package. If the Center returns an error (for example, because the package is not a visible application, or it is an application in Universe when the Center is set not to show applications from Universe), gdebi should fall back to displaying its own interface as usual.

In version 2.0, the Center will replace gdebi completely.

Minimum pane sizes

The minimum width of the navigation pane should be just enough to display the icons of the top-level sections listed within it. How much is this, exactly?

The minimum width of the main pane should be 8 em.

Smarter ellipsis of package list views

In a package list view, if the secondary text is wider than the space available, it should be ellipsized in the middle, not the trailing end (because unique parts of package names are often at the trailing end).

Search keyword greylist

For the sake of people who are unfamiliar with how they should use the search, there should be a greylist of words that are downplayed when searching for applications. “Downplayed” in this sense means that:

  • A search that consists only of greylisted words should work just as if none of the words were greylisted.
  • In any other search that contains one or more greylisted words, the greylisted words should be ignored: only the words that are not greylisted should be searched for. However, once the results are chosen, the presence of any greylisted words should cause a result to appear higher in the list.

For English, the greylist should be “app application program programme suite tool”. The greylist should have a translation note: “Do not translate this list directly. Instead, provide a list of words in your language that people are likely to include in a search but that should normally be ignored in the search.”

Test case: From the lobby, search for “drawing”. Then search for “drawing program”. The Center should return exactly the same results for both searches, but in a different order.

Test case: From the lobby, search for “application suite”. The Center should return only results that include both those words.

Copying package list view items to the clipboard

Whenever an item in a package list view is selected, “Edit” > “Copy” should be sensitive. Choosing it should copy to the clipboard the item’s primary and secondary text as plain text. If the item has a custom icon, it should also copy the icon as a bitmap and as a vector image if available.

Two-pane department screen

A department screen should have two panes. If the department has any items marked as X-AppInstall-AlwaysOnTop, the top pane should begin with a “Bundles” section listing those items alphabetically. Next in the top pane should be a “Most popular” section, listing the most popular applications in that department, most popular first. The bottom pane should contain only a list of all items in that department, sorted alphabetically.

The top pane should use a package icon view, and the other pane should use a package list view.

Nicer text for architecture-incompatible packages

In the application screen for a package that is not available for the current architecture, the text “Not available for your hardware architecture.” should be made more specific: “<Application Name> is not available for this type of computer (<Architecture>).”.

Cancel bar in “In Progress” screen

At the bottom of the “In Progress” section should be a panel of the same general appearance as the location bar, but containing only a “Cancel All” button.

The “Cancel All” button should be sensitive only when any items have not yet started or are still downloading.

If you try to close the Center while an item is installing or being removed, as soon as the Center switches to displaying the “In Progress” section, at the left end of the panel containing the “Cancel All” button, this text should be displayed: “The Center will close when these tasks finish.” (The “Cancel All” button should retain its usual sensitivity and effect.)

More informative text for waiting tasks

When you request to install an item and it is waiting for other tasks in the “In Progress” queue, its status text should be “Waiting to install”.

When you request to remove an item and it is waiting for other tasks in the “In Progress” queue, its status text should be “Waiting to remove”.

Whenever an item is selected in the “In Progress” section, “Edit” > “Copy Web Link” should be sensitive. Choosing it should copy a Web link for the selected package.

“Where Is It?” button

GTK/Clutter hackers

In an application screen in the “Installed Software” section, there should be a “Where Is It?” button. Clicking the button should:

  1. over two seconds, draw a ring around the menu (e.g. “Applications”) in which the application resides

  2. wait for you to open the menu
  3. instantly remove the previous ring
  4. over two seconds, draw a ring around the application, or around the submenu that contains the application
  5. wait for you to select the item or open the submenu
  6. instantly remove the previous ring, etc.

At any time, focusing another window or pressing any key should cancel the process and make any ring disappear.

Animation of the main pane

GTK/Clutter hackers

Whenever the user navigates from any item in the navigation pane to any other item in the navigation pane, over 0.5 seconds the contents of the main pane should slide out the top of the pane (if the new item is lower in the navigation pane) or out the bottom of the pane (if the new item is higher in the navigation pane), with the new section sliding from the opposite end to replace it.

GTK/Clutter hackers

Whenever the user navigates from within the lobby screen to a department screen, over 0.5 seconds the left and right halves of the lobby screen should split in two halves sliding out of the pane to the left and right — like a pair of lift/elevator doors opening — to reveal the department screen underneath.

lobby-animation.jpg

When navigating from a department screen back to the lobby screen, the reverse should happen: over 0.5 seconds, the left and right halves of the lobby screen should slide in from their respective sides of the main pane, eventually covering the department screen.

GTK/Clutter hackers

Whenever the user navigates from within a department screen to an application screen, over 0.5 seconds, the icon of that application that was visible in the department screen should simultaneously zoom and move linearly to become the icon of the application visible in the application screen. At the same time, the rest of the contents of the department screen should linearly crossfade into the rest of the contents of the application screen. Both of these effects should also happen when navigating the reverse direction, from the application screen back to the department screen.

Roadmap

This roadmap is a draft.

October 2009

For October 2009, we have four major goals.

  1. Include in Ubuntu 9.10 a simple and fun interface for finding, installing, and removing software. This will likely involve:
    • A new name.
    • A highly graphical “main entrance” or “front page”, that allows browsing software by category and subcategory, and perhaps includes featured and/or popular applications.
    • Fast and error-tolerant search.
    • Attractive, informative, and easy-to-understand presentation of individual software packages within the interface (with this presentation also being used for apt: URL links to graphical applications).

    • Interactive demonstration of how to launch the software you’ve just installed.
    • The ability to continue browsing available software, and queue up installation/removal requests, while other changes are being made.
    • Better security than the current installation mechanism (i.e. use of PolicyKit instead of gksudo).

  2. Increase use of apt: links by Ubuntu enthusiasts, software projects, and ISVs, replacing terminal commands or standalone downloads. This will likely involve:

    • A redirector Web service (e.g. redirecting from http://apt.ubuntu.com/package-name to apt:package-name), with helpful handling of error cases, to better cater for people who are not running Ubuntu when they follow the link (and to better cater for forums and other CMSes that do not allow direct apt: links).

    • Prominent and highly understandable information on ubuntu.com about how to get your software (whether Free or non-Free) packaged for Ubuntu.
    • An apt: evangelism campaign for projects that already have their software packaged in the Ubuntu repositories.

  3. Fine-tune the interface presented when software updates are available. This may involve:
    • When updates are presented automatically, collapsing the list of updates by default, concentrating instead on the existence of updates and the choice to install them now or later.
    • Presentation of the new better descriptions of security updates.

  4. Establish a system within Launchpad for registered users to suggest a better description, category, keywords, and/or screenshot for a software package, and for the package maintainer to incorporate those changes into a new version of the package, so that end users can find the software more easily later.

April 2010

  1. In Ubuntu 10.04, replace Synaptic, Software Sources, Gdebi, and (if appropriate) Update Manager with an expanded Ubuntu Software Center. This will likely involve:
    • The ability to see, install, and uninstall non-graphical software (programming utilities, fonts, database software, etc) within the Center if desired.

    • Opening the Center for all apt: links, not just those of graphical applications.

    • Handling of package conflicts and other error cases.
    • A collapsed view of the Center that shows only available updates, but is expandable to perform other tasks if desired.
  2. Establish a system within Launchpad to store ratings and reviews of Ubuntu software (whether in official repositories or in participating PPAs), for use in a future version of the Center.

October 2010

  1. Integrate the ratings and review mechanism from Launchpad into Ubuntu Software Center. This will likely involve:
    • An interface within the Center for rating and reviewing software that is installed now (or that has been installed recently).
    • A mechanism for reporting, and staff for moderating, inappropriate reviews (e.g. those that use offensive language).

  2. Establish a mechanism for establishing and conveying a trust level for software in PPAs, and for easily adding PPAs within the Center.
  3. Provide the ability to purchase software from within the Center.

April 2011

  1. Improve sharing and tracking of software within the Center. For example:
    • Overviews of installed software by license, cost, or maintenance timetable.
    • Discovering software by what your friends have installed.
    • Downloading a package once for installing on many computers.
    • Incorporating AptOnCD.

    • A visible history of past installations/removals/purchases, including the ability to undo specific changes.
  2. Investigate and, if appropriate, implement specialized interfaces for browsing and installing particular classes of package:
    • fonts
    • screensavers
    • Windows applications, etc.

Eventual scope

This is a laundry list of desired features, for the purpose of designing an interface for version 1.0 that will scale to include those features later. It is not a list of features scheduled for 1.0.

You should be able to:

  • find software by: [idea 18315]

    • name
    • purpose (e.g. “wireframe” → Dia)

    • category and subcategory (e.g. Games: Card Games) [idea 14857]

    • name of competitor (e.g. “excel” → OpenOffice.org Spreadsheet, Gnumeric, KSpread)

    • misspelling (e.g. “pigeon” → Pidgin)

    • needed right now (by MIME type, codec, font, etc)
    • vendor?
    • class (debug vs. non-debug, applications vs. not [idea 3144], etc)

    • recommendation [Andrew Sayers]
      • alternatives to programs you used in Windows (via Migration Assistant)
      • software to make use of your custom hardware
      • results previously returned by command-not-found

      • habit (people who installed X also installed Y) (suggested by Enrico Zini)

    • suite (software for Java developers, software for film makers)
    • what’s new [idea 13762]

    • whether it was recently installed or removed [idea 16953]

  • find software sources (Launchpad PPAs)
    • and know how trusted each PPA is
  • get information about software
    • what it does
    • what people think of it (ratings and reviews) [UserReviewsInSynaptic] [idea 18729]

    • what it looks like (screenshots or short videos) [idea 15774]

    • what the current version number is [idea 13036]

    • whether it is installed by default in Ubuntu
    • whether it’s installed right now [idea 19068]

      • if it’s installed, how to launch it [idea 16216]

      • if it’s not installed, how much there is to download, including dependencies [idea 4613]

    • whether it’s localized into your native language
    • what it costs
    • what its license is
    • who provides updates for it, and for how long
    • who provides tech support for it, and for how long
    • how many of your friends have it installed already
    • whether you have it installed already (and if so, how to find it)
    • … all in your native language
  • install software
    • purchasing commercial software [idea 18538]

    • quickly
      • unpack — and maybe even install — downloaded packages while downloading the rest
      • download a package only once when installing it over a LAN [idea 19265]

    • asynchronously (browse and select more stuff while other stuff is installing)
    • pausing if you need to use your bandwidth for something else [idea 16643]

    • downloading it once for multiple computers (subsuming APTonCD)
    • read about updates while they are installing
    • using PolicyKit to install/uninstall/etc, but not needing authorization to update package lists

  • get an overview of installed software
    • how much is maintained for how long
    • how much receives tech support from whom, and for how long
    • how much is under which license
    • even applications you installed from a .deb or compiled yourself [idea 18408]

  • upgrade to the next version of Ubuntu
    • know why you should upgrade
    • without breaking PPAs
    • insert an Ubuntu CD in Ubuntu and get an understandable result

User stories

  • Joel wants to install Skype. He goes to skype.com, finds the "Download for Ubuntu" button, and clicks it. He doesn't know what a “package” is, let alone a “.deb” or a “repository”.

  • Melatie runs an accounting business that is far too small to have its own IT manager. She has a support contract for the Ubuntu software on the office PCs, and she knows that this doesn’t cover all the available software, so she wants to keep track of exactly what software is installed that isn’t covered.
  • Sam is a college student who has recently migrated from to Windows XP to Ubuntu because he was fed up with adult sites installing spyware on his computer. The reason he had so much trouble with spyware was that XP kept on popping up balloons in the corner of the screen to tell him about security updates, but he closed them because that was the easiest thing to do. A few weeks after he installs Ubuntu, there is an important security update to Firefox.
  • Ladina works as a developer at a molecular biology lab where she is not a sysadmin. She is having a bit of trouble with Biopython, and wants an easy way of seeing which version of python-biopython is installed and where its files are.

  • Helen is happily using Ubuntu 10.04 when it tells her that Ubuntu 10.10 has been released. Before she upgrades, she has some basic questions. What will the upgrade do? How long will it take? How much will it cost? Will she lose any of her files? What should she do if something goes wrong?

Similar efforts

Yet-to-be-specified features

  • “Featured this week” area in lobby screen
  • codec search
  • font search [idea 15333]

  • scope control for search (All / Name / Description / Package Codename / Alternatives)

History section

Interface designers

For version 2.0, we would like the Center to include a history of items installed, removed, updated, and otherwise changed since Ubuntu was installed. How should we present this? Present your ideas at SoftwareCenter/History.

Subcategories

Ratings

Wine integration

  • If you have Wine installed and some apps that you've installed manually (through installer files or CDs), there could be a separate department for “Installed Windows Programs”. However, it’s important to communicate that Windows programs are installed just for you, whereas all the other programs are installed for everyone on the system.
    • This could also apply to other applications installed only for you. http://brainstorm.ubuntu.com/idea/6816/

    • Alternatively, the Center could also install wine programs globally to avoid installing the same programs locally multiple times
      • Wine doesn't yet support system-wide installation or multiple users using the same apps simultaneously, however.
  • Individual Windows apps offered through the Center itself could be packaged to support multi-user setup. Scott Ritchie's presentation at UDS-karmic shows how this can be done fairly simply, however it has to be done for Windows apps individually: http://yokozar.org/blog/archives/138

    • Such packaging of an app could go alongside a testing process to make sure the app worked well in the version of Wine we ship.

License information

Developer tools

  • For a particular package, show which packages are required for development or debugging of that package.
  • Maybe treat -dev packages specially?

Eliminating the “{application name} can’t be installed at the moment” alert

Instead of an impossible installation causing an alert saying “Sorry, {application name}” can’t be installed at the moment. Try again in a day or two.”, the task should show its error status inline in the “In Progress” section somehow, and sit there across Center launches until you retry it or cancel it. The “In Progress” arrows would need to stop spinning for cases like this, because nothing is actually happening.

Unresolved issues

  • Popularity measurements are skewed by default installs. [Idea #16411: Do not rate the popularity of default apps]

  • Need to define keyboard navigation order.
  • How to expose the package names in application lists, for those people who want to see them? Perhaps an off-by-default column in the listing.
  • What the Center should do differently when it is running in a live CD session.
  • What if the dependencies of something you choose to install conflict with the dependencies of something already waiting in the queue?
  • How should we present items that Recommend (but do not Depend on) an item that you are about to remove?
  • How should we present items that Recommend (but do not Depend on) an item that is about to be removed because of an item you are about to install?
  • How will we extract icons, human-friendly application names, summaries, categories, and screenshots for applications in PPAs and other third-party repositories, since they won't be covered by app-install-data?

  • How to prioritize toolkits?
    • For applications that have both GTK and Qt versions (e.g. GDebi, Jockey, Qalculate), we should display the GTK+ version more prominently than the Qt version.

    • To manage expectations, perhaps an application that uses a strange toolkit (e.g. Tk, Gnustep) should be indicated with some sort of warning that it will behave differently from most Ubuntu applications.

Unsorted ideas

  • make clear which packages are currently subject to CVE vulnerabilities
  • Linux's dirty little secret

  • OpenPrinting: “To make installing printer drivers not provided by the Linux distributions easier for users, and to make providing printer drivers easier for the printer manufacturers, we have introduced a new concept of distribution-independent printer driver packages.”

  • While installing, the window should be reducible (or perhaps reduce by default) to show only install progress.
  • Replace the “These items must be removed as well” alert with a box embedded in the package screen when you click “Remove”?
  • “Also a permalink on the description page, would be pretty nice. You want to suggest a package to someone? You just have to copy paste the (apt url) application link into your IM or blog post.” [Stefano Forenza]

  • idea 19653: “Most users switching over from Windows associate "Add/Remove" only with removing software, and believe that new software needs to be purchased at a retailer ...”

  • Idea #19882: Problem With Restricted Software Installation Warning

  • Idea #17929: Its hard to know what are you installing

  • Idea #14025: Better distinction between installed/uninstalled apps in Add/Remove Applications

  • Martin Owens: apt-url and the whitelist

  • “FooBar is not available for this version of Ubuntu, but it is available for version X.Y…”

  • Smith Review Project: making package descriptions and debconf questions human-readable

  • Maybe the Firefox start page could contain an "Ubuntu software" link, that opens the Store, alongside its "Ubuntu help" link? [Vincenzo Ciancia]
  • Ubuntu Brainstorm: Most popular ideas for Add/Remove

  • Ubuntu Brainstorm: Most popular ideas for Synaptic

  • SummerOfUsability

  • Installing software locally when the user doesn't have administrator rights.
  • Ayatana/UpdateIssues

  • http://www.anandtech.com/systems/showdoc.aspx?i=3616&p=9

  • If the user does not have admin rights then the program would offer to queue the program for the system admin. This is very useful when the user can just say check your install queue instead of remembering the exact packages that he needed. Especially when he is just clicking a link on the internet. Could also be useful for parents.
  • Multi-level undo.
  • Updates are aggregated by source package, with packages hidden inside an expander.
  • Recommendations and suggestions are shown as children of an item in the list (recommendations selected by default, suggestions not).
  • Incorporate PackageMaintainednessPresentation, including its “Future work” maintenance-graph.jpg

  • Add a “Date Installed” column to the “Installed Software” section.
  • Handle the “Extends” field for packages.
  • Provide an easy mechanism for applications such as Inkscape to select and install plug-ins.
  • When search field becomes non-empty, switch to results view immediately, perhaps with spinner until first results arrive. [Stuart Langridge]
  • Need to define the exact behavior when waiting for other package managers to quit.
  • Provide an optional "Donate" button for projects that need donations to keep going. The button could open up the donate page on their website. Or if non-free (as in beer) software is sold through the software store then the money could go through the site ... (The need was talked about in FLOSS Weekly 86 - Ardour). Donate button in Software Store in Ubuntu Brainstorm.

    • Alternatively provide a way of a project displaying a web page instead of the package description. This allows the project to collect revenue via adverts, subscription or donation. It puts the handling of revenue into the hands of the project. If the web page data isn't available then it could revert by default back to the package description. This could also be a preference option.

Metadata

<mpt> mvo: So we have available (1) package name [from Debian/Ubuntu packager], (2) application name [.desktop file via app-install-data-ubuntu], (3) Comment [.desktop file via app-install-data-ubuntu], (4) Summary [first line of Description: from Debian/Ubuntu maintainer, treated specially], and (5) Description [the rest of the Description: from Debian/Ubuntu maintainer]. Is that right?
<mvo> mpt: yes, correct
<mpt> Egads.
<mvo> mpt: and if we expand to non-apps we loose all the info from the desktop files of course
<mpt> sure
<mvo> mpt: and right now multiple applications can be in a single package
<mpt> yes
<mvo> mpt: (that is pretty common)
<mpt> e.g. gnome-games
<mvo> yeah

SoftwareCenter (last edited 2019-04-28 16:57:10 by mpt)