User Tools

Site Tools


content:tech:serval_mesh_for_firefoxos

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
content:tech:serval_mesh_for_firefoxos [04/09/2013 19:14]
Andrew Bettison more depth on porting Serval DNA to FirefoxOS
content:tech:serval_mesh_for_firefoxos [04/09/2013 19:49] (current)
Andrew Bettison link to "no native code" Google group post, add section headings
Line 5: Line 5:
 A port of the [[Serval Mesh|Serval Mesh app]] to FirefoxOS would pose the following technical challenges: A port of the [[Serval Mesh|Serval Mesh app]] to FirefoxOS would pose the following technical challenges:
   * **rewrite the user interface in HTML5 using FirefoxOS API** (on Android is written entirely in Java/XML using the Android API)   * **rewrite the user interface in HTML5 using FirefoxOS API** (on Android is written entirely in Java/XML using the Android API)
-  * **port the Serval DNA daemon toFirefoxOS** (see below)+  * **port the Serval DNA daemon to FirefoxOS** (see below)
   * the following **interactions between Serval Mesh and FirefoxOS** would have to be made usable:   * the following **interactions between Serval Mesh and FirefoxOS** would have to be made usable:
     * dialler screen for making and receiving calls     * dialler screen for making and receiving calls
Line 14: Line 14:
     * file manager for sending and receiving files via Rhizome     * file manager for sending and receiving files via Rhizome
  
-==== Serval DNA on FirefoxOS ====+===== Serval DNA on FirefoxOS =====
  
-The [[Serval DNA]] component cannot be ported to FirefoxOS as a native Linux executable because FirefoxOS does not and will never provide a native code facility.+The [[Serval DNA]] component cannot be ported to FirefoxOS as a native Linux executable because FirefoxOS does not and [[https://groups.google.com/d/msg/mozilla.dev.b2g/rBWBgdvShUc/1BxJAkMtkmwJ|will never provide a native code facility]]. 
 + 
 +==== Port using Emscripten ====
  
 It may be possible to **translate the [[Serval DNA]] C source code to JavaScript using [[https://github.com/kripken/emscripten/wiki|Emscripten]]**.  The following technical issues would have to be surmounted: It may be possible to **translate the [[Serval DNA]] C source code to JavaScript using [[https://github.com/kripken/emscripten/wiki|Emscripten]]**.  The following technical issues would have to be surmounted:
 +
 +== Network access ==
 +
 +Serval DNA broadcasts its [[MDP]] packets over Wi-Fi by [[Overlay Network|encapsulating]] them in [[http://en.wikipedia.org/wiki/User_Datagram_Protocol|UDP/IP]] packets.  Without packet broadcast, the Serval Mesh cannot work.  The [[http://man7.org/linux/man-pages/man7/socket.7.html|socket]] code would have to be rewritten to use the proposed FirefoxOS UDP Datagram Socket API, which was in early planning stages as at September 2013.
  
 == Daemon process == == Daemon process ==
content/tech/serval_mesh_for_firefoxos.1378347296.txt.gz · Last modified: 04/09/2013 19:14 by Andrew Bettison