In 2015, the Wikimedia Labs team ran a survey of Tool Labs developers to further understand how they feel about the service, what they like, and what they want to see improved. This year, Bryan Davis, a senior software engineer at the Wikimedia Foundation providing Tool Labs support as part of Community Tech, ran the survey again, and announced the results on the Labs-l mailing list in late November.
The survey showed that developers' opinion of the reliability of the Tool Labs platform has increased from 64% last year to 87%, and is likely to be the main aspect that users of tools hosted on Tool Labs care about. Davis attributed this to infrastructure work performed by members of the Labs Operations team.
He specifically highlighted Chase Pettet and Madhumitha Viswanathan’s work on improving the underlying Network File System (NFS) servers for performance and stability, Andrew Bogott’s work on the OpenStack cloud that powers the servers that run Tool Labs. YuviPanda is leading the effort to migrate from the unsupported Open Grid Engine (OGE) to the newer and more stable Kubernetes platform, which has led to cleaning up and improving the web server related code.
“Moving to a codebase that is about 20 years newer and supported by an active community can do a lot to improve things”, said Davis. He noted that there may be some recency bias, since the period immediately before the 2016 survey was relatively stable, while there was instability in the months before the 2015 one.
The Labs team monitors uptime as well, explained Davis. For the months of October and November, the combined availability (all services being up) was 99.669%, or about two and a half hours of downtime per month on average. They are currently aiming for 99.9% availability, or 45 minutes of downtime per month.
Davis also shared some of the planned improvements in 2017 that should help with stability and reliability.
“We have a new database cluster coming online soon", said Davis. “Rather than just setting up the same old system on bigger hardware the database administration team has taken a deep look at the problem of replication with filtering and made configuration and architecture changes to improve the whole stack.”
Another goal is to improve the OpenStack networking system by upgrading it to “Neutron”. This would allow the Labs team to distribute servers better in the datacenter, ensuring that a power outage for a single row of servers won’t take down all of Labs (as it currently would).
And as mentioned earlier, work on transitioning away from OGE will continue. Davis is currently working on evaluation criteria for the OGE replacement system, and expects to do actual testing next quarter.
89% of Tool Labs developers found the support to be as good as or better than the support they received while using the Toolserver, compared with 71% last year. Davis credited the community for coming together and helping each other more, citing the number of people answering questions on IRC and improving documentation on wikis.
He also saw a lot of room for improvement, noting that documentation was the most mentioned problem in the free form comment section of the survey.
“We have pretty good coverage of highly technical topics on the Wikitech wiki, but there are very few start to finish tutorials on how to create an account, upload your code, and see your app running”, said Davis. “It would be nice to see "my first X" tutorials for different basic projects (web service, editing bot, IRC bot, etc) for various languages.”
Usage of the three main services of Tool Labs, LabsDB, cron jobs, and web services, were all down from last year; but the number of respondents who don’t actively maintain any tools went up from 16% to 22%. Davis had a few hypotheses as to why, such as people switching to Quarry for database queries instead of direct access, or people signing up, finding it difficult, and then losing interest.
“I'd love to hear more from the Tool Labs community on the 'why' here”, said Davis. He can be contacted on his Wikitech talk page.
Davis expects the survey results to affect planning for the Labs team in 2017–2018 and the longer term.
“The single biggest take away for us early on is that the documentation needs to be improved”, said Pettet. “We need to update it, curate it, and make sure our users understand it.” He added that it's heartening that users are seeing the benefits of all of their efforts working on uptime and availability.
“I've got this vision that I think a few others share of a world where making a technical contribution to the movement has a really low barrier of entry”, said Davis. “Ideally manipulating the data we have about what is happening in the wikis should be as easy as editing an article. Sure there will always be a few rules and local conventions that you need to follow, but you shouldn't have to learn a lot of new technology before you can get some work done.” He pointed to YuviPanda’s talk on “Stealing some of Wikimedia's Principles to Democratize Programming” that discusses the same kind of world, using the popular Quarry and relatively new PAWS tools as examples of lowering barriers to technical tasks.
“We are never going to get everyone to freely share in the sum of all knowledge if there are arbitrary silos that large numbers of people are locked out of just because they don't use the right computer operating system or understand the technical difference between an array and a vector”, said Davis.
The full survey results are available on Meta-Wiki. L
New user scripts to customise your Wikipedia experience
Newly approved bot tasks
http://
with https://
for YouTube, and for selected domains.Latest tech news from the Wikimedia technical community: 2016 #49 & #50. Please tell other users about these changes. Not all changes will affect you. Translations are available on Meta.
importScript( 'User:Lourdes/PageCuration.js' ); // Backlink: [[User:Lourdes/PageCuration.js]]
importScript( 'User:Lourdes/SpecialNewPages.js' ); // Backlink: [[User:Lourdes/SpecialNewPages.js]]
importScript( 'User:Lourdes/TFAhistorylink.js' ); // Backlink: [[User:Lourdes/TFAhistorylink.js]]
importScript( 'User:The Voidwalker/centralAuthLink.js' ); // Backlink: [[User:The Voidwalker/centralAuthLink.js]]
importScript( 'User:Opencooper/lastEdit.js' ); // Backlink: [[User:Opencooper/lastEdit.js]]
Discuss this story
Very nice overview of tools and labs. Highly appreciated. —TheDJ (talk • contribs) 10:36, 22 December 2016 (UTC)[reply]