About the Knowledge Base

Revision Information
  • Revision id: 33162
  • Created:
  • Creator: Michael Verdi
  • Comment: [Work in Progress] don't approve yet - building off of scoobidiver's updates
  • Reviewed: Yes
  • Reviewed:
  • Reviewed by: satdav
  • Is approved? Yes
  • Is current revision? No
  • Ready for localization: No
Revision Source
Revision Content

Okay. This is the long version of how things work. You might want to get some snacks or something before you start. Even the table of contents is long.

The Knowledge Base is a wiki with super powers

Check these out:

  • Special wiki markup - Although we use MediaWiki markup (like Wikipedia) for most things, our wiki is designed specifically for Mozilla Support and uses some custom markup (called {for}) so that we can show one set of instructions to Windows users, for example, and another to Mac users.
  • Review system - Because we want to be sure that people get correct and up-to-date information, edits to our articles have to be reviewed and approved before they become live.
  • Translations - Most of our users, speak a language other than English. So we have a whole system for translating the English articles in our Knowledge Base into other languages.

Audience & scope of the Knowledge Base

With over 400 million Firefox users, the knowledge base has to be written for a general audience rather than one very familiar with computer techniques and terminology. We mainly cover features (like tabs, bookmarks and sync) and fixing problems (like crashes or problems loading websites). We don't cover every feature, setting or problem. Instead we look at what users tell us (in article discussions, support forums, article views) and use our experience and judgment to decide exactly what to cover.

What topics don't we cover in the Knowledge Base?

  • Tricks or hacks for modifying a product
  • Developer and advanced features like the error console or web console
Note: Troubleshooting articles are often the exception to these rules. If a common problem can only be fixed with a "hack," we'll document that.

Organizing our work

How do we prioritize what we work on?

We mainly work on articles in order of their popularity. This generally represents our users' priorities. Currently the top 20 articles account for over half of all views. Making our top article more helpful can potentially help as many people as improving the bottom 100 articles. We keep track of changes that need to be done in this dashboard. It's sorted by article rank so that you can easily see what should be worked on first.

Exceptions:
Of course popularity isn't the only priority. These exceptions also need to be taken into account.

  • Breaking issues - Occasionally, new issues are reported in our support forum that are best dealt with by updating a knowledge base article. For example, a problem that affects people using Flash (99% of Firefox users) would be more important to update than a minor change to an existing feature in an upcoming version of Firefox.
  • Anticipated demand - Occasionally we'll update an article in anticipation of a new feature or feature change. The current article may not have a particularly high rank but we're reasonably sure based on experience and marketing plans that these articles will become popular.
  • Mobile documentation - Because these products (Firefox for mobile, Firefox OS) have comparatively few users, their articles can't be expected to "compete" with desktop Firefox articles. The articles for these products should be considered in the context of the relative demand for documentation of features and issues related to the individual product.
  • Linked articles - These are articles linked from inside products or mozilla.org.

Localization:
In order to minimize work for localizers, our aim is to have updates to the top 20 articles done on a six-week basis. How that works is that non-essential updates (updates for new features, minor fixes and improvements) to these articles are done in English but not marked ready for localization right away. Four weeks before a product release, we'll mark the changes to the top 20 articles ready for localization. We'll try keep these articles stable for the next six weeks. Sometimes, breaking issues or mistakes may require us to change the articles again. Every six weeks we'll create a prioritized list (example) as a guideline for localizers based on our experience with English.

Where do we talk about articles?

We generally have two types of conversations about knowledge base articles:

  • Individual articles - each article has its own discussion tab. Registered users can post feedback about the articles here and we can discuss what revisions the article needs, the relative merits of revisions and issues related to the article.
    New Article Discussion
  • The knowledge base as a whole - we discuss ideas and issues with the overall kb strategy, policies and software in the Articles Forum.

How do we keep articles up to date with the latest version of Mozilla's products?

There are four versions of Mozilla's products (Firefox, Firefox for mobile, Firefox OS) being built at once. We refer to these as "trains." Each train moves from one channel (or track to continue the train metaphor) every six weeks. We have Nightly, Aurora, Beta and Release channels. For six weeks new features and fixes are added to these products while it's on the Nightly channel. Then, that version moves to the Aurora channel for testing. After six weeks on Aurora, it moves to Beta. And finally, after six weeks of testing on Beta, that version becomes the Release version of the product. In order to keep up with changes to products, our documentation writing follows a six week cycle also.

doc schedule

Doc Cycle Weeks 1 - 4

  • Localize Beta: Once the articles have been finalized (in the previous cycle), there will be four weeks to localize them before release. We'll have marked revisions as ready for localization so they'll show up on Localization dashboards.
    • Note: In the two weeks previous to this we may have also made updates based on feedback from the last release that will also be included in this batch of articles to localize.
  • Draft Aurora: We'll have four weeks to draft new articles and updates to existing articles. We'll follow the Release Tracking page to identify which changes and additions will need documentation.
  • Track Nightly: We'll follow the Release Tracking page to identify which changes and additions will need documentation. The tracking of Firefox features is an ongoing process that will continue through its Beta phase, but after the move to Aurora, the main changes should only be the possible removal of a feature.
  • Archive: Since our products, services and documentation will be changing as new versions are released, we'll use this time to evaluate whether there are any articles that are:
    • Obsolete because our products and services have changed
    • Obsolete because they get so few views as to not be of concern to the vast majority of users.

Doc Cycle Weeks 5 & 6

  • Update Release: A new version of Mozilla's products will have been released so, if necessary, we'll be able to go back and make adjustments to our documentation based on feedback from the support forums.
  • Finalize Beta: Once Aurora moves to the Beta, we'll have two weeks to finalize these articles that were drafted. During this time we'll:
    • Add screenshots and screencasts if necessary
    • Review and approve the articles
    • Mark the final revision as Ready for Localization
  • Begin Tracking the new Nightly: A new release will now be on the Nightly channel.

How do I keep up with what's going on?

Improving articles

Improving Knowledge Base articles is probably 90% of the work that we do. With about 200 Knowledge Base articles, there's always something that can be made better. Here are three main ways to improve an article:

  • Keep articles up-to-date – Major updates to Mozilla's products and services always bring new features, and changes to how existing ones work. It's always best when our instructions actually match how things work in the product.
  • Proof-read – Some of you have special powers to spot the mistakes that spell-check misses (how many have you noticed in this article so far?). We need your help.
  • Make articles easier to understand
    • Find a better way to explain something that is too complex or not very clear.
    • Add screenshots to help people understand what in the world the article is referring to. Most people probably don't know the difference between the location bar, search bar or any other bar unless it has a happy hour.
    • Add screencasts. This is the next best thing to actually grabbing the mouse out of someone's hand and doing it for them.

What is the process for editing an article?

At a minimum, all you have to do is click Edit Article, make some changes and submit it for review. The full process looks like this:

  1. Go to the Need Changes section of the Contributor Dashboard
  2. From comments that describe what needs to be done, choose an article. Expand Editing Tools and take a look at the discussion in order to have information pertinent to this article.
  3. Edit the article. See How to write knowledge base articles for style tips.
    • Use the Preview Content button to check your changes.
  4. Click the Submit for Review button to save your changes. Your edit will be listed in the Unreviewed Changes section of the Contributor Dashboard.

If it's taking a long time to get a review you can ping michaelverdi in the #sumo IRC channel or via email.

If the reviewer doesn't approve the article they will post their reasons and feedback in the Discussion page thread for the article. Sometimes, they will also create a new revision based on yours and add or change things.

You (or anyone else) can create another revision and make more changes. It generally takes a few rounds to get things right.

Creating a new article

If you think there's an article that we need to add to the Knowledge Base, here's how to get it done.

Be sure to search the KB to see if there is already an article for the topic you want to document
  1. Create a new article and fill out the form using the source for another article as a guide.
  2. Draft the article content.
  3. Check your work using the Preview Content button.
  4. Click the Submit for Review button and include the reason for drafting the article in the comment.
    • Doing this gets the article on the KB Dashboard to let people know that the article is waiting for editing or review.
    • The article won't be public until it's been reviewed and approved.

Style

We want Mozilla Help to be usable by all users. This means we're writing for a general audience rather than one very familiar with computer techniques and terminology.

  • The person you're writing for doesn't know how to change preferences or add a toolbar button without step-by-step instructions.
  • Assume that people haven't changed any of the default product or operating system settings.
  • Conversational writing style – Use an informal, active style similar to the way you'd speak to someone in person.
  • Images and video – Using images and video to explain things along with text is not only the next best thing to being there to help in person, they are an easy way of including multiple learning styles and repetition.

For more, see Writing guide for Knowledge Base articles.

Markup

Our wiki uses MediaWiki syntax along with a few special things for styling buttons, keys, menus, etc. See the Markup chart for a list and examples.

{for}

How to use "For" tags contains instructions and examples for showing and hiding instructions for different Firefox versions and operating systems.

Templates

We have a list of templates that we use in articles so that the same bit of instruction doesn't have to be re-written, localized and kept in sync across multiple articles. Using Templates explains how it works.

Screenshots & Screencasts

We should make sure that articles are written to work without images or videos. Though both images and videos are important and greatly increase the helpfulness of an article, they can’t be mandatory. Localizers should feel free to use or delete them as they see fit.

Desktop Priority

  1. Windows - with about 90% of our users on Windows this is a no-brainer. For now we should be making screenshots of Windows 7. When we add support for Windows XP, we'll want to add specific screenshots for it.
  2. Mac - the current version is 10.8 (Mountain Lion).
  3. Linux - use Ubuntu for screenshots.

Mobile

  1. Android - 4.0 Ice Cream Sandwich.

Adding and removing articles

Proposing new articles

Our knowledge base is what makes our entire support effort scale to serve hundreds of millions of Firefox users. The most efficient thing we can do is answer people's questions about Mozilla's products and services with an article. But articles don't come without a cost. Each one has to be written, localized and maintained. With many features and issues already documented it's often a better use of our collective time to make existing articles better. Before you run off creating new articles like a madman, let's go over some things you should consider first:

Do we really need this article?
These are the main reasons why we add a new article to the Knowledge Base though it often makes more sense to update or add to an existing article.

  • New features - User facing features that are likely to generate a lot of interest and questions from users. This may be an inherent aspect of the feature, a result of marketing and in-product links or a combination of the two.
  • New issues - Issues that have many recent threads and votes in the support forum.
  • High impact - Critical, time sensitive issues that need temporary documentation (e.g. Pogo.com and other Java pages don't work)

Archiving articles

We'll periodically archive knowledge base articles to keep our focus on users' most pressing items. As we release Mozilla's products every six weeks the issues and items that users will need documentation for will change at a much faster rate. There will be a lot of articles (like Bookmarks in Firefox or How to set the home page) that will stay around for a long time, but there will others that become obsolete or not of concern for users. Ideally, we should have about 200 articles. That will allow us to document things in enough detail while being small enough to maintain and localize.

How it works:
Contributors with reviewer privileges can mark an article as obsolete by editing the description section of an article. This will remove the article from all dashboards (including localization dashboards) and from the normal search. You can still see the article by using the advanced search, and, of course, links to the article would be preserved. However, there will be a banner on top of the article making it clear that the article is no longer maintained and might be out of date.

Archiving an article is not a one-way street. Once an article is archived, we will monitor the stats to make sure that the article wasn't a popular one. If we've made a mistake, it's as easy as clicking a checkbox to get the article back on the dashboards.

Factors to consider before archiving an article:

  • Low views - Generally, articles with less than about 1500 visits/month.
  • Few recent reports - Issues that have relatively few recent threads and votes in the support forum.
  • Low impact - Removal of the article is not likely to cause or exacerbate a serious issue.
  • Changes to products and services - Instances where an issue has been fixed or a change in the behavior has made something obsolete.

Article review guidelines

Holy cow! This article is already too long so Article review guidelines is a separate article.