Pre-Render / Navigation
This has been one of the pain points moving towards different documents and avoiding flashes. On the video for this talk you will find the following:
Memory behavior in NGA apps
We were doing some work related to the memory consumption using the multidocument approach, in the following demo you will see using Firewatch how the use of new mechanisms like BF cache behaves.
Some highlights:
Fast List
A lot of work done here around how to improve the performance and responsiveness of the DOM that we created. Focusing the efforts in create a webcomponent that all apps can share and is able to perform extremely well and play nicely with memory, fps and responsiveness.
Some of the demos you could see in the video:
FM Radio (phoxygen)
The folks from phoxygen has been focus on trying all the components proposed in NGA, and they demostrated how memory, iframes and workers mix together and how the memory consumption on an app is impacted using the tool that have been developed (threadjs, sw, etc.)
You have the video here: https://vimeo.com/135921334
SMS
The guys were working on landing and stabilizing the navigation patch (still without using the pre-render patch). And splitting more parts of the backend able to run in threads.Also they were doing some insights on testing the performance of different pieces of the architecture.
Did a great job finding some interesting numbers related to different tools like SW, Threads.js, and alwaysLowered window. That you can track here: https://github.com/azasypkin/sw-tests
A great conclusion from their talk was that in some cases, without having a caching mechanism, some of the pieces running in workers are slow to start, but they perform well once everything is in place, which drove to ideas like run non critical parts of the apps in workers or put all the backend code back in the main content if the performance is not improved for the future release.
Check their work here: https://vimeo.com/135908141
Performance
Their main focus was a problem detected with the use of SW and the guys during this week inmediately come with performance measures to check where we were losing time when launching a SW and possible ideas to improve the process.
Follow the process on the bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1191339
Data Sync
The team meet together, with the first week of one of the members, and work around webcrypto and how to interact with kinto.js
The results are pretty cool, and I recommend you to watch the following video to see the synchronization of browser history between firefox desktop and firefox os:
https://www.youtube.com/watch?v=BEYgx5chun0
Music
They have been doing an incredible job in splitting the backend and preparing a new version heavily based on SW, providing a rest api to access the data model by the front-end. In this case the navigation is not used, as the app is composed in different iframes, but all the communication between different parts of it uses all the new concepts proposed.
Also new testing work has been started to learn how to test apps based on SW paradigm.
Hopefully soon we will have in dev_apps the new and shiny version of this great work.
Conclusions
It was an intense week, in the middle of a Parisian summer, pretty hot btw. With a lot of progress, and seeing how the apps that we are working on have separated views and backend.
We have seen the increase of performance and how memory has been improved in some areas and how we need to improve in others.
The navigation, with a in review patch, is looking very smooth and what is better, consistent across apps.
After this week, and once all the patches land, we can start talking about pinning a sms thread, or a contact detail, and why not a music album.
What NGA is going to release for 2.5 has been on the minds of everyone. As promised the splitting of backend and frontend in different views is on track, to support the pinning of the content of our apps, but also has been raised that we could not introduce SW usage as it has uncertain dependencies for 2.5.
Also some teams have put over the table the fact of move some services to main content if the performance of workers is not yet what we want. In flame we could put the services back in the main content together and in z3 we could leave them in separate threads. Again we are learning and deciding.
So we will continue working and improving the technology that we want to use in the future of the web, but being sure 2.5 looks good ;)
Thanks a lot!
(PD: full length video with the complete demo session will be available soon)
_______________________________________________
dev-gaia mailing list
dev-...@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-gaia