vndly / theonelinechat

The One Line Chat
MIT License
1 stars 0 forks source link

onelinechat [1lc] v.1 UX #2

Open zebramachine opened 2 months ago

zebramachine commented 2 months ago

Note: this issue is to be broken down into several smaller ones, and it will be done so.

Key principles

v.1 user flow: create a chat

  1. Uer lands on the homepage: 1lc displays a message with the available commands: (1) press enter to create a new room (2) type room name and press enter to enter the room.
  2. User presses enter:
    • 1lc creates a new room with a unique ID made of several readable words (e.g. flying-cryogenic-mustard)
    • 1lc copies the room name to the user's clipboard automatically and displays a message accordingly (e.g. room ID copied to clipboard)
  3. User can easily switch to a messaging solution to paste the ID and share it with someone else
  4. As long as the creator user is alone, they can modify the room settings. As soon as someone else joins, parameter change is disabled.

v.1 user flow: join a chat

  1. Joiner receives the keywords combination of the room ID provided by the room creator (e.g. by text message)
  2. Joiner can join by:
    • Navigating to rootURL/romm-id-combination
    • navigating to rootURL, then typing the root ID and pressing enter
  3. Once joiner has joined the room, settings cannot be edited (disabled) and chat can start

Default settings

Settings customisation

During room setting customisation, user should be able to:

mauriciotogneri commented 2 months ago

@zebramachine Some questions:

User should be able to launch and share a chat room with least amount of interactions Why?

Once in a room, creator should be able to customise the chat with various options or constraints Shouldn't the user be able to configure all that before joining the room?

Features should serve solely the chat, no analytics, no fancy gimmicks or side options (TBD) Not sure what you mean here

Why disabling the settings when someone joins?

zebramachine commented 2 months ago

My answers Lord VNDLY:

  1. The app should feel fast and efficient. As I user, I want to be able to start a new chat (room) almost instantaneously, with the minimum interactions
  2. See above, same reason. I should be able to start chatting without adding one step or configuration if I don't want to
  3. Me neither. It's just a reminder to keep things super slick and straightforward, focus on the UX and the "real life" conversation. But maybe in a v.2 we could have mods or forks that allow for some game-oriented chat, like without fobidden words or such...
  4. Two reasons: (1) simplicity of implementation: you don't need to identify which user is the owner of the room, who has the right to change the settings or manage concurrent setting AND, since you should be able to do everything with the keyboard it also prevents conflicts with /commands or such (2) striaghforwardness and simplicity of use: you create a room. If you want you can set it up. Once your joiner(s) joined, it's on. That's it.
mauriciotogneri commented 2 months ago

@zebramachine

  1. Can we let the user if they want to configure it before or jump right to the room with the default configuration? #freedom
  2. Same reason
  3. Pity because I documented some cool features here #1
  4. That will limit my ability to buy a Lambo. To be discussed.