Treesheets: cross-platform, free-form data organizer app
strlen.com
strlen.com
But functionality and especially usability of this application is quite limited. It feels more like a proof of concept, than an application for daily use.
He's on here (username strlen) but doesn't comment much - maybe he'll chicken me in.
So chicken me in on something, what is it, exactly, that you'd say you do around here?...
But yes, TreeSheets was initially designed just to be perfect for my needs. It has existed since 2008 though, so it has plenty of general usability tweaks for others since.
The computational sub-language is indeed very weak. It can at least do `sum` though, which is 99% of my uses of spreadsheets :)
I was a customer of Amiga E back in the day, and keep occasionally checking your site, maybe that's how I got it into my head. [And Aardappel the language has fascinated me ever since I saw it on your site]
But I never thought that "easy to get into" was a priority during development. Which is totally ok for me,
If you have specific ideas about what is so limiting, please file a github issue.
I totally understand it’s just a one man project, but I would really like to see some of those amazing concepts in a commercial application at the scale of Excel. That’s why I called it a proof of concept.
Speaking personally, I used TreeSheets daily for years (thanks 'Aardappel!) to write and manage my lecture notes, to-do items, daily routine, calendar, shipment tracking, and other life things. I found it a very capable tool with a constrained but thoughtful feature set and particularly excellent keyboard-driven navigation. I only moved away (to org-mode/Orgzly) for mobile support.
An Outliner, Editor, IDE and PIM written in Python. Cross-platform too.
https://leoeditor.com/ the homepage of the program, with screenshots.
https://github.com/leo-editor/leo-editor
There's a Wikipedia article about it too even.
https://en.wikipedia.org/wiki/Leo_(text_editor)
Leo means Leonine Editor with Outlines.
Typically my Leo file would be organised both by project and topic, and at the top cloned nodes of my current priorities.
The markdown world has some contenders with embeddable links that allow you to include notes from multiple locations (like an iframe, basically) - Obsidian.md being one such example.
It was THE best file manager ever. I could browse my entire hard drive from memory alone via WASD type input and I would know exactly where I was just from memory and key presses...
If you ever played the game "The Bards Tale" there was a version, maybe 3 or such, where you could recall exactly the steps taken to get to a specific dungeon and could type that out very fast and get there via just recalling the steps it took to get there....
PMV was like that.... you knew that [Directory] was a series of steps in PMV which you could quickly type out.
TreeSheets: Free Form Data Organizer - https://news.ycombinator.com/item?id=15057392 - Aug 2017 (58 comments)
TreeSheets: Free-Form Data Organizer - https://news.ycombinator.com/item?id=11247372 - March 2016 (28 comments)
TreeSheets – Open Source Free Form Data Organizer - https://news.ycombinator.com/item?id=10052484 - Aug 2015 (1 comment)
Treesheets finally became open source - https://news.ycombinator.com/item?id=5877145 - June 2013 (4 comments)
TreeSheets, a programmable spreadsheet/mindmap/PIM crossover - https://news.ycombinator.com/item?id=3394418 - Dec 2011 (3 comments)
It allows pretty high complexity but is so simple to use. It has a very short learning curve. You can be doing meaningful work with it in a matter of minutes. It has features of a spreadsheet that allow you to store related info and do math on fields but is so much more useful because you can do the math at one level and use layers below to completely document why and how you did it that way, where the values come from etc. even linking to local references for inputs, outputs, logs, etc.
I have used it in data processing to thoroughly document data input and output creation; for detailed vacation itineraries; as a password manager; for genealogy research; address and contact management for personal and business contacts, etc. There are so many things that can be managed using Treesheets.
[2013] https://news.ycombinator.com/item?id=5877145
Intro video: https://www.youtube.com/watch?v=egCKZHsICm8
Source code: https://github.com/gingko/client
I think this is a great approach. Many people want to "just try it" and this allows you to do that and also get an explanation at the same time.
Re: originality though, this is extremely close to a visual representation of org-mode.
But it really does look amazing.
It looks like it might be a custom format, which might make sense for the project, but is unfortunate for a broader accessible knowledge-base and programmable integration - plain text allows you "grep", sqlite allows you SQL.
The discussion of this being an org-mode mindset kind of GUI definitely appeals to me. The arbitrary hierarchy of data/knowledge in org-mode works really well for me. I tried a bunch of note-taking apps until org-mode, and it was the second one that just "worked" for me (Trilium Notes and Obsidian were the previous best options for different reasons).
But... I'm an Emacs convert just for the purposes of org-mode, and I'm finding a lot of Emacs specific quirks and issues that I don't really want to spend time fixing - but customizing until the quirks are your own preferred quirks seems to be the entire culture of Emacs.
Issue created: https://github.com/aardappel/treesheets/issues/185
My (partial) parser in Python: https://gist.github.com/quag/e219f69670cd395d4a59a392557df28...
If people would like the current format documented and simple test files to parse please let me know. It’s a 1-2 day task to get it to the point were I wouldn’t have had to read the code to write a parser.
There's not really a standard tree file format that would allow storage that can interop with other formats. Yes, there's of course JSON and XML, but you'd end up with a file with so many custom fields it is not interoperable. And these formats are extremely inefficient compared to the current binary format.
The binary format is also able to store images inline.
Anyway, it's your business but I just wanted to encourage you to research that stuff again. Patreon, and a bunch of startups and other projects (I think there is something in GitHub and maybe even one or more cryptocurrency ones) could possibly change the donations situation somewhat. Possibly.
But thank you for making it free and coming in here. Personally I find it inspiring to see such an interesting and useful project made by an individual.
By the way, I see the scripting is in a language you created called Lobster http://strlen.com/lobster/
How do you use a script in TreeSheets? Is that documented somewhere?
I am on GitHub Sponsors (https://github.com/aardappel) but really only use that if you feel very strongly about it, since it is never going to compete with my day job. Getting people on patreon etc also requires a lot of "marketing" I don't have time for.
There's not a ton of examples of the scripting functionality yet, but here's one: https://github.com/aardappel/treesheets/blob/master/TS/scrip... and the reference (view file locally, sorry): https://github.com/aardappel/treesheets/blob/master/TS/docs/... Beyond that you'd need to check out the language site to learn more on how to use it :)
Then there's the matter of file storage.. it would need to hook up to some kind of cloud account etc.
In all, the amount of effort to bring this to mobile might possibly be the same as writing it from scratch.
Though.. PRs welcome! :)
You can kinda sorta use it as a spreadsheet, but it is pretty limited currently, see example here http://strlen.com/treesheets/docs/images/screenshots/screens... or also in the tutorial.
I see why you don't want to worry about addressing cells, it would kill a lot of the utility of the program.
What are the tradeoffs in your mind?
Note that also requires compiling wxWidgets according to the README.md in that commit, which is incompatible with my current install, otherwise I would have done it for you.
https://web.archive.org/web/20210624160236/http://strlen.com...
I took a stab and got a version from July 2011 going, then worked forward and ended up with a version from August 2 2019, which may be the version you're mentioning.
I appreciate that you would have compiled it for me! I would like to give it a shot myself some day.
Specifically (right now), I'm curious as to what kind of math it's capable of? Right now I'm playing around with some cryptocurrency and I'm looking to play around with some custom views of prices and such, and I'm not quite sure how I want it to look; does this seem like a possible place to check it out?
The tutorial has a live example, and also lists the implemented operators.
If you want to do complicated formulas, you're almost certainly better off with a traditional spreadsheet. Or create a PR to extend it with operations you need :)
That's what makes mind maps so good (along with the hierarchy).
Mindmaps look very 2D, but essentially its just a left and a right tree, with no other horizontal organizational methods. TreeSheets truely lets you create any 2D hierarchy you can dream of.
A modern, extensible version of this would be amazing.
But yeah, PRs welcome!
I've looked into getting https from my site, but there's always a high cost associated, if you want a certificate that's widely accepted (which doesn't seem to hold for the free ones). And I think my host isn't even compatible with free ones.
If the web wants HTTPS everywhere, this somehow needs to be made simpler/cheaper for non-commercial entities.
Cheaper as in free? https://certbot.eff.org/about/
(has deadlines, agenda for calendar-like features, headers/chapters...)
The big advantage is that Orgmode is just text, meaning I can make small tweaks via mobile without opening any special software.
I also wanted to get to something which could be useable for me as quickly as possible, which at the time for me meant a native app. I also wanted local file storage etc.
Agreed that in 2021 you could probably make this work as a webapp, though I think it would still be a challenging engineering exercise to make it fast.
Also, XMind looks very pretty.