I did consider a succession of inputs. I think we can all agree that a
succession of modal inputs is irritating, and the UI would be exactly that
on most clients.
Asking the user to use a separator seemed error prone, so I didn't want to
do that either. I know it can work. makeworld's gemlikes has a prompt of:
> Enter your username, a space, and your comment
Usernames don't have spaces, and comments do, so this works great here. I'm
just not sure people are going to get "name;location;link;comment" right
consistently. I certainly wouldn't, I'd end up with "paul;;my comment"
instead of "paul;;;my comment" and get my comment in the link field.
Your UNIX command-line comment is interesting. One set of input args is
enough for UNIX, so maybe getopt style flags?
--name John --location "From Beyond" --comment "This is what I have to say"
A form still seems right for a guestbook (the real-life version is a form
after all). But there ought to be something interesting we can do with
flags on the input line. Maybe an ASCII art drawing program? With inputs
like "line --from 0,0 --to 10,10".
Paul
On Sun, Jul 19, 2020 at 5:28 AM Hannu Hartikainen <
hannu.hartikainen+gemini at gmail.com> wrote:
> Hi!
>
> On Sat, 18 Jul 2020 at 16:47, Paul Boyd <boyd.paul2 at gmail.com> wrote:
> > Anyway, I'm probably not going to write something like this again. The
> guestbook is kind of fun (Hello K?vin and Timur!), so I'll leave it up. But
> I'll stick to things that fit better in the future.
>
> I think it's really valuable to *try* all kinds of things and
> different approaches to see *what* fits well. IMHO we have only
> scratched the surface of what is possible with the Gemini protocol
> (and what makes for good UX).
>
> To summarize what has been discussed here:
> 1. Filling in multiple values is not trivial with the input response type
> 2. One way is to generate a session id on the server. (This is
> stateful, which has some downsides but avoids replay issues.)
> 3. Another way is to embed all the responses in the URL.
>
> Some ideas that haven't been mentioned:
>
> a. If you include all the fields at once, you could just ask for them
> in one request. Eg. "10 name;location;link;comment" which the user is
> smart enough to parse and respond with "Hannu;;;This is cool!". Or for
> a better UX, make the fields newline-separated (ie. %0A in the URL)
> and have multiline-capable input fields in browsers. Note: this is
> against a strict interpretation of the spec but hasn't been discussed
> AFAIK.
>
> b. Instead of having different links for different fields, you could
> ask for the fields in succession (but this only works well for the
> session id based approach). Eg. /guestbook/sign responds with "30
> /guestbook/sign/aF3d", then /guestbook/sign/aF3d responds with "10
> Name", /guestbook/sign/aF3d?Hannu with "10 Location (optional)", then
> "10 Link (optional)" and "10 Comment" in sequence, saving each query
> string to the server-side session. After the final response either
> save the comment or show the responses with a link to save.
>
> I personally think the Gemini protocol (as it currently is) can be as
> powerful as the UNIX command line (note: only CLI, not TUI). In fact,
> you could serve a remote shell over Gemini. Of course we're all
> spoiled by interactive software even in a terminal so Gemini feels
> quite limited.
>
> -Hannu
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <
https://lists.orbitalfox.eu/archives/gemini/attachments/20200719/840f7d8a/attachment.htm>