[HN Gopher] Treesheets: cross-platform, free-form data organizer...
       ___________________________________________________________________
        
       Treesheets: cross-platform, free-form data organizer app
        
       Author : open-source-ux
       Score  : 316 points
       Date   : 2021-06-24 07:40 UTC (15 hours ago)
        
 (HTM) web link (strlen.com)
 (TXT) w3m dump (strlen.com)
        
       | discreteevent wrote:
       | "It's like an outliner, but in more than one dimension."
       | 
       | That's what makes mind maps so good (along with the hierarchy).
        
         | Aardappel wrote:
         | I actually wrote TreeSheets after I became a heavy user of
         | mindmaps, and found the information density and organizational
         | abilities to be very lacking. As well as rendering/editing
         | speed for larger maps (in freemind).
         | 
         | 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.
        
       | dang wrote:
       | Some past related threads:
       | 
       |  _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)
        
       | eyan wrote:
       | No mention of XMind yet. So here it is: https://www.xmind.net/
        
         | khimaros wrote:
         | XMind is no longer open source. another option is kitty and the
         | accompanying vscode extension.
        
           | dr_kiszonka wrote:
           | Would you mind sharing a link? I can't anything besides
           | kittens on trees, kitten VSCode themes, and kittens for the
           | terminal.
           | 
           | Also, XMind looks very pretty.
        
       | Aardappel wrote:
       | Author of TreeSheets here, AMA.
        
         | dynm wrote:
         | This is probably a stupid question, but how do you create the
         | "trees" like you see in the screenshots? I can easily create
         | hierarchical grids, which is great, but I can't figure out how
         | to make a mind-map type graph.
        
           | dynm wrote:
           | Nevermind, I get it, you just change the rendering method.
           | Very cool, I love that you can change the visualization
           | method without changing the data structure!
        
         | bsg75 wrote:
         | Does the CI build Windows binaries? I could not find them at
         | https://github.com/aardappel/treesheets/actions
        
           | Aardappel wrote:
           | Yup, even with or without installer, see last run here: https
           | ://github.com/aardappel/treesheets/actions/runs/9514897...
        
         | mikewarot wrote:
         | I see an interesting spreadsheet that is actually a directed
         | graph of some kind. Are there cell addresses hidden somewhere?
         | Can this be used as a spreadsheet?
        
           | Aardappel wrote:
           | It's not a DAG though, it is purely a tree (no shared
           | children). There are no cell addresses.
           | 
           | You can kinda sorta use it as a spreadsheet, but it is pretty
           | limited currently, see example here http://strlen.com/treeshe
           | ets/docs/images/screenshots/screens... or also in the
           | tutorial.
        
             | mikewarot wrote:
             | Looking through the source I see that a cell can contain a
             | grid, which is a collection of cells, and those can nest.
             | 
             | 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?
        
               | Aardappel wrote:
               | I guess I always found the way traditional spreadsheets
               | address cells very clumsy, especially with hidden
               | formulas, and I enjoy inventing new ways of programming
               | :) I can't claim this is better yet, since I haven't used
               | it that much. I like the visible formulas as a
               | programmer, but I could imagine others don't.
        
       | tradesurplus wrote:
       | Looks like it would be very very cool with some attention to the
       | UX and regular updates.
        
         | Aardappel wrote:
         | It's one of my 10 or so side projects. Sadly while TreeSheets
         | is pretty popular with users, it doesn't attract a lot of
         | programmers to contribute (probably my ancient looking code!)..
         | more of them would help.
        
           | rajandatta wrote:
           | What is the technical foundation - language, libraries etc?
        
             | Aardappel wrote:
             | C++ and wxWidgets
        
       | wilsonrocks wrote:
       | I'd forgotten all about this and used it for something once but I
       | can't remember what now, but I liked it.
        
       | jrm4 wrote:
       | Heavy http://zim-wiki.org user here, but I do recall trying this
       | out at some point and I can see a few use cases. Before I go
       | digging, I seem to be seeing different opinions on how good of a
       | "spreadsheet" type tool it is.
       | 
       | 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?
        
         | Aardappel wrote:
         | I wouldn't expect to do anything much more complicated than
         | http://strlen.com/treesheets/docs/images/screenshots/screens...
         | 
         | 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 :)
        
       | ilaksh wrote:
       | You don't have a donations link anymore.. I guess since it only
       | added up to like $2000 over many years? And then I am also
       | guessing that sometimes people might donate $100 and then kind of
       | expect you to code a new feature for them?
       | 
       | 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?
        
         | Aardappel wrote:
         | Yes, 2K over 10 years, for 15$ a month. Not worth keeping that
         | going, given the expectations.. $100 for a feature does not
         | make sense for me.
         | 
         | 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 :)
        
       | trefgin wrote:
       | Programmers love the complexity of trees.
        
         | dspillett wrote:
         | If a tree maps nicely to your way of thinking about the
         | problem-space you are in, then it is not complex (at least not
         | more so than other structures). Right tool for the right user
         | for the right job.
        
         | khimaros wrote:
         | if you want complexity, you really want hypergraphs. ;)
        
       | kidsil wrote:
       | To some extent this is similar to my Orgmode setup.
       | 
       | (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.
        
       | Experthacker wrote:
       | I'm so grateful to meet this proficient hacker, she helped me
       | with my hack related issue swiftly without any hassle. I was
       | almost giving up but she came through and delivered the service i
       | paid for. So if you have any hack related issue contact
       | EXPERTWORLDHACKER AT GMAIL DOT COM For a quick response tell her
       | Grace sent you. Goodluck
       | 
       | Services She's capable of rendering include: Social Media Hack(
       | Snapchat, Instagram, WhatsApp, Facebook/Messenger, Twitter, Viber
       | etc.), TELEGRAM HACK, GPS Location Tracking, Incoming calls
       | Restriction, Intercepting and Retrieving Instant Messages, Grade
       | Hacking (Increasing/upgrading School grade), Credit Score
       | Increase, Recovering of lost bitcoin/ bitcoin account, USSD
       | Control Commands, WhatsApp Spy, Viber Spy, Facebook/Messenger
       | Spy, Skype Spy, Hacking into Databases of all kinds, Calendar
       | Monitoring, Internet Usage Monitoring, Remotely Accessing SMS,
       | Game Hacking and Cracking, Key Logging, Remote Email Spying, and
       | more. What make me trusted her was her offer of a total Refund of
       | any displeasing services but i didn't have to use that Choice.
        
       | insomniacity wrote:
       | I've followed this on and off for years, and I've always pined
       | for a mobile version - to the extent I seriously considered
       | learning mobile development in order to write my own!
        
         | Aardappel wrote:
         | TreeSheets is written with wxWidgets, which sadly has very
         | disfunctional or even missing mobile ports. Likely you'd want
         | to redo the whole UI anyway for this to function on a phone
         | screen.
         | 
         | 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! :)
        
       | bikamonki wrote:
       | For me, nowadays, cross-platform should be runs-in-the-browser,
       | use anywhere. Hence the success of Google Workspace.
        
         | Aardappel wrote:
         | This is an app I started in 2008, and at the time getting the
         | speed of native was important to me. I work with very large
         | "sheets"
         | 
         | 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.
        
       | doodlebugging wrote:
       | I found this application back in 2010. I was searching for a mind
       | mapper at the time.
       | 
       | 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.
        
         | app4soft wrote:
         | Previous threads:
         | 
         | [2013] https://news.ycombinator.com/item?id=5877145
         | 
         | [2016] https://news.ycombinator.com/item?id=11247372
         | 
         | [2017] https://news.ycombinator.com/item?id=15057392
        
       | ale42 wrote:
       | Yes! Cross-platform without Electron ;-)
        
         | reayn wrote:
         | something i wish we had more of
        
       | qwerty456127 wrote:
       | This is the most original app among note-taking apps, very
       | different from all the other. I suggest more people taking a
       | look, perhaps this one is what you are going to enjoy.
        
         | aldanor wrote:
         | Looks very neat, agreed.
         | 
         | Re: originality though, this is extremely close to a visual
         | representation of org-mode.
        
           | rukuu001 wrote:
           | Like org-mode and MS Access had a baby, I thought.
           | 
           | But it really does look amazing.
        
           | qwerty456127 wrote:
           | But have you ever seen such a representation? I believe I've
           | seen no app implementing this kind of view for anything.
        
       | ydant wrote:
       | I can't find a really important detail on the website or github -
       | and haven't been able to easily find it - how is the underlying
       | data stored?
       | 
       | 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.
        
         | klysm wrote:
         | I'm honestly not sure how I would even start to try to cram
         | this into SQLite in a way that wasn't awful.
        
         | quag wrote:
         | The data is stored in a custom binary file format. Parts of the
         | format are zlib deflated. There is documentation for the
         | format, but it is wrong and outdated. I had to reverse engineer
         | the format from the C++ code.
        
           | Aardappel wrote:
           | I am not aware that it is outdated. If you found
           | inaccuracies, please open an issue, or better a yet a PR for
           | the file https://github.com/aardappel/treesheets/blob/master/
           | TS/docs/...
        
             | quag wrote:
             | By the way! Thanks for Treesheets I love how naturally it
             | helps you when thinking through a topic. I built a Python
             | treesheets cts file to HTML converter so I could quickly
             | see my treesheets along side other notes in my notebooks.
             | 
             | 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.
        
               | Aardappel wrote:
               | Thanks!
        
         | Aardappel wrote:
         | Yes, it is a custom binary format, for speed and compactness.
         | It does however export to many formats, xml, html, text, csv
         | etc. There's even an example JSON exporter for the scripting
         | language. More could be added.
         | 
         | 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.
        
       | andix wrote:
       | I like the part where you can do calculations like in classic
       | spread sheet apps, but visualize what your are doing, instead of
       | hiding it behind formula fields. (see this screenshot:
       | http://strlen.com/treesheets/docs/images/screenshots/screens...)
       | 
       | 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.
        
         | mintplant wrote:
         | > It feels more like a proof of concept, than an application
         | for daily use.
         | 
         | 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.
        
         | Aardappel wrote:
         | It's an app that has been worked on on/off for 13 years, so
         | certainly not intended be "proof of concept".. but yeah, it's a
         | 1 person OSS side project, not a commercial app with UX
         | designers on staff.
         | 
         | If you have specific ideas about what is so limiting, please
         | file a github issue.
        
         | vidarh wrote:
         | My understanding is it's written pretty much only for his own
         | needs, so I'd imagine usability is fine for him.
         | 
         | He's on here (username strlen) but doesn't comment much - maybe
         | he'll chicken me in.
        
           | Aardappel wrote:
           | (author of treesheets here) not sure who username strlen is,
           | but it's not me :)
           | 
           | 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 :)
        
             | vidarh wrote:
             | Huh, I was sure it was you for some reason. Sorry for the
             | confusion.
             | 
             | 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]
        
               | Aardappel wrote:
               | Thanks! I presume you've seen Lobster?
               | http://strlen.com/lobster/
        
               | vidarh wrote:
               | Yes, it's very interesting.
        
           | riidom wrote:
           | I always thought, this tool is best if used regularly,
           | optimally daily. So you mentally stay inside the required
           | workflow thinking and keep the shortcut memory fresh. Also to
           | mention, it has a very good startup tutorial, which is good
           | for first-time users, but also useful if you need a refresher
           | on a certain topic.
           | 
           | But I never thought that "easy to get into" was a priority
           | during development. Which is totally ok for me,
        
           | vidarh wrote:
           | Argh. This will teach me not to write comments on my phone.
           | "Chicken me in" is of course meant to be "chime in".
        
             | Igelau wrote:
             | It feels like something from British or Australian English.
             | Chicken me in and put another shrimp on the barbie.
        
             | samstave wrote:
             | I prefer "chicken me in" and it should be a thing.
             | 
             | So chicken me in on something, what is it, exactly, that
             | you'd say you do around here?...
        
               | Igelau wrote:
               | I'm going to chicken me in here to tell you to go duck
               | yourself.
        
               | jholman wrote:
               | Well, chicken me out!!
        
               | tomcam wrote:
               | Seconded. Not sure why it works so well, but it does.
        
       | swah wrote:
       | Another tool in the space that almost no one seems to know:
       | https://tibleiz.net/code-browser/
        
         | ruste wrote:
         | This reminds me quite a lot of the typical smalltalk editor
         | window.
        
       | dorian-graph wrote:
       | I've used this a little bit at work (as as software engineer),
       | and I've at times found it really helpful. I think it depends on
       | how you work through problems/information. It's also depended on
       | what exactly I was working on to whether it was useful.
       | 
       | A modern, extensible version of this would be amazing.
        
         | Aardappel wrote:
         | It's become a little more extensible recently with the addition
         | of a scripting language.
         | 
         | But yeah, PRs welcome!
        
           | dorian-graph wrote:
           | Oh that's good to know! Thank you.
        
       | taco_emoji wrote:
       | Not sure I want to download an EXE from a non-SSL site...
        
         | Aardappel wrote:
         | The bottom download link points you to GitHub, where you can
         | get exes straight from CI, if you trust that more.
         | 
         | 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.
        
           | [deleted]
        
           | sprobertson wrote:
           | > 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/
        
             | Aardappel wrote:
             | Looks like I still would need to change hosts to use that.
        
               | leephillips wrote:
               | You just need access to your web server configuration,
               | which usually means root access to the hosting machine.
        
               | Aardappel wrote:
               | The current host is 1and1.. I don't think they support
               | that, since they desperately are trying to sell you their
               | own certificates. Also is shown on the certbot site with
               | a big red cross :) Either way, probably a good reason to
               | finally switch hosts.
        
           | leephillips wrote:
           | You must have looked into LetsEncrypt. I'm not aware that
           | there is any serious problem with acceptance of their
           | certificates, is there?
        
             | Aardappel wrote:
             | Looks like there isn't since 2018.. somehow last time I
             | looked into it there still was. Now I only have to change
             | hosts..
        
           | yes_but_no wrote:
           | If you are able to put a Caddy webserver in front of your
           | website, it's quite easy using its automatic ssl feature[0]
           | 
           | [0]https://caddyserver.com/docs/automatic-https
        
       | mwnivek wrote:
       | For comparison, another tree-based note-taking option:
       | 
       | https://gingkowriter.com/
       | 
       | Intro video: https://www.youtube.com/watch?v=egCKZHsICm8
       | 
       | Source code: https://github.com/gingko/client
        
         | jhund wrote:
         | Thanks for mentioning gingkowriter. Youtube video is worth a
         | watch. I will evaluate this a replacement of mindmaps at early
         | conceptual stages in a SW project. Gingko's ability to have
         | rich text nodes, export to plain text/word/JSON will allow me
         | to stay in the outline mode for longer before I commit to
         | sequential documents.
        
       | codetrotter wrote:
       | Reminds me vaguely about another piece of open source software
       | that I tried a few years ago; the Leo Editor.
       | 
       | 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.
        
         | samstave wrote:
         | WAAAY back in the 1980s/early 90s there was a file manager
         | called "pathminder" or PMV...
         | 
         | 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.
        
           | agumonkey wrote:
           | > pathminder
           | 
           | http://www.symbos.de/mirrors/www.clips64.de/screens/pathfind.
           | ..
           | 
           | from: https://archive.ph/cZiCx
        
         | stevesimmons wrote:
         | One of the best things about Leo was the tree-view outline
         | where nodes could be 'cloned', giving multiple ways to drill
         | down to the same info.
         | 
         | Typically my Leo file would be organised both by project and
         | topic, and at the top cloned nodes of my current priorities.
        
           | ydant wrote:
           | Trillium Notes is another one that allows for the same node
           | to be available in multiple branches. It's pretty good - but
           | the focus on rich-text content primarily became frustrating
           | for me and got in my way and I started looking at other
           | options. I then found exporting/migrating my data with those
           | concepts was challenging, since it ends up being proprietary
           | with no easy export option - at least no easy export that
           | then cleanly works in other products.
           | 
           | 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.
        
       | dynm wrote:
       | This project deserves huge credit for the excellent tutorial that
       | it opens up to on first launch. It basically opens to an example
       | sheet that you can read and then try out all the basic
       | functionality in place. It's fun, and quickly shows you what the
       | tool is capable of. You don't need to watch a separate video, and
       | you don't feel overly "controlled" like so many over-engineered
       | tutorials that force you to do A,B,C in the order someone decided
       | was correct.
       | 
       | 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.
        
       ___________________________________________________________________
       (page generated 2021-06-24 23:01 UTC)