You Don't Need the Cloud to log your time
This is software to help you track how much time you spend on different types of activities. It is highly opinionated, entirely local, and terminal only.
- Cross-platform
- Works well even with very low terminal resolution
- Autosaves time log & user settings to a plain-text format (RON)
- Saves to the OS-appropriate config & data directories. See the directories crate for details.
- Controllable using the keyboard or using a Timeular Tracker
Because I have found it's really helpful for me to know the percentage of my time I spend on one type of work over another throughout my day and my most recent week. It's especially useful when I find I'm not doing the type of work I want to be doing at work, because then I can identify the activities that are distracting me and make concrete changes to spend less time on them.
And I became annoyed at how slow the UI was on my previous (cloud-backed) time tracking software choice, so I decided to write my own and make it fast!
"You Don't Need the Cloud" ;)
This came out of the fact that until writing this app, I'd been using cloud-based time tracking software, but I found that it was:
- Slow. The UI felt sluggish to me, with a long startup time.
- Expensive. Using the software at all required a subscription.
- Unnecessary. I only used this software on one computer; why was it even on the cloud?
So, after a friend suggested the idea that I write my own minimalist version, I decided to do just that! And ydnc-time
was born as an opinionated, cloudless, and fast alternative for my own time tracking. I may or may not stick to the original "minimal" part though; only time will tell about that one.
Maybe someday I'll think of other stuff YDNC for and make some of those apps too :)
Then these aren't the droids software you're looking for -- there are plenty of legitimate use cases for cloud-backed software, and maybe you really do want those features like collaboration, syncing, and the like, and that's great!
YDNC applications are less "anti-cloud" and more "do I have to use the cloud?" For some people and workflows, the cloud is simply not necessary, and including it introduces application latency and other undesirable side effects. If you find you're not even using the cloud features like collaboration or cross-device syncing, then why not try removing the cloud from the equation? You'll probably be surprised at how performant software can be when it's running on your own computer!
I suppose, if you really wanted, you could locate where YDNC stores its save files on disk and somehow sync that folder to the cloud storage of your choice. But that's not in scope for this project, so I'll leave it as an exercise for the reader.
I wouldn't have been able to get this app working if it weren't for these other great open-source works:
- tui-rs's input example
- btleplug's subscribe example
- @lemariva's work on interfacing with the Timeular Tracker in Python:
- @codingforfun's experimentation notes on the Timeular Tracker/Zei°: https://github.com/codingforfun/zeipy
This project is not affiliated with Timeular GmbH. References within this project to a Bluetooth "Tracker" or "Timeular Tracker" refer to Timeular's fantastic piece of hardware, which you can find more info about here.