User stories
- As a hesitant Wikipedia contributor with an interest in Wikifunctions, I need a lot of assistance in creating functions, so that I can be a successful contributor. (Sujay)
- As a coder who would like to contribute to Wikifunctions, I need a way to help others be successful contributors, so that I can be part of Wikimedia's collaborative spirit and expand my own tech knowledge + skills. (Yanko)
- As someone who is curious about Wikifunctions I want to play around with the function editor so that I can learn if either function writing or implementing is for me.
- As a journalist who edits Wikipedia and is curious about Wikifunctions, I want to learn how to create a function that can answer my question, so that I can derive value from Wikifunctions.
- As a journalist who contributes to Wikidata and is curious about Wikifunctions, I want to learn how to create functions that can help me make sense of my data, so that I can tell stories with data.
- As a teacher who contributes to Wikidata and is curious about Wikifunctions, I want to create functions that can help my students make sense of datasets, so that I can empower my students.
- As a coder who wants to implement functions, I would like to know when a function that I implemented was used or explore other ways to see how my contributions have helped Wikifunctions, so that I can see the impact that my work has.
- As an activist who edits Wikipedia, I want to create functions that can help strengthen my articles, so that I can help make Wikipedia more equitable.
Why are we doing this?
We want to design the core user experience for Wikifunctions and now that we have a core mental model for functions, we want to test with creation of functions.
Proposed functionality or features
- Clear + understandable definition of functions
- Clear + understandable definition of WF
- Responsive design (ability to edit on mobile)
- Multilingual support
- Formatting/syntax support
- Sandbox and ability to save in progress work
- Publishing flow
- User education/tutorials
- Editing history
- Suggestion of high impact functions to create
- Suggestion of high impact functions to translate
- A place to ask questions
- Access to search and browse
- Access to other creators and their work
- Beginner tasks
- Ability to nest functions
- Interfaces that support pair programming
- A way to connect with editors who have similar interests to me
- Local or language based user groups
Community needs or features
- Notifications
- A clear and understandable definition of functions
- A code of conduct
- Quick and easy to understand onboarding
- Mentors
- Editing documentation
Open questions
- Can we or do we want to build off of existing editing interfaces available on the projects?
- What considerations are there for syntax / formatting support?