Interview with Jean Böhm
Designer and Developer

“Simple things are often overlooked in programming because there is much to explore. However, the possibilities of simple things are usually far from exhausted. The goal should not be to program something amazingly complex but to develop impressive designs with simple means!”

In this interview, I had the pleasure of speaking with Jean Böhm. He is too humble to say that about himself, but to me he is a unique thinker breaking down walls of traditional design. By reinventing his tools, he creates new design processes, leading to unseen results. In our conversation, we discuss the unique relationship between coding and design, highlighting the importance of integrating both disciplines. Jean also shares his experiences teaching coding to designers, and the potential of AI in font design. At the end of the conversation, we invite you to join one of our projects.

Martin: Hi Jean, We met a long time ago, in 2016, at the University of Applied Sciences in Constance, Germany. Since then, you have developed so many different projects that I don’t know how to describe what you are doing. Please introduce yourself to our readers!

Jean: Hi, my name is Jean. I’m a designer and developer. I mainly work with web technology. Web development has been at the center of my work for the last few years. But since I started with graphic design, I have always worked with typography. I’ve designed my own fonts, font systems, and type design tools.

The variable font animator is a tool created for tdbr. It started as an experiment to animate variable fonts. The goal was to find a fun and easy way. I created a square drawing area with a font axis on each side. The x and y position translates to the selected axis value. Additional strokes can be added for other font axes. https://tdbr.xyz/font-animator

What are the similarities and differences of coding and design? 

Each is a language in itself. One is visual, the other machine-readable. This makes working with each very different. While designing, you can usually see your changes immediately. While coding, you first imagine and describe what you want to change. Then, you check whether it works as you intended or whether there is something you want or have to change.

When these two disciplines are combined in a project, they influence each other. The design has an impact on the code, and vice versa; the code should have an impact on the design. If you only work on the design first, you will end up with problems when you translate it into code. The design should be based on certain functionalities and possibilities of the code. However, it is not a good idea to build the design solely around a particularly simple piece of code. Each project requires a certain balance. Both disciplines should be considered simultaneously and with the other in mind. This can lead to good solutions and save time in the end. In such a context it is very helpful to understand both disciplines.

Untitled AI started as part of a series of experiments in continuation of Daniel Wenzel’s dissertation on Automated Type Design. Leaving aside the multitude of automated processes beyond ML that can be utilized in the type design process, AI is often degraded as the interpolation of existing designs. However, if AI is used not autonomously but assistively, its deficit in creativity can be bypassed.
The GAN type experiments where seen as a testimony to the superiority of AI in rational craft; evidence of rising redundancy of conservative type design. However, by vectorizing the pixel-based results and converting them into a usable font format, its flaws provided the necessary character and charm – cyberpunk, tech-savvy, rebellion and edgy. The typeface blends tradition and technology and feels somehow both timeless and futuristic. https://26a1.xyz/projects.php?f=untitledai

Can you give us an example where both languages influenced each other? 

This is often the case with client projects. For example, when you get into more complex forms, it can sometimes make sense to split them into several smaller parts. This simplifies the code and also improves usability by not having one big monolithic form. 

You may have seen this on platforms like Are.na or GitHub. When you create a new project or group there, you first have a simple form for the initial creation (name, description), and then you get to the project or group page where you can manage everything—like adding and managing contributors. From a design point of view, it might be desirable to have everything in one form where you do all the management. However, breaking it up into many smaller ones makes it less complex, and you have dedicated code for smaller tasks that are easier to maintain. Also, projects like my Open Type Face project take you step-by-step through the process of designing fonts rather than having a Control Centre-style screen where everything is covered. 

TL;DR OTF is a Website that enables everybody to design a personal font. It’s a tool where you can design your font only with your face. OTF is still online an can be visited on: https://otf.bauhauslabor.de/#/

You have taught coding to designers. What were your experiences? Which approach works best?

Coding is not rocket science. Everyone I have had the chance to work with has done a great job in a short time. The biggest hurdle at the beginning is yourself. The way you work is completely different from what you are used to as a designer. Another thing I have noticed is that thinking gets very complex very quickly. Simple things are often overlooked in programming because there is much to explore. However, the possibilities of simple things are usually far from exhausted. The goal should not be to program something amazingly complex but to develop impressive designs with simple means!

Unusual Internet was a course on the conception and design of websites for third—and fourth-semester students at Mainz University of Applied Sciences. The interfaces of most websites follow the same design principles over and over again. In short, websites tend to look the same. The interfaces are simplified, and the design is standardized. We rarely come across provocative or unusual interfaces. Designers should experiment more and try something new. Out of the comfort zone and into the unusual. To achieve this, the »Unusual Internet« course closely examined UI elements (buttons, typography, scrolling, etc.). Students experimented with these elements every week. unusual-inter.net

This is very good advice. Which language should a designer who has never coded learn first? Which one is the most useful for a design practice?

I would say it makes sense to start with Python or JavaScript. Python is an easy language to learn and does not have a very difficult syntax. But as a designer, I would prefer JavaScript because it goes hand in hand with HTML and CSS, and most of the time, you have a visual output. In my opinion, this is very rewarding for designers.

ConCon Randomised SVG Animation

I had the pleasure to co-tutor and co-evaluate your Master Thesis at the University of Applied Science in Mainz about the evolution of future type design tools through artificial intelligence? What were your major findings?

The aim of my work was to see how AI could be integrated into font design tools. In particular, I wanted to see how well it could be used to generate vector paths. We all know models like DALL·E, Midjourney, and Stable Diffusion. Unfortunately, there are very few models that deal with vector generation. I still see a lot of potential there. I was able to use Large Language Models to generate some good paths. Sooner or later, such models will be integrated into font design tools, and repetitive processes in type design could benefit greatly from them.

TL;DR – Pathfinder is my master’s degree, I explored the possible evolution of future type design tools through artificial intelligence and developed various tools/experiments for this purpose. https://jeanboehm.de/work/pathfinder

Can you give us a quick run through the most important points made in your theses?

It is difficult for an AI to generate good letter paths because few models can handle vector data. Sketch RNN, a model that works with vectors, can only generate lines. This means a curve is represented by many lines. With this I still was able to generate some interesting letters, but these serve more as inspiration than anything else. They should not be used 1 to 1 because you will get messy paths.

Lowercase a’s generated by Sketch RNN, all letters are represented only by straight lines.

With the large language model GPT-2 I was able to generate quite good paths. I trained it on many paths variants of a lowercase »a«. In the end it was able to generate new letters. However, a path recognisable as a lowercase “a” was only produced by GPT about once in every 100 attempts. But perhaps that is due to my basic approach to these models as a designer. 

Example of a letter generated by GPT-2. It was able to draw Bezier curves.
What makes the networks so interesting for me are their errors. These errors lead to new ideas and shapes. And that is exactly what I tried to realize with these tools. I don’t want to have an AI that generates perfect text fonts because there are already enough good text fonts. The tool I came up with would have been one that helps the designer directly within the design. Ideally, I would like an AI to take the letters that a designer has already sketched and generate the rest of the font. That could also be just rough, but in that way, design decisions could be seen in the type very early in the creation process. And with every change to letters, the AI should never change again. A design decision by the designer remains the supreme value.

So take it with a pinch of salt. We’ve come a long way in the last few years. Image generation and large language models are now very powerful. Thing have changed.

Another thing I realized during my thesis is that we can do a lot of things without AI. There are many wonderful Glyphs plugins that help us with several tasks in the design process. They are based on very powerful non-AI algorithms. So, we should always consider whether using AI is the best option for a particular task.

Proportion prediction should support type designers. They can see whether a typeface roughly corresponds to familiar norms or consciously decides against them. We are talking about horizontal proportions. Vertical proportions are set once and usually do not change again. Vertical proportions do not require any assistance from the computer. For this purpose, a data set has been created that contains the proportions for a total of 2020 fonts. Based on this data, the proportions of a font can be approximately calculated starting from just one letter. https://jeanboehm.de/work/proportion-prognosis

We did a little project together, called Optosentiment Fonts. What are your hopes for the project?

The scaffolding is in place 🙂 I would be very happy to see a font designed specifically for this algorithm. I think it has a lot of potential, and there is still a lot to explore!

Yes! This is an open invitation to everyone! Let us quickly explain what the project is about. Where does the inspiration come from?

In “Sprache und Schrift” (Spoken and written language), published in 1920, Dr. Walter Porstmann propagates a written language that is closer to the spoken language.

In 1927, Kurt Schwitters published his take on Porstmann’s idea, the “Neue Plastische Systemschrift” (new plastic font system). 

In 1928/1929 Jan Tschichold published the “phonetisches minuskelalphabet” (phonetic lower-case alphabet), a close representation of Porstmann’s ideas. 

Schwitters and Tschichold developed font systems that only worked for the German language. Herbert Bayer, who moved to the States in 1938, developed the “Fonetik Alphabet” (phonetic alphabet) in 1959, representing a version of the English language. 

While phonetic fonts try to bring the written language closer to the spoken language we try to bring the emotions a text provokes closer to how a font looks. We call these fonts Optosentiment fonts.

In 2019, Jean Böhm developed OTF (Open Type Face), a font generator based on AI face recognition, in which facial expressions and emotions are key tools for designing a typeface.

In 2021, we used OTF to generate three Masters of a Variable Font: an angry Master, a neutral Master, and a happy Master.

When using the Variable Font in the Optosentiment Font Display tool, it displays the emotions of a text.

Jean and I invite you to design a variable font that expresses emotions and use the Optosentiment app (http://opto.tdbr.xyz/) to express the emotion of a text through your font.