On 1/9/14, 5:26 PM, Chris Mills wrote:
Hi all,
Hope you are having a good start to 2014!
One of my first tasks this year is to restructure the Firefox OS zone on MDN
(https://developer.mozilla.org/en-US/Firefox_OS). There is some good content on
there, but it could really do with the flow of content and structure improving.
I have started to devise a plan at
https://etherpad.mozilla.org/mdn-fxos-zone-restructure
If you have any feedback about what could be improved on the Firefox OS content
zone and what you think of this plan, please let me know, by responding to this
mail, or writing your feedback into the “FEEDBACK SECTION” near the bottom of
this doc. It’s at an early stage, but I reckon a bit of restructuring will
really sort this out.
Best regards,
Chris Mills
Senior tech writer || Mozilla
developer.mozilla.org || MDN
cmi...@mozilla.com || @chrisdavidmills
Hey Chris,
Your etherpad is a start. However, there is a bunch of work needed to
get a good structure for the docs going forwards.
I took action a few weeks ago to work on this. Unfortunately, I got side
tracked quickly into trying to fix things rather than trying to document
the mess as is. As far as an outline, this is as far as I had gotten:
Landing page
(pictures and redirects to sections or to other sites)
Introduction
* Define Firefox OS as both a *project* and an *OS*
* Current status
* 2013
* 2014 plans
* This site is for: $audience_list
* Other resources (also, resources for $non_audience)
The Firefox OS Project
* Mozilla -teams
-community
* Android project (via codeaurora.org)
* Device makers (?the new alliance?) (e.g. QCOM)
* Device assemblers (e.g. Alcatel)
* Device distributors (e.g. Movistar)
The OS
* Overview
* Detailed architecture of the pieces
* ...
Building
* Overview
Build Types: Device, Emmulators, Desktop
Build components: Android tools, Profilers, Output Dir, Images
Feature support chart
The build process: workspace, goals, steps
Caveats: disk size, network bandwidth, compile times
* The workspace
Layout
Uses (build, code w/repo, code w/ git)
* Pre-reqs
* Configure
* Build
* Run?
* Install
* Customize
Using the build
* Screenshots
* Remote Debugging
* Profiling (and memory usage)
* Remote control of a device
How to file bugs
* These docs
* App Manager, Simulator
* FF Responsive design View
* FF Developer Tools
* Gaia Apps
* Gecko on Gonk
* The build workspace
Developing Firefox OS
* Working in the workspace
* repo in the workspace
* git in the working dirs
* linking in separate working dirs
* How to contribute: Gaia, Gecko/Gonk, Gonk, Docs...
Devices
* ZTE Open
* Alcatel OneTouch Fire
* ...
So that's not much better than your etherpad. Its not comprehensive yet,
it does not flesh out any of the topics, and does not consider what else
is needed. This view adds, compared to your etherpad, the idea of
discussing the 'Project' and its 'community' which are important to
outsiders and for building a community (although that may not be
something this project wants or wants enough to invest in).
However, while working on the docs and thinking about the various users,
it became clear that we should at least try to do better than the
current build system. So, in the last few weeks, I have been trying to
get a handle on the build. I spent a couple of weeks hacking a bash
script framework to manage a Firefox OS 'workspace'. The framework
allows for a number of 'phases' (e.g. bootstrap, configure, build, run,
install, configure) each of which might have a number of stages. Thus we
could do:
fxos setup
and get the result attached to this email. (Really, it just tells a user
what their machine needs for the different parts of the build, i.e. what
is needed in the bootstrap.) The script framework should make it easy to
isolate the code that does stuff from surrounding code that documents
what has been done and what is needed. These days I am wrangling with
repo and git and the various workspace configurations which are
possible, (i.e. repo mirrors, single branch clones, shallow clones,
group based manifests). I still have a ways to go on this but it might
eventually get somewhere.
It seems, from the general silence on the dev-b2g list, that there won't
be much help coming from there. So we will have to invent a semantic
structure to Firefox OS itself that we can then document. Unfortunately,
since most of the details are over our heads, our readers will suffer
from our lack of understanding. Technical debt begets more technical debt.
From inside Mozilla, it would be of use to find out from recent hires
working on Firefox OS what information they found they needed to become
effective contributing. There's surely a lot that passes by word of mouth.
Also, I have *no idea* about any of the runtime scripts in the B2G
project: what they do or what tools they work with. So the whole 'using
the build' section is out of my league. I suspect the tools should
really have been part of some separate project but are only part of the
default build because that was the path of least resistance and there
was no mechanism for optional inclusion.
Finally, I started adding to your etherpad but that work led to this
email instead.
Not sure how you want to go from here. Probably this discussion should
move to the docs list.
~adrian
___ __ __ __ __ ___ __ __
|__ \_/ / \ /__` |__) | | | | | \ | / \ / \ |
| / \ \__/ .__/ |__) \__/ | |___ |__/ | \__/ \__/ |___
┌──────┤ FxOS Environmental Variables ├───────────────────────────────────
│FXOS_ROOT_DIR /Users/acuster/Code/hg/FxOS
│FXOS_CONFIGURATION_TARGET ~none~
│FXOS_BACKUP_ROOTED_BOOTIMG ~none~
└─────────────────────────────────────────────────────────────────────────
┌──────┤ Configure phase dependencies ├───────────────────────────────────
│bash [ OK ] /bin/bash
3.2.51(1)-release (fxos needs 3.2+)
│repo launcher [ OK ] /Users/acuster/Code/hg/FxOS/bin/repo 1.20
(fxos needs 1.20+)
│python [ OK ] /usr/bin/python 2.7.5
(repo needs 2.6-2.7)
│git [ OK ] /usr/bin/git 1.8.3.4
(repo needs 1.7.2+)
│gpg [ OK ] /usr/local/bin/gpg 1.4.15
(repo wants any)
└─────────────────────────────────────────────────────────────────────────
┌──────┤ Backup phase dependencies ├──────────────────────────────────────
│adb [ FAIL ] ~none~
│fastboot [ FAIL ] ~none~
│boot.img [ FAIL ] ~none~
└─────────────────────────────────────────────────────────────────────────
┌──────┤ Build phase dependencies ├───────────────────────────────────────
│GNU make [ OK ] /usr/bin/make 3.81 (GNU)
(build needs 3.81-3.82)
│Autoconf [ OK ] /usr/local/bin/autoconf213 2.13
(build needs 2.13)
│Bison [ OK ] /usr/bin/bison 2.3
│Flex [ OK ] /usr/bin/flex 2.5.35
│GCC [ OK ] /usr/local/bin/gcc-4.6 4.6.3
(build needs 4.6)
│G++ [ OK ] /usr/local/bin/cpp-4.6 4.6.3
(build needs 4.6)
│CCache [ OK ] /usr/local/bin/ccache 3.1.9
├──────┤ Library dependencies ├───────────────────────────────────────────
│ncurses [ OK ] 5.7.20081102
│zlib [ OK ] 1.2.5
└─────────────────────────────────────────────────────────────────────────
┌──────┤ Install phase dependencies ├─────────────────────────────────────
│adb [ FAIL ] ~none~
│fastboot [ FAIL ] ~none~
└─────────────────────────────────────────────────────────────────────────
PHASE: setup
The 'setup' phase describes the execution environment of the FxOS
workspace
and prepares that environment by obtaining the software and libraries
needed
for the configuration, compilation, or execution steps.
Usage:
fxos setup describe the 'setup' phase and its usage;
summarize the execution environment
fxos setup $stage describe the preparation of a particular
operating system platform
fxos setup $stage --exec perform the prepration for a particular
operating system platform
Stages:
fxos setup macosx obtain required binaries for OS X
fxos setup debian obtain required binaries for Debian
fxos setup ubuntu obtain required binaries for Ubuntu
Global arguments:
-h --help same as 'info'
-c --compact more space efficient presentation
_______________________________________________
dev-b2g mailing list
dev-b2g@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-b2g