8 ms·
Show HN: Structpad: notepad-database hybrid that helps you use abstract thinking
Hello. Briefly about Structpad:
All interaction with app comes down to simple typing, like in a notepad. No buttons, commands or special characters needed. However, you can still build complex structured data.
Something about why I'm building Structpad:
I love taking notes and I think it's necessary for deep thinking because our brain is very powerful, but it has one weakness - memory.
I noticed that not only the text itself matters, but also some invisible structure in our minds. There are various tools that try to reveal this structure, such as filenames, folders, tags, links, tables of contents, but they are often complex and unreusable.
So I wanted more structure, less clutter, and no extra clicks.
Programming languages use OOP for a higher level of abstraction, to create more complex programs, so why not use something similar for our thoughts instead of plain text? In this way, Structpad reduces the load on memory for the sake of the quality of using the mind.
- npc73x 4y agoA note taking the provides a VIM Based keybindings to navigate and edit by using various modes, will be so good.
- deleted 4y ago[deleted]
- klausnrooster 4y agoVery interesting. Call me lazy, but I'd like to see a demo - animation or video to help me grok it. Bookmarking.
- stan-donarise 4y agoThanks, maybe the "About" page should start autobuilding from scratch after the visit. Won't be annoying?
- pyinstallwoes 4y agoThis is similar to Ted Nelson's Xanadu in some ways, and also similarly liquid text. Nice work. The problem you're solving is a hard one. Memex maybe, one day.
- stan-donarise 4y agoThank you, I haven't heard about Xanadu, I'll take a look. And liquid text, is it app for reviewing and annotating PDFs or something else?
- jazzyjackson 4y agoFor your perusal, here's a video of Ted demonstrating Xanadu: [0] (3min18sec to jump right to the demo) You can also browse the book he published describing the system, Literary Machines (1981) [1] -- it's a sprawling vision but I think where the parent sees overlap is in storing each text fragment as a singular entity and visualizing the links between two fragments. > A user may also make side-by-side connections of other types. On contemplating any two pieces of text, he may make a link between them. Thereafter, when he displays either piece of text, and asks to see the links, a link-symbol is displayed, and the other attached text — if he wishes to see it. > Naturally, making a marginal note consists of writing the note and hooking the link. The link facility gives us much more than the attachment of mere odds and ends. It permits fully non-sequential writing, or hypertext. BTW I really like the interface of just typing and moving my cursor around, and how easy it is to pick up a block of text and move it somewhere else. [0] https://youtu.be/En_2T7KH6RA?t=203 https://youtu.be/En_2T7KH6RA?t=203 [1] https://archive.org/details/literarymachines00nels_3/page/n63/mode/2up https://archive.org/details/literarymachines00nels_3/page/n6... A friend of mine is also building a memex [2](1945), as mentioned in the parent. His is a fairly radical DOS interface that he's been keying his thoughts into daily since the 80s, and it's great fun watching him try to remember something [3](2013): in about 5 or 6 keystrokes skipping across the graph of all notes, he's able to find that name on the tip of his tongue, and then hop to their phone number and the date they first met, then see what else he wrote down on that day... [2] https://www.theatlantic.com/magazine/archive/1945/07/as-we-may-think/303881/ https://www.theatlantic.com/magazine/archive/1945/07/as-we-m... [3] https://vimeo.com/85016624 https://vimeo.com/85016624
- stan-donarise 4y agoThank you for all the references! The topic is interesting and closely related to Structpad
- rwbt 4y agoVery nice. Not sure how I'd use it but looks and works great. Also, kudos for using local storage.
- stan-donarise 4y agoThanks, I like to use it as a way to keep a journal, put all sorts of ideas in there and look at them from different angles.
- senectus1 4y agoits really neat... but i find that something about it causes me to lose my train of thought. I'll play a bit more but there is something about the interface that just doesn't work for my thought process.
- stan-donarise 4y agoInteresting, I would be grateful to know more about what it could be if you let me. If you find out it.
- integricho 4y agoI think if it is marketed as a better replacement for such a basic tool as a text editor (notepad in this case), it cannot be a webapp, it has to be native and daaaamn fast, but let me emphasize the fast part, because an electron app will not cut it. I like the visual looks of it, but it needs to be a very fast and very much native app for me to even consider adding it into my workflow.
- goddstream 4y agoNice start, in the same simple-is-good spirit as https://thinktype.app/ https://thinktype.app/ If you switch between browsers and machines, how do you transport/export/import/backup the localStorage content?
- Garlef 4y agoAlso https://gingkowriter.com/ https://gingkowriter.com/
- gwd 4y agoAnd my understanding was that localStorage didn't actually have any specific permanence guarantees; how do I know I won't spend a bunch of time putting in some information, only to have it disappear behind my back if I don't touch it in a few months?
- stan-donarise 4y agoSorry, in a few days I will add an export and import function. And will build electron app later, as it will be more convenient than export/import. Yes, Structpad isn't well polished now. But I posted it anyway, as the purpose of the post was to find out people's interest. Much work expected :)
- jazzyjackson 4y agoIf you'll forgive me for my unsolicited advice, I have some thoughts about what I would change... As is there is already the option to switch from "About" to "Local Storage", which presents me with a blank page at a new URL to start creating my own structs... What if you use the URL as the key in localstorage, and store the document as a serialized string there? Then I can create new blank documents by visiting a yet-to-exist address. Then the dropdown menu could be used to switch between documents... oh, I guess we're just back to files and folders then xD ...so if the goal is to have one global document that I can zoom into and out of (arbitrarily nested structs), perhaps I could select any block and blow it up full screen, hiding all data outside of it, but allowing child-blocks to be added. You could implement these as folds so you only show the struct to x depth, or move down into the struct, following the rabbit hole as it were. As the complexity multiplies, I expect eventually I'd want the ability to re-use blocks in multiple places, like a hard link, different paths to the same content. Then you get to visit a block in one place and ask "what are all the structs that include this block of text" ? I always thought Wikipedia should work this way, there's so many articles on history and chemistry etc that have some context or background info -- very similar content produced by many authors. You should instead be able to embed a paragraph from an existing article and optionally pin it to a version/hash, but if its not pinned, you could update a hundred wiki articles at once by improving one sentence, and you could tell the computer, "show me all articles that embed or quote this paragraph", Now we're getting Xanadu-ey!
- stan-donarise 4y agoThank you. I love your thoughts! Mine are similar :) So I will implement something like that. (Also, if someone likes the idea of Structpad and wants to work with me, you can email me at contact@structpad.com)
- fodi 4y agoI love this! Skimming the about page is enough to grasp the main mechanic and it's very intuitive after that too. The pointer-free navigation is awesome! One tiny thing I've noticed in the first minute is that using shortcuts like Ctrl+A or Ctrl+Shift+Home (in Firefox/Windows anyways) selects stuff outside of the current "label" which feels a bit off. I use these shortcuts to quickly select a bunch of text and start typing to replace it with something else. What are your plans in terms of data portability / syncing?
- stan-donarise 4y agoThanks for the feedback on shortcuts. I plan to build an electron app so that it allows you to synchronize data between devices over a local network or by export / import (a mobile application is also planned). I also plan to implement the export of not only raw data, but also note files in some common format.
- bentt 4y agoLove the look and the idea. Reminds me a bit of OmniOutliner and the more modern web app Dynalist. I want to be able to drag bits from one parent to another. This lets me start out with a flat list and iterate towards structure. Keep going!
- stan-donarise 4y agoThank you for the kind words and feedback!
- miga 4y agoThe visuals are nice, but I found the example insufficient to proceed.
- stan-donarise 4y agoI would be very grateful if you could explain. Do you mean missing some features? Or a need for better instructions for use?
- meesterdude 4y agoseems more outline than database. I also find the colors to be overwhelming. The sidebar ToC feels novel but that is not a huge value add for me. The UX is woefully lacking in expressiveness, and there are no notable gains from not using files/folders/tags. Plus cue all the portability / dependence issues. So... a miss for me on this helping with abstract thinking. That said - keep iterating and challenging what is possible, and start talking to "customers".
- stan-donarise 4y agoThanks for the feedback and advice
- pokstad 4y agoReminds me of Workflowy. I love the concept of structured notes, but I think the colors are distracting. Also not accessible to color blind people.
- stan-donarise 4y agoI'll think about colors, thanks.
- gala8y 4y agoReminds me of TreeSheets [0]. [0] https://strlen.com/treesheets/ https://strlen.com/treesheets/
- jlkuester7 4y agoI like it! I know the goal is to move beyond plain text, but I wonder if you plan to ever support exporting the data to plain text files (e.g. Markdown)? That is a hard requirement for me to consider a note-taking app. I need data portability if I am going to invest a bunch of time adding notes to a particular app....
- stan-donarise 4y agoDefinitely yes, I plan on it.
- x86hacker1010 4y agoIs it open-source?
- stan-donarise 4y agoIt isn't. Maybe someday
- bkyan 4y agoDo you have a business model in mind?
- CodeWriter23 4y agoThe app is just a blank screen on my iPad. :( intended as constructive feedback.
- northes 4y agoI think this space, for all the energy already being poured into it, is still having a tough time finding the right abstraction for deeply-linked note organization without resorting to reinventing the wiki. I'm really glad to see an approach that isn't trying to be a Roam replica plus a couple extra features, the whole space is desperate for better abstractions. It seems to me like the flexibility of existing tools can lead to everybody building a subtly different and incompatible notetaking strategy, which is fine, but sacrifices a lot of the benefits of standardization and opinionated tooling. Exploring different structural patterns like you're doing might be just what the space needs to jump out of the local maximum it's in. For a proof-of-concept, I really like your approach to hierarchical notes here! I'm a student and that structure makes sense for a lot of what I need to take notes on, but existing tools for linked notes don't have a great answer for that (and sometimes actively discourage it). I think you're onto something, looking forward to seeing how you develop these (and more) ideas over time!
- Timwi 4y ago> No buttons, commands or special characters needed. I'm unsure what benefit you are trying to describe here. When I jot things down in Notepad++, I use tons of commands all of the time to edit the text. You don't just type from start to finish, you know; you move around and you make edits. People who are more mouse-driven than me use buttons for the same purpose. I also make extensive use of (“special”) Unicode characters to make things clear to myself. Why would I use a software whose explicit aim is to take this all away?
- stan-donarise 4y agoI mean, there are things where we can avoid additional actions, for example: We can enter text and a new structure block will be autocreated, no need to click "add block" button before. We can cut whole block by Ctrl+X, without select text before. Sure, more complex functions will require buttons or something.
- qwerty456127 4y agoNice. How do I delete everything? How do I backup and restore?
- stan-donarise 4y agoThanks. For possibility to delete everything, I have to implement a selection for multiple blocks. This, restore and backup will definitely be implemented in the near future.
- qwerty456127 4y ago> For possibility to delete everything, I have to implement a selection for multiple blocks. Why do you believe you have to? A simple "start afresh" button discarding all the objects would do. Such a tool is essential for experimentation, studying a new tool. > This, restore and backup will definitely be implemented in the near future. I hope so. Just dump/load JSON. Lack of this functionality seems killing a great concept. I doubt many people will spend even a minute outlining if the only way they can backup their work result is a screenshot.
- stan-donarise 4y agoThanks for the feedback. I added this functionality :)
- qwerty456127 4y agoFantastic! Thank you very much!!