Create a standalone wiki app
Up: Ideas for software projects
My implementation: Deniki.
Inspiration:
- DokuWiki
- Obsidian
- TiddlyWiki
- VoodooPad
- MoinMoin
Goals:
- Standalone desktop app
- No filename restrictions (unlike Obsidian)
- Visually pleasing
- Minimal
- Focus on perusing, not authoring (separate edit modes?)
- File-based
Core principles:
- Good built-in functionality trumps extensibility.
- Installation must be trivial.
Non-features:
- Web app
- Authentication/authorization
A wiki, not a notes app
A wiki is very similar to, but nonetheless fundamentally different from a note-taking application. I use Bear and it is great for note-taking, but it’s not a wiki.
First difference: Can have multiple standalone/separate wikis. This rules out Bear which is not a wiki in the first place.
Second difference: Easy to create a new wiki without specifying a name for the wiki and/or a location to save to. Unlike Obsidian.
Third difference: No list of notes. Wikipedia does not have one.
Minimal effort to use
For this particular wiki software, it needs to be trivial to create a new wiki. Think: As easy as creating a new text document in TextEdit.
Personal wikis exist, but often are not easy to get to use. Just some examples:
-
MoinMoin uses Python 2.x which is a pain to install (needs something like pyenv or so).
-
DokuWiki requires setting up a web server and PHP. And this setup needs to be repeated (though is easier) if you want multiple DokuWiki instances.
-
TiddlyWiki needs dedicated software for updating the wiki, and you need to give the wiki a name and a place to store it before starting to use it.
This isn’t to say that these pieces of wiki software are bad — they are not — but they don’t fulfill the need of being trivially easy to start using.
Offline-only
Making it offline-only simplifies things greatly. No authentication, no authorization.
Syncing might still be a feature for later. In particular, it’d be nice to have wikis be editable on both macOS and iOS (I’ve got an iPhone). But it’d still be an offline-only application — just with syncing.