Confirmed users
100
edits
(initial version) |
(more ideas!) |
||
| Line 1: | Line 1: | ||
=What?= | |||
This is a group brainstorming/spearheading ideas for Firefox OS v3, mostly composed of people based in the London space. | This is a group brainstorming/spearheading ideas for Firefox OS v3, mostly composed of people based in the London space. | ||
=Main goal= | |||
We want to make Firefox OS really web like. Think of it as ''New Wave'' Firefox OS development. Web development has grown up, and so should Firefox OS too. Let's adopt commonly accepted best practices in the community! | |||
=Ideas= | |||
There is a number of ideas we would love to see happen. Not all of them will be feasible from the start, but let's just put them here for the sake of posterity---and to inspire more ideas! | |||
==Ideas for Gaia== | |||
===One app = one repo=== | |||
Organisations developing multiple websites do not host all the websites in just one repo. Since apps are websites (or should!) why are we hosting all of them in just one repo? This is a huge barrier of entry for new developers interested in Firefox OS. | |||
===Refactor the build system=== | |||
The current build system is as unlike the modern web as it could be, requiring make and using things such as XULRunner to shuffle files around. Web developers are familiar with JS, not make, sed, etc. As such we're probably missing on contributions and improvements on this space. | |||
Client side JavaScript has a commonly accepted tool: npm. This not only helps install packages but also can run scripts, tests, etc. How would a new build system based on npm look like? Perhaps something like: | |||
git clone gaia | |||
npm install gaia-calculator gaia-settings gaia-browser | |||
npm run build | |||
npm run deploy | |||
===Web Components=== | |||
Work has already started on using Web Components in Firefox OS, but they are currently limited to certified apps; support is disabled for other apps and they need a polyfill to run (i.e. webcomponents.js). | |||
* How can we use MORE Web Components everywhere in Gaia? | |||
* How can we reuse more? | |||
* How can we do "fragments" ("Android style") in a better way? | |||
* How does it work with CSP? | |||
* How can we use this to inform the Platform team on what is more prioritary? | |||
===Functional programming=== | |||
How can we use these "novel" techniques to simplify Firefox OS and avoid race conditions but without getting "too clever"? Would libraries such as react.js be better than trying to write super optimised code? | |||
===Easier testing=== | |||
How do we ensure that anyone can test their own app robustly so as to make it work on a variety of devices and configurations, just as Mozilla does... but without having to check the app into mozilla-central? | |||
Kevin Grandon suggested there is ongoing work happening on this space already. | |||
===P2P Web=== | |||
Guillaume and Wilson have been working on this concept. We have little portable computers--how do we take advantage of that instead of treating them as dumb cloud accessories? (TODO: fill in with data or delegate to the other group) | |||