Wikimedia Features engineering
Current projects[edit | edit source]
|Project||Description||Project lead & team||Status|
|Editor Retention: Editing Tools|
|VisualEditor||Creating a visual editor for MediaWiki, other platforms and the Web at large||James Forrester, Trevor Parscal, Roan Kattouw, Rob Moen, Alex Monk, Ed Sanders, Moriel Schottlender, Timo Tijhof • David Chan (Language Engineering), Rummana Yasmeen (Quality Assurance)||
Status: (2014-04-10 (MW 1.23wmf22))
VisualEditor was updated as part of the wider MediaWiki 1.23wmf22 branch deployment on Thursday 10 April. In the week since 1.23wmf21, the team planned out how to tackle some future changes and fixed several bugs.
In the template dialog, adding a parameter now only shows three options at first, rather than all available ones. The second edit tab – either the wikitext editor's "Edit source", or VisualEditor's "Edit" or "Edit beta" – will now fold into the drop-down menu if there's not enough space on the user's screen (bug 50225). The size changing controls in the media editing dialog have been simplified to have "make full size" be a secondary button and the size values be shown as "width x height px" on a single line.
A number of urgent changes were made to the OOjs UI framework, with related changes in VisualEditor, that caused and later fixed some breakages to the testing site; these were released early (bugs 63484, 63544, 63547, 63554). A change from last week that meant that tools needed to be updated wasn't applied to the switching to source editing and formula editing tools; these were fixed and released early to avoid disruption (bugs 63505, 63541).
Changing the format of a list item which has a listed nest inside it no longer breaks (bug 63209). Double-clicking on a hieroglyphics node now opens that inspector (bug 63651). A bug that meant that applying a link to a selection of text which already had a link in it failed was fixed (bug 63386). We also fixed a bug that meant that switching to wikitext always triggered an edit conflict warning for logged-out editors (bug 56835).
Content should now not 'flash' when the window is resized in some cases. Some potential issues related to the focus changing when closing and opening dialogs and inspectors were cleaned up. Text directionality is now stored in the data model rather than the editing surface, which should fix some future issues with dialogs opening in RTL wikis with LTR content blocks. The preference to disable VisualEditor for the wikis which are in opt-out state has been moved from the "beta" section of MediaWiki's editing preferences to the "editing" one, as part of the fallout from that section being removed (bug 28555). OOjs UI was tweaked to display labels next to fields now grey out in sync with the field they describe.
The browser tests were updated to point to a simpler, less fragile locator for the list buttons, and fixing the edit mode switching test to actually fail when it breaks. The continuous integration system has a new tool, "banana-checker", to ensure that every new message has documentation before it is merged.You can monitor the live results of the automated browser tests (triggered every twelve hours) on the server. A complete list of individual code commits is available in the 1.23/wmf21 changelog, and all Bugzilla tickets closed in this period are on Bugzilla's list.
|Parsoid||A bidirectional wikitext parser and runtime. Converts back and forth between wikitext and HTML/XML DOM with RDFa.||James Forrester, Gabriel Wicke, C.Scott Ananian, Arlo Breault, Marc Ordinas i Llopis, Subramanya Sastry||
March saw the Parsoid team continuing with a lot of unglamorous bug fixing and tweaking. Media / image handling in particular received a good amount of love, and is now in a much better state than it used to be. In the process, we discovered a lot of edge cases and inconsistent behavior in the PHP parser, and fixed some of those issues there as well.
We wrapped up our mentorship for Be Birchall and Maria Pecana in the Outreach Program for Women. We revamped our round-trip test server interface and fixed some diffing issues in the round-trip test system. Maria wrote a generic logging backend that lets us dynamically map an event stream to any number of logging sinks. A huge step up from our console.error based basic error logging so far.We also designed and implemented a HTML templating library which combines the correctness and security support of a DOM-based solution with the performance of string-based templating. This is implemented as a compiler from KnockoutJS-compatible HTML syntax to a JSON intermediate representation, and a small and very fast runtime for the JSON representation. The runtime is now also being ported to PHP in order to gauge the performance there as well. It will also be a test bed for further forays into HTML templating for translation messages and eventually wiki content.
|Flow||Initial ideas for the user "home page" feed system, including modules.||Terry Chay, Andrew Garrett, Benny Situ, Brandon Harris, Erik Bernhardson, Maryana Pinchuk, Matthias Mullie, Oliver Keyes, S Page||
This month the Core Features team focused on improvements to how Flow works with key MediaWiki tools and processes. We made changes to the history, watchlist, and recent changes views, adding more context and bringing them more in line with what experienced users expect from these features. We also worked on improvements to the API and links tables integration. On the core discussion side, we released a Flow thank feature, allowing users to thank each other for posts, and began work on a feature to close and summarize discussions. Lastly, we continued work on rewriting the Flow front-end to make it cleaner, faster, and more responsive across a wide number of browsers/devices, which will be ongoing over the next month.
|Growth||To create sustainable growth in the community of editors on Wikimedia projects.||Terry Chay (EPM), Matt Flaschen, Aaron Halfaker, Pau Giner, Sam Smith, Steven Walling||
In March, the Growth team primarily focused on bug fixing, design enhancements, and refactoring of the GettingStarted and GuidedTour extensions, which were recently launched on 30 Wikipedias. We updated icons and button styles, rewrote the interface copy, and refactored the interface to be more usable in non-English languages. We also began work on a significant refactor of the GuidedTour API, in order to support interactive tours that are non-linear. Non-linear tours will not depend on a page load to run, which will enable better support for tours in VisualEditor, among other things. Last but not least, we made progress on measuring the impact of GettingStarted across all wikis where it is deployed, with results for the first 30 days of editor activity expected in early April.
|Support (Fundraising, Education…)|
|Wikipedia Education Program||Wikipedia Education ProgramA MediaWiki extension to support the||Terry Chay, Andrew Russell Green, Sage Ross, Jeroen De Dauw (original author)||
This month, thanks to the work of Facebook Open Academy student JJ Liu, we added a new type of notification for course pages: users are now notified whenever they get added to a course. We also fixed inconsistencies with interface messages, user rights, and the deletion of institutions from the system.
Future and backburner projects[edit | edit source]
|Project||Description||Project lead & team||Status|
|Article Creation Workflow||A feature to improve the article creation workflow for new editors.||Fabrice Florin, Benny Situ, Ryan Kaldari, Ian Baker, Brandon Harris, Oliver Keyes, Howie Fung, Dario Taraborelli, Terry Chay||
|GlobalProfile||A set of features to help users provide information about themselves and associate by interests.||Alolita Sharma, Brandon Harris||
This project was on hold in September, because of a lack of development resources.
|Community prototyping||Features development to support community research and community change experiments.||Alolita Sharma, Katie Horn||
In December, active development has begun on the user metrics API project in E3. The effort is threefold: to standardize user metrics , to build infrastructure to efficiently compute metrics for a large set of users [2,3], and finally to expose those results via an API. The technical portion of this project is written in Python and Flask, and the assigned resources are Dario Taraborelli and Ryan Faulkner. Development and documentation efforts will be continuing through January. https://gerrit.wikimedia.org/r/gitweb?p=analytics/E3Analysis.git;a=summary
|LiquidThreads 3.0||LiquidThreads extension to improve its back-end and UIA rewrite of the||James Forrester, Andrew Garrett, Brandon Harris,||
"Further deployments of LiquidThreads are indefinitely on hold because we don't have the resources to support it." – Andrew Garrett (2012-03-19) there is no further development expected.
|Etherpad lite integration||Create a project page for this activity (how-to)|
|MoodBar||A feature to encourage new users to provide feedback.||Alolita Sharma, Brandon Harris, Howie Fung, Ian Baker), Rob Moen, Benny Situ||
|Mobile/Athena||Create a project page for this activity (how-to)|
|FlaggedRevs maintenance||A feature to allow changes made by logged-out and new users to be reviewed before they appear as the primary version of an article.||James Forrester, Matthias Mullie, Aaron Schulz||
No update this month.
|MicroDesign||Low hanging fruit||Howie Fung, Oliver Keyes, Munaf Assaf, Vibha Bamba, Rob Moen, Benny Situ||
|UploadWizard||Wikimedia Commons, the media library associated with Wikipedia.A feature that provides an easier way of uploading files to||
Rob Lanphier (engineering director)
No update this month.
Recently completed projects[edit | edit source]
|Project||Description||Project lead & team||Status|
|Feedback Dashboard||A dashboard allowing experienced users to answer comments and concerns coming from MoodBar||Fabrice Florin, Brandon Harris, Ian Baker, Rob Moen, Benny Situ, Alolita Sharma||
We implemented a leaderboard of recent top responders on the feedback dashboard. New editor feedback is now added to a dedicated log. When feedback is marked as helpful, that fact is displayed on the feedback dashboard itself. Other than a few other smaller changes, we're now moving the project into maintenance mode to focus on article creation workflow and New Page Triage.
|WikiLove||An extension to encourage expressions of appreciation between users.||Alolita Sharma, Ryan Kaldari, Jan Paul Posma, Roan Kattouw, Brandon Harris||Status: (2011-08-01)|
|Page Curation||Interface for reviewing new pages||Fabrice Florin, Ryan Kaldari, Benny Situ, Brandon Harris, Vibha Bamba, Howie Fung, Terry Chay||
Page Curation is now in 'maintenance mode', following its release on the English Wikipedia in September 2012. There was no significant development activity on this project this month. Oliver Keyes has completed a project to look at various ways of localizing Page Curation to any and all wikis that want it: it is currently being reviewed by Howie Fung to assess its feasibility.
Create infastructure for providing guided tours, as well as some initial tours
|Terry Chay, Matt Flaschen, Steven Walling||
Matt Flaschen and Sam Smith met on GuidedTour refactoring, and decided next on steps, including testing out the proposed domain-specific language, reviewing existing tours, and refactoring the user state code.
|2012 Wikimedia fundraiser||Engineering support and development for the 2012 fundraiser of the Wikimedia Foundation||Katie Horn, Peter Gehres, Adam Wight, Matthew Walker, Jeff Green||
In March, we wrapped up our 2012/13 non-English international fundraising efforts, making approximately 5 million USD over the course of the month. Originally, we had planned to run the non-English international fundraiser continuously until June, but were forced to accelerate our plans due to some potential instability at the beginning of April with one of our crucial payment gateways. At the very end of March, we started publishing aggregate public fundraising data to samarium.wikimedia.org.
|Notifications||Project hub for the Notifications infrastructure and UI (code-name: Echo)||Fabrice Florin, Terry Chay, Howie Fung, Ryan Kaldari, Benny Situ, Luke Welling, Vibha Bamba, Brandon Harris, Oliver Keyes, James Forrester, Andrew Garrett, Matthias Mullie||
In October, we released Notifications worldwide on about 800 different sites, including most of the remaining Wikipedia wikis and 'sister projects'. Fabrice Florin and Keegan Peterzell managed the community outreach for these final releases, while Benny Situ proceeded with the technical deployments. Community members we've spoken to generally find this tool helpful, across languages and world regions. Notifications are also available on mobile devices, and seem to be adding value on these platforms as well. We now plan a final release of Notifications on the German and Italian editions of Wikipedia at the end of November. To learn more, visit our project hub, read the help page and join the discussion on the talk page.
|Article feedback||A new tool to engage readers to improve articles on Wikipedia.||Fabrice Florin, Matthias Mullie, Pau Giner, Oliver Keyes, Dario Taraborelli, Howie Fung, Erik Möller||
There was no activity on Article Feedback in October, as we await the results of the French pilot to determine our next steps for this project.
|2013 Wikimedia fundraiser||Engineering support and development for the 2013 fundraiser of the Wikimedia Foundation||Katie Horn, Peter Gehres, Adam Wight, Matthew Walker, Jeff Green||
The fundraising team has been steadily ramping up to the big English fundraiser, and so the fundraising tech team has been transitioning into their usual year-end fundraising monitoring and support role. At the end of October, we went in to a feature freeze for CentralNotice, and have been concentrating on bugfixes with the intent of increasing stability on the payments cluster and in the rest of the donation pipeline. We have also started planning for the international fundraising campaigns targeted for early 2014.