How to pick a typeface for user interface and app design?

TL;DR: Make the Il1 coe test to check whether a typeface is suitable for functional text. Il1 should be easy to distinguish and the apertures of c and e should be open.

Il1 coe
Il1 coe
Il1 coe
Il1 coe
The Il1 coe check.

Oliver Schöndorfer makes some points in his article How to pick a Typeface for User Interface and App Design?:

  • Functional text: is short text. Labels, alerts, navigational elements, captions, and the like.
  • Clarity: Make the Il1 test (capital I, lower case l, and the number one). If these three shapes are easy to distinguish you found a good typeface.
  • Open shapes: The apertures should be open (like for c and e). Helvetica has closed apertures, while PT Sans has open apertures.
  • Reduced contrast: Look for a typeface with even, sturdy strokes. This does not necessarily mean it has to be a sans-serif (some subtle slab serifs could work as well), but in most cases it might be.
  • Set things legible: Letters set in all caps are harder to read.