Page MenuHomePhabricator

Change VE integration to only use one edit tab
Closed, DuplicatePublic0 Estimated Story Points

Description

Instead of adding a second edit tab, provide an integration that only uses one edit tab.

For logged-out users:

  • Show a single tab, labelled "Edit" regardless of which editor will be loaded.
  • Store in a cookie the user's last-used editor where they had a choice of editors (e.g. edits to Talk:/Template: don't count).
  • When a user clicks the edit tab, read the cookie and load that editor if available.
  • When a user clicks the edit tab and no cookie is set (very first time), load the wiki-specific default editor for first time (aka 'primary')
  • Let the user switch to the other editor if appropriate through a button on the toolbar.
  • If they switch, update the cookie.

For logged-in users (where we can do this):

  • Show a single tab
  • For default user options ("remember my last editor")…
    • Label the tab "Edit" if they last used VE when they had a choice, "Edit source" if they last used WT.
    • Store in a preference the user's last-used editor where they had a choice of editors (e.g. edits to Talk:/Template: don't count).
    • When a user clicks the edit tab, read the preference and load that editor if available.
    • When a user clicks the edit tab and no preference is set (very first time), load the wiki-specific default editor for first time (aka 'primary').
    • Let the user switch to the other editor if appropriate through a button on the toolbar.
    • If they switch, update the preference.
  • For users opting to "always prefer the visual editor"…
    • Label the tab "Edit" if it will load VE, "Edit source" if it will load WT.
    • When a user clicks the edit tab, load VE if available.
    • Let the user switch to the other editor if appropriate through a button on the toolbar.
    • If they switch, do not change their preferences.
  • For users opting to "always prefer the wikitext editor"…
    • Label the tab "Edit" always.
    • When a user clicks the edit tab, load WT regardless.
    • Let the user switch to the other editor if appropriate through a button on the toolbar.
    • If they switch, do not change their preferences.
  • For users opting to "always show two edit tabs"…
    • Add where appropriate a second edit tab, with current behaviour (Edit/Edit source).
    • When a user clicks an edit tab, load said label's editor.
    • Let the user switch to the other editor if appropriate through a button on the toolbar.
    • If they switch, do not change their preferences.
  • For users opting to "temporarily disable the visual editor while it is in beta"...
    • Don't change their edit tab experience at all, i.e. show one edit source tab labelled as 'edit'.

Event Timeline

Jdforrester-WMF raised the priority of this task from to High.
Jdforrester-WMF updated the task description. (Show Details)
Jdforrester-WMF edited a custom field.
Jdforrester-WMF moved this task from To Triage to TR1: Releases on the VisualEditor board.

Change 248369 had a related patch set uploaded (by Alex Monk):
[WIP] Single edit tab

https://gerrit.wikimedia.org/r/248369

Users who only use VE or wikitext would certainly love having one tab rather than two, and the fact that it only reads "Edit".

However, the change may make editing quite cumbersome for editors who use both the editors instead, as the solution (AFAIK)
*permanently keeps the "other" editor 2 clicks away in a button in the toolbar (possible discoverability issue)
*doesn't allow a pre-edit choice (control issue)
*would actually change their "favourite" editor setting even for that just one time they try the other one
*would mean there's a chance we'd show the "wrong" editor to editors who log out inadvertently, even if just for the first time (and for every "first time" they log out with a different IP, from a different device etc.)
*means having to wait twice to access the other editor, because 2 different systems need to load (and we know speed has been a major concern for users since 2013, recently confirmed in the Papercuts survey)
*would load a different editor when clicking on the same "Edit" button on namespaces where VE is disabled (possible confusion issue).

Suggestion: set up a preference to allow user to select "default"/favorite editor, and don't override it when they use the other editor.
Suggestion: set up a way to tell the system what's the user's favorite editor, and remember their preference even if they log out (so it won't be a problem if the IP address changes etc).
Workaround: a gadget that offers the 2 tabs (since the keyboard shortcuts won't work anymore with the single tab).

WordPress has a visual mode and an HTML mode, and my last mode is remembered. I'm fairly happy about it. I find it sensible that it arrives in the last mode that I used, and it doesn't bother me that the other is two clicks away rather than one, but I don't know about other Wikipedians.

I oppose a single edit button as the default setting. Whether for logged-in or anonymous users. It should only be a preference.

The reasons are found in Elitre's list in her first comment:
*https://phabricator.wikimedia.org/T114530#1748715

I use the different editors for different reasons. So it does not help me if it remembers what editor I used last. It just slows me down. Especially since I use Firefox which is the browser that takes the most time to load VE for editing. 25-30 seconds to load VE on the Barack Obama page, for example. This is common for many Firefox users. For years.

Many anonymous editors clear all cookies whenever they close their browser. So a cookie or supercookie wouldn't help them. And they (like me) may use both editors depending on the page or task.

Every increase in time wasted causes further loss in total number of edits. This causes further erosion in the number of active editors. See timeline graph:
*https://commons.wikimedia.org/wiki/File:Active_editors_on_English_Wikipedia_over_time.png

The number of active editors (5+ edits per month) has recently started going down again after a short period of stability.

See also: T95233 "Most of the VE editing toolbar buttons are unlabeled icons, which can reduce usability. Some are without tooltips, too."
The lack of tooltips for some of the VE editing toolbar icons at the top also slows people down, or discourages them altogether.

Elitre's list of problems shows me another person on the WMF staff that "gets it" concerning the importance of anything that annoys or slows down editors.

I've used Flow quite a bit and Remember last editor I used is utterly awful. It is extremely bad UX design to effectively code a call to random().

Option 1: Keep two tabs and fastload the one editor that was clicked.
Option 2: One tab defaulting to the "primary" editor (user-changable), requiring a double load when the user wishes to reach their "secondary" editor.

I've used Flow quite a bit and Remember last editor I used is utterly awful.

Indeed.

The experience in Flow isn't comparable. Flow uses VisualEditor as a fake "preview" system. The wikitext editor does not have that problem, because it has a proper preview button. Therefore, if you like one editor (or the other), then "Remember the last editor I used" is functionally equivalent to "Always prefer my favorite" (unless and until you choose to switch).

I could not find information about the future of EditFormPreloadText hook.
As I know, the Visual Editor doesn't support this hook.
And If will be always loaded the default wiki editor and then switched to Visual Editor if required, it is no problem.
Otherwise if wiki uses this hook, users who use Visual Editor will get different result.

IMO Visual Editor must support EditFormPreloadText hook or mark it as deprecated.

Whatamidoing-WMF, that's not true at all.

The fact that Flow uses Visual as a fake preview turns "Remember last editor I used" into a 50%-50% total crapshoot. However this is still an awful mode in general. If someone prefers one editor for 90% of the edits, you're still effectively coding a call to "if rand()>0.90" on every editor load. That creates a chaotic experience. Giving new users a chaotic experience is a really awful idea. I thought the a central goal was to avoid driving off new users with a confusing experience. A new user likely won't immediately understand why the edit button sometimes randomly loads the opposite editor.

Alsee, what Flow does is completely irrelevant. It is extraordinarily unlikely that people are going to ignore the quick and efficient Preview button in the regular wikitext editor, on regular Wikipedia article pages to find out how VisualEditor displays something. Flow uses VisualEditor as a fake preview, but the plain old wikitext editor does not.

In the regular wikitext editor, on a regular Wikipedia article, you will click the Preview button, and your "Remember the last editor I used" setting will remain wikitext. It will not switch to VisualEditor when you never actually used VisualEditor.

Whatamidoing, I only used Flow as a comparison because it's an existing concrete example, and I know exactly how annoying "remember last mode" is. This has nothing to do with using VE as a preview mode.

If someone uses VE 95% of the time, then 5% of the time the unwanted editor pops up on their next edit.
If someone uses Wikitext 95% of the time, then 5% of the time the unwanted editor pops up on their next edit.

You can plug in various percentages, but it's the same thing. The UI shouldn't be calling rand(). You set the default for the majority, and have an easy pref so the minority can flip it.