I was feeling incredibly frustrated with my struggles in context-switching and writing documentation, so I decided to take action and find a solution.
I wrote a simple tool for Alfred and Raycast that helps me be more mindful when switching between tasks, which can even prevent some of those switches. Plus, I can jot down quick notes on each task as I go, making it easier to document everything once I’m finished.
This tool is really simple with only 5 commands - tsr, tsn, tsl, tsv, tse
tsr writes a new record
tsn writes a new note
tsl shows you the current task
tsv builds a static html page displaying a single timeline of the tasks and notes
tse opens the directory where records are stored for easy manual editing
TSR stores your data as simple csv files in ~/tsr, making it super easy to integrate with other tools or perform your own custom analysis and visualisation magic. The built-in tsv timeline visualisation is rather simple and doesn’t do any analysis (for now at least).
It depends solely on Python3 and works offline. I encourage you to check the python scripts to see how simple they are and potentially adapt them to your own needs.
Let me know what you think!
You can start the timer and it will count up. Every 15 minutes or so a bright and noticeable LED will light up. If I push the button the LED turns off and the timer continues. If I don't push the button the timer pauses. I have 5 minutes to push the button. (When the timer pauses it subtracts half the time since I last pushed the button.)
And make it a big clicky arcade-cabinet style button that is fun and easy to push.
https://doug.lon.dev/software/hardware/2018/06/24/the-task-s...
I stopped using it about a year or so ago, I didn't feel the need to keep recording every context change, and I also never really looked at the reports or drew much of any conclusion about the data.
It would be reasonably simple to use my software on the desktop, or in another device, and add countdown feature. It's all open source.
In the end the device was a bit of a vehicle to learn new things; hardware development, aspects of the software and I also subsequently re-wrote the web service on AWS serverless as well.
I've also experimented with iOS timer to stop playing music after the set time is up and that worked well as a non intrusive reminder too.
[0]: I say "half work" because an app can't ensure you're on task.
It comes with vibration, beeps, and LED; each can be turned on or off separately. I have mine only set to LED. If it goes off I can stop it, which automatically sets the timer back to what I started it at. It doesn’t auto-pause or anything but it works for me!
It could be semi-transparent with a RGB LED inside that moves from white to red over the last five minutes on the timer. Push the top to cycle a few different set tasks (indicated by led-color?), wind up to start. Power and data over USB?
I need to save up for a new 3d printer and build this for myself.
I pay for professional to get a notification everytime I have been away from the keyboard for a while. Then I can manually tag that time and specify for myself if it is work related or not, and in case I work on multiple projects, which one it relates to. The paid version also gives me a summarized time sheet view of the week and can store screenshots if I want to (I use it, although if I need to use the screenshots for documentation, like when I had to configure live remote systems using Windows Notepad and with no access to VCS a few years ago, then I use something else that saves high resolution :-)
The only problem is there are so many of them and each treats extensions so differently that I'm still looking for something similar to Raycast I could settle on.
Do you know of any launchers that are widely used on Windows?
Specify up front what it is, including what it is for. I don't recognize the UI in the animated screenshots. Does it require some special OS? Some special software for which it is a plugin? Is it a plugin for some other software?
The pitch at the top just says it's a csv based time recorder. But then it says "Just enter tsr [foo]" - but where? First I thought a shell. Then I thought the VSCode command palette.
I learned near the end that it's usable with both Alfred and Raycast but I don't know what those are either. And there is talk about Finder (Which I know is an OS X thing). This is a clue that I might not be able to use it - maybe I'm on the wrong OS?
My guess after studying the page is that it's a plugin for "Launchers" (is that a thing?) running under OS X, namely launchers "Alfred" and "Raycast"?` Perhaps a paragraph like that could be used up top?
> "Launchers" (is that a thing?)
Yes, the Spotlight search in OSX is somewhat limited so tools like Alfred and Raycast are often used to make the search more fine-tuned to your needs (like being able to search through browser bookmarks and launch them easily) but also enable custom scripting
I often see it recommended and I like the idea of a light-weight tracker (since I mainly use a .txt document now) - but whenever I read about org-mode it just sounds like a markup language and I know I am missing the powerful part of it.
Personaly I'm using VimOrganizer, which is a plugin for vim with some orgmode commands. I'm looking at the newer nvim orgmode as well. To check in in a task, i type ,ci for clocking. When I'm done, I type ,co for clocking out. This add a clock line to the node where the command is done.
Since then I switched to Manic Time which just logs the open application and window title. (In the free version, more features in the paid version which I use now even if the free version is really good.)
The benefit of your approach and my AHK script is it encourages thinking about how one uses the time during the day and not only towards the end of the week when the timesheets are due.
I'm afraid Manic wouldn't help me personally because it doesn't interrupt the switches. tsr makes me stop for a second and write down the fact I'm jumping to another task. It's a tiny interruption, but occasionally it's enough to stop, make a tsn note and come back to it later. I feel this is a step in the right direction for me to stay on top of things.
I’m unfamiliar with both Alfred and Raycast, and while a quick search tells me they are application launchers, that of itself tells me little, since I do not use any and don’t know what problem they solve.
Since I’ve been using Mac OS for many years, I’m guessing it’s a problem I don’t have or don’t know that I have.
Thoughts?
I think I’ve left it running on my Mini but I’ve never used it.
(When I need to find files, I find that find and grep get me what I need quickly.)
I tried a few other tools over the years, but the number of features they offer often distracted me from using it efficiently, making time tracking an effort on its own.
While tsr may not have an extensive list of features, it has proven to be effective for my needs, and I believe it may also benefit others in similar situations.
In that vein I wouldn't add any new features and seriously consider removing tsn.
Its current form is intentionally separate so that you can use tsr without it, but I'm still thinking what the best approach might be.
I wouldn't really want to remove the feature completely, but replacing it with a much lower footprint feature as part of tsr is something I'm actively thinking about.
Otherwise, the pile of outstanding requests and mentions is stacking up enough that I'd forget about half of them if I don't have them written down neatly. But at the same time, I want the writing down to be easy enough to not get me out of the flow.
That said, I don't use it for detailed task observation. For example while writing this my "management" timer is running and this is definitely not managing my team. I use it for directionality more than anything else.
obsidian_file = open(FILE_PATH, "a")
_ = obsidian_file.write(output)
obsidian_file.close()
At the end of TSR and TSN. Where FILE_PATH is your vault location.The above is for Raycast. For Alfred, you can just copypaste relevant extension blocks and change paths in them :)
./tsr.py "meeting client migration"You can 'come back' to the previous task (or rather start it again) by typing the same tags into tsr.
tsr work feature 1425
tsr
tsr work feature 1425
the empty tsr in the middle creates 'next' in the record.It's not technically a pause as tsl will display the duration of the latest entry only, but if you aggregate it later it'll all sum up.
1. Create a list of product names and folder names for each client.
2. Change settings of applications/window manager to include more details in window title.
3. Log every window I interact with.
4. If I don't open a window including one of the keywords in the title for x minutes I stop the counter.
I just hit Win+N, a small window appears, I write a line of text, hit enter and it gets saved to the quicklog.txt.
[1] https://www.autohotkey.com/
[2] https://gist.github.com/knagy/4cdb5af48e23a6b33299d3f2fb2d4f...
edit: replaced the inline code with a Gist link
https://github.com/keyle/mdtimesheet
There is nothing like solving your own problems.