Manually Categorize Event

I think it would be very useful to assign an Category to an single Event to reduce the Uncategorized time. E.g. If I create an Word Document and start work on it it is named Document1 for the first few minutes, which is impossible to assign to a category using regex, but if I could add single Buckets to an Category this would be no problem. I don’t know if this is possible using the current implementation, but I think if it is, it would be really helpful.

To a single event would be very cumbersome as every time you change focus to another window there will be a new event and it’s very common to focus different windows often.

Couldn’t you instead for example add your own category with the rule “Word.*Document1” instead to accomplish the same thing?

No, because I’d like to assign the same window title, to different categoriesE.g. yesterday it was supposed to go to “Work”, but today I created an letter and want to have it in “Private”.
Another solution which would work is maybe the ability to add a time filter to the regex? Like this part of the regex is only supposed to match, if the event happend between 16-18pm on a certain date, or maybe the ability to create more than one regex for a category, and add an extra filter for “time”

Another usecase: The time I spend on youtube could have different purposes and I would be able to visualize that.

3 Likes

Absolutely, I’ve been playing with querying the YouTube API and writing categorization rules that use the metadata (such as the channel name) as a way to drill down into YouTube activity, but nothing solid yet.

1 Like

Watertrainer’s idea is cool.
I think it could be realized in the following ways:
In the activity view:

  • If you click on “Uncategorized” in the “Category Tree” or in the “Top Categories”, you will get a list of the uncategorized events.
    • When you click on a listet event, you can choose between “New Category” or “Add to Category”.
      • New category: You enter a name for the category, the name of the window and the URL are preset for rule and you can select a parent category.
      • Add to category: You select a category and the NAME of the window and the URL is added to the existing rule (or)

And for all events:

  • If you click on an event in the activity view, you will get the same menu as in the list of uncategorized events described above. So you can put the category to more then one category. (One for the type of event and one for the customer I am working for)

That would be great!

3 Likes

Separate “label” database will definitely help to both properly categorize exceptions from the RegExp rules (programmatic).

Additional benefit from manual labels is to be have categorizer that is using ML model and labels that user has set up to categorize on some aspect that user normally cannot determine “programmatically” via RegExp. Simplest ML categorizer that I can think of is Naïve Bayes Classifier, with multiple buckets (one per category). If classification threshold is exceeded, entry can be classified as one of target categories. Any miscategorization can be additional “label” to retrain the ML model.

3 Likes

Another way to view this is to retrospectively assign categories, so the user can have a better understanding on what going on.

If implemented as a separate database, some mechanisms (or simply showing them) can be employed to allow new patterns (regex, e.g.) to emerge, to automatically assign categories for future events.

Perhaps AW could be cognizant of browser profiles while work related youtube watching could happen in a dedicated one?

I’m not sure if this is what you meant, but wouldn’t it be possible to for example have right-click on an item in the “Top Window Titles” section bring up an option like “Manually assign to Category” which then lets you select an existing category? I assume each of those items is built up of all the events that have the same window title, so in the background, couldn’t AW then assign the manual category to all the events?

But if by “cumbersome” you meant saving a manual category for each event because it would take up a lot of resources, then my point is invalid. I just don’t really see why what I proposed isn’t an option. If this has already been tried but didn’t work, please let me know, otherwise I will probably try my hand at implementing such a feature myself.

1 Like

I have been using ManicTime on Windows in many years. But now switch to Ubuntu due to company policy so I have to find a replacement as Manictime is built with dotnet. ActivityWatch seems to be a good choice. But I miss some important features.

  • Tagging. With ManicTime it is easy to visually select a timeperiod and assign a tag to it. The application always show the latest tags in use but it is also possible to search for all tags that ever been in use. Reason I want this is that I work as developer and most of my time is spent in the same application. So it is not possible to automate this. But at the same time I want help to remember when I am away from computer and get back working. And this is the main feature in ActivityWatch now.
  • Zoom. In Manictime it was very easy to zoom out and in on a day. If I zoomed in there is a scrollbar to quickly move to different events or tags.

I have just started to use ActivityWatch and I apologize if I missed something fundamental

Btw I see that authors are from Sweden. So do I :slight_smile: