Thinktool

Started by Jonas Hvid on 5/1/2020
Jonas Hvid 5/1/2020 4:44 pm
Hello everyone! I want to show you all a new note-taking application that I've
been working on, which some of you may find interesting.

It's called Thinktool, and although it's still in early development, you can
check it out here: https://thinktool.io

The idea behind Thinktool is to combine two different approaches to note-taking
in a single app: "Associative" note-taking approaches like those found in
TheBrain, Roam Research and Zettelkasten-inspired systems; and "hierarchical"
systems, like those found in traditional outliners.

I really like applications like Roam and TheBrain because they let you easily
add a bunch of notes and then explore them in a natural way.

However, I find that their approaches break down when you start to get a lot of
notes. At that point, you need the ability to organize your notes into a more
rigid system. It's not impossible to do this with Roam and TheBrain, but neither
one of them are as nice to use as a simple outliner in my opinion.

Thinktool is an experiment in creating an application that has all the features
of an outliner, but which actually uses an associative approach under the hood.
In practice, this means that Thinktool supports both Roam-style linking and
multiple parents (i.e. transclusion).

If this sounds interesting, check it out! I'm very interested in getting
feedback.

- Jonas

(P.S. If you remember seeing Thinktool before, it's probably because I posted
about it in another thread. But I recently added a proper tutorial, so I wanted
to make another post now that it's a bit closer to being actually usable.)
Paul Korm 5/1/2020 5:33 pm
Sorry, I must be missing the point. Your post mentioned Roam-style linking -- which means [[links like this]]. That doesn't work in the demo.

I'm trying this on a Mac so maybe ThinkTool is Windows-only?

Looks like a simplified outliner.
Jonas Hvid 5/1/2020 6:10 pm
Hey Paul

Thanks a bunch for the feedback; it help me a lot with figuring out how to
explain Thinktool to people, so I appreciate it.

By Roam-style linking, I really just mean "bidirectional links". That is, when
you create a link from Item 1 to Item 2, then looking at Item 2 will
automatically show you that such a link exists.

The specific implementation differs from Roam. Instead of typing the link
directly, you can press Alt+L or select "Link" in the toolbar at the top to
insert a link. Then you type the name/content of the item that you want to link
to.

Clicking on the link opens the linked-to item directly underneath the link
itself. Under the linked-to item, you can see its "references", which shows all
the places where that item is linked to.

I hope that explanation makes sense.

Also, if you don't mind helping me out a bit: Did you go through the tutorial? I
don't expect most people to go through the tutorial, but if you did then I
should probably work on making the tutorial a little bit more clear. (Otherwise,
I'll see if I can do something else to make the linking system more intuitive.)

Also, it should work on Mac (if not that's a bug). Actually, I'm developing it
on Linux, and testing with Chrome and Firefox. (Mobile support is a bit wonky
right now, but technically works -- for some definition of "works".)

jaslar 5/1/2020 9:21 pm
I went to the page via my elementaryOS machine, then to Demo. I gather that I'm supposed to be able to click on "new item" and get an entry -- but the option is grayed out, and I can't select it. Nor can I add anything by pressing Enter. Intriguing idea, though, and I'm always glad to see new developers offerings interesting takes.
Jonas Hvid 5/2/2020 2:36 pm
Thanks for the bug report, jaslar.

That's right, you're supposed to click "New" to create a new item. Previously,
this button was only active if you first clicked an existing item first, which I
suspect may have been the problem. I went ahead and made it so that it also
works with nothing selected now, which is a little more intuitive.

And thanks for the encouragement. Thinktool is a bit of an experiment in
designing outliners, so I'm glad that other people also find the idea
interesting.

Bernhard 5/2/2020 2:42 pm
Will there be a self-hosted version that will work offline and stores its data locally?
Jonas Hvid 5/2/2020 3:53 pm
Hey Bernhard,

Will there be a self-hosted version that will work offline and stores its data locally?

So, this is something I've been thinking a lot about, and I already had part of
this post typed up; I apologize in advance for the rather verbose answer...

First of all, to give you the short version: Probably yes, but hopefully not :)

If it turns out that people like Thinktool, then I want to make money off it.
It's hard to charge a subscription service for a fully offline app.

Currently, however, Thinktool is a side-project for me, and it has exactly one
active user - myself. If it turns out that I can't make Thinktool good enough to
justify spending more than my free time on it, then I will make the project open
source, and at that point you can do whatever you want with it. Good news: 90%
of startups fail, so this is by far the most likely outcome :)

On the other hand, if Thinktool *does* become successful, then there are some
issues that I think other software-as-a-service isn't doing a good job of
addressing, where I believe I can do better. Specifically, these are:

1. Privacy, i.e. "How do I know you're not leaking/selling my data?"
2. Lock-in, i.e. "What can I do if something better comes around and I want to switch?"
3. Durability, i.e. "How do I know that you will still be around ten years from now?"

Many apps can get away with not really tackling these questions, but for a
note-taking app, I think these are pretty central, and even with zero users,
I've already starting working on them.

Privacy can be addressed by implementing end-to-end encryption. This would make
it impossible for a server admin to "spy" on the contents of your notes. This
will probably be implemented per-item, meaning that the connections between
items won't be encrypted, but their contents will.

To deal with lock-in, I plan to add at least two export modes: One that exports
all of your data in a documented format that you can then convert into whatever
you need with some technical knowledge; and another one that lets you export
your notes to human-readable plain text, but perhaps not preserving all
information (e.g. transcluded items).

(Again, this is contingent on people actually using Thinktool. In the meantime,
I would be happy to help anyone manually export their data. You can already
download all of your data (in an undocumented JSON format) at
https://api.thinktool.io/state (after logging in).)

Finally, as for durability: Running the servers for Thinktool currently costs
$5/mo, and I'm only working on it in my free time. As such, there's really no
reason for me to shut the service down. Even if I totally abandon the project, I
can't see a reason why the servers couldn't keep running.

Also, I made Thinktool because I personally couldn't find anything that was
better for me. As long as Thinktool is the best option (for me), I will keep it
running. If something better does comes out, I will implement a way to export
your data to whatever it is.

Dr Andus 5/2/2020 11:27 pm
Very interesting project, but I'm still struggling to get my head around it, wondering what would be the specific use of this.

I guess the clue is in the name, Thinktool? Is this approach supposed to help figure out some cognitive problems?
jaroet 5/3/2020 9:40 am
Looks interesting and also somewhat like Trilium Notes. As the subscription you mention that is an immediate No for me. I like to be in charge of my own data.
Good luck.

JaRoet
Jonas Hvid 5/3/2020 3:36 pm
Thank you for checking it out and giving feedback, Dr. Andus! I'll try to answer
your question.

Thinktool is mainly designed for people who do some kind of research or
learning, and use that in their creative outputs or just for personal growth. So
the core audience are students, bloggers, academics, writers, etc.

It is essentially a note-taking app, just like Workflowy or Evernote, but
Thinktool really shines when you have lots of notes that are linked to each
other, and you also need to add some kind of structure to them.

So for example, while I'm building Thinktool, I want to learn more about
note-taking approaches and other applications. In my Thinktool database, I have
a list of different note-taking tools, sorted by category (i.e. outliners,
personal wikis, etc.):

https://johv.dk/public/2020-05-03-170835.png

I don't have to put any item in just one category; for example Thinktool is
listed both under "Outliners" and "Graph-based knowledge management tools":

https://johv.dk/public/2020-05-03-171155.png

If I open "Outliners", I can see that this item is mentioned somewhere else:

https://johv.dk/public/2020-05-03-171726.png

I can then follow that reference to see where it comes from - in this case a
comparison between Roam and Thinktool:

https://johv.dk/public/2020-05-03-171910.png

This item itself has links to a bunch of other items which I can open, and then
I can continue to explore from there.

Not sure if that explanation made sense. It can be surprisingly hard to explain
to other people why Thinktool is useful, perhaps because it seems so obvious to
me :) I'll have to see if I can improve the homepage to make it more clear what
Thinktool is about.

Bernhard 5/4/2020 7:38 am
Thank you very much, Jonas, for the detailed answer. I can understand your thoughts and partially agree with them. But my concern is that I would have to be online anytime and anywhere if I want to work with the tool. Unfortunately, this is not always the reality here.
Franz Grieser 5/4/2020 8:26 am
Bernhard wrote:
Thank you very much, Jonas, for the detailed answer. I can understand
your thoughts and partially agree with them. But my concern is that I
would have to be online anytime and anywhere if I want to work with the
tool. Unfortunately, this is not always the reality here.

Same with me. Maybe Bernhard also lives in Germany ;-)

I only use tools that allow me to store documents offline. When I am on a train or work in a customer's office or training center, I not always have access to the internet or to online services the in-house security staff does not approve of.

This is also the reason why I do not use Roam though I find it very appealing.
Bernhard 5/4/2020 12:30 pm


Franz Grieser wrote:

Same with me. Maybe Bernhard also lives in Germany ;-)


Indeed!
Jonas Hvid 5/4/2020 2:10 pm
Thanks for elaborating, Bernhard and Franz -- it makes a lot of sense that you
would want something that you can use offline too. I imagine you aren't the only
ones with this use case.

It actually might be feasible to add some kind of offline version. I'm planning to
rework how data is synchronized between the client and server fairly soon, so I'll
look into it then, but can't make any guarantees.

I'll be sure to mention it in the newsletter if this is something I do, so maybe
consider subscribing to that if you think you might be interested.
Franz Grieser 5/4/2020 2:31 pm
Jonas Hvid wrote:
It actually might be feasible to add some kind of offline version. I'm
planning to
rework how data is synchronized between the client and server fairly
soon, so I'll
look into it then, but can't make any guarantees.

Fine.

I'll be sure to mention it in the newsletter if this is something I do,
so maybe
consider subscribing to that if you think you might be interested.

Where do I subscribe to your newsletter? I only found a "Log-in" button on your website. And see no point in opening a user account right now.

Jonas Hvid 5/4/2020 2:45 pm
Hey Franz,

You can subscribe under the yellow banner that says "Stay updated"
on the main page (https://thinktool.io/ No need to sign up :)
Franz Grieser 5/4/2020 2:54 pm
Sorry, Jonas. I overlooked that.
Dr Andus 5/4/2020 9:45 pm
Jonas Hvid wrote:
Thank you for checking it out and giving feedback, Dr. Andus! I'll try
to answer
your question.

Thanks for the detailed explanation.
huvir 5/29/2020 1:21 pm
Hi,

I was stuggling with the first item in the list a lot (the one with grey bullet in front of). It seems to be a special type that does not allow for adding siblings and/or child items. This applies for both the online version (Chrome browser) and Windows Desktop client. Same result by hitting enter / ctrl + enter or by using the menu buttons. The cursor jumps to the next row, but there is no bullet in front of the line. First I thought that the app does not work at all, but then I moved the cursor the the next level (second from left) and there all the commands work as expected. From my point of view the first item should be completely removed (I don't see any added value to have one). Or it sould be rendered completely different from the rest of the outline. The current implementation is very misleading / frustrating.

Generally you app is very promising and I do like the idea of not separating the notes into pages a lot. Thanks for your effort.

Petr