processing / processing-website

Repository for the processing.org website
https://processing.org
GNU General Public License v2.0
68 stars 94 forks source link

New download and releases page #412

Closed fdoflorenzano closed 1 year ago

fdoflorenzano commented 1 year ago

This PR adds the re-design of the download page, and adds a separate releases page for older releases as proposed by Raphaël.

Changes:

SableRaf commented 1 year ago

Looks great! Just a quick note: It looks like the tooltips are missing and the button design doesn't match the mockup (by the way, the tooltip should be on the Apple Silicon button instead of where it's placed in the mockup). I'll put the rest of the feedback in the code review.

Mockup: image

Current version: image

SableRaf commented 1 year ago

Oh and one thing I forgot to mention: the latest release of Processing is now 4.1.2 (and no, it hasn't been updated on the website either 😅)

fdoflorenzano commented 1 year ago

Hey @SableRaf !

I just pushes changes based on your comments:

I have some notes and questions for the couple pending comments:

the button design doesn't match the mockup

It doesn't! This was a design update we did while I was implementing the mockup. We updated it cause the previous design for different download assets didn't visually suggest they are clickable or actionable. The OS images had a similar look and weren't clickable, so we went with a different and more obviously clickable look for them.

It looks like the tooltips are missing

Yes! I left it for later while developing and then forgot to ask about it. I'm not sure whats expected of the tooltip:

SableRaf commented 1 year ago

It doesn't! This was a design update we did while I was implementing the mockup. We updated it cause the previous design for different download assets didn't visually suggest they are clickable or actionable. The OS images had a similar look and weren't clickable, so we went with a different and more obviously clickable look for them.

Thanks for the clarification! That brings up a tricky conceptual issue with the design. Ok, let's work through it :)

The OS images where meant to be clickable, similar to the 1Password download page. The thing is they can get away with it because they only have one possible download per OS, but in our case it complicates the UX flow.

The version text below is similar to what you can find on the Blender download page where it is not clickable or actionable as you correctly pointed out. It's also meant to act as additional information for the download button itself so it is better suited as a sort of caption for it.

Alright, here's a proposed design that solves those issues by reorganizing the information and using radio buttons for selecting the versions:

image

And with the tooltip:

image

The idea is to show the versions only for the currently selected OS. Note that I separated the Raspberry Pi releases for clarity and to emphasize the "runs on any platform" angle:

image

Do all assets need a tooltip? Or just Apple Silicon?

Yes, all assets should have a tooltip.

What's the text copy for each needed tooltip? Should it also have a translated version?

Supported OS versions + release date.

What's the data in the bottom of the tooltip? Does that come from the GitHub release data?

The timestamp for the release can be found in the JSON file for the release (e.g.: processing-1289-4.1.1.json) under publishedAt. The md5 and sha256 are not necessary right now.

fdoflorenzano commented 1 year ago

Thanks for the text and comments! Will work on them during the week, and probably will have a talk with Rune and Dana about the designs.

Just to clarify about your proposal, what's the interaction flow you expect? What's clickable? What happens when clicked? Which clicks actually trigger a download?

SableRaf commented 1 year ago

Just to clarify about your proposal, what's the interaction flow you expect? What's clickable? What happens when clicked? Which clicks actually trigger a download?

Thanks for your question! There are two scenarios:

A) The OS detection picked the right version for the user: they click on the big blue button to trigger the download. Done.

B) The OS detection wasn't successful or the user needs the Apple Silicon, or RPi versions:

  1. Click on the OS icon (the whole square area around the box should be clickable) for the desired system. Note: there should be a hover state for the OS button.
  2. If needed and available, click on the radio button for the desired version (at the moment, this only applies to macOS and RPi). Also needs a hover state and the whole rectangle should be clickable
  3. Optional: click on the info button to see the tooltip
  4. Click on the big blue button to trigger the download. Done

Note: The OS detection doesn't have to be perfect since the OS selector allows users to quickly switch to their desired system.

runemadsen commented 1 year ago

Just reading up on this discussion! I don't feel too strongly about the current layout, although I do think it's a pretty simple UX flow where you click the big blue button or click one of the more specific download links below. Everything is one click.

If we do want to change it to multiple clicks with the proposed radio boxes, I think that could work too, but I'm a bit concerned that we're adding options below the download button that affects the state of the download button. That's a bit unexpected, and I would be in favor of moving the download button below the OS selector if we go that direction.

@fdoflorenzano @SableRaf Thoughts?

SableRaf commented 1 year ago

I don't feel too strongly about the current layout, although I do think it's a pretty simple UX flow where you click the big blue button or click one of the more specific download links below. Everything is one click.

The concern I have over the current layout is that it brings back the "too many choices" issue the new design was meant to solve.

I agree that the "surprise radio buttons" isn't the best. We could show the radio buttons at all time and make it also possible to click directly on the radio button to select the OS instead of the extra step of clicking the OS button then radio button, at the cost of more visual clutter.

Putting the download button below would improve the B flow but add friction to the A flow. Another tradeoff 🤔 Also it might make the placement of the "caption" a little more awkward but that's not so bad. I can try an mock this up.

SableRaf commented 1 year ago

Ok I tried to reorganize things. It brings a bunch of issues however:

  1. When at the top, the download button acted as a headline of sorts (especially since the copy now says "Create with code.." instead of "Download Processing"). When bringing the button below, it gets more difficult to quickly grasp what this page is about.
  2. The metadata under the button was colliding visually with the "older versions" text so I tried swapping it with the bottom buttons but the result doesn't flow as well as before.

I would suggest keeping the button above but making the radio buttons visible even when the OS isn't selected. It is a little more cluttered but that's a compromise I think we can live with 🙃 If you have other suggestions or ideas, let me know!


With the button below: image

With the button above: image

fdoflorenzano commented 1 year ago

Thanks for the explanations! Going through the rationale behind the decisions made me think of another alternative.

Download Download-1

This is trying to:

SableRaf commented 1 year ago

That's a very good solution to avoid unexpectedly changing the state of the download button!

However, the buttons don't read clearly as download buttons. How about something like this? And putting the info button outside of the download button to avoid nesting clickable areas?


image

fdoflorenzano commented 1 year ago

ow about something like this? And putting the info button outside of the download button to avoid nesting clickable areas?

I like that! I'll go forward with this approach :)

SableRaf commented 1 year ago

Thanks @fdoflorenzano :)

I explored the design a little further and I feel like there is a risk that many Apple Silicon users would download the Intel 64-bit version by mistake. I propose the following small tweak:


Current design: the Button says "Download Processing 4.1.2 for macOS". If you have an Apple Silicon Mac, you have to notice the small text that says "Intel 64-bit" and know what it means, or click the info button to maybe notice this is not the right version for you.

image

Proposed tweak: Add a line of text that says "Got an M1 or M2 CPU? Download the Apple Silicon version instead." with a link that downloads the Apple Silicon version.

image

fdoflorenzano commented 1 year ago

@SableRaf I just pushed the latest tweaks including the warning for Apple Intel and mobile layouts!

SableRaf commented 1 year ago

Thanks @fdoflorenzano! It looks amazing. Here are a few items of feedback:

Main download button

Before image

After image

Tooltips

image

OS detection Would there be a way to also detect Apple Silicon? Even if it requires some feature detection that isn't 100% reliable, we could catch a number of users who may otherwise get the Intel version by mistake. cc @benfry

Thanks again for all your work on this update. I'm really excited to launch the new page and it couldn't have happened without everyone at DSI!

SableRaf commented 1 year ago

I just got some updates for the tooltip text from Ben. I can make those changes myself later if you prefer. Just putting this here for reference.

Windows: "Compatible with Windows 10 and 11. For best compatibility, we recommend Windows 10."

macOS Intel 64-bit: "Compatible with macOS 10.15.7 (Catalina) through macOS 13 (Ventura). macOS 12 (Monterey) recommended."

macOS Apple Silicon: "Compatible with M1 and later processors. Where possible, we recommend macOS 12 (Monterey)."

Linux 64-bit Intel: "Tested and supported on Ubuntu 22.04, but will work with most major distributions."

Raspberry Pi (32-bit ARM): "Latest version of Raspberry Pi OS is recommended."

Raspberry Pi (64-bit ARM): "Latest version of Raspberry Pi OS is recommended. The 64-bit release Raspberry Pi OS is newer, so if you have issues, try the 32-bit version."

fdoflorenzano commented 1 year ago

Thanks for the feedback @SableRaf! Just pushed another round of updates.

Main download button

All considered and tweaked as proposed.

  • The color of the tooltip is the same as the download buttons, which creates a confusing visual experience.

Yeah that;s true, I added a light border so there's more of a visual separation to the background.

  • The content could also use a little more padding.

I added a little bit more to the horizontal padding.

I also tweaked a little z-index issue I found the tooltip buttons had with the donate banner; and fixed the positioning of the tooltip when too close to the right of the screen.

OS detection Would there be a way to also detect Apple Silicon? Even if it requires some feature detection that isn't 100% reliable, we could catch a number of users who may otherwise get the Intel version by mistake.

I looked a bit into it and I couldn't find a well established and reliable way of doing it. Some approaches don't work in all browsers and even may break soon because the base API is subjected to change. There are some visual indicators for the Apple Silicon case to realize what they are downloading, and I'm also under the impression they usually have to check compatibility for their software.

I just got some updates for the tooltip text from Ben.

Also updated these and their translation!

fdoflorenzano commented 1 year ago

@SableRaf amazing! Thanks so much for the feedback! it made for a better result at the end.

Do you want me to merge or should I leave it to you to correctly time it? I'm not sure how you do it over here haha

runemadsen commented 1 year ago

Amazing! Can't wait to see this in the real world :)

SableRaf commented 1 year ago

@fdoflorenzano I will merge it myself, thanks for asking! I'd like to ask for input on timing the release.