cfpb / design-manual

⚠️ THIS REPO IS DEPRECATED ⚠️ A set of design principles and standards for the Consumer Financial Protection Bureau.
https://cfpb.github.io/design-manual/
Creative Commons Zero v1.0 Universal
98 stars 71 forks source link

Document new minicon standard #551

Open jimmynotjim opened 6 years ago

jimmynotjim commented 6 years ago

Based on the rules identified in #547, document the standard for both editing and creating new icons.

Dnpizarro commented 6 years ago

@designlanguage I wanted to document the 40pt line width option. I'm thinking we should probably discuss over hang outs. I'll connect with you over chat.

screen shot 2018-01-08 at 3 00 33 pm screen shot 2018-01-08 at 3 00 22 pm
designlanguage commented 6 years ago

@Dnpizarro - Yes, let's discuss over hangouts. From these screenshots, it looks like there might be a few exceptions. The arrow looks much thicker than 40 pt, and the $ looks thinner, so we should formalize if/where/when we use different rules. Same thing with filled in shapes like the fax machine.

It'll also be good to share with the team and get feedback on these. I'll add the initial explorations for documentation also:

Version Samples
Original screen shot 2018-01-08 at 3 40 44 pm
Original w/ circle screen shot 2018-01-08 at 3 41 18 pm
30pt outline screen shot 2018-01-08 at 3 40 57 pm
30pt outline circle screen shot 2018-01-08 at 3 41 07 pm
30pt filled circle screen shot 2018-01-08 at 3 41 12 pm
40/30pt outline screen shot 2018-01-08 at 3 41 38 pm
50/30pt outline screen shot 2018-01-08 at 3 41 44 pm
designlanguage commented 6 years ago

Seeing the outlined version of the minicons in context, we wanted to try a more filled in version to help them stand out from the text.

We would still keep some elements outlined to help recognition (like paper).

screen shot 2018-01-10 at 1 22 24 pm

jimmynotjim commented 6 years ago

@designlanguage @Dnpizarro any notes we can dump in here from this sprint before we forget about them? Maybe a bit about changing from baseline positioned to vertically centered on baseline and cap height at certain sizes. Could also include the change in line widths from circle icons to individual glyphs.

Scotchester commented 6 years ago

Once it was determined that the icons would all live on Illustrator artboards of the same dimensions, @jimmynotjim and I needed to create a batchable action in Illustrator to remove whatever left and right whitespace exists in the files provided to us by the designers, so that when we actually display them on a webpage, that whitespace is not rendered.

As there is no simple command to do that kind of thing in Illustrator, we determined with some Googling that the easiest way to handle it would be to write an Illustrator script – a snippet of JavaScript that can be executed on an Illustrator document. We found some Adobe forum answers to get us started down this path, beginning with the example script found here. Once that was working, we began iterating on the script to get it to do what we wanted, primarily referring to the official Adobe llustrator CC 2017 Scripting Guide [PDF].

The final script we arrived at is documented in https://github.com/cfpb/design-manual/issues/577#issuecomment-359943240

designlanguage commented 6 years ago

Starting the documentation on the rules for our icon set. To be continued...

The Artboard

To start, we created an artboard based on Avenir Next. Our icons are often used alongside Avenir Next, so it's important that juxtaposition always looks good. By matching the x-height, cap height, etc, of Avenir, we can determine how each icon aligns with the text beside it.

screen shot 2018-02-01 at 11 22 08 am

The standard artboard has a width of 1000 pts and a height of 1200 pts. [Add explanation about the 200pts of padding for web]

Icon sizing

Our icons have a variety of heights and widths, but it's important that they appear relative in size to each other. To accomplish that, we created a sizing grid:

screen shot 2018-02-01 at 12 21 31 pm

Horizontal Mid-horizontal Square Circle Mid-vertical Vertical
screen shot 2018-02-01 at 12 16 53 pm screen shot 2018-02-01 at 12 17 51 pm screen shot 2018-02-01 at 12 17 27 pm screen shot 2018-02-01 at 12 17 13 pm screen shot 2018-02-01 at 12 18 00 pm screen shot 2018-02-01 at 12 16 37 pm

This grid directly relates to relatively sizing rectangular icons, but some icons are irregular shapes. In those cases, optical sizing is important.

Fits grid Fits grid Optical sizing Optical sizing
screen shot 2018-02-01 at 1 09 24 pm screen shot 2018-02-01 at 1 11 30 pm screen shot 2018-02-01 at 1 08 23 pm screen shot 2018-02-01 at 1 08 48 pm

Relating open icons and circle icons

When typing or placing an icon next to Avenir in print or web, all icons should have a similar size. This includes the overall size of circled icons, and icons outside of circles.

So we created two sizing grids, a smaller one that fits within the standard circle, and a larger grid for icons outside of the circle. That allows the same icon inside and outside the circle to have a similar visual prominence:

screen shot 2018-02-01 at 5 19 02 pm

Alignment

Circle icon alignment

The overall position of a circle icon is centered on the cap height of Avenir Next. Inside the circle, icons are centered (optically).

Position of circle Position of icon within circle
screen shot 2018-02-01 at 5 31 50 pm screen shot 2018-02-01 at 5 26 01 pm

Open icon alignment

Outside of the circle, centering the icon often leaves it floating next to Avenir. To solve that, we started the grid on the baseline for more horizontal icons. Once an icon becomes taller than the cap height of Avenir, then it becomes centered on the cap height.

screen shot 2018-02-01 at 5 36 34 pm

Horizontal Mid-horizontal Square Circle Mid-vertical Vertical
screen shot 2018-02-01 at 5 36 53 pm screen shot 2018-02-01 at 5 37 10 pm screen shot 2018-02-01 at 5 37 26 pm screen shot 2018-02-01 at 5 37 40 pm screen shot 2018-02-01 at 5 37 50 pm screen shot 2018-02-01 at 5 38 02 pm

Shapes & detail

There are two types of icon shapes.

Simple icons

Simple icons are built from rounded strokes, not filled in shapes. Their main purpose is for navigation or status, and can be used at the smallest size (alongside Avenir paragraph text).

Element Open icon Circle icon
Example screen shot 2018-02-22 at 6 03 33 pm screen shot 2018-02-22 at 6 03 40 pm
Stroke weights 130pt 100pt

Complex icons

Complex icons are built from geometric shapes and they have rounded edges. Details inside the overall shape may have right angles if necessary though.

Element Open icon Circle icon
Example screen shot 2018-02-22 at 6 05 44 pm screen shot 2018-02-22 at 6 05 52 pm
Stroke weights 70pt 50pt
Corner radii 30pt & 70pt 20pt & 50pt

The standard stroke weights apply to objects in the icon, as well as the minimum negative space between objects.

[More to come]

Scotchester commented 6 years ago

Excellent start, George!