ActivityWatch is an open source personal activity tracker for Windows, Linux and macOS
How much time do you typically spend on your computer? Which applications or websites do you use or visit the most?
You can find out the answers to all these questions with ActivityWatch in case you are interested in analyzing your online activity.
It works similarly to Google's MyActivity or Firefox's ActivityStream features but globally on the systems the program is run on.
ActivityWatch is an open source personal time-tracking application; its goal is to log "your usage" for "your analysis". It is in my opinion a tool that can help improve your productivity. The program stores the data on your computer which ensures that privacy is not an issue when it comes to using the program on your devices.
You may use the application to log your activity, e.g. if you are worried that you spend too much time on Facebook or Twitter or some other website or application or game, you can use your ActivityWatch logs to determine how much time you actually spend on these sites.
Once installed, the program sits in the system tray and works in the background. You can right-click on the icon to exit the application, access the dashboard, log folders, and disable watcher modules. The application's is controlled through a dashboard that can be accessed from the following URL: localhost:5600 or http://127.0.0.1:5600/ in your browser, just like how you would access a router page.
There are two tab bars in the interface: the primary one has the following options: Today, Summary, Timeline, Stopwatch. There are three more options placed in the right corner: Query, Raw Data and Settings.
The Today Tab lets you access the daily activity. You can view the statistics for today and all previous days that the program has tracked. The main tab displays the summary of the day's activities including the Top Applications, Top Window Titles, and Top Browser Domains. Basically, it is a list of your most used programs, documents and websites that you spent time on. The list is displayed in descending order of your usage time per category. There is a filter AFK option which is enabled by default so that idle time does not count towards usage by default.
The top browser domains lists only the time spent on the top-level domain and not specific pages on the website. For e.g. it will display YouTube.com, but not specify which videos you watched. The Window tab displays a visual timeline of your activity listing the exact time that every window was accessed, right down to the exact number of seconds that you spent on the webpage. The Browser tab displays top browser domains and top browser URLs, i.e., the websites and web pages that you spent the most time on.
Back to the main tab bar: you can use the Summary tab to view your weekly/monthly/yearly summaries. The timeline tab is kind of similar to the window tab but displays an overall usage timeline for browsers, applications, etc. The stopwatch is in early development and hence lacks customization, but it can be used for basic purposes.
Queries, Raw Data is intended for people with coding knowledge and are not essential to use the program. It provides raw data that you may process on your own. The settings tab has just one setting: to set the time of the day (can be useful for people working in night shifts).
Watchers
Watchers are the modules that enable ActivityWatch to track your usage. The default ones that the program ships with are the watchers for AFK (away from keyboard) which recognizes idle time due to lack of activity, and Window (to detect which application is active, and the title of the window). For e.g. if you were working on Notepad, ActivityWatch would identify the program correctly along with the document's title, same goes for video players, computer games, or web browsers.
You will need the ActivityWatch - Open Source Time Tracker add-on for Firefox or the ActivityWatch Web Watcher extension for Chrome to monitor your web usage. Otherwise, the Window and Browser tab won't display your web usage stats.
Currently, there are only few other watchers available (Editor watchers, Media watchers), which you can get from the official website.
I also tested the tracking methods by running MPV, YouTube videos in full screen. The Filter away AFK time in ActivityWatch makes it think that the computer was not being used (when the videos were playing, but the mouse and keyboard were idle). Hence, the stats from such applications may incorrectly be logged as idle time.
The only flaws I see in the program are that there are no options to redact data that can be considered private or an option to encrypt the data. ActivityWatch is written in Python, and is available for Windows, Linux and macOS.
Closing Words
ActivityWatch is an open source cross-platform solution to track and analyze computer usage. While it requires a bit of extra installs to cover common areas, e.g. web browsers, it does collect and process data to give you a good overview of your activity on the computer.
The AFK filter is a bit problematic when it comes to activity that does not require interaction with the computer, an option to exempt certain programs, e.g. media players, would help improve it.
All in all,
But it doesn’t work with Wayland, right?
Actually it can, depending on your window manager. You’ll have to use the WIP Wayland-specific window watcher that’s being developed here: https://github.com/activitywatch/aw-watcher-window-wayland
Thank you, Ashwin, for the find. I will surely check it out. For the same purpose I was using http://strlen.com/procrastitracker/ but it hardly gets updated, yet there is more to be desired. I really hope ActivityWatch has more features.
Also no matter what application it is used, AFK time will always be a problem. However, for everything else it works good.
A good way to get a feel about what google knows about you. Recommend it.
Try website https://myactivity.google.com
An interesting alternative to ManicTime!
However, ManicTime works without any additional browser plugins and you can redact the data as much as you want.
On the other hand, access to raw data is cumbersome (you need to install a ManicTime Server).
At least it might reduce the price of ManicTime, since there’s not competition.
For anyone interested, here is our review of that program: https://www.ghacks.net/2011/09/04/manictime-keep-track-of-pc-activities/