New font editor announcement: nibfont, seeking feedback

johnnydamacha
johnnydamacha Posts: 2
edited September 24 in Type Design Software
Hi typedrawers! My name is John and I’ve been building nibfont, a browser-based font editor with realtime collaboration, as a personal side project. It's free to use and doesn't require an email to start using. I am seeking the esteemed feedback of the typedrawers community.

video demo: link (not on youtube/social media, just hosted on cloudflare)

⚠️ this software is beta, there are probably lots of bugs.

More info:

As I mentioned, it's an app for designing fonts directly in your browser, with collaboration features similar to figma, such as realtime sync + cursor chat, all on an infinite canvas.

I understand there are existing type editors out there trying to do similar things in the browser. Those projects are very cool, but I'm taking a different approach: nibfont builds on modern design software paradigms (hence the figma inspiration). I want to make type design more accessible to adjacent disciplines such as graphic design and software engineering. Making fonts is, tbh, complex. My hope is for nibfont to make it easier for beginners and non-specialist type designers *in addition to* existing type designers.

Other features:
- Reusable components for diacritics, etc.
- Spiro tool similar to fontforge
- AI glyph generation using Quiver's SOTA vector generation model
- Live text previews and kerning directly on the canvas
- Fine-grained Bézier editing, including tangent-locked moves
- Adjustable sidebearings, font metrics, and overshoot guides
- Import font, import images into the canvas

I would love some feedback from people who actually design type before I pour any more time & tokens into the project. 

Would this be something you'd actually use? Do I have all of the paradigms & type design concepts right? Does this design conflict with how you design type in the real world? Is it worth further exploring AI-backed features for font production?

🤙 thank you

Comments

  • This is a very nice start! Some observations after a few minutes use:
    • It seems very eager to move an entire contour, which is something you rarely want to do. I would suggest a separate tool for the whole-contour move/scale functionality.
    • Because the whole contour grabs focus all the time, you have shifted the lasso selection of points into a separate tool, while that is something that the user often wants to do. But then once I've done my lasso selection, I have to shift back to a different tool to edit the points I've just selected. Clunky.
    • Even though the whole-contour view appears in all tools, you can't actually use it (e.g. clicking the "Delete selected contours" button) unless you're in the pen tool. It also gets in the way of the "Adjust sidebearing" function. It's just annoying.
    • The brush tools and Spiro tools are neat.
    • If you're going to have a freehand tool, you probably also need something to clean up the paths. Thankfully delete-and-keep-shape works nicely.
    • The fact that you have a label telling the user to "Hold ⌘ + click to select multiple nodes" is on the one hand useful, but on the other hand, it's a smell - you have to tell the user, because it's not obvious. Shift-click is the paradigm in most apps, follow it.
    • It's hard to act on more than one contour at once, and lasso selection does not cross contours.
    • AI glyph generation does the job OK, but does not respect metrics.
    • I don't like the multiple moveable artboards thing, personally; it messes up your perception of spacing between glyphs.
    • Automatic component attachment is weird. It's not clear why it's attaching things at particular locations. Custom accent placement doesn't work. I have a base with a top target and a mark with a top connector, and they don't attach; the mark component says "Attached" and "choose placement point", which is silly because there's only one, and when I click "Attach to top target", nothing happens.
    • A separate text preview would be helpful, but I guess you could use the kerning artboard for that.
    • Group kerning is essential. I'm not kerning A and Á separately.
    • The "Glyphs" selection box is annoying. I want to see all the glyphs; ligatures are not included and you really have to go hunting for marks. At the very least have an "All glyphs" option in the dropdown, and the ability to hide glyph slots which haven't been added yet.
    On the whole, again, a good start. I wouldn't use it personally, but I think given your stated goal of making font design accessible to people with design and software backgrounds you're absolutely on the right track. I think it's fine for knocking up quick single-master designs. Nobody is going to use it for a serious typeface family, but maybe that's OK.

    One non-technical point:

    Those projects are very cool, but I'm taking a different approach: nibfont builds on modern design software paradigms

    What paradigms do you think those other projects are built on? Outdated design software paradigms? :) Or do you mean that other font editors are built on font editor software paradigms...?
  • Thank you so much for your detailed feedback, Simon! A quick response for me just to dispel any misunderstandings w.r.t. other font design software:

    What paradigms do you think those other projects are built on? Outdated design software paradigms? :) Or do you mean that other font editors are built on font editor software paradigms...?

    I realize my wording was making the implication that those other projects are built on outdated paradigms. My apologies. More specifically what I meant: I see these projects as exploring different directions, such as deeper technical workflows, more programmable or agent-friendly tools, and different approaches to the editing experience. nibfont is simply exploring the latter via figma-esque conventions, rather than, for example, exploring technical workflows with IDE-esque conventions.

    Thank you again for your feedback, it's truly invaluable. I think first things first I need to improve some of the basic assumptions of the interaction model for the hierarchy of objects in the canvas, a lot of your feedback is around simply selecting and editing. On it asap.