This week's newsletter can be found online here:
https://meta.wikimedia.org/wiki/Abstract_Wikipedia/Updates/2023-02-01

----

Goal 4 design update and closure


With goal 4, we improved the function definition experience. For example, we optimized the layout, spacing, and information architecture of editing the function definition on mobile. Previously, it was difficult to scan the page top to bottom. Now, thanks to a more attentive use of white space and type hierarchy, we are able to visually group related content.



Prior to this update, it was not possible to delete a function input on desktop, while it was possible to do exactly that on mobile. We made sure that no matter the device of your choice, the same features are available.


We also clarified which of the fields are required, and which are optional. We added samples as placeholder texts, and included helper texts below each field in order to provide better clarity about the expected type of content.



Last, but not least, we designed a bespoke publishing experience. We moved the “publishing block” from the bottom of the function definition view to a dialog, for a stronger separation of concerns.



With the implementation of these and many other designs, we have closed Goal 4 of Phase θ in the development of Wikifunctions. The goal was to update the Functions view in Wikifunctions, and to make the definition of Functions as simple as possible.


Wikifunctions will have two main entry points that we hope can be used by a wide number of people: using Functions from Wikifunctions, and defining Functions for Wikifunctions. We understand that implementing a function may be outside of what many contributors might feel comfortable with. But we hope that we have designed an experience that will allow for a wide variety of people to define a function, and thus to express their needs. As with every wiki, we hope that people with different skill levels will be able to work together, and that these definitions will then be picked up and implemented by people with a skill set that makes them feel comfortable with contributing implementations.


Goal 10 of Phase θ will then see us work on the UX for using Functions. Before we get to that, we will work through Goal 5, where we will work on the default component, which will be the main building block of our UI, and Goal 9, where we use the default component in a number of core types.


ZObject Decoder


Stef Dunlap has developed an online tool that, given a ZObject in JSON, augments the input with helpful annotations in order to make them easier to read. Whereas we hope that most users will never encounter a raw ZObject in the wild, for those poor lost souls who do, this tool can come in mighty handy: find the ZObject Decoder at https://zobject-decoder.toolforge.org/


Volunteer’s corner on Monday


This upcoming Monday will see our monthly Volunteer’s corner. The meeting will be on Monday, February 6, 2023, 18:00-18:30 UTC and you can join on Jitsi on the following link: https://meet.jit.si/AWVolunteersCorner


Bring your questions, your ideas, or even just your curiosity, and we will find and help with places you can contribute.


Development update as of January 27, 2023

  • Goal 5 (Implementing the default view) is moving with good progress. The base components, strings and references, have landed, as well as booleans and monolingual text. Work has started on the two most complex components, lists and function calls.

  • In preparation for Goal 9 (updating the other components), we have done some awesome work identifying which components have to be reimplemented with the current features to replace the current UI

  • Work for Goal 2 (efficient and correct evaluation) and Goal 6 (stable and secure system) has been assessed, and we decided to not work on the two goals in parallel. We will focus first on Goal 6.

  • In Goal 3 (meta-data) we are working on reordering implementations based on the cached test runs.

  • This week we have our quarterly fix-it week, which is a meeting-light week focused on fixing bugs and paying down technical debt