This week's newsletter can be found online here:
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.
Stef Dunlap <https://en.wikipedia.org/wiki/User:KindRowboat> 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 <https://zobject-decoder.toolforge.org/> at
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
<https://zonestamp.toolforge.org/1675708202> 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