Bug 155561 - Notification/warning when the overwrite mode is enabled for the first time
Summary: Notification/warning when the overwrite mode is enabled for the first time
Status: VERIFIED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
7.5.3.2 release
Hardware: All All
: medium enhancement
Assignee: Heiko Tietze
URL:
Whiteboard: target:24.2.0
Keywords: difficultyMedium, easyHack, skillCpp
Depends on:
Blocks: Statusbar
  Show dependency treegraph
 
Reported: 2023-05-30 17:44 UTC by Tex2002ans
Modified: 2024-02-03 11:11 UTC (History)
7 users (show)

See Also:
Crash report or crash signature:


Attachments
screenshot (82.64 KB, image/png)
2023-09-28 17:14 UTC, BogdanB
Details
screenshot2 (320.36 KB, image/png)
2023-09-28 17:19 UTC, BogdanB
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Tex2002ans 2023-05-30 17:44:43 UTC
Description:
Pressing the 'Insert' key turns on Overwrite mode.

Most users turn this on by accident, begin deleting/overwriting their text, then have no idea how to turn it off.

This leads to many user questions/complaints on forums + social media, looking for a solution.

For some examples:

- https://www.reddit.com/r/libreoffice/comments/x2smwp/librewriter_when_working_on_previous_saved/
- https://ask.libreoffice.org/t/overtype-mode-how-turn-it-off/62168
- https://ask.libreoffice.org/t/how-to-cancel-overwrite/35049
- https://ask.libreoffice.org/t/how-do-i-turn-off-overwrite-in-libre-write/39306
- https://ask.libreoffice.org/t/when-typing-it-overwrites-existing-text-will-not-insert/58143

SOLUTION

I think it would be a good idea to add an option to:

- Disable 'Insert' button + "Overwrite Mode" completely.

Might even be a good idea to have the options:

- ON by default.

- - -

COMPETITORS

In Microsoft Word, there is a 2 checkboxes to:

- Use the Insert key to control overtype mode
- Use overtype mode

These can be found in:

- File > Options
- Advanced

See their Help article:

- "Type over text in Word for Windows"
- https://support.microsoft.com/en-us/office/type-over-text-in-word-for-windows-62c15c48-0936-4902-affe-4cadd71b7038

Their mode is called "Overtype" (Word) vs. "Overwrite" (LibreOffice).

- - -

CURRENTLY

I'm betting:

- 99%+ of users clicking into this mode stumble upon it by complete accident.
- <1% of users may even know what this mode is AND deliberately want it on.

Disabling by default would instead flip it, so:

- 99% of users will never come across this issue.
- <1% who know what it is, can now go into the Options and ENABLE it.

I think this would drastically cut down on user support + forum/social media complaints.

Steps to Reproduce:
1. Press the 'Insert' key.

Actual Results:
"Overwrite Mode" turns on/off.

Expected Results:
Nothing changes. LibreOffice stays in default "Insert" mode.


Reproducible: Always


User Profile Reset: No

Additional Info:
Back in 2019, there was this blog post as well:

- https://design.blog.documentfoundation.org/2019/01/31/overwrite-on-macos/

so a few more other shortcuts may need to be handled/disabled in other OSes.

- - -

Personally, I'd be on the side of:

- Insert Mode ON by default.
- Overwrite Mode DISABLED by default.
--- Those who want to turn it on can go out of their way to enable.
Comment 1 Dieter 2023-06-11 10:04:57 UTC
Thank you for the idea. Request is clear, so let's ask design-team.
Comment 2 Heiko Tietze 2023-06-12 08:35:57 UTC
Standard computer behaviour to me. And nicely shown in the statusbar (click to toggle), see bug 107918. => NAB/WF
Comment 3 Eyal Rozenberg 2023-06-16 20:45:43 UTC
tl;dr: No option, but make the (first?) turning on of Overwrite mode _more_ visible than it is now, i.e. attract attention to it.



(In reply to Tex2002ans from comment #0)
> ... users turn this on by accident,...
> then have no idea how to turn it off.
> 
> This leads to many user questions/complaints on forums + social media ...

I agree that this switching to Overwrite mode by accident is a problem, at least for users who are not aware that it exists. An experienced user would think:

(Heiko Tietze in comment #2)
> Standard computer behaviour to me. 

and that's true, but - a lot of people don't know what's 'standard'.

On the other hand, this:

>
> I'm betting:
> 
> - 99%+ of users clicking into this mode stumble upon it by complete accident.
> - <1% of users may even know what this mode is AND deliberately want it on.

is most probably wrong. You're just hearing the users that turned it on by accident. All the rest never complain about it.


Now, as for the _solution_ - disabling Overwrite mode by default is inappropriate IMHO. It is definitely something we want users to experience by default; it isn't a niche advanced feature. And if we introduced such an option, but Overwrite is enabled by default - people are even less likely to notice this option than they are to notice they've entered Overwrite mode... 

Instead, Heiko hinted at a solution:

(Heiko Tietze in comment #2)
> nicely shown in the statusbar (click to toggle)

So, it's nicely shown if you are aware that it's there or know to look for it. If you've never heard of Insert Mode / Overwrite Mode - you'll probably miss it. Hence my suggest: The first time a user switches mode, draw their attention to that part of the status bar, e.g. using:

* a background-color-flash
* a tooltip / tooltip-like window which tells the user what they just did, and includes a link to an explanation
* Another dynamic effect like a zooming-in-frame, or bold-flashing the mode name etc.
Comment 4 Heiko Tietze 2023-06-22 09:21:45 UTC
We discussed the topic in the design meeting.

While switching between insert/overwrite is standard behavior not every casual user is aware of the classic workflow, in particular on macOS. Microsoft blocked overwrite completely by adding an option with the default off. 

However, as LibreOffice users are typically more tech-affine we suggest not to follow this example but add a confirmation dialog that is shown the first time overwrite is activated (except per statusbar). It would tell the user "By pressing the insert button you switch between the insert and the overwrite mode indicated by a block caret. An active overwrite mode is also shown in the statusbar. Do you want to enable it now? [Yes/No] /p (This dialog will not show up again.)", ideally with an image similar to the tip-of-the-day. The dialog must not close on accidental key press so the initial focus needs to be apart the buttons.

Tentative code pointer https://opengrok.libreoffice.org/xref/core/vcl/source/control/edit.cxx?r=5c156156#1685
Comment 5 Eyal Rozenberg 2023-06-22 20:33:26 UTC
A few nitpicks:

1. The dialog should not be a warning - as we don't want to deter the user from pressing insert.

2. We had considered a tooltip, but concluded that would like be insufficient for properly informing the user who is not aware of what the INSERT key is supposed to do.

3. "not every casual user is aware of the classic workflow"

   3.1 The issue is not casual vs regular users; it's novice vs veteran users of text editing software.
   3.2 Unfortunately, a large number, and perhaps most, novice users today are not aware of "classical" workflows utilizing keyboard keys such as INSERT.

4. "LibreOffice users are typically more tech-affine" 

   I'm not sure that is correct; remember we have 200 Million users or so...  but even if it is, we should assume that it isn't, and design as though Writer is the document authoring app used by everyone.
Comment 6 Commit Notification 2023-09-27 15:05:19 UTC
Heiko Tietze committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/a52bc9b5d6f86b6919931db21d83834d6c14e955

Resolves tdf#155561 - Notification for the overwrite mode

It will be available in 24.2.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 7 Heiko Tietze 2023-09-27 15:08:14 UTC
The patch shows a dialog when overwrite becomes enabled with the option to not show again. It toggles the flag QuerySetInsMode, which can be reactivated (or disabled in advance) via expert options. The dialog has a themable image at res/queryinsmode.png currently duplicating the tipoftheday from Colibre.
Comment 8 BogdanB 2023-09-28 17:14:00 UTC
Created attachment 189869 [details]
screenshot

Thanks, Heiko, a nice improvement to not lose data.

But, just an observation:
If I have this windows from the screenshot, the checkbox says: "Don't show again". So, if this is checked, I don't want to see this message again. But, in fact, if this is checked, I will always see this window. It's the message reversed, or the code for showing?

Version: 24.2.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: bbe4d3498c2f994342b4d213f0ae874e7b0b7775
CPU threads: 16; OS: Linux 6.2; UI render: default; VCL: gtk3
Locale: ro-RO (ro_RO.UTF-8); UI: en-US
Calc: threaded
Comment 9 BogdanB 2023-09-28 17:19:27 UTC
Created attachment 189870 [details]
screenshot2

Also, I can not see the option in Tools - Options - General. See screenshot.
Comment 10 Heiko Tietze 2023-09-29 08:25:19 UTC
(In reply to BogdanB from comment #8)
> ...the checkbox says: "Don't show again".
Oups, follow-up patch inc.

(In reply to BogdanB from comment #9)
> Also, I can not see the option in Tools - Options - General. See screenshot.
Enabling the overwrite mode is a manual and in most cases intentional action and needs no warning. We cover the corner cases, and once you know that overwriting becomes enabled by clicking on the statusbar, for instance, you don't need this dialog again. Therefore it's an expert option only to re-enable.
Comment 11 Commit Notification 2023-09-29 11:19:50 UTC
Heiko Tietze committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/5a9c035486a1b2d0796656e33a659718d0b21c09

Related tdf#155561 - Query logic inverted

It will be available in 24.2.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 12 BogdanB 2023-09-30 20:01:06 UTC
Heiko, I have now the latest version, it's ok you change with Do not show.
BUT, in case I disable this window, I can NOT enable anymore. Please test.

Version: 24.2.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 1cf500366e8de4c1c89c1f9235629d2efeaa89af
CPU threads: 16; OS: Linux 6.2; UI render: default; VCL: gtk3
Locale: ro-RO (ro_RO.UTF-8); UI: en-US
Calc: threaded
Comment 13 Heiko Tietze 2023-10-02 08:19:00 UTC
(In reply to BogdanB from comment #12)
> BUT, in case I disable this window, I can NOT enable anymore. Please test.
Intentionally, as explained in c10. We do not clutter the UI with an extra control- you have to toggle the variable to true in the registry aka expert options.
Comment 14 BogdanB 2023-10-02 18:35:07 UTC
> 
> (In reply to BogdanB from comment #9)
> it's an expert option only to re-enable.
Thanks, Heiko.

I want to mention here the name of the property, and all the way this property can be searched and changed: Tools - Options - Open Expert Configuration - and here search for QuerySetInsMode, and change the value to true or false, as you need.