-- Leo's gemini proxy

-- Connecting to soviet.circumlunar.space:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini; lang=en

The SiDeck 2020: A PICO-8/TIC-80 Style Fantasy Cyberdeck


This is a proposal for a fantasy cyberdeck in in the style of the fantasy 8-bit game consoles that have become popular lately. Like a lot of people messing with Gemini recently, I've grown to like the design decisions behind it:


Presentation/formatting is determined only by the client

Very simple and readable .gmi format. I actually like it better than Markdown which uses the []() syntax for hyperlinks that no one seems to be able to remember

Renders well in a terminal window. That ship sailed for HTML years ago

The combination of nostalia and retro-hacker aesthetics


Somehow I've gotten the craving for something more interactive, but keeping the same minimal flair. I'm thinking something along the lines of a more flexible TIC-80 but with 2000s era graphics and networking support, or maybe a more restrictive processing.org. I call it the SiDeck 2020 and I imagine it as a mashup of fantasy cyberdeck + 90s WinCE palmtop + late 2000s Nokia E90 proto-smartphone, and looks a lot like an HP Jornada 720, AlphaSmart Dana, or Nokia E90:


Picture of the HP Jornada 720

More about the AlphaSmart Dana

Picture of the Nokia E90


The Lua program can communicate with the server over HTTPS so it's like a a Java applet running in its own window (or even a modern webapp), but if someone came up with the idea in the early 90s. I'm not an 8-bit fan, so I'd avoid the overly restrictive graphics modes of the PICO-8/TIC-80 and go with 640x240/24-bit color pixel-indexed display mode. I'd originally thought about supporting 160x25 character-mode graphics. However, I'm leaning for more of a PalmOS vibe so I'm nixing that and going with a Lua debug console instead. There is the open questions of whether do support a stock widget set or to leave it to the application developer. I'd also originally thought to run programs directly from a URL, but I think downloading to a launcher makes more sense.


My hypothetical virtual machine would support keyboard and stylus input, so it can make use of click and drag events, but programs wouldn't have access to the mouse cursor otherwise. Most keyboard keys would be accessible, but with F9-F12 reserved for the client to use, eg:


F9: access the launcher screen

Shift + F9: halt the running program

F10: access the client menu

Shift + F10: access the system menu

F11: toggle fullscreen/windowed mode

F12: toggle the console



-- Response ended

-- Page fetched on Fri Mar 29 11:13:03 2024