freeCodeCamp / CurriculumExpansion

Creative Commons Attribution Share Alike 4.0 International
313 stars 105 forks source link

Applied Visual Design Challenges #7

Closed QuincyLarson closed 7 years ago

QuincyLarson commented 8 years ago

@atjonathan is in charge of coordinating the expansion of these challenges, but he needs your help.

For each challenge, please reply to this GitHub issue with:

  1. Challenge description text
  2. Test suite (using the assert method)
  3. The seed code, which is pre-populated in the editor at the beginning of the challenge
  4. A working solution that makes all tests pass

    Final Challenges List:

Challenges using a Bootstrap Card (consistent)

Challenges based on position

Challenges based on color

Challenges based on typography

Ungrouped challenges

Challenges based on Animation

QuincyLarson commented 8 years ago

@ahmadabdolsaheb I'm in the process of transferring all of these challenges into our codebase and deploying them to beta. So you will soon be able to experiment in the live environment.

ahmaxed commented 8 years ago

I propose the following order for the animation challenges.

Note: the first challenge on the list was named _Learn how CSS Keyframes Work_, but I changed it to illustrate what the challenge include more accurately.

ghost commented 8 years ago

Tagging @QuincyLarson for conformation. Once Quincy has confirmed, you can update the original issue description :smile:

QuincyLarson commented 8 years ago

@atjonathan thanks for tagging me. Yes, seeing that @ahmadabdolsaheb designed these challenges, I think we should defer to him as to how you think they should be sequenced. :)

ghost commented 8 years ago

@QuincyLarson Awesome, @ahmadabdolsaheb you have the go ahead!

HKuz commented 7 years ago

Hi everyone - just a head's up this section has been reviewed and my QA edits integrated into the FCC branch. There may be some adjustments going forward, but it should be in decent shape. Two items I did want to bring up:

1) For introductory text, I can certainly take a crack at writing it for the section. Visual Design is a broad topic, and I wasn't part of the initial discussions about the goals we're trying to hit here, so any info or details about that would be a huge help. Even a handful of bullet points would be great. So far I have:

2) I noticed some of the animation challenges (which were really well done, by the way) used glyphicons via Bootstrap. In terms of future maintainability, looks like Bootstrap 4 is deprecating them - see the "Components" section. If the live site supports Font Awesome, we may want to consider making that tweak.

HKuz commented 7 years ago

Sorry for the early trigger pull on that comment - it's fixed now πŸ˜„

ghost commented 7 years ago

@HKuz, yeah we can use font awesome. I'll fix that on the branch.

ghost commented 7 years ago

This can be closed because it's done!

QuincyLarson commented 7 years ago

@HKuz we should avoid using Bootstrap before we reach the Bootstrap section. Is it possible to swap out these icons for static images? We will cover Font Awesome in the Bootstrap section.

ghost commented 7 years ago

@QuincyLarson we use Bootstrap in nearly every challenge in applied visual design. We would have to rewrite most of the challenges if that's the decision.

HKuz commented 7 years ago

@atjonathan I already swapped it out with some lightweight CSS for the challenges that used it as part of the QA stuff. The icons were the only pieces that remained. Right now the 3 challenges that use them have text that reads "Note: The code example is using an X icon accessed through a web library. Don't worry if this is new for you, it will be covered in the Front End Libraries section. For now, focus on the animation aspects of the challenge."

If we go the image route, are there publicly available ones that we'd have access to use without license/permission issues?

HKuz commented 7 years ago

@QuincyLarson and @atjonathan - there were a handful of empty challenge placeholders for topics that (to me) seem like they're well-covered by the completed set. They're the ones without links in the list at the top. Can I remove them from the seed file?

ghost commented 7 years ago

@HKuz, are they challenges that are comments here?

HKuz commented 7 years ago

@atjonathan they are the ones in the list, but that don't have a comment on here (like the first few Typography ones). I did check that all the others got into the seed file.

ghost commented 7 years ago

@HKuz, I believe those are ones we left out. Feel free to get rid of those πŸ˜„

HKuz commented 7 years ago

@atjonathan okay, thanks - I'll add the Google font link and clean up the empties in the next iteration.

HKuz commented 7 years ago

My attempt at Intro text for the section - will be in the next PR. Any comments/suggestions welcome!

Visual Design in web development is a broad topic. It combines typography, color theory, graphics, animation, and page layout to help deliver a site's message. Many books cover these themes, and what defines good design is a well-discussed subject.

At a basic level, most web content provides a user with information. The Visual Design of the page can influence its presentation and a user's experience. In web development, HTML gives structure and semantics to a page's content, and CSS controls the layout and appearance of it.

This section's goal is to cover some of the basic CSS tools that allow developers to create their own visual designs.

QuincyLarson commented 7 years ago

@HKuz this is great! This is an excellent description of visual design, and I think it covers all the fundamentals quite well.

Just a quick note that many (most?) of the people working through Free Code Camp are non-native English speakers. You may be able to convey the exact same meaning in simpler words and shorter sentences. Here's a tool I often use to identify unnecessary complexity in my writing: hemingwayapp.com

HKuz commented 7 years ago

@QuincyLarson that's a good point - I'll can try sticking to the 1000 most common words 'rule' I've seen around, and keep these intros simple and straightforward.

QuincyLarson commented 7 years ago

@HKuz OK - I wouldn't overthink it too much. Just be aware that many words and idioms have much simpler ways you can convey them without any loss in meaning :)

Atomk commented 7 years ago

This is my attempt at simplifying @HKuz 's attempt :) English is my second language, I thought an input from an outsider could be useful. You can find in italics the parts I've changed.

Visual Design in web development is a wide topic that mixes typography, color theory, graphics, animation, and the overall layout of a page. Its main goal is to deliver a site's message in the most effective way, and improve user experience. Many books cover these themes, and what defines good design is discussed since long before the birth of the internet.

At a basic level, most web content provides a user with information, and the Visual Design of the page can dramatically influence its presentation. In web development, HTML gives structure and meaning to the page's content, and CSS controls the layout and appearance of it. This section's goal is to cover some of the basic tools CSS offers that allow to create effective visual designs.

HKuz commented 7 years ago

@Atomk - thank you! Very helpful to get the perspective from a non-native English speaker. This did go through an iteration to remove the more, uh flowery(?) language, but I'll compare it to your suggestions and layer them in. Cheers!

QuincyLarson commented 7 years ago

@HKuz One thing we should definitely add to this is how to center text. Would you be able to create a quick challenge for this, showing that images can be centered with:

img{
  margin: auto;
}
HKuz commented 7 years ago

@QuincyLarson that should be an easy add, and I'll get it in the next round of changes on the CE branch. I may write the challenge to center a colored div element, and make the point that it applies to images too - try to avoid excess use of images πŸ˜„

Atomk commented 7 years ago

I would also add a challenge about the different type of selectors and combinations, at least the most common ones, it's something I really missed when I started building the front-end projects.

div .target   /* all elements with class "target" inside a div */
.container button /* all buttons inside elements with class "container" */
div.well   /* all divs with class "well" */
html, body, div   /* apply the same style to html, body and div elements */
HKuz commented 7 years ago

@Atomk sure - these challenges would probably make more sense in the existing CSS section (see issue #74). If you want to take a shot at writing them, that would be great! Just indicate where you think they should go in the ordering in the list at the top of the post.

Here's the challenge style guide and here's a comment with some more info. You can read all the comments in issue #55 - there's advice from others there, too.

Let me know, thanks!

QuincyLarson commented 7 years ago

@HKuz OK - that sounds good. We have those challenges focused on the box model (margin and padding) and this might be a good place to introduce the centered div challenge.

@Atomk I agree - we should definitely include CSS nesting. I can't believe I never thought to cover these. Great point! Thank you for your help designing these challenges!