😸 Screaming Notes and Tasks
Sep 18, 2024 10:00 am
Hey 👋
Welcome to my weekly newsletter where I share my latest thoughts and experiments about keeping productive as a software developer.
😸 Screaming Notes and Tasks
For as long as I can remember, I’ve kept my markdown notes in files by date (e.g. 2024–09–17.md) relying on tagging and search to find a note based on content. This works okay, but when I look at the directory structure I have no idea what kind of notes I’m looking at and sometimes I forget to tag something or I can’t remember what I called a tag. There are times when I can’t even find a note I know I wrote. Frequently I just give up and record most of what I remember in a new note or just give up and move on. So I’m trying something new.
In software development, there’s a concept called screaming architecture. The idea is that the visual structure of the code should scream what it does. This makes it easier to understand and maintain, so I decided to apply this concept to my notes and tasks.
VSCode is my go to editor, and with the directories and files on the left it’s pretty easy to just create a note in the right place. It’s still a little clunky for me though because I don’t have a good key sequence to create a file where I need it, so I have to take my right hand off the keyboard to use the mouse.
Ever since I started building imdone, I’ve used it as my work dashboard. I keep a card in the NOTES column on the left with important links and information and all my tasks are there, so it’s the app I frequently go back to when I finish a task or come back to work from a break. Starting new notes in imdone is pretty simple, so I do it all the time. I just create a new card and it goes in my pre-configured journal file, named by date or card title. The problem I encountered moving to a screaming notes structure is that imdone didn’t give me a way to create a card in a specific file or directory. I could move the card after I created it or rename the file, but that’s a pain.
So I thought of an idea to make it easier to create cards in the right place. I added an “Add new card in” field to the imdone new card editor. This field is an autocomplete field that contains all the files and directories that imdone is watching. If the value of the “Add new card in” field ends with / or \ (A directory separator) then the first item in the autocomplete dropdown will be a [ccyy-mm-dd].md file in the directory. This way I can easily add a new card to the daily file I’m working on in a directory that means something. If the value of the “Add new card in” field does not end with / or \ then the first item in the dropdown will be [value]-[ccyy-mm-dd].md and the second item will be [value].md.
Now I can put cards in files that make sense to me when I look at the directory structure and I can do it without lifting my hands from the keyboard. So far it’s working out pretty well. I can always use the “Add new card in” field to find a file or directory or create a new file or directory if I’m not sure where I want to put a card, but that doesn’t happen unless I’m tired or distracted. Which usually means I should take a break anyway.
☑️ Imdone for now 😜 — Jesse
P.S. You can find a video of this feature in action on my YouTube channel:
https://www.youtube.com/watch?v=vX8HmvcbPbM&t=551s
Download imdone: https://imdone.io