notnotmax / pe

0 stars 0 forks source link

deletearchive should not require whole long filename #8

Open notnotmax opened 5 days ago

notnotmax commented 5 days ago

Description

The deletearchivecommand requires the user to input the full archive name, which can be very long and includes a lot of numbers. The user is likely to make a mistake when inputting the filename, making the command inconvenient to use.

image.png

Instead, the command could take in an index to specify the file to be deleted. Or remove the use of a long timestamp if a filename is provided.

Steps to Reproduce

Simply try using the deletearchive command to delete an archive.

Expected

N/A

Actual

N/A

soc-se-bot commented 1 day ago

Team's Response

Thanks for your bug report! We completely understand your concern.

Let me share some of the decisions made during the design process:

The current design requiring the full file name was done to ensure accurate identification of the archive file to delete, minimizing the risk of accidental deletions. While inputting the full file name may be less convenient, it was prioritized for its role in ensuring accuracy and preventing critical errors (e.g., deleting the wrong archive). Especially since deletearchive operates on the PC's file system, as mentioned in the User Guide, deleting an archive file is permanent and irreversible, hence requiring users to specify the full file name before deletion provides an additional layer of confirmation (much like how GitHub requires users to type the repo's name before deletion).

image.png

Using the index to specify the archive file to be deleted is a good suggestion to simplify the process and definitely one that we did consider. However, simply using the index increases the likelihood of unintended or accidental deletion of wrong archive files in the case of typos, which we would want to avoid since deletion is irreversible.

We also considered using the file description (excluding the timestamp) (i.e. example in the screenshot you provided) to specify the archive file to be deleted. However, we did not want to impose the restriction that the description has to be unique since it is likely users may want to name archive files with the same description (e.g. "Regular Monthly Archive"). This would also facilitate search for multiple archive files should a findarchive command be implemented in a future version of the app.

As such, we decided to use and include a timestamp in the file name to provide a unique identifier for each archive, which is critical for distinguishing between archives. Removing the timestamp or simplifying filenames could lead to confusion and unintended actions, as mentioned above.

While the current implementation works as intended, we acknowledge that usability can be further improved. Currently, for users concerned about manual input errors, features like copy-paste can mitigate the inconvenience without compromising the integrity of the command design.

Future versions of the app could also include extending the auto-completion or partial matching for archive names to reduce tediousness in entering the full file name while still avoiding the risk of manual input errors.

Given that the current implementation functions well as documented and implementation of the auto-completion requires significant additional effort, while there is room for improvement, we believe the feedback is best categorized as a usability improvement suggestion.

Items for the Tester to Verify

:question: Issue response

Team chose [response.NotInScope]

Reason for disagreement: [replace this with your explanation]