In order to make the Persona flow as fast as possible in the FTU it would be great if we could prefetch and store the offline cache for the Persona flow. IIRC we did something like this for the Marketplace (while it was a hosted app).
4 years ago
Maybe. I never fully groked why we needed so many assets from the network for a "native" implementation of persona, so I'd rather revisit that assumption first.
(In reply to Fabrice Desré [:fabrice] from comment #1) > Maybe. I never fully groked why we needed so many assets from the network > for a "native" implementation of persona, so I'd rather revisit that > assumption first. So far on b2g, I would say that having a hosted persona flow has been invaluable. It has permitted us to iterate with Marketplace on UX changes, deploy protocol-breaking API changes for Marketplace, and troubleshoot and fix identity-bridging issues and other tricky integration problems as federated login has become widespread. Additionally, Persona is still in beta (it's a Q4 goal to get out of beta), with very active discussions ongoing about simplifying the API. Having had the latitude to perform so much work on the server-side and continue to support all phones in deployment has been a huge win, from my perspective, even at the cost of high network usage. Not that we enjoy at all being fat consumers of network requests and bandwidth. I would like to find a way forward that is speedier, uses fewer network requests, and, if possible, is more compact, but that still provides some window for shimming in upgrades and fixes across all devices. I would certainly like to talk more about this, though I don't know if this bug is the best place to have the discussion. (Or maybe it is the right place?) At the very least, I would be happy to facilitate a meeting with the people in this bug so far, including other platform and identity people, to get our heads together on the problems and possible solutions. For the present, though, we are looking at v1.3 hitting feature-complete in December. A full-native rewrite of Persona on the device is not going to happen in that time. And for 1.3, we are looking at having Sign-in on the first-time flow for the benefit of marketplace and, hopefully not long after, sync. So it feels to me that Fernando's proposal would offer some healthy benefits.
To pile on with what jed said, the persona (service) team's goal for this Q4 is to finalize APIs and protocola. This is the pre-requisite to a more proper "native" integration. That said, I'd love to dig into this topic in a sync meeting, or an async email thread. Fernando, where is the Appcache work that was done for marketplace when it was hosted?
4 years ago
The appcache preload code is still there, it's generic code for any hosted app, which is slightly different than what you need for pages that are not part of an app. The gecko part is in dom/apps/src/OfflineCacheInstaller.jsm
(In reply to Lloyd Hilaiel [:lloyd] from comment #3) > Fernando, where is the Appcache work that was done for marketplace when it > was hosted? https://github.com/mozilla-b2g/gaia/pull/4930 But we have a different situation here, I just mentioned the marketplace as a similar example in terms of offline cache needs. In this case, the Persona flow won't be an installed app, so we'll need a different approach. As Fabrice mentioned, if we finally want to solve this issue, we would need to tweak OfflineCacheInstaller.jsm
Not blocking the Firefox Accounts work anymore since FxA won't use the Persona flow.
No longer blocks: 920135
This is not a perf issue.
Whiteboard: [systemsfe] → [systemsfe][perf-reviewed]
You need to log in before you can comment on or make changes to this bug.