Wikimedia Hackathon 2019/Lessons Learned

There are lessons learned from the Wikimedia Hackathon 2019 which took place in Prague, Czech Republic. This page is a combination of feedback from a survey sent to participants and ideas from the organizers.

This page will focus heavily on improvements for next time and things that went poorly. However remember that 98,8% of the participants that responded to the feedback survey stated that their overall experience with the hackathon was either "Positive" or "Very Positive", 1,2% replied it was neither positive nor negative.

Suggested changes for the next Wikimedia Hackathon:

- space: one hacking area, but try to reduce noises, clear information system if some sessions are taking places in different locations, some for introverts

- usage of different communication forms to spread the information (not only Telegram, but also IRC and physical boards)

- social activities announced more in advance

- newcomers: more opportunities to mingle, navigate them to sessions

The best!:

- the venue: easy to reach, comfortable that everything was in one space

- the people

- the food

- the social activities

The worst!:

- noise and a lot of people in the building

- no warm meal in the evening

= Feedback survey background =


 * rfarrand created the feedback survey using google forms based on feedback survey questions from past events
 * The Feedback Survey was sent out to participants on May 28th, 2019
 * The Feedback Survey closed on June 14th, 2019
 * The survey received 81 responses (35% response rate)

= Considerations for next year = This section is based on the fill-in-the-blank/comment sections of the feedback form. Some of these comments will be contradictory. We are mostly trying to include common themes and issues that were felt by groups of people. This section is a bit more subjective than the #Data section below and suggestions may be paraphrased and combined with each other.

What is something that worked well with the support provided to Newcomers at the Hackathon?

 * Friendly Space Policy
 * Project matching, poster session
 * One big hacking room so easy to find people to connect with
 * The mentor pairing session felt positive and welcoming, many mentors with different skills to support different needs
 * Newcomer support desk
 * People were very open and welcoming towards everyone
 * The newcomer / tech support tables
 * Focus areas
 * The open mic projects be explicitly all newcomer friendly
 * Sessions for Newcomers that Growth team organized and Mentor matching program (with posters)
 * I feel that we had enough folks that had been in the movement for a number of years that were able to easily help out the newcomers with sage knowledge and experiences.
 * The poster session made it easy to discuss projects and find people interested working with each other, lowers the threshold of starting a conversation about a project,
 * Finding right people to ask the question ("I don't know about Kuberenetes but if someone and asks, I will forward them to James")
 * Introductory session about phabricator was very useful, as was the willingness of WMDE and WMF staff to help with problems
 * a conference room with a white board to explain regex to two newbies

What is something else that we should be doing to support newcomers at future hackathons?

 * Support channels
 * Stop using communication technologies own to the older generation (IRC) and even stronger push modern ones (such as Telegram). Stop using internal but awkward technology to organize the program – Phabricator is rather proprietary, not known to people out of WMF tech community and not designed for organizing an event.
 * The definition of newcomer was not quite clear. Was newcomer meant as in "new to the movement, but with development experience" or "new to development, but active in the movement" or "new to everything"...?
 * Workshops led by experienced users
 * A visual sign for "I can be interrupted" (or by the negative: anyone without a "do not disturb" sign, like a headset on, can be interrupted), and underlining even more in the welcome speech that "hackathons are for helping each others, so just come talk to us!"
 * help connect newcomers to projects in advance of hackathon
 * Still hard for an introvert to meet people. "Icebreaker" activities, something to help people (newbies and returning attendees!) meet new people would be nice.
 * Allow or even request to already propose newcommer-friendly projects in advance. Ideally in a standardized form. Maybe a poster-template?
 * Smaller groups for some introduction sessions
 * More easy workshops
 * I believe it is OK the way it was. Primary condition that all participants should know how to use Phabricator before participating, so that each of us can at least create and match 10 open Taks. The developers are used to work with one or another ticketing system. Participants should be able how to work with such a tool to see what tasks are open and pending, or requiring an owner.
 * Better public announcements about upcoming meetings and sessions
 * There should me more visibility and clarity about how to reach out to mentors(how to find them).
 * A person to help newcomers find a project or task to work on, that are approachable the entire hackathon (like a "networking officer" kind of role)
 * Continue to help the new folks experiment with new ideas
 * The newcomer2newcomer exchange and activity might make mentoring, finding projects and approaching / meeting people easier.
 * Manage expectations about spoken English being mandatory, and/or checking and discouraging as needed attendees that have no match with 2+ others that can translate. Also, it may be worth investing in some basic / cheap speech to text display device from which transcriptions can be read. Google events do this. Can also include translations. For those that only understand written Englishz
 * Make WMF send at least one person from each engineering team. I could not refer volunteer developers to WMF Analytics in the Analytics area. I could not refer volunteer developers to WMF SRE for questions in the SRE area
 * More pre-hackathon meetings

How did you hear about and become interested in attending the Hackathon 2019?

 * Facebook
 * Twitter
 * WMCZ member
 * The banner in the top of the page.
 * From friend(s)
 * Was promoted within chapter
 * other participants, users, Wikimedianswhen announced to be in Prague
 * mediawiki.org web site
 * Email
 * Hearing from the wikidata community

How did you experience the social atmosphere?

 * Very good / or other very positive words (23+)
 * Too much stress put on codes of conduct, friendly space policy etc.
 * Some people are divided into and stick to regional groups: Western/Eastern Europeans
 * People act to each other friendly and with respect
 * Problem with how to approach people
 * Quite okay
 * Open and helpful
 * Friendly and enjoyable
 * The hackathon being more about the people than anything
 * Having most of the social events in the same physical space as the hackathon made it really easy to participate
 * Chance to discuss with developers several issues, also learn some tools to use in my home wiki
 * The social atmosphere was good, a lot of nice people!
 * Quite good. Judgements from participants for using specific software

After attending the Hackathon, would you feel prepared enough to keep working on MediaWiki projects?
Yes (33+)

I think so / I'll try / I'm planning to (7+)

Not yet / Need more practice (5+)

Most of my time I served to others as a volunteer organizer.

It's my job (4+)

No (3+)

What else can we do to help you become oriented and feel welcomed at our in-person events?

 * Some preparation courses or sessions


 * Contact a mentor to contact before the actual hackathon for questions could be helpful


 * Better match same-natural language people


 * Visa assistance with automatically received invitation letter and other details in a email titled Visa packet
 * Efforts to engage newcomers were noticable!
 * A buddy system
 * Signpost the location of the event
 * More prominent signs on tables what is happening
 * A (virtual) booklet with the most relevant people on different subjects
 * Some introductions or tutorials

How else can we work with hackathon participants to co-create this event together?

 * Leaving the open pitch session at the beginning as it has great value to get an idea of who is around


 * Clear information and instruction how to sign up for sessions
 * Some programs to get to know who's there and who's doing what?


 * Give more information before the event


 * Better organised Phabricator tickets by category/project/domain


 * Make mentoring a session on top of having a "mentoring area"
 * Pre-hackathon meetings for mentors and for participating WMF stuff. Having cross-team meetings and mentor meeting would be great to share the ideas, the tasks and anything else.


 * The community should keep several discussions trough the year to enhance the experience of the next two years to come. Those discussions happen within chapters, student volunteer groups, and the chairs of the event through webinars, small events and open meetings.


 * Reach out to experienced people before the conference to make sure they fill in phab tasks, etc

Suggestions for improving the Technical Help Desk?

 * Bigger sign and maybe more central location


 * I didn't use the Technical Help Desk


 * I didn't knew there was one


 * It's good


 * Highly skilled and available people. Maybe arranging the desk not as a round table where everyone can hear everyone but a more intimate place.


 * Support late in the evening was scarce, but I saw some happy faces leaving.

What, if any, coding activity/activities were you able to finish during the hackathon?

 * Helped fix a duplicate file uploading bug in Pattypan. Created a tool to quickly add statements to Wikidata. Wrote the first bot to add structured data to Commons. Some other smaller things.
 * I created a working proof-of-concept of a new version of the Wiki2Corpus tool and created a brand new experimental text corpus of Czech Wikipedia for further linguistical research, including research aimed at reviewing and fixing the project's content. It has not been released yet, but the older version is available here: http://corpus.tools/wiki/wiki2corpus
 * Progress on ORES deployment, made new contacts, especially Wikidata-wise...
 * Iintro to superset, I did user interviews about a few areas that are important to us.
 * Improve Wiki Infobox Templates and how to connect them to WikiData.
 * https://phabricator.wikimedia.org/T223533 https://phabricator.wikimedia.org/T223532 (translation)
 * Document the use case of manga for Shape Expressions (ShEx) https://phabricator.wikimedia.org/T223622 - helped the Scribe team https://phabricator.wikimedia.org/T223661 to use a tool I developed: wikidata-sdk - added features to wikidata-cli for the needs of one of the hackathon participants https://twitter.com/maxlath/status/1129489537347063810 - helped people getting started translating inventaire.io https://twitter.com/maxlath/status/1129781164120707074 which brought us a complete Indonesian translation https://twitter.com/inventaire_io/status/1130031974616379393 - got my first Wikibase instance up thank to the help of the Wikibase team https://twitter.com/maxlath/status/1130086714679156736
 * Main task, which one participant want it resolve with me is for long time. I need more concentation for it. Hackaton is very disruptive environment for it. On the other hand, the concentration of people with common interest has helped me solve other tasks.
 * A Proof-of-Concept of an idea – was presented at the closing session and a small but important bug-fix – is in the Etherpad
 * Passwordless Login
 * Global Search! https://tools.wmflabs.org/global-search This tool will hopefully grow to be very popular, since prior to now there wasn't a full-featured solution.
 * WikiEducation Dashboard's issues
 * Commons app
 * dologmsg in Toolforge (T222244) namescript improvements and wiki page (T223806) helped several users
 * A SPARQL query for Wikipedia
 * Setting up my Wikibase Docker container on my laptop.
 * Deployed new Lua based infobox on Commons that interacts with wikidata.
 * https://tools.wmflabs.org/flickrdash/
 * We were able to showcase the navigation redesign for Commons app
 * - Reviewing Education program dashboard stats and user workflow, and Event Metrics to see how it might be applicable to Growth team newcomers editing experience - helping newcomers to find people who may answer the questions - suggested edits (VE related project), questions from Armenian wiki on Category structure and how Wikidata/Wikibase can be used instead - introducing Homepage (a newcomer user page) to different wiki communities - a good discussion on QA support for Wikimedia projects (with WMDE) and for code health metrics
 * We were able to fix a number of small bugs on the Program & Events Dashboard
 * Redesigned icons of FlaggedRevs Improved security of token handling in logout
 * I learned about ShEx and made my first one
 * > code/anything involving wikis > finish
 * I've helped fix a failing Jenkins job.
 * InteGraality https://tools.wmflabs.org/integraality/
 * couple of bug fixes to the Orator Matcher Made a userscript for Wikidata that cleans up input for external identifiers by querying the format constraints of the property being added Fixed the bugs in a userscript that colors the filenames in a commons category based on the number of categories that photo is in.
 * https://phabricator.wikimedia.org/project/board/3772/query/_cmWCKhAsJ5v/
 * Networking and attending to sessions or helping other people
 * Sadly none, MIDI in TMH was sent for review, but not reviewed/merged during the hackathon
 * MultimediaViewer
 * https://github.com/commons-app/apps-android-commons/pull/2954 https://phabricator.wikimedia.org/T223159
 * Improve navigation on Commons android app
 * continued working on MABS
 * Since I was helping with organization of hackathon itself, I didn't have all that much time for actual coding, but I resolved couple of tasks in phabricator (Huggle and WM-Bot related) and talked to couple of other people about it. Also helped someone fix their C++ code that didn't compile
 * https://github.com/tonythomas01/gdrive_to_commons - A tool to upload pictures directly from your Google drive to Wikimedia Commons. Worked with Srishti Seth, zhuyifei1999, Chico and it was fun!
 * I worked on the Schema extension and worked on the iNaturalist/Wikimedia cross pollination
 * Accessibility talk and personal list of 4 different accessibility improvements in production code. Presentation on OOUI and its future with instant action points Collaboration with others on 5 more topics
 * We prepared an introductory video about Shape Expressions and we tried to help some people working with Shape Expressions

What other coding activity/activities did you begin during the hackathon?

 * Scribe
 * Pywikibot meet up was a really good starting point for improvements
 * No more actual coding activities, just interchanging pieces of advice with colleagues.
 * Connecting the people working on very similar projects to mine internationally, and we are now planning on organizing sessions together / collaborate better
 * Toolforge tool, Cloud Services
 * https://phabricator.wikimedia.org/T223592
 * - create instance-agnostic Wikibase libraries from the WikidataJS libraries - create a wikidata-cli command to split Wikidata items using ShEx - integrate edit groups in wikidata-cli https://github.com/maxlath/wikidata-cli/issues/55
 * A feature for Advanced Search
 * Solved the problem of my logging into Gerrit. Colaborative work on my main project AccesControl
 * https://phabricator.wikimedia.org/T223810
 * action=query&meta=languageinfo module (T220415) Wikibase extension registration (T223214) Sami improvements (T223524)
 * ORES translation
 * Some bot scripts and wiki help pages
 * Sorted multi-column categories
 * lua module related to Wiki Loves Monuments template
 * Some work on geolocating Commons photos, and epub exports from Wikisource.
 * Parallelizing running of unit tests for faster automated test runs
 * A nearby widget for Commons app
 * https://labels.wmflabs.org/ui/wikidatawiki/
 * https://phabricator.wikimedia.org/T223823
 * - look more into recommendations on Wikidata for probable suggestions for new editors micro contributions - continue evaluating Postman (for API testing)
 * researching future extension features
 * Building unsupervised machine learning tool for finding performance regressions in Fresnel tests Normalizing templatelinks table Improved unittests in core
 * i took a look at relevanceforge https://github.com/wikimedia/wikimedia-discovery-relevanceForge, talked about GLAMs, got some UI feedback, improved my wikibase local settings understanding,
 * https://phabricator.wikimedia.org/T199933, https://phabricator.wikimedia.org/T223659
 * We started making a very THICC extension. https://phabricator.wikimedia.org/project/view/4049/
 * Coding SPARQL queries and MediaWiki API queries to find all external links from a set of pages/ files.
 * https://phabricator.wikimedia.org/T87001 (not started at the hackathon, but continued work)
 * - Refactor of the score extension - Migration of audio generation from score to timedmediahandler - Various little experimentations with other projects
 * Developing an interactive GLAM upload documentation tool: https://tools.wmflabs.org/mortar/ . Started optimizing LinguaLibre UI for mobile devices
 * f2f planning of SMWCon with others there
 * Preparing the introduction of ORES on nl-Wiki
 * https://phabricator.wikimedia.org/T223541 is still under progress. Deployed at https://tools.wmflabs.org/google-drive-photos-to-commons/.
 * Push notifications for Echo https://gerrit.wikimedia.org/r/c/mediawiki/extensions/Echo/+/371615
 * Improvement of implementation of Shape Expressions to be more wikidata-friendly
 * Initiated and worked on this one: https://phabricator.wikimedia.org/T223787 and a personal project

What is the project that impressed you the most and why?

 * Using 2FA instead of password to sign in to Wikipedia.
 * inteGraality
 * Revision Slider
 * https://tools.wmflabs.org/integraality/
 * All the activity around Suomi languages
 * The notice about a project "edit wikidata items directly from wikipedia's infobox"
 * https://phabricator.wikimedia.org/T220219 and https://phabricator.wikimedia.org/T223541 - they have good prospects for further development and use.
 * Newcommers
 * Entities Schema coming to Wikidata
 * TESSERACT OCR – had no idea that's possible
 * Cite Unseen
 * The live chat system that the Growth team worked on. Also the Google Drive to Commons tool
 * ISBN barcodes
 * Upload to Commons from google drive
 * I liked the login by phone project
 * Echo push notifications (T113125) Using a bot to import Structured Data to Commons (T223746)
 * the PAWS, Jupyter notebooks with some wiki authentication support, a tool to help importing pictures for speakers from conforences.
 * The presentation of Growth team to the Czech community, the data showed
 * Wikidata overview table
 * Growth newcomers experience
 * The final presentation of tools that were developed. Better to make a pre-recorded video session.
 * Project that used pywikibot to add Structured Data on Commons statements.
 * https://tools.wmflabs.org/monumental-glam/ because I think custom domain-specific UIs to Wikidata are the way of the future!
 * Password authentication was pretty cool
 * Integraality because it's very useful and I have many applications case for this tool
 * No-pass login
 * https://phabricator.wikimedia.org/project/profile/4050/
 * Wikidocumentaries - it is just beautiful and can be very useful for some needs
 * Education program dashboard
 * Push notification for Echo Passwordless login
 * shex
 * The activities around ORES. I am dealing with statistics and machine learning myself at work and was impressed by the style of that group led by Halfak.
 * Wikidata-driven dashboards
 * The “scanISBN2ref”
 * The icons added to refferences
 * VIAF connector at WD
 * https://phabricator.wikimedia.org/T223620
 * The bridge to transfer media from google drive to wikimedia commons
 * Scribe
 * The Wikidata editing by voice or page stub generation
 * New Editors Experience, A/B testing
 * InteGraality
 * Personally biased to https://phabricator.wikimedia.org/T223541
 * Sristhi's collab on volunteer projects
 * The integration of Shape Expressions with Wikidata