Jonathan Wilde

Gossamer Sprint Two, Days One and Two

You can tinker with your web browser from the GitHub web interface, if you want.

Jonathan WildeSaturday, July 4, 2015

I’m currently working with Lyre Calliope on a project to improve tooling for developing and sharing web browser features.

I’ll be documenting my progress on this Mediapublic-style.

First, a Little Demo

In order to tinker with your web browser’s source today, you need to download a working copy of the source, set up a build environment, and have your text editor selected and configured. It can take hours, even for people who’ve done it before.

Why can’t we just edit and share web browser UI changes from a web application, like we can with documents and other things?

In our experimental fork of browser.html, we can up the GitHub web interface (even from the browser you’re trying to edit), make edit the color, and when the update popup appears in the web browser, click “Apply”.

We don’t have to configure Gossamer to continuously build and ship our branches, and other people testing the same Gossamer branch receive that update, too.

Play Video

In case you’re curious, here’s the commit I made in the demo.

What I Did Thursday and Friday

  • Removed analytics and news feed for now. Remove as much UI as possible.

  • Restructured the build process. Our one cheap build transform is performed as late as possible, and not muddled in with our cache of repo data.

  • Remove the need to explicitly register branches as experiments.

  • Add “base” branch that is used when you don’t have a branch explicitly selected. Drop requirement to be logged in to access builds.

  • Add Webhook support for receiving push notifications.

Next

  • Standing up Webpack and react-hot-loader locally with minimal changes to browser.html.

Stay tuned for more!