SoftwareCenter

Differences between revisions 59 and 60
Revision 59 as of 2009-05-29 08:51:07
Size: 12420
Editor: host86-145-255-138
Comment:
Revision 60 as of 2009-06-01 17:30:53
Size: 15438
Editor: yttrium
Comment: adds more ideas from Ubuntu Brainstorm
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:
 * Packages affected: `aptoncd`, `gdebi`, `gnome-app-install`, `synaptic`, `system-cleaner`, `system-cleaner-gtk`, `update-manager`  * Packages affected: `aptoncd`, `gdebi`, `gnome-app-install`, `synaptic`, `computer-janitor-gtk`, `computer-janitor-gtk`, `update-manager`

<<TableOfContents>>
Line 10: Line 12:
AppCenter is the codename for a single graphical interface for package management in Ubuntu. (The final name will be dependent on user testing of which is most understandable.) This will combine the power of Synaptic, the human-readable approach of Add/Remove Programs, and the ease of use of Update Manager. 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 implementation might be based on Add/Remove Programs, Synaptic, or packagekit-gnome, whichever allows for quickest development and best performance. There will be a single graphical interface for package management in Ubuntu, currently codenamed App``Center. (The final name, like much of the design, will be partly dependent on user testing.) This will combine the human-readable approach of Add/Remove Applications, the power of Synaptic, and the ease of use of Update Manager. 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 implementation will be based on Add/Remove Applications (`gnome-app-install`).
Line 17: Line 19:
In Ubuntu there are at least four graphical tools promoted for software management. For installing and uninstalling programs that have a `.desktop` file, you can use `synaptic` or `gnome-app-install`, though the latter warns you to use Synaptic instead "for more complicated needs". For installing and uninstalling programs that don't have a `.desktop` file, you must use `synaptic`. For installing downloaded `.deb` packages, you use `gdebi`. For installing updates, you can use `synaptic` or `update-manager`, but the latter instructs you to run `synaptic` if it encounters conflicts. And for removing no-longer-needed software, you use `system-cleaner-gtk`.

This redundancy causes people to encounter multiple interfaces for the same tasks, wastes space on the Ubuntu CD, and divides development effort. And having multiple sanctioned graphical methods of installing software makes people more likely to think that unsanctioned methods (such as Ultamatix or third-party Web sites) are also safe, when they are not.

Instead, there should be one awesome tool for general software management, with an obvious name and an interface your grandmother can use.
In Ubuntu there are at least four graphical tools promoted for software management. For installing and uninstalling programs that have a `.desktop` file, you can use `synaptic` or `gnome-app-install`, though the latter warns you to use Synaptic instead "for more complicated needs". For installing and uninstalling programs that don't have a `.desktop` file, you must use `synaptic`. For installing downloaded `.deb` packages, you use `gdebi`. For installing updates, you can use `synaptic` or `update-manager`, but the latter instructs you to run `synaptic` if it encounters conflicts. For removing no-longer-needed software, you use `computer-janitor-gtk`. This redundancy causes people to encounter multiple interfaces for the same tasks, wastes space on the Ubuntu CD, and divides development effort. And having multiple sanctioned graphical methods of installing software makes people more likely to think that unsanctioned methods (such as Ultamatix or third-party Web sites) are also safe, when they are not. Instead, there should be one awesome tool for general software management, with an obvious name and an interface your grandmother can use.
Line 30: Line 28:
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.
Line 31: Line 31:
 * find software
  * by name
  * by purpose

 * find software by: [``[[http://brainstorm.ubuntu.com/idea/18315/|idea 18315]]``]
  * name
  * purpose (''e.g.'' “wireframe” → Dia)
  * category and subcategory (''e.g.'' Games: Card Games) [``[[http://brainstorm.ubuntu.com/idea/14857/|idea 14857]]``]
  * name of competitor (''e.g.'' “excel” → Open``Office.org Spreadsheet, Gnumeric, KSpread)
  * misspelling (''e.g.'' “pigeon” → Pidgin)
Line 35: Line 39:
  * by vendor?
  * by class (debug vs. non-debug, applications vs. not, etc)
  * by habit (people who installed X also installed Y (previously [[http://www.enricozini.org/2006/debtags/debtags-interesting-times.html|suggested by Enrico Zini]]))
  * by suite (software for Java developers, software for film makers)
  * vendor?
  * class (debug vs. non-debug, applications vs. not [``[[http://brainstorm.ubuntu.com/idea/3144/|idea 3144]]``], etc)
  * habit (people who installed X also installed Y (previously [[http://www.enricozini.org/2006/debtags/debtags-interesting-times.html|suggested by Enrico Zini]]))
  * suite (software for Java developers, software for film makers)
  * what’s new [``[[http://brainstorm.ubuntu.com/idea/13762/|idea 13762]]``]
  * whether it was recentl
y installed or removed [``[[http://brainstorm.ubuntu.com/idea/16953/|idea 16953]]``]
Line 41: Line 48:
Line 43: Line 51:
  * what people think of it (ratings and reviews)
  * what it looks like (screenshots or short videos)
  * whether it's localized into your native language
  * how big it is ([[http://brainstorm.ubuntu.com/idea/12118/|idea 12118]])
  * what people think of it (ratings and reviews) [UserReviewsInSynaptic] [``[[http://brainstorm.ubuntu.com/idea/18729/|idea 18729]]``]
  * what it looks like (screenshots or short videos) [``[[http://brainstorm.ubuntu.com/idea/15774/|idea 15774]]``]
  * what the current version number is [``[[http://brainstorm.ubuntu.com/idea/13036/|idea 13036]]``]
  * whether it is installed by default in Ubuntu
  * whether it’s installed right now [``[[http://brainstorm.ubuntu.com/idea/19068/|idea 19068]]``]
   * if it’s installed, how to launch it [``[[http://brainstorm.ubuntu.com/idea/16216/|idea 16216]]``]
   * if it’s not installed, how much there is to download, including dependencies [``[[http://brainstorm.ubuntu.com/idea/4613/|idea 4613]]``]
  * whether it’s localized into your native language
  * how big it is [``[[http://brainstorm.ubuntu.com/idea/12118/|idea 12118]]``]
Line 49: Line 62:
  * who maintains it, and for how long   * who provides updates for it, and for how long
Line 53: Line 66:
  * ...all in your native language   * all in your native language
Line 55: Line 69:
  * quickly (unpack — and maybe even install — downloaded packages while downloading the rest)   * purchasing commercial software [``[[http://brainstorm.ubuntu.com/idea/18538/|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 [``[[http://brainstorm.ubuntu.com/idea/19265/|idea 19265]]``]
Line 57: Line 74:
  * pausing if you need to use your bandwidth for something else [``[[http://brainstorm.ubuntu.com/idea/16643/|idea 16643]]``]
Line 60: Line 78:
Line 64: Line 83:
  * even applications you installed from a .deb or compiled yourself [``[[http://brainstorm.ubuntu.com/idea/18408/|idea 18408]]``]
Line 65: Line 86:
  * and know why you should   * know why you should upgrade
Line 67: Line 88:
 * insert an Ubuntu CD in Ubuntu and get an understandable result

== Use cases ==
  * insert an Ubuntu CD in Ubuntu and get an understandable result

== User stories ==
Line 83: Line 104:
Version 1.0: Be awesome enough to replace Synaptic and Add/Remove Applications, and to be promoted as a primary feature of Ubuntu. ''This roadmap is a rough draft only.''

Version 1.0: Be awesome enough to replace Add/Remove Applications, and to be promoted as a primary feature of Ubuntu.

Version 1.1: Subsume Synaptic.
Line 87: Line 112:
Version 3.0: Subsume `gdebi` and `system-cleaner`.

Version 4.0: Subsume `aptoncd`.
Version 3.0: Allow purchase of commercial software.

Version 4
.0: Subsume `gdebi` and `system-cleaner`.

Version 5.0: Subsume `aptoncd`.
Line 96: Line 123:
=== Invocation === === Access ===

 * [[http://brainstorm.ubuntu.com/idea/18408/|Idea #12193: Add/Remove and Synaptic should be strongly displayed to new users]]
Line 105: Line 134:
 * font search  * font search [``[[http://brainstorm.ubuntu.com/idea/15333/|idea 15333]]``]

=== Initial appearance ===

 * [[http://brainstorm.ubuntu.com/idea/17431/|Idea #17431: Add/Remove Applications is ugly and confusing]]
Line 149: Line 182:
 * Screenshots ([[http://brainstorm.ubuntu.com/idea/15774/|idea 15774]])
 * UserReviewsInSynaptic
Line 178: Line 209:
 * [[http://brainstorm.ubuntu.com/idea/19653/|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 ...”
 * [[http://brainstorm.ubuntu.com/idea/19653/|Idea #19882]]: Problem With Restricted Software Installation Warning
 * [[http://brainstorm.ubuntu.com/idea/16411/|Idea #16411: Do not rate the popularity of default apps]]
 * [[http://brainstorm.ubuntu.com/idea/17929/|Idea #17929: Its hard to know what are you installing]]
 * [[http://brainstorm.ubuntu.com/idea/14025/|Idea #14025: Better distinction between installed/uninstalled apps in Add/Remove Applications]]
Line 182: Line 218:
== Comments / Miscellaneous ==
||{{attachment:screenshot.png}}||
## == Comments / Miscellaneous ==
## ||{{attachment:screenshot.png}}||
  • Launchpad entry: software-library

  • Created: 2005-08-29 by MatthewPaulThomas

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

Summary

There will be a single graphical interface for package management in Ubuntu, currently codenamed AppCenter. (The final name, like much of the design, will be partly dependent on user testing.) This will combine the human-readable approach of Add/Remove Applications, the power of Synaptic, and the ease of use of Update Manager. 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 implementation will be based on Add/Remove Applications (gnome-app-install).

Rationale

In Ubuntu there are at least four graphical tools promoted for software management. For installing and uninstalling programs that have a .desktop file, you can use synaptic or gnome-app-install, though the latter warns you to use Synaptic instead "for more complicated needs". For installing and uninstalling programs that don't have a .desktop file, you must use synaptic. For installing downloaded .deb packages, you use gdebi. For installing updates, you can use synaptic or update-manager, but the latter instructs you to run synaptic if it encounters conflicts. For removing no-longer-needed software, you use computer-janitor-gtk. This redundancy causes people to encounter multiple interfaces for the same tasks, wastes space on the Ubuntu CD, and divides development effort. And having multiple sanctioned graphical methods of installing software makes people more likely to think that unsanctioned methods (such as Ultamatix or third-party Web sites) are also safe, when they are not. Instead, there should be one awesome tool for general software management, with an obvious name and an interface your grandmother can use.

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

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)

    • habit (people who installed X also installed Y (previously 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
    • how big it is [idea 12118]

    • 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 repository is.

  • 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 10.10 is released, and she’s not confident about upgrading. What will the upgrade do, she wonders. How much will it cost? Will she lose any of her files?

Roadmap

This roadmap is a rough draft only.

Version 1.0: Be awesome enough to replace Add/Remove Applications, and to be promoted as a primary feature of Ubuntu.

Version 1.1: Subsume Synaptic.

Version 2.0: Subsume Update Manager. Incorporate ratings and reviews.

Version 3.0: Allow purchase of commercial software.

Version 4.0: Subsume gdebi and system-cleaner.

Version 5.0: Subsume aptoncd.

Design

Access

Initial appearance

Window layout

Software Library should have three panes, like an e-mail program: the sources pane, the package/program list, and the package/program pane. There should also be a menu bar, a bar at the top containing filter/search controls, and a bar at the bottom containing summary info and an action button.

...

Braindump

  • Dynamically filtered view of programs or packages:

    Show: [Programs installable    :^]    Containing: [______________]
  • Menu choices are:
    • Programs available (default when invoked manually)
    • Programs already installed
    • Packages available
    • Packages installed
    • Security updates (search field replaced by "Updates available" text)
    • All updates
    • Changes to be made
  • Items in the list have iconic pull-down menus that look like menus, not checkboxes.
  • Recommendations and suggestions are shown as children of an item in the list (recommendations selected by default, suggestions not).
  • Multi-level undo.
  • Updates are aggregated by source package, with packages hidden inside an expander.

Implementation

Code

Data preservation and migration

Unresolved issues

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