Wikimedia Engineering/WMF Tech Days 2013/Brainstorming

Day 1: General discussion/workshop
Discussion will be on the afternoon of Day 1 (Tuesday) on September 10, 2013. It will be held in various conference rooms on the 3rd floor. Each session will be 1 hour? in length. Schedule TBD. Note that these sessions will not be videotaped. For things that are in the stage for that, it's best to be left to tutorial day 2.

Topics sorted by number of votes:

Design at the WMF

 * Leads
 * Jared Zimmerman


 * Time
 * 2? 60 minute sessions


 * Location
 * Audience
 * front-end developers
 * some PMs
 * anyone else interested


 * Outcomes
 * Explain how Design will be functional cross-team across the WMF
 * Design-approach across device classes - Vector, etc. on tablets, handsets, & desktop
 * Design direction and consistency es. Agora. To create awareness that this is going on and to formulate some place to put it up (other than a PDF) so people can particpate.
 * Agora, "Jared" update
 * Flow prototype,
 * building CSS with LESS
 * revising the font stack


 * Discussion
 * * emgmt combined two discussions Tychay (talk) 23:54, 3 September 2013 (UTC)
 * Will probably start with a design intro transitions to technical aspects, people who actually use Jared Agora??
 * discussion vs. presentation (e.g. LESS) ratio? Can present how it looks like, but no use-case for the Agora piece currently.


 * Votes (6+8)
 * Design across device classes - Vector, etc. on tablets, handsets, & desktop
 * +1 Mwalker (WMF) (talk) 21:04, 23 August 2013 (UTC)
 * +1 Khorn (WMF) (talk) 22:47, 23 August 2013 (UTC)
 * +1 Brion
 * +1 Steven W.
 * +1 Tomasz
 * +1 Superm401 - Talk 04:27, 27 August 2013 (UTC)
 * Design direction and consistency - Agora, "Jared" update (e.g. Flow prototype), building CSS with LESS, revising the font stack
 * I'd like to see this as a tutorial where design explains what the Jared Agora is.  :-). Think also this topic can be merged with the one above and below. Tychay (talk) 09:29, 24 August 2013 (UTC). Also would like to see a roadmap of how the Design team is integrated in the rest of tech.
 * Pretty much what Terry said. Possibly the remoteness, but Design's current plans are basically a Chomskyan black box to me - there is input and output and the internal workings are sheathed in mystery. Ironholds (talk) 16:26, 24 August 2013 (UTC)
 * +1 Steven W.
 * +1 I also have no idea what this is, so +1 if I should. ;) Cscott (talk) 17:58, 26 August 2013 (UTC)
 * +1 Tomasz
 * +1 spage
 * +1 Superm401 - Talk 04:27, 27 August 2013 (UTC)
 * +1 --Jorm (WMF) (talk) 22:47, 27 August 2013 (UTC)
 * +1 JZimmerman
 * +1 Qgil (talk) 20:09, 3 September 2013 (UTC)

Product/Data workshop

 * Leads
 * Dario Tarborelli, Aaron Halfaker, Toby Negrin


 * Time
 * 2? 60 minute session or 90 minute session.


 * Location
 * Audience
 * PMs and analysts: how do we incorporate data into product decisions?
 * Engineers wanting to incorproate data


 * Outcomes
 * how we use data at the WMF (more broadly)
 * how do we plan tests and metrics?
 * how do we incorporate data into product decisions


 * Discussion
 * merged "Working with data in your product"
 * Not ready for prime-time, put it in day 1 and call it a workshop


 * Votes (10)
 * +1 Jdforrester (WMF) (talk) 19:26, 23 August 2013 (UTC)
 * +1 Ironholds (talk) 16:26, 24 August 2013 (UTC)
 * +1 Ssastry (talk) 21:31, 23 August 2013 (UTC)
 * +1 Tychay (talk) 07:23, 24 August 2013 (UTC) merged from Integration of analytics/research approaches in engineering projects esp. A-B testing (timeline, requirements, tooling, etc.), applying models/what works from E3 and Mobile, etc.
 * +1. We also need to talk about analytics tooling here too. Steven W.
 * +1 spage
 * +1 Dario (happy to take the lead/host this session)
 * +1 Greg
 * +1 EpochFail (talk) 17:53, 29 August 2013 (UTC)
 * +1 Qgil (talk) 20:09, 3 September 2013 (UTC)

Engineering career pathing at WMF

 * Leads
 * Erik Moller, Gayle


 * Time
 * Location
 * Audience
 * Everyone in Tech


 * Outcomes
 * Flesh out the carreeers page
 * Formallizing titles for consistency
 * Senior/Lead engineering renormalization
 * Discussion on architect?
 * discussion on growth path from senior -> architect/management
 * discussion of roles/level separations


 * Discussion
 * Votes (9)
 * +1 Tychay (talk) 18:26, 23 August 2013 (UTC)
 * +1 Tfinc (talk) 18:27, 23 August 2013 (UTC)
 * +1 Jdforrester (WMF) (talk) 19:26, 23 August 2013 (UTC)
 * +1 Khorn (WMF) (talk) 22:47, 23 August 2013 (UTC)
 * +1 Gabriel Wicke (GWicke) (talk) 19:45, 24 August 2013 (UTC)
 * +1 Cscott (talk) 17:58, 26 August 2013 (UTC)
 * +1 Greg
 * +1 --Jorm (WMF) (talk) 22:47, 27 August 2013 (UTC)
 * +1 Qgil (talk) 20:09, 3 September 2013 (UTC)

Architecture discussion - checkin (RfCs)

 * Leads
 * Time
 * 60 minutes


 * Location
 * Audience
 * tech leads esp. if involved in core-mediwiki.
 * Outcomes
 * Walking tech leads through the RFC process to ensure broader socialization
 * Discussion
 * Votes (9)
 * +1 Jdforrester (WMF) (talk) 19:26, 23 August 2013 (UTC)
 * +1 Ssastry (talk) 21:31, 23 August 2013 (UTC)
 * +1 Brion
 * +1 --BDavis (WMF) (talk) 07:02, 24 August 2013 (UTC)
 * +1 (also, I couldn't find any *documentation* linked from Requests_for_comment, maybe it should be written?) Cscott (talk) 17:58, 26 August 2013 (UTC)
 * Added link to architecture guidelines in the requests for comment page
 * +1 Greg
 * +1 RobLa-WMF (talk)
 * +1 Qgil (talk) 20:09, 3 September 2013 (UTC)
 * Antoine &#34;hashar&#34; Musso (talk) 21:09, 3 September 2013 (UTC)

Remote working at the WMF

 * Leads
 * Time
 * Location
 * Audience
 * Outcomes
 * Discussion
 * Votes (7)
 * +1 --BDavis (WMF) (talk) 07:02, 24 August 2013 (UTC)
 * +1 Ironholds (talk) 16:26, 24 August 2013 (UTC)
 * +1 Anomie (talk) 15:50, 26 August 2013 (UTC)
 * +1 Tomasz
 * +1 Superm401 - Talk 04:27, 27 August 2013 (UTC)
 * +1 Yuvipanda (talk) 19:42, 27 August 2013 (UTC)
 * +1 siebrand (talk) 16:45, 3 September 2013 (UTC)

How we are doing against the goals we've set for ourselves and the board

 * Leads
 * Howie?

The main summary for the product retreat will be given at the Day 1 on the all-staff.
 * Time
 * Location
 * Audience
 * Outcomes
 * Prep work for Howie's presentation on the all-staff?
 * Flow
 * Discussion
 * Votes (5)
 * +1 Jdforrester (WMF) (talk) 19:26, 23 August 2013 (UTC)


 * +1 Tychay (talk) 07:22, 24 August 2013 (UTC) also would like to see a summary of the product retreat here
 * +1 (in particular, I'd like to learn more about Flow) Cscott (talk) 17:58, 26 August 2013 (UTC)
 * +1 Tomasz
 * +1 Qgil (talk) 20:09, 3 September 2013 (UTC)

Template CSS

 * Leads
 * Time
 * Location
 * Audience
 * Outcomes
 * Discussion
 * see Requests_for_comment/Allow_styling_in_templates
 * I think this should be merged with the HTML transformations talk (below)


 * Votes (5)
 * +1 Brion
 * +1 Requires properly nested templates, which we want to enforce in Parsoid. Gabriel Wicke (GWicke) (talk) 19:45, 24 August 2013 (UTC)
 * +1 Not necessarily, if you leverage the scoped CSS proposal. (Although properly nested templates are still a good thing.) Cscott (talk) 17:58, 26 August 2013 (UTC)
 * +1 Superm401 - Talk 04:27, 27 August 2013 (UTC)
 * +1 Jdlrobson

Front-end direction decisions (ResourceLoader, JS componentization, etc.)

 * Leads
 * Time
 * Location
 * Audience
 * Outcomes
 * Discussion
 * Votes (4)
 * +1 Jdforrester (WMF) (talk) 19:26, 23 August 2013 (UTC)
 * +1 Mwalker (WMF) (talk) 21:04, 23 August 2013 (UTC)
 * merged from Javascript/FrontEnd architecture direction and code review
 * +1 Tychay (talk) 07:27, 24 August 2013 (UTC) : esp what 's role will be here, future of ResourceLoader, LESS RFC, etc.
 * +1 Particularly interested in Gadgets 2.0, but also LESS and other stuff. Superm401 - Talk 04:27, 27 August 2013 (UTC)

Removing the need for HTML transformations for rendering the mobile site (Mobile web team, Parsoid, Platform ... ?!) AND turning mobile into a registered skin

 * Leads
 * Time
 * Location
 * Audience
 * Outcomes
 * Discussion
 * Votes (5)
 * +1 Mwalker (WMF) (talk) 21:04, 23 August 2013 (UTC)
 * +1 Ssastry (talk) 21:31, 23 August 2013 (UTC)
 * +1 Gabriel Wicke (GWicke) (talk) 19:45, 24 August 2013 (UTC)
 * +1 Tomasz
 * +1 Jdlrobson

Ajax page loading for MediaWiki (using mobile as a test ground)

 * Leads
 * Jon Robson


 * Time
 * Location
 * Audience
 * Outcomes
 * Discussion
 * Votes (3)
 * +1 Jdlrobson
 * +1 DAndreescu
 * +1 JZimmerman

Lessons learned re. mentorship programs

 * Leads
 * Time
 * Location
 * Audience
 * Outcomes
 * Discussion
 * Votes (3)
 * +1 (as current mentor willing to share and as someone interested in past lessons) Superm401 - Talk 04:27, 27 August 2013 (UTC)
 * +1 EpochFail (talk) 17:53, 29 August 2013 (UTC)
 * +1 Qgil (talk) 20:09, 3 September 2013 (UTC)

Local FLOSS communities - building your network

 * Leads
 * Time
 * Location
 * Audience
 * Outcomes
 * Discussion
 * Votes (3)
 * +1 Superm401 - Talk 04:27, 27 August 2013 (UTC)
 * This could include helping remote engineers figure out how to give talks in their local communities, e.g., speaking at local colleges about GSoC and the Outreach Program for Women. Sharihareswara (WMF) (talk) 14:50, 3 September 2013 (UTC)
 * +1 Qgil (talk) 20:09, 3 September 2013 (UTC)

Lightning Talks

 * Leads
 * Time
 * Location
 * Audience
 * Outcomes
 * Discussion
 * I think this should be moved to day 2, in an open conference room.


 * Votes (3)
 * +1 Trevor - especially if they aren't allowed to be simply a run-down of what you normally work on, but rather something different like a radical direction, new technology, or interesting (but relavant) story you'd like to tell
 * +1 Tychay (talk) 09:28, 24 August 2013 (UTC) : lots of talks to lots of things, perhaps in SPUR without anything concurrent to this on both days (we can't fit the entire tech staff, but a lot of it can attend this way).
 * +1 Qgil (talk) 20:09, 3 September 2013 (UTC)

Inter-team communication

 * Leads
 * Time
 * Location
 * Audience
 * Outcomes
 * Discussion
 * Votes (2)
 * +1 Khorn (WMF) (talk) 22:47, 23 August 2013 (UTC)
 * +1 Superm401 - Talk 04:27, 27 August 2013 (UTC)

Writing and maintaining translatable user documentation for features

 * Leads
 * Time
 * Location
 * Audience
 * Outcomes
 * Discussion
 * Votes (2)
 * +1 guillom 13:00, 26 August 2013 (UTC)
 * +1 Superm401 - Talk 04:27, 27 August 2013 (UTC)

Help for interviewing candidates/hiring

 * Leads
 * Time
 * Location
 * Audience
 * Outcomes
 * Discussion
 * Votes (2)
 * +1 Khorn (WMF) (talk) 22:47, 23 August 2013 (UTC)
 * +1 Superm401 - Talk 04:27, 27 August 2013 (UTC)

Scrummaster meetup!

 * Leads
 * Time
 * Location
 * Audience
 * Outcomes
 * Discussion
 * Maybe best for the appreciative inquiry on Day 2? Tychay (talk) 09:35, 24 August 2013 (UTC)


 * Votes (2)
 * +1, even though I'm going to be half-trolling this one the whole time... Khorn (WMF) (talk) 22:47, 23 August 2013 (UTC)
 * +1 spage

Identifying and empowering security leads on development teams

 * Leads
 * Time
 * Location
 * Audience
 * Outcomes
 * Discussion
 * +1 Khorn (WMF) (talk) 22:47, 23 August 2013 (UTC

[Aa]gile, spreading lessons learned''' (moved to Day 2)

 * Leads
 * Gayle


 * Time
 * * This is being done on day 2 in the appreciative inquiry session.--Eloquence (talk) 23:56, 21 August 2013 (UTC)
 * ** Akk, Day 2? You're clearly messing with the 1 day a year I get to actually code :-D Tychay (talk) 09:35, 24 August 2013 (UTC)


 * Location
 * Audience
 * Team leads, product managers, and managers using or planning to use Agile proceses. (Invite has already been sent.)


 * Outcomes
 * Discussion
 * Will be using the appreciative inquiry approach.


 * Votes (0)

Narrative chalk talks about how we built important components/systems, how to hack on them

 * Leads
 * Time
 * Location
 * Audience
 * Outcomes
 * Discussion

TODO

 * Leads
 * Time
 * Location
 * Audience
 * Outcomes
 * Discussion
 * Votes


 * Deployment tool chain work - atomicity of deployments; splitting up language files into JSON blobs; instant state switching ( on a directory?); git-deploy; etc.
 * +1 Jdforrester (WMF) (talk) 19:26, 23 August 2013 (UTC)
 * +1 --BDavis (WMF) (talk) 07:02, 24 August 2013 (UTC)
 * +1 Superm401 - Talk 04:27, 27 August 2013 (UTC)
 * +1 Greg


 * Hacking with TowTruck (Mozilla's real-time collab. tool) demo/discuss and WMF's overall plan for collaboration
 * +1 Jdforrester (WMF) (talk) 21:22, 23 August 2013 (UTC)
 * +1 Steven W.
 * +1 (since I suggested it!) Cscott (talk) 17:58, 26 August 2013 (UTC)
 * +1 Qgil (talk) 20:09, 3 September 2013 (UTC)


 * An overview / tour of WP community, processes, places to be familiar with ... for developers (especially newcomers)?
 * As someone "new" to WP communities, I have spent a lot of time during the VE launch reading feedback pages, finding places to read, trying to make sense of processes and I have done this mostly by looking around. So something like this might be potentially useful for those new to WP communities. Ssastry (talk) 21:31, 23 August 2013 (UTC)
 * +1 Tychay (talk) 06:51, 24 August 2013 (UTC) I'd like to see some way to go "community-informed" from either no-community (currently) or community-driven (past), and not just an overview.
 * +1 --BDavis (WMF) (talk) 07:02, 24 August 2013 (UTC)
 * +1. I have this...deep, sinking feeling I might end up talking as part of this. Bah. Ironholds (talk) 16:26, 24 August 2013 (UTC)
 * +1
 * +1 spage
 * +1 Interested in both Terry's perspective ("community-informed") and sharing anything useful I can from my experience as a long-time Wikipedian. Superm401 - Talk 04:27, 27 August 2013 (UTC)


 * Offline VisualEditor - editing Wikipedia on a plane used to be so simple --MarkTraceur (talk) 22:07, 23 August 2013 (UTC)
 * +1 Brion -- this'll be useful to plan for mobile as well! mobiles are notorious for flaky connectivity.
 * +1 I might have a relevant demo. Cscott (talk) 17:58, 26 August 2013 (UTC)


 * MediaWiki installation requirements for the future: should we start requiring Lua, Node.js etc?
 * +1 Brion
 * +1 Tychay (talk) 06:52, 24 August 2013 (UTC) Also, path to consensus to above for releases (server images? not requiring/workaround?)?, what stuff in extensions should be merged into Core and when? We need to be more Bold here. Not recommending a break on what to merge in or not, but rather a framework where consensus can be achieved for these things instead of so much infrastructure living "out there" in extension land.
 * +1, again from what Terry said. Ironholds (talk) 16:26, 24 August 2013 (UTC)
 * +1 Focus on packaging: apt-get install mediawiki that pulls in php-tidy, APC, Memcached, Lua, Node / Parsoid, Varnish and sets up a full-featured MediaWiki setup. Gabriel Wicke (GWicke) (talk) 19:45, 24 August 2013 (UTC)
 * +1 Wild ideas: php.js, forking php from node, php-v8js, etc. Can we reduce the amount of configuration for small locally-used wikis and personal development? Cscott (talk) 17:58, 26 August 2013 (UTC)
 * +1 Superm401 - Talk 04:27, 27 August 2013 (UTC)


 * Transparency in Product/Design/whatever decision-making - how to do it and why.
 * Okeyes (WMF) (talk) 19:38, 27 August 2013 (UTC)
 * Yuvipanda (talk) 19:42, 27 August 2013 (UTC)
 * +1 Brion
 * +1 --Jorm (WMF) (talk) 22:47, 27 August 2013 (UTC)
 * +1 Tychay (talk) 18:24, 28 August 2013 (UTC) Erik plans on splitting product and engineering. How do we integrate Product, Design, Analytics into decision making post-split?
 * +1 Qgil (talk) 20:09, 3 September 2013 (UTC)


 * Implementing a responsive, proportional grid system in MediaWiki -- why and how.
 * We've talked about this before but it's not been implemented, even experimentally, in any products AFAIK. See examples like Pau's experimental grid. Steven Walling (WMF) &bull; talk   23:02, 27 August 2013 (UTC)


 * How can we stop failing to review community contributed patches?
 * +1 siebrand (talk) 16:45, 3 September 2013 (UTC)
 * +1 Hoping to bring some fresh stats. --Qgil (talk) 20:09, 3 September 2013 (UTC)


 * How can we successfully engage volunteers (users/editors/developers) in our online meetings (bug triages, sprint review meetings, office hours)?
 * +1 siebrand (talk) 16:45, 3 September 2013 (UTC)
 * Okeyes (WMF) (talk) 17:45, 3 September 2013 (UTC)
 * +1 Qgil (talk) 20:09, 3 September 2013 (UTC)

Day 2: Tutorials: [Will be captured on video as a resource]
This is the same day and will be running concurrently in the conference rooms along with the hackathon. Unlike Day 1, these will be captured on video to be turned into a resource to everyone.


 * Mobile dev tutorial - make yr work work w mobile
 * +1
 * +1 Mwalker (WMF) (talk) 21:04, 23 August 2013 (UTC)
 * +1 Khorn (WMF) (talk) 22:47, 23 August 2013 (UTC)
 * +1 Superm401 - Talk 04:27, 27 August 2013 (UTC)
 * Deployment boot camp/tutorial
 * +1 Greg
 * Big and small data - tutorial (e.g. EventLogging, other parts of infrastructure)
 * I think we should break this out into two sessions
 * Varnish-related topics - tutorial
 * +1 Mwalker (WMF) (talk) 21:04, 23 August 2013 (UTC)
 * +1 --BDavis (WMF) (talk) 07:02, 24 August 2013 (UTC)
 * +1 Cscott (talk) 18:05, 26 August 2013 (UTC)
 * Packaging guidelines - debianization
 * Puppetization (repeat of 2012)
 * +1 Superm401 - Talk 04:27, 27 August 2013 (UTC)
 * git-deploy / sartoris
 * +1 --BDavis (WMF) (talk) 07:02, 24 August 2013 (UTC)
 * +1 Greg
 * Automated browser tests
 * +1 Greg
 * +1 EpochFail (talk) 17:53, 29 August 2013 (UTC)
 * performance/profiling tutorial - repeat of 2012
 * Get your team set up with a custom MediaWiki-Vagrant role
 * +1 Tychay (talk) 06:55, 24 August 2013 (UTC)
 * +1 --BDavis (WMF) (talk) 07:02, 24 August 2013 (UTC)
 * +1 Greg
 * +1 Brion
 * Javascript documentation with JSDuck or alternative
 * Frontend Javascript bootcamp (unit testing, continuous integrations, etc.)
 * +1 Tychay (talk) 07:27, 24 August 2013 (UTC)  input? ( merge with the jsduck above? Tychay (talk) 07:17, 24 August 2013 (UTC))
 * i18n -- intro to RTL, input methods, shaping, and the mysteries of Language Converter.
 * plus, what does this have to do with Pig Latin? And how this can settle the color/colour debate! Cananian (talk) 15:34, 23 August 2013 (UTC)
 * +1 Superm401 - Talk 04:27, 27 August 2013 (UTC)
 * How to effectively use the labs infrastructure
 * +1 --BDavis (WMF) (talk) 07:02, 24 August 2013 (UTC)
 * +1 Greg
 * +1 EpochFail (talk) 17:53, 29 August 2013 (UTC)
 * RT usage tutorial, along with information on high-level topics (hardware requisition, access requests, etc.)