Recursive
Recursive Mono & Sans is a variable type family inspired by casual script signpainting and designed for better code & UI. ¶ In programming, “recursion” is when a function calls itself, using its own output as an input. ¶ Recursive Mono was used as a tool to help build itself: it was used to write Python scripts to automate work and generate specimen images, and it was used in the HTML, CSS, and JS to create web-based proofs & prototypes. Through this active usage, Recursive Mono was refined to be not just warm, but also deeply useful for all-day work. ¶ Recursive Sans borrows characters from its parent mono but adjusts many key glyphs for comfortable readability in text. Its metrics are “superplexed” – glyphs take up the exact same horizontal space, across all styles. As a 3-axis variable font, this allows for fluid transitions between weight, slant, and “expression” (casual to strict letterforms), all without text or layout reflow. In turn, this enables new interactive possibilities in UI – and makes for a uniquely fun typesetting experience.
Stephen Nixon
USAStephen has a passion for type, technology, and the web. ¶ As an undergrad, he studied graphic design at the University of Minnesota in the Twin Cities. After that, he moved to New York City to work as a product designer at IBM. There, he focused on visual design & UX for software products, then moved into brand experience design within IBM Watson. ¶ Today, Stephen lives in Brooklyn, NY, where he operates Arrow Type, taking on freelance type design & development work while also nurturing font projects for future release.
Layout from ReactJS
Layout from Styled Components
Layout from GatsbyJS
Process Notes
The Recursive project started as sketches in Fall 2017, but almost all the work shown here happened from February through June of 2018. There has subsequently been further work done to progress the typeface for release, but these updates have been intentionally excluded from here to leave this page as a documentation of the thesis project itself.
Finding the Right Project
During the first semester of TypeMedia, I sketched many type ideas, and I headed into the second semester with two primary ideas that felt promising. One was a sans serif that seemed to have “commercial potential,” while the other was an eclectic family of casual script-inspired monospace fonts. Two things pushed me towards the latter: advice from former TypeMedia students to embrace something wild and experimental in my short time there, plus the excited reaction of two graphic designer friends upon seeing my early sketches for a casual script.
I have had a long-time passion for learning web development, starting by coding my own portfolios as an undergrad, and later creating prototypes as a visual designer for software. Through this, I had learned so much and gotten so much joy from web dev education blogs like CSS Tricks, podcasts like ShopTalkShow and Toolsday, and teachers like Wes Bos and Treehouse. In the Recursive project, I hoped to create a typeface for code that could match the sense of fun, energy, and approachability that my favorite code resources have.
Gaining an understanding of paint strokes
I was very lucky to have two classmates (Gen & Seán) who are really skillful signpainters. They taught the rest of us useful lessons in basic letter painting. Without their instruction, I don’t know where I would have started in this project. With their help, I learned to practice brush painting with acrylic paint on windows and paper. With this approach, I interspersed painting throughout the semester, to keep my ideas rooted in the source material, even while I did much of the sketching with a simpler-to-control brush pen.
I haven’t (yet) become a good letterpainter myself, but practice with different brushes gave me valuable lessons in how pressure, rotation, and speed will affect brushed letterforms. It also provided a useful means of quickly prototyping ideas, and many of my messy paintings informed the final glyph shapes in Recursive.
Exploring the possibilities
Early on in the semester, I explored many directions. I tried a connected-script monospace. I really wanted to make a casual-script blackletter subfamily. I sketched many other ideas that ultimately went unused, but still contributed to the final output. Time is the biggest constraint in any creative project, and I eventually found that (at least for my thesis) I had to narrow my focus to accomplish a cohesive typeface. Blackletter and connected script didn’t make it through to the end, but they did help me to explore shapes and ideas that did make it into the family. Who knows? Maybe these far-flung siblings will make their way back into the project, someday.
Workflows & Approach
Testing & Refining
I made the early decision to set the monospace character width to 600 units (out of 1000 UPM) to match what is a somewhat standard dimension for monospace fonts. This dimension was started by “10 pitch” typewriter fonts that would fit 10 letters-per-inch, and became a standard for computers thanks to fonts like Courier. Using this common metric allowed me to test Recursive in browsers and text editors even at its earliest (partially-drawn) versions, by using compatible monospace fonts as fallbacks to missing glyphs.
Towards the beginning of the project, I experimented with making a connected-script italic – partly motivated by a desire to live up to the name I found for the project (emphasizing the “cursive” in Recursive), and partly movtivated by a desire to do something fun and weird. I even wanted to create a casual-script blackletter, to have a style that was neither Roman nor Italic, for a third level of emphasis. However, I started to scale back from such experimental directions after seeing them in sample texts & code. Even with partial character sets, it was clear that connected scripts and casual blackletters would not provide a pleasant coding experience, and may not even work so well as display faces. For the semester, I made Italics that were mostly sloped-Romans, but with a few key lowercase glyphs that would substitute with true Italic forms above 7° of slant.
A project takeaway: test early, test everywhere
After TypeMedia, I continued to use Recursive Mono & Sans in coding and in design work. Through this, I found many more issues, big and small. The biggest problem: my approach of drawing contours as separate “brush strokes” resulted in terrible rendering on non-HD screens. Specifically, areas of overlap that occurred on the exterior of shapes often yields little black “blobs” where the antialiasing of two contours overlaps. In large text, this can be ugly, and in body copy, it can be downright distracting. Humorously, I was the only student in my year who ended up with a 4K monitor (because the previous monitor at my desk stopped working), and aside from my Retina laptop screen, the only other place I saw my type was in printouts. Therefore, I didn’t see this rendering issue until after graduation, when I finally hooked up to a normal screen again. I do hope that this rendering issue may someday be a solved by better text renderers, because it affects all kinds of overlapped type. However, for the foreseeable future, it is a big flaw that won’t be solved overnight, so I am removing most of the overlap from Recursive, to better handle this constraint.
My novel drawing method did help shape the design of Recursive in positive ways, but I definitely would not recommend it to anyone starting a new typeface. Beyond that, my failure to see the issue until far into the project is a cautionary tale: anyone making digital products must test them in as many contexts as possible, as early as possible.
What’s next?
I am currently working to improve Recursive for eventual release! It will retain the same spirit and warmth but will recieve many improvements, big and small – fewer contour overlaps, a bit more contrast, smoother curves, some stylish inktraps, a more-cursive italic, and a Heavy Italics for a fuller designspace.
I am extremely thankful to my teachers, visiting designers, and classmates for helping me to learn and grow so much in a whirlwind of a year. Not only did they help shape Recursive as a project, but they helped shape me as a designer.
Photo by Peter Biľak