As we move into the post-v1 phase of this project and catch our breath, let me suggest that this project should have one person dedicated to build scripts, developer tools and documentation. We have way too many different ways to get gecko and gaia builds onto the phone, and my experience is that every developer does it slightly differently.

As David points out, there ought to be a way to update a phone without overwriting databases. And, in fact, I think the script required to backup and restore settings and data is actually kind of trivial. Some developers are doing this already with their own custom scripts, I think. But we don't have any supported technique for it.

Similarly, developers who work at the intersection of Gecko and Gaia and have to modify the B2G chrome code have no supported way to quickly push their chrome changes to the phone. It takes ~10 minutes to do ./build.sh gecko && ./flash.sh gecko after editing a single chrome JavaScript file. Again, I think it would be pretty simple to write scripts that would make this much, much faster. But no such scripts exist.

As another example, it would be great to have a script that would download a gecko tinderbox build and push the relevant files to the phone. It would make testing recent gecko patches much, much easier for gaia developers.

  David

On 1/12/13 11:14 AM, L. David Baron wrote:
Not that long ago I blogged about what I think dogfooding means:
http://dbaron.org/log/20121119-dogfood .  One of the key points I
made there is that the critical audience for dogfooding is the
people doing development of the software.

As somebody a somewhat involved with development of B2G (in my role
as a Gecko developer), though far from the center of the team, I'm
finding that the biggest obstacle to my own dogfooding is this:  I'm
frequently reflashing my phone and wiping all the settings off of
it, which prevents me from actually building up any of the
configuration (bookmarks, cookies, home screen icons, etc.) that
would allow me to use the phone effectively.  I'm reflashing the
phone either because I want to get a newer build, or because I
actually need to test patches that I'm developing on my phone.

https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Installing_on_a_mobile_device
describes a way to flash just gecko and gaia without reflashing the
whole phone, e.g., by using:
   ./flash.sh gecko
   ./flash.sh gaia
instead of wiping out everything with:
   ./flash.sh

But my experience trying these has been that it usually leaves me
with a phone that won't even boot, and that can be fixed only with a
full ./flash.sh.

It's not clear to me whether I'm doing something wrong (in which
case I'd love to see improved documentation), whether things were
broken at times but then fixed (in which case I'd have loved to see
announcements to this list), or whether this is the expected
behavior.

Either way, I think it's important to the project (for the reasons I
described in the dogfooding post above) for this to be fixed.  I
think it's important that developers be able to really use their
phones, and I think an important part of that is being able to
accumulate the sort of configuration that a normal user would have.

-David


_______________________________________________
dev-b2g mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-b2g

Reply via email to