Composing tools

2021-02-17

We live in a world of web apps. The www is designed for the server-client ecosystem to provide a rich experience, with a clear aim of replacing the desktop.

Gemini is not like that. For one, it does not an intutive way of designing form entry. It entains that it is at best cumbersome to want to edit content from a gemini browser. It is just designed to work against that.

A side effect of this crude design is the focus on using other apps, dedicated to complement the Gemini stack: a ssh client; a text editor; a file transfer client... And since Gemini servers can server an file type, a client also needs to talk to other programs that might handle those unsupported file types such as images or videos.

Gemini is not designed for large downloads (capped at 1MB) and it also prevents large uploads (url parameters blocked to 1K). Cooperating clients and servers could go around that, but would it make sense?

The result of those limitations is that Gemini puts the focus on the unix philosophy: compose tools talored for a single use. This may not have been intended at the start, but it is a real consequence of the protocol design.

So maybe it is time to rethink the web as a compositional toolbox.