Hi Fabrice,
This is Hong from Beijing office.
Regarding the feature you mentioned below (Save/restore feature), we
already have a couple engineers started to work on it a few months ago.
Currently what have been implemented are:
1. On the phone side, we implemented a privileged app.
The app is a background service that will listen to connections on
a special port 10010, it responds to the commands coming from the host
application.
2. On the PC side(Windows/Linux/Mac), we implemented a Firefox addon as
the host application.
Basically user needs to install the addon and bring up the
management interface on Firefox. The addon forwards the remote port
10010 to local
port 10010 through shipped |adb|, it manages the device by sending
commands to a TCP sockect that connects to localhost:10010.
3. Specially on Windows, we implemented a daemon service to detect the
FirefoxOS device.
When the user plugged-in a FirefoxOS device via USB cable, the
daemon program can detect whether the adb driver exists already, if not,
it will
automatically install the driver for the user.
4. So far we have finished managing/backuping/restoring data for contact
and SMS. In about a month time we will have picture/music/video
backup/restore completed.
I will send you a more detailed document some time this week.
Best regards,
Hong
>
>
> -------- Original Message --------
> Subject: [b2g] Save/restore feature
> Date: Sat, 06 Jul 2013 15:58:22 -0700
> From: Fabrice Desre <
fab...@mozilla.com>
> To: dev-b2g <
dev...@lists.mozilla.org>
> CC: Josh Carpenter <
jcarp...@mozilla.com>
>
>
>
> Hi all,
>
> One feature currently missing in b2g is a way to manage/backup/restore
> data from the phone on a host computer. There are various scripts
> floating around, but they are no substitute for a real end-user oriented
> solution. Here's a rough proposal on how to build that functionality.
>
> First of all, no UI should be chrome UI: both the host and the device
> applications will be web applications with the appropriate privilege
> level, even if the host application will very likely run in a Firefox tab.
>
> Basic UX flow possible (Josh, I remember you showed me wireframes, can
> you post them somewhere for our enlightenment?):
> 1. Plug in your phone with the setting "enable backup/restore" checked.
> 2. Open the host application.
> 3. This will launch the device application.
> 4. On the host, choose whatever you want to backup/restore.
>
> On the technical side:
> 1. The "enable backup/restore" settings enables a debugging protocol
> actor that will listen to connections on port 4343. On the host, we
> forward the 4343 and 4344 ports trough adb.
> 2. The host application connects to the device by opening a socket to
> localhost:4343.
> 3. The backup actor then sends a system message to wake up the backup
> application. Once this application is running and listening on port
> 4344, it sends back an ack to the host application.
> 4. The host application checks that the device app is running by trying
> to open a connection on locahost:4344.
> 5. Once this is done, host and device use a custom protocol to exchange
> data. The host application saves everything using indexedDB.
>
> On the device, the backup application could access data like contacts,
> sms, etc. directly itself, but will also use the datastore and/or the
> inter application communication apis to gather data from other
> applications. This will let users backup and restore data from 3rd party
> applications.
>
> On b2g the system application could provide the backup functionality,
> but I like the idea of a dedicated application better, because that will
> let us support Android as well.
>
> Thoughts?
>