Roadmap to exegesis' beta release

Nicholas Chen sunday, january 3, 2021
exegesisdevlog
I'm using the terms 'alpha release' and 'beta release' here very roughly. That being said, my definition of a 'beta release' is something I consider 'full featured', whereas my conditions for an 'alpha release' were 'barely functional.' I set a deadline of new year's for the alpha release and barely made it. While exegesis is totally usable right now, there are a couple of features that it's lacking that I would like to patch before trying to onboard more users. Put another way, the 'beta release' is when I will feel comfortable enough with the product that I will dedicate time to promoting and marketing it to people.
Here are a list of features I'd like to have finished before an official beta release.

Key Features

Page tags

Right now users can apply tags to paragraphs and highlights. I would like to allow users to apply tags to an entire page as well.
This is for scenarios where you do want to write in an organized manner. For example, right now, this entire page is about
, but it'd be terribly tedious to highlight the entire thing to tag it exegesis (not to mention, since overlapping tags are not supported, this would stop you from adding tags to smaller segments). It would be nice to be able to simply tag this page 'exegesis' and have it show up when filtering for the exegesis tag.
An additional benefit is that this allows users to construct folder-like organization schemes. For example, if I wanted to replicate a folder structure I'd constructed in Notion that looked like this:
___Guitar
|___Practice Routine
| |___Songs to Practice
| |___Scales to Practice
|___Guitar Goals
|___Music Theory
I could instead create all these pages, and tag them with their parents. Then, from the parent note, you would able to see the linked notes (like the sub directories, in a file system).
In general, a file system represents a tree structure, and a tagging system represents a graph structure. Since a tree structure is a specific case of a graph structure, it is possible to accomplish a file system like approach with a tagging approach.

Images

Self explanatory. I would like to support users uploading images to exegesis for both their private and public notes. I would also like to figure out a system to apply tags to these images.

Bio pages

Instead of allowing users to write bios for the public pages, I would like to let them mark one page as their "bio page." That page would be published, and would be shown directly on their profile. Basically, instead of a simple plaintext bio, their bios could be an entire exegesis note. That way, they could include links to their favorite pages, their favorite tags, and explain them to anyone visiting their page.
If exegesis had image support, I'd draw a mockup, but alas we're not there yet.

Long Term goals

These are just the features I'd like to publish by the beta release. Tentatively, I think I can get this done by the end of January, but my course load this quarter might delay that.
I will write soon about my more long term goals for exegesis - both technical tasks I'd like to get done and my overall vision for the product.

Edit: 1/6/2021

I have decided to remove namespaces from the list of features to have implemented before beta. The thinking is that this feature will only really be useful to people that have used exegesis for a while, and will not make that much of an impact for new users. I still plan on implementing it, but it will be after the beta release. I have included the original description of the feature below.

Namespaces

One of my biggest pet peeves about exegesis right now is titling conflicts. All note titles must be unique, because when you leave a tag with a note's title, it will link you to that note. If you have multiple notes with the same title, then the app would not know where to direct you.
That's fine and all for most use cases, I've been using exegesis for months and it hasn't bothered me, until one specific scenario. That's when I have a titled note I want to keep private, but I also want to publish a note with that same title. Here's an example to illustrate what I mean: I have a page titled 'exegesis' in my private notes, where I have some notes on the general direction I want to send exegesis in. Ideally, I'd like to have a page titled 'exegesis' published publicly as well. However, I don't want to publish my private note, because there are some things in that note that I don't want to publish yet. There is no way for me to have a private note titled 'exegesis', and a public note titled 'exegesis' as well.
To solve this, I want to introduce a 'namespace' feature. Basically, note titles would only have to be unique within a particular 'namespace.' I could create a namespace titled 'private', and a namespace titled 'public', and have a note titled 'exegesis' in both. Then, I could publish the 'exegesis' note from the 'public' namespace only. Links would be bounded within their namespaces - a note with a tag to 'exegesis' in the 'public' namespace would only link to the 'exegesis' page in the 'public' namespace.
There are some additional benefits to this approach. Eventually, I would like to allow writers to monetize their blogs on exegesis, like Substack but with networked posts. With namespaces, they could sell multiple levels of subscriptions, each one allowing access to a different namespace.
show:
edited 2 years ago
The first update to exegesis is now live! I outlined a couple of features in Roadmap to exegesis' beta release that I wanted complete before trying to seriously market the product. I was able to implement a decent amount of them, but there's still a lot of work left. Nonetheless, I feel like exegesis has become a lot more usable, and I feel comfortable bumping it up to beta status.