Optical Effects in User Interfaces
medium.muz.li
medium.muz.li
1. Size is obviously not height. It's the area of the shape. There are complications though, e.g. negative space often adds weight. Blurring shapes is a terrible idea here.
2. Aligning shape edges is also an optimization problem to equalize overshooting areas.
3. Finding a visual center has nothing to do with the circumcircle in a general case. It's a well-known centroid. But, again, there are lots of complications.
4. A circle is perfectly circular. There are other reasons for the "O" adjustments in typography. It's even mentioned later on with no connection to here.
5. The round corners is another story. In this case G2 fillets are most pleasing. It's hard to make this adjustment by hand, that is why the examples look bad and unnatural. Squircle, Lamé curve, has nothing to do with the iOS icon shape.
Most of these adjustments can be done with mathematical precision. The rest can be approximated well enough with mathematical models. Ideally, design tools should guide these adjustments. There is definitely interest. My most successful plugin for Sketch happened to be the one for optical adjustments http://designplugins.com/optically.
Sitting in front of your computer all day doesn't make you a nerd.
Diving into a topic and not stopping until you develop a shockingly deep unterstanding, that does make you a nerd. (Bonus points for surpassing the generally-accepted experts on that field.)
For example, a 32 x 32 icon has 1,024 pixels. If we declared than any icon can only use 2/3 of the available area, then square icons would be reduced to 26 x 26, circle icons to 29 x 29, and more irregular shapes like a printer or magnifying glass would presumably get the full 32 x 32. It's trivial to sum up and calculate from the amount of transparency, and would leave rows of icons so much more optically balanced.
(More advanced -- to deal with hollows, you can "shrink wrap"/"gift wrap" the icon before calculating area.)
Despite your affinity for geometry, geometric fonts are the exception, not the rule. And even geometric fonts often have tweaks that make them less "perfect" geometrically but look more correct. https://en.wikipedia.org/wiki/Sans-serif#Geometric
A short video that demonstrates the intention of the lines: https://g-design.storage.googleapis.com/production/v6/assets...
It came from this article, Evolving the Google Identity (https://design.google/library/evolving-google-identity/) under section "Google G Construction".
I can understand the "near-perfect" circle, but wouldn't you agree that the (mis)alignment of the green and red arcs' edges feels wrong? Not about typography/legibility, but about the balance of lines. Interestingly, in the Futura font, which is quite similar to Google's Product Sans, the top line of the G extends a little further, so that its edge would have lined up "perfectly" as I would have preferred. For comparison: https://qph.ec.quoracdn.net/main-qimg-4c522c183600dbc2ede9aa...
What is interesting is that I didn't get anywhere near the thought of commenting on this (or opening the chrome debugger or something to turn it off manually). So it's interesting that such visual noise can be a low-level annoyance without becoming a conscious thought. (Until your comment.)
Visual designers must be trained to notice what to people who aren't doing it is just noise.
In fact only 35% of available area on this page is used for content. 65% waste...
But if I zoom the page out to 50%, or look at it on my phone, then things do work the way the author expects them to.
So I fear it may be difficult to correct for these effects as long as people use different screens.
The area of a circle isn't width * height though, obviously. If you plug pi * r^2 = 400^2 into WolframAlpha, you get a diameter of 2*r = 451.35 pixels, very close to the 450 pixels the author came up with.
For the icons too, maybe you could just count the pixels (ask Photoshop the amount of filled in pixels?) and make sure every icon has a similar amount.
Here's a minimal python/scipy script to measure the image centroid (of a b/w image):
from scipy import ndimage
im = ndimage.imread(args.input)
com = ndimage.measurements.center_of_mass(im)[:2]
size = im.shape[:2]
print("positive x is right, positive y is up")
print("image centroid is offset from image center by x:{0:.1f} pixels by y:{1:.1f} pixels".format(com[1] - size[1]/2, -(com[0] - size[0]/2)))