Blog

Scaling faces in a set

“Polytech” writes about scientists with disabilities and shows this cover image:

It’s a widespread design flaw: you put a set of similarly-shaped pictures of people side by side, but forget to adjust the scale of those pictures, and they end up very different.

It’s more neat when all faces are the same scale (colour, lighting). Minor differences in perspective or headdress can add a touch of life:

“Wired” once broke the rule of scale, but they put everyone at the same desk, dressed them in black, and colorised them in the same cinemtic teal-orange:

 No comments    18   2 d   web

Matching the typography of the three languages in Israel

In Israel, many signs are given in three languages: Hebrew, Arabic, and English. The three writing systems are very different, but sometimes designers try to find somewhat similar fonts to make all three work together.

The idea is good in itself, but the result is often poor.

The first picture is of the light rail station in Tel Aviv:

Everything seems to be equally low-contrast, straightforward, and close to pure grapheme. But the line heights and the stroke widths are all different, so it looks very sloppy.

The second picture is of a beautiful sign at the Rehovot police station:

Each writing system is being true to itself instead of trying to mimic a foreign one, but the whole thing still looks very consistent due to the same range of stroke widths.

 No comments    64   8 d   hebrew   Israel   typography

Signs in an Israeli train bathroom

A couple of days ago I visited Beersheba, a city in southern Israel.

In the train bathroom, there are two signs, one above the toilet, one above the button:

Both are dumb.

The sign above the toilet wants you to not throw paper and diapers in the toilet as there is a bin for that:

But what do you really see? The toilet is crossed out (there is no toilet?). At a glance, you just see a green checkmark and a hand that throws stuff. So, it’s OK to throw stuff. Nobody cares that there is a bin on the sign: the sign itself in placed above the toilet. The proximity is more powerful than the pictogram of the bin.

The sign above the button is dumb in a different way. The pictogram explains that it’s a button next to the toilet:

Oh really? I had no idea that it’s a button next to the toilet!

 No comments    49   14 d   Israel   signs   toilet   transportation   wayfinding

One spinner is enough

In user interfaces, a spinner is a normal indicator of thinking or loading. However, the modern web is often build from blocks that could be loading independently. As a result, you got multiple spinners spinning:

Not good.

The application architecture should account for the fact that multiple things could be loading at once. Where would the spinner be displayed? In the case of multiple instances of the same block type, it’s enough to show the spinner in lieu of the first one. When the blocks are diverse, in general it’s best to put the spinner in the largest or the top-most block.

The classic iPhone used to have a loading indicator right in the status bar:

If memory serves, there was an API for an application to tell the status bar: “Hey, I already have an indicator in my interface, so don’t show yours”.

But the art of thinking of how to avoid rubbish on the screen, has long been forgotten even at Apple, so you can’t expect this level of care from Twitter.

 No comments    66   20 d   feedback   interface

Using timezones in Calendar in remote teams

Those who have remote colleagues and clients sometimes struggle with timezones and don’t know how to use Calendar.

Here’s what you do. Turn on timezone support if it is off for some reason:

When you add a meeting, specify its timezone (unless it’s the one you are in):

In the toolbar, select which timezone to display your calendar in and create events by default:

To be honest, I have no idea how come this “timezone support” is an option and what happens when it’s off.

 No comments    79   24 d   Mac   screenshots   solution

How to do Offset Path in Figma

I’ve learned how to do Offset Path in Figma. Say you have a path, and you need to make another one parallel to this one at an offset x:

You copy the first path and give it a stroke width of 2x:

Then you do Outline Stroke (⌘⇧O) and adjust the stroke to your liking:

And then you remove the unnecessary points:

Done! Crazy, but better then “you can’t do it”.

 No comments    70   28 d   Figma   lifehack   solution

Resizing Mac Windows

If you start dragging a window’s border, the window will start to resize horizontally or vertically in that direction. And with the Option key pressed, it will resize symmetrically in the opposite direction as well (like in Photoshop, yes).

If you start dragging a window’s corner, the window will start to resize both horizontally and vertically in that direction. And with the Option key pressed, it will resize symmetrically in all directions.

If you double click a window’s border, the window will grow from that side to the edge of the screen. If you double click a window’s corner, the window will grow to the corresponding corner of the screen.

Therefore, to make a window cover the whole screen (but not go into the dumb full-screen mode), just alt-doubleclick any of the window’s corners.

See also:

 No comments    77   1 mo   interface   Mac

Derbent bus map

Check out our new transit map. This time it’s Derbent:

We made it with Nikita Dubrovin. The city is undergoing a public transport reform. The first bunch of bus routes have been simplified: 3, 4, 7, 10. The challenge was to lay out the old routes, which are still confusing. In several years, all routes will look reasonable.

How to trim text the right way

Recently, I wrote about Facebook’s crappy handling of long posts: it’s trims the text randomly and loses your reading position when expanded. So how should it be done? Let’s deal with the trimming first.

Trimming text in a random place is disrespectful to the author and the text, and is a further proof that Facebook doesn’t care what you write. It’s also an example of deep technology dependence: it’s easier for a machine to trim to a certain number of characters, and so it does.

There could be an aesthetic rationale behind trimming text, i.e. to make it fit into a certain design element. Of course this is also disrespectful to the author and the text, but at least the motives are humanistic. However trimming after a fixed number of characters is not even this: the physical size of lines of equal character length is usually variable: compare “iii” and “WWW”. Even in my Facebook example, a few more words would fit in the same box:

Sometimes trimming randomly not only ruins the meaning of the text, but changes its to something indecent:

So, if you can’t do without trimming, you have to trim carefully. How does Aegea do it?

The character limit is considered a rough guideline, not an exact value. If you need to fit in 140 characters, and the text is 143 characters long, then Aegea just won’t touch it. If the text is noticeably over the limit, then Aegea will divide it into sentences and try to take as many full sentences as it can fit. Here, for example, is the snippet of this post:

However, if the result is too short (or no whole sentence fits at all), Aegea will look for other signs of safe trim positions: semicolons, dashes, commas, brackets. Only if none of these are present will it trim at a word boundary. And only if there are no word boundaries, will it trim by the number of characters. The absence of word boundaries is a sure sign that the author themselves didn’t care about the meaning, so it’s fine if neither does Aegea.

In general, Aegea will try to make it as close to the desired length as possible, but so that the meaning does not suffer.

If I can code this, what would stop Facebook from doing it? I think it’s that it hadn’t even crossed anyone’s mind. Why would Facebook even care about doing anything well? What a nonsense. There is no such metric.

 No comments    68   1 mo   Aegea   being human   interface   text

Selecting from one SIM card on iPhone

Previously, when I swapped my SIM card, the iPhone more or less immediately asked to unlock it. But now for some reason it shows this interface, in which you can both “Cancel” and “Skip”, but to unlock the SIM card, you must first select the SIM card from the list! Of a single item:

I suspect this was introduced when dual-SIM phones came out. In theory you could insert two new SIM cards at once, and you’d have to unlock both. (It’s still unclear why you have to select them from the list first, but okay.)

In my “User Interface Fundamentals” course I have a lecture “Technology Dependence”. One of its sections is called “1, 10, 10, 1000”. It is about the fact that bad designers make interfaces assuming there will be N items, ignoring the fact that the best user interface for N items depends on the value on N. The interface above is clearly bad for N=1, and here, 1 is the most probable value of N.

 No comments    63   1 mo  
Earlier Ctrl + ↓