💾 Archived View for gbryant.co.uk › gemlog › 2024-05-18_gemini-reader.gmi captured on 2024-08-24 at 23:58:16. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2024-05-26)
-=-=-=-=-=-=-
What if a Gemini browser was a thing you could hold?
Something I've been thinking about recently is a hardware reader for Gemini. A dedicated device aimed at keeping up with your subscriptions. It'd be something low-power with an e-paper (or similar) display and some sort of minimal user interface for navigation. I've already been posting about this on Mastodon, but I wanted to write something a bit longer and more rambly here.
Thread on Mastodon with initial thoughts
Maybe this is a little misguided - having a mostly read-only device makes the user a passive participant in the community. I've been one for a while - have been lurking Gemini for a few years but only just created a capsule.
What I'm thinking initially is an ESP32 connected to an e-paper display. I haven't decided on an input device yet. A lot of e-paper displays come with a touch overlay but I don't like that too much, especially when navigating a page. I'd rather it was a device where you could keep the screen un-covered by fingers or styli.
One input method I'm mulling over is a jog dial or scroll wheel on the side. Scroll up and down to navigate, press it to select. My first phone, the Sony CMD-J7, had one of these and it was great for scrolling through the phone's menus and using in the different apps. One I remember was a game called Sand Art where you could build up picture by dropping different coloured sand. The jog dial moved the sand nozzle left and right, and you could press it to open or close the nozzle. The screen was monochrome so the four sand "colours" were just different greys.
Finding these jog wheels turns out to be quite hard. Two I've found are the Panasonic EVQ-WKA001 and the Mitsumi SIQ-02FVS3. Both are exactly what I need, both are long discontinued, both are available on Aliexpress. Since it's unlikely anyone else will make one of these, I'm tempted to just go for it. The alternative is to make one myself as an assembly of different parts. I think the challenge with that is to make it thin enough that this device doesn't turn out huge.
An alternative to a jog wheel would be a d-pad or a 5-way hat switch. Neither of those options get me as excited. They both offer more freedom in the UI, but d-pads are boring and a hat switch still doesn't have the same satisfying feel as scrolling a wheel.
I don't really want to put a full keyboard on this thing. That would be a major constraint for a general-purpose device. I don't think it is for this. If a Kindle can get away with no keyboard, I think I can too.
That said, I have been thinking about some keyboard options:
Now we're talking! One layout I've used in the past is Ardux (or Artsey). It's a one-handed 8-key keyboard layout with 2 keys for each finger. By chording (pressing multiple keys at once) you can type any letter you like (as well as punctuation, etc). This sort of layout would be pretty good for taking up minimal space but still allow the user to type URLs or short text. It could even be placed on the back of the device to reduce the frontal area!
Ardux layout page on Inkeys wiki
This is an area I definitely want to think about more but the basics I'd like to do are:
That list was going to be longer but honestly what more do you need? There are a few more things that would be nice to have:
There's a lot of implementation detail that's needed here, especially around how to present the browser user interface. I've used Lagrange, Amfora and Deedum so those are my points of reference, but building something in hardware gives me some extra freedom with the UI. Those are all built for a screen with typical computer hardware - touch overlay or keyboard and mouse. If this hardware is purpose-built for browsing gemini then the UI can be optimised for that. Maybe you end up with a button for every function instead of it being an on-screen option. Maybe some on-screen options are no longer needed on a dedicated device.
All of this is in flux right now. I've spent the last few years lurking on gemini and picking up the vibe, but until now I've never posted. This all might change (and as with any project, it might get dropped). But since my day job as a design engineer is quite boring (and I like it that way) this type of project is a good creative outlet.