Page MenuHomePhabricator

[EPIC] Kill SpecialUserProfile or Move MobileFrontend extension's Special:UserProfile.php and related code to a separate MediaWiki extension
Closed, ResolvedPublic

Description

As discussed at https://gerrit.wikimedia.org/r/182337, Special:UserProfile shouldn't live within the MobileFrontend extension.

Possible options to consider: put Special:UserProfile in MediaWiki core or change user page behavior so that a profile is auto-generated/displayed for (non-existent) user pages (i.e., /wiki/User:Example would show basic user info automagically).

Related Objects

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

Can someone point me to where exactly the consensus was first reached to implement Special:UserProfile in the first place?

Okay, I'm focusing this task on moving Special:UserProfile.php and related code from the MobileFrontend extension to a separate MediaWiki extension.

This should be fairly tedious, but not difficult, so I'm marking this task with the good first task tag.

I don't think this would be a good idea. I think, Special:UserProfile has limited advantages for everyone, too, but because of this, we shoulsn't just move the page somewhere else to export it out of mobile frontend. It should be made more useful with more relevant information to show a bunch of useful things for which i have to open several special pages at the moment (last contributions, user's groups (maybe the user rights log), and so on). But this is already covered by T24516: New page Special:Userinfo, so i think this task should be blocked by it and renamed to "remove Special:UserProfile" to totally kill the special page after we have a better on (which lives hopefully in core, it's a basic feature, that shouldn't be in an extension, like special:contributions).

tl;dr
Moving Special:UserProfile into an own extension (just this little special page in a seperate extension? Wtf) doesn't solve any problem, it's just moving things from point a to b.

That's my personal point of view :)

@Florian: There're already a bug to remove Special:UserProfile, which is T90753: Get rid of Special:UserProfile.

I don't think this would be a good idea. I think, Special:UserProfile has limited advantages for everyone, too, but because of this, we shoulsn't just move the page somewhere else to export it out of mobile frontend. It should be made more useful with more relevant information to show a bunch of useful things for which i have to open several special pages at the moment (last contributions, user's groups (maybe the user rights log), and so on). But this is already covered by T24516: New page Special:Userinfo, so i think this task should be blocked by it and renamed to "remove Special:UserProfile" to totally kill the special page after we have a better on (which lives hopefully in core, it's a basic feature, that shouldn't be in an extension, like special:contributions).

tl;dr
Moving Special:UserProfile into an own extension (just this little special page in a seperate extension? Wtf) doesn't solve any problem, it's just moving things from point a to b.

Moving things does solve a problem. :-) The fact that Special:UserProfile is in the MobileFrontend extension is a problem. It doesn't belong in that extension.

Regarding your wtf, it's not uncommon to have extensions that focus on doing one thing, such as providing a user profile Special page. It's preferable to have simple, clearly defined extensions over having large and undefined extensions.

My reason for preferring an extension to core is that I think core will be more difficult to find and develop consensus around, at least right now. However, if someone goes to resolve this task and decides to put Special:UserProfile in core instead of in a separate extension, I'm fine with that. I think core is the harder path to take and I'd recommend against it right now, but the decision of where to put the code is ultimately the author's choice.

Change 194451 had a related patch set uploaded (by Legoktm):
Remove Special:UserProfile functionality

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

Change 194451 had a related patch set uploaded (by Legoktm):
Remove Special:UserProfile functionality

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

To be clear, I also support this approach, even though it doesn't directly resolve this task. In discussing this task with @Legoktm, I was able to easily reach the same conclusion as him that most of Special:UserProfile as it exists in the MobileFrontend extension currently (including the name) is not really worth saving as-is. If someone were to rewrite this functionality, it would probably be better to start from scratch in a separate extension or in MediaWiki core, as discussed above and elsewhere. Any new development work would take into account the lessons we've already learned, such as the dangers of auto-including recent images, of course.

Jon appears to still be clinging to this code (https://gerrit.wikimedia.org/r/194451), while simultaneously (re-)acknowledging that it's in the wrong place (T101049), which everyone already knew and agreed upon.

Death to MobileFrontend. I miss Erik. :-(

Let's not go back to previous levels of harshness in this discussion, please. It is a software feature and it can be discussed reasonably with friendly writing. Keeping the discussion within scope in a single place with all the interested parties involved is a necessary step. Is this task the right place?

As I just commented on the patch https://gerrit.wikimedia.org/r/#/c/194451. We need to discuss the broader context of user to user interaction on mobile, which userpage would be part of.

As I just commented on the patch https://gerrit.wikimedia.org/r/#/c/194451. We need to discuss the broader context of user to user interaction on mobile, which userpage would be part of.

I have no idea what "broader context of user to user interaction on mobile" means or how it has any relevance here. If I weren't assuming good faith, I'd say that you were deliberately trying to obfuscate the conversation here behind meaningless jargon.

I think many people agree that Special:UserProfile is bad. In discussions with users, the most common complaints seem to be:

  • the name "user profile" is terrible
  • the auto-included images were problematic
    • images have now been removed, making Special:UserProfile even more bare and bleak
  • Special:UserProfile intentionally bypasses users' actual user pages

Nobody is interested in improving Special:UserProfile and its code is 100% in the wrong place currently. As far as I'm concerned, we're much better off showing people their user pages instead of Special:UserProfile.

Perhaps @Moushira or @Qgil can explain what, specifically, is wrong with https://gerrit.wikimedia.org/r/194451?

As I just commented on the patch https://gerrit.wikimedia.org/r/#/c/194451. We need to discuss the broader context of user to user interaction on mobile, which userpage would be part of.

Well, no. Userpages are not part of user to user interaction, nor is the user profile as it currently exists. These are information pages, not communication pages. This bug isn't in any way related to user interaction, it is about the system information provided about users.

As a user, I don't want to have a mobile enforced identity that I didn't exactly specify, whether it is pushed by special:UserProfile, nor it is due to the sometimes garbled display of userpages on mobile. Userpages are part of how we interact with each, where this also includes how the talk system behaves on mobile and inability to thank, or award wikilove tokens to others. This is simply what I meant by a broader context. In any case, that doesn't defend the current structure of Special:UserProfile, it just makes me wonder if we need to discuss what other elements should this special page include (because this could make it indeed useful)? or else if we should just opt to our userpages with chances of a garbled view? This is simply my point :).

Okay, so I think there has been a lot of bad faith here. I'm sorry for anyone getting frustrated, especially @Legoktm - if it helps I am equally frustrated but reading through the comments here it seems like we want the same thing, so I'm struggling to understand the source of frustration....

Firstly to be clear - and to frame the purpose of the badly named Special:UserProfile in case it is not clear-was to be a jumping off point to user related features, since we couldn't do the same thing as desktop and simply throw a bunch of links in a menu - we just don't have the space. It was also built on the idea this was going to grow into more things, but then other priorities took hold and it's not had the expected love.

In answer to your question on the pending patchset "Please explain how you plan on moving the code to a separate extension without ever removing it from MobileFrontend." - One way is to move the code to a separate extension, get it installed on all projects and then remove the code from MobileFrontend. Solution two which you are leaning towards however is to throw it away entirely yet this doesn't seem to consider several things and help come up with the necessary solutions. If 2 is the preferred action let's consider these problems and get everyone less frustrated (myself included)

My main reasons for rejecting your patch @Legoktm are:

  1. it throws away useful information (edit count, upload count)
  2. it throws away the only link to user talk page
  3. it throws away the only link to user contributions.
  4. it throws away the link to all the files a user uploaded e.g. https://en.m.wikipedia.org/wiki/Special:Uploads/MZMcBride
  5. it throws away last thanked, last edited, last uploaded - are these shortcut handy?
  6. the majority of user pages do not rendering nicely on mobile and there is no clear way for them to remedy/motivation for our editors to fix this without T483 (but I feel less strongly about this.)

So let's consider those issues and find some consensus on how to fix them and if we need to fix them.

  1. I've been told this information is useful? Is there somewhere better we could place it? e.g. at the top of the user page?
  2. Hopefully fixed by T54165 - should we make this a blocking bug?
  3. Is there somewhere better we could place it? e.g. at the top of the user page?
  4. Interesting but given uploads are disabled there is an argument this page is no longer needed.
  5. I don't know if any of this is useful but I find thanks is interesting to get a sense for which editors are collaborating with one another and on what. Contributions and uploads links however can give access to last upload and last edit if needed.
  6. Not sure how to fix this other than pushing more on T483. In the mean time a warning box at the top of the user page saying this page may not be optimised for mobile might be worth exploring.

Help me come up with good answers to the above 6. I'm trying to be as constructive here as possible. I feel like I'm being painted out as a bad guy here but I just want to make sure we think this through given there is no emergency situation here.

Jon, I don't think you're the bad guy, I think you're just seeing things
from a very different perspective than many of the commenters.

Two links at the top of a user page, to user contributions and user logs,
is pretty much all that's needed here. Don't worry that some user pages
don't render all that well in mobile - some of them don't render all that
well on the desktop either; it's the user's choice to use that formatting.
Even if users are making choices that don't look all that great on mobile,
their user page is the way that *they* want to present themselves to the
world, and there's something really disquieting about obliterating that
opportunity and forcing them to be presented in what they are most likely
to perceive as the "official WMF way". (If the WMF is imposing it, then
it's pretty hard to argue against that perspective). There's also something
disquieting about presenting our users as nothing much more than a bunch of
statistical information - I know that's not necessarily your intent, but it
does feel somewhat dehumanizing, especially if one has made a point
to actually create a personalized user page.

I'll point out as an aside that there are now commercially available
tablets with screens as big as small desktop monitors, and mobile phone
screens are getting bigger every time we blink, so some of these issues are
already melting away.

I'd argue using this format even for users without user pages. Red links
are okay and tell the reader something all by themselves that isn't
apparent with either all user pages showing the same data, or automatically
jumping to an autogenerated statistics page. If you have those two links
then pretty much all the information you're trying to provide here is
available to someone checking up on them.

Risker/Anne

Firstly to be clear - and to frame the purpose of the badly named Special:UserProfile in case it is not clear-was to be a jumping off point to user related features, since we couldn't do the same thing as desktop and simply throw a bunch of links in a menu - we just don't have the space.

I have no idea what this means. Are you saying that mobile interfaces can't have menus? I'm currently using the mobile Phabricator Maniphest interface which easily provides multiple menus. What are you talking about?

Help me come up with good answers to the above 6. I'm trying to be as constructive here as possible. I feel like I'm being painted out as a bad guy here but I just want to make sure we think this through given there is no emergency situation here.

In my view, you're the bad guy because you had no consensus for this feature. Nobody ever asked for it. You would not have been able to get this enabled as a separate extension or as a part of MediaWiki core, so you used MobileFrontend. This was highly inappropriate.

And of course users don't want a rudimentary user profile forced on themselves instead of their user page. This mandatory user profile exhibits a great amount of disrespect toward the Wikimedia community and its values.

When Lego and others tried to undo your mistake, you've repeatedly thrown up objections and gotten in the way, while simultaneously acknowledging your past mistake and making claims about how you want to fix it, if only everyone would let you do it your way when you one day have time. Your behavior here is tiring and offensive.

To me, your actions here are quite directly why it seems as though you're the bad guy. As far as I can tell, there is nobody here defending you or your view because you have no consensus or supporters.

Can we have a little pause from the bad guy, good guy conversation? :). I don't want to keep repeating myself, but as earlier mentioned, what this page does is that it avails the information you seek from user contributions, which is not completely out of context to userpages, yet, it has a problem of pushing this identity without notifying users, and without even meeting clever usability or design standards. The assumption I see is that nobody will ever work on this, so lets just kill it, while what I am trying to say, is that we are currently in planning for next quarter, and this topic is on the table of discussion, so can we pause the conversation (for 10 days?) until it is becomes certain that no further thought will be put in developing this page soon (because of capacity), then we talk about actions needed to be taken? Can we..please..good guys? :)

Just one thing that needs to be said here.

Your behavior here is tiring and offensive.

Sorry @MZMcBride, but it is your behavior here what is tiring and offensive. And you know, it ultimately works against you and the credibility of your arguments, regardless of how valid each argument is in a vacuum.

Take me as an example. When it comes to the final result, I personally agree with your opinion [1]. When it comes to the way you are pushing your opinion and how you are attacking the Mobile team and Jon, I could not disagree more with you. As a contributor to this discussion, I could be supporting you. Instead, I'm asking you to please stop. You made your point repeated times and it is clear.

I'm looking forward to the next steps in this technical discussion. MZ, I'm also looking forward to your involvement in the discussion and implementation of the next steps improving user profiles, because I do value a lot your insights and contributions, especially on those days where you seem to have had a good meal and good rest. :)

[1] As I read it and in short, let's pull Special:UserProfile and let's work on a good plan to improve user profile pages in mobile, hopefully bringing the good features to desktop as well, assuring in any case that users have control over their own user pages.

Jon, I don't think you're the bad guy, I think you're just seeing things
from a very different perspective than many of the commenters.

Two links at the top of a user page, to user contributions and user logs,
is pretty much all that's needed here.

Thank you @Risker - if someone wants to add a user contributions link to the top of the user page prior to removing Special:UserProfile then I have no reason to object to this change since it doesn't actually remove any features that we deem useful). There was nothing in the commit message for the change explaining that the submitter was aware of this consequence so I had to ask if it was intended to remove the link and if this was the desired behaviour. As I suspected it probably needed a bit of fine tuning. Given the other feedback you've give me, if no one disagrees with you, I would suggest removing this feature is fine when the link(s) have been added and we have pushed the talk link to ensure users can be talked to - which is almost merged - so I will add that task as a dependency).

Don't worry that some user pages

don't render all that well in mobile - some of them don't render all that
well on the desktop either; it's the user's choice to use that formatting.
Even if users are making choices that don't look all that great on mobile,

It seems your user page renders quite nicely in mobile. Hats off for not using tables :-) I could imagine in future some kind of feature that lets users communicate to other users that their user page doesn't look great on mobile via their talk page.

their user page is the way that *they* want to present themselves to the
world, and there's something really disquieting about obliterating that
opportunity and forcing them to be presented in what they are most likely
to perceive as the "official WMF way". (If the WMF is imposing it, then
it's pretty hard to argue against that perspective). There's also something
disquieting about presenting our users as nothing much more than a bunch of
statistical information - I know that's not necessarily your intent, but it
does feel somewhat dehumanizing, especially if one has made a point
to actually create a personalized user page.

That's a fair point and I can see that definitely as another lesson learnt for user profiles (@Moushira is this captured in the notes you have been collecting). I've been told several times however that edit count is useful to know when viewing watchlist/recent changes for patrolling (but that said I see we now show it on the diff which didn't used to be the case so I guess there really is no reason now:

Screen Shot 2015-06-11 at 8.56.12 AM.png (122×452 px, 17 KB)

I'll point out as an aside that there are now commercially available
tablets with screens as big as small desktop monitors, and mobile phone
screens are getting bigger every time we blink, so some of these issues are
already melting away.

I'd argue using this format even for users without user pages. Red links
are okay and tell the reader something all by themselves that isn't
apparent with either all user pages showing the same data, or automatically
jumping to an autogenerated statistics page. If you have those two links
then pretty much all the information you're trying to provide here is
available to someone checking up on them.

Got it. I hadn't considered non-existent pages. I think the default behaviour is to throw you into the editor.. which might be a bit jarring but can be dealt with separately (we've solved this problem for red links in pages).

Risker/Anne

Sorry this thread has gone on a bit and thanks for patience.

Jdlrobson renamed this task from Move MobileFrontend extension's Special:UserProfile.php and related code to a separate MediaWiki extension to Kill SpecialUserProfile or Move MobileFrontend extension's Special:UserProfile.php and related code to a separate MediaWiki extension.Jun 11 2015, 4:16 PM

I've rebased the patch and believe it's ready for merging now.

I'm removing the remaining blocker bugs because they don't apply:

Are there any other blockers left?

if someone wants to add a user contributions link to the top of the user page prior to removing Special:UserProfile then I have no reason to object to this change since it doesn't actually remove any features that we deem useful).

I must agree: Special:UserProfile can (and yeah, somehow should), but a link to Special:UserContributions from the talk page should be on the user page in mobile (since it's the only way to easily reach the special page, without typing the name into the search field). So it seems, that this is the only blocker. Do you think that this can be done in your change, @Legoktm?

I must agree: Special:UserProfile can (and yeah, somehow should), but a link to Special:UserContributions from the talk page should be on the user page in mobile (since it's the only way to easily reach the special page, without typing the name into the search field). So it seems, that this is the only blocker. Do you think that this can be done in your change, @Legoktm?

Can you file a separate blocker for that? It should happen in a separate patch probably.

for a new user who doesn't yet have a user page but clicks on their name, I don't think sending them to a blank editing screen is acceptable without a warning. I would much prefer we give them a CTA drawer like the one created for red links that says "Your user page does not exist: 'click here to create one'.

Jhernandez subscribed.

I've removed the good first task tag since it obviously isn't. It may not be complicated technically but it is socially, and the good first task tag is for new contributors to locate actionable tasks, so I don't think it applies here.

Hey MZMcBride, all updates are in the task as you see. Obviously moving slowly though. Did you have further suggestion?
Thanks!

Hey MZMcBride, all updates are in the task as you see. Obviously moving slowly though.

What movement do you see specifically?

Did you have further suggestion?

Yes, let's kill Special:UserProfile. What's preventing us from finally doing that?

Well, the task isn't stalled so there is movement @MZMcBride :). Do you want to give a hand with the blocking tasks, maybe?

I am assuming we are not reloading the entire conversation again, please :)

We're pulling this into this sprint; there are a few minor UX issues to explore but we'd like to get this done now.

-Toby

Jdlrobson changed the task status from Open to Stalled.Dec 21 2015, 7:29 PM

Stalled until the next deployment at which time users will be able to give feedback and we can push this to stable.

Jdlrobson renamed this task from Kill SpecialUserProfile or Move MobileFrontend extension's Special:UserProfile.php and related code to a separate MediaWiki extension to [EPIC] Kill SpecialUserProfile or Move MobileFrontend extension's Special:UserProfile.php and related code to a separate MediaWiki extension.Dec 22 2015, 10:17 PM
Jdlrobson added a project: Epic.
Jdlrobson claimed this task.

This is now done. I've opened T125902 to deal with the cleanup.