This guide outlines the rules we follow for writing Firefox OS app copy, but can be used as a general guide to writing good copy for any app interfaces.
Common word choices
- Tap: Use the word "tap". Never: "select", "click", "press", etc.
- Space: Use the word "space". Never: storage.
- Phone: To be used when referring exclusively to a Phone.
- Tablet: To be used when referring exclusively to a Tablet.
- Mobile Device: To be used when referring to either or both a phone and tablet. Do not use “Mobile device” when you can be referring to a specific type.
- Apps: Always use "app" or "apps", not applications. Don’t capitalize unless it is part of a name.
- Please and Thank you: Avoid using these terms when writing in English. They add unnecessary length to system notifications and may annoy the user. However, the use of "please" and “thank you” in other languages is at the discretion of the localization teams dependent on local culture.
- Firefox Marketplace: "Firefox Marketplace" on the first mention. "Marketplace" is acceptable on subsequent mentions, always capitalized; never Mozilla Marketplace.
- Free: This word is difficult for internationalization since it can mean both "without cost" and "without restrictions" in English, but has very different meanings in other languages. Please be very clear when using or avoid entirely.
- FxOS: This is the official abbreviation of Firefox OS but it should not be used in external communications.
- Sign In: Use the term "Sign in", two words no hyphen when it is acting as a verb. Capitalization is dependent on context. See Capitalization section. Sign-In can be used as an adjective. Never use: Login, Log in, or Signin.
- Wi-Fi: Always capitalize the "W" and "F" and use a hyphen. Never: WiFi, wi-fi, wifi, etc.
- email: One word, lowercase, no hyphen. Never: E-Mail, Email, etc EXCEPTION: when email is used as a proper noun and is the name of an app, it can be spelled E-Mail.
Formatting
- https://: Should never appear before a URL in communications.
- Web: Capitalize the first letter, unless it is part of a compound word.
- Acronyms: Use all uppercase with no periods, unless they are specifically part of a brand name or the result spells out a different word.
- Internet: Always capitalized.
- Pancake: Uppercase when referring to the tablet browsing experiment, lowercase when referring to the delicious breakfast food.
- Sync: Capitalized when talking about the feature within Firefox, lowercase when using only as a descriptive term.
- URLs: All uppercase, no periods. (See Acronyms)
- Numbers: Use numerals (1, 2, 3 etc.) instead of spelling numbers out. Spell out large numbers such as thousand, million, etc.
- File Size display:
- If less than 1 KB, display <1 KB
- 1 KB to 1,023 KB, display 357 KB
- 1 MB to 1,047 MB, display 2.5MB (only one decimal place)
- 1 GB+, display 3.8 GB (only one decimal place)
Specific interface features
- Titles (A):
- Use Title Case and capitalize the first letter of every word.
- Do not use ending punctuation unless the title is a question.
- Limit to one line.
- Front load key message in the first few words.
- Action buttons (B):
- Use Title Case and capitalize the first letter of every word.
- Limit text to one or two words.
- Utilize verbs that precisely describe the action, for example "Cancel", "Clear History", "Add Email", "Select All", etc.
- Dialogue body content (C):
- Sentence case
- Dialog action buttons (B):
- Title Case.
- Limit text to one or two words.
- Use verbs that precisely describe the buttons' action, as above.
- List Buttons / List items (D):
- Title case for label.
- Sentence case for sub label.
- Limit text to one or two words is possible.
- Punctuate the end of each entry if it is a full sentence or question. Lists within the Firefox OS interface should not be punctuated unless absolutely necessary.
- Value Selector Lists (E):
- Sentence case.
- Limit text to one or two words.
- No ending punctuation.
- Forms:
- Negative buttons appear on the left, positive buttons appear on the right.
- The generic labels are "Cancel" and "OK".
- Tabs / Filters: Treated with title case capitalization and no ending punctuation. They should be limited to one or two words.
- Status notification / acknowledgment / banner: Written in sentence case, avoid using ending punctuation unless the statement is a question.
Grammar
- Dashes: Hyphens (-) are used to create a single idea out of two or more words and are always connected; en dashes (–) are used for ranges, like numbers and dates, and are also connected; em dashes (—) are used to set related, yet separate thoughts off from each other, either within a sentence or following it, and in either case they are not connected.
- Exclamation Points: They are OK to use, just don’t overdo it.
- Quotation Marks: Use smart quotes (“like these”) not dumb quotes. Punctuation generally goes inside quotation marks, including exclamation and question marks, unless the exclamation or question is part of the entire sentence, not just the portion contained in the quotation marks.
- Slashes: If it’s in a URL, use a forward slash “/”… Not a backslash “\”
- Ending Punctuation: Use in all cases for Firefox OS documentation. Avoid in most cases within the OS itself unless the sentence is a question, or there are multiple sentences strung together.
- Title Case: Title case is when the first letter of each word is capitalized. Ending punctuation is not needed, unless the content is in the form of a question. Please note that there are languages and scripts, such as Arabic, that do not use title case. Only use title case if it is appropriate for the language with which you're working.
- Sentence Case: Sentence case is when only the first letter of the first word, and any proper nouns need to be capitalized. Please note that there are languages and scripts that do not use sentence case. Only use sentence case if it is appropriate for the language with which you're working.
- Capitalization:
- Titles and Sub Titles/sub-headers: Should use title case.
- Action Buttons: Should use title case.
- List Buttons / List items: Should use title case for label; and sentence case for sub label.
- Tabs / Filters: Should be use title case.
- Value selector lists: Should use sentence case.
- App names: Displayed in title case, but individual settings or modes are displayed in lower case.
- Status Notification: Should use sentence case.
- Header: Should use title case.
- Body Content: Should use sentence case
- Contractions: Contractions can be used and are encouraged to provide a more human experience.
General stylistic best practices
- Jargon: Avoid technical jargon.
- Commas: Do not use serial (aka oxford) commas in Mozilla communications.
- Concise error explanations: Try to concisely explain the situation, and explain what the user can do to resolve it.
- Addressing the user: In most situations avoid "you", "you're", etc. Dissolve boundaries between user and device. For example, instead of saying "Your picture has been deleted", say "The picture has been deleted".
- Articles when referring to apps: Don't use an article before app names. For example, use "Take photos with Camera" instead of "Take photos with the Camera").