Skip to content

Commit 752b3d5

Browse files
TimeToBuildBobErikBjaregreptile-apps[bot]
authored
feat(faq): add user-facing FAQ entries and organize into sections (#168)
* feat(faq): add user-facing FAQ entries and organize into sections Add general FAQ entries from the website (activitywatch.github.io#42): - What is ActivityWatch? - Is it really free? - Platform support - Privacy/data storage - RescueTime comparison (with link to detailed blog post) - Custom tracking/extensibility Organize into General and Technical sections for better navigation. Existing technical entries preserved as-is in the Technical section. Follow-up from activitywatch.github.io#42 discussion per @ErikBjare request. * Update src/faq.rst Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * Apply suggestion from @ErikBjare * Apply suggestion from @ErikBjare --------- Co-authored-by: Erik Bjäreholt <erik.bjareholt@gmail.com> Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
1 parent df9eb3e commit 752b3d5

File tree

1 file changed

+53
-14
lines changed

1 file changed

+53
-14
lines changed

src/faq.rst

Lines changed: 53 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,70 @@
11
FAQ
22
===
33

4-
..
5-
Some of this should probably be moved to a development FAQ.
4+
General
5+
-------
6+
7+
What is ActivityWatch?
8+
~~~~~~~~~~~~~~~~~~~~~~
9+
10+
ActivityWatch is a free, open-source, automated time tracker that runs on your computer and monitors which applications and websites you use. It works on Windows, macOS, Linux, and Android. Unlike cloud-based time trackers, all data is stored locally on your device for maximum privacy.
11+
12+
Is ActivityWatch really free?
13+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
14+
15+
Yes. ActivityWatch is completely free and open-source software, licensed under the MPL-2.0 license. There are no premium tiers, no usage limits, and no ads. It is developed and maintained by volunteers and community contributors.
16+
17+
What platforms does ActivityWatch support?
18+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
19+
20+
ActivityWatch runs on **Windows** (10 and later), **macOS** (10.15+), **Linux** (most distributions), and **Android**. Browser extensions are available for Chrome, Firefox, and Edge to track your web activity.
21+
22+
Does ActivityWatch track my data privately?
23+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
624

7-
.. note::
8-
Some of these questions are technically not frequently asked.
25+
Yes. ActivityWatch follows a `local-first <https://www.inkandswitch.com/local-first.html>`_ approach — all your time tracking data is stored on your own device and is never sent to any server. You have full control over your data and can export, delete, or back it up at any time.
926

1027
Where is my data stored?
11-
------------------------
28+
~~~~~~~~~~~~~~~~~~~~~~~~
29+
30+
All your data is stored in a SQLite database in the :ref:`data directory <data-directory>`. Nothing is sent to any cloud service.
31+
32+
How does ActivityWatch compare to RescueTime?
33+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
34+
35+
ActivityWatch is a privacy-first, open-source alternative to RescueTime. Key differences:
36+
37+
- **Data storage**: ActivityWatch keeps everything local on your device, while RescueTime sends data to their cloud servers.
38+
- **Platform support**: ActivityWatch supports Linux (which RescueTime dropped support for around 2021), plus Windows, macOS, and Android.
39+
- **Price**: ActivityWatch is completely free. RescueTime charges $12/month for their premium tier.
40+
- **Extensibility**: ActivityWatch lets you write custom watchers and integrations. RescueTime is a closed system.
41+
- **Data access**: All your ActivityWatch data is always accessible. RescueTime's free tier limits how far back you can see.
42+
43+
For a detailed comparison, see the `ActivityWatch vs RescueTime <https://activitywatch.net/blog/activitywatch-vs-rescuetime/>`_ blog post and the `general time tracker comparison <https://activitywatch.net/blog/comparing-time-trackers/>`_.
44+
45+
Can I extend ActivityWatch with custom tracking?
46+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
47+
48+
Yes! ActivityWatch has a modular architecture built around "watchers" — small programs that track different things and report to a local server. You can write your own watchers using the REST API. The community has built watchers for VS Code, JetBrains IDEs, Spotify, and more. See the :doc:`examples` for how to interact with ActivityWatch programmatically.
49+
1250

13-
All your data is stored in a SQLite database in the :ref:`data directory <data-directory>`.
51+
Technical
52+
---------
1453

1554
How do I interpret the raw data?
16-
--------------------------------
55+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1756

1857
First, familiarize yourself with the `data model <buckets-and-events>`. After that, you might want to have a look at the `Examples`.
1958

2059
How can I use ActivityWatch with my own code?
21-
---------------------------------------------
60+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2261

2362
See the `Examples` for different ways to use ActivityWatch programmatically.
2463

2564
.. _how-does-aw-know-when-im-afk:
2665

2766
How does ActivityWatch know when I am AFK?
28-
------------------------------------------
67+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2968

3069
On Windows and macOS, we use functionality offered by those platforms to give us the
3170
time since last input.
@@ -38,7 +77,7 @@ Using this data (seconds since last input) we check if more than 3 minutes have
3877
If the browser watcher is running, the user will also by default be considered to not be AFK when the active browser tab has sound playing from it. This helps when the user for example watches a video or is in a video/audio meeting.
3978

4079
Why is the active window logged as "unknown" when using Wayland?
41-
----------------------------------------------------------------
80+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4281

4382
The Wayland protocol does not have a notion of an active window, and it is unlikely to ever have.
4483
Wayland is also developed with security in mind, so access should be handed out on an app-by-app basis.
@@ -54,7 +93,7 @@ Unfortunately, in Wayland compositors like Gnome's Mutter there is no way at all
5493
You can see the general status of the ability of `getting the active window in Wayland on StackOverflow <https://stackoverflow.com/questions/45465016/how-do-i-get-the-active-window-on-gnome-wayland>`_ or follow `the issue for ActivityWatch tracking the problem <https://github.com/ActivityWatch/activitywatch/issues/92>`_.
5594

5695
How accurate is ActivityWatch?
57-
------------------------------
96+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5897

5998
The design of ActivityWatch is that it consists of multiple watchers which report different types of activities.
6099
Each watcher has its own flaws in accuracy for different reasons.
@@ -67,7 +106,7 @@ The accuracy will vary depending on use-case and depending on what data you are
67106
Even if the tracking was perfect, what should be considered being "active" is subjective.
68107

69108
What happens if it is down or crashes?
70-
--------------------------------------
109+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71110

72111
ActivityWatch consists of several processes running independently, so one thing crashing will have limited impact on the rest of the system.
73112

@@ -77,12 +116,12 @@ If a watcher crashes, its bucket will simply remain untouched until it is restar
77116

78117
..
79118
What happens when my computer is off or asleep?
80-
-----------------------------------------------
119+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
81120
82121
If your computer is off or asleep, watchers will usually record nothing. i.e. one events ending (:code:`timestamp + duration`) will not match up with the following event's beginning (:code:`timestamp`).
83122

84123
Some events have 0 duration. What does this mean?
85-
-------------------------------------------------
124+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
86125

87126
`Watchers` most commonly use a polling method called `heartbeats` in order to store information on the server.
88127
Heartbeats are received regularly with some data, and when two consecutive heartbeats have identical data, they get merged and the duration of the new one becomes the time difference between the previous two.

0 commit comments

Comments
 (0)