limyixiang / pe

0 stars 0 forks source link

Bad choice of button usage for auto-completion #2

Open limyixiang opened 2 weeks ago

limyixiang commented 2 weeks ago

I liked the auto-completion feature that your app provides, as it helps me to use the commands quickly without needing to refer to the user guide for command format. However, Ctrl is perhaps a bad option to use for auto-completion? This is because when trying to copy the whole command, a user would typically use Ctrl-A to select all, then Ctrl-C to copy. This results in the unwanted autocompletion of [t/TAG], which was then added to my clipboard as shown in the picture below.

image.png

Perhaps you could solve this issue by changing to another less commonly used button, or remove optional fields from autocompletion.

Steps to reproduce:

  1. Type add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01 ecname/Charlotte Lim ecphone/94681352 ecrs/daughter dname/Ronald Lee dphone/99441234 demail/ronaldlee@gmail.com into the command box.
  2. Press Ctrl-A and Ctrl-C.

Expected: add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01 ecname/Charlotte Lim ecphone/94681352 ecrs/daughter dname/Ronald Lee dphone/99441234 demail/ronaldlee@gmail.com to be copied into clipboard.

Actual: add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01 ecname/Charlotte Lim ecphone/94681352 ecrs/daughter dname/Ronald Lee dphone/99441234 demail/ronaldlee@gmail.com t/ was copied into the clipboard.

soc-pe-bot commented 1 week ago

Team's Response

We do acknowledge your concern regarding this bug while using Ctrl-C to copy the entire string.

image.png

As mentioned above, this a suboptimal design on our part because we are missing support for Ctrl operations (missing feature). Additionally, when users attempt to use the missing feature e.g. Ctrl-C , the sofwatre fails gracefully, in this case, with the extra t/ appended at the back of the string. (bulletpoint 2)

image.png As evidence to the above statement, we have tried and tested some common keys and found there isn't really any good keys to be used as Autocomplete. Naturally, tab comes to mind. However, pressing the tab key causes the cursor moves the focus to the next focusable element in the tab order, which is the expected behavior for standard web forms and user interfaces. This means the focus is no longer in the input box and users need reclick the box to type again. FN keys are not available on all keyboards, shift keys are use for caps while the rest is used for typing. Even using ctrl + tab causes the additional unintended effect of switching screens.

It will take much more effort to fix our suboptimal design, which we will be pushing to future enhancements. For now, we stuck to Ctrl for this iteration. However, if you do have a good suggestion, let us know! We are keen to hear your feedback and work on it!

Alternatively, if users still needs to use copy-paste within the app, our app has in-built feature to help with that. Simply, right click the selected text and scroll down the dropbox menu and select Select All or copy where needed.

Screenshot 2024-11-17 195142.png

Hence, we classify this bug as response.notInScope


Besides the bug response type, in terms of severity, we will be downgrading to low.

While this may appear as an issue to testers who need to perform a lot of copy-pasting within a short timeframe, we believe it does not significantly impact our intended user group.

For our intended user group, the need to copy and paste strings is very minimal. Commands like the add command often involve unique and detailed information, making each input vastly different from the previous.

E.g. Previous Command: add n/John Doe p/88882222 e/johnd@example.com a/John street, block 123, #01-01 ecname/Charlotte Lim ecphone/88882222 ecrs/daughter dname/Ronald Lee dphone/88882222 demail/ronaldlee@gmail.com New Command: add n/sam p/99991111 e/sam@example.com a/Marina Avenue ecname/David goh ecphone/99991111 ecrs/son dname/Alex dphone/99991111 demail/alex@gmail.com

Supposed even if the string is copied perfectly and used as reference for subsequent commands, users would still need to navigate to each block of string and modify them indivudally using the mouse cursor, which diminishes the time-saving benefit of copy-pasting in this context. This approach also counters the efficiency CLI users typically seek when using such features.


We realised this concern early on, and we wanted to make a faster alternative, that is why we built the Autocomplete feature precisely because your able to re-edit this information faster and not move your mouse pointer across the command line and figure out where to edit. This significantly streamlines the editing process for both short commands (e.g., list, delete) and long ones, making it faster than using Ctrl-A, Ctrl-C, and Ctrl-V.


So therefore, we still think its a flaw that causes a minor inconvenience only, as mentioned by the low severity. Even the worst case result, other than the alternative method to right-click and select copy, would be the extra /t tag appended in some cases only. Of course, we do admit we should have used another key instead, thereby completely eliminating this small issue. Hence, altogether, we do acknowledge this bug as low and "response.notinresponse" and are considering patching this in our future enhancements.


Items for the Tester to Verify

:question: Issue response

Team chose [response.NotInScope]

Reason for disagreement: I agree with you that the severity should not have been medium, because this feature flaw indeed does not affect your user group in most scenarios.

However, I do not agree that the feature flaw is not in scope, mainly because your user group consists of people who are comfortable typing. They probably use a lot of keyboard shortcuts in their lives, especially the common ones like Ctrl-C, Ctrl-V, Ctrl-Z, Ctrl-X, etc. This feature flaw might lead to unintended confusion amongst the users when the keyboard shortcuts do not work as expected.


## :question: Issue severity Team chose [`severity.Low`] Originally [`severity.Medium`] - [ ] I disagree **Reason for disagreement:** [replace this with your explanation]