The downside of amazing tab completion

I’m at work, with Google Chat open, and I type the first three letters of a coworker’s name and hit tab, and nothing happens. It’s infuriating, every time. (And, believe me, it’s started to happen at least a couple times a day.)

Eagerly awaiting Mucklet: Enterprise Edition.

4 Likes

Muscle memory woes~

It feels pretty scary when I tab complete and people have the same name I need to pay more attention to not message the wrong person!

1 Like

I tried to summon Mirrdae several times now when I autocompleted over ‘Mir’. I feel so bad for not being more careful.

1 Like

I actually find myself grumbling quietly to myself when I’m in FurryMuck, start typing a name, and tab completion doesn’t work. :smiley:

1 Like

:sweat_smile: Yeah, Tab completion is nice.

But I also wonder how we can make it better.
With both TAsho and TAlonstrike around, I wonder how I can get it to complete to the one I am currently messaging with.

For character names, maybe we should have it remember previously tab selected characters, and prioritize them accordingly; most recently selected has priority, with fallback on alphabetical order.

Or will it confuse?

1 Like

I could also see tab completion for character names prioritizing people in my watch list. After all, by putting them there, I’ve said I’m more interested in them, so it’s probably more likely that they’re the ones I want to address.

That still doesn’t help when I’ve got multiple matches I’m watching for, of course! I am … mmh, conflicted about the idea of it adjusting to who it thinks I’m talking to based on recent activity. It makes me think about the ‘#r’ to reply to pages on mucks, which is very handy but also responsible for a great many messages gone astray.

2 Likes

How about some sort of “suggestion” tooltip like you get in apps like Discord? Show a list of potential people who matches your typing and you can select one before proceeding. Its a pretty common pattern that a lot of people are used to, can maybe be extended later to select what kind of interaction you want (say, pose, ooc)

Overall I think this is a lot of work to implement but I feel it makes sense!

Do you have any idea how hard it is using tinyfugue now?

If this sort of context-aware completion were possible, it would be very cool. That said, I’d also be more than okay with stopping completion partway along when something ambiguous were typed, the way bash and zsh do. For example, with Tasho and Talonstrike in the room, typing T would fill in “Ta” and stop there, with some sort of cue (audio or visual) that urged more typing to resolve the ambiguity (s or l would finish their names at that point).

1 Like

That would be perfect. n_n Client-side priority (maybe utilizing the log?) for recently-messaged characters would allow for privacy and content-aware comfort.

Lek is right… Just this morning I went to message Siera and tab-complete filled in Sierra. My brain, still booting after waking up, didn’t notice the extra R. headdesk

And I totally just sent my improv poetry to Sierra as well – gladly it wasn’t that bad.

1 Like

Multiple ways to do that. One of the more popular context aware autocompletion algorithms does 3 things.

  1. Frequency weighting. The more often you reference a word (or character in this regard) in all your entered text, the higher in the tab completion stack it resides.
  2. Most recent use. With two matching hits, it’ll default to the one you used last as first in stack.
  3. Recently seen. In an autocomplete with multiple matches, the most recent arrived text gets put first on the stack.

This generally relies on the input window handling multiple uses of the tab key though, so you can progress through the multiple matches. An implementation might be leaving the tab completed text highlighted, showing it can be further manipulated with an additional tab key press; any other key removes the highlight and goes back to normal input mode.

Something that might be significantly easier to technically implement than trying to write a context sensitive implementation of tab-completion could be tab-cycling. So you write TA, hit tab, it suggests TAsho, but you disagree and hit tab again whereupon it cycles to TAlonstrike.

Sorry if this comment is redundant or wrong, I don’t have the time to properly look at the system right now, and check if that comment applies at all. I use cycling like this all the time in like terminal interfaces, and it works nicely. I know you implemented this in instances where you can cycle through colours for “focus” for example.