The on-wiki version of this newsletter can be found here: https://www.wikifunctions.org/wiki/Wikifunctions:Status_updates/2024-06-26 -- Welcome, Daphne!
This week we are happy to welcome a new member on the Wikifunctions team. Daphne Smit is joining us as a senior software engineer, to work on all the parts and pieces of Wikifunctions, with a particular eye towards the front-end user experience. Here we have Daphne saying hello in her own words:
*Thrilled to join the Abstract Wikipedia Team as a Senior Software Engineer. My coding journey started back when tables were the new thing and we had luckily almost forgotten about iFrames https://en.wikipedia.org/wiki/HTML_element#Frames. Previously, I worked as a freelance developer making long legal documents available to everyone. Now, it’s time to step up my game and be part of a movement making knowledge freely available to everyone. I’m ready to bring my passion for problem-solving and user-centric design to Wikimedia.* https://www.wikifunctions.org/wiki/File:Hagelslag_chocolate_sprinkles.jpg
*I’ve just moved from the bustling canals of Amsterdam to the cozy charm of Zwolle https://en.wikipedia.org/wiki/Zwolle, a Hanseatic City https://en.wikipedia.org/wiki/Hanseatic_League that has already won me over. When I'm not crafting impactful user experiences, you’ll find me playing basketball, tackling bouldering walls, or surfing the waves in Portugal or France. I live with my cat, Silver, who occasionally assists in debugging by walking across my keyboard. I also love hiking, with favorites like the Tongariro Crossing https://en.wikipedia.org/wiki/Tongariro_Alipne_Crossing in New Zealand and the Pico do Areeiro https://en.wikipedia.org/wiki/Pico_do_Areeiro - Pico Ruivo https://en.wikipedia.org/wiki/Pico_Ruivo trek in Madeira.*
*I’m excited to start learning and contributing to this great project, where Abstract Wikipedia https://en.wikipedia.org/wiki/Abstract_Wikipedia and Wikifunctions team up like peanut butter and hagelslag https://en.wikipedia.org/wiki/Hagelslag (yes we do that in The NL).*
Please join me in welcoming Daphne to the team! Input needed: Design proposal towards better multi-linguality of the About widget
During this Quarter, we’ve been working on improving the experience of use for multi-lingual readers and editors.
Wikifunctions currently provides a set of features that let translators and other multi-lingual editors contribute in their own language. Despite being possible to add content in multiple languages, the process is not as simple as it could be. Moreover, sometimes Wikifunctions displays content in a language that readers don’t know, or can’t speak (T359772 https://phabricator.wikimedia.org/T359772).
The goals of this update that you'll find at the page on the About widget’s improvements https://www.wikifunctions.org/wiki/Wikifunctions:Design/About_widget_improvements, are:
- for readers (and function users), to confidently display content in languages that each person is familiar with, and make it clear when content in their UI language is not available to provide a potential entry point for contribution. - for editors, to streamline the translation process, making it possible to add multiple translations with ease in a single publishing step.
We started a page for designs on Wikifunctions https://www.wikifunctions.org/wiki/Wikifunctions:Design, that also hosts this particular design.
We'd love to hear your thoughts about this proposal. Feel free to leave any feedback on the Discussion page. Volunteers’ Corner on July 1st, 2024
Next week, on Monday, July 1st, 2024, at 17:30 UTC https://zonestamp.toolforge.org/1719855000, we will have our monthly Volunteers’ Corner https://meet.google.com/xuy-njxh-rkw. Unless you have many questions, we will follow our usual agenda, of giving updates on the upcoming plans and recent activities, having plenty of time and space for your questions, and building a Function together. Looking forward to seeing you on Monday! Recent Changes in the software
This week we've been making minor improvements to complete the Quarter's work.
We landed a fix to last week's improvement to how "enum" Types (ones with an identity key, like Month) are displayed, in order to show the special radio control for Booleans, rather than the drop-down, and rushed this out to production ahead of the release to avoid disruption (T367159 https://phabricator.wikimedia.org/T367159).
We identified a change in behaviour in the back-end services, and for now have disabled the failing test whilst we investigate and fix it; we do not think this should directly impact community-written Test cases, but please report if you're affected (T368041 https://phabricator.wikimedia.org/T368041).
Our newest team member, Daphne (above) landed her first patches with us, one to disable the code editor control when creating a new Implementation until you've selected the language (T343635 https://phabricator.wikimedia.org/T343635), and another to fix some lint errors in our jest test structure code. We also adjusted the control flow of our Object editing database access layer, avoiding the deprecated MediaWiki code that assumes global language state.
We've added infrastructure to track the relationships between Objects in a "secondary" database table (T357552 https://phabricator.wikimedia.org/T357552). Though this for now is mostly meant so we can report better on what Types are used in Function definitions and how often, to help the community focus attention where it will have the most impact, we expect to expand this feature for tracking in future.
Finally, we fixed the code for publishing new Objects, making the substitution of 'Z0' to the new ZID when creating new Type converters just like for Implementations (T367168 https://phabricator.wikimedia.org/T367168), which will allow for better community control of custom Types in the future. New Type: Day of the week
We released a new Type https://www.wikifunctions.org/view/en/Z17402, an enumeration, for the seven days of the week https://www.wikifunctions.org/view/en/Z17402, implementing the community proposal https://www.wikifunctions.org/wiki/Wikifunctions:Type_proposals/Day_of_the_week .
We are still soliciting proposals for months from other calendars, and, if relevant, for weekdays of other calendars. You can use the proposals for the Gregorian calendar month https://www.wikifunctions.org/wiki/Wikifunctions:Type_proposals/Gregorian_calendar_month and the Igbo calendar month https://www.wikifunctions.org/wiki/Wikifunctions:Type_proposals/Igbo_calendar_month as templates. We would very much prefer proposals from people who know a given calendar very well, than trying to build it ourselves based on the relevant Wikipedia articles.
There is now also a proposal for calendar dates https://www.wikifunctions.org/wiki/Wikifunctions:Type_proposals/Gregorian_calendar_date (of the proleptic Gregorian calendar, to be precise) and related Types. Feedback is very welcome. Function of the Week: subtract integers
Last week we introduced Integers https://www.wikifunctions.org/wiki/Wikifunctions:Status_updates/2024-06-20, Natural numbers with signs, so that we can finally represent negative numbers too! The community immediately seized the opportunity to create plenty of new Functions, and now we have more than three dozen Functions dealing with Integers. Thank you all!
Many of the Functions are versions of the Functions with Natural numbers, now extended to Integers: addition, multiplication, and number comparisons are now all available for the whole Integer range.
The one Function that highlights the Integer range the best is the subtraction Function: subtraction with Natural numbers is floored on zero https://www.wikifunctions.org/view/en/Z13569. But now, we have an Integer-based subtraction Function https://www.wikifunctions.org/view/en/Z17111, and we can subtract a bigger number from a smaller number (and thus yield a negative number as the result https://www.wikifunctions.org/view/en/Z17117). Accordingly, that’s one of the three Test cases. The other two Tests are subtracting a smaller number from a bigger number, resulting in a positive number https://www.wikifunctions.org/view/en/Z17115, and finally subtracting a negative number from a number https://www.wikifunctions.org/view/en/Z17118.
Besides three Tests we also have three Implementations. Two are in code: one in Python https://www.wikifunctions.org/view/en/Z17114, one in JavaScript https://www.wikifunctions.org/view/en/Z17127, both simply using the binary '-' operator in the given languages. My favourite Implementation, as usual, is the composition https://www.wikifunctions.org/view/en/Z17248: it uses addition https://www.wikifunctions.org/view/en/Z16693, but negates https://www.wikifunctions.org/view/en/Z17186 the second argument before adding it up. I.e. when you want to calculate 2 - -7, it instead negates the second argument, turning the -7 into a 7, and then adds the two numbers up, calculating 2 + 7.
Another interesting variant Function is a subtraction Function for two Natural numbers https://www.wikifunctions.org/view/en/Z17315 that results in an Integer, and thus has no constraints on the input arguments.