How the Knowledge Base works

Revision Information
  • Revision id: 15297
  • Created:
  • Creator: michellerluna
  • Comment: fixed three typos
  • Reviewed: Yes
  • Reviewed:
  • Reviewed by: Verdi
  • 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 Firefox Help 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 Firefox users get correct and up-to-date information, edits to our articles have to be reviewed and approved before they become live.
  • Translations - Most Firefox users, use Firefox in 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 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, live chat, article views) and use our experience and judgement to decide exactly what to cover.

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

  • Tricks or hacks for modifying Firefox.
  • 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 25 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. The Article Tracking page can be sorted by article rank so that you can easily see what should be worked on first.
Article Sorting

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

  • 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.
  • Breaking issues - Occasionally, new issues are reported in our support forum and/or live chat that are best dealt with by updating a knowledge base article.
  • Mobile, Sync and Firefox Home documentation - Because these products 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

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.
    Article Discussion
  • The knowledge base as a whole - we propose new articles, 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 Firefox?

There are four versions of Firefox being built at once. We refer to these as "trains." Each Firefox 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 Firefox while it's on the Nightly channel. Then, that version of Firefox 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 Firefox. In order to keep up with changes to Firefox, 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 be working from the Article Tracking page which we'll have been updating since the previous documentation cycle.
  • Track Nightly: We'll follow the Release Tracking page to identify which changes and additions will need documentation. Articles that will need to be updated or proposals for new articles should be added to the Article Tracking page along with links to the appropriate feature page and general notes about what will need to be documented. The details of this should be discussed in the Article's forum thread also linked from this page. The tracking of Firefox features is an ongoing process that will continue through it's Beta phase but after the move to Aurora the main changes should only be the possible removal of a feature.
  • Archive: Since Firefox and our 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 Firefox has changed
    • Obsolete because they get so few views as to not be of concern to the vast majority of Firefox users.

Doc Cycle Weeks 5 & 6

  • Update Release: A new version of Firefox 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 and live chat.
  • 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 Firefox 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 (and kind of complicated) process looks like this:

  1. Go to the Article Tracking, click the rank sort button and look for articles with the status of "Needs Updates"
  2. If it hasn't been created already, in the article's discussion tab, create a new thread titled, "[Needs Update] Reason for change" and explain what needs to be changed and let everyone know that you'll work on it.
    • Bonus points for editing the article's entry on the Article Tracking page to say "In Progress"
  3. After editing the article, post back in the same thread with a summary of what you did and ask for someone to review it. It's also good to change the thread title to "[Needs Review] Reason for change" to make it clear.
  4. If the reviewer doesn't approve the article they will post their reasons and feedback in the thread. Sometimes, they will also create a new revision based on yours and add or change things.
  5. You (or anyone else) can create another revision and make more changes. It generally takes a few rounds to get things right.
  6. When the reviewer approves the article they should post back in the thread stating that they approved it.
    • Bonus points for changing the thread topic to "[Approved]" and updating the Article Tracking page status to "Updated".


We want Firefox Help to be usable by all Firefox 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 Firefox 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, How to write Knowledge Base articles.


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.

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


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. How to use 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 - Current version is 10.6 (Snow Leopard). 10.7 (Lion) comes out next month.
  3. Linux - use Ubuntu for screenshots.


  1. Android - 2.2 Froyo. Eventually we'll want to switch to the 2.3 Gingerbread look included in Firefox 5 (same look on 2.2) as more devices get the update.

For reviewers


  • Don't approve your own edits unless they are minor (e.g. spelling and grammar changes, updating an image, etc.). At the very least get someone to check your spelling, grammar and wiki markup.
  • Pick the appropriate revision level.
    • Minor details like punctuation and spelling errors - this is the first (default) level. The idea here is that these are changes that are inconsequential to localizers. They will not be notified of this change and it will make no difference to their version of the article.
    • Content changes that don't require immediate translation - the second level. Choosing this will notify localizers and the article will show up on dashboards and needing to be updated. This is what you'd use for most changes - updating an image, fixing markup, adding or removing important (but not critical) sections.
    • Major content changes that will make older translations inaccurate - the third level. This will notify localizers and the article will show up on dashboards as being out of date. Also a yellow warning will be places at the top of the article telling users that the English version has the most accurate information. This would be used in cases where the old instructions are completely unusable.
  • Don't approve revisions just to give credit to someone - It's better to work with someone in the discussion forum to come up with a better revision. New contributors that are not already participating in the discussion forum will be contacted by a SUMO admin in order to facilitate this process. You can also create a new revision based on the one submitted and fix the issues with it.
    Note: We need to fix the way credit works (Bug 628634). Approved revisions based on unreviewed revisions should give everyone credit. This will eliminate the motivation for this issue.

Ready for localization

Marking an article revision as "Ready for Localization" lets us tell localizers that the English version is done being worked on it can be translated without fear that the article will change a few more times before they're done. The idea is to reduce the "notification noise" and workload for localizers. Of course, if they wish, localizers can still be notified of and follow all English article changes.

How it works:
An article is not added to localization dashboards as needing an update unless it is marked with the second or third revision levels AND the ready for localization flag is checked. This flag can currently only be checked by an admin. Doing this also sends out an email notification to everyone watching for articles that are ready to localize.

We do this for a number of reasons:

  • Finalizing an article for a specific version of Firefox - For example, we can complete changes to an article for Firefox 5, mark the last revision as ready for localization and then begin making changes to the article for Firefox 6. Then, when the changes for Firefox 6 are complete, we can mark a new version of the article as ready for localization. Localizers will only be notified when the Firefox 5 article is ready and then (probably 6 weeks later) when the Firefox 6 article is ready.
  • Reducing the notifications and confusion for localizers - Whether we're changing an article to reflect changes in Firefox or we're trying to improve the article, it often takes a half dozen or more revisions to an article to get everything right. Instead of localizers being alerted with each revision, we can wait until we're finished and then mark the article as ready for localization.
  • Experimenting with an article - For example, we can create a radically different version of an article, try it out for a period of time and then decide whether or not to mark it as ready for localization.

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 peoples questions about Firefox 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 and Live Chat.
  • High impact - Critical, time sensitive issues that need temporary documentation (e.g. and other Java pages don't work)

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.

  1. Go to the Articles Forum and propose creating the article.
    • Create a new thread, title it [Proposed] Name of article, and explain what the article will cover.
  2. Wait for comments on your proposal. This is optional but if you intend on drafting the article yourself you might want to hear what others have to say before you do it.
  3. Create and draft the article.
  4. When you've finished drafting the article, add a link to it in the article thread and change the title of the thread to [Needs Review] Name of article.
    • Doing this helps to let people know that the article is waiting for review.
    • The article won't be public until it's been reviewed and approved.

Archiving articles

We'll periodically archive knowledge base articles to keep our focus on users' most pressing items. As we release Firefox 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 How do I use bookmarks? 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 175 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. In case we 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 and Live Chat.
  • Low impact - Removal of the article is not likely to cause or exacerbate a serious issue.
  • Changes to Firefox - Instances where an issue has been fixed in Firefox or a change in Firefox behavior has made something obsolete.