AboutUbuntu

Differences between revisions 10 and 11
Revision 10 as of 2005-11-02 18:29:10
Size: 3425
Editor: 209
Comment: decantankerize
Revision 11 as of 2005-11-04 18:04:36
Size: 3654
Editor: 209
Comment: final tweaks, ready for review
Deletions are marked like this. Additions are marked like this.
Line 7: Line 7:
 * '''Packages affected''':  * '''Packages affected''': `AboutUbuntu`, `ubuntu-artwork`
Line 15: Line 15:
People are used to "About <name of program>" showing a window that gives the software version details, and copyright info. Since many people do not distinguish between the computer and the operating system, other operating systems also include in their About box basic info about the computer the system is running on. Ubuntu should be just as polished. People are used to "About ''Name of Program''" showing a window that gives the software version details, and copyright info. Since many people do not distinguish between the computer and the operating system, other operating systems also include in their About box basic info about the computer the system is running on. Ubuntu should be just as polished.
Line 19: Line 19:
 * Stephanie wants to know which version of Ubuntu she is running.  * Stephanie installed Ubuntu a couple of months ago, from a CD she picked up at an Internet cafe. Now she has found the Ubuntu Web site, sees that the latest version of Ubuntu is ''x''.''y'', and wants to know whether she's running the latest version.
Line 21: Line 21:
 * Jeff, a marketing hack and propagandist, wants to make sure users can find more information about Ubuntu, such as the website or online help.  * Jeff, a marketing hack and propagandist, wants to make sure people using Ubuntu can find more information about the system.
Line 23: Line 23:
 * Claude wants to install some software that requires a particular kernel version. Or maybe he doesn't. We just hit him instead. Or run him over with a (stable! really!) gnu.  * Claude, a recent Gentoo convert, follows the bleeding edge of Grumpy Groundhog. He wants an easy way of seeing what kernel version he's running.
Line 25: Line 25:
 * Jamie the sysadmin wants an easy way for his users to check some basic specifics of their system, so he can diagnose problems quicker. (Ubuntu version, CPU/mem, last (dist-)upgrade etc.?)  * Jacinda, a sysadmin, wants an easy way for his users to check some basic specifics of their system, so he can diagnose problems more quickly.
Line 29: Line 29:
Simple! Simple! Simple! Simplicity, simplicity, simplicity.
Line 31: Line 31:
 * Choosing the "About Ubuntu" menu item opens the About window, visually centered on the screen. It behaves properly with respect to startup notification and session saving. The window is closable using either Ctrl+W or the close button in the title bar.  * Choosing the "About Ubuntu" menu item opens the About window, visually centered on the screen. It behaves properly with respect to startup notification and session saving. The window is closable using either Ctrl+W or the close button.
Line 35: Line 35:
  * a button linking to [http://ubuntu.com/ ubuntu.com]   * A sentence describing Ubuntu, with a "More Information" button linking to [http://ubuntu.com/ ubuntu.com]
Line 37: Line 37:
  * CPU speed
 * amount of RAM on the system
  * Linux kernel icon (linking to kernel.org) and version number
  * Gnome icon (linking to gnome.org) and version number.
  * CPU speed and amount of RAM on the system
  * a "Hardware Details" button that opens the Device Manager
  *
Linux kernel version number
  * Gnome version number.
Line 42: Line 42:
 * Any of the version info can be dragged and dropped as plain text into another program.  * Any of the informative text can be dragged and dropped as plain text into another program.
Line 51: Line 51:
 * The computer model is read from `lshal | grep procfs.cpuinfo.model_name`, which isn't always present.  * The computer model is read from `lshal | grep procfs.cpuinfo.model_name`, or left blank if that line is not present.
Line 53: Line 53:
 * The amount of RAM is read from `free`.  * The amount of RAM is read from `free` or `/proc/meminfo`.
Line 55: Line 55:
=== Data preservation and migration === === Current bugs ===
Line 57: Line 57:
 * The current "About Ubuntu" page is replaced by the front page of ubuntu.com, which is linked to by the About box.

== Outstanding issues ==

 * code to close window on Ctrl+W isn't working
 * '\n \l' needs stripping from version details
 * code to close window has broken
 * need to get version details in some way that doesn't include '\n \l'
Line 65: Line 61:
 * "More Details..." needs to open hal-device-manager  * "Hardware Details..." needs to open hal-device-manager
Line 70: Line 66:
 * Is `/proc/meminfo` a better place to get the total memory? === Data preservation and migration ===

 * The current "About Ubuntu" page is removed from `ubuntu-artwork`, as it is redundant with the front page of ubuntu.com, which is linked to by the About box. ''See also'' BrowserDefaults.

Summary

To make Ubuntu more polished and easier to support, it will have an About box that displays the Ubuntu version and basic information about the system.

Rationale

People are used to "About Name of Program" showing a window that gives the software version details, and copyright info. Since many people do not distinguish between the computer and the operating system, other operating systems also include in their About box basic info about the computer the system is running on. Ubuntu should be just as polished.

Use cases

  • Stephanie installed Ubuntu a couple of months ago, from a CD she picked up at an Internet cafe. Now she has found the Ubuntu Web site, sees that the latest version of Ubuntu is x.y, and wants to know whether she's running the latest version.

  • Jeff, a marketing hack and propagandist, wants to make sure people using Ubuntu can find more information about the system.
  • Claude, a recent Gentoo convert, follows the bleeding edge of Grumpy Groundhog. He wants an easy way of seeing what kernel version he's running.
  • Jacinda, a sysadmin, wants an easy way for his users to check some basic specifics of their system, so he can diagnose problems more quickly.

Design

Simplicity, simplicity, simplicity.

  • Choosing the "About Ubuntu" menu item opens the About window, visually centered on the screen. It behaves properly with respect to startup notification and session saving. The window is closable using either Ctrl+W or the close button.
  • The About window includes:
    • Ubuntu logo and version number (most prominent)
    • A sentence describing Ubuntu, with a "More Information" button linking to [http://ubuntu.com/ ubuntu.com]

    • computer model, if available
    • CPU speed and amount of RAM on the system
    • a "Hardware Details" button that opens the Device Manager
    • Linux kernel version number
    • Gnome version number.
  • Any of the informative text can be dragged and dropped as plain text into another program.

Implementation

Code

AboutUbuntu is implemented as a small pygtk program.

dmidecode cannot supply the information about the computer, because it requires administrator access. Therefore:

  • The computer model is read from lshal | grep procfs.cpuinfo.model_name, or left blank if that line is not present.

  • The CPU speed is read from cpufreq if it exists, or from /proc/cpuinfo otherwise. (If cpufreq doesn't exist, the CPU probably isn't slowed down, so /proc/cpuinfo will be accurate.)

  • The amount of RAM is read from free or /proc/meminfo.

Current bugs

  • code to close window has broken
  • need to get version details in some way that doesn't include '\n \l'
  • '"Breezy Badger"' needs stripping from version details
  • lshal | grep procfs.cpuinfo.model_name isn't behaving as expected

  • "Hardware Details..." needs to open hal-device-manager
  • drag and drop isn't implemented
  • not launch-friendly
  • not session-manager-friendly

Data preservation and migration

  • The current "About Ubuntu" page is removed from ubuntu-artwork, as it is redundant with the front page of ubuntu.com, which is linked to by the About box. See also BrowserDefaults.