Download Page Redesign for KVM, Qubes and More Needed

[html]

Whonix‘s current Download page only mentions the downloadable stable VirtualBox images. But Whonix can do far more. There is also physical isolation and there is support for other virtualizers, testers-only support for KVM, QEMU and experimental support for Qubes.

Due to Whonix’s diverse user base, presenting all that information to (first time) visitors is a huge challenge. A dedicated wiki page about this topic has been created. I will convert those raw information into a more elaborate explanation in this post.

Obviously the Download page should be as simple as possible. This is also not ideal with the current Download page. On the other hand it shouldn’t omit security critical information.

There are so many different types of users. They are using various host operating systems, that are all more or less recommended to use a host for Whonix. Users who are using Windows and Mac hosts may not be using the safest host operating system available, but they get a chance to try Whonix and to get accustomed to Linux until they are ready to switch their host operating system. (This is by the way how I got in touch with Linux. Experimented with it inside virtual machines for years.] Unfortunately, Windows users can only use VirtualBox, because there is no KVM for Windows. [QEMU might be possible, but no one worked that out yet, and it may not be a huge gain anyhow.]

Obviously users who are using Qubes as their main operating system will want to learn about Whonix’s support for Qubes. The point is, what version of Whonix is the right one for particular users depends a lot on their environment (host operating system), knowledge, requirements and so forth.

Download security is another point. There is a compromise between usability and security. It depends on the threat model one is having in mind. An issue any software project that distributes any kind of downloadable files is affected by. Due to an issue at other levels, namely that browsers do not support metalinks and OpenPGP, and the lack of Linux distributions integrating well with a usable, secure public key sharing mechanism, so file verification is complicated and left to the user. As an experiment has shown, the improved download table that highlights the importance of file verification has increase the number of users who actually do verify files.

Download method, while browser downloads was always the main method to provide file downloads, every now and then torrent downloads were requested. But I am still unsure about the benefits. While not having torrent downloads would lower maintenance effort when creating new Whonix versions, the absence of torrent downloads might annoy a few users. However, I am very uncertain if the torrent download method is one of the less important aspects that should be more hidden at first view.

Users should also be informed about the state of development. Stable, testers-only, experimental.

Ideas:

  • I was wondering if dropdown selection menus might be the way to go?
  • Or perhaps to not overwhelm users, go as minimal and simple as possible, catch their interest and then provide the more advanced information behind an expand button?
  • A combination of both methods?
  • Other ideas?
  • Let’s perhaps create various mockups of alternative (Download) wiki test pages, then compare them and discuss?

I am confident that there must be a solution. Others, such as Debian, the excellent, successful and universal operating system that Whonix is based on, also supports so many platforms at once also has found a solution to this.

Summary, see wiki page:

https://www.whonix.org/wiki/Dev/Download_Wizard

(The overview of all pages related to downloads can be found here. Let’s try to focus on the Download page for this discussion and eventually use other topics for other related topics.)

Update 1:

Let’s better not consider what happens if someone wants to maintain other desktop environments or 64bit builds. :)

Update 2:

Forum discussion can be found here.

Update 3:

Thomas White is now hosting a Whonix onion mirror:

https://www.whonix.org/wiki/Download_Security#bbbbbb6qtmqg65g6.onion

http://bbbbbb6qtmqg65g6.onion/whonix/


[/html]

A very welcome addition :smiley:

I am leaning towards expanding heading sections for each hypervisor. With a table for each similar to what you have now.

A statement under each could make it clear what hypervisor host OS is supported?

Please make a test page for it.

A statement under each could make it clear what hypervisor host OS is supported?
Dunno. Have to see it.

[hr]

Thought perhaps https://www.whonix.org/wiki/Dev/Download as an overview page, where we link to various proposals such as https://www.whonix.org/wiki/Dev/Download/1. (Any name.)

[hr]

I think I may be creating a proposal myself. Then we can compare them.

Maybe a simple approach could be this… Keeping the Download page as simple as possible and then forward to more specific pages such as KVM, VirtualBox, Qubes, physical isolation.

Pages for specific virtualizers are providing file downloads (VirtualBox, KVM, …) could have their own download table on each individual page. I mean, the Whonix for Windows, macOS, Linux inside VirtualBox page would only link to .ova’s while Whonix for KVM would only link to libvirt tar.xz’s. But both, the KVM and VirtualBox would briefly mention "overview of all Whonix additions (VirtualBox, Qubes, KVM, physical isolation see Download page). The latter is useful to prevent "Whonix supports only X claims, because users tend to share direct links to specific pages.

Then the Download page wouldn’t link any files (at least the simple, non-expanded view not) but only various options depending on host operating system and release status.

Maybe a simple approach could be this... Keeping the Download page as simple as possible and then forward to more specific pages such as KVM, VirtualBox, Qubes, physical isolation.

I like this better. Preferable to my original idea of just listing everything on one Download page. The order of that page could give people the idea that versions towards the top are better than ones later.

Each supported hypervisor would have its own page with the links tabulated in such a way as you have for VirtualBox’s images now.

Yes.

The order of that page could give people the idea that versions towards the top are better than ones later.
Well, not sure I understand that one. Better? I am not sure we should ever say KVM is better than Qubes or vice versa. Probably the topic is too complex to make a consensual, fair value statement there. Unless one will be blessed stable while the other will be blessed testers-only or so.

As for which move to the top… To avoid conflicts here, if they’re really equal all some day, we could randomize the order to be fair. (We got the RandomText mediawiki extension already installed since it’s useful for the https://www.whonix.org/wiki/Template:RandomNews page.) [But I guess we can discuss minor details such as ordering when we got some drafts.]

I am not sure we should ever say KVM is better than Qubes or vice versa.

Exactly. What I’m saying is that the order (on one page) could be interpreted by users as getting preferential treatment from the Project - which should never be so.

As for which move to the top... To avoid conflicts here, if they're really equal all some day, we could randomize the order to be fair. (We got the RandomText mediawiki extension already installed since it's useful for the https://www.whonix.org/wiki/Template:RandomNews page.) [But I guess we can discuss minor details such as ordering when we got some drafts.]

Or they can be listed side by side with the order explicitly mentioned as strictly alphabetical.

As far as statements on stability are concerned, they should be made on the page of each version.

Sounds good.

Except not sure about…

As far as statements on stability are concerned, they should be made on the page of each version.

Perhaps we’ll see when we got drafts up.

I’ve been trying to think about this from various user perspectives…

Some people will only care about specific Host OS options, since that’s what they’re already using or need to use based on a project spec.

Some people will only care about specific Virtualizer options, since that’s what they’re already using or need to use based on a project spec.

Many people will also be open, undecided, or uncertain about specific Host OS or Virtualizer options and will want to know about the primary capability differences and security strengths/specialties between the options in order to make their decision. Wondering if this info could be reasonably summarized between the options to make this convenient so people don’t have to read multiple long-form pages to simply get an idea of what they’re interested in further pursuing in detail.

[hr]

From a usability perspective, it would be good for the user to be able to see such attributes across all options at once.

Meaning that people shouldn’t have to select options to show this information for their selection, but have it hide information for other options. Makes understanding confusing. Comprehensive options overview should be able to be visible all at once.

Drop-down menus might prevent this usability quality.

Also no JavaScript mandatory requirement to show information for options.

[hr]

The ultimate download links might be best on individual platform pages (VirtualBox, KVM, Qubes, Physical Isolation, etc), since that way there can be any necessary long-form installation/configuration instructions provided along with the downloads. And yes with links back to main download page for options overview.

[quote=“WhonixQubes, post:9, topic:716”]I’ve been trying to think about this from various user perspectives…

Some people will only care about specific Host OS options, since that’s what they’re already using or need to use based on a project spec.

Some people will only care about specific Virtualizer options, since that’s what they’re already using or need to use based on a project spec.

Many people will also be open, undecided, or uncertain about specific Host OS or Virtualizer options and will want to know about the primary capability differences and security strengths/specialties between the options in order to make their decision. Wondering if this info could be reasonably summarized between the options to make this convenient so people don’t have to read multiple long-form pages to simply get an idea of what they’re interested in further pursuing in detail.[/quote]
Yeah.

This reminds me. No matter what we decide here, a nice and colorful comparison table [for comparison, see Anonymity Operating System Comparison - Whonix vs Tails vs Tor Browser Bundle], “comparison of virtualizers” or more generally “comparison of supported platforms” could be created. Not implying it should be on the Download page, but somewhere in the wiki. Maybe we should just pimp https://www.whonix.org/wiki/Comparison_of_different_Whonix_variants up?

From a usability perspective, it would be good for the user to be able to see such attributes across all options at once.

Meaning that people shouldn’t have to select options to show this information for their selection, but have it hide information for other options. Makes understanding confusing. Comprehensive options overview should be able to be visible all at once.


Yeah. Hiding stuff by default is just an idea for now. For could also have a nice overview of all and only hide extended information. Or use tooltips? Or no hiding at all.

Also no JavaScript mandatory requirement to show information for options.
Yes.

(By the way, just adding new information: The drop down menus work without javascript. And the expand buttons are expanded by default without javascript. Just now added that information to the wiki.)

The ultimate download links might be best on individual platform pages (VirtualBox, KVM, Qubes, Physical Isolation, etc), since that way there can be any necessary long-form installation/configuration instructions provided along with the downloads. And yes with links back to main download page for options overview.
All reasonable.

I like the idea of a “Download - Overview” page organized by hypervisor, with quick download links (and a “download security explaination” section on top). Short (no need to expand) introductions under each hypervisor could link to “Download/Install - $Hypervisor - Detailed” pages.

However, is there any other project that’s more complicated to install than Whonix? We’re going to need something different. I think the missing element is user education. The first thing most users should see is not the download page, but an educational “Whonix and You” / “How to use Whonix” page with Beginner (VirtualBox, USB), intermediate (kvm), and advanced (qubes, isolation) sections.

Yeah, well, we kinda have this, I think. When you are on https://www.whonix.org and click the huge “Download” button, it tries to catch the user’s attention first to make the user read documentation first. However, “bending” humans doesn’t work so well. Most come with a “where can I download the iso” mindset and tend to share direct links to downloads on third party pages. So making them read a lot beforehand does not work in the majority of cases.

Are you still working on the draft?

[hr]

Update:
One more method for download.

Thomas White is now hosting a Whonix onion mirror:

I want to work on the re-design an here’s what I want to do:

*Create separate copies of the original template and change the links in each to point to its image type. This is much easier than trying to add variables of all kinds to a single template table.

The page would list the options sequentially, in alphabetical order and make a note of it at the top of the section and let users know that there are multiple flavors of Whonix.

Mockup:

=Introduction=

==Whonix Image Flavor 1==

Supported Platforms:

{{Template 1}}

==Whonix Image Flavor 2==

Supported Platforms:

{{Template 2}}

I see. Yes. I guess otherwise the table would be overload if all sorts of stuff would be in a single one. A table per platform sounds sensible.

Should the qcow2 table include a torrent row?

I will put the image format as the title of each table since that’s what makes them different. hypervisors and platforms will be sub-headers.

Qubes and KVM use libvirt.xz so they can be listed for the same table.

OK I pushed what I think the final changes should look like. Please give me your feedback or roll back the changes if you feel they should be different.

Should the qcow2 table include a torrent row?
Why not? (That does not implicate "yes".)

I think if we go back to the origin of this topic, we also contemplated to throw out torrent everywhere and bury it somewhere for simplicity.

Qubes and KVM use libvirt.xz so they can be listed for the same table.
Qubes is not installed that way anymore. (https://www.whonix.org/wiki/Qubes/Binary_Install)

Since images currently aren’t shared among virtualizers, I think separation by virtualizer rather than image type would be more user centric.

Why not? (That does not implicate "yes".)

I think if we go back to the origin of this topic, we also contemplated to throw out torrent everywhere and bury it somewhere for simplicity.

I thought someone had to seed it for this to work but I saw it was a webseed generated from the mirror.

If no one seeds the files besides the main server, there is no point providing that option IMO. I can easily remove it.

Qubes is not installed that way anymore. (https://www.whonix.org/wiki/Qubes/Binary_Install)

Ok. Seeing there is no files that can be directly downloaded from a mirror, do you still want Qubes mentioned on there? Does Qubes have a dedicated page about Whonix to introduce the project to their users?