Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: Indicate that a person is currently typing in webclient #1529

Open
Griatch opened this issue Dec 12, 2017 · 1 comment
Open
Labels
feature-request A suggestion for new functionality. Hacktoberfest Help out in October and win prizes! https://hacktoberfest.digitalocean.com/ help wanted We specifically want more help on this one. web This issue is website or webclient related.

Comments

@Griatch
Copy link
Member

Griatch commented Dec 12, 2017

Brief summary of issue / Description of requested feature:

When a person is typing in the webclient, other accounts/characters in the webclient should get a little indicator that they are typing, even before they actually send the text. Who sees the typing-info should be possible to customize - for example one may specify that only Characters in the same room may see that the player of a given Character is currently typing. For more chat-like setups one could even have all server-wide typing be notified.

Reasons for adding feature:

This was originally suggested by user Apos here. This might be a very interesting feature for RP-heavy environments as well as chat-like implementations since it immediately gives an indication as to if poses and communication is forthcoming.

This is also an example of a feature that's not possible to make (reliably) available on telnet clients but which we can reliably implement on the webclient since we control both sides. It would be tricky (but possible) to implement with a traditional telnet client with UI expansion abilities like mudlet.

Expected result of feature

The suggested UI would be a overlay in a corner of the webclient. This would be a vertical list of <name or colored circle> typing ... or similar. You can hover over each line to get the full name of who's typing. These pop up and go away as people are actively typing or send their messages.

Extra information, such as Evennia revision/repo/branch, operating system and ideas for how to solve / implement:

This should be implemented by OOB messages.

  1. A player types in the webclient.
  2. The webclient sends the is_typing(True) OOB message to Evennia.
  3. When a player has not typed anything for a certain amount of time (10 seconds? 20?), it sends the is_typing(False) OOB message.
  4. In the is_typing inputfunc, Evennia collates these messages from all players in the game. It stores all currently typing entities and remove those who it is told are now not typing. It figures out who should see the information from each player (this should be configurable, such as those in the same room, by a lock etc). No persistent storage should be needed for this.
  5. On a fixed interval the current list of typing entities is dispersed to every eligible player using the is_typing outputfunc. This will be something like target.msg(is_typing=("Griatch", "The tall man", "Anna")).
  6. The client of each receiving player receives the is_typing OOB message from Evennia and use this information to build/update its display.

Caveats:

This would only work between webclient-using players. Interestingly, this OOB info could in principle be used to update the prompt of a telnet client too, but it's unlikely most (any?) telnet clients could be set up to send equivalent info based on the user typing or not. Worth investigating maybe.


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

@Griatch Griatch added develop-branch feature-request A suggestion for new functionality. labels Dec 12, 2017
@TehomCD
Copy link
Contributor

TehomCD commented Dec 12, 2017

This is a really neat idea! One possible setting might be to have it also be triggered only for specific commands - that is, it only sends the OOB message after you've typed in 'pose' or 'say' or 'emit' to start a message, for example, if only public messages should give the indicator.

@Griatch Griatch added the help wanted We specifically want more help on this one. label Dec 13, 2017
@Griatch Griatch added the web This issue is website or webclient related. label Oct 13, 2018
@Griatch Griatch added the Hacktoberfest Help out in October and win prizes! https://hacktoberfest.digitalocean.com/ label Oct 1, 2019
@Griatch Griatch removed the Hacktoberfest Help out in October and win prizes! https://hacktoberfest.digitalocean.com/ label Oct 31, 2019
@Griatch Griatch added the Hacktoberfest Help out in October and win prizes! https://hacktoberfest.digitalocean.com/ label Oct 1, 2020
@Griatch Griatch removed the Hacktoberfest Help out in October and win prizes! https://hacktoberfest.digitalocean.com/ label Nov 1, 2020
@Griatch Griatch added the Hacktoberfest Help out in October and win prizes! https://hacktoberfest.digitalocean.com/ label Sep 29, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-request A suggestion for new functionality. Hacktoberfest Help out in October and win prizes! https://hacktoberfest.digitalocean.com/ help wanted We specifically want more help on this one. web This issue is website or webclient related.
Projects
None yet
Development

No branches or pull requests

2 participants