can3p → Dev Notes

Fri, 18 Nov 2022 23:46

Usual approach for note taking apps is to have a collection of pages / blocks that can be linked together. Although it's possible to get really far with this approach, there are several fundamental problems there:

All three points really bothered me every time I tried to use a note taking app. The maintenance burden is especially daunting. While it always starts very simple, bits of information add up very quickly and quite soon most of the time with notes is spent on organizing them instead of writing them.

In addition I argue that in majority of cases we don't need any structure in the first place. Take gmail or slack as an example. The fact that information is scattered across unrelated emails/threads/channels absolutely does not make it hard to use them to keep and extract the information. It's seen as an antipattern by many people but what if that's a feature?

Another aspect - in many cases notes we are taking do not need to be read again and analyzed. In some of the cases we just need a place to write things down because the sole fact of writing things down forces us to structure the thinking and that's what is valuable, not the notes themselves. In other cases what we want to record is just a fact - a change in the temperature, distance that we ran for today and things alike.

And let's dive into the last case - recording facts of life. How many times you got sick this year? For how long? If you take such questions what's needed is not a note, but time between events. You could record the dates in a separate note, but that won't help you to compare the ranges or get any other types of insights.

And that's what dabdab is about!

The central concept there is stream. Stream is a series of messages. A stream can have substreams and can be public or private. You can have as many streams as you like. That's all to it!

One example of stream could be this blog which is a series of streams.

Or you can create a stream "Trips" where you would drop any information about your holiday plans and then you can create a substream for a specific trip you make to collect all the related information in one place. Given such structure it's trivial for dabdab to generate a graphical timeline which would be useful to extract insights from it.

Messages are not only a block of text. For every stream it's possible to define an arbitrary number of custom fields that will be able to have different types and allow to track interesting bits of information for your stream. If you get sick, you can track your temperature, if you're traveling you can record your location in order to reconstruct the route later. Messages are really cheap, no need to think them through if you don't want it!

There are two more concepts directly related to messages - tasks and facts. As was mentioned before, in many cases the message itself is not as useful as the decisions made based on it or their other properties (timestamp, fields). Let's say you take a note of you and your partner discussing future vacation plans. Fact is just a short note that's attached to the message but can also be later observed alongside the stream. Based on the message you can for example add a fact "She doesn't like posh hotels" and have it visible in a separate list attached to your Trips stream. If you decided that it's time to book some tickets that evening you can create a task to book them. The task will be separately visible for your stream too and you can easily work through the task list to get things done.

Streams are a very powerful concept. Developers can imagine writing a bot that would maintain a stream related to uptime of their service or acting as a collector for the feedback they get via some channel. Scientists can keep research notes and create substreams for experiments, the possibilities are infinite.

Since this blog is pubilc you may wonder about comments, likes and all other usual aspects of social platforms. My current idea is that you probably don't need it there. Twitter is uniquely position to propagate the information at maximum speed, dabdab is made to organize thinking process. It doesn't mean that social interactions won't ever be a part of the platform, but we will for sure try to implement them in a different less harmful and addictive.

Stay tuned!

Dabdab.org (c) 2022 — 2023, hi@dabdab.org / Contact us / Twitter