Code Monkey home page Code Monkey logo

tofino's Introduction

Project Tofino

Linux Build Status Windows Build Status Coverage Status

Project Tofino is a browser interaction experiment.

The kinds of things we use browsers for on PCs and mobile devices are different than they were when the current "tabs across the top" browsers were designed. We believe we can do a lot better by focusing on the tasks and activities users engage browsers for. Project Tofino is one of our explorations.

This project is extremely immature. It's currently at the "OK, lets throw some stuff together to see what happens" stage. Please adjust your expectations accordingly. The tools we're using are not a statement on the set of technologies we'll use to build a final product if these ideas pan out. We're looking for the quickest way to build the experiments we want, not a long-term technical strategy.

If you like a wild ride and you've got another browser for real work, we'd love to have your comments on what works and what doesn't. But right now the "what works" list is a lot shorter than the "what doesn't" list, so maybe check back in a few weeks when there's more to look at.

We blog here: https://medium.com/project-tofino

We hang out on Slack here: https://project-tofino.slack.com (you can get an invite at http://tofino-slack-invite.mozilla.io)

Downloads

0.2.0 Release

Build

Documentation for building is found in docs/building.md.

Developing

  • npm start - Runs the build in production mode. Should be similar to a packaged build.
  • npm run dev - Runs the build in development mode with hot module reloading.
  • npm run package - Creates a distributable package.
  • npm run clobber - Destroys a handful of temporary files (electron build, node modules, configurations) to clean up invalid states. If running into strange issues, try this command, followed by an npm install.

Even though the user agent and content services are reused between multiple browser instances, they don't outlive their parent process by default when it exits, to ease development. To have them kept alive even when there are no more clients left, npm run serve will start these services standalone for finer lifetime control.

Testing

Currently runs linting, unit and webdriver tests with mocha.

npm test

Contributing

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

See CONTRIBUTING.md for further notes.

This project is very new, so we'll probably revise these guidelines. Please comment on a bug before putting significant effort in if you'd like to contribute.

The code uses examples from many different places, but the foundation was started from a set of posts from Paul Frazee:

License

This software is licensed under the Apache License Version 2. See LICENSE for details.

tofino's People

Contributors

greenkeeperio-bot avatar jsantell avatar mossop avatar ncalexan avatar rnewman avatar victorporof avatar bgrins avatar linclark avatar joewalker avatar gabrielluong avatar darkwing avatar legneato avatar campd avatar aaorris avatar jonathankingston avatar lmorchard avatar vsethuooo avatar suriyaakudoisc avatar mactkg avatar

Watchers

 avatar James Cloos avatar

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.