Thought I’d put something about the switch to single-svg-icons here, because it’s a bit too speculative to fill up Github PRs with.
To summarise for anyone who hasn’t looked at the Github thread: in future, Gnome (and icons designed to Gnome recommendations) will ship a single svg for >32px icons instead of multiple pngs optimised for the different sizes.
SVGs scale to some sizes better than others. For instance: if you divide your icon into different coloured thirds and scale it to 40px, the edges of the thirds won’t be 100% clear, because 40 doesn’t divide by 3. That means the boundaries will fall between pixels, leading to a bit of antialiasing (i.e., pixels that are midway between the two colours on either side).
Under the current system, we optimise icons for key sizes and ship the different versions, meaning that key sizes are as clear as they can be. But we can’t do that under the new system.
Gnome’s new guidance is to prove a single 128px svg optimised to be sharpest at 128px, 64px, and 32px. This presumably means that the designs are planned with a grid of 4px squares, where each square = 4px, 2px and 1px exactly at each of Gnome’s preferred sizes. So, boundaries and elements aligned to the grid won’t fall between pixels at those sizes, but will at other sizes. The largest Suru svgs are already designed in a similar way and scale well to similar sizes.
The most obvious thing for us to do is use the largest Suru svgs when we switch to the new system. One problem is Ubuntu’s current default launcher is 48px. The new Gnome icons, the most detailed Suru svgs, and the any third party icons designed to Gnome’s new guidelines won’t scale 100% well to this size. This isn’t a problem for us now because we make separate icons for the 48px size which are optimised to display very clearly at 48px, but that option is going away. So, the icons won’t look as nice as they do now unless we take action.
We’ve discussed the possibility of changing the default launcher size to 32px, to be more Gnome-friendly, but that’s not the only consideration here.
In our current Suru icon set, the squircles themselves and drop shadows are optimised for the different sizes. The full size icons have beautifully subtle edging and shadows that are sometimes lost at the smaller sizes.
The smaller icon sizes have highlights of exactly 1px at each size, which make the buttons stand out. Also, some designs have sharper drop shadows of 1px to make elements clearer. Unfortunately, when you scale the small icons up, those elements look too bold and cartoonish. So, using the full size icons and using the small icons both have disadvantages when we move to the new system.
Proposal: before we switch to shipping a single svg per icon as Gnome recommends, we create a new Suru template with slightly different style rules. This template will make sure that:
a) The icons look a bit better at 32px than the full size svgs would, but
b) They don’t look crude and cartoonish at larger sizes (i.e., no thick dark borders round the squircle).
This is a WIP, but I’ve started by trying to do a reconfigured version of the messaging app. So far it looks like this at the three sizes:
I’m trying to make this a hybrid style that softens the tradeoff in quality. The idea is to have a halfway house style that looks better than the full size icon at 32px, but also better than the 32px icon at 128px. At 32px, it already looks a tiny bit better than the full size icon (shown first) would:
Like I say it’s a WIP, and it isn’t yet a better alternative than just using the full size svg, but I’ll keep working on it and see what I can come up with. If we do change the default launcher size to 32px, it’ll be very important for the icons to look great at that size.