I think that we should focus on web components instead of NGA during the 2.6 release cycle. This is not an argument against NGA, but it is an argument that we'll have more impact working on web components right now.
These are my reasons: 1) We don't have enough engineers to focus on both for 2.6, especially if we are also concurrently working on initiatives like B2GDroid, FlyWeb, Pin the Web, telemetry, Alopex and so on. 2) We've been using web components like gaia-header for two releases now, and the platform seems ready enough that we can make good progress on this. 3) With NGA we've only done the easy stuff (front-end/back-end split) so far. We're still waiting on platform support (or better platform performance) for service workers, prerendering, the new security model, and for converting APIs to work in worker contexts. So these important parts of the architecture have not yet been validated. If we push ahead with NGA now we will be on the bleeding edge of the platform and will suffer the bugs and performance problems that entails 4) Mozilla engineers understand modularity and its benefits. Given the opportunity to refactor our apps, I'm confident that we will all move toward a separation between front-end and back-end, even without the NGA prescription. In the process of modifying our apps to use web components instead of the current building blocks, I would like to encourage teams to create higher-level app-specific web components as needed, and I think that this kind of refactoring will offer many of the same modularity benefits as an NGA-focused frontend/backend refactoring. 5) NGA is an investment in our current set of apps, at a time when we don't know what apps will be needed in the next product we try to launch. But working on web components is an investment in the OS itself: we'd be creating the building blocks for future apps, and working toward the platform portability goal that Ari outlined recently. So what do I have wrong here? I think points #1 and #5 are my strongest arguments. I'm less confident about #2 and #3. Does anyone want to argue that web components are ready to be used? Or that we do have enough engineers to work on both? Or that NGA is a more strategic and impactful thing to be working on in 2.6? David On Fri, Nov 20, 2015 at 7:46 AM, Justin D'Arcangelo <[email protected] > wrote: > > > On Nov 20, 2015, at 7:44 AM, Vivien Nicolas <[email protected]> wrote: > > > > On Fri, Nov 20, 2015 at 6:19 AM, Justin D'Arcangelo < > [email protected]> wrote: > >> >> This past week I started experimenting with adapting the Music app to >> work on TV. Within an hour, I was able to just drop in a couple new “views” >> that were TV-friendly versions of what we have in the regular phone version >> of the app. >> > > I think there is something important here. You drop a couple views in an > hour. This is pretty fast! > > It sounds hard in one hour to understand all the possible code path and > impact of some new code. And regressions has been one of the big battle of > the last years. > > > I didn't say it was production-ready ;-) > > How confident are you that there is no regressions in other views ? If you > are highly confident, can you explain why ? > > Thanks, > Vivien. > > > As I mentioned, our views are like mini apps themselves. Because each view > in this architecture is a completely separate HTML document with its own > URL, it is almost impossible for changes in one view to affect another. > Therefore, I can make drastic changes such as completely replacing a view > with a great deal of confidence that I haven't caused any regressions > elsewhere. >
_______________________________________________ dev-fxos mailing list [email protected] https://lists.mozilla.org/listinfo/dev-fxos

