Wikimedia Engineering/WMF Tech Days 2013/Brainstorming

General discussion/workshop topics:

 * [Aa]gile, spreading lessons learned
 * 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)


 * Remote working at the WMF
 * +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
 * +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)


 * Architecture discussion - checkin (RfCs)
 * Walking tech leads through the RFC process to ensure broader socialization -- 60 minutes
 * +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)


 * 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)


 * Ajax page loading for MediaWiki (using mobile as a test ground)
 * +1 Jdlrobson
 * +1 DAndreescu
 * +1 JZimmerman


 * Removing the need for HTML transformations for rendering the mobile site (Mobile web team, Parsoid, Platform ... ?!) AND turning mobile into a registered skin
 * +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


 * Lessons learned re. mentorship programs
 * +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)


 * Engineering career pathing at WMF [formalizing titles: esp Senior, Lead, Architect??]
 * +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)


 * Product/Data workshop: How do we plan tests and metrics, and how do we incorporate data into product decisions? (PMs and Analysts)
 * +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)
 * merged from Working with data in your product


 * Local FLOSS communities - building your network
 * +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)


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


 * Help for interviewing candidates/hiring
 * +1 Khorn (WMF) (talk) 22:47, 23 August 2013 (UTC)
 * +1 Superm401 - Talk 04:27, 27 August 2013 (UTC)


 * Lightning talks
 * +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
 * +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
 * +1 guillom 13:00, 26 August 2013 (UTC)
 * +1 Superm401 - Talk 04:27, 27 August 2013 (UTC)


 * Scrummaster meetup!
 * +1, even though I'm going to be half-trolling this one the whole time... Khorn (WMF) (talk) 22:47, 23 August 2013 (UTC)
 * Maybe best for the appreciative inquiry on Day 2? Tychay (talk) 09:35, 24 August 2013 (UTC)
 * +1 spage


 * Template CSS (see https://www.mediawiki.org/wiki/Requests_for_comment/Allow_styling_in_templates)
 * +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


 * Identifying and empowering security leads on development teams
 * +1 Khorn (WMF) (talk) 22:47, 23 August 2013 (UTC


 * Front-end direction decisions (ResourceLoader, JS componentization, etc.)
 * +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)


 * 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)

Tutorials: [Will be captured on video as a resource]

 * 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.)