Page MenuHomePhabricator

Remove preference "Show talk page message indicator in my toolbar" (echo-show-alert)
Closed, ResolvedPublic

Description

In a bright (distant?) future, we'll be able to remove the preference "Show talk page message indicator in my toolbar" (echo-show-alert) which currently occupies a section of [[Special:Preferences#mw-prefsection-echo]]. (Context: the "New message indicator" is (currently) a smallish orange bar in the [[mw:personal tools]], which replaced the [[m:OBOD]] aka [[m:New messages notification]].)

EJGSQDR.png (141×439 px, 9 KB)
XpiQwnw.png (30×307 px, 3 KB)

This may require some change to the indicator in question so that it's perfect enough, or something else, I don't know; but eventually it will need/be able to to be removed.

Current stats show that only a minuscule fraction of users use this preference. Of course numbers are skewed by deployment history (cf. [[mw:Echo/Release_Plan_2013#Completed]]), existence of local gadgets to replace the indicator etc.: in particular, on en.wiki they are completely meaningless given the number of back and forths on the feature with removals, changes, local hacks, user scripts, gadgets etc. However, the order of magnitude gives an idea.

Meta:

mysql> /* SLOW_OK */
    -> SELECT
    ->   up_property,
    ->   COUNT(*)
    -> FROM user_properties_anonym
    -> WHERE up_property = 'echo-show-alert'
    -> AND up_value = 0
    -> GROUP BY up_property;
+-----------------+----------+
| up_property     | COUNT(*) |
+-----------------+----------+
| echo-show-alert |       10 |
+-----------------+----------+
1 row in set (0.14 sec)

fr.wiki: 32
hu.wiki: 5
pl.wiki: 17
pt.wiki: 14
sv.wiki: 6

es.wiki: 25
ja.wiki: 45
nl.wiki: 10
zh.wiki: 21
en.wikt: 2
Commons: 14

Version: master
Severity: enhancement

Event Timeline

bzimport raised the priority of this task from to Needs Triage.Nov 22 2014, 2:25 AM
bzimport added a project: Notifications.
bzimport set Reference to bz56845.
bzimport added a subscriber: Unknown Object (MLST).

The WMF core features team tracks this bug on Mingle card https://mingle.corp.wikimedia.org/projects/flow/cards/488, but people from the community are welcome to contribute here and in Gerrit.

Change 223213 had a related patch set uploaded (by Legoktm):
Remove $wgEchoNewMsgAlert and 'echo-show-alert' preference

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

Updated usage statistics:

1legoktm@terbium:~$ foreachwikiindblist /srv/mediawiki/large.dblist sql.php /home/legoktm/echo-alert.sql --slave=any
2-----------------------------------------------------------------
3arwiki
4-----------------------------------------------------------------
5arwiki: stdClass Object
6arwiki: (
7arwiki: [count(*)] => 59
8arwiki: )
9-----------------------------------------------------------------
10cawiki
11-----------------------------------------------------------------
12cawiki: stdClass Object
13cawiki: (
14cawiki: [count(*)] => 7
15cawiki: )
16-----------------------------------------------------------------
17cebwiki
18-----------------------------------------------------------------
19cebwiki: stdClass Object
20cebwiki: (
21cebwiki: [count(*)] => 1
22cebwiki: )
23-----------------------------------------------------------------
24commonswiki
25-----------------------------------------------------------------
26commonswiki: stdClass Object
27commonswiki: (
28commonswiki: [count(*)] => 191
29commonswiki: )
30-----------------------------------------------------------------
31dewiki
32-----------------------------------------------------------------
33dewiki: stdClass Object
34dewiki: (
35dewiki: [count(*)] => 350
36dewiki: )
37-----------------------------------------------------------------
38enwiki
39-----------------------------------------------------------------
40enwiki: stdClass Object
41enwiki: (
42enwiki: [count(*)] => 3646
43enwiki: )
44-----------------------------------------------------------------
45enwikinews
46-----------------------------------------------------------------
47enwikinews: stdClass Object
48enwikinews: (
49enwikinews: [count(*)] => 10
50enwikinews: )
51-----------------------------------------------------------------
52enwikisource
53-----------------------------------------------------------------
54enwikisource: stdClass Object
55enwikisource: (
56enwikisource: [count(*)] => 13
57enwikisource: )
58-----------------------------------------------------------------
59enwiktionary
60-----------------------------------------------------------------
61enwiktionary: stdClass Object
62enwiktionary: (
63enwiktionary: [count(*)] => 30
64enwiktionary: )
65-----------------------------------------------------------------
66eswiki
67-----------------------------------------------------------------
68eswiki: stdClass Object
69eswiki: (
70eswiki: [count(*)] => 168
71eswiki: )
72-----------------------------------------------------------------
73fawiki
74-----------------------------------------------------------------
75fawiki: stdClass Object
76fawiki: (
77fawiki: [count(*)] => 27
78fawiki: )
79-----------------------------------------------------------------
80frwiki
81-----------------------------------------------------------------
82frwiki: stdClass Object
83frwiki: (
84frwiki: [count(*)] => 132
85frwiki: )
86-----------------------------------------------------------------
87frwikisource
88-----------------------------------------------------------------
89frwikisource: stdClass Object
90frwikisource: (
91frwikisource: [count(*)] => 4
92frwikisource: )
93-----------------------------------------------------------------
94frwiktionary
95-----------------------------------------------------------------
96frwiktionary: stdClass Object
97frwiktionary: (
98frwiktionary: [count(*)] => 4
99frwiktionary: )
100-----------------------------------------------------------------
101idwiki
102-----------------------------------------------------------------
103idwiki: stdClass Object
104idwiki: (
105idwiki: [count(*)] => 23
106idwiki: )
107-----------------------------------------------------------------
108incubatorwiki
109-----------------------------------------------------------------
110incubatorwiki: stdClass Object
111incubatorwiki: (
112incubatorwiki: [count(*)] => 5
113incubatorwiki: )
114-----------------------------------------------------------------
115itwiki
116-----------------------------------------------------------------
117itwiki: stdClass Object
118itwiki: (
119itwiki: [count(*)] => 113
120itwiki: )
121-----------------------------------------------------------------
122jawiki
123-----------------------------------------------------------------
124jawiki: stdClass Object
125jawiki: (
126jawiki: [count(*)] => 459
127jawiki: )
128-----------------------------------------------------------------
129kowiki
130-----------------------------------------------------------------
131kowiki: stdClass Object
132kowiki: (
133kowiki: [count(*)] => 95
134kowiki: )
135-----------------------------------------------------------------
136metawiki
137-----------------------------------------------------------------
138metawiki: stdClass Object
139metawiki: (
140metawiki: [count(*)] => 76
141metawiki: )
142-----------------------------------------------------------------
143mgwiktionary
144-----------------------------------------------------------------
145mgwiktionary: stdClass Object
146mgwiktionary: (
147mgwiktionary: [count(*)] => 0
148mgwiktionary: )
149-----------------------------------------------------------------
150mkwiki
151-----------------------------------------------------------------
152mkwiki: stdClass Object
153mkwiki: (
154mkwiki: [count(*)] => 0
155mkwiki: )
156-----------------------------------------------------------------
157nlwiki
158-----------------------------------------------------------------
159nlwiki: stdClass Object
160nlwiki: (
161nlwiki: [count(*)] => 70
162nlwiki: )
163-----------------------------------------------------------------
164nowiki
165-----------------------------------------------------------------
166nowiki: stdClass Object
167nowiki: (
168nowiki: [count(*)] => 9
169nowiki: )
170-----------------------------------------------------------------
171plwiki
172-----------------------------------------------------------------
173plwiki: stdClass Object
174plwiki: (
175plwiki: [count(*)] => 41
176plwiki: )
177-----------------------------------------------------------------
178ptwiki
179-----------------------------------------------------------------
180ptwiki: stdClass Object
181ptwiki: (
182ptwiki: [count(*)] => 102
183ptwiki: )
184-----------------------------------------------------------------
185rowiki
186-----------------------------------------------------------------
187rowiki: stdClass Object
188rowiki: (
189rowiki: [count(*)] => 15
190rowiki: )
191-----------------------------------------------------------------
192ruwiki
193-----------------------------------------------------------------
194ruwiki: stdClass Object
195ruwiki: (
196ruwiki: [count(*)] => 227
197ruwiki: )
198-----------------------------------------------------------------
199shwiki
200-----------------------------------------------------------------
201shwiki: stdClass Object
202shwiki: (
203shwiki: [count(*)] => 0
204shwiki: )
205-----------------------------------------------------------------
206srwiki
207-----------------------------------------------------------------
208srwiki: stdClass Object
209srwiki: (
210srwiki: [count(*)] => 9
211srwiki: )
212-----------------------------------------------------------------
213svwiki
214-----------------------------------------------------------------
215svwiki: stdClass Object
216svwiki: (
217svwiki: [count(*)] => 24
218svwiki: )
219-----------------------------------------------------------------
220trwiki
221-----------------------------------------------------------------
222trwiki: stdClass Object
223trwiki: (
224trwiki: [count(*)] => 54
225trwiki: )
226-----------------------------------------------------------------
227ukwiki
228-----------------------------------------------------------------
229ukwiki: stdClass Object
230ukwiki: (
231ukwiki: [count(*)] => 19
232ukwiki: )
233-----------------------------------------------------------------
234viwiki
235-----------------------------------------------------------------
236viwiki: stdClass Object
237viwiki: (
238viwiki: [count(*)] => 11
239viwiki: )
240-----------------------------------------------------------------
241warwiki
242-----------------------------------------------------------------
243warwiki: stdClass Object
244warwiki: (
245warwiki: [count(*)] => 0
246warwiki: )
247-----------------------------------------------------------------
248wikidatawiki
249-----------------------------------------------------------------
250wikidatawiki: stdClass Object
251wikidatawiki: (
252wikidatawiki: [count(*)] => 48
253wikidatawiki: )
254-----------------------------------------------------------------
255zhwiki
256-----------------------------------------------------------------
257zhwiki: stdClass Object
258zhwiki: (
259zhwiki: [count(*)] => 199
260zhwiki: )
261-----------------------------------------------------------------
262zhwiktionary
263-----------------------------------------------------------------
264zhwiktionary: stdClass Object
265zhwiktionary: (
266zhwiktionary: [count(*)] => 2
267zhwiktionary: )
268legoktm@terbium:~$ cat echo-alert.sql
269select count(*) from user_properties where up_property ='echo-show-alert' and up_value=0;

This shouldn't be released right now. James and I both feel like the users could be better served by just using the Echo notification instead of the extra talk page indicator. I need to talk to Nick about it.

This shouldn't be released right now. James and I both feel like the users could be better served by just using the Echo notification instead of the extra talk page indicator. I need to talk to Nick about it.

James who? Alexander? Forrester? Hare?

Sorry, James Forrester. We've been talking about it in the Editing department.

This shouldn't be released right now. James and I both feel like the users could be better served by just using the Echo notification instead of the extra talk page indicator. I need to talk to Nick about it.

I think there may be some confusion here. This task is about removing a largely unused user preference, as I understand it. There will be a behavior change only for a small set of users.

Do you think we can't remove this user preferences interface clutter right now? It seems to me that removing this user preference would be an easy win and would be relatively uncontroversial.

Whether we continue to use a separate and distinct talk page indicator is a separate matter and is a lot more controversial.

siebrand changed the task status from Open to Stalled.Oct 5 2015, 12:06 PM
siebrand subscribed.

Waiting for re-review in Gerrit.

Change 223213 merged by jenkins-bot:
[mediawiki/extensions/Echo@master] Remove $wgEchoNewMsgAlert and 'echo-show-alert' preference

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

Trizek subscribed.

Can I have that preference back, or, at least, a way to ignore that orange bar on all wikis simply? I've appreciated that preference very much, because the orange bar is stressful to me. It requires immediate attention, while I prefer to have talk pages notices hidden behind a more discreet red alarm icon.

(I don't see it often as a volunteer, but a lot more during my professional duties.)

Can I have that preference back, or, at least, a way to ignore that orange bar on all wikis simply? I've appreciated that preference very much, because the orange bar is stressful to me. It requires immediate attention, while I prefer to have talk pages notices hidden behind a more discreet red alarm icon.

Hm, causing stress isn't great, but is it the orange highlight that's actually causing that? Or the fact that you have new messages, and the orange highlight makes it obvious? While the red alert is less obvious, since it also mixes in other notifications.

You could also consider using the Timeless skin, which puts all the personal tools in a drop down, so you don't see the orange indicator, unless you hover over your username.

In any case, the following user CSS should work (I tested it in MonoBook):

.mw-echo-alert {
  background-color: transparent;
}

Thanks @Legoktm. The stress is both caused by the colour and the message: "You have to act NOW" is my perception of it.

I think I'll use the following on my global.css:

.mw-echo-alert {
  display:none;
}

Hi. Sorry to see it was removed. A little explanation: I used, and I believe many others, to use this feature not because of colour and not because of extra space. It was because clicking on this area calls "open user's talk page un read view" instead of "open user's talk page diff between last watched revision and the current one". It is just not helpful - you can't recognize all the changes.

I was also a big fan of this preference, but neither CSS option above fully returns the behavior, either leaving a long message or removing the link to one's talk page. To return to the previous, you'd need to add:

.mw-echo-alert {
  background-color: transparent;
}

in css and:

$('.mw-echo-alert').text('talk');

in js

It's not enough, needs also padding 0, and yes, I also did this.

It was because clicking on this area calls "open user's talk page un read view" instead of "open user's talk page diff between last watched revision and the current one". It is just not helpful - you can't recognize all the changes.

Yes. sadly, however, keeping this preference would not bring back the direct link to the diffs. If you use a gadget to bring back the link, you can also get the gadget to hide any redundant indicator.

If you use a gadget to bring back the link, you can also get the gadget to hide any redundant indicator.

(Crying) It blinks.

It was because clicking on this area calls "open user's talk page un read view" instead of "open user's talk page diff between last watched revision and the current one". It is just not helpful - you can't recognize all the changes.

Yes. sadly, however, keeping this preference would not bring back the direct link to the diffs. If you use a gadget to bring back the link, you can also get the gadget to hide any redundant indicator.

That bug is T58475: Echo: The "You have new messages" link should go to a diff and/or subsection of the user's talk page where the talk page resides

I regret that decision, especially when I see more important tasks being completely ignored.

Why do I need a huge orange bar when there's already the bell icon? Why not let the users choose their preference?

the orange bar is stressful to me. It requires immediate attention, while I prefer to have talk pages notices hidden behind a more discreet red alarm icon.

It's stressful for me too.