Nuclino - A lightweight real-time wiki built on top of ProseMirror

Hey there, over the past few months me and my team have been working on Nuclino, a lightweight real-time wiki for teams. The whole editor experience is built on top of ProseMirror, which is why I’m happy to share it here! It’s still a preview release, but we’ve been testing it with a few teams and it’s been working nicely so far. We’d be happy to get more feedback, so check it out if you’re interested.

Here’s a short video tour of the main features: https://www.youtube.com/watch?v=3cJLyeVYvPw You can sign up for free on our website https://www.nuclino.com

Would be awesome to get your feedback!

2 Likes

Wow, this is super cool! I like that the number of commands is short, but useful. The keyboard shortcut info is handy but unintrusive, too.

1 Like

Impressive! And nice to see what kind of unanticipated things people are managing to build on top of ProseMirror.

1 Like

Did you use any MediaWiki or Twiki parser, I’d be interested in the Prosemirror seralizers/deserializers :slight_smile:

Most wikis provide a way to export a static website, which is what we use to convert existing content to the ProseMirror document model (using the HTML parser). We are currently doing this for DokuWiki and Confluence content, which works well. We implemented some preprocessing which modifies some of the HTML produced from those wikis (e.g. clean up whitespace, convert todo lists, etc.) using the cheerio library.

Instantly impressed. I’ve been putting in some time over the last year and a half to think about the next generation of semantically-connected discussions and knowledge stores.

Here are some ideas that might be of interest:

  • On the back-end, break down the text in to separately-stored sections, connected to the main document
    • This frees ideas, quotes, and snippets from being locked in a single document
  • Make relationships a first-class citizen
  • As we enter the semantic web, there’s going to be more and more ability to see the connections between different solutions (for example knowledge that experts have internalized so deeply, that they don’t even notice it any more), and it’s going to be powerful to have tools that speak this natively.

Feel free to reach out - I like Nuclino’s style and vision.

2 Likes

Thanks for the ideas and input!

It’s interesting that you mention this approach as I’ve been thinking about something similar a few months ago! I haven’t had the time to explore this in more detail yet, but I think it’s a promising approach, which could enable new use cases :slight_smile:

I fully agree, it’s definitely something we want to achieve with Nuclino. One of the challenges is to expose this in a way which is easy to understand especially for non-techie users.

Awesome, happy to hear that!

Here are some thinking points;

  • Since traversal is essentially free In a graph database, two approaches came up as viable: sentence/paragraph as a node, and word/letter as a node. in the sentence/paragraph model, a document can simply be a linked list of sentence/paragraphs, while letter as a node is a little trickier with start and end nodes fluidly linked through the chain.
  • As ideas and text become “free” of “documents”, a lot of interesting possibilities immediately open up, such as being able to easily quote content just by connecting the quote to the current document, or being able to create a new version of a document by not just copy/pasting, but literally using the unchanged content from the previous version.
  • In the future semantic web, text snippets could easily be shared and linked back by using the existing relationships to send out standards-compliant metadata ( such as Cards markup | Docs | Twitter Developer Platform and http://ogp.me )

Agreed; this is something I hadn’t quite tackled myself. I’m leaning towards visually representing the relationships (we’re using a graph database on the back-end), but it’s only visually simple if there are less than 10 relationships shown.

I haven’t thought it through, but I would probably tend towards a “paragraph as node” approach as being able to build relationships between letters is not that useful and would be harder to implement. Especially when you start thinking about real-time collaborative editing it might become unnecessarily complex.

I like this idea in general, but I think one important aspect which makes this really hard to realize from a UX perspective is versioning. Quoting a paragraph just by reference would always show the latest version of the paragraph. What happens when the paragraph is edited or deleted? There are quite some challenges in handling these cases where different versions of the same snippets exist in different places.

Interesting idea, thanks for the links!

I experimented a little with different visualizations and came to the same conclusion. As the number of nodes and relationships grow it gets messy really fast. Aggregating the data in an intelligent way could be one way to deal with this.

What’s the project you’re working on and which graph database are you using? Sounds interesting!

1 Like

We are looking for a Hackpad substitution since its acquisition by Dropbox and I want to vouch for a “comments” feature, which gave us a dramatical collaboration performance boost. It’s really helpful to be able to easily discuss hard technical problems as a part of the document.

Thanks for the feedback! I’m part of the Nuclino team and we’re considering to add a comments feature. Currently, we are evaluating 3 approaches. It would be great if you could tell me your preference especially since you used Hackpad before.

  1. Inline comments for a range of content like a sentence (Google Docs)
  2. Comments on the whole page (Blog)
  3. Inline “code” like comments (Hackpad)

@kiejo hi, The YouTube link don’t work. can you share the code with us?

Hi Julian,

this was a very old video of the product, which is why the link does not work anymore. In case you’re interested, this is an up-to-date video of the product: https://www.youtube.com/watch?v=wvL2SFjpoVo

I’m afraid I can’t share any code since Nuclino isn’t open source.

Thank you. It’s really impressive. Inspirations are even more valuable than the code itself.

1 Like