User:TBurmeister (WMF)/Sandbox/DevPortal

See the live site structure at developer.wikimedia.org and more information at Developer portal: Content_strategy#Information_architecture


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 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

This page partially outlines the IA, but for easier iteration and feedback the full content is temporarily in this Google doc. See that doc for:

  • Proposed subsections for each section
  • Proposed Wiki content links for each subsection

Methodology

edit
  • 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 its talk page) to ensure key links are represented prominently in the new structure.
  • Reviewed and incorporated previous work and ideas like that at User:Waldyrious/Docs.
  • Reviewed findings from in-person user interviews to align high-level sections with observed user behavior and expectations.

Proposed sections and what they cover

edit

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).

Note: headings followed by two asterisks (**) are single-sourced sections that appear in more than one location.

Get started

edit

Learn how Wikimedia software projects work

edit

Browse tutorials

edit

Learn about Wikimedia technology

edit

Explore open source projects

edit
  • MediaWiki**
  • Wikibase**
  • Wikipedia for Android**
  • Offline reading projects**
  • Cloud tools and services
  • Technical decision making process
  • Search the codebase

Set up developer accounts

edit

Choose your goal and start coding

edit

Use Wikimedia content or data in your project

edit

Persona motivations and existing prototype content covered by this section

User persona motivations:

  • Use Wikimedia content in my app
  • 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:

  • Access content databases for Wikimedia project.
  • Access data from Wikidata.
  • Access Wikipedia without internet access.
  • Browse Wikimedia APIs
  • Download all Wikimedia projects for backup, offline use, research, and more.
  • Explore Wikimedia project data.
  • 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 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.
  • Get mobile-friendly content, featured article feeds, pageview data, and more.
  • Get pages by title on any Wikimedia project.
  • Get pages in mobile format.
  • Monitor the current and past performance of Wikimedia sites.
  • Review recent changes, and monitor content
  • 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
  • Use Event Streams API to get the most recent changes to Wikimedia projects.

Browse web APIs

edit

Learn with API tutorials

edit

Reuse wiki content

edit
  • Get featured content by date
  • Search for and display wiki pages and media
  • Parse wikitext page content
  • Get pages in mobile format
  • Get data from Wikidata with SPARQL

Access data and analyze wikis

edit
  • Use Wikimedia open data sources
  • Get data about wikis
  • Get data dumps
  • Query content databases
  • Use machine learning to detect vandalism
  • Get a stream of recent changes
  • Access structured knowledge on Wikidata
  • Explore project data on WikiStats

Build and discover tools

edit

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
  • Download Wikimedia content to use in an offline app or to host a mirror

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
  • 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.

Discover tools on Toolhub

edit

Learn about MediaWiki extension points

edit

Change MediaWiki behavior and appearance

edit
  • Change the appearance of MediaWiki with skins
  • Add JavaScript or CSS gadgets to a wiki
  • Add scripting to wiki pages through templates

Automate editing and maintenance

edit
  • Create scripts or bots that interact with MediaWiki pages
  • Use ML to detect vandalism
  • Use APIs to support editing

Extend and customize MediaWiki functionality

edit
  • Browse extensions
  • Write new extensions
  • Improve or maintain extensions
  • Extensions FAQ

Host tools on Toolforge

edit

Contribute to Wikimedia open source

edit

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.

Learn how contributing works

edit
  • Contribute to Wikimedia software
  • Contribute to MediaWiki and MediaWiki extensions
  • Code of conduct

Projects for new contributors

edit
edit
  • MediaWiki**
  • Wikibase**
  • Wikipedia for Android**
  • Offline reading projects**

Localization

edit

Documentation

edit

Accessibility

edit

Connect with the tech community

edit

Persona motivations and existing prototype content covered by this section

User persona motivations:

  • Find out what other people and teams are working on.
  • 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:

  • 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.
  • 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.

Explore hackathons & events

edit

Communicate effectively

edit
  • Communication channels
  • Code of conduct

Find code maintainers

edit

Be a tech ambassador

edit

Apply for grants

edit

Wikimedia Foundation technical operations

edit
  • Cloud services
  • Technical infrastructure
  • Software deployments
  • Performance monitoring
  • Security policies
  • System architecture

Get tech project updates

edit
  • Wikimedia tech news
  • Technical community newsletter
  • Tech blog
  • Technical decision records


Grow your technical skills

edit

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.

Grow tech capacity in your wiki community

edit

Explore hackathons & events

edit

Learn about outreach and mentoring programs

edit

Get help

edit

How to get help and support

edit

MediaWiki FAQ

edit