ConnectingHelpSystems

Revision 12 as of 2007-11-30 13:38:34

Clear message
  • Launchpad Entry: noneyet

  • Packages affected:

STATUS: Early brainstorming

Please feel free to contribute anything that comes to mind.

Summary

Ubuntu has a very strong help system, offering nearly every kind of support under the sun. Unfortunately, user experience with the help system is hampered by divisions between all the support systems, and the learning curve of discovering and using all the types of support. The goal of this spec is to explore ways of closing the gaps between various types of help, cross-breeding their respective strengths and centralizing the information.

Ideally:

  • the installed documentation's high polish and organization provides structure for:
  • the wiki system, which preserves and consolidates the fresh, ephemeral information from:
  • the forum, chat, and question systems, whose absolute simplicity kick-starts involvement

Hypothetical Release Notes

The installed help utility is now integrated with online help resources, seamlessly referring users to additional resources and allowing caching of updated bugs, tips, and howtos for the currently installed versions of all programs.

The online help pages now link directly to appropriate chat, forums, and external information.

Rationale

When someone needs help with a program, having all the information in one clear and up to date location is much better than having to search dozens of sites, miss dozens of others and hope the information you find is accurate. By enhancing the wiki system to incorporate as many of our support types as possible, you drive most activity to the same point, thus finding and solving issues fastest.

With the wiki system receiving much more activity, it's information is ever riper for the offline docs to leverage. The docteam can kill two birds with one stone by managing the core structure of the wiki. When they organize and approve essential sections of the wiki for offline caching, their managed sections automatically provide the live wiki with a sturdy skeleton on which to grow more user-tended content.

When you connect all the systems together, you also have an opportunity to homogenize the interfaces. That way people who learn to use the most basic help features find a smooth transition to using others, and are more likely to wind up helping solve the problems of later users (intentionally, or by example).

Use Cases

Bob is having trouble with a program. He checks the installed help tool and follows the trail from that package's usage and howto page to the user reported problems section. He does not find his problem in the common problems list, but finds his error message reported recently by another user. There are no suggested solutions yet, so he clicks the "me too" button on that error and goes to check other resources.

Suzy and Jim are experienced users of that package, and they are both there to submit short howto suggestions for that page. They see the increasingly popular error and immediately recognize it as a misconfiguration of a system file about which this program is picky. Their responses to the problem suggesting a fix causes all the people who clicked "me too" on that problem to be notified of feedback/activity on an open issue of theirs when they next check the site.

Joe had reported the issue and got the notification. When he tried their fix it worked, and he closed his issue with "fixed" pointing to their comments. He is one of several who do this, increasing the visibility of their solutions. Someone else soon writes up a nice suggestion explaining this as a common problem with a conflicting package, and how to resolve it.

Sadly, however, there is a gap and no editors are watching that page at this time. In a short while, the open suggestions and issues on this page begin to age without activity either accommodating, incorporating, or rejecting them. Soon the page shows up at the top of the docteam's monitor, letting all members see that part of the wiki is falling unmanaged. Hopefully someone will quickly be free to visit the page, promote the suggestion to a common problem, and tie all the issues to that for resolution, but in the meantime, visitors to that page can still get all the info they need just one layer into user submitted content.

Assumptions

  • the installed docs and the online help aren't separated by insurmountable legal barriers
  • the administrative teams of the parts of the support system are willing to cooperate
  • massive changes like this are decomposable into achievable sub-projects

Design

MOCKUP DESIGN EXAMPLES!

The wiki would become one cohesive entity, the core structure and essential pages of which are closed to editing only by the docteam, which will comprise the solid trunk of the offline documentation. Connected to this core structure are branching collections of sub-pages for various topics and software packages, managed by many individual groups of editors. These pages would also contain official documentation and should only need cursory approval of updates for incorporation into the offline documentation. However, all online pages allow users to optionally view user submitted suggestions, add suggestions of their own, or critique existing suggestions. This allows editors to incorporate popular submitted content quickly and easily.

Furthermore, all users can create and control their own personal sections of the wiki, creating subpages that they can link to official documentation (and submit as howtos or resources for official adoption). This allows them to practice not only content editing, but also approving and incorporating the feedback of others.

Create a blueprint for the hierarchal structure, and implementation in moinmoin ACLs

Create a blueprint for easily incorporating various types of user submitted content

Create a blueprint for managing the obtrusiveness of user content

Create a blueprint for user managed popularity and quality control

Create a blueprint for overview, karma distribution, and abuse prevention

Create a blueprint for conflict/duplication avoidance in user suggestions

Connect and update blueprint for managing offline caching of help docs

Connect to blueprint for linking to external resources ExternalLinksRedirects

Implementation

(suggestions and notes should be listed until incorporated into sub-specs)

Consolidating managed wikis

  • LinkingDesktopToOnlineHelp

  • consider basing installed help on a web caching tool, thus direct transition
  • add updating and syncing with installed versions to installed help
  • separate navigation structure management from page content management
  • get a good control panel for managing overall structure, status, and permissions
  • figure out how to safely tie in unmanaged wiki pages

Include user chat

  • allow users to open a tiny, basic in frame java/flash irc client
  • hardcode the appropriate server and channel for the page's content
  • mimic the ubuntu help ui as closely as possible to help the learning curve

Allow direct user issue forums

  • allow users to request help/more information
  • keep track of the age of requests, and list them for the user
  • make clear notification when there has been feedback on their request

Incorporating user feedback

  • on managed pages, allow users to suggest changes with the same interface
  • allow other users to see and rate those suggestions
  • provide fast notification and review of suggestions in control panel
  • implement karma for useful suggestions and reviews
  • installed help system stays up to date with installed software
  • installed help system smoothly transitions to more information online
  • online help system already knows users of related systems (launchpad, forums)
  • allow suggestions or questions in just a couple clicks
  • smartly encourage user moderation and user support
  • homogenize the interface of all systems, adding only minimum changes as you transition
  • incorporate karma across the systems
  • tag all package feedback pages with how closely dev/maintainers/packager watch it, and refer to their pages

UI Changes

Issues, responses

  • one plain text content box, no markup
  • one image per post, local use only
  • short title for first post
  • responses have choice of "I also want to know", or "Suggest a solution"
  • content optional for dittos
  • threads you have been active in for last X days show.

Suggestions:

  • Choose a target section/issue to comment on
  • Choose to modify the target section, and recieve a copy of current content
  • only allow targeting of up to one paragraph

Should cover changes required to the UI, or specific UI that is required to implement this

Code Changes

Code changes should include an overview of what needs to change, and in some cases even the specific details.

Migration

Include:

  • data migration, if any
  • redirects from old URLs to new ones, if any
  • how users will be pointed to the new way of doing things, if necessary.

Test/Demo Plan

It's important that we are able to test new features, and demonstrate them to users. Use this section to describe a short plan that anybody can follow that demonstrates the feature is working. This can then be used during CD testing, and to show off after release.

This need not be added or completed until the specification is nearing beta.

Outstanding Issues

  • the only person pushing for this idea at this time is WAY over his head
  • said person lacks clear understanding of all parts of the current system
  • while it all seems possible, the features would probably take time to develop
  • by its nature, this spec shoots for massive changes in the way the system works

BoF agenda and discussion

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


CategorySpec