This page is the location for all design documentation and updates for Wikifunctions (formerly known as Wikilambda) and Abstract Wikipedia, and will be used as a place for the team as well as volunteer contributors to keep track of and engage with the user experience work being done.
Our team follows the design style guide and the design process set by the Wikimedia Design Team.
- Our team conducted a two-day design sprint in May of 2021 to create a set of user stories for Wikifunctions rooted in user motivations.
- In this Google doc our PM Denny Vrandecic answers a series of product questions about Wikifunctions such as "What are the defining tasks of Wikifunctions and Who is Wikifunctions for?"
- Now deprecated designs of the prototype known as notWikilambda (2021/03)
- In mid-2021 our team brainstormed ways we might encourage collaboration on Wikifunctions and how we might encourage a non-technical person to write functions.
- During Day 2 of our team design sprint sprint in May of 2021, we ideated on what the Wikifunctions ecosystem may look like and drafted potential user stories.
- This is a list of products and services that are adjacent to Wikifunctions, with each product or service categorized by market or mental model.
- This is a Miro board for ideating on changing the UX language in Wikifunctions.
- Proposed design roadmap, mental models, and feature sets
Here is a collection of all the User Research (including discovery, foundational research, and usability testing) that has been done to date.
|Wikilambda is for programmers||Feb 9, 2021||None of the participants from the Wikilambda research could imagine substantive contributions for non-programmers beyond administrative tasks or language translation skills. These participants simply assumed that the project was for more technical people. They're not wrong. The Wikilambda project will depend on people who already know how to code.|
|Wikifunctions mental model||Feb 15, 2021||This research focused on Wikimedians who had demonstrated an interest in the Wikifunctions project by voting in the recent naming contest. 18 applicants were asked to self-assess their coding abilities on a six point scale. Four claimed no coding experience. Most were beginner or intermediate-level. Only three rated themselves as advanced or professional.|
|Wikifunctions technical user testing||Feb 28, 2022||This research report is based on interviews with four technical users, three of whom had previously participated in testing. Three were non-native English speakers (French, German and Catalan). They reviewed a Figma prototype of the Wikifunctions UI.|
|Wikifunctions Feedback||May 3, 2021||This research summary is based on interviews with 10 programmers. Only three were professional developers. The rest used code in their job or at school. Participants represented the fields of biomedical engineering, bioinformatics, geophysics, mathematics, statistics and actuarial science. They reviewed updated examples of the Wikifunctions UI.|
|User Testing Wikifunctions Function Editor||October, 2021||Testing with technical contributors. Developers, know how to code, work in a technical job...|
|Wikifunctions usability test||April 13, 2022||This research report is based on interviews with seven technical users from outside the Wikimedia community. They were not experienced with editing Wikipedia. Participants reviewed a Figma prototype of the Wikifunctions UI.|
|Research with Non-Developers||June, 2022||Exploratory research with Non-engineers - people from various industries who may write code but don't identify as developers. Insights on how to make Wikifunctions more appealing, approachable, and useful to those potential users.|
Critical User Journeys
A user journey is a sequence of events a user might encounter while using a product. Critical User Journeys are ones that are most crucial to completing users' main goals and tasks. Take a look at the Critical User Journeys for Wikifunctions
Here is a collection of some of the features, informed by research, that have been designed and are in development!
|Function Documentation||Jan 2023||Each function has a space for a description, or “documentation” - that lets other users understand what this function does, and how it works. These descriptions can be edited and added in any language.|
|Homepage "Day 1" Functions||Nov 2022||This is a homepage exploration focused on the question: How might we allow new users to get started finding the right functions they need, on day 1? Can we make it easier to understand what functions are and how they are useful?|
|Alias Component||Oct 2022||Giving your function a clear name is important, but giving it alternative aliases is important too - it’s helpful to give other users ways to discover for that function without having to know its exact name.|
|Errors in function editor||Oct 2022||Errors in the function editor were confusing and not being surfaced clearly - we worked with the eng team to determine, what is absolutely required to create and edit a function? What is strongly suggested, how many “guard rails” do we want to provide for the user?|
How to give feedback
Telegram or IRC #wikipedia-abstractconnect (bridged together) (current logs, old logs)
Or you can contact the design team directly via email:
Amin, Wikifunctions Design Lead at aalhazwaniwikimediaorg
Please add your username here if you would like to volunteer for future user-research sessions.
This usually involves 20–30 minutes of your time, having a video-meeting (Zoom, Google Meet, or Jitsi) where you would screen-share what you are looking at and we would ask you some questions.
Optionally, you can add a rough estimate of your familiarity with programming and linguistics, where:
- 1=not familiar at all, beyond general-knowledge awareness
- 2=recognize some terminology and broad concepts, and have a little experience with the basics
- 3=some experience with writing or analyzing code/language
- 4=extensive experience in some areas
- 5=professional level in some areas
|Username||(Optional) Experience levels (1-5) in…|