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

Summary

This a specification for a help system that finds help on an error message, bypassing the need to search through possibly unrelated webpages.

Rationale

When getting an error message, we typically Google the error message to find out what it means and how to fix it. Unfortunately digging through all the false leads can be time consuming. This inconveniences the user and also means that often the same question gets asked over and over again. Thus a system that allows the user to go straight the the answer would be a boon to both users and developers.

Use Cases

Scope

This system is intended to cover virtually any application that writes error messages to stderr. It is also hoped that GUI applications could use it as a back end for providing up-to-date help.

Design

The help system will search "answer files" like the following:

  COMMAND=gcc make ld
  KEYWORD=ld
  REGEX="ld: cannot find -l(.*)"
  ANSWER="It appears that the library $1 is not installed. You can search 
for the library by typing:
dpkg -S lib$1"

The system will maintain an index of all answers with a particular keyword. The output to stderr will be broken into words, and for each word, the line will be tested against the REGEX in each answer file for that keyword.

If no satisfactory answer is found it creates a "question file" consisting of the version of the software, version of Ubuntu, the output from stderr and stdout (possibly shortened), and offers to mail this to the autohelpsys mailing list. As autohelpsys grows, the mailing list may be split by command.

When a solution is found, an answer file is posted to the list, which is then added to the archive by a maintainer.

Initially users will keep up to date with the archive using svn up. Later, a more efficient method, perhaps zsync may be adopted.

Autohelpsys could be applied to GUI applications in a number of ways:

Initial prototypes need not support localization. If an unlocalized version of autohelpsys becomes popular, the following approaches could could be considered:

Implementation

Not implemented yet.

Outstanding Issues

Not implemented yet.

Comments


CategorySpec

AutoHelpSysSpec (last edited 2009-07-09 07:29:00 by 203-59-92-232)