Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Include "Apple Silicon" vocabulary on Download Page #1077

Closed
TheSeg opened this issue Jan 18, 2023 · 4 comments
Closed

Include "Apple Silicon" vocabulary on Download Page #1077

TheSeg opened this issue Jan 18, 2023 · 4 comments

Comments

@TheSeg
Copy link

TheSeg commented Jan 18, 2023

Include the phrase "Apple Silicon" to the download page for the macOS ARM64 build.

A common user does not know what ARM64 means or how it applies to their macOS computer. While a Universal build is the most preferred, I understand the reasons for the separated build. In light of this, the download page should be friendly to users to get over this limitation.

To reduce confusion for our users when asked to download QZTray, I humbly ask that the marketing name "Apple Silicon" be included with the download button.

--
John "Seg" Seggerson
Senior Front-End Developer
Vinoshipper

@tresf
Copy link
Contributor

tresf commented Jan 18, 2023

Include the phrase "Apple Silicon" to the download page for the macOS ARM64 build.

John, thanks for the feedback, we greatly appreciate it. We don't make our website code public, so we rely on feedback through here or through customer emails to make improvements.

A common user does not know what ARM64 means or how it applies to their macOS computer.

I'd argue that a common user doesn't really understand "Apple Silicon" either. Most of the marketing has been "M1", "M1 Pro", "M1 Max", "M1 Ultra" and just yesterday the "M2 Pro" and "M2 Max" were announced. In the press release, Apple used the term "M2" 72 times. "Apple Silicon" was mentioned 3 times.

Furthermore, Apple's refusal to call this what it is, "ARM64", is -- in my opinion -- their own marketing blunder. For example, if you wish to install Windows in Parallels on an M1 or M2 processor, the flavor is called "ARM64", not "Windows on Apple Silicon" (and thank goodness, not "Windows on SQ1" 😏 ). A similar branding issue occured when they used the "AMD64" architecture for their Intel-based Macs, and they were fine calling it "Intel" while removing support for the 32-bit Intel instruction set, which was still active on the hardware, but disabled in the software. This "marketing" blanket terms can causes a LOT of confusion and disdain to users. Although I don't estimate an ARM128 architecture arriving any time soon, a RISC 128-bit instruction set is not as crazy of an idea as it sounds. Similarly, we dont' call our Intel-based installers "Intel", but rather "x86_64". Personally, I prefer "AMD64", but I find it too easy to confuse with "ARM64", hence the distinction.

These marketing decisions are fine and it's all part of an ecosystem driven by Apple for Apple, but we take pride in treating all platforms equally, so ARM64 was carefully chosen (over the much more confusing "Aarch64") to display ARM 64-bit downloads for Linux, Windows and Mac.

While a Universal build is the most preferred

Universal builds are a very nice feature, but they require each library that we depend on to use a fat-binary as well. This has gotten fragmented and problematic over the years. For example, Apple will fail notarization requirements for binaries containing old 32-bit Intel code. This caused libraries such as JNA to decide whether to offer universal or separated binaries for a sustainable future (in their case, they chose separate).

When we first launched ARM64 development, we were using experimental openjdk 16 fork, so fat binaries were not possible. Starting with QZ Tray 2.2.2 we're finally on a single vendor and version of OpenJDK across all platform and architectures. Starting with QZ Tray 2.2.3, we'll be on a single version of JavaFX for all platforms and architectures, so this will finally be possible. We have considered this -- and we will continue to consider this -- but I feel strongly that the effort involved outweighs the benefit considering how quickly Apple EOL's its hardware.

To reduce confusion for our users when asked to download QZTray, I humbly ask that the marketing name "Apple Silicon" be included with the download button.

For Chrome and Firefox browsers, we'll begin offering only the current hardware as the default download later this week. This is part of the QZ Tray 2.2.2 launch and should help avoid confusion for the vast majority of users.

Screenshot 2023-01-18 at 3 36 59 PM

If you choose to notify your own users using your own terminology, this new download page will support query parameters, e.g: https://qz.io/download/?arch=aarch64 or Apple only downloadshttps://qz.io/download/?arch=aarch64&os=apple -- You don't need to memorize this, we'll provide helper links lower on the page.

Unfortunately, "showing the right button" feature is not available on Safari. Apple's developers deliberately hide this information.

So a bit out of accuracy and perhaps a bit out of spite, it'll remain ARM64 for the foreseeable future, but in just a few days, it should be much easier to find the right version for everyone on the planet, except, of course, Safari users. 🍻

@TheSeg
Copy link
Author

TheSeg commented Jan 19, 2023

Include the phrase "Apple Silicon" to the download page for the macOS ARM64 build.

John, thanks for the feedback, we greatly appreciate it. We don't make our website code public, so we rely on feedback through here or through customer emails to make improvements.

Just to be clear: Certainly not asking for that! As directing to your public download page is both paying customers like our company of QZ and general public use the same download page, I figured this was a proper forum than private email.

I'd argue that a common user doesn't really understand "Apple Silicon" either. Most of the marketing has been "M1", "M1 Pro", "M1 Max", "M1 Ultra" and just yesterday the "M2 Pro" and "M2 Max" were announced. In the press release, Apple used the term "M2" 72 times. "Apple Silicon" was mentioned 3 times.

The fundamental issue is guiding our producers (clients) who come to us to navigate technical tools in order to aid their small business. "ARM64" or "ARM" is not mentioned in the consumer marketing you reference. Your arguments are valid in the engineering, but they fail at communicating clearly to our shared users. ARM is a foreign concept to folks beyond developers like you and me. I believe we should aim for the success of users in the places where they interact with us.

I'm not asking to remove "ARM64" either. Only the addition of "Apple Silicon" in order to ease the confusion of users who do not develop software. I can cite various references as to this, but the underlining question I have for you is this: Is the download page only for technical users, or do you want the download page to be inclusive to users of various levels of technical knowledge?

Universal builds are a very nice feature, but they require each library that we depend on to use a fat-binary as well.

Agreed and why I said I understand the separate builds. I completely agree with you that it is impractical to make Universal builds specifically for QZ. While it's in theory an alternative solution, as you outlined in detail it's not the best solution for QZ.

Also: I'm excited for the JavaFX version unification!

For Chrome and Firefox browsers, we'll begin offering only the current hardware as the default download later this week. This is part of the QZ Tray 2.2.2 launch and should help avoid confusion for the vast majority of users.

The last time I made platform download buttons (previous job) was before Apple Silicon and the broad OS stroke was enough. A few years prior on a different client, the PowerPC -> Intel transition was a thing to deal with. Still did the OS detection, but arch was left to using the marking names of PowerPC and Intel. Before writing up the issue I did look at current practice.

Unfortunately, "showing the right button" feature is not available on Safari. Apple's developers deliberately hide this information.

While Client Hints is a great move away from dreaded UA string, I also agree with Brave's stance that as proposed it's very problematic even though Brave is on Chromium. Which is why I think Firefox and Safari are also not on board. As proposed, it only advantages Google.

So a bit out of accuracy and perhaps a bit out of spite, it'll remain ARM64 for the foreseeable future, but in just a few days, it should be much easier to find the right version for everyone on the planet, except, of course, Safari users. 🍻

Because of Client Hints, Firefox, Brave, and other browsers won't work either. When it is out, ping me and I'll run it though my test suite.

@tresf
Copy link
Contributor

tresf commented Jan 19, 2023

As proposed, it only advantages Google.

The article linked is about to start Pre-K (it'll soon be 4 years old) and the concerns raised about Client-Hints in that article are of entropy far greater than what architecture someone's running.
If you notice, they also say they "won't throw the baby out with the bathwater", which seems to be what they've done. Brave sends architecture information. Furthermore, what we're talking about is directly advantaging us, so as a software developer, I strongly disagree with "only advantages Google" type statements to defend bad decisions.

Because of Client Hints, Firefox, Brave, and other browsers won't work either. When it is out, ping me and I'll run it though my test suite.

The statement of "other browser won't work" is quite misleading. Here's my tests, in order of relevance. Full disclaimer, I had no idea Firefox bowed down on this one, so that certainly weighs on this decision.

Browser OS Detect Arch?
Safari MacOS 🚫
Chrome MacOS
Firefox MacOS 🚫
Brave MacOS
Edge MacOS
Browser OS Detect Arch?
Chrome Windows
Brave Windows
Edge Windows
Firefox Windows 🚫
Browser OS Detect Arch?
Firefox Ubuntu 🚫
Chrome Ubuntu
Brave Ubuntu
Edge Ubuntu (didn't test)
Epiphany Ubuntu 🚫

Is the download page only for technical users, or do you want the download page to be inclusive to users of various levels of technical knowledge?

Information is inclusive by nature, so this is a bit prescriptive, but to bite... The downloads page is intended for both technical and non-technical users and the best phrase we could find for these users to differentiate between these architectures is "Intel" and "ARM64".

"Apple Silicon" is an Apple-ism. Linux and Windows suffer the same exact same issue described, there's no magic phrase to fix this for the masses, hence the "ARM64" being the final decision.

That said, Firefox really surprised me by removing this. I'll consider changing it.

@tresf
Copy link
Contributor

tresf commented Jan 24, 2023

Done and live: https://qz.io/download

@tresf tresf closed this as completed Jan 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants