In today's Sync Engineering meeting we discussed how to "pull the trigger" for the actual migration, particularly with consideration to Firefox 37 riding the trains.

Background: The sync migration code in Desktop will be triggered by the Desktop seeing an "end of life" notification from the server. In other words, Desktop will not pro-actively decide to begin a migration on its own; the Services team has its finger on the trigger.

Problem: The migration code will only work in 37+ clients - earlier versions that see the EOL notification will see a generic message telling them they need to upgrade Firefox. Thus, it is important that we do not send the notification to pre-37 clients before 37 hits the release channel (as otherwise they will be told to upgrade when they are already on the latest release version).

The key issue is that we'd like to perform testing in a production environment as 37 rides the trains, but if a user has one device with 37 on Aurora and another with 35 on Release they will be somewhat screwed if they get the migration offer - their 35 device will be (somewhat) stranded as it can't automatically migrate. But it seems a shame to do *nothing* until 37 hits release as we lose valuable testing time.

We discussed a number of options, but many of them didn't offer enough bang-for-the-buck. What we came up with is:

* On our request, Services will start sending EOL headers to a subset of users (ie, throttled) who both (a) report as being 37+ and (b) only have a single device linked to their account.

* If this seems to be working, we consider sending EOL headers to *all* users who meet this criteria (ie, same criteria but unthrottled).

* At some point after 37 hits release, we move back to aggressive throttling (ie, only for a fraction of users) but drop the criteria - we offer it to users regardless of the version they are using and regardless of the number of devices they have.

* Based on telemetry and server-side stats, we slowly drop the throttling.

* Profit!

This plan is somewhat unfortunate for Android. The Android migration plan has always been that it will only perform migration when it notices another device has already migrated - ie, an Android device will never be the first device upgraded for a user. Our plan to only offer migration to desktop clients with a single device means that we can expect Android devices to never see a migration offer until 37 hits release.

We'd all welcome your thoughts and comments on this plan.

Mark
_______________________________________________
Sync-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/sync-dev

Reply via email to