bedrock
bedrock copied to clipboard
Test new install method for Windows 11 users
Description
Edge on Windows 11 supports a new method for downloading and installing from the windows store. Firefox is now on the windows store and we should test this method to see if it can help increase the number of people who install after downloading.
FYI: I'm working on the Firefox side of this (being able to pull out "campaign ids" from installs done through the Microsoft Store) in https://bugzilla.mozilla.org/show_bug.cgi?id=1756209. Once that's finalized I'll write up some guidelines on how to link to the Microsoft Store properly to make use of it - is there a preferred place for me to do that?
Also, this method works for Windows 10 users as well, as long as they are on a not-ancient version (1607 and up should be fine).
@bhearsum if you'd like to either link a doc on this issue, or write everything in a comment, that will work. What's the timing? We may have some dev resources available soon and can get started on this.
I should have everything finalized in the next couple of weeks. The necessary code is likely to ride with Firefox 101, although I may recommend we wait until a later release to actually start redirecting people to the Store (in order to pick up a fairly significant fix).
Some in tree docs will be landing on this soon. Here's a roll-up of what I think is relevant for Bedrock.
- There are two ways to link to Microsoft Store apps:
https://
andms-windows-store://
. For our purposes, I think the latter is best as it launches the Store directly without going through the Microsoft website. - The Store link for our Release channel app is: ms-windows-store://pdp/?productid=9NZVDKPMR9RD
- Attribution data supports the exact same format as existing attribution and should be provided as the
cid
query argument, but the length is much more limited. Microsoft claims it supports only 100 characters, although I have been able to retrieve the first 208 characters in my own tests. (If we think we need more than 100 characters I think we should do our own testing of this in the wild before relying on this -- it could be that older Windows version retrieve fewer characters or something like that.) - Here's an example link with attribution data: ms-windows-store://pdp/?productid=9NZVDKPMR9RD&source%3Dgoogle.com%26medium%3Dorganic%26campaign%3D(not%20set)%26content%3D(not%20set)
And while not relevant to Bedrock itself, if you're ever doing your own testing of this there's a couple of caveats to be aware of:
- So far, we have only been able to make attribution work if the install is done while the user is signed into the Microsoft Store. We're trying to sort out the other case, but have yet to be able to.
- The Store also caches the first "cid" the user installs with ever (even if it's empty) -- this means that every test must be done with a new Microsoft account to be valid.
Let me know if anything is unclear here, or you need any other information.
This looks like what we'd need to get started.
Given your note above, is 102 a good target for this?
@pmac @alexgibson tagging for a technical perspective on the above
I don't know at this point when we'll actually want to start pushing people over, even as test. If we want to wait on the bug I eluded to, that would be 103 at the earliest (probably even later) -- but it's possible we'll want to do a test before that. I've got an open thread with Romain about this and should have an answer on it next week.
One potential wrinkle here:
Unless there's another method we can use here, I'm not sure it's possible to accurately detect Windows 11 in all major browsers, at least right now. Both Edge, Chrome and Firefox have frozen parts of their UA string, so they will now always report as "Windows 10".
There's a new API called Client Hints, that's supported in both Edge and Chrome that we can use here instead (see https://github.com/mozilla/bedrock/issues/8440), but it's currently not supported in Firefox. So we could certainly try and detect Windows 11 in Edge and Chrome, but afaik it's currently impossible using Firefox.
Is there a reason we're specifically targeting Windows 11 here instead of 10 & 11? Windows 10 also supports the Microsoft Store. There may be some wrinkles around users on very, very old versions (requires some testing), but it may be an alternate workaround.
I also suspect that only supporting this in users downloading Edge or Chrome is probably fine for a test (obviously we'd want to do better if we make such a change permanent though).
There may be some wrinkles around users on very, very old versions (requires some testing), but it may be an alternate workaround.
I guess this depends on how many old versions of Windows 10 are out there? Do we have any ideas? If someone was on one of those versions, I'd probably be OK with it providing we still provide a way to download Firefox directly.
There may be some wrinkles around users on very, very old versions (requires some testing), but it may be an alternate workaround.
I guess this depends on how many old versions of Windows 10 are out there? Do we have any ideas? If someone was on one of those versions, I'd probably be OK with it providing we still provide a way to download Firefox directly.
I can do some more digging here if this is a path we'd like to pursue. (We need to determine both what the oldest Windows 10 version the Microsoft Store still works with is, and what percentage of users are on that or an earlier version.)
@bhearsum is this something you are still planning for?