Recreating the FreeWrite/AlphaSmart experience in linux
To make the experience fit your profile, pick a username and tell us what interests you.
We found and based on your interests.
launcher.fishFish shell script to launch programs with a menu & navigate the filesystem in the style of the old DOS PowerMenu-style launchersfish - 1.57 kB - 09/09/2020 at 12:30 |
|
I've flip-flopped again on the software design, and decided to go for a more hacker-ey approach that uses a tiling window manager + terminal window instead of a browser in kiosk mode. I'm using the following software:
I discovered it's pretty easy to hack together a menu-based interface with Fish shell script, though it's a bit janky. Better options are wiretail (easier, more portable)/dialog (more verbose, more flexible) which allow for decent-looking GUIs in shell scripts.
Off-topic, I also learned about Zenity which is the GTK equivalent. It has Python bindings and seems like a nicer alternative to PyQT (pretty but tedious to code up) and PySimpleGUI (fast to code but hideous as the library tries to look like a 90s WinForms enterprise app).
After a bit of research, there really isn't much in the way of distraction-free writing apps that work in a browser. The most popular (Typora, commercial and FocusWriter, FOSS) are native. Probably this is an entirely reasonable thing. Currently I'm looking at notes apps. Standard Notes seems nicest, but it's a bit of a pain to get running. Reasonable alternatives are Trillium, Wiki.js, BookStack, WriteFreely and the various NextCloud notes add-ons.
Currently the project is based on an i3 Intel NUC running Xubuntu + FocusWriter. I have a couple of decisions to make:
1. Should I stick with Intel, go to ARM or stay processor-agnostic?
2. Should I use native fullscreen applications or web-based ones running in FIrefox in kiosk mode?
3. How to Sync? Should I support cloud/network storage, USB drives or adding hardware to emulate a keyboard like the AlphaSmart?
Currently (1) doesn't seem to be too important. There are pros and cons either way. Staying on Intel means better availability of pre-prackaged software and the ability to use the majority of Chromebooks. Going to ARM means the ability to use Pis, Pi0's and PineBooks, and is probably a better choice for a hacker project. A cyberdeck version would be pretty sweet.
With (2) the majority of writing applications are written natively so I haven't found any self-hosted browser-based solutions for writing other than https://github.com/writeas/writefreely. However, a Firefox kiosk-based solution means a couple other benefits: I can limit internet access by whitelisting sites rather than removing or disabling networking hardware. This means that I'm not limited to self-hosted solutions and can use ones that are fully or partly cloud-based like https://www.calmlywriter.com/. This also makes it easy to add local web-based capabilities like SageMath/Falstad, or other cloud-based ones like Cocalc/Repl.it/Overleaf. Honestly, having calculator functionality is more interesting to me than just a writing tool (I'm an engineer and frankly not much of a writer).
With (3) supporting cloud/network storage is easiest from the user-interface perspective. Using USB drives means the need to give the user access into the filesystem, complicating UI. And much as I like my AlphaSmart, emulating a keyboard is a slow unreliable and pretty rubbish way of transferring data.
Create an account to leave a comment. Already have an account? Log In.
Become a member to follow this project and never miss any updates
By using our website and services, you expressly agree to the placement of our performance, functionality, and advertising cookies. Learn More