Variability

a vibrant pitchfork

When I saw the early variants of @font-face with all the font formats inside, I was reluctant to use it. It felt somehow very wrong to me. Now, when the support of font formats has improved radically, people have pointed out that we can remove all of them except WOFF and then compress it with the FontSquirrel tool, embedding only the characters that we need. I already knew that Google is doing something similar with the fonts they made accessible through their CDN as they weren't quite happy with their sizes. Icon fonts are another alternative that might be worth paying attention to, since we include only the icons we need, which saves HTTP requests. Whether this becomes a more maintainable alternative than CSS sprites, only time will show. However, we must be careful with our desire to put everything in a font. When we speak about fonts, we still mostly mean type and not symbols, so it's useful to keep the distinction.

Different video, audio and image formats are great, but depending on the browser, they can have varying loading times. Network load and latency also introduce variability, which is said to be especially true on mobile devices. If our website relies on external services that we can't control, and they respond differently according to their current load, it also means that we introduce variability in our design. Even what might seem not variable can be variable. For instance, if we have a processor-heavy application, it might run equally well on all browsers, but perform very different on devices with different battery characteristics. This will highlight the differences in time it can be effectively used.

For our users, variability can raise the issue of fairness. What can still be perceived as fair when it varies? We can make our new application invitation-only, but this isn't fair to the people who weren't lucky enough. And it will be seen.

What we can do is to always be cautious for the variability we introduce in our designs and seek ways to limit it.

bit.ly/XQwoF9