To enhance the user experience of 'Say, Pi', we propose implementing a "Dynamic Submission Delay" feature. This feature aims to dynamically adjust the delay before automatic prompt submission, making conversations more fluid and responsive.
Background
The current implementation of 'Say, Pi' employs a sophisticated submission delay function that is not a mere fixed delay but rather a dynamic calculation based on multiple parameters. The function calculateDelay in the TimerModule takes into account the time when the user stopped speaking, the probability of the user having finished speaking (probabilityFinished), the tempo of the user's speech, and a maximum delay threshold. This mechanism allows for some level of dynamic response, adapting to the user's speech tempo and the likelihood that they have finished speaking.
However, this current method still adheres to a maximum delay limit (maxDelay) and does not account for situations where the user might resume speaking after the transmission time but before Pi's response. The proposed enhancement seeks to introduce an additional floating parameter or variable weight into this function. This new parameter would dynamically adjust based on real-time user interaction, particularly focusing on instances where the user resumes speaking post-transmission. The goal is to refine the responsiveness of 'Say, Pi', making the conversation flow more naturally and in closer alignment with the user's conversational rhythm.
By integrating this enhancement, we aim to move beyond the constraints of the existing parameters and introduce a more adaptive and user-centric approach to managing the submission delay, enhancing the overall conversational experience for 'Say, Pi' users.
Proposed Enhancement
The "Dynamic Submission Delay" feature will involve tracking and analysing three key durations:
Transcription Duration: Time taken for speech-to-text transcription, including API processing and network latency.
Listening Delay: Time between receiving the transcription and submitting the prompt to Pi. This delay will be dynamically adjusted based on user interactions.
User Interaction Analysis: The system will observe if the user resumes speaking after the transmission time but before Pi's response. If this occurs, it indicates that the current listening delay might be too long, necessitating an increase in the delay with a strong effect. Conversely, if the user does not resume speaking, the listening delay will be reduced, albeit with a weaker effect.
Goals
Reduce Perceived Latency: By adjusting the listening delay dynamically, the goal is to make conversations feel more natural and seamless.
Enhance User Experience: Tailoring the delay to individual user interaction patterns aims to provide a more personalised and efficient experience.
Implementation Considerations
Dynamic Adjustment Algorithm: Develop an algorithm to adjust the listening delay based on user interaction patterns.
Testing and Iteration: Implement the feature with initial parameters and continuously test and iterate based on user feedback and system performance.
Monitoring and Analytics: Establish a monitoring system to track the performance of this feature and gather data for further improvements.
Out of Scope
Response duration, as the chatbot is provided externally, is not within the scope of this enhancement.
User settings for delay preferences will not be considered, as the goal is to automate the delay adjustment for a natural conversational experience.
To enhance the user experience of 'Say, Pi', we propose implementing a "Dynamic Submission Delay" feature. This feature aims to dynamically adjust the delay before automatic prompt submission, making conversations more fluid and responsive.
Background
The current implementation of 'Say, Pi' employs a sophisticated submission delay function that is not a mere fixed delay but rather a dynamic calculation based on multiple parameters. The function
calculateDelay
in the TimerModule takes into account the time when the user stopped speaking, the probability of the user having finished speaking (probabilityFinished
), the tempo of the user's speech, and a maximum delay threshold. This mechanism allows for some level of dynamic response, adapting to the user's speech tempo and the likelihood that they have finished speaking.However, this current method still adheres to a maximum delay limit (
maxDelay
) and does not account for situations where the user might resume speaking after the transmission time but before Pi's response. The proposed enhancement seeks to introduce an additional floating parameter or variable weight into this function. This new parameter would dynamically adjust based on real-time user interaction, particularly focusing on instances where the user resumes speaking post-transmission. The goal is to refine the responsiveness of 'Say, Pi', making the conversation flow more naturally and in closer alignment with the user's conversational rhythm.By integrating this enhancement, we aim to move beyond the constraints of the existing parameters and introduce a more adaptive and user-centric approach to managing the submission delay, enhancing the overall conversational experience for 'Say, Pi' users.
Proposed Enhancement
The "Dynamic Submission Delay" feature will involve tracking and analysing three key durations:
Goals
Implementation Considerations
Out of Scope