I used to tell myself I couldn't code or write without the perfect font. I'd spend hours looking for it, and end up not getting any work done. When I finally did get around to actually working, five minutes in and I'd forget about the font completely.
I have a (rather lazy) friend who's been asking me to help him start a blog for years now. I've promised to after he
produces his first block of content, and he keeps saying he can't write if he doesn't feel the design is aesthetically pleasing. If he'd spent his time writing instead of worrying about this, he'd have a crappy initial draft, several revised drafts, and probably something decent by now. But no, that prohibitively unattractive font!
It was nice of iA to write this up, and design posts are a fun read, but does anyone who's busy actually writing care about this?
I recently converted my dynamic DB-driven blog to a static website. I did not predict how badly the added latency between having an idea, writing down the first flawed paragraph, saving a draft, reading what I wrote, then revising and publishing would reduce my writing output. Sure, I can write in Google Docs, but because it's not on my site one click away from being "out there" I am far less compelled to write down my fleeting ideas. Over time I have learned that fleeting ideas are the best ones because they exist at the limit of your understanding. Maybe if you help set up his blog, he'll be more likely to write?
I had the opposite feeling. I wrote my PhD thesis in 1998-2000 and the editor of choice at the time was Word.
It was a pain to deal with the formatting, spacing, page breaking and other -ings.
I then tried LaTeX and all problems vanished. Since I could not influence the output (at least without a lot of work) I simply gave up and started to "code my text". It was way faster than admiring my artful working all the time, I just complied the text from time to time and I was done.
Markdown is a must. I used it on dynamic blog and on my static site, but I paid less attention to my writing when posts were not "live".
I believe that Bret Victor's Inventing on Principle concept of minimising the time between having an idea and seeing a change universally applies to every user kind of interface.
His buddy isn't being blocked by a clunky workflow, though. His friend has trouble starting because he can't see his writing in a font that he likes.
I'd suggest that the friend write his first post in Word or somesuch with a font that he likes. Then, when he has a good first post, export it to the blog.
I completely agree. I spent quite awhile setting up a Hugo powered blog, getting my theme just right, getting GitHub pages with CloudFlare for SSL working. And then...nothing. Because there's just too much friction.
I'm going to move to WordPress and be done with it. No I won't have faster than lightning page loads anymore, but it'll be much lower friction to publish something.
For me, I need breaks, and stimulation. Sometimes, tinkering with fonts and colors is just the right kind of distraction to get a project back on track, and to replenish my joy of coding.
Honestly, I think I have about six hours of full-concentration work in me in a typical day. Less, if it's mentally demanding work. Sometimes, the best thing I can do for a project is take a walk, or let it rest for a bit and let my subconscious keep churning on it.
I'd guess in almost any trade, the craftspeople care about their tools, even aspects that are mostly aesthetic. I consider myself pretty busy, but I still spend a half an hour every few months reviewing the space of available fonts, looking for something that appeals even more than my current favorite.
(FWIW that's PT Mono for the last few months, after almost a decade of using Ubuntu Mono exclusively.)
Most subtle ergonomic issues are weakly related of our preferences. Even if people consciously prefer one font to another, they may be more productive in the one they don't like. If there is actual difference, it should be measured not discussed.
Dual space fonts look and feel good for me, but I'm not sure if they have any value. Even aesthetic value may wear off and be just novelty.
If you want a blog post about actual innovation with monospaced fonts, try Class Based Contextual Positioning in MonoSpaced Fonts by Andreas Larsen, which is used in his Monoid font[0][1]. It also deals with this problem of characters not having the same natural width, but in a way that actually preserves the monospace characteristic.
I wish its usage would spread to other fonts. It's probably a lot of work to implement though.
Despite this article's length, there isn't a single full text example.
The author uses the phrase "duospace" font a dozen times before actually explaining what it is: a mostly monospace font.
I find it ironic that an article about perfecting the art of writing is so devoid of content. Did we really need 3 pages of justification for a big reveal of... a font specimen?
For the last couple of years I’ve been using Triplicate as my standard monospace font, and it has a Poly variant which is proportional and works really well for code presentation (provided you aren’t trying to line things up with spaces).
It makes things like i, j and space narrower, rather than things like w and m wider as this article discusses. I reckon narrowing some yields a more pleasing result than widening some.
I'm also using Triplicate for a lot of writing. I switch between Triplicate Code and Font Bureau's free Input Mono family for coding (and console display), but Triplicate Poly is terrific for prose writing. I suppose I feel some of the same psychological "draft vs. final" reasons that iA talks about in the linked article, but I just don't like iA's font choices very much.
Triplicate Poly does make the 'm' and 'w' characters a little wider, too, although not by the same amount. It's a true proportional font rather than "duospace."
This view seems to have fallen to the wayside, but I vehemently prefer rasterized / bitmapped fonts. Every type of font smoothing looks blurry to me and causes eye strain. Of course, very few modern fonts look good without smoothing - only a few of the old standbys (Arial, etc...) have usable bitmapped versions.
While Linux handles this fine, Windows requires replacing Segoe UI at the registry level in order to fully change over.
Have you tried a finer resolution display, and moving your display further away?
Eye strain will be notably reduced if you move the display 3 feet away from your eyes (requires less convergence and less accommodation), and at that distance 220 ppi starts to have pixels that are close to indistinguishable, even for folks with 20/20 vision.
Personally i sit close to the monitor because i cannot see that far. I could scale things up, but then i lose screen real estate (and a lot of stuff break with non-default scaling, including some of my own programs). I could lower the resolution, but anything non-native looks blurry as hell. For a while i used a 42" TV and while it was nice, it was blurry.
So i get the best results by sitting closer to the monitor. I want to be able to see the pixels and have screen real estate, so i use a 27" 1920x1080 monitor (LG... something, i don't remember the model, although TBH i'd prefer to use a smaller monitor with a smaller resolution, but any panel with a lower resolution than 1920x1080 has awful image quality and personally i see even IPS panels as a step backwards compared to my Sony CRT and cannot wait for OLED panels... hopefully in sane sizes and DPI). I also have a 2560x1440 monitor (Dell U2713HM) which i bought after seeing several artists at a previous job use it and liking the image quality, but i have stopped using it both because things are a bit too tiny for my taste and because in high end games my GPU (GTX 980) starts to struggle a bit unless i lower the settings considerably. Although TBH often i prefer to play games in a window so i can have some stuff still visible around (especially in Window Maker, my WM of choice, which is generally distraction free) and with 2560x1440 i can use 1920x1080 for the window resolution which often matches the UI scale the game uses but with 1920x1080 as the native resolution i need to use something smaller like 1600x900 which often crushes the UI, making it blurry. But that is a small price to play.
But FWIW, i don't mind antialiased fonts even though bitmaps do indeed look much crisper to me too.
I have found that I dislike fonts that have overly squared-off corners, in which all the letters look so uniform. So, I just don't understand the appeal a lot of boutique "programming" fonts like proggy or monoid.
I tend to like monospace fonts with a bit more rounded corners, which to me gives them a bit more "character" (one could almost say quirkyness) and readability.
good examples of this would be Bitstream Vera Sans Mono, Monaco and to a lesser extent, Iosevka
Honestly? I always go back to the core MS fonts (Arial, Courier New, Times New Roman, etc...). I even use the Fixedsys typeface when coding. They're usable, familiar, and most importantly, look good at small sizes.
The downside is that an unusual renderings (e.g. Font size 17), they don't look great, but it's a small price to pay.
I can recommend Iosevka¹. It looks a bit condensed, which takes time getting used to, but after that you have the benefit of monospaced, without it being so wide.
The goal here seems to be to have that "typewritery" look that people associate with writing drafts, but add a bit more readability than is possible in a monospace font. Fair enough, though I'm not sure why having exactly two character widths is preferable to having three, or five, or simply designing a proportional font with wider typewriter-style characters.
For programming, "duospace" works exactly like any other proportional font. The fact that some letters have the same width doesn't buy you anything in terms of alignment. Unless your style guide forbids the letters "m" and "w" in method names. ;)
I disagree with iA'a philosophy. I like to write fiction with proportional serif fonts, often quite similar to fonts that would be used in print. Sometimes I change fonts to defamiliarize the text, which helps me read it with fresh eyes. The last couple years I've mostly been using the Mate font. https://www.fontsquirrel.com/fonts/mate
Fun fact that people may not be aware of: not all glyphs in monospace fonts are actually the same width (provided the font supports enough of Unicode). Some glyphs are twice as wide, such as CJK/fullwidth characters in general. The Unicode standard includes a list of codepoint column widths—some zero (e.g. combining characters), some one, some two, some one or two depending on the context (the language).
I am referring to Annex #11 (East Asian Width) of the Unicode Standard, which is all about CJK. Under those rules, U+FDFD is one column wide. If you happen to see it rendering really wide in the middle of text set in a monospaced typeface, it’s probably because a fallback font is being employed. In one arrangement locally I see it as eleven-and-a-bit columns, because it’s using it from another font; in another which sticks stringently to actual columns and doesn’t use fallbacks at all, it’s one-column-wide blank.
I do not know of any monospaced fonts that include U+FDFD. I’m not at all sure what they would do with it.
What I find particularly amusing about U+FDFD is the broad range of widths and styles it can take. I see three wildly differing styles depending on the font employed (two long ones and one roughly square one).
(When herein I say “terminals” I mean “terminals/renderers/text editors/things like that”.)
Some terminals are truly monospace, simply not drawing glyphs that aren’t available at the right size (e.g. xterm).
Some terminals don’t actually care about being monospaced all that much, and are quite happy to handle glyphs of differing sizes, though up/down movements may still be character-based (e.g. Notepad++).
Some terminals try hard to both be monospaced and show you useful stuff, and will either horizontally truncate the glyph, or draw subsequent glyphs on top of any overflow (e.g. gVim).
Some terminals simply make a total hash of it, with the cursor positioning being monospaced, but drawing subsequent characters after the incorrectly-wide glyph (e.g. Ace).
Your example of U+FDFD is bonus fun because it’s RTL. Most terminals don’t handle RTL at all well. (Terminals capable of proportional rendering such as Notepad++ and plain old Notepad are much more likely to treat it properly in my experience.)
I can tell you that terminal emulator is finding the character in the fonts that I have configured it with. But it won't tell you the stuff about character widths that you want to know, I suspect.
As I mentioned, my terminal emulator uses bitmap fonts. Whilst bitmap fonts do have a mechanism of specifying either single-width or double-width characters, it ignores that and displays everything in the same width, rescaling everything with some slight special-casing of block graphic and horizontally repeatable characters. So whilst by the looks of the amount of detail in the glyph on screen, U+FDFD is a double-width character in the font file; it occupies a single column.
It's painful to see an article this long discussing typefaces in detail that uses the word font incorrectly so many times. In casual usage I let the mistake by, but the author of this article really should know better.
The visual design of the letterforms and spacing of text is a typeface, not a font. A font is the delivery vehicle for a typeface -- it's a file format.
A typeface is the design, a font is a specific incarnation of it. Helvetica Bold 12pt and Helvetica 18pt are two different fonts from the same typeface, Helvetica.
This comes from letterpress days where “font” referred to a collection of lead characters of a given typeface, weight, and size.
No, couchand is right. Now a font is the file (you're almost right on it’s origin, it originates from steel punchcutting where each point size did need it’s own font). So a font is helvetica-bold.otf not Helvetica Bold. Helvetica Bold is a weight of Helvetica. (All of this is likely to alter slightly though with the advent of variable fonts.)
The author of this article—Oliver Reichenstein—does know better. He's even laughing at this thread on twitter. Your definitions are correct but not once does he mistakenly use the term font.
The best font is the one you're most used to. When I've been involved with people testing their new "greatest ever" font, their user testing always shows people have a strong preference for what they're familiar with. Even if that's Arial or Comic Sans.
As someone who has often spent hours readjusting fonts on their documents/apps to achieve the correct feel, it's somewhat comforting to know that there are people out there who take this obsession to whole new level!
I don't think its about obsession. Most fonts I tried I could not read or write code. I settled to amazing Adobe Source Code Pro Semi-light, but time to time Notepad++ resets it to default which immediately bothers my eyes. Adobe came with wonderful font, and its free!
With a 50% width space option, the duospace approach might be usable for “pedantic” code indentation (that is indentation beyond just nesting, but also vertically aligning elements other than the start)
The author claims that monospace fonts are better for writing (while proportional fonts are better for reading). Is there any research to actually support this central claim?
I have a (rather lazy) friend who's been asking me to help him start a blog for years now. I've promised to after he produces his first block of content, and he keeps saying he can't write if he doesn't feel the design is aesthetically pleasing. If he'd spent his time writing instead of worrying about this, he'd have a crappy initial draft, several revised drafts, and probably something decent by now. But no, that prohibitively unattractive font!
It was nice of iA to write this up, and design posts are a fun read, but does anyone who's busy actually writing care about this?