Development Update May 2018

development-update

#1

On request we’ve decided to start doing these bimonthly development updates in order to keep you all updated about how development is progressing. It might take a few updates for us to get this going, but we’ll get there!

Milestones

May 7th: We finally released v0.8.0b1. It’s been our first release since November 2017 and is the first beta release of the upcoming (and amazing) new v0.8 release.

May 15th: We hit 4000 downloads :star2:

Improvements

  • Implemented our query2 querying language and rewrote much of the visualization code to use it. This is a huge step forward for future visualization work. (aw-core#46, aw-server#35, aw-webui#48)
  • Added a query explorer in the web UI to help with testing queries. (aw-webui#64)
  • Made watchers more resilient by switching to a new type of request queue. (aw-client#28)
  • Started developing aw-client-js (aw-client-js#2) and switched to using it in aw-webui (aw-webui#62).
  • The web UI now has a view for the most-visited domains. (this commit)
  • The web UI now has a button for removing buckets. (this commit)
  • We now have a package on the AUR for easy installation on Arch Linux!
  • And a bunch of smaller bugfixes and reliability improvements.

Going forward

We’ve been hard at work trying to improve the performance of ActivityWatch (activitywatch#98) using several approaches:

  • Switching to a pure-SQL implementation of the SQLite datastore. (aw-core#57)
  • Pre-merging of heartbeat events. (aw-client#33)

We’ll also spend a considerate amount of time developing ActivityWatch this coming summer as we’re a team of five people who will be working on our related project Thankful. Certainly something to look forward to!

Do you like ActivityWatch and hope to see many updates like this in the future? Support us on Patreon!


#2

I’d like to mention that the pure-SQL datastore and pre-merging of heartbeats are done to improve the performance of aw-server. We currently have a pretty severe performance bottlenecks when the peewee datastore gets large and is possibly the reason for this windows bug.