Ask HN: Which Wiki or internal documentation tools do you use?

102 points by sdedovic ↗ HN
I am curious what internal documentation tools people are using. My current use case is an engineering handbook and internal documentation that isn't related to any specific codebase.

Some basic requirements are: - searchable - code snippets - hyperlinking

I know of a few tools and I've even worked at companies that use git repos with markdown. I'd love to hear everyone's thoughts.

76 comments

[ 4.3 ms ] story [ 174 ms ] thread
The desktop version of OneNote.

We've tried to use MediaWiki and other fancy solutions (inc. O365's SharePoint/online OneNote) and desktop OneNote is the only one that stuck. We have .one files for each major topic with sections and pages within them. It is kind of a "low tech" solution, and maybe that is why it works. It gets out of the way, easy to backup, no downtime, etc.

Although Microsoft keeps threatening to discontinue the desktop version of OneNote.

We use OneNote at work. I don't really like it as a Wiki tool. Its a superfast solution to get the work done, but the search sucks. Its difficult to get it organized if there is a lot of documentation. Its amazing to use as a personal notebook but not wiki.
Had base-tier Confluence at one company. Super nice.
For personal stuff I use org-mode of emacs. At the work, we use Quip.
Boostnote (https://boostnote.io) with notes stored in the relevant repos.

Its not perfect (Boostnote really only supports local files) but it does mean our shared body of knowledge is versioned to what is in our repos. If someone makes large changes they can work on documentation while they are developing the change knowing that their docs are only released when their change is merged.

If Boostnote was aware of this workflow or allowed editing directly to remote repos it would be pretty much perfect.

We have a few docs generated by Docsify for technical guidelines and handbooks.

Github markdown files for short project specific docs.

And Confluence for everything else including a few technical guidelines.

Notion (https://notion.so) All in one workspace, combines, trello, airtable, evernote, and docs. Great embed support and awesome for small teams and personal use. It's a modern day commonplace book.
We just this week moved our sprints from Airtable to Notion. Seems like it will do everything we need--finally, we can have our sprints and our RFCs and other documentation in one place!

I cannot recommend notion enough!

The only reason I gave up on Notion sometime last year was that it was mind-numbingly slow. Great product otherwise.
I wouldn't say mind-numbingly slow, but it does struggle sometimes. The Android app is a bit poor as well in my opinion - gets the job done, but I've seen better ones by competitors.

Despite those issues, I have fully switched over to Notion. Instead of trying to force some very specific workflow onto you, it just offers a great toolkit that you can use to manage your own work whichever way you like it.

I would prefer a native app over a web app, but I guess that's just the world that we live in today.

It's gotten faster and is getting faster over time. It was much, much worse a year ago which makes me believe that the team is paying attention to speed.

Compared to the main competitor mentioned here - Confluence - it is blazing fast.

I loved their UI, but the incredibly horrible export to pdf or print drove me off it. I really needed pdf exports to release versioned documents.
I love Notion as a tool to use personally but it does not scale well. I was part of a working group that introduced Notion at my company and it worked great for a few months. Now that we have hundreds of pages it's _extremely hard_ to find the content that you're looking for. The search functionality is completely broken at scale to the point it recommends pages where the keyword you're looking for is in a paragraph over a page whose title is that keyword.
Quip. It's okay. Not blown away with it.

We're toying with Notion at the moment, but we'll see if we can get critical mass behind it.

Nuclino (https://nuclino.com).

We just start to using it for the same use case you mention. And so far the best solution out there.

Agreed, we started using it too.
Confluence has nailed this product for engineering companies. So far I haven't seen anything that beats it.

Generated doc tools like Javadoc/Yard are usually terrible and only good for very specific documentation use cases. If that's all a codebase has, it's a middle finger to developers.

> Some basic requirements are: - searchable - code snippets - hyperlinking

I think another requirement to add is diagramming. I think wiki-style diagramming would be a big help for programmers to better communicate ideas.

I've used external tools like draw.io but the overhead for editing, downloading, and uploading I feel gets in the way. Sadly, we are on confluence but don't use the draw.io plugin [1]. Built-in support for dot, uml, or even ascii diagrams [2] would be big help.

[1] https://about.draw.io/integrations/confluence-integration-2/

[2] e.g. https://github.com/ivanceras/svgbob

I like Dia enough, but lately InkScape is what’s up. Both use file formats that could be generated from source as part of the build, as well.
Mermaid is a “Markdown for diagrams” that seems to use a more semantic markup instead of ASCII art: https://github.com/knsv/mermaid

Would probably work nice as a plugin for a wiki.

I've been using Mermaid with MediaWiki and it has a lot of promise. Since Mermaid lets me generate diagrams from text and MediaWiki lets me store and modify structured data, I can have MediaWiki pass Mermaid data to generate graphs/diagrams that stay up-to-date as the wiki changes.

I would like to see Mermaid be able to group sibling nodes[0] though, once I can do that, I can autocreate really nice organizational charts :)

[0] https://github.com/knsv/mermaid/issues/637

The PlantUML plugin for confluence is free and works great for us.
Redmine

We have tickets, git, a wiki, and an agile board there. The integration let us do commits like:

    Added feature X from ticket #33, updated doc at [wikipage]
The ticket and wikipage reference will be clickable in the interface.
Phriction which is a part of phabricator is an excellent tool, it supports all of that and the ability to 'watch'.

'Watching' a document is a very important feature which is required in documentation tools. API specs change all the time and developers depending on an evolving API need to check the document on a frequent basis which can be a timesink.

Confluence is also a brilliant tool which supports watching and all the other features listed above, though it can be a bit pricey.

Confluence.

It's not bad. It's not great either. Which is pretty much the best way to describe all Atlassian products. It's unbearable on slow or spotty internet connections. It's riddled with bugs (just the other day my spacebar literally stopped working in their edit view). The formatting gets in your way more than markdown, but at least not as much as something like OneNote.

But, it's powerful. Like any Atlassian product, you can script it to do basically whatever you want. You can organize your company workspaces however you'd like. You can set up tables which can automatically pull summary lines of any other page labeled with a specific label, which is great for automatically building indexes or tables of content.

Overall, I haven't found anything better, and I write a lot of technical documentation for our company.

For comparison's sake:

- Github/Gitlab wikis are pretty bad. There's almost no advantage to using them over just storing markdown in the repository.

- Which, we did for a while, and it works fine, but in its simplicity it misses some of the key features that I do like about Confluence (like those automated index pages and page comments).

- We also used Dropbox Paper for a while; I really like it, but its primarily useful for, let's call them "transactional" documentation (write, get feedback, never look at again); It's not very good at being a Wiki, storing long-term long-form information. And given that Confluence can handle both pretty well, there's not a great argument for adopting a new service from an entirely different company we don't otherwise use.

- We have G-Suite and thus Drive/Docs. The inability to easily write technical documentation with inline/block code makes it a non-starter. No thanks. If Drive added a markdown editor like Dropbox Paper I'd probably push to switch; the search is pretty great, its a platform we already have, and you get a full, amazing document editor for those documents where it makes sense.

- I've never used Quip in a real work setting.

I just rolled out Confluence a couple of weeks ago after really struggling to find a better option. I looked at Quip but it felt more informal than I was comfortable in particularly the lack of ability to setup teams and permissions that way.
> I just rolled out Confluence a couple of weeks ago after really struggling to find a better option.

When you take into consideration price AND maturity AND feature set it's honestly hard to beat. I tried lots of open source Wikis and all of them lack significant amounts of polish and/or features. Confluence at least resembles a mature solution that mostly covers all the bases. And if you're a small (very small) business or just doing a personal/family Wiki, $10 per year for all that can't be beat.

My experience of Quip is very similiar to how you described Dropbox Paper (which I haven't used): write, get feedback with in-line comments, collaborate, and forget the whole thing. But it's nice, slim, and fast.
If you want something similar to Dropbox Paper, but better optimized towards long-term documentation, you should give Nuclino (https://www.nuclino.com) a try. In terms of organization capabilities it is similar to Confluence. But I'm the CTO so I'm obviously biased.
Beautiful looking product. Any plans for a self-hosted version? Cloud based storage of a lot of information I deal with is a no go.
Thanks for the kind words. Unfortunately we have no plans for a self-hosted version. We understand that this is a no go for certain companies and types of information.
Basically all enterprises. We really need a viable alternative to Atlassian :/
Any reason that you can share? This looks great, so much better than confluence, but it’s hard to store all of this on someone else’s servers. I’d love to have a self hosted version, of you ever decide to.
Just a head-ups, I think your signup form is broken. I was trying to create an account to try it out and nothing happens if I click 'continue'.
Thanks for the information! We did not notice any anomality and are receiving signups, but are looking into what might have caused the issue. In case it's a persistent issue for you, it would be awesome if you could contact us via email so we can further investigate the issue.
This looks perfect for what I'm looking for. But I need to serve it to MY customers along our software. Is there any way do that?

Feel free to contact me directly. moura @ the domain in my profile

I broadly agree with your assessment of confluence (maybe with the difference that I'd draw the "bad" line really close to it).

However, I've had a different experience to this one:

> You can organize your company workspaces however you'd like.

...unless you want to, say, include two subsubsubpages with the same title in the same space. You want a space per project? You want to put documentation for multiple major versions into Confluence? Atlassian tells you "Nope".

Which is my main gripe with Atlassian about now. There's a pretty old ticket on the titles thing, with loads of comments asking to change this. It was simply ignored.

With Jira, there was the same thing: The release management part has some limitations, someone opened a ticket, hundreds of customers agreed, Atlassian closed it. And allthough their final comment starts with "we listen to and value your feedback", it states that no, this won't be solved. Ever.

Edit: Oh, and don't get me started on their search.

The worst bug (or bad design if you wish) I've seen in confluence is the following - permissions on pages are inherited in a tree-like manner, parent to child. A reindex wasn't done and at some point child pages with sensitive information became viewable to every user because the permissions were not re-applied.

I would absolutely never rely on the permissions in Confluence to store anything sensitive in it ever again.

Yeah, we have a corporate policy of never storing anything critically sensitive in an Atlassian product. Though, to be fair, we have the same policy for Slack and most of our tools; that stuff never leaves Amazon.
Confluence works really well. It's easy to search through, edit, and create diagrams.
nvAlt 2, a fork of the original Notational Velocity, is a good option for personal use that supports MultiMarkdown: http://brettterpstra.com/projects/nvalt/

You can synchronize with Simplenote — https://simplenote.com/ — which has a mobile version so your notes are viewable on your phone.

You can also use double brackets for wiki functionality to automatically create a link to another page of the same name. For example, [[this]] would create a link to a page called ’this’.

Another option that is good for many people working together is Gollum, a wiki system built on top of Git. It is the basis for GitHub’s wiki pages, if I remember correctly: https://github.com/gollum/gollum

Nuclino (https://www.nuclino.com/)

It's a minimalist wiki with markdown support and real-time collaboration features. A lot faster and more lightweight than most of the old school wikis e.g. Confluence, MediaWiki, SharePoint (ugh).

Also has a kanban board view for sprint planning.

Thanks for mentioning us (I'm the CTO)! Let me know if you have more feedback or questions.
How can I contact you?
We use confluence. It integrates with Jira and SAML so we have all of our users in there and it's really convenient to mention a ticket number or a team member and have it automatically import the details.

The main point that confluence does really poorly (for me) is the lack of an external editor and the absolutely shameful support for Markdown.

If I could edit the page with git like interface and an external editor (like you can do on Github), it would be absolutely amazing and would make it a killer product for us.

Moving to another solution without deep integration to confluence/Jira is not possible since those are being used by product as well.

[BookStack](https://www.bookstackapp.com) - Opensource, built with Laravel. Been using it for a few months and it’s been fantastic so far. Supports LDAP integration, markdown and a lot more!
Vuepress.

We are tech company, everyone can learn to use Markdown and Git.