From 5c96d4821ddd1be86b443ec8e3c3c014106e1f77 Mon Sep 17 00:00:00 2001 From: brayo Date: Fri, 3 May 2024 21:44:13 +0300 Subject: [PATCH 01/22] feat: Introduce aw-tauri as a lightweight, cross-platform alternative to ActivityWatch --- _posts/2024-05-5-introducing-tauri.md | 29 +++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 _posts/2024-05-5-introducing-tauri.md diff --git a/_posts/2024-05-5-introducing-tauri.md b/_posts/2024-05-5-introducing-tauri.md new file mode 100644 index 00000000..2520ceb2 --- /dev/null +++ b/_posts/2024-05-5-introducing-tauri.md @@ -0,0 +1,29 @@ +--- +layout: post +title: Tauri the future of ActivityWatch +date: 2024-5-5 16:35 +0300 +author: "Brian Vuku" +author_twitter: "subrupt" +--- + +We're excited to introduce a new project [aw-tauri](http://github.com/ActivityWatch/aw-tauri). Aw-Tauri is a lighter, faster cross-platform repackaging of ActivityWatch. As the name implies the project is built with [Tauri](https://Tauri.app), a relatively new toolkit that offers all the benefits of electron with none of the downsides! + +## Why Tauri + +Tauri apps are lightweight, memory efficient and secure by design. Tauri does not ship a renderer but uses the platform native renderer via webviews. This simple design choice makes the app size compact and memory efficient during runtime, as compared to electron apps. Tauri apps are secure, only interacting with the host systems through tauri apis. This protects the host computer from arbitary code execution (at least in theory). + +## Developer Experience + +Aw-tauri is built with the [rust server](https://github.com/ActivityWatch/aw-server-rust) serving the backend and a UI written in Vue. It takes almost no time to get upto speed with the project! + +Cross platform development before tauri was a hassle. Binaries had to be built and tested for each target platform separately. Tauri greatly simplifies this. + +Tauri enables us to generate releases from the same codebase through a CI/CD pipeline. It handles everything platform specific, on linux you get a lightweight ```.appimage```, on windows a ```.msi``` installer and ```.app``` on macos. It just works! + +## User Experience + +Aw-Tauri aims to consolidate most of the functionality that is offered by additional code by other repos. It integrates the window and afk watchers natively. It offers support of notifications by default via [aw-notify](https://github.com/ActivityWatch/aw-notify). It houses its own webview, no need to visit ```http:localhost:5600``` anymore. Watchers can be started and stopped right from the trayicon. Updates can be pushed seemlessly across platforms provided by tauri's update system! + +## Conclusion + +Aw-Tauri is still in active development and contributions are welcome and encouraged. More eyes on the code will be beneficial to the project. We are excited to see where this project goes and how it will shape the future of ActivityWatch. From e19a25dfe1a8566813a81203492d74a0f35f01a4 Mon Sep 17 00:00:00 2001 From: Brayo <62670517+brayo-pip@users.noreply.github.com> Date: Fri, 3 May 2024 23:18:00 +0300 Subject: [PATCH 02/22] Update _posts/2024-05-5-introducing-tauri.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Erik Bjäreholt --- _posts/2024-05-5-introducing-tauri.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2024-05-5-introducing-tauri.md b/_posts/2024-05-5-introducing-tauri.md index 2520ceb2..b4bae166 100644 --- a/_posts/2024-05-5-introducing-tauri.md +++ b/_posts/2024-05-5-introducing-tauri.md @@ -18,7 +18,7 @@ Aw-tauri is built with the [rust server](https://github.com/ActivityWatch/aw-ser Cross platform development before tauri was a hassle. Binaries had to be built and tested for each target platform separately. Tauri greatly simplifies this. -Tauri enables us to generate releases from the same codebase through a CI/CD pipeline. It handles everything platform specific, on linux you get a lightweight ```.appimage```, on windows a ```.msi``` installer and ```.app``` on macos. It just works! +Tauri enables us to generate releases from the same codebase with a single command. It handles everything platform specific: on Linux you get a lightweight `.AppImage`, on windows a `.msi` installer, and `.app` on macOS. It just works! ## User Experience From 9e488ba2aad56758c51690866683a2bfae040306 Mon Sep 17 00:00:00 2001 From: Brayo <62670517+brayo-pip@users.noreply.github.com> Date: Fri, 3 May 2024 23:18:35 +0300 Subject: [PATCH 03/22] Update _posts/2024-05-5-introducing-tauri.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Erik Bjäreholt --- _posts/2024-05-5-introducing-tauri.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2024-05-5-introducing-tauri.md b/_posts/2024-05-5-introducing-tauri.md index b4bae166..5ae6f465 100644 --- a/_posts/2024-05-5-introducing-tauri.md +++ b/_posts/2024-05-5-introducing-tauri.md @@ -6,7 +6,7 @@ author: "Brian Vuku" author_twitter: "subrupt" --- -We're excited to introduce a new project [aw-tauri](http://github.com/ActivityWatch/aw-tauri). Aw-Tauri is a lighter, faster cross-platform repackaging of ActivityWatch. As the name implies the project is built with [Tauri](https://Tauri.app), a relatively new toolkit that offers all the benefits of electron with none of the downsides! +We're excited to introduce a new initiative `[aw-tauri](http://github.com/ActivityWatch/aw-tauri)`, which is a lighter, faster cross-platform repackaging of ActivityWatch. As the name implies the project is built with [Tauri](https://tauri.app), a relatively new Rust-based toolkit that enables easy development of small, fast, and secure applications with a great developer experience. ## Why Tauri From 4bec6e910d328b99ac7d4a35020eedceb9612d4a Mon Sep 17 00:00:00 2001 From: Brayo <62670517+brayo-pip@users.noreply.github.com> Date: Fri, 3 May 2024 23:45:39 +0300 Subject: [PATCH 04/22] Update _posts/2024-05-5-introducing-tauri.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Erik Bjäreholt --- _posts/2024-05-5-introducing-tauri.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/_posts/2024-05-5-introducing-tauri.md b/_posts/2024-05-5-introducing-tauri.md index 5ae6f465..8690cd51 100644 --- a/_posts/2024-05-5-introducing-tauri.md +++ b/_posts/2024-05-5-introducing-tauri.md @@ -26,4 +26,6 @@ Aw-Tauri aims to consolidate most of the functionality that is offered by additi ## Conclusion -Aw-Tauri is still in active development and contributions are welcome and encouraged. More eyes on the code will be beneficial to the project. We are excited to see where this project goes and how it will shape the future of ActivityWatch. +`aw-tauri` is still in active development and contributions are welcome and encouraged! More eyes on the code will be beneficial to the project. + +We are hopeful that it will help solve many of our outstanding challenges, and are excited to see it shape the future of ActivityWatch. From d81f656fbd05a99a5925b09d431ad6841f7d472f Mon Sep 17 00:00:00 2001 From: Brayo <62670517+brayo-pip@users.noreply.github.com> Date: Fri, 3 May 2024 23:47:31 +0300 Subject: [PATCH 05/22] Update _posts/2024-05-5-introducing-tauri.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Erik Bjäreholt --- _posts/2024-05-5-introducing-tauri.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/_posts/2024-05-5-introducing-tauri.md b/_posts/2024-05-5-introducing-tauri.md index 8690cd51..20e32d1e 100644 --- a/_posts/2024-05-5-introducing-tauri.md +++ b/_posts/2024-05-5-introducing-tauri.md @@ -22,7 +22,11 @@ Tauri enables us to generate releases from the same codebase with a single comma ## User Experience -Aw-Tauri aims to consolidate most of the functionality that is offered by additional code by other repos. It integrates the window and afk watchers natively. It offers support of notifications by default via [aw-notify](https://github.com/ActivityWatch/aw-notify). It houses its own webview, no need to visit ```http:localhost:5600``` anymore. Watchers can be started and stopped right from the trayicon. Updates can be pushed seemlessly across platforms provided by tauri's update system! +aw-tauri aims to replace the current main application `aw-qt`, which appears as a tray icon and manages the server and watcher. It also houses its own webview, so no need to visit ```http://localhost:5600``` anymore! + +We also plan to reimplement the [aw-notify](https://github.com/ActivityWatch/aw-notify) module directly in aw-tauri, enabling users to set up configurable usage notifications (such as goals or alerts). + +Tauri also offers an update system, which we are excited to try. ## Conclusion From 96dd276804e73eddeae2113a760320940d2a5897 Mon Sep 17 00:00:00 2001 From: brayo Date: Sat, 4 May 2024 15:56:10 +0300 Subject: [PATCH 06/22] Minor formattting --- _posts/2024-05-5-introducing-tauri.md | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/_posts/2024-05-5-introducing-tauri.md b/_posts/2024-05-5-introducing-tauri.md index 20e32d1e..227c1a1e 100644 --- a/_posts/2024-05-5-introducing-tauri.md +++ b/_posts/2024-05-5-introducing-tauri.md @@ -6,7 +6,7 @@ author: "Brian Vuku" author_twitter: "subrupt" --- -We're excited to introduce a new initiative `[aw-tauri](http://github.com/ActivityWatch/aw-tauri)`, which is a lighter, faster cross-platform repackaging of ActivityWatch. As the name implies the project is built with [Tauri](https://tauri.app), a relatively new Rust-based toolkit that enables easy development of small, fast, and secure applications with a great developer experience. +We're excited to introduce a new initiative [`aw-tauri`](http://github.com/ActivityWatch/aw-tauri), which is a lighter, faster cross-platform repackaging of ActivityWatch. As the name implies the project is built with [Tauri](https://tauri.app), a relatively new Rust-based toolkit that enables easy development of small, fast, and secure applications with a great developer experience. ## Why Tauri @@ -22,11 +22,7 @@ Tauri enables us to generate releases from the same codebase with a single comma ## User Experience -aw-tauri aims to replace the current main application `aw-qt`, which appears as a tray icon and manages the server and watcher. It also houses its own webview, so no need to visit ```http://localhost:5600``` anymore! - -We also plan to reimplement the [aw-notify](https://github.com/ActivityWatch/aw-notify) module directly in aw-tauri, enabling users to set up configurable usage notifications (such as goals or alerts). - -Tauri also offers an update system, which we are excited to try. +Aw-Tauri aims to consolidate most of the functionality that is offered by additional code by other repos. It integrates the window and afk watchers natively. It offers support of notifications by default via [aw-notify](https://github.com/ActivityWatch/aw-notify). It houses its own webview, no need to visit ```http://localhost:5600``` anymore. Watchers can be started and stopped right from the trayicon. Updates can be pushed seemlessly across platforms provided by tauri's update system! ## Conclusion From 830a496940859b89e0b1b96159d35a7c25f04ac0 Mon Sep 17 00:00:00 2001 From: brayo Date: Sat, 4 May 2024 17:10:17 +0300 Subject: [PATCH 07/22] feat: briefly mention Aw-sync --- _posts/2024-05-5-introducing-tauri.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2024-05-5-introducing-tauri.md b/_posts/2024-05-5-introducing-tauri.md index 227c1a1e..d5010977 100644 --- a/_posts/2024-05-5-introducing-tauri.md +++ b/_posts/2024-05-5-introducing-tauri.md @@ -10,7 +10,7 @@ We're excited to introduce a new initiative [`aw-tauri`](http://github.com/Activ ## Why Tauri -Tauri apps are lightweight, memory efficient and secure by design. Tauri does not ship a renderer but uses the platform native renderer via webviews. This simple design choice makes the app size compact and memory efficient during runtime, as compared to electron apps. Tauri apps are secure, only interacting with the host systems through tauri apis. This protects the host computer from arbitary code execution (at least in theory). +Tauri apps are lightweight, memory efficient and secure by design. Tauri does not ship a renderer but uses the platform native renderer via webviews. This simple design choice makes the app size compact and memory efficient during runtime, as compared to electron apps. Tauri apps are secure, only interacting with the host systems through tauri apis. Security is a top priority for Tauri, and so it is for ActivityWatch. ## Developer Experience @@ -22,7 +22,7 @@ Tauri enables us to generate releases from the same codebase with a single comma ## User Experience -Aw-Tauri aims to consolidate most of the functionality that is offered by additional code by other repos. It integrates the window and afk watchers natively. It offers support of notifications by default via [aw-notify](https://github.com/ActivityWatch/aw-notify). It houses its own webview, no need to visit ```http://localhost:5600``` anymore. Watchers can be started and stopped right from the trayicon. Updates can be pushed seemlessly across platforms provided by tauri's update system! +Aw-Tauri aims to consolidate most of the functionality that is offered by additional code by other repos. It integrates the window and afk watchers natively. It offers support of notifications by default via [aw-notify](https://github.com/ActivityWatch/aw-notify). It houses its own webview, no need to visit ```http://localhost:5600``` anymore. Watchers can be started and stopped right from the trayicon. Updates can be pushed seemlessly across platforms provided by tauri's update system! [Aw-sync](https://github.com/ActivityWatch/aw-sync) which is still in active development will be integrated into the app. Syncing data across devices will be just as seemless. We will work closely with the user community to make a product that we all love to use. ## Conclusion From ec8b2fd77f638b312411a7dc4fe1192a84abb277 Mon Sep 17 00:00:00 2001 From: brayo Date: Sat, 4 May 2024 23:53:57 +0300 Subject: [PATCH 08/22] feat: fix broken link --- _posts/2024-05-5-introducing-tauri.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2024-05-5-introducing-tauri.md b/_posts/2024-05-5-introducing-tauri.md index d5010977..152430e3 100644 --- a/_posts/2024-05-5-introducing-tauri.md +++ b/_posts/2024-05-5-introducing-tauri.md @@ -22,7 +22,7 @@ Tauri enables us to generate releases from the same codebase with a single comma ## User Experience -Aw-Tauri aims to consolidate most of the functionality that is offered by additional code by other repos. It integrates the window and afk watchers natively. It offers support of notifications by default via [aw-notify](https://github.com/ActivityWatch/aw-notify). It houses its own webview, no need to visit ```http://localhost:5600``` anymore. Watchers can be started and stopped right from the trayicon. Updates can be pushed seemlessly across platforms provided by tauri's update system! [Aw-sync](https://github.com/ActivityWatch/aw-sync) which is still in active development will be integrated into the app. Syncing data across devices will be just as seemless. We will work closely with the user community to make a product that we all love to use. +Aw-Tauri aims to consolidate most of the functionality that is offered by additional code by other repos. It integrates the window and afk watchers natively. It offers support of notifications by default via [aw-notify](https://github.com/ActivityWatch/aw-notify). It houses its own webview, no need to visit ```http://localhost:5600``` anymore. Watchers can be started and stopped right from the trayicon. Updates can be pushed seemlessly across platforms provided by tauri's update system! [Aw-sync](https://github.com/ActivityWatch/aw-server-rust/tree/c056e50646b45070c330de8a6dbd14042b3455e4/aw-sync) which is still in active development will be integrated into the app. Syncing data across devices will be just as seemless. We will work closely with the user community to make a product that we all love to use. ## Conclusion From f0deff70ffb3a45869747d84ff38f4bfb99c8a96 Mon Sep 17 00:00:00 2001 From: Brayo <62670517+brayo-pip@users.noreply.github.com> Date: Wed, 8 May 2024 12:18:59 +0300 Subject: [PATCH 09/22] Update _posts/2024-05-5-introducing-tauri.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Erik Bjäreholt --- _posts/2024-05-5-introducing-tauri.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/_posts/2024-05-5-introducing-tauri.md b/_posts/2024-05-5-introducing-tauri.md index 152430e3..50477ad6 100644 --- a/_posts/2024-05-5-introducing-tauri.md +++ b/_posts/2024-05-5-introducing-tauri.md @@ -22,7 +22,14 @@ Tauri enables us to generate releases from the same codebase with a single comma ## User Experience -Aw-Tauri aims to consolidate most of the functionality that is offered by additional code by other repos. It integrates the window and afk watchers natively. It offers support of notifications by default via [aw-notify](https://github.com/ActivityWatch/aw-notify). It houses its own webview, no need to visit ```http://localhost:5600``` anymore. Watchers can be started and stopped right from the trayicon. Updates can be pushed seemlessly across platforms provided by tauri's update system! [Aw-sync](https://github.com/ActivityWatch/aw-server-rust/tree/c056e50646b45070c330de8a6dbd14042b3455e4/aw-sync) which is still in active development will be integrated into the app. Syncing data across devices will be just as seemless. We will work closely with the user community to make a product that we all love to use. +`aw-tauri` aims to consolidate much of the functionality that is currently implemented in [`aw-qt`](https://github.com/ActivityWatch/aw-qt), [`aw-server-rust`](https://github.com/ActivityWatch/aw-server-rust), and [`aw-notify`](https://github.com/ActivityWatch/aw-notify). + + - It houses its own webview, no need to visit `http://localhost:5600` in your browser anymore. + - Watchers can be started and stopped right from the trayicon, just like in `aw-qt`. + - Updates can be pushed seemlessly across platforms provided by tauri's update system! + - [aw-sync](https://github.com/ActivityWatch/aw-server-rust/tree/master/aw-sync), which is still in active development, will be integrated into the app. Syncing data across devices will be just as seamless. + +These are only the first steps to getting aw-tauri usable, but most of all it serves as a stable foundation enabling many improvements down the line. ## Conclusion From 3c806adcfa140c961759f2f116c2bc655d5e680d Mon Sep 17 00:00:00 2001 From: Brayo <62670517+brayo-pip@users.noreply.github.com> Date: Wed, 8 May 2024 12:19:30 +0300 Subject: [PATCH 10/22] Update _posts/2024-05-5-introducing-tauri.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Erik Bjäreholt --- _posts/2024-05-5-introducing-tauri.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2024-05-5-introducing-tauri.md b/_posts/2024-05-5-introducing-tauri.md index 50477ad6..23d3c22c 100644 --- a/_posts/2024-05-5-introducing-tauri.md +++ b/_posts/2024-05-5-introducing-tauri.md @@ -16,9 +16,9 @@ Tauri apps are lightweight, memory efficient and secure by design. Tauri does no Aw-tauri is built with the [rust server](https://github.com/ActivityWatch/aw-server-rust) serving the backend and a UI written in Vue. It takes almost no time to get upto speed with the project! -Cross platform development before tauri was a hassle. Binaries had to be built and tested for each target platform separately. Tauri greatly simplifies this. +In our current build process, we rely heavily on PyInstaller for building the modules written in Python. This has been an enduring source of problems, and many developer weeks (if not months) have been spent trying to work out all the issues over the years (especially macOS support, because of the need to codesign a very messy `.app` bundle). -Tauri enables us to generate releases from the same codebase with a single command. It handles everything platform specific: on Linux you get a lightweight `.AppImage`, on windows a `.msi` installer, and `.app` on macOS. It just works! +With Tauri, they have handled most of the heavy lifting, and make it easy to produce working binaries for all target platforms. Much of this is simply due to Rust (avoids PyInstaller), but the added tooling for codesigning and producing suitable bundles for each platform: on Linux you get a lightweight `.AppImage`, on windows a `.msi` installer, and `.app` on macOS. ## User Experience From a10f9d1e7ecbeb9b04b5f6a2418bf4d0045f314f Mon Sep 17 00:00:00 2001 From: Brayo <62670517+brayo-pip@users.noreply.github.com> Date: Wed, 8 May 2024 12:19:53 +0300 Subject: [PATCH 11/22] Update _posts/2024-05-5-introducing-tauri.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Erik Bjäreholt --- _posts/2024-05-5-introducing-tauri.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/_posts/2024-05-5-introducing-tauri.md b/_posts/2024-05-5-introducing-tauri.md index 23d3c22c..3bbfc704 100644 --- a/_posts/2024-05-5-introducing-tauri.md +++ b/_posts/2024-05-5-introducing-tauri.md @@ -33,6 +33,8 @@ These are only the first steps to getting aw-tauri usable, but most of all it se ## Conclusion -`aw-tauri` is still in active development and contributions are welcome and encouraged! More eyes on the code will be beneficial to the project. +`aw-tauri` is still in active development, contributions are welcome and encouraged! -We are hopeful that it will help solve many of our outstanding challenges, and are excited to see it shape the future of ActivityWatch. +Check out the [README](https://github.com/ActivityWatch/aw-tauri/blob/master/README.md) to see the status of development, and where you can help out. + +We are hopeful that it will help solve many of our remaining challenges, and are excited to see it help shape the future of ActivityWatch. From 03f04fbbb11e4717e28152f49368effd4725578e Mon Sep 17 00:00:00 2001 From: Brayo <62670517+brayo-pip@users.noreply.github.com> Date: Wed, 8 May 2024 12:20:05 +0300 Subject: [PATCH 12/22] Update _posts/2024-05-5-introducing-tauri.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Erik Bjäreholt --- _posts/2024-05-5-introducing-tauri.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2024-05-5-introducing-tauri.md b/_posts/2024-05-5-introducing-tauri.md index 3bbfc704..8d7a8219 100644 --- a/_posts/2024-05-5-introducing-tauri.md +++ b/_posts/2024-05-5-introducing-tauri.md @@ -14,7 +14,7 @@ Tauri apps are lightweight, memory efficient and secure by design. Tauri does no ## Developer Experience -Aw-tauri is built with the [rust server](https://github.com/ActivityWatch/aw-server-rust) serving the backend and a UI written in Vue. It takes almost no time to get upto speed with the project! +`aw-tauri` is built with [aw-server-rust](https://github.com/ActivityWatch/aw-server-rust) serving the backend together with [aw-webui](https://github.com/ActivityWatch/aw-webui). We have taken care to keep the codebase lean and clean, such that it takes very little time to get acquainted with the codebase. In our current build process, we rely heavily on PyInstaller for building the modules written in Python. This has been an enduring source of problems, and many developer weeks (if not months) have been spent trying to work out all the issues over the years (especially macOS support, because of the need to codesign a very messy `.app` bundle). From bb2e37e9169a6de8c11f83d1d9b013167f416d7b Mon Sep 17 00:00:00 2001 From: brayo Date: Wed, 8 May 2024 13:04:47 +0300 Subject: [PATCH 13/22] Update dates --- ...ducing-tauri.md => 2024-05-10-introducing-tauri.md} | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) rename _posts/{2024-05-5-introducing-tauri.md => 2024-05-10-introducing-tauri.md} (84%) diff --git a/_posts/2024-05-5-introducing-tauri.md b/_posts/2024-05-10-introducing-tauri.md similarity index 84% rename from _posts/2024-05-5-introducing-tauri.md rename to _posts/2024-05-10-introducing-tauri.md index 8d7a8219..1d6dab2f 100644 --- a/_posts/2024-05-5-introducing-tauri.md +++ b/_posts/2024-05-10-introducing-tauri.md @@ -1,7 +1,7 @@ --- layout: post title: Tauri the future of ActivityWatch -date: 2024-5-5 16:35 +0300 +date: 2024-5-10 16:35 +0300 author: "Brian Vuku" author_twitter: "subrupt" --- @@ -24,10 +24,10 @@ With Tauri, they have handled most of the heavy lifting, and make it easy to pro `aw-tauri` aims to consolidate much of the functionality that is currently implemented in [`aw-qt`](https://github.com/ActivityWatch/aw-qt), [`aw-server-rust`](https://github.com/ActivityWatch/aw-server-rust), and [`aw-notify`](https://github.com/ActivityWatch/aw-notify). - - It houses its own webview, no need to visit `http://localhost:5600` in your browser anymore. - - Watchers can be started and stopped right from the trayicon, just like in `aw-qt`. - - Updates can be pushed seemlessly across platforms provided by tauri's update system! - - [aw-sync](https://github.com/ActivityWatch/aw-server-rust/tree/master/aw-sync), which is still in active development, will be integrated into the app. Syncing data across devices will be just as seamless. +- It houses its own webview, no need to visit `http://localhost:5600` in your browser anymore. +- Watchers can be started and stopped right from the trayicon, just like in `aw-qt`. +- Updates can be pushed seemlessly across platforms provided by tauri's update system! +- [aw-sync](https://github.com/ActivityWatch/aw-server-rust/tree/master/aw-sync), which is still in active development, will be integrated into the app. Syncing data across devices will be just as seamless. These are only the first steps to getting aw-tauri usable, but most of all it serves as a stable foundation enabling many improvements down the line. From 043f9fd7dbc6b570c8c96eeb4a73034033206236 Mon Sep 17 00:00:00 2001 From: brayo Date: Sun, 12 May 2024 20:41:01 +0300 Subject: [PATCH 14/22] Final touches Co-authored-by: Erik --- ...-10-introducing-tauri.md => 2024-05-13-introducing-tauri.md} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename _posts/{2024-05-10-introducing-tauri.md => 2024-05-13-introducing-tauri.md} (99%) diff --git a/_posts/2024-05-10-introducing-tauri.md b/_posts/2024-05-13-introducing-tauri.md similarity index 99% rename from _posts/2024-05-10-introducing-tauri.md rename to _posts/2024-05-13-introducing-tauri.md index 1d6dab2f..6679a7e2 100644 --- a/_posts/2024-05-10-introducing-tauri.md +++ b/_posts/2024-05-13-introducing-tauri.md @@ -1,7 +1,7 @@ --- layout: post title: Tauri the future of ActivityWatch -date: 2024-5-10 16:35 +0300 +date: 2024-5-13 16:35 +0300 author: "Brian Vuku" author_twitter: "subrupt" --- From 838b7c1f0853c1e4be6e2ab9d9884c0687025bda Mon Sep 17 00:00:00 2001 From: Brayo <62670517+brayo-pip@users.noreply.github.com> Date: Wed, 15 May 2024 17:20:22 +0300 Subject: [PATCH 15/22] Update _posts/2024-05-13-introducing-tauri.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Erik Bjäreholt --- _posts/2024-05-13-introducing-tauri.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2024-05-13-introducing-tauri.md b/_posts/2024-05-13-introducing-tauri.md index 6679a7e2..fff609ef 100644 --- a/_posts/2024-05-13-introducing-tauri.md +++ b/_posts/2024-05-13-introducing-tauri.md @@ -16,7 +16,7 @@ Tauri apps are lightweight, memory efficient and secure by design. Tauri does no `aw-tauri` is built with [aw-server-rust](https://github.com/ActivityWatch/aw-server-rust) serving the backend together with [aw-webui](https://github.com/ActivityWatch/aw-webui). We have taken care to keep the codebase lean and clean, such that it takes very little time to get acquainted with the codebase. -In our current build process, we rely heavily on PyInstaller for building the modules written in Python. This has been an enduring source of problems, and many developer weeks (if not months) have been spent trying to work out all the issues over the years (especially macOS support, because of the need to codesign a very messy `.app` bundle). +In our current build process for Python modules like `aw-qt`, we rely heavily on PyInstaller for building into binaries. This has been an enduring source of problems, and many developer weeks (if not months) have been spent trying to work out all the issues over the years (especially macOS support, because of the need to codesign a very messy `.app` bundle). With Tauri, they have handled most of the heavy lifting, and make it easy to produce working binaries for all target platforms. Much of this is simply due to Rust (avoids PyInstaller), but the added tooling for codesigning and producing suitable bundles for each platform: on Linux you get a lightweight `.AppImage`, on windows a `.msi` installer, and `.app` on macOS. From 0a9366688639540c9b1e99bef1f90691a9d3115b Mon Sep 17 00:00:00 2001 From: Brayo <62670517+brayo-pip@users.noreply.github.com> Date: Wed, 15 May 2024 17:20:42 +0300 Subject: [PATCH 16/22] Update _posts/2024-05-13-introducing-tauri.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Erik Bjäreholt --- _posts/2024-05-13-introducing-tauri.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2024-05-13-introducing-tauri.md b/_posts/2024-05-13-introducing-tauri.md index fff609ef..e405ec35 100644 --- a/_posts/2024-05-13-introducing-tauri.md +++ b/_posts/2024-05-13-introducing-tauri.md @@ -18,7 +18,7 @@ Tauri apps are lightweight, memory efficient and secure by design. Tauri does no In our current build process for Python modules like `aw-qt`, we rely heavily on PyInstaller for building into binaries. This has been an enduring source of problems, and many developer weeks (if not months) have been spent trying to work out all the issues over the years (especially macOS support, because of the need to codesign a very messy `.app` bundle). -With Tauri, they have handled most of the heavy lifting, and make it easy to produce working binaries for all target platforms. Much of this is simply due to Rust (avoids PyInstaller), but the added tooling for codesigning and producing suitable bundles for each platform: on Linux you get a lightweight `.AppImage`, on windows a `.msi` installer, and `.app` on macOS. +With Tauri, they have handled most of the heavy lifting, and make it easy to produce working binaries for all target platforms. Much of this is simply due to Rust (avoids PyInstaller and its complexity), but also the added tooling for codesigning, and producing suitable bundles for each platform: on Linux you get a lightweight `.AppImage`, on windows a `.msi` installer, and `.app` on macOS. ## User Experience From f06073a12adc0964bf966ff05b21212d0aa3753e Mon Sep 17 00:00:00 2001 From: Brayo <62670517+brayo-pip@users.noreply.github.com> Date: Wed, 15 May 2024 17:21:12 +0300 Subject: [PATCH 17/22] Update _posts/2024-05-13-introducing-tauri.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Erik Bjäreholt --- _posts/2024-05-13-introducing-tauri.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2024-05-13-introducing-tauri.md b/_posts/2024-05-13-introducing-tauri.md index e405ec35..39c359af 100644 --- a/_posts/2024-05-13-introducing-tauri.md +++ b/_posts/2024-05-13-introducing-tauri.md @@ -10,7 +10,7 @@ We're excited to introduce a new initiative [`aw-tauri`](http://github.com/Activ ## Why Tauri -Tauri apps are lightweight, memory efficient and secure by design. Tauri does not ship a renderer but uses the platform native renderer via webviews. This simple design choice makes the app size compact and memory efficient during runtime, as compared to electron apps. Tauri apps are secure, only interacting with the host systems through tauri apis. Security is a top priority for Tauri, and so it is for ActivityWatch. +Tauri apps are lightweight, memory efficient and secure by design. Tauri does not ship a renderer but uses the platform native renderer via WebViews. This simple design choice makes the app size compact and memory efficient during runtime, as compared to electron apps. Tauri apps are secure, only interacting with the host systems through Tauri APIs. ## Developer Experience From 68c0580aeca3a022e202a83a21c2c95c4063bec5 Mon Sep 17 00:00:00 2001 From: Brayo <62670517+brayo-pip@users.noreply.github.com> Date: Wed, 15 May 2024 17:21:35 +0300 Subject: [PATCH 18/22] Update _posts/2024-05-13-introducing-tauri.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Erik Bjäreholt --- _posts/2024-05-13-introducing-tauri.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2024-05-13-introducing-tauri.md b/_posts/2024-05-13-introducing-tauri.md index 39c359af..65f3a72c 100644 --- a/_posts/2024-05-13-introducing-tauri.md +++ b/_posts/2024-05-13-introducing-tauri.md @@ -22,7 +22,7 @@ With Tauri, they have handled most of the heavy lifting, and make it easy to pro ## User Experience -`aw-tauri` aims to consolidate much of the functionality that is currently implemented in [`aw-qt`](https://github.com/ActivityWatch/aw-qt), [`aw-server-rust`](https://github.com/ActivityWatch/aw-server-rust), and [`aw-notify`](https://github.com/ActivityWatch/aw-notify). +`aw-tauri` aims to replace the functionality that is currently implemented in [`aw-qt`](https://github.com/ActivityWatch/aw-qt) and [`aw-notify`](https://github.com/ActivityWatch/aw-notify). Creating a new Rust-powered entrypoint for running ActivityWatch and its modules. With [`aw-server-rust`](https://github.com/ActivityWatch/aw-server-rust) as the default server, it leads to a reliable and highly performant application. Reliability and performance is very important for apps like ActivityWatch, which always run in the background and collect data that is otherwise lost. - It houses its own webview, no need to visit `http://localhost:5600` in your browser anymore. - Watchers can be started and stopped right from the trayicon, just like in `aw-qt`. From 96bbdd60011efd5cc8d4f04d80a6df8e8a263956 Mon Sep 17 00:00:00 2001 From: brayo Date: Thu, 16 May 2024 15:34:48 +0300 Subject: [PATCH 19/22] move user experience up. add autostart as a feature --- _posts/2024-05-13-introducing-tauri.md | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/_posts/2024-05-13-introducing-tauri.md b/_posts/2024-05-13-introducing-tauri.md index 65f3a72c..e645fed7 100644 --- a/_posts/2024-05-13-introducing-tauri.md +++ b/_posts/2024-05-13-introducing-tauri.md @@ -12,24 +12,27 @@ We're excited to introduce a new initiative [`aw-tauri`](http://github.com/Activ Tauri apps are lightweight, memory efficient and secure by design. Tauri does not ship a renderer but uses the platform native renderer via WebViews. This simple design choice makes the app size compact and memory efficient during runtime, as compared to electron apps. Tauri apps are secure, only interacting with the host systems through Tauri APIs. -## Developer Experience - -`aw-tauri` is built with [aw-server-rust](https://github.com/ActivityWatch/aw-server-rust) serving the backend together with [aw-webui](https://github.com/ActivityWatch/aw-webui). We have taken care to keep the codebase lean and clean, such that it takes very little time to get acquainted with the codebase. - -In our current build process for Python modules like `aw-qt`, we rely heavily on PyInstaller for building into binaries. This has been an enduring source of problems, and many developer weeks (if not months) have been spent trying to work out all the issues over the years (especially macOS support, because of the need to codesign a very messy `.app` bundle). - -With Tauri, they have handled most of the heavy lifting, and make it easy to produce working binaries for all target platforms. Much of this is simply due to Rust (avoids PyInstaller and its complexity), but also the added tooling for codesigning, and producing suitable bundles for each platform: on Linux you get a lightweight `.AppImage`, on windows a `.msi` installer, and `.app` on macOS. - ## User Experience `aw-tauri` aims to replace the functionality that is currently implemented in [`aw-qt`](https://github.com/ActivityWatch/aw-qt) and [`aw-notify`](https://github.com/ActivityWatch/aw-notify). Creating a new Rust-powered entrypoint for running ActivityWatch and its modules. With [`aw-server-rust`](https://github.com/ActivityWatch/aw-server-rust) as the default server, it leads to a reliable and highly performant application. Reliability and performance is very important for apps like ActivityWatch, which always run in the background and collect data that is otherwise lost. +`aw-tauri` is designed to be a drop-in replacement for `aw-qt` and `aw-notify`, with the following improvements: + - It houses its own webview, no need to visit `http://localhost:5600` in your browser anymore. - Watchers can be started and stopped right from the trayicon, just like in `aw-qt`. - Updates can be pushed seemlessly across platforms provided by tauri's update system! - [aw-sync](https://github.com/ActivityWatch/aw-server-rust/tree/master/aw-sync), which is still in active development, will be integrated into the app. Syncing data across devices will be just as seamless. +- Autostart on boot, is built into the app, no need to set up systemd services for linux users. -These are only the first steps to getting aw-tauri usable, but most of all it serves as a stable foundation enabling many improvements down the line. +This is just the beginning, it serves as the baseline for many more improvements to come. + +## Developer Experience + +`aw-tauri` is built with [aw-server-rust](https://github.com/ActivityWatch/aw-server-rust) serving the backend together with [aw-webui](https://github.com/ActivityWatch/aw-webui). We have taken care to keep the codebase lean and clean, such that it takes very little time to get acquainted with the codebase. + +In our current build process for Python modules like `aw-qt`, we rely heavily on PyInstaller for building into binaries. This has been an enduring source of problems, and many developer weeks (if not months) have been spent trying to work out all the issues over the years (especially macOS support, because of the need to codesign a very messy `.app` bundle). + +With Tauri, they have handled most of the heavy lifting, and make it easy to produce working binaries for all target platforms. Much of this is simply due to Rust (avoids PyInstaller and its complexity), but also the added tooling for codesigning, and producing suitable bundles for each platform: on Linux you get a lightweight `.AppImage`, on windows a `.msi` installer, and `.app` on macOS. ## Conclusion From 4805cb68dfe14fddc854636c43aa6abbc4181599 Mon Sep 17 00:00:00 2001 From: Brayo <62670517+brayo-pip@users.noreply.github.com> Date: Mon, 8 Jul 2024 15:24:57 +0300 Subject: [PATCH 20/22] Update _posts/2024-05-13-introducing-tauri.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Erik Bjäreholt --- _posts/2024-05-13-introducing-tauri.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2024-05-13-introducing-tauri.md b/_posts/2024-05-13-introducing-tauri.md index e645fed7..a5f643aa 100644 --- a/_posts/2024-05-13-introducing-tauri.md +++ b/_posts/2024-05-13-introducing-tauri.md @@ -1,6 +1,6 @@ --- layout: post -title: Tauri the future of ActivityWatch +A lighter faster ActivityWatch with Tauri: now available for testing date: 2024-5-13 16:35 +0300 author: "Brian Vuku" author_twitter: "subrupt" From 38c888cf0df1ea5758a752a5adebfaf462142278 Mon Sep 17 00:00:00 2001 From: Brayo <62670517+brayo-pip@users.noreply.github.com> Date: Mon, 8 Jul 2024 15:28:57 +0300 Subject: [PATCH 21/22] Update _posts/2024-05-13-introducing-tauri.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Erik Bjäreholt --- _posts/2024-05-13-introducing-tauri.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2024-05-13-introducing-tauri.md b/_posts/2024-05-13-introducing-tauri.md index a5f643aa..f2f4ee3d 100644 --- a/_posts/2024-05-13-introducing-tauri.md +++ b/_posts/2024-05-13-introducing-tauri.md @@ -32,7 +32,7 @@ This is just the beginning, it serves as the baseline for many more improvements In our current build process for Python modules like `aw-qt`, we rely heavily on PyInstaller for building into binaries. This has been an enduring source of problems, and many developer weeks (if not months) have been spent trying to work out all the issues over the years (especially macOS support, because of the need to codesign a very messy `.app` bundle). -With Tauri, they have handled most of the heavy lifting, and make it easy to produce working binaries for all target platforms. Much of this is simply due to Rust (avoids PyInstaller and its complexity), but also the added tooling for codesigning, and producing suitable bundles for each platform: on Linux you get a lightweight `.AppImage`, on windows a `.msi` installer, and `.app` on macOS. +With Tauri, they have handled most of the heavy lifting, and make it easy to produce working binaries for all target platforms. Much of this is simply due to Rust (avoids PyInstaller and its complexity), but also the added tooling for codesigning, and producing suitable bundles for each platform: on Linux you get a lightweight `.AppImage`, on Windows a `.msi` installer, and `.app` on macOS. ## Conclusion From 14f469b08fa72bfa06ea5b4d0a70b0e27b017e38 Mon Sep 17 00:00:00 2001 From: Brayo <62670517+brayo-pip@users.noreply.github.com> Date: Mon, 8 Jul 2024 16:51:44 +0300 Subject: [PATCH 22/22] Update _posts/2024-05-13-introducing-tauri.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Erik Bjäreholt --- _posts/2024-05-13-introducing-tauri.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2024-05-13-introducing-tauri.md b/_posts/2024-05-13-introducing-tauri.md index f2f4ee3d..1096eaee 100644 --- a/_posts/2024-05-13-introducing-tauri.md +++ b/_posts/2024-05-13-introducing-tauri.md @@ -1,6 +1,6 @@ --- layout: post -A lighter faster ActivityWatch with Tauri: now available for testing +title: "A lighter faster ActivityWatch with Tauri: now available for testing" date: 2024-5-13 16:35 +0300 author: "Brian Vuku" author_twitter: "subrupt"