Live data from Hacker News

Launch HN: Tiptap (YC S23) – Toolkit for developing collaborative editors

news.ycombinator.com

81–90 of 105 posts

Re: Launch HN: Tiptap (YC S23) – Toolkit for developing collaborative editors

#81
post #4

Can you explain more about how Tiptap’s concepts extend or replace ProseMirror’s concepts? A few years ago I evaluated rebasing Notion’s editor on various editor frameworks. ProseMirror came out at the top of my list, but I wasn’t sure how to rank TipTap. Having more batteries included is good, but I’ve found that layers of abstraction can really get in the way. For example if I need to fix a bug with Android Gboard…

> With ProseMirror, I’d need to tunnel through 1 layer of abstraction and/or patch 1 layer of abstraction. With Tiptap, maybe I’d need to fork-and-patch both you and ProseMirror? Each layer also increases our maintenance liability.

As a contributor to the previous version of Tiptap, and as a developer that built extensions into it, I encountered the exact same problem of having to learn two different APIs while trying to build more advanced features.

Out-of-the-box libraries like Tiptap are great when their extensions or components fully cover your use case. But when you need to customize or own the code itself, the secondary abstraction becomes leaky and you start to fight against it.

Because I was building a note-taking app, I spent most of the time working on the rich text editor. Eventually, I just ripped the bandaid off and wrote a new library that was architected off Tiptap but was a thinner abstraction on top of ProseMirror.

With hindsight, I can definitively say that was the better personal choice. The last time I used Tiptap was in 2020, and since then its API has evolved to a point where my knowledge is way outdated. On the flip side, ProseMirror has been extremely stable, improving with a non-breaking typescript rewrite. Digging into the internals of ProseMirror, learning how it has been built and maintained, contributed massively to how I write code today.

That being said, the journey of moving off Tiptap to ProseMirror took a couple of months for a junior dev. So I can understand how a market for it exists. My only wish for Tiptap now is for it to reduce its API overhead on ProseMirror, and instead build more advanced ProseMirror-compatible plugins that require a backend. Collaborative editing (comments, annotations), version control and schema migration, etc are all exercises normally left up to the developer that can be solved by Tiptap well.

Re: Launch HN: Tiptap (YC S23) – Toolkit for developing collaborative editors

#82
post #50

Earlier quoted context omitted.

Did you use Remirror? Both Remirror and Tiptap? Or you just investigated Remirror before landing on ProseMirror + Tiptap?

No. I found Remirror quite a while after Tiptap while searching for a more stable React Node View implementation. The good news, though, is that it's really simple to mix and match Tiptap and Remirror since both of them use Prosemirror internally.

I've found react-prosemirror [1] to be a light ProseMirror React integration that supports node views. I had also considered Remirror before, but its abstraction and internals seem even heavier than Tiptap's.

[1] https://github.com/nytimes/react-prosemirror

Re: Launch HN: Tiptap (YC S23) – Toolkit for developing collaborative editors

#83
post #12
post #4

Can you explain more about how Tiptap’s concepts extend or replace ProseMirror’s concepts? A few years ago I evaluated rebasing Notion’s editor on various editor frameworks. ProseMirror came out at the top of my list, but I wasn’t sure how to rank TipTap. Having more batteries included is good, but I’ve found that layers of abstraction can really get in the way. For example if I need to fix a bug with Android Gboard…

I'm not part of the TipTap team but I think I can help answer this. Think of it like this... you're basically only coupling yourself to ProseMirror. That's the schema you're storing in your database. TipTap is a set of libraries that you can use for your web app etc... but if you ever find it insufficient, you're free to role your own thing. ProseMirror has been around for a long time and is unlikely to be going anyw…

> having a company with VC funding using it as its base helps ensure that if ProseMirror got abandoned, it'd likely get picked back up by TipTap or some other interested party.

On the contrary, the company with VC may be a bummer after some years and the VC wanted to get ROI: prices started to increase (or appear), change of strategy and abandon/remix the tool, close the store…

Being free and open source surely helps.

Re: Launch HN: Tiptap (YC S23) – Toolkit for developing collaborative editors

#84

We've been happy users of Tiptap at Sudowrite, and recently finished converting 1M+ documents from Quill (with Firebase) into Tiptap (with self-hosted WS Hocuspocus), running admirably @ 50 updates per second. Happy to answer questions on how it's been going. (psst, we're also hiring!)

We're looking to switch away from Quill to Tiptap, but haven't looked into migration yet.

Would be great to hear any tips or pains you encountered!

Re: Launch HN: Tiptap (YC S23) – Toolkit for developing collaborative editors

#85
I used Remirror, TipTap with React. They were both great but I needed to implement custom editing behavior and that's where they both fall flat. Building your own extensions is poorly documented, and oh, by the way now you will have to learn ProseMirror anyway. Which has a learning curve you don't need.

This even led to me dropping my project, maybe I need to revisit and check if docs improved now TipTap has funding.

Please consider my plea for a keeping a free tier for unfunded startups? Thanks.

Re: Launch HN: Tiptap (YC S23) – Toolkit for developing collaborative editors

#86

Earlier quoted context omitted.

> I'm really glad I chose it over Lexical and other options. Congrats Do you mind expanding on this? I've been comparing the two and found the lexical data model easier to understand.

Have you tried using Lexical? I found it to be very buggy and ended up replacing it with Quill.

Would you mind elaborating on Lexical? Which parts did you find buggy?

Re: Launch HN: Tiptap (YC S23) – Toolkit for developing collaborative editors

#88

Earlier quoted context omitted.

TipTap uses YJS under the hood for conflict resolution.

Yes, our collaboration backend Hocuspocus uses Yjs. We know the technologies we rely on, but we also know how important it is to find a sustainable way to maintain an open source project. For a popular project that a lot of other people rely on, this means getting money for development. Since Tiptap is also open source, we can see how the big players are using our project, and sponsor tiny amounts or nothing. We try…

I hope you guys do well, I'm a big fan of the open core model and I really enjoyed using TipTap. This is the client I integrated TipTap with if you're interested in collecting examples in the wild: https://bundleiq.com/

Re: Launch HN: Tiptap (YC S23) – Toolkit for developing collaborative editors

#89
post #12

Earlier quoted context omitted.

I'm not part of the TipTap team but I think I can help answer this. Think of it like this... you're basically only coupling yourself to ProseMirror. That's the schema you're storing in your database. TipTap is a set of libraries that you can use for your web app etc... but if you ever find it insufficient, you're free to role your own thing. ProseMirror has been around for a long time and is unlikely to be going anyw…

> having a company with VC funding using it as its base helps ensure that if ProseMirror got abandoned, it'd likely get picked back up by TipTap or some other interested party. On the contrary, the company with VC may be a bummer after some years and the VC wanted to get ROI: prices started to increase (or appear), change of strategy and abandon/remix the tool, close the store… Being free and open source surely helps…

Yeah, I share that concern about outsourcing a core competency to a VC funded startup. The risk of abandonment means you need to be ready to fork & maintain all the Tiptap code if they go closed source or shut down.

Re: Launch HN: Tiptap (YC S23) – Toolkit for developing collaborative editors

#90
Congrats on the launch, and great you'll be dedicating more focus to Tiptap!

If anyone wants to see another example of an app using Tiptap, I built https://duckbook.ai as a fun/free solo project (it's a Notion-like SQL notebook built on Tiptap, DuckDB, and GPT-4).

I evaluated a bunch of editors (ProseMirror, TipTap, Remirror, Slate, Quill, Draft.js, Lexical) and went with TipTap.

I've been generally happy with it, the APIs/docs are good. ProseMirror is super powerful, but large/slow to work with. Tiptap helped me launch a product much faster, but still pop the hood to the ProseMirror layer in a few places where needed.

Main request is to keep the tiptap/core project free and MIT licensed, even if you raise prices on other pieces (like the managed collaboration server).

Post reply on HN