Mobile design/Wikipedia navigation

'''This document is a work in progress. Comments are appreciated but this is not a final draft.'''

Wikipedia Navigation UI aka Glaucus is a UX design that will be deployed on multiple mobile platforms, including mobile web browsers, WAP browsers, iOS apps, Android apps, and others. There will be differences across platforms and the most comprehensive version will be for mobile web browsers, where all functions not included in basic browser functions must be accommodated in the UI that accompanies Wikipedia.

A related design is known as Athena, which is focused on making the main Wikipedia site mobile-friendly. This design is focused on optimizing the reading experience as well as accommodating contributory functions as they are developed, leading eventually to more complex editing functions. In a sense, Athena is a sort of "destination" for the evolution of this design.

See the Glaucus mock-ups here.

Design goals
The main goals of this design are as follows:

(tablet versions can be developed later)
 * A rational, easy-to-understand framework for the placement of functions related to Wikipedia
 * Simple, obvious access to these functions in a way that conserves screen real estate
 * Flexibility to add more functions over time in different categories - i.e., extensible without becoming cluttered or non-intuitive
 * Compatibility with different mobile platforms and form factors - the minimum versions of this design should include:
 * web browser on iPhone
 * web browser on iPad
 * web browser on Android smartphone
 * web browser on Android tablet
 * WAP browser on typical Series 40 device
 * iPhone app
 * iPad app
 * Android phone app
 * Android tablet app

Initial menu
For reading functions and most users, a menu of basic features can be included under the W icon.

Please note: a full-screen menu design is in process.

The sections of the menus below are organized into these sections:


 * article-specific
 * nav and general
 * user-specific

Site
Here are the functions to include initially for the mobile site: --- ---
 * Inter-wiki language links -> submenu
 * Table of Contents -> submenu
 * Home
 * Random
 * Articles nearby (when ready)
 * Desktop / Mobile view (could go in footer, but currently site-specific)
 * Settings -> submenu
 * Beta opt-in/opt-out
 * Disable images
 * Font size
 * About

Apps
Here are the functions to include initially for the apps: --- ---
 * Inter-wiki language links -> submenu
 * Table of Contents -> submenu
 * Save page
 * Share page -> submenu
 * Back
 * Forward
 * Save pages -> submenu
 * History
 * Home
 * Random
 * Articles nearby
 * Settings -> submenu
 * Disable images
 * App languge
 * Font size
 * About

"Articles nearby" and "Save pages" are not yet implemented on the mobile site. Also Login will not be needed initially.

If a user logs in, then other functions become available. "Disable images" could be a setting in preferences, so when "Login" is included and "Preferences" is implemented, "Disable images" can be removed.

There are several possible presentation models for this. One is to reveal it from the W icon, as the mock-ups above show.

Another is similar to the Facebook menu which is revealed as the page slides to the right, to give the impression that it lies underneath the page. In this case, the menu is a full-screen list organized into sections and the page scrolls as necessary.

A different take on the Facebook approach is to have an icon in the upper right which causes the menu to slide in from the right, which would make it seem like it appears on top of the page.

Language use
The use of language is a complex area that is more challenging on mobile devices than on the desktop. Currently, the language conventions differ by mobile platform and app/browser, though Android and iOS will be unified shortly.

On the desktop, the language of Wikipedia changes with the article in most ways. On mobile devices, some consideration must be given to the variables available on phones.

There are four different aspects of language selection:
 * Main default language, typically defined as the app language
 * Language of the phone
 * Language of the article or content
 * Language of the keyboard

In the Android app currently, this breaks down into:
 * Default language - search language and home page language, based on app language and phone language
 * Language of the article, linked from each article
 * Keyboard language is somewhat independent

So a major consideration is whether the default language follows the app/phone language or the article language.

Language selection is a core part of the Navigation UI, though it also deserves further treatment as its own project. Here are initial designs:


 * Universal Language Selector


 * Wireframes showing sample workflows as the basis for further discussion:

Functional categories
The main categories of functions that will be included in the UI are as follows:
 * Article-specific, such as inter-wiki language versions, related images
 * General to Wikipedia, such as notifications, featured content
 * Account-related, such as login, watchlists
 * Contributory, such as photo uploads, article feedback
 * Editing, such as photo patrolling, proofreading edits, visual editor, new page triage

Examples of these categories are listed below:

Article-specific

 * History (required for copyright attribution)
 * Inter-wiki links
 * Articles near this article
 * Related pictures
 * Discussion
 * What links here

General

 * Home
 * Random
 * Contact us
 * Beta opt-in/opt-out
 * Disable images (site and app)
 * Save pages (app and site)
 * Articles nearby (app and site)
 * Recent changes

Account-related

 * Login
 * Watchlists
 * Notifications
 * Talk page
 * Contributions
 * Preferences

Contributory

 * Photo upload basic
 * Photo upload "articles nearby"
 * Article feedback

Editing

 * Photo upload patrol
 * Proofreading edits

Sample timeline
Here is a rough breakdown of what features could appear when in cumulative fashion: