This is something I've wanted for years. My dream app is a "data canvas" where you can write, draw, plan, automate, compute, graph, collaborate, and package into a user-facing executable. Basically every productivity tool (and I mean every tool) combined into one, with extreme flexibility and interoperability.
It's also something extremely hard if not flat-out impossible to do with an intuitive UI. All of that interoperability means extreme complexity, and it's not even possible to infer advanced computations or constraints for an app without specifying them in detail (in which case you're basically just programming). But I like that people are trying, because even though there's no unified data canvas available yet, we really are getting closer with things like high-level languages, low-code solutions, Apple and Microsoft continuity, and of course this.
I've been saying for ages that our approach to personal computing is wrong.
Everything is focused on apps nowadays. You need an app for accessing the camera, you need an app to access Snapchat, et cetera.
On the other hand, what if our personal computing - let it be on your phone, on your laptop, or on your NAS - was about DATA POINTS? Everything on your device, including hardware like the camera, GPS, etc., becomes a data point that "apps" attach to. Slap some ML-based contextual recommendations to it, and you've increased productivity a lot.
For an average person this means opening the camera loads details like Snapchat, but for a professional photographer, it shows the "Pro" things by default. Open an MP3/WAV/[insert other audio format] file, for an average person, this offers playback options, for a sound engineer, it offers analysis tools, detailed editing/post-processing utilities, filters, you name it.
Then you can expand it by customising the launch interfaces. On a smartphone, you'd most likely want easy access to relevant information based on e.g. location (say, at home you'd get smarthome controls on your home screen, at the office you'd get your work email and related services, on the go you'd be getting relevant public transport/traffic information, at an airport, it would automatically pull up your boarding pass, at a Tesco, your ClubCard bar/QR code, and so on).
Of course this would require a major paradigm shift in computing, which would have major pushback from people - most people don't like big changes, especially in things they use everyday. Hell, I can't even get my parents to change smartphone brands, because they're used to how things are on their old crappy Chinese phones, and apparently, Samsung's or Apple's "menus are confusing and things aren't in the places they used to be".
People saying "this can be done with X" and listing the various combinations of tools miss the most important thing: I, the user, couldn't care less about spending time to collect and configure these separate, and often conflicting, tools into a cohesive whole.
I, the user, will always reach for something that gives me a cohesive whole out of the box.
(Note: though I like the idea of Potluck, I'll stick to regular Notes.app for now)
This is beautifully written, but they're essentially reinventing emacs with org-mode (either that, or various Smalltalk environments, especially the Glamourous Toolkit's Lepiter). They mention emacs once, but the way they characterize it doesn't do justice to the underlying paradigm.
I've often pondered the idea of something similar to this. I'd love the idea of a note taking app as relational database.
Most of my work tends to follow a few similar formats, which I would like to create as templates that pull in data based on queries for whatever project/product/task I'm currently working on. Editing the document in current view would then modify the database, while editing the templates would allow for a quick update of all files simultaneously (i.e.- generating a test plan for a physical product of type "X" would then apply to all products of type "X").
It seems like a great way to take out the annoyance of the "little stuff" by providing a boilerplate way to get ideas off the ground.
Any ideas if this already exists, or if I'm just talking crazy?
Tana mostly works as an outliner now, but they're planning a document mode.
Using "supertags" you can tag a node in the database as being a certain kind of thing (eg an article or, one of my uses, a library for a programming language). You can then specify certain fields that are always (or optionally) part of those things. And you can right queries to display nodes that match a bunch of different criteria and then display those fields in columns in a table or create a board of cards.
This looks super interesting as a concept... but has massive issues for me, despite the fact I feel like the product was practically made for the way my mind works... I genuinely want this, or something like this, and how I use Obsidian plugins is to try and work like this but clearly not as slick as a dedicated product... but despite how much I want this, I can't adopt a product that has not just one red flag but three. One red flag might be worth learning about to see if its just that good I can stomach the risk/pride/disgust/etc... but two or even three is just a complete non starter.
My massive red flags:
1st - It currently requires connecting a Google Account. I don't care about the encryption at rest and in transit, thats nice, you've still forced Google in between Me the customer and You the proprietor. My Google Account is my oldest, least wanted account. I've been slowly trying to purge it from my life, but its been growing since the day I got a gMail invite in the closed beta days. It's too personal it has way too much junk leftover from 16+ years of use across dozens of google services.
2nd - They promise that the data will always be exportable, yet I see nothing about formats or methods.
3rd - Its obviously a cloud SaaS ... all the stuff I think and put into something like this, a second brain if you will... should always be accessible. Offline functionality is mandatory
It's worth noting that Tana is currently early access. IIRC, it just opened to public beta on September 30th. I believe the Google account thing is specifically noted as a temporary thing (and I suspect it's because they appear to use Firebase, so Google account would have been trivial to get started).
You can export to some kind of JSON format. I haven't looked at that yet, personally.
Offline would be good and they definitely need a better mobile story, but for such a new product it's still really great.
It really does look great, it’s managed to stick in my mind for more than an hour which is an excellent mark of a product that I really do want to have in my life.
Firebase was my thinking too, and without Documentation I have no way of knowing if the exported JSON is even remotely readable, let alone able to be converted into other formats like even just to markdown or html… and not having anything offline is just such a dealbreaker after months and months of magically always local and fast access to everything with my notes in Obsidian.
I’m going to be following it eagerly hoping they fix/change some of my dealbreakers.
I haven't used Logseq but have been a heavy Obsidian user for a couple of years. Obsidian can also do much of what Tana can do via plugins (like "dataview"), but the _way_ it's done in Tana is really nice.
I often post about Tiddlywiki on HN, so this is a bit of a repeat, but I think Tiddlywiki comes really close. I wrote a bit about it earlier in the year because it occurred to me that, with filters, it really is a database for your notes. My writeup is not complete, but hopefully gives some idea of how Tiddlywiki could be used in this way.
Indeed, you can get your template up and running by just writing
<$list filter="[product_type[X]]">
<!-- Make the template in HTML -->
<div class="example_value">{{!!a_field_value}}</div>
<div class="description">{{!!text}}</div>
</$list>
and having the `{{!!fields}}` replaced by values from your "database"
You can achieve a lot of this with Obsidian and some plugins, like obsidian-dataview and Templater.
Might have some missing bits still, but if you're comfortable writing JavaScript (or not, honestly) it's very simple to make your own plugin to fix that, it sounds like a pretty minimal plugin after you have dataview.
The universality of "software" as a digital "techne" makes the aim of this article too fuzzy.
Using the exact author's descriptions, here are some more "defined" apps that are working toward his goal of "dynamic documents as personal software."
- "Write formulas that compute" + "Interactive widgets" anywhere on the page :
- For the simplest sheet-like computations -> https://reactivepad.com/
- For a wider gamut of DB/Sheet type formulas -> https://coda.io/ (on top of its no-code relational DBs)
- "Users can create live searches that extract information from freeform text" into "Structured data views" :
-> https://tana.inc/ magically turns every typed line of text into a row of a Semantic Graph DB. Then, no-code queries are editable in multiviews (like notion-style DB views for every block of text anywhere).
These apps do not need extensive configuration or plugin integration to achieve these goals.
They are not even "low-code". On the contrary, "Potluck" aims to be more "programmable" : more like a "programming portal as a doc. (https://maggieappleton.com/programming-portals)
Edit : He already mentioned that "Coda’s goal is particularly close to ours." Maybe a "Coda+Tana.inc" hybrid will get us nearer to his aim of "computations run on data interpreted from freeform text" as he expressed it.
I think it would be great to experiment with building this sort of thing for an e-ink tablet, adding an enhanced layer of interactivity to by-hand notetaking.
My dream is combining a simple self-hosted programming system like smalltalk-78 with the kind of experimental notetaking systems demoed here and in other inkandswitch work (crosscut and untangle) on an e-paper based tablet (like the PineNote).
Nice, I do something on the same line with org-mode, however while org-mode/Emacs if far less "GUI-ish" it's an integrated environment who can be an entire desktop (EXWM) while no modern application can, and that's the biggest issue of ALL modern software the model of "OS + application" have proven to be a very bad idea for users, good only for business...
It's also something extremely hard if not flat-out impossible to do with an intuitive UI. All of that interoperability means extreme complexity, and it's not even possible to infer advanced computations or constraints for an app without specifying them in detail (in which case you're basically just programming). But I like that people are trying, because even though there's no unified data canvas available yet, we really are getting closer with things like high-level languages, low-code solutions, Apple and Microsoft continuity, and of course this.