aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeckoEidechse <gecko.eidechse+git@pm.me>2022-09-10 15:36:12 +0200
committerGeckoEidechse <gecko.eidechse+git@pm.me>2022-09-10 15:36:12 +0200
commit5043bef78e671ba5417c7d5492e12f602cfb9fcb (patch)
tree45832b15758ae71c585f7d481b562d6a9989108e
parenta5515e1b0b9a22916983726cdd5ac36d8a1d879f (diff)
downloadFlightCore-5043bef78e671ba5417c7d5492e12f602cfb9fcb.tar.gz
FlightCore-5043bef78e671ba5417c7d5492e12f602cfb9fcb.zip
Add explanation for why making FlightCore
-rw-r--r--README.md18
1 files changed, 18 insertions, 0 deletions
diff --git a/README.md b/README.md
index de7fb39a..ed2581fa 100644
--- a/README.md
+++ b/README.md
@@ -100,6 +100,24 @@ Note that you can adjust the behaviour of Tauri windows in `tauri.conf.json`, e.
Release builds are generally done via CI. To build locally, make sure typescript is compiled (`./node_modules/.bin/rollup --config`), then run `npm run tauri build`.
+## Why yet another Northstar intaller/updater/mod-manager instead of contributing to an existing one?
+
+The 3 main GUI tools for handling such tasks with Norhtstar are
+
+- [r2modman](https://github.com/ebkr/r2modmanPlus)
+- [Viper](https://github.com/0neGal/viper)
+- [VTOL](https://github.com/BigSpice/VTOL)
+
+while they get most of the work done, each of them has their own problem.
+
+- **r2modman** has not too great UX and given that it also has to support other games there's not a(n easy) way to quickly add new features specific to Northstar
+- **Viper** probably has the best UX but is missing features such as Origin process runtime detection (to avoid LSX errors) and lacks the ability to install Northstar from Thunderstore. Further there are still cases where JavaScript errors are not handled properly simply showing the stack trace and confusing users.
+- **VTOL** has recently undergone a rewrite that removes a lot of older issues (such as requiring to be run as admin), however it is Windows exclusive and requires installing an additional library not shipped directly with the application, confusing some users. It also has a lot of edge case handling that while giving a smoother user experience blows up code base complexity.
+
+With that said, FlightCore is not written from scratch. For handling Northstar specific logic, functions are re-used from the CLI-only Northstar installer called [papa](https://github.com/AnActualEmerald/papa) by making use of the underlying library [libthermite](https://crates.io/crates/libthermite).
+
+The plan is to upstream any changes to `libthermite` so that it can be re-used by any other Rust-based Northstar installer.
+
## Additional info
Based on source code for the [Rust Tauri Introduction Video](https://www.youtube.com/watch?v=kRoGYgAuZQE&list=PL7r-PXl6ZPcCIOFaL7nVHXZvBmHNhrh_Q)