Skip to content

AI Launch - Landing page redesign - #51191

Merged
kelbyhawn merged 23 commits into
stagingfrom
ai-landing-page-redesign
Apr 19, 2023
Merged

AI Launch - Landing page redesign#51191
kelbyhawn merged 23 commits into
stagingfrom
ai-landing-page-redesign

Conversation

@kelbyhawn

@kelbyhawn kelbyhawn commented Apr 6, 2023

Copy link
Copy Markdown
Contributor

Redesign https://code.org/ai with the new brand styles.

  • Fully responsive
  • Features CSS animation of A.I. bot in hero banner
  • Using the existing AI video series partials, but I added downloadable versions in AWS and linked them up in the modal using the existing display_video_thumbnail partial pattern.

Asana task: https://app.asana.com/0/0/1204240637970988


Animated hero banner graphic

Screen.Recording.2023-04-13.at.1.20.47.PM.mov

Before

code org_ai

After

localhost code org_3000_ai

@kelbyhawn
kelbyhawn requested a review from a team as a code owner April 6, 2023 23:10
@kelbyhawn
kelbyhawn requested a review from dmcavoy April 13, 2023 20:34

@dmcavoy dmcavoy left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good from Product perspective after fixing the quotes area on mobile. Thanks Kelby!

@kelbyhawn
kelbyhawn requested a review from a team April 14, 2023 19:08
@megcrenshaw

Copy link
Copy Markdown

One thing I'm noticing: on small screens, the teachers' quotes aren't coming through
image
image

@kelbyhawn

Copy link
Copy Markdown
Contributor Author

One thing I'm noticing: on small screens, the teachers' quotes aren't coming through

@megcrenshaw it works if you reload the page and it's already in mobile — I assume this has something to do w/ the jquery plugin that’s used not adjusting the height on a browser resize.

@@ -0,0 +1,3 @@
<div>
<%=view :display_video_thumbnail, id: "why_ai_matters", video_code: "dWRnCXbUDgA", play_button: 'center', letterbox: 'false', download_path: "//videos.code.org/ai_series/ai-why-ai-matters.mp4" %>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The display_video_thumbnail view isn't tab-navigable, i.e. I can't hit "play" using a keyboard. What I don't know is the best way to fix that. Maybe in the display_video_thumbnail partial, this img tag

%img.play{:src => "/shared/images/play-button.png", :alt => "play button"}

needs to be wrapped in an anchor or button tag? https://stackoverflow.com/questions/23475534/make-img-tag-tabbable-respond-to-tab-key-navigation

Looks like YouTube uses an a tag, but that goes to another page ...
image

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The display_video_thumbnail partial is used all over the site — I think a fix like this would be better in it's own issue/PR so we can adequately test it out. I'll make a note of this!

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great, thanks!

Comment thread pegasus/sites.v3/code.org/views/ai_vid_neuralnetworks.erb
Comment thread pegasus/sites.v3/code.org/views/ai_microsoft_block.erb

var id = '#ai-carousel';
// Define the carousel using the ID.
$(id + ' .slides').carouFredSel({

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This actually read on VoiceOver really nicely! But I wasn't able to tab navigate to the next slide. I'm not familiar with the carouFredSel plugin and a quick search didn't pull up an easy fix for this –– I don't think this is a blocker

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the future I'd like to replace this plugin w/ either a native JS slider or a non-jQuery slider so we have more control over stuff like this, but this one is already used throughout the site.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Got it, makes sense!

.wrapper
.text-wrapper.col-60
%h1{style: "color: white; margin-bottom: 0"}=hoc_s(:ai_hero_heading_01)
%h2.heading-xxl{style: "color: white"}=hoc_s(:ai_hero_heading_02)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a reason why the first part is an h1 and the second an h2? It reads a bit funky on VoiceOver due to the different header levels.

@kelbyhawn kelbyhawn Apr 18, 2023

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did it so we could get an intentional line break on the "It's just code!" line and wanted to avoid two h1s — but maybe it's better to try to break this up w/ css and have the whole string as one string for better translation?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mgc1194 maybe you can speak to what would be better here? These are the two strings in question:

ai_hero_heading_01: "Artificial intelligence isn't magic…"
ai_hero_heading_02: "It's just code!"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do think for translatability, it'd be better to keep this as one string. But I'm good with it being a follow-up, as I know getting the styling right will be tricky

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool, ty! I made a ticket to follow up.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great, thanks!

Comment thread pegasus/sites.v3/hourofcode.com/i18n/en.yml Outdated
Comment thread pegasus/sites.v3/hourofcode.com/i18n/en.yml Outdated
@megcrenshaw

Copy link
Copy Markdown

@megcrenshaw it works if you reload the page and it's already in mobile — I assume this has something to do w/ the jquery plugin that’s used not adjusting the height on a browser resize.

Ah, I see! Yes, this looks good –– thanks!

@mgc1194 mgc1194 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So much work!
I really appreciate that all new strings are already localizable!

@megcrenshaw megcrenshaw left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Having a single header string would I think be more translatable and more accessible, but it's not urgent. This looks great! Thanks for making this easy to review.

@kelbyhawn
kelbyhawn merged commit 810d04f into staging Apr 19, 2023
@kelbyhawn
kelbyhawn deleted the ai-landing-page-redesign branch April 19, 2023 16:00
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

Successfully merging this pull request may close these issues.

4 participants