<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi Fabrice,<div><br></div><div>We're discussing architecture for Firefox Accounts on Firefox OS.  Two possible routes we could take are:</div><div><br></div><div>1. Build firefox accounts into the system app</div><div>2. Build a system level application that encapsulates firefox accounts and use cross app messaging to communicate with Firefox Accounts logic.</div><div><br></div><div>Below I've enumerated some reasons why I think the latter (#2) might be a better starting point.  Fernando highlighted some of the reasons why building into the system app could be preferable (simplified messaging path and reduction of total number of processes).</div><div><br></div><div>We'd love you to weigh in here!</div><div><br></div><div>best,</div><div>lloyd</div><div><br><div><div>On Oct 11, 2013, at 6:32 PM, Lloyd Hilaiel <<a href="mailto:lloyd@mozilla.com">lloyd@mozilla.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">I dig reduced resource usage and simplified messaging path.  Here's the other side:<br>
<br>
1. Deeply want to preserve the possibility of dynamic update.  App abstraction helps.<br>
<br>
2. Lots of JavaScript will love on this module.  Jwcrypto, gherkin, and more.  Nice to ensure memory is fully reclaimed.<br>
<br>
3. Security isolation - content will cause messages to be passed in.  I'd like to give this module minimal permissions for defense in depth.<br>
<br>
4. Less likelyhood of crashing system app.  I hear Andreas gets a little upset when we do that.<br>
<br>
5. Short lifetime - this thing will run infrequently for short periods of time.  Why use resources all the time?<br>
<br>
6. Parallelization - were gonna do some computation in this process.  When we move to multi core mobile we get to keep it off the main thread.  Even before that, nice can help keep the phone responsive.<br>
<br>
Any of this reasoning compelling?  Shall we invite fabrics to throw stones?<br>
<br>
And thanks again for all the help today!  Highly educational!<br>
<br>
Lloyd<br>
<br>
<br>
<br><br><div class="gmail_quote">"Fernando Jiménez Moreno" <<a href="mailto:ferjmoreno@gmail.com">ferjmoreno@gmail.com</a>> wrote:<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail">Thanks for sharing Lloyd!<br><br>As I was saying via IRC, this approach means that we would have a messaging path like:<br><br>firefoxAcctConsumer <-> firefoxAcctApp <-> systemApp <-> Gecko<br><br>We could probably build the Firefox Accounts module within the System app and get a messaging path like: <br><br>firefoxAcctConsumer <-> systemApp <-> Gecko<br><br>which is a shorter and faster path and ensures that the Firefox Account module won't be killed because of an OOM situation.<br><br>Is there any reason why we would need an standalone Firefox Account app?<br><br>Cheers,<br><br>/ Fernando<br><br>On 11/10/2013, at 15:03, Lloyd Hilaiel <<a href="mailto:lloyd@mozilla.com">lloyd@mozilla.com</a>> wrote:<br><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #729fcf; padding-left: 1ex;">I spent some time today, with ferjm's help, exploring more how fxa on fxos might work.<br><br>This time, the approach was to create a Firefox Accounts system application.  The idea is that this would be a headed or headless application that the FTU (also certified) could communicate with.  Additionally, from web content, we could route messages to the app via mozChromeEvents that would be intercepted by the system app and routed into the Firefox Accounts module.<br><br>So here's the code: <a href="https://github.com/lloyd/gaia/compare/495912...master">https://github.com/lloyd/gaia/compare/495912...master</a><br><br>Here's the next steps that I was going to take:  <a href="https://github.com/lloyd/gaia/issues?direction=asc&sort=created&state=open">https://github.com/lloyd/gaia/issues?direction=asc&sort=created&state=open</a><br><br>Thoughts on this approach?<br><br>lloyd<br><br><hr><br>Dev-fxacct mailing list<br><a href="mailto:Dev-fxacct@mozilla.org">Dev-fxacct@mozilla.org</a><br><a href="https://mail.mozilla.org/listinfo/dev-fxacct">https://mail.mozilla.org/listinfo/dev-fxacct</a></blockquote><br></pre></blockquote></div><br>
lloyd - (on an tiny keyboard)</blockquote></div><br></div></body></html>