User:TBurmeister (WMF)/Sandbox/DevPortal

This doc proposes a set of high-level user goals -- or "critical user journeys" -- to be used as the top-level organizing framework for v4 of the Developer Portal. This proposal is based on previous work, including but not limited to: user personas and motivations, dev portal prototype v0-v3, and user research.

Each user journey proposed here will be a top-level section in v4 of the Developer Portal. The rest of this doc outlines:
 * Methodology for designing this information architecture
 * Which user personas and v3 portal contents map to the newly-proposed sections
 * Proposed subsections for each section
 * (coming soon) Wiki content links for each subsection

Demo
TODO

Methodology

 * Used an open cardsorting approach to identify user goals from existing content descriptions from dev portal prototype v3.
 * Mapped user persona motivations to high-level user goals.
 * Reviewed Special:MostLinkedPages, Special:MostInterwikis, and Special:MostRevisions to identify frequently-used and important docs, and ensure that they would have a sensible home in the new structure.
 * Reviewed existing content hubs (especially Developer_hub and Sysadmin_hub) to ensure key links are represented prominently in the new structure.
 * Reviewed findings from in-person user interviews to align high-level sections with observed user behavior and expectations.

Proposed sections and what they cover
The following sections outline how each of the the proposed user journeys -- which are the top-level elements for the developer portal navigation -- cover the previously-identified user persona motivations and content elements of developer portal prototype (v3).

Use Wikimedia content in your app
Persona motivations and existing prototype content covered by this section User persona motivations:
 * Use Wikimedia content in my app

v3 prototype links:
 * Access content databases for Wikimedia project.
 * Access data from Wikidata.
 * Access Wikipedia without internet access.
 * Browse Wikimedia APIs
 * Fetch pages from Wikipedia, Wiktionary, Wikivoyage, and more.
 * Find articles in Wikipedia, images in Commons, and more.
 * Get data from Wikidata with the SPARQL query endpoint.
 * Get mobile-friendly content, featured article feeds, pageview data, and more.
 * Get pages by title on any Wikimedia project.
 * Get pages in mobile format.
 * Learn to use the MediaWiki Action API Geosearch module
 * Learn to use the MediaWiki Action API Images and Imageinfo modules
 * Retrieve and present relevant information from Wikidata by associating it with entities in my application.
 * Use MediaWiki Action API
 * Use MediaWiki REST API

Access data and analyze wikis
Persona motivations and existing prototype content covered by this section User persona motivations:
 * Use an example dataset for data science purposes.
 * Use data from Wikimedia as part of my research.
 * Use data to understand my wiki, Wikimedia projects, and Wikimedia users.

v3 prototype links:
 * Download all Wikimedia projects for backup, offline use, research, and more.
 * Explore Wikimedia project data.
 * Get daily featured articles, most read pages, and more.
 * Get page view data for Wikimedia projects.
 * Get the number of unique devices accessing Wikimedia projects.
 * Get Wikidata, page views, edit scores, and more data from Wikimedia projects.
 * Monitor the current and past performance of Wikimedia sites.
 * Review recent changes, and monitor content.
 * Use Event Streams API to get the most recent changes to Wikimedia projects.

Improve wikis with tools and extensions
Persona motivations and existing prototype content covered by this section User persona motivations:
 * Improve a tool (mine or someone else's)
 * Share something cool that I built
 * Solve a problem on my local wiki

v3 prototype links:
 * Add context when searching for Wikipedia pages using the MediaWiki Action API.
 * Create bots that automate editing and wiki maintenance.
 * Edit pages from Wikipedia, Wiktionary, Wikivoyage, and more.
 * Find and share tools on Toolhub.
 * Get the latest updates, and connect with tool developers
 * Guide editors by suggesting places in an article where a link could be added.
 * Host your tools with Toolforge.
 * Suggest images to improve articles

Install and administer your wiki
Persona motivations and existing prototype content covered by this section User persona motivations:
 * Download Wikimedia content to use in an offline app or to host a mirror

v3 prototype links:
 * Adapt code to different languages and regions.
 * Add or remove pages from a watchlist.
 * Create and edit pages.
 * Create bots that automate editing and wiki maintenance.
 * Learn to use the MediaWiki Action API Parse and Links modules
 * Use machine learning to detect vandalism.

Contribute to Wikimedia open source
Persona motivations and existing prototype content covered by this section User persona motivations:
 * Contribute to a Wikimedia open source project
 * Contribute to Wikimedia docs.
 * Create documentation for a new Wikimedia project.
 * Improve the Wikimedia technical documentation that I use.
 * Learn about our tech stack and systems
 * Translate docs into my language.
 * Translate interfaces into my language.

v3 prototype links:
 * Explore Wikimedia open source code bases.
 * Find resources for writing and maintaining technical docs.
 * Learn about the infrastructure behind Wikimedia projects.
 * Read security policies for the MediaWiki platform and the Wikimedia Foundation.
 * Understand best practices for writing code for Wikimedia software.
 * Find maintainers and code stewards for Wikimedia open source software.

Get tech project updates
Persona motivations and existing prototype content covered by this section User persona motivations:
 * Find out what other people and teams are working on.

v3 prototype links:
 * Get a stream of the latest changes to Wikimedia projects.
 * Learn about why and how technical decisions are made.
 * Stay up to date with the latest updates.
 * Subscribe to the mailing list for notifications of breaking changes and other important announcements.
 * Track software deployments to Wikimedia Foundation servers.

Connect with the tech community
Persona motivations and existing prototype content covered by this section User persona motivations:
 * Connect with other technical contributors
 * Figure out who is responsible for something/who I can talk to about a specific topic or technology.
 * Mentor outreach participants.
 * Share something cool that I built

v3 prototype links:
 * Apply for a grant to improve software or conduct research.
 * Discussion related to the MediaWiki API and its ongoing development
 * Explore content from past hackathons or join us for an upcoming event.
 * Find maintainers and code stewards for Wikimedia open source software.
 * Find out about internships and mentoring opportunities with Wikimedia.
 * Get the latest updates, and connect with tool developers
 * Join the offline projects user group.
 * Understand the principles we follow to foster a welcoming community.

Grow your technical skills
Persona motivations and existing prototype content covered by this section User persona motivations:
 * Grow my technical skills
 * Learn about and apply for outreach programs.

v3 prototype links:
 * Explore content from past hackathons or join us for an upcoming event.
 * Find out about internships and mentoring opportunities with Wikimedia.
 * Explore system architecture documentation.