Editor retention: Editing tools
VisualEditor
In May, the VisualEditor team worked on the performance stability of the editor, rolled out a major new feature to help users better edit articles, and made some improvements to other features to increase their ease of use and understandability, fixing
75 bugs and tickets. The new citation editor is now available to all VisualEditor users on the English, Polish, and Czech Wikipedias, with
instructions on how to enable it on other wikis. The citation and template dialogs were simplified to avoid technical language and some outcomes that were unexpected for users. As part of this, the citation icons were replaced with a new, clearer set, and the template hinting system now lets wikis mark template parameters as “suggested”, as a step below the existing “required” state. The
formula editor is now available to all VisualEditor users, and a new Beta Feature giving a tool that lets you
set the language of content was made available for testing and feedback. Following a new set of user testing, the toolbar was tweaked, moving the list and indent buttons to a drop-down to make them less prominent, and removing the gallery button which is rarely used and confused users. The mobile version of VisualEditor, currently available for alpha testers, was expanded to also have the new citation editor available, and had some significant performance improvements made, especially for long or complex pages. Work continued on making VisualEditor more performant and reliable, and key tasks like keyboard accessibility have progressed. The deployed version of the code was updated five times in the regular release cycle (
1.24-wmf3,
1.24-wmf4,
1.24-wmf5,
1.24-wmf6 and
1.24-wmf7).
Parsoid
In May, the Parsoid team continued with ongoing bug fixes and bi-weekly deployments. Besides the user-facing bug fixes, we also improved our tracing support (to aid debugging), and did some performance improvements. We also finished implementing support for HTML/visual editing of transclusion parameters. This is not yet enabled in production while we finish up any additional performance tweaks on it.
GSoC 2014 also kicked off in May; we have one student working on a wikilint project to detect broken/bad wikitext in wiki pages.
We also started planning and charting goals for 2014/2015.
Core Features
Flow
Growth
Growth
Growth team presentation slides from the monthly Metrics meeting
This month the Growth team launched its A/B test of two methods forasking anonymous editors to sign up on English, German, French, and Italian Wikipedias. Full analysis of the test results is expected in June, though preliminary data strongly suggests a positive impact on new registrations. We finished the mw.cookie module, assisted by Timo Tijhof. Matt and Aaron participated in the Zürich hackathon. Last but not least, Growth released two smaller enhancements to our data collection regarding article creation, including adding page identifiers to MediaWiki core deletion logs and tracking page restorations across all wikis.
Support
Wikipedia Education Program
This month we fixed bugs and made some improvements to the Education Program extension. The biggest change was Sage Ross’s addition of an API for listing students enrolled in courses. Also, students from Facebook Open Academy worked on a new notification and a new activity feed.
Wikimedia Apps
This month, the Apps team worked on a series of navigation improvements to the iOS and Android alpha apps, focusing on the UI for searching, saving and sharing pages, and navigating to the table of contents. We also worked on restyling the global navigation menu and article content—typography, color, and spacing—to create a standardized experience across the mobile web and apps. In preparation for the launch of the Android app in June, we tackled a number of user-reported crashing bugs to ensure a more stable and reliable experience for our users.
Mobile web projects
This month the Mobile Web team continued to build out the basic features of VisualEditor for tablet users, providing the ability to add references via VisualEditor. We hope to finish refining the add and modify references workflow in preparation for graduating VE for tablets to the stable mobile site sometime in July. On the reader features side, we’ve pushed a number of tablet-related styling improvements (typography, spacing, and Table of Contents) to the stable mobile site. This should greatly improve the reading experience for tablet users who are already accessing the mobile version of our projects, and it is one of the last pieces of work we planned to get done before we begin redirecting all tablet users to the mobile site mid-June.
Wikipedia Zero
During the last month, the team restored IP address dynamic updates for Wikipedia Zero partner configurations, advanced refactoring of ZeroRatedMobileAccess into multiple extensions, added support for graceful image quality reduction (roll-out for Wikipedia Zero will be carefully approached), fixed an HTTPS-to-HTTP redirection bug, and worked on an RFC for GIFification of banners instead of ESI. We also added MCC/MNC sampling and necessary library support to the reboots of the Wikipedia apps, cut an alpha Android build, performed limited app code review, added support for Nokia (now MS Mobile) proxies (next step is to add zero-rating with operators who have a Nokia proxy arrangement), diagnosed configuration retrieval issues, simplified automation tests down to just banner presence checks, ran SMS usage analysis and a one-off operator pageview analysis, and started work with the Design team on the final polish for the Wikipedia Zero experience in the forthcoming apps. Additionally, the team started its annual engineering goal setting for the upcoming fiscal year. Routine pre- and post-launch configuration changes were made to support operator zero-rating, with routine technical assistance provided to operators and the partner management team to help add zero-rating and address anomalies.
Wikipedia Zero (partnerships)
- In May we launched Wikipedia Zero with Ncell in Nepal, Sky Mobile (Beeline) in Kyrgyzstan and Airtel in Nigeria. We also added Opera Mini zero-rating in Umniah in Jordan. We served roughly 67 million free page views in May across 30 partners in 28 countries. Adele Vrana attended the Wikipedia Education Hackathon in Jordan, where she collaborated with community members from Egypt, Saudi Arabia, Yemen and Jordan. While there, she visited Umniah, our local operator partner. Adele also went to Brazil, where she met with prospective partners. We kicked off the carrier portal UX design with Noble studios.
MediaWiki Core
Site performance and architecture
Aaron Schulz has been reviewing the Petition extension for deployment to the cluster, working with Peter Coombe to improve its performance. In addition, the reliability and speed of media uploads was increased by removing many failure cases on Commons. There were many other minor fixes over the course of the month.
HHVM
HHVM is running on a test machine (“osmium”) in our production cluster. Most of Tim Starling’s work on the Zend compatibility layer have
landed in HHVM 3.1. Most jobs are working, but bugfixing continues on osmium.
Release & QA
Admin tools development
Search
In May, we deployed changes to improve snippets generated by Cirrus to a handful of wikis, spent some time improving its analysis for Hebrew, and adding more backwards compatibility with lsearchd’s syntax to Cirrus.
Auth systems
We worked on the
SOA Authentication RFC to support the Services team. We also created a MediaWiki-vagrant role for CentralAuth, including significant work to support multiple wikis on a single Vagrant instance. We continued work on the
Phabricator-MediaWiki OAuth integration, and the patch was upstreamed. Last, we held an OAuth training session at the
Zürich Hackathon, resulting in several new apps using OAuth.
Wikimania Scholarships app
The Wikimania Scholarships project for the 2014 cycle wrapped up with the final awarding of scholarships for Wikimania 2014. The current hope is that the 2015 application and review cycle will be managed mainly by the Wikimania 2015 organizing group with limited technical support from Platform Engineering.
Deployment tooling
Security auditing and response
MediaWiki (1.22.7) was released to fix an XSS vulnerability. A separate DOM XSS issue was fixed in MobileFrontend. We also finished a review of Hadoop’s Camus.
Quality assurance
Quality Assurance
The expertise of our new Automation Engineer, Dan Duvall, will allow us to update, maintain and modernize our development environments using Vagrant virtual machines, keep our Puppet site configuration running properly, and contribute to the whole delivery pipeline as we continue to improve our ability to deploy software features to Wikimedia sites quickly and safely.
Browser testing
Now that we have the ability to address the MediaWiki API from the browser testing framework, we have changed the existing test suites to use this powerful tool. This not only gives us a test of the API itself, but also makes the browser tests faster and more reliable. Furthermore, it allows us to easily create a set of acceptance tests that will pass on any MediaWiki installation regardless of what extensions exist or what language the wiki is. We plan for these acceptance tests to eventually become part of MediaWiki core, and our existing tests continue to expose important issues in Wikimedia software development projects.
Multimedia
Multimedia
Bug management
Phabricator migration
Mukunda Modell is currently addressing
authentication and
access restrictions for security tickets with upstream. Chase Pettet and Daniel Zahn of Wikimedia Operations are spearheading the Phabricator installation. Andre Klapper has upstreamed some issues, commented on numerous tickets, and identified further tasks related to migration. An overview board of
tasks to solve for the first day of Phabricator in production is available. Furthermore, once Wikimedia SUL authentication is sorted out, it is investigated to launch the Phabricator production instance first with very limited functionality to provide a
Trusted User Tool.
Mentorship programs
Technical communications
In addition to
ongoing communications support for the engineering staff,
Guillaume Paumier mostly focused on improvements to the
system of scripts and templates used to document Wikimedia engineering activities on
mediawiki.org. Active and inactive projects can now be queried separately, which means that the list of projects that appears in the drop-down of the
status helper gadget is much shorter, now only listing active projects. Guillaume also wrote a dedicated
Lua module to manipulate engineering activities automatically, in particular for the
Wikimedia Engineering portal. It is now possible to query activities from a given team, and display them on any page in various formats. Using the module, the ever-outdated list of “current” activities on the portal was replaced by an automatically-generated list based on projects listed on team hubs. The module also allows to feature a random engineering activity on the portal. Other additions to the portal include the latest issue of
Tech News(transcluded and automatically updated every week), as well as the first paragraph of the latest monthly engineering report (manually updated for now). Future improvements of the portal are expected to be mostly aesthetic.
Volunteer coordination and outreach
The
Wikimedia Hackathon in Zürich was a success according to ad hoc feedback from the participants. A deeper review is expected to be published in July, after compiling the results of the survey. The main merit goes to Wikimedia CH for an efficient, warm, and flexible organization. We also announced a process to request the organization of
Hackathons. We had an intense calendar of
events in May, including a
Tech Talk about Elasticsearch and a meetup in San Francisco on
Making Wikipedia Fast, organized successfully together with the Web Performance SF meetup.
Architecture and Requests for comment process