Wikimedia Engineering/Report/2011/March

Major news this month include:
 * The publication of a Product whitepaper by the Strategic product team (and the associated update from Sue Gardner) that will guide future engineering efforts.
 * The return of Brion Vibber, Wikimedia's first employee, as Lead architect for MediaWiki.
 * The deployment of Article Feedback 2.0 to the English Wikipedia, and of Upload Wizard 1.0 to Wikimedia Commons.

Upcoming events

 * Berlin Hackathon 2011 (May 13-15, Berlin) — Daniel Kinzler announced the dates and location of the Berlin Hackathon. Registration is open until April 10. Participants are also listing topics to work on.
 * Summer of Code 2011 — Sumana Harihareswara sent a call for students for the upcoming summer of code. Developers are now signing up as students and mentors, and projects are being discussed.
 * Wikimania (August 2-7, Haifa, Israel) — This year's Wikimania will be preceded by two days of hacking (August 2-3); the actual conference (August 4-7) will also include Technology tracks.

Job openings
Are you looking to work for Wikimedia? We have a lot of hiring coming up this year, and we really love talking to active community members about these roles.

The following positions have opened this month:
 * Engineering Program Manager - Data Analytics

The following positions are still open:
 * Performance Engineer
 * Software Developer (Features)
 * Software Developer (Mobile)
 * Data Analytics Engineer
 * Operations Engineer
 * Senior QA Engineer
 * Networking Contractor (Amsterdam)
 * Software Engineer — Community R&D

In addition, we hope to post the following positions over the next few months:
 * Rich Text Editor Engineer
 * Release Engineer
 * Technical Writer

Short news

 * Visitors —
 * Hires —
 * Peter Youngmaster, Consultant, to work as an Operations Engineer
 * Brion Vibber, Lead Architect, http://blog.wikimedia.org/blog/2011/03/07/brion-vibber-rejoins-wikimedia-foundation/

Site operations
Virginia Data Center — Installation of a world-class primary data center for Wikimedia Foundation websites.
 * Status:


 * Program manager: Mark Bergsma

Media Storage — Improvement of our media storage architecture to accommodate expected increase in media uploads.
 * Status:


 * Program manager: Mark Bergsma

Testing environment
Virtualization test cluster — Environment to deploy temporary machines for testing and experimentation, for use by WMF staff and volunteers working on important projects (as capacity allows).
 * Status: . Ryan Lane released version 1.2 of his OpenStackManager extension and created detailed documentation on the setup.


 * Program manager: Mark Bergsma

Backups and data archives
Backups — Improvement of backup coverage of Wikimedia-hosted data.
 * Status:


 * Program manager: Mark Bergsma

Data Dumps — Improvement of processes to create and provide public copies of public Wikimedia data.
 * Status:
 * http://thread.gmane.org/gmane.science.linguistics.wikipedia.technical/52609


 * Program manager: Mark Bergsma

Short news

 * Topic — summary

Content Quality and Editorial Tools


Article Feedback (phase 2) — A feature to collaboratively assess article quality and incorporate reader ratings on Wikipedia.
 * Status: The second phase of this feature was released on the English Wikipedia in mid March. A major change in the interface is the ability for reviewers to specify the source of their knowledge, e.g. if they have an academic degree in a related field (see screenshot). Experiments to encourage user engagement are being performed as well. Dario Taraborelli also published an analysis of the first phase experiment. We're currently expanding the scope of the experiment to include about 20,000 articles, in order to get results that are more meaningful statistically.
 * Program manager: Alolita Sharma

Article feedback (extended review) — An interface for quality reviews of Wikipedia content.
 * Status: The "Open wiki review system" is now considered as a possible evolution of the Article feedback feature. It would offer an interface to submit detailed quality reviews, as well as a system to sort and assess reviews. Ways to surface quality indicators for readers are also being explored.
 * Commissioned by: Erik Möller

Pending Changes — 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.
 * Status: Development is in maintenance mode; work will resume when developer resources become available, and after the English Wikipedia community makes a decision regarding the future of the this trial. Steven Walling requested additional data to help the community come to a consensus.
 * Program manager: Alolita Sharma

Personal image filter — A feature to allow users to selectively hide media files on a wiki.
 * Status: Brandon Harris' initial UI design recommendations were presented to the Board of Trustees. Erik Möller is now coordinating with Brandon to take the Board's feedback into consideration. See the detailed article published in a recent Signpost issue.
 * Program manager: Alolita Sharma

Discussions and Interactions
Wikilove 0.1 — A user script to encourage praise and virtual gifts between users.
 * Status: Because many automated patrolling tools and gadgets are focused on making it easy to warn or reprimand users, Ryan Kaldari wrote a user script to facilitate nice behavior between editors. For example, it is now possible, on the English Wikipedia and other wikis, to give a "virtual kitten" to another editor. The script was adapted for use by the Russian and Tamil communities, and Ryan is helping support other communities willing to use it.
 * Program manager: Alolita Sharma

Multimedia Tools
Upload wizard — A feature that provides an easier way of uploading files to Wikimedia Commons, the media library associated with Wikipedia.
 * Status: Neil Kandalgaonkar and Ryan Kaldari continued to fix bugs, test functionality, and generally ready the software for a 1.0 release. These improvements were deployed to the Commons prototype and Neil sent out a call for testing to uncover remaining bugs. The 1.0 release is planned for deployment on Commons on March 30th.
 * Program manager: Alolita Sharma

Community feature prototyping
As the first engineer "embedded" in the Community department, Trevor Parscal completed the first experiment, related to the location and appearance of the edit link. . He's now turning to the account creation improvement project (and the associated A/B testing) with Frank Schulenburg & Lennart Guldbrandsson.

Engineering support
Editor survey — Integration work between LimeSurvey and MediaWiki to support
 * Status: In preparation for the upcoming Editors survey conducted by the Global development department, work was done to integrate the survey software (LimeSurvey) with Wikimedia's infrastructure. Arthur Richards and Nimish Gautam worked on the back-end to allow LimeSurvey to pull information directly from our database, and automatically provide useful stats about editors, hence simplifying and shortening the survey. Ryan Kaldari worked on integrating LimeSurvey with CentralNotice.
 * Program manager: Alolita Sharma

Short news

 * Style guide for forms — Designer Brandon Harris published a draft style guide for forms in MediaWiki, and started a discussion on wikitech-l.
 * Liquid Threads — Main developer Andrew Garrett laid down a timeline for his upcoming work on this feature that brings threaded discussions capabilities to MediaWiki. He will first focus on back-end work, before moving to documentation and front-end.
 * SimpleSurvey 2.0 — Work on this survey extension for MediaWiki is currently on hold, and will resume as developer resources become available.
 * JavaScript parsing library — Work on this JavaScript parsing library for wikitext was slowed down in favor of the Upload Wizard.
 * Resource loader — This core feature of MediaWiki 1.17, improving the load time for JavaScript and CSS, is now feature-complete and transitioned to maintenance mode. Trevor Parscal and Roan Kattouw continued to fix bugs as they arose.
 * Non-Roman character set localization — Roan Kattouw deployed the Narayam extension, that he had previously refactored in depth. It is now in production on the Malayam Wikipedia . This extension adds input methods for some Indic scripts.

Wikimedia Labs
Media projects — A set of features to improve media handling and key infrastructure support tools, many developed with Kaltura, such as Metavid, MwEmbed, and the Video Editor.
 * Status: The back-end code of the TimedMediaHandler extension was reviewed by Roan Kattouw, and Michael Dale started to integrate the feedback in the code. The front-end and JavaScript code will be reviewed by Trevor Parscal.

MediaWiki development and tools
MediaWiki 1.17 release — The upcoming MediaWiki release.
 * Status:
 * add Mark H.'s e-mails to wikitech-l, weekly sprints, etc.


 * Program manager: Rob Lanphier

Code review —
 * Status: After the 1.17 code review sprint, the number of unreviewed new revisions started to increase again (see the automatically generated chart). Mark Hershberger started to assign name tags to revisions, to help developers track reviews that are requested from them.
 * Program manager: Rob Lanphier

Bugzilla 4.0 upgrade — Upgrade of our bug tracker to the latest version of Bugzilla.
 * Status: Priyanka Dhanda coordinated with Rob Halsell to prepare for the upgrade. A prototype was set up, the Vector skin was cleaned up, and some old tweaks were moved into extensions. Chad Horohoe also used the prototype to try out a summary report script shared by the KDE community.
 * Program manager: Rob Lanphier

Performance optimization
PoolCounter — A MediaWiki extension to avoid parser deadlocks on high-traffic pages.
 * Status: Tim Starling deployed this extension, written by Platonides to controls the number of simultaneous parses that happen on a single page (to avoid the "Michael Jackson" effect). It was later disabled because a bug now fixed; Platonides also added integrated statistics to this tool.
 * Program manager: Rob Lanphier

EHcache deployment — Deployment of a disk-backed object cache to increase parser cache hit ratio
 * Status: Tim Starling investigated Wikimedia's low parser cache hit ratio and suggested to increase the parser cache size to reduce Apache CPU usage. After researching available options for disk-backed object caches, he selected EHcache and wrote a MediaWiki client for it.
 * Program manager: Rob Lanphier

Wikimedia analytics
udp2log — A custom data analytics logging system.
 * Status: A second logging machine was installed and a load balancer set up to handle the amount of data. Data is now being collected, sampled, filtered and cleaned up. The long-term plan is still to use multicast, in order to allow for growth.
 * Program manager: Rob Lanphier

A/B testing —
 * Status:
 * Program managers: Rob Lanphier

Wikistats — A collection of public tools providing general statistics on Wikimedia wikis.
 * Status: Erik Zachte checked in the source code of many of his tools into our code versioning system . He also created a new animated visualization of edits worldwide.
 * Program managers: Rob Lanphier

Report card — A monthly report of key metrics to measure community health.
 * Status: Erik Zachte tweaked his code on page view statistics. Future improvements include mining the CentralAuth database to identify accounts of the same user across wikis, and use this information to refine editor counts.
 * Program managers: Rob Lanphier

Technical communications
Development process improvement — A project to increase transparency and organize Wikimedia Foundation's engineering efforts more efficiently.
 * Status: Guillaume Paumier revived this project and has been focusing on summary pages and versions & phases for Wikimedia-funded engineering projects. The goal is to make it easier to find this information and keep it up-to-date, for the benefit of staff, volunteer developers and users.
 * Program manager: Rob Lanphier

Wikimedia blog overhaul — A project to consolidate and improve the Wikimedia blogs.
 * Status: After assessing the current situation of Wikimedia blogs, Guillaume Paumier worked with the Communications team, and other departments, to collect requirements. A technical proposal was then created and a prototype set up. Implementation should now happen shortly.
 * Project manager: Guillaume Paumier

Short news

 * MediaWiki 1.17/Wikimedia deployment — http://techblog.wikimedia.org/2011/03/site-fixes/
 * Test framework deployment — Work on this automated test environment for MediaWiki (based on Selenium and PHPUnit) is currently on hold. It will resume when the virtualization cluster is in place, and resources become available.
 * OpenWebAnalytics — Our OWA test platform is currently considered as a possible platform to handle A/B testing, although it's not mandatory in the short term.
 * API — Sam Reed continued to work on the backlog of bugs and feature requests.
 * Shell bugs — Site requests that require shell access to the servers are mostly handled by Rob Halsell and a few dedicated volunteers. Priyanka Dhanda is going to join the team and help out where possible.
 * Access to Subversion — Rob Lanphier, Priyanka Dhanda and Chad Horohoe have joined Tim Starling to handle requests for commit access to Subversion.
 * Migration to Git — Migrating from Subversion to Git was discussed on the wikitech-l list and issues were raised. The engineering staff is interested in supporting this migration once consensus is formed amongst developers.
 * Heterogeneous deployment — The deployment of MediaWiki 1.17 across Wikimedia sites confirmed the need for a way to target software changes and upgrades to specific sets of wikis. Progress is expected to be done by the deployment of MediaWiki 1.18.
 * Software deployments tracking — A new page on the wikitech wiki is now tracking recent and upcoming software changes, besides the server admin log.

Mobile
Mobile site rewrite — Port of our existing gateway to another framework for easier support & collaborative development.
 * Status:


 * Program manager: Tomasz Finc

WikiSnaps for Android — Port of the mobile upload app experience with WikiSnaps to the Android platform.
 * Status:


 * Program manager: Tomasz Finc

Offline
Wikipedia version tools — Support and development of a series of tools to select Wikipedia content for offline use.
 * Status:


 * Program manager: Tomasz Finc

OpenZim for Collections — Integration of OpenZim into the Collections extension.
 * Status: Tomasz Finc announced that PediaPress had completed the integration of OpenZim with the Collections extension; the feature was enabled on all Wikimedia projects using the extension. Users are now able to download books generated by the Create a book feature in ZIM format, to read them with an offline app.
 * Program manager: Tomasz Finc

Kiwix UX study — Evaluation of the user experience of the Kiwix mobile app to access offline Wikimedia content.
 * Status:


 * Program manager: Tomasz Finc