💾 Archived View for tobykurien.com › replies › 2021-11-27-re-tui-pda.gmi captured on 2021-11-30 at 20:18:30. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2021-11-30)

➡️ Next capture (2023-01-29)

-=-=-=-=-=-=-

Re: Some More Riffing on PDAs and TUIs

Responding to this post:

gemini://gemini.cyberbot.space/gemlog/2021-11-25-pdatuiriffing.gmi

I've been following kelbot's posts around PDA usage for some time, and I can say it's right up my alley. I also really enjoy offline experiences, although I don't have a Pinephone or Palm PDA, I'm currently using my Kindle for that, but back in the day I had (and still have) one of these:

https://en.wikipedia.org/wiki/REX_6000

It's a PCMCIA card device with a (resistive) touchscreen, and a docking station, and I used to have scripts to pull news, blogs, etc. onto the device so I can read it offline. Absolutely loved it, and back in 2001 this was way ahead of it's time.

Anyway, I am so in love with the idea of a modern TUI-based PDA device that I can't stop thinking about and researching options. The Pinephone with it's keyboard in a clamshell design is pretty much my idea of perfection. For now though, I'm thinking of options for coding up apps for a fictitious TUI device that could be realized in the form of a Pinephone, a Raspberry Pi with touchscreen, an Android phone running Termux, or perhaps even the ESP32 with e-ink touchscreen as in M5Paper.

As TUIs go, I think Borland's Turbo Vision is pretty much perfection and hard to beat. It is also well documented and has a nice API. Here are some screenshots:

https://gitlab.com/klamonte/jexer/raw/master/screenshots/new_demo1.png

https://gitlab.com/klamonte/xtermwm/-/raw/master/screenshots/pager_1.png?raw=true

I looked into the various projects that can recreate that TUI, and there are plenty of them! However most of them have some limitations, e.g. aren't cross-platform, are C++ (i.e. not easy to code for), are Go (a language I don't use), don't support graphics or mouse, etc. None of them are declarative, in the sense that the UI is in a markup file separate from the code, which would have been my preference. However I did find a library that is very close to what I'm looking for, which is Jexer:

https://gitlab.com/klamonte/jexer

The "HelloWorld" example of Jexer is already very nearly a full-featured launcher for a hypothetical TUI PDA! It can already open shells and launch terminal apps in windows and tile them, etc! It can even open images. If we launched some CLI tools like calcurse, lynx, and a Gemini browser, this could be a great starting point!

Apparently the author has been working on these types of text-based interfaces for almost 20 years, but has recently given up!

https://gitlab.com/klamonte/jexer/-/issues/75

Late last year (2019) I got Jexer to feature complete. As part of that effort I spent several months looking around the "terminals" ecosystem and sharing what I have learned with other terminal emulator authors, and reached a decision to end this hobby. I did not bother tagging and releasing the 1.0.0, instead choosing to mark all of my projects archived or abandoned. I am working to find new things to do with my free time.

How unfortunate, because now might actually be a good time for a resurgence of text-based computing. Maybe we should get in touch with the author and introduce Gemini!

Anyway, I'll be trying some things out with Jexer, esp. around trying to run it on a Raspberry Pi and/or Termux in Android. If anyone else is keen to jump in, do get in touch.