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

Improve Chat Input Pane Actions. Move to 1 Click Audio Chat on Mobile #624

Merged
merged 11 commits into from
Jan 20, 2024

Conversation

debanjum
Copy link
Member

@debanjum debanjum commented Jan 20, 2024

Major

Move to single click audio chat UX on Obsidian, Desktop, Web clients

New default UX has 1 long-press on mobile, 2-click on desktop to send transcribed audio message

  • New Audio Chat Flow
    1. Record audio while microphone button pressed
    2. Show auto-send 3s countdown timer UI for audio chat message
      Provide a visual cue around send button for how long before audio
      message is automatically sent to Khoj for response
    3. Auto-send msg in 3s unless stop send message button clicked
  • Why
    • Removes the previous default of 3 clicks required to send audio message
      The record > stop > send process to send audio messages was unclear and effortful
    • Still allows stopping message from being sent, to make correction to transcribed audio
    • Removes inadvertent long audio transcriptions if forget to press stop while recording
  • Refer: f0daa45, 29a581d, 699e9ff

Improve chat input pane actions & icons on Obsidian. Desktop, Web clients

  • Use SVG icons in chat footer on web, desktop app
  • Move delete icon to left of chat input. This makes it harder to inadvertently click it
  • Add send button to chat input pane
  • Color chat message send button to make it primary CTA
  • Make chat footer shorter. Use no or round border on action buttons
  • Refer: d455211, c0ad64d, ea85ebd

Minor

  • 26bd353 Stop rendering empty starter questions element when no questions present
  • 7c8c475 Add round border, hover color to starter questions in web, desktop apps
  • 8a488b9 Fix auto resizing chat input box when transcribed text added
  • 07ca137 Convert chat input into a text area in the Obsidian client

Demos & Screenshots

Old Chat Input Pane New Chat Input Pane
Old_Chat_Input_Pane New_Chat_Input_Pane

New Audio Message UX Demo

NewAudioChatUXFlow.mov

Old Audio Message UX Demo

Old_Audio_Chat_Flow.mov

- Use SVG icons in chat footer on web
- Move delete icon to left of chat input. This makes it harder to
  inadvertently click
- Add send button to chat footer. Enter being the only way to send
  messages is not intuitive, outside standard modern UI patterns
- Color chat message send button to make it primary CTA on web client
- Make chat footer shorter. Use no or round border on action buttons
- Use SVG icons in chat footer on web
- Move delete icon to left of chat input. This makes it harder to
  inadvertently click
- Add send button to chat footer. Enter being the only way to send
  messages is not intuitive, outside standard modern UI patterns
- Color chat message send button to make it primary CTA on web client
- Make chat footer shorter. Use no or round border on action buttons
- Move delete icon to left of chat input. This makes it harder to
  inadvertently click
- Add send button to chat footer. Enter being the only way to send
  messages is not intuitive, outside standard modern UI patterns
- Color chat message send button to make it primary CTA on web client
- Make chat footer shorter. Use no or round border on action buttons
This allows for better readability of multi-line messages by users.
The chat input is a text area in the other clients as well.
- Capabillity
  New default UX has 1 long-press to send transcribed audio message

  - Removes the previous default of 3 clicks required to send audio message
    - The record > stop > send process to send audio messages was unclear
  - Still allows stopping message from being sent, if users want to make
    correction to transcribed audio
  - Removes inadvertent long audio transcriptions if user forgets to
    press stop when recording

- Changes
  - Record audio while microphone button pressed
  - Show auto-send 3s countdown timer UI for audio chat message
    Provide a visual cue around send button for how long before audio
    message is automatically sent to Khoj for response
  - Auto-send msg in 3s unless stop send message button clicked
- Capabillity
  New default UX has 1 long-press to send transcribed audio message

  - Removes the previous default of 3 clicks required to send audio message
    - The record > stop > send process to send audio messages was unclear
  - Still allows stopping message from being sent, if users want to make
    correction to transcribed audio
  - Removes inadvertent long audio transcriptions if user forgets to
    press stop when recording

- Changes
  - Record audio while microphone button pressed
  - Show auto-send 3s countdown timer UI for audio chat message
    Provide a visual cue around send button for how long before audio
    message is automatically sent to Khoj for response
  - Auto-send msg in 3s unless stop send message button clicked
- Capabillity
  New default UX has 1 long-press to send transcribed audio message

  - Removes the previous default of 3 clicks required to send audio message
    - The record > stop > send process to send audio messages was unclear
  - Still allows stopping message from being sent, if users want to make
    correction to transcribed audio
  - Removes inadvertent long audio transcriptions if user forgets to
    press stop when recording

- Changes
  - Record audio while microphone button pressed
  - Show auto-send 3s countdown timer UI for audio chat message
    Provide a visual cue around send button for how long before audio
    message is automatically sent to Khoj for response
  - Auto-send msg in 3s unless stop send message button clicked
@debanjum debanjum added upgrade New feature or request plugin Improvements or additions to content or UI integrations labels Jan 20, 2024
Copy link
Collaborator

@sabaimran sabaimran left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is such a massive improvement in the UI/UX 🌸😭☀️

stopSendButtonImg.style.display = 'initial';

// Start the countdown timer UI
document.getElementById('countdown-circle').style.animation = "countdown 3s linear 1 forwards";
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would be neat if the desktop app worked in the model of:

  1. Click record button
  2. Speak
  3. Click stop

And from there, auto send the recording. IMO holding down the record button isn't a common desktop-based design pattern.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great point! I've updated the UX to use 2-click to send audio message on Desktop (more specifically on devices with pointer devices like mouse)

@debanjum debanjum changed the title Improve Chat Input Pane Icons & Actions. Move to 1-Click Audio Chat UX Improve Chat Input Pane Actions. Move to 1 Click Audio Chat on Mobile Jan 20, 2024
@debanjum debanjum merged commit 679f0f2 into master Jan 20, 2024
9 checks passed
@debanjum debanjum deleted the improve-chat-input-pane-icons-and-actions branch January 20, 2024 16:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
plugin Improvements or additions to content or UI integrations upgrade New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants