Git Product home page Git Product logo

gossamer's Introduction

Gossamer is an experimental fork of Mozilla's browser.html research project. We're exploring cutting-edge functional and reactive programming practices to enable workflows for rapidly shipping browser front-end UX.

It incorporates React Hot Loader and Webpack as well as integration with Github and the Mozillians.org API to demonstrate:

  • Live, restartless distribution of front-end code separately from the back-end, enabling users to start hacking with just a binary, and side-stepping the need to set up a working copy of mozilla-central.
  • Infrastructure that provides empowering and less subjective pathways to shipping new features to a broader audience, such as A/B testing.
  • How the above can be sweetened with collaborative tooling that enables cross-team collaboration and volunteer participation to scale.

The demo is made of of three parts:

  • gossamer - Our fork of browser.html.
  • gossamer-server - The build and distribution server.
  • gossamer-larch-patches - Tweaks to Mozilla’s larch project branch containing the graphene runtime. We fixed a bug and made a configuration tweak.

Once we hit our Demo 0.5 Milestone, you'll be able to download a build of Gossamer and demo trying out experimental branches. We'll update this readme (this very line even!) with the howto closer to the milestone.

The server is currently deployed at gossamer-server.herokuapp.com.

This project is a work in progress, and there's lots more cool stuff we'd love to implement! We hope people get as excited as we are about architectures that enable new developmental workflows!

If you'd like to get involved:

gossamer's People

Contributors

paulrouget avatar gozala avatar gordonbrander avatar hellojwilde avatar evilpie avatar fabricedesre avatar donaldpipowitch avatar captaincalliope avatar kevingrandon avatar palmeral avatar gsiddardha avatar andreasgal avatar kevinji avatar michaelkohler avatar ferndot avatar aurelioderosa avatar yoric avatar hywan avatar elfoxero avatar waffle-iron avatar pquentin avatar renatodeleao avatar gitter-badger avatar d3jawu avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Forkers

gitter-badger

gossamer's Issues

Write readme's for gossamer repos to onboard new mozillian contributors

This should be a mix of overall project info, goals/strategy/timeline, and contributor onboarding, how/where we're working, links to support/collaborative materials, what success of this project looks like before spinning down collaborative infra

We probably need to have a discussion to outline what this needs to look like, and how technical it needs to get. I'm thinking we can probably get rid of all of the browser.html readme text (by linking to the original repo) and completely focus on Gossamer itself.

Look at integrating analytics

I think they key thing that we've learned is that analytics are cool, but they're kinda a Demo 2 feature or something to quickly hack together with Keen.io.

Until we have a decent number of users it's kinda not that helpful.

Replace "data" with "more concrete over the shoulder test results".

Define milestones and labels

We have all sorts of crazy ideas! Once they're all documented in github, let's discuss prioritizing them via milestones.

MVP: Build web service facilitating the Gossamer Flow (TM)

The core functionality of Gossamer is shipping experimental front-end builds to users, enabling users to provide feedback in the form of analytics and github issues, and showing real-time data about those metrics

The web service will:

  • Pull code from github and run relevant build processes
  • Appropriately notify clients when new builds of the experiment that they're enrolled in are available
  • Receive and store time-series analytics data about the performance of the extension to the browser
  • Display the analytics data in real-time

The extension to browser.html will:

  • Enable a user to start joining studies after logging in with GitHub
  • Contain hooks for submitting analytics data
  • Reload the browser after the user selects a particular experiment

gossamerflowchart

Add support for react hot loading

this got challenging when I first tried it because of the structure of the modules in browser.html...we'll see if this gets easy in this sprint after struggling for a while

Move blob store into Postgres

The amount of data for even a single build is pretty significant, and redis is just too expensive to run for this sort of infrequently accessed data

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.