logo

drewdevault.com

[mirror] blog and personal website of Drew DeVault git clone https://hacktivis.me/git/mirror/drewdevault.com.git

Organizing-my-thoughts.md (4495B)


  1. ---
  2. title: How I wish I could organize my thoughts
  3. date: 2022-08-10
  4. ---
  5. I keep a pen & notebook on my desk, which I make liberal use of to jot down my
  6. thoughts. It works pretty well: ad-hoc todo lists, notes on problems I'm working
  7. on, tables, flowcharts, etc. It has some limitations, though. Sharing anything
  8. out of my notebook online is an awful pain in the ass. I can't draw a straight
  9. line to save my life, so tables and flowcharts are a challenge. No edits,
  10. either, so lots of crossed-out words and redrawn or rewritten pages. And of
  11. course, my handwriting sucks and I can type much more efficiently than I can
  12. write. I wish this was a digital medium, but there are not any applications
  13. available which can support the note-taking paradigm that I wish I could have.
  14. What would that look like?
  15. Well, like this (click for full size):
  16. [![A mock-up of an application. A4 pages are arranged ad-hoc on a grid.
  17. Handwritten notes and drawings appear in red across the grid and over the pages.
  18. A flowchart is shown outside of a page.](https://l.sr.ht/4QOL.png)](https://l.sr.ht/4QOL.png)
  19. I don't have the bandwidth to take on a new project of this scope, so I'll
  20. describe what I think this should look like in the hopes that it will inspire
  21. another team to work on something like this. Who knows!
  22. The essential interface would be an infinite grid on which various kinds of
  23. objects can be placed by the user. The most important of these objects would be
  24. pages, at a page size configurable by the user (A4 by default). You can zoom in
  25. on a page (double click it or something) to make it your main focus, zooming in
  26. automatically to an appropriate level for editing, then type away. A simple
  27. WYSIWYG paradigm would be supported here, perhaps supporting only headings,
  28. bold/italic text, and ordered and unordered lists — enough to express your
  29. thoughts but not a full blown document editor/typesetter.[^1] When you run out
  30. of page, another is generated next to the current page, either to the right or
  31. below — configurable.
  32. [^1]: Though perhaps you could import pages from an external PDF, so you can
  33. typeset stuff in LaTeX or whatever and then work with those documents inside
  34. of this tool. Auto-reload from the source PDFs and so on would be a bonus for
  35. sure.
  36. Other objects would include flowcharts, tables, images, hand-written text and
  37. drawings, and so on. These objects can be placed free form on the grid, or
  38. embedded in a page, or moved between each mode.
  39. The user input paradigm should embrace as many modes of input as the user wants
  40. to provide. Mouse and keyboard: middle click to pan, scroll to zoom in or out,
  41. left click and drag to move objects around, shift+click to select objects, etc.
  42. A multi-point trackpad should support pinch to zoom, two finger pan, etc. Touch
  43. support is fairly obvious. [Drawing tablet][0] support is also important: the
  44. user should be able to use one to draw and write free-form. I'd love to be able
  45. to make flowcharts by drawing boxes and arrows and having the software recognize
  46. them and align them to the grid as first-class vector objects. Some drawing
  47. tablets support trackpad and touch-screen-like features as well — so all
  48. of those interaction options should just werk.
  49. [0]: https://en.wikipedia.org/wiki/Graphics_tablet
  50. Performance is important here. I should be able to zoom in and out and pan
  51. around while all of the objects rasterize themselves in real-time, never making
  52. the user suffer through stuttery interactions. There should also be various ways
  53. to export this content. A PDF exporter should let me arrange the pages in the
  54. desired linear order. SVG exporters should be able to export objects like
  55. flowcharts and diagrams. Other potential features includes real-time
  56. collaboration or separate templates for presentations.
  57. Naturally this application should be free software and should run on Linux.
  58. However, I would be willing to pay a premium price for this tool — a
  59. one-time fee of as much as $1000, or subscriptions on the order of $100/month if
  60. real-time collaboration or cloud synchronization are included. If you'd like
  61. some ideas for how to monetize free software projects like this, feel free to
  62. swing by [my talk on the subject][1] in Italy early this September to talk about
  63. it.
  64. [1]: https://hackmeeting.org/hackit22/schedule.html#talk-a2eb7aa1-90ac-48b9-8ac9-b16235eb2daf
  65. Well, that's enough dreaming for now. I hope this inspired you, and in the
  66. meantime it's back to pen and paper for me.