The on-wiki version of this newsletter is available here:
https://meta.wikimedia.org/wiki/Abstract_Wikipedia/Updates/2021-09-24
--
<https://meta.wikimedia.org/wiki/File:Research_-_Wikifunctions_mental_model.pdf>
<https://meta.wikimedia.org/wiki/File:Research_-_Wikifunctions_mental_model.pdf>
Wikifunctions mental model
In order to understand the potential contributors and users for
Wikifunctions better, we had Jeff Howard
<https://commons.wikimedia.org/wiki/User:JDH264> conduct user research to
better understand the potential contributor base for Wikifunctions. The
results of this work are now available in the form of two reports on
Wikimedia Commons:
*Wikifunctions mental models
<https://commons.wikimedia.org/wiki/File:Research_-_Wikifunctions_mental_model.pdf>.*
18
participants were interviewed in order to understand the current mental
models about Wikifunctions, and to uncover potential problems. Below are a
few of the problems found during this work. Please find more details in the
full report.
- The goals of the project were confusing: what does Wikifunctions aim
to achieve?
- The mock-ups were confusing, and they didn’t explain how the project
would work, or what one would do on the site.
- It was unclear whether non-programmers could contribute to or benefit
from the project.
The latter exposes a particular challenge for the project. I’ll come to it
later, but one main goal of the project is to be accessible for people who
do not currently see themselves as programmers. In fact, we think that
people who are currently non-programmers may benefit from Wikifunctions
most!
<https://meta.wikimedia.org/wiki/File:Publish_-_Wikifunctions_feedback.pdf>
<https://meta.wikimedia.org/wiki/File:Publish_-_Wikifunctions_feedback.pdf>
Wikifunctions developer feedback
*Wikifunctions feedback
<https://commons.wikimedia.org/wiki/File:Publish_-_Wikifunctions_feedback.pdf>.*
10
developers were interviewed in order to see what developers think of the
Wikifunctions idea. There are many interesting ideas and discussions in
this report:
- Discussions of GitHub vs MediaWiki versioning.
- How well will the UI support more complex implementations?
- How to curate many different implementations for a function?
The developers correctly identified that Wikifunctions is not about whole
programs, but about individual functions that can then be used like a
toolbox for many purposes. The discussions and questions also laid bare the
expectations developers might have for Wikifunctions, and where we need to
make our communication clearer in order to not disappoint potential
contributors.
Both reports indicate some of the challenges Wikifunctions will face. We
are taking the reports seriously and are using them as input for our UX
design. Even given these results, our goal remains to make writing
functions and implementations in Wikifunctions accessible to novice coders,
and Wikifunctions usable and understandable by people who are not already
coders.
<https://meta.wikimedia.org/wiki/File:Wikilambda_-_Early_Eta_-_Create_a_new_function.webm>
<https://meta.wikimedia.org/wiki/File:Wikilambda_-_Early_Eta_-_Create_a_new_function.webm>
Creating a new function in the Early Eta Wikilambda prototype
We are currently designing the function editor to be more approachable,
intuitive, and mobile-friendly. The video here gives you a first view of
how to define and edit a function
<https://commons.wikimedia.org/wiki/File:Wikilambda_-_Early_Eta_-_Create_a_new_function.webm>.
It involves a number of simple steps, while providing guidance throughout
the process. We can see an automated diagram of the function on the right.
Adding testers and implementations can also be done directly from within
the function editor.
The implementation of this interface should land in the prototype soon, so
you will be able to test it 'live'. We hope that this makes function
creation and editing in Wikifunctions considerably easier, more
understandable, and more enjoyable than the initial, placeholder experience.
Enjoy reading the reports and watching the video!