Wikimedia Engineering/WMF Tech Days 2013/Brainstorming

From mediawiki.org
Jump to navigation Jump to search

Schedule[edit]

see main page

Day 1: General discussion/workshop[edit]

  • Discussions will be on the afternoon of Day 1 (Tuesday) on September 10, 2013. 1:30-5:30PM
  • It will be held in various conference rooms on the 3rd floor, plus space will be made in the north end of the 3rd floor using the couches and white dividers
  • Each session will be 45minutes - 90 minutes in length (depending on the time slot)
  • There will be two major workshop tracks (either from Product/Design, Engineering, or AllTech) running concurrently with up to 3 (or more) smaller discussions.
  • These sessions will not be videotaped, any artifacts/preparations are on your end (inform Rachel if you have any needs for recording, videoconferencing, etc.).
  • It's probably best to assign a note-taker to record down the essentials.

Topics sorted by number of votes:

Design at the WMF[edit]

Leads
Jared Zimmerman + other presenters
Schedule
2:45 pm - 90 minutes - North side of 3rd floor
Audience
  • Front-End Developers
  • Product Managers
  • Anyone else interested in design and pattern thinking
Outcomes
  • Explain how Design will be functional cross-team across the WMF
  • Consistent, appropriate cross device experiences
  • Q & A

---Break---

Discussion
  • Creating awareness about the work of the design group (agora controls, typography) (other than a PDF) so people can participate and give feedback
  • Start conversation with a design intro transitions to technical aspects
  • Who uses and will use Agora controls
    • Teams ready for Agora controls: Flow, Onboarding, OAuth, Visual Editor, Account Creation/Login, Language Engineering.
  • Discussion vs. presentation (e.g. LESS) ratio?
Votes (6+8+2)
Design across device classes - Vector, etc. on tablets, handsets, & desktop
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 (P.S. Design inconsistency is here ☺)
  • +1 Superm401 - Talk 04:27, 27 August 2013 (UTC)
  • +1 --Jorm (WMF) (talk) 22:47, 27 August 2013 (UTC)
  • +1 JZimmerman
  • +1 My main interest is to have design guidelines and other documentation allowing volunteers / 3rd parties to pick design tasks in the backlog and complete them. Currently this seems to be feasible only for WMF employees at the UX team - and our backlog keeps growing. Qgil (talk) 20:09, 3 September 2013 (UTC)
Implementing a responsive, proportional grid system in MediaWiki -- why and how.

Product/Data workshop[edit]

Leads
Dario Taraborelli, Aaron Halfaker, Toby Negrin
Schedule
1:30 pm - 60 minutes - 6th floor collab space
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. @DarTar, Steven_(WMF):
    • +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 Since our products are made with open source software, maybe open source development metrics could be also taken into account? If you find it interesting, I'd like to pitch Community metrics and http://korma.wmflabs.org in just 5 mins. Qgil (talk) 20:09, 3 September 2013 (UTC)
  • +1 DanF

Community & Transparency[edit]

Leads
Oliver Keyes
Schedule
4:00 pm - 20 minutes - R66 (Community overview)
4:30 pm - 60 minutes - R66 (Transparency in product design)
Audience
  • for developers (especially newcomers)?
  • for PMs on user-facing products that interface with the community
Outcomes
  • Basic tutorial on existing WP community, processes, and places to be familiar with
  • Create a policy for community-informed development
Discussion
Votes (6+6)
An overview / tour of WP community, processes, places to be familiar with
  • 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)
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)

Career pathing in Tech at WMF[edit]

Leads
Erik Moller, Gayle
Schedule
4:30 pm - 60 minutes - North side of 3rd floor
Audience
Everyone in Tech
Outcomes
  • Flesh out the careers 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)

Architecture discussion - checkin (RfCs)[edit]

Leads
  • RobLa
  • Tim Starling
Schedule
2:45 pm - 90 minutes - 6th floor Collab
Note: Needs videoconferencing capability for Tim to participate
Audience
  • tech leads esp. if involved in core-mediwiki.
  • senior developers (front-end and back-end)
Outcomes
  • Walking tech leads through when/how to use the RFC process to ensure broader socialization
  • more generally how to make changes to architecture.
  • Preview of arch summit in January
Discussion
Votes (9)

Remote working at the WMF[edit]

https://etherpad.wikimedia.org/p/TechDays-RemoteWorking

Leads

  • Gayle Young
  • Siebrand Mazeland
  • Tomasz Finc
  • Alolita Sharma
Schedule
1:30 pm - 60 minutes - R37
  1. (15 minutes) List/Discussion of things that worked (among teams, or generally)
  2. (15 minutes) List of pain points, unresolved issues
  3. (15 minutes) Discussion of some ideas or other practices that can be incorporated (one great example I found is buried on some of Zach Holman's talks about Github's distributed workforce)
  4. (15 minutes) Generate list of easy-to-fail actions to improve remote work
Audience
  • Anyone outside bay area
  • Anyone who is local who works with someone outside the bay area
  • (Gayle) participation from OIT & Facilities
Outcomes
  • List some best practices, pain points and ideas from others (e.g. Github)
  • Action items to improve remote work (and someone next to each item committed to move it forward)
Discussion
Votes (8)

Front-end direction decisions[edit]

Leads
James Forrester, Terry Chay
Schedule
1:30 pm - 60 minutes - North Side of 3rd floor
Audience
  • Front-end (HTML, CSS, Javascript) engineers
  • PMs, designers, etc. who would like front-end architectural changes
Outcomes
  1. Evaluate proposal for creation of front-end architecture group from the front-end engineering units
  2. Create model to participate and evaluate front-end related RfC or other RfCs requiring front-end input in the forthcoming architecture RfC process
  3. Evaluate the possibility of review of various RfCs
  4. Brainstorm missing front end RfCs
Discussion
  • Outcome #2 needs to be flexible enough to adapt to the results of the Architectural discussion which is to follow.
  • (List of RfCs and potential discussions to hook off this:
    • Ajax page loading for MediaWiki
    • responsive-design Grid system (separate discussion/merged with Design @ WMF discssion above)
    • Requests_for_comment/LESS CSS in core
    • CSS in templates (separate discussion)
    • HTML in mobile site rendering (separate discussion)
    • Moving language files into JSON blobs
    • Gadgets 2.0
Votes (4+3)
Front-end direction decisions (ResourceLoader, JS componentization, etc.)
Ajax page loading for MediaWiki (using mobile as a test ground)
  • +1 Jdlrobson
  • +1 DAndreescu
  • +1 JZimmerman
  • +1 ~~

QA & Testing[edit]

Leads
Chris McMahon
Schedule
Audience
Outcomes
  • specific tools and best practices that the QA team is suggesting for front-end as well as end-to-end testing.
  • incorporate these in building our integration tests.
Discussion
Votes (6)
  • +1 Alolita, Just curious - were we planning a short session on QA and testing? It would be good to share our best practices and shortcomings.
  • +1 Jared Yes please. 
  • +1 would like to see Alolita and Jared to write outcomes
  • -1 Rob: While I think it would generally be good to have a wider conversation about QA, I think the time has run out for us to put something together about QA specifically for the tech days.  We've already got a pretty full schedule, and I don't have a clear vision about how to make such a discussion productive enough that it should divert attention from what's already on the schedule.

MediaWiki installation requirements for the future: should we start requiring Lua, Node.js etc[edit]

Leads
Time
Location
Audience
Outcomes
Discussion
Votes (6)
  • +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)
  • -1 RobLa-WMF (talk) - I don't think this topic is appropriate for a staff-biased discussion. This seems like a discussion that Mark y Markus to lead, probably at a Hackathon or other event that is not so closely tied to WMF-only attendance. 18:25, 4 September 2013 (UTC)
    • I think it would still be useful to brainstorm possible ways forward on our end, and then discuss those options with the wider community. -- Gabriel Wicke (GWicke) (talk) 20:46, 10 September 2013 (UTC)

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

Leads
Howie?
Time
Location
Audience
Outcomes
  • Prep work for Howie's presentation on the all-staff?
  • Flow
Discussion

The main summary for the product retreat will be given at the Day 1 on the all-staff.

Votes (5)


Template CSS[edit]

Leads
Time
Location
Audience
Outcomes
Discussion
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)
    Alright, I look forward to learn how you'll scope styles for templates that just emit a start or end tag ;) Gabriel Wicke (GWicke) (talk) 16:38, 6 September 2013 (UTC)
  • +1 Superm401 - Talk 04:27, 27 August 2013 (UTC)
  • +1 Jdlrobson

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

Leads
Jon Robson
Schedule
11am - 4pm, R37
Audience
Anyone interested in hacking on or otherwise discussing improvements around HTMLFormatter in MobileFrontend.
Outcomes
Next steps:
  • Get to a point where Search and Mobile are using a shared codebase

using libxml for doing transformations and this is in core to provide better visibility and maintainability

  • Explore developing a proof of concept which uses Parsoid for mobile

to provide input on the long term so that in future it's easy to switch over.

  • Get Max's patch to get parser to strip out the table of contents for

mobile and search in a state to merge into core (https://gerrit.wikimedia.org/r/80578)

  • Mobile team need to find a short term solution using existing parser

for wrapping sections that doesn't involve regexs. This would essentially involve wrapping all sections in a DIV or SECTION tag or adding a comment and resorting to simple string replacements as suggested by Tim. Personally I'd prefer actually adding DIV's and avoid any additional parsing altogether (but let's discuss that during the next 2 days).

Discussion
Votes (7)

Deployment tool chain work[edit]

Leads
Time
Location
Audience
Outcomes
  • atomicity of deployments
  • splitting up language files into JSON blobs
  • instant state switching (ln -s on a directory?)
  • git-deploy
  • etc.
Discussion
Votes (4)

Hacking with TowTruck (Mozilla's real-time collab. tool) demo/discuss and WMF's overall plan for collaboration[edit]

Leads
Time
Location
Audience
Outcomes
Discussion
Votes (4)

Lessons learned re. mentorship programs[edit]

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[edit]

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)

Offline VisualEditor - editing Wikipedia on a plane used to be so simple[edit]

Leads
Time
Location
Audience
Outcomes
Discussion
Votes ()
  • 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)

Lightning Talks[edit]

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)
  • +1 Gabriel Wicke (GWicke) (talk) 01:37, 6 September 2013 (UTC)

How can we successfully engage volunteers (users/editors/developers) in our online meetings (bug triages, sprint review meetings, office hours)?[edit]

Leads
Time
Location
Audience
Outcomes
Discussion
Votes (3)

Inter-team communication[edit]

Leads
Time
Location
Audience
Outcomes
Discussion
Votes (2)

Writing and maintaining translatable user documentation for features[edit]

Leads
Time
Location
Audience
Outcomes
Discussion
Votes (2)

How can we stop failing to review community contributed patches?[edit]

Leads
Time
Location
Audience
Outcomes
Discussion
Votes (2)
  • +1 siebrand (talk) 16:45, 3 September 2013 (UTC)
  • +1 Hoping to bring some fresh stats. --Qgil (talk) 20:09, 3 September 2013 (UTC)
  • +1 Ori.livneh (talk) 11:13, 8 September 2013 (UTC)

Help for interviewing candidates/hiring[edit]

Leads
Time
Location
Audience
Outcomes
Discussion
Votes (2)

Scrummaster meetup![edit]

Leads

Arthur Richards

Time

1600-1700

Location

R36

Audience

Scrummasters and scrummaster-like people at the WMF; other curious folks welcome

Outcomes

Since everyone will be in the same physical location, this seems like an awesome opportunity for WMF scrummasters/scrummaster-like folks to get together and discuss how things are going generally, highlight specific challenges on their team, swap stories, and generally provide one another with support. The desired outcome is that attendees leave feeling better connected with one another and that they have received sufficient support from their peers in uncovering better ways to write software.

Discussion
  • Maybe best for the appreciative inquiry on Day 2? Tychay (talk) 09:35, 24 August 2013 (UTC)
  • This is intended to be less formal and more directly scrummaster focussed than I understand the appreicative inquiry on Day 2 and is part of our attempts at having a regular monthly scrummaster meetup Arthur Richards (talk) 01:02, 6 September 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
  • +1 Arthur Richards (talk) 01:02, 6 September 2013 (UTC)

Identifying and empowering security leads on development teams[edit]

Leads
Time
Location
Audience
Outcomes
Discussion

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

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[edit]

Leads
Time
Location
Audience
Outcomes
Discussion

Real User Monitoring & Perceived latency[edit]

Find out what we know about site performance from the perspective of readers and editors (more than you might expect!) and what we can do to make it better. Help architect the use of HTML5 performance APIs in MediaWiki.

Leads
Ori.livneh (talk) 11:13, 8 September 2013 (UTC)

Day 2: Free-form skillshare and hacking[edit]

Because there was no strong consensus on a subset of these topics that lots of people wanted to learn, we'll go with freeform hacking, skillshare (marked tables/rooms indicating what people want to learn or teach), and PDF rendering hacking.

  • Mobile dev tutorial - make yr work work w mobile
  • Deployment boot camp/tutorial
  • EventLogging
    • I won't be envangelizing, but if there's interest I can give a hands-on tutorial. --Ori.livneh (talk) 11:13, 8 September 2013 (UTC)
  • Varnish-related topics - tutorial
  • Packaging guidelines - debianization
  • Puppetization (repeat of 2012)
  • git-deploy / sartoris
  • Automated browser tests
  • Performance/profiling tutorial - repeat of 2012
  • Get your team set up with a custom MediaWiki-Vagrant role
  • Javascript documentation with JSDuck or alternative
  • Frontend Javascript bootcamp (unit testing, continuous integrations, etc.)
  • 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)
    • +1 --Santhosh.thottingal (talk) 12:22, 4 September 2013 (UTC)
  • How to effectively use the labs infrastructure
  • RT usage tutorial, along with information on high-level topics (hardware requisition, access requests, etc.)
  • Extension:BetaFeatures tutorial - would take like five or ten minutes, it's a super-simple framework. --MarkTraceur (talk) 18:30, 5 September 2013 (UTC)
  • Hacking session to create BetaFeature "Compact Personal Bar"