Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Building up the Electron Project: Team & Community Engineering

Jessica
February 08, 2019

Building up the Electron Project: Team & Community Engineering

(Abstract)

This is a talk about how Electron went from atom-shell, a dependency of the text editor Atom with no plans of its own, to the widely adopted desktop framework running many of your favorite applications.

I'll share the process of getting internal buy-in for the project, road mapping, and getting the team started. I'll also talk about the importance of community engineering to the project. This includes technical decisions on the tooling to educate and support developers from different parts of the stack, create maintainable code for a small team, and excite a community around sharing their work.

Electron's initial unplanned position actually worked to its advantage after the team took shape and many of the experiences shared in this talk can be applied to the project you find yourself advocating for now (or later).

Jessica

February 08, 2019
Tweet

More Decks by Jessica

Other Decks in Technology

Transcript

  1. Electron An open source library built at GitHub that combines

    Node.js and Chrome into one environment so that you can build desktop apps with HTML, CSS and JS/Node.
  2. Desktop Applications Could mean 3 teams, 3 apps each native

    to an OS. Or reach fewer users. Mac, Windows, Linux
  3. Finding atom-shell Some people had looked into the Atom org

    on GitHub to see what Atom was built on.
  4. 40 More Hours for Electron! Began by spending my work

    weeks (on the Atom team) on Electron.
  5. Single Source of Truth Docs live in the Electron repo,

    everyone gets a copy, they’re markdown. download, fork, clone
  6. From Markdown to Better A little bit of CSS to

    make notation more discernible and approachable.
  7. An App of One’s Own Get people up and running

    quickly, comprehensibly and don’t give yourself a lot of extra work, either.
  8. Not Gonna Init Electron apps vary too much in scale

    and style to prescribe one way and it’s futile to try and maintain every permutation.
  9. Electron Quick Start Clone, install and run for an Electron

    app. Hint at what’s possible but keep it familiar. HTML, CSS, Dev tools
  10. Electron API Demos App Electron app to show what you

    can do with Electron, sample code included; built to be opened up and examined.
  11. Sample Code is the Code The demo app uses Node

    APIs to read its own files and web APIs to put them to the DOM in the app.
  12. Built to Open up Folder structure, naming conventions are all

    done so that new users exploring the insides can make sense of it.
  13. Electron Community and Userland Electron needs the community and userland

    for support and is in a unique position to respond to the community.
  14. 1.0 We’d launched the 1.0, grown to a team of

    4, had our own names and meetings!
  15. Final Thoughts These are the slides near the end and

    are about what the point of all of this was.
  16. Electron’s situation was different Which was good. Unplanned, outside the

    view of dot com, was able to work on ideas (mostly) unchallenged and the project could respond to the community rather than internal forces.
  17. One Day, Electron will be gone As it should be.

    And hopefully one day our current ideas on documentation and talking about code will be gone, too.
  18. Scale Down, People Up Don’t give yourself extra work! Things

    can probably be simpler than you think.