Page MenuHomePhabricator

Persistent contribution entry point on the mobile navigation menu
Open, HighPublic

Assigned To
None
Authored By
Pginer-WMF
Jul 12 2021, 12:04 PM
Referenced Files
F35316410: Screen Shot 2022-07-13 at 2.57.57 PM.png
Jul 13 2022, 10:01 PM
F35316408: Screen Shot 2022-07-13 at 2.56.56 PM.png
Jul 13 2022, 10:01 PM
F35316406: Screen Shot 2022-07-13 at 2.56.23 PM.png
Jul 13 2022, 10:01 PM
F35316402: Screen Shot 2022-07-13 at 2.54.23 PM.png
Jul 13 2022, 10:01 PM
F35175535: Persistent - Create.png
May 25 2022, 9:22 AM
F35175539: Persistent - Create (2).png
May 25 2022, 9:22 AM
F35175537: Persistent - Create (1).png
May 25 2022, 9:22 AM

Description

On mobile there is no clear way to find Section Translation. Although users may discover the tool by following a link to it or accepting an invite, they may have no clue on how to find the tool again. This ticket proposes to expand the menu options available on mobile to provide access to an area where new contributions (including translations can be made):

  • A "contribute" option will replace the current "Contributions" option, using the "pencil" icon and leading to a new tab on the Contributions page.
    • Subtitle. The menu option will have a sub-title listing some of the ways to contribute in order to anticipate to users what they will find after selecting the option. This message (in the future) can be customized based on the user to show the most relevant options for them.
  • The Contributions page will be updated to incorporate a tab selector providing access to two views: (a) "Create" will list options to start a new contribution, (b) "View contributions" will list the user contributions in the same they are shown now. The new view on the Contributions page will be only visible on the own user's contributions page (not when viewing someone else page).
    • Options to contribute. The initial options provided will be the same shown at the Contributions page on desktop by Content Translation (example) with the addition of "suggested edits". This will evolve in the future as more options are available.
    • Default view. The view to create a new contribution should be the default when reaching the page from the "Contribute" option. However, when reaching the page from the user page (where there is an option to access the user contributions) the list of existing contributions will be shown by default.

The proposed idea is illustrated in this prototype and in the mockups below:

Navigation menu with the new optionContributions page (new contributions)Contributions page (list of contributions)
sx-entry-persistent-menu.png (667×375 px, 46 KB)
contribs-new copy 4.png (862×375 px, 67 KB)
contribs-list.png (862×375 px, 100 KB)

This approach is intended to increase visibility to translation in a scalable way (more contribution options can be incorporated in the future).

Design details

Navigation menu with the new option

"Contribute" option will be replace the existing "Contributions" one, using the pencil icon and the same text style as other options in the menu. Additional description text will be shown below the option. The description will use a smaller font (13px) in regular weight (not bold) and the same color.

Contribute
Translations, suggested edits…

  • The subtitle will be limited to one line of text using ellipsis to cut the sentence before it wraps.

Contributions page update

The Contributions page will be extended for the current user in order to incorporate a new view to start contributing. A tab selector will support switching to the list of contributions (which will be represented in the same way they are now).

Another small change proposed is to align the user name to the left (right on RTL languages) for a cleaner layout.

The whole cards are tappable, providing access to a page where a type of contribution can be made:

  • "Translations" links to Special:ContentTranslation in the current wiki. It uses the "language" icon.
  • "Suggested edits" will link to the newcomer homepage . It uses the "lightbulb" icon.
  • "Upload media" links to the Upload Wizard on Commons. It uses the "upload" icon.
  • "New page" links to Special:WantedPages in the current wiki. It uses the "article" icon.

Layout and styling details are described below:

sx-entry-persistent-dimensions.png (768×1 px, 127 KB)

Messages:

Translations
Translate one section or a whole article. Make more contents available in more languages.

[Start a translation]

Suggested edits
Make small and easy changes (e.g., add a link or copyedit) to improve existing articles.
[View suggested edits]

Upload media
Share educational images, videos, and other media files with a free license.

[Upload a file]

New page
Start a new article for a topic that has been requested.

[View missing pages]

Technical detail

Based on input from Language team engineers, it makes sense to support this in two parts:

  • The general entry point would be part of Mobile Frontend. This will provide the navigation menu option, reorganize the Contributions page in two tabs and provide some initial list of general options to start a contribution that can be expanded.
  • Extensions such as Content Translation will provide options to contribute by extending the previous list.

Gradual deployment

The changes described above (even when organized in two parts: general and translation-specific) will be deployed only to the wikis where Section Translation is available. In this way we make sure that users start experiencing the new entry point with a complete list of options (including the option to translate on mobile) and we learn gradually about the change in a limited context (i.e., not exposing a limited lit everywhere). this will require a configuration variable.

Currently Section Translation is available is Bengali Wikipedia, but soon the list may get expanded to more wikis (T285842).

Further improvements

Guidance captured in a separate ticket (T287569) will help users find the persistent entry point after they discovered the tool with another entry point. This will help in situations where the user gets an opportunistic invite (e.g., an article missing in a language) and is not sure how to get back to the tool.

Related Objects

Event Timeline

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

Thanks for the tag on this task @Pginer-WMF, sorry I only got to reading through it today. I wonder if it would be feasible and worthwhile at this stage to add an extra menu item for the newcomer "Suggested edits" after Translations and above Upload media?
Adding @MMiller_WMF for thoughts as well.

I think "Suggested edits" can be a good fit. Can you provide more details on the following aspects:

  • Url to link to.
  • Any additional conditions the user needs to meet in order to access the suggested edits (we may want to show only the option if there is something behind). These could be about availability in certain wikis or for certain users groups.
  • Suggestions for icon and description to use.

Thanks @Pginer-WMF! Here's the icon and text details:

  • Icon: lightbulb from OOUI icon library
  • Title: Suggested edits
  • Description: Make small and easy changes (e.g., add a link or copyedit) to improve existing articles.
  • Link text: View suggested edits

image.png (256×688 px, 21 KB)

@MMiller_WMF is going to follow up with the URL as he is making the decision of whether to link directly to the
"Suggested edits" overlay module on mobile, or to link to the newcomer homepage.

Thanks for all the input @RHo, @alexhollender, and @Amire80. I updated the ticket description, mockups and prototypes to capture the updates:

  • Included suggested edits as option to contribute (will add the destination for the link once it is confirmed).
  • Used suggested edits in the sub-title text (instead of "media") since it is more relevant to show direct contributions to the current project rather than jumping to Commons, and it avoids the complexity of the "media" term too.
  • Adjusted the sub-title to use ellipsis and specified it will take only one line, being cropped using ellipsis if needed.

@Pginer-WMF another idea, possibly for future iterations or just to log for the record...since it will always be difficult to pick representative items to list below Contribute, we could instead try a more general/emotional(?) subtext, e.g.

image.png (824×1 px, 126 KB)

@Pginer-WMF -- thank you for working on these "edit discovery" ideas and for including the Growth features (FYI @ppelberg on edit discovery).

  • In the longer term, I've been imagining that the "newcomer homepage" could evolve into a centralized place to discover edits for all users. Rather than having a contributions tab list possible edits, we would instead drive users to their homepage from the left nav and they would discover edit types there (including section translation). Of course, the homepage isn't ready for that yet, doesn't contain all the edit types yet, and isn't generalized beyond newcomers yet. I definitely think the ideas on this task are good to experiment and learn from now, but I want to call out that maybe in the long term, it would work the other way around (instead of suggested edits being in a list with other edit types, the other edit types are in a list of suggested edits). @Pginer-WMF -- what do you think about this?
  • Last year, we noticed that some newcomers would tap "Contributions" looking for a way to contribute. Therefore, we implemented T227575: Homepage: link from Special:Contributions (mobile), which makes it so that if a logged-in user has 0 edits, their "Contributions" page has a progressive button directing them to the newcomer homepage (see below). We should think about whether that needs to be changed, because I think if we leave it along, under the design here, a user with 0 edits would have one tab listing several contribution options, and then the second tab would say "You have not yet made any contributions. Go to your homepage!" I think this would wind up as disjointed instruction about how to get started. One idea could be to not even show the second tab until the user has made a contribution (and also not show the tab menu). Instead, the top of the page could say, "You have not yet made any contributions! Get started below." @RHo @Pginer-WMF -- what do you think of all this?
  • By including suggested edits in the list, we will definitely be interested to measure how much traffic this drives to the homepage. I think we need to give you a specific URL to track this in our HomepageVisit schema. I'll get back to you about that.

image.png (1×794 px, 172 KB)

In T286466#7246823, @alexhollender wrote:

@Pginer-WMF another idea, possibly for future iterations or just to log for the record...since it will always be difficult to pick representative items to list below Contribute, we could instead try a more general/emotional(?) subtext, e.g.

I made a brief mention of that line being smarter in the future. These proposals look good and make perfect sense. We may need to explore which is the right balance between general encouragement and anticipating what users will find behind the menu. In that regard, I found the "Become a Wikipedia editor" to provide a good balance (encompassing all kinds of contributions while still being specific of what the user will get). Seems worth exploring and a potential area where A/B test can help to quickly test multiple hypotheses.

@Pginer-WMF -- thank you for working on these "edit discovery" ideas and for including the Growth features (FYI @ppelberg on edit discovery).

  • In the longer term, I've been imagining that the "newcomer homepage" could evolve into a centralized place to discover edits for all users. Rather than having a contributions tab list possible edits, we would instead drive users to their homepage from the left nav and they would discover edit types there (including section translation). Of course, the homepage isn't ready for that yet, doesn't contain all the edit types yet, and isn't generalized beyond newcomers yet. I definitely think the ideas on this task are good to experiment and learn from now, but I want to call out that maybe in the long term, it would work the other way around (instead of suggested edits being in a list with other edit types, the other edit types are in a list of suggested edits). @Pginer-WMF -- what do you think about this?
  • Last year, we noticed that some newcomers would tap "Contributions" looking for a way to contribute. Therefore, we implemented T227575: Homepage: link from Special:Contributions (mobile), which makes it so that if a logged-in user has 0 edits, their "Contributions" page has a progressive button directing them to the newcomer homepage (see below). We should think about whether that needs to be changed, because I think if we leave it along, under the design here, a user with 0 edits would have one tab listing several contribution options, and then the second tab would say "You have not yet made any contributions. Go to your homepage!" I think this would wind up as disjointed instruction about how to get started. One idea could be to not even show the second tab until the user has made a contribution (and also not show the tab menu). Instead, the top of the page could say, "You have not yet made any contributions! Get started below." @RHo @Pginer-WMF -- what do you think of all this?

If we are speaking about this interstitial menu/page ( and not about a potential future where it goes to a homepage/dashboard directly), I think the persistent spot for contributions history is more consistent and gives even people with 0 contributions an idea of where they would go to see their history. If I as a newcomer do decide to click on "View contributions", I would expect to see 0 contributions and it's still useful at that point for the extra pointer to the homepage.

  • By including suggested edits in the list, we will definitely be interested to measure how much traffic this drives to the homepage. I think we need to give you a specific URL to track this in our HomepageVisit schema. I'll get back to you about that.

image.png (1×794 px, 172 KB)

@Pginer-WMF -- thank you for working on these "edit discovery" ideas and for including the Growth features (FYI @ppelberg on edit discovery).

Thanks for the feedback. Very good points! Replying below

  • In the longer term, I've been imagining that the "newcomer homepage" could evolve into a centralized place to discover edits for all users. [...] @Pginer-WMF -- what do you think about this?

Makes perfect sense to me, and I'd support such change when the homepage is ready. I think that new contributions conceptually make sense to be connected with both the User and Contributions. I'd be ok with new contributions living in either as long as they are linked from the other too.

We can start with the options to start a contribution living in Contributions (which is already linked form the current user page), and this can evolve to work the other way around. Users expecting it to be in the old place will find a link to the new one, so there should not be a big re-learning cost for users (not to mention that we' plan to deploy on a small set of wikis where Section Translation is enabled, currently 1, soon 4).

  • Last year, we noticed that some newcomers would tap "Contributions" looking for a way to contribute. Therefore, we implemented T227575: Homepage: link from Special:Contributions (mobile), which makes it so that if a logged-in user has 0 edits, their "Contributions" page has a progressive button directing them to the newcomer homepage (see below). [...] One idea could be to not even show the second tab until the user has made a contribution (and also not show the tab menu). Instead, the top of the page could say, "You have not yet made any contributions! Get started below." @RHo @Pginer-WMF -- what do you think of all this?

I think it makes sense to avoid a contradicting message about where to go for starting new contributions. Some possible directions could be about (a) hiding it, (b) adjusting it to point to the new contributions tab instead, or (c) adjust the messaging so that the link to the home page has a different premise.

The proposed idea (along the lines of hiding plus a general simplification of the UI) is worth exploring. Newcomers would get a simplified view with the same units of information but without them being structured on a tabbed view which could be considered unnecessary for an empty list. I'll check how that could look.

  • By including suggested edits in the list, we will definitely be interested to measure how much traffic this drives to the homepage. I think we need to give you a specific URL to track this in our HomepageVisit schema. I'll get back to you about that.

Thanks!

@Pginer-WMF @RHo -- okay, @RHo , what you were saying about establishing a persistent place for finding your contributions (even when you have none) makes sense to me. So I guess we should just leave that tab alone.

From the "Create new" menu, I think we should link to the homepage, not directly to the suggested edits overlay. Suggested edits is the top thing on the homepage anyway, and we want users to know they have a homepage -- plus the homepage discovery banner will kick in if it's their first time on the homepage, explaining how to return to it.

Therefore, @Pginer-WMF -- here's the link we would like to use: https://en.m.wikipedia.org/w/index.php?title=Special:Homepage&source=contributelist&namespace=-1

I created T287926: Create new "source" value for HomepageVisit: contributelist so that we can make the change to our EventLogging to record this new source. When will Language team be doing this work, so we know by when we need to update our EventLogging schema?

Therefore, @Pginer-WMF -- here's the link we would like to use: https://en.m.wikipedia.org/w/index.php?title=Special:Homepage&source=contributelist&namespace=-1

Great. I updated the description to capture this.

Also related to a previous comment from @santhosh I updated the text in the tab to be "Create" (previously was "Create new") to avoid it being a partial sentence which could lead to issues in localization.

I created T287926: Create new "source" value for HomepageVisit: contributelist so that we can make the change to our EventLogging to record this new source. When will Language team be doing this work, so we know by when we need to update our EventLogging schema?

Timeline is hard to predict. In the initial analysis our engineers identified that the preferred solution would be to make a general change to the contributions page to support a list of actions that other extensions can contribute, and then extend it. They identified that the former change should live in the mobile front-end and may require involvement form the Web team. We started to navigate this process and are waiting for the Wen team to confirm on complexity and availability for this.

Change 778582 had a related patch set uploaded (by Jdlrobson; author: Jdlrobson):

[mediawiki/skins/MinervaNeue@master] Enable special page tabs

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

Change 778583 had a related patch set uploaded (by Jdlrobson; author: Jdlrobson):

[mediawiki/extensions/ContentTranslation@master] POC: Contributions page entry point

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

Hi sorry for the delay on this one. I think https://gerrit.wikimedia.org/r/778582 would be the minimum needed to unblock you here. Would this approach work for you to get started?
Depending on how you want to create the new page, a hook inside core SpecialContributions may be needed (or a new generic hook for adding subpages to special pages).

We'd also likely want to consolidate the new tabs with those links below:

Screen Shot 2022-04-08 at 12.44.34 PM.png (846×1 px, 93 KB)

Change 778583 abandoned by Jdlrobson:

[mediawiki/extensions/ContentTranslation@master] POC: Contributions page entry point

Reason:

Just a proof of concept! Please try it out :)

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

Thank @Jdlrobson. I see that you are using $links['namespaces']['cx-create'] and $links['namespaces']['cx-view-contribs'] as a way to mimic the usual Talk, History, Article tabbed interface in Special:Contributions/UserName. But isn't it bit hacky, given that the tab for providing entrypoints to various ways to contribut is not a "namespace"? Would there be a cleaner interface to work with?

I was expecting a tab"Create" that is already existing and then a way to supply an extra item to way to contibute. For example, by default the "Create" tab will have create articles, upload media, but translation would be missing. Then an extension like CX can add "Translations" to this. Is my expectation reasonable? Or Do you think CX should create that tab and add all entries?

https://en.m.wikipedia.org/wiki/Special:Homepage does something similar:
https://gerrit.wikimedia.org/g/mediawiki/extensions/GrowthExperiments/+/27f92b4ec5406f139cf96da52edcfb06125ccbb5/includes/HomepageHooks.php#519

I agree the use of "namespace" seems outdated at this point (which is why the code flags it as a legacy "menu"). One thing we've done in the past is be more deliberate and split up / create empty menus which reflects features:
https://github.com/wikimedia/mediawiki/blob/master/includes/skins/SkinTemplate.php#L1208
For example the notifications menu is empty by default but populated by Echo.

We could thus create a new menu called "special-page-tabs" that's defaulting to empty list, and render that on Minerva special pages instead of namespaces. It's a bit more work and we'd need to add support for Vector later but that's an option. We could also rename namespaces to something more generic that applies to both situations (leaving backwards compatible code).

I think the Watchlist could also benefit for such a menu since it has various tabs (that are not styled like tabs)
https://en.m.wikipedia.org/wiki/Special:Watchlist?hidepreviousrevisions=1&hidecategorization=1&hideWikibase=1&limit=250&days=3&enhanced=1&urlversion=2

Screen Shot 2022-04-12 at 8.15.32 AM.png (420×2 px, 53 KB)

I was expecting a tab"Create" that is already existing and then a way to supply an extra item to way to contibute.

I'm focused on the menu portion right now so haven't thought too deeply about the contents of the tabs themselves would be rendered. We might want to pull in the Growth team for that, as I believe the page is technically maintained by them and they will likely have opinions given their work on the GrowthHomepages. If the create page exists presumably that would exist in core or require a hook in core.

@Pginer-WMF Checking in on this, what are the next steps?

@Pginer-WMF Checking in on this, what are the next steps?

Based on T286466#7848462 my understanding is that the example shared is part of an initial exploration, not something that can be directly used by the Language team until some more development cycles are completed by the Web team on this. If there is pending input or some way in which we can use it in the current state please confirm. Thanks!

We are awaiting input on T286466#7848462 (particularly around the use of the namespaces menu). If there are no concerns with the approach suggested we can push ahead with development.

From an extention like CX or growth, a simple way to register a new contribution entrypoint is what is needed here. The common contribution entrypoints like "Create article", "Upload Images" should be already rendered in a tabbed interface as shown int the mockups above. Creating this tabbed interface need to be done at Special:Contributions/UserName code and should expose an API or hook so that CX can register translation as a contribution entrypoint.

The POC patch https://gerrit.wikimedia.org/r/c/mediawiki/extensions/ContentTranslation/+/778583/ is leaving the task of creating the Tabbed interface to CX - which is not optimal. CX does not want to take care of creating this tabbed interface that provides all contribution entrypoints.

In otherwords, Persistent entrypoints mechanism and its UI would be a Special:Contributions/UserName feature and CX(or extensions like growth experiments) would be a provider of one of the entrypoint listed in it. That is my understanding. Please correct me if I am wrong. If my understanding is correct, there is no such UI or interface to add entrypoint ready as of now. Repurposing the namespace tabs for creating a tabbed interface looks like a hack as we discussed, but I would leave such decisions to whoever maintaining Special:Contributions/UserName

We might want to pull in the Growth team for that, as I believe the page is technically maintained by them and they will likely have opinions given their work on the GrowthHomepages

So, are we waiting on Growth team for this?

As Santhosh mentioned each extension/tool should be able to add their own entry points to the list. I may be confused by the "tabbed" term, but just to clarify, what is expected to be extensible is the list of contribution entry points ("Translation" to be added by the Language team, "Suggested edits" by the Growth team, etc.). In this way, if the an extension is disabled, only their related entry points will be gone from the list.

The tabs itself ("Create", and "View contributions") are not expected to be extended in the short term and it is ok (from my non-dev perspective) for them not to provide a clean extensible architecture.

contribs-new copy 4.png (862×375 px, 67 KB)

I agree this is a desirable new entry point to Growth's suggested edits as well, but have some comments and questions:

  • Other entry point CTAs:
    • "Upload file" - I am hesitant to create a new entry point to a place (Wikipedia:File_Upload_Wizard) which mainly takes users to a different project to upload an image, especially on mobile. Could this be separated into a later follow up task?
    • "Create a page" - Curious how the existing "New page" action on the "New contribution" section on Desktop is set up, is it configurable by the wiki? Both in whether it appears at all, and the page it directs to? For some languages like enwiki I imagine instead of linked to Special:WantedPages, they might wish to take people to somewhere else like Wikipedia:Requested articles, Wikipedia:Most-wanted articles, or Wikipedia:How to create a page.
    • Suggested edits - We (Growth team) would definitely be interested in adding this as an entry point, and would likely want this to Special:Homepage&namespace=-1#/homepage/suggested-edits so that it directs to the homepage on Desktop, but to the Suggested edits module immediately on mobile, though potentially worth an experiment to see which works better.
  • Terminology - could we standardise and revise the UI labels across mobile and desktop? My preference is something more like Desktop heading that is currently in place that calls these "New contributions" instead of "Create", since this is imo inferring creating new content rather than editing/improvement existing content.
    image.png (194×836 px, 23 KB)
  • Desktop vs Mobile - I'm a little unsure about the scope of this task. Is the intention to apply this tabbed separation only to Minerva? If so, curious why we would not consider the benefits of consistency in having this separated in Desktop as two tabs as well.

From an extention like CX or growth, a simple way to register a new contribution entrypoint is what is needed here. The common contribution entrypoints like "Create article", "Upload Images" should be already rendered in a tabbed interface as shown int the mockups above. Creating this tabbed interface need to be done at Special:Contributions/UserName code and should expose an API or hook so that CX can register translation as a contribution entrypoint.

The POC patch https://gerrit.wikimedia.org/r/c/mediawiki/extensions/ContentTranslation/+/778583/ is leaving the task of creating the Tabbed interface to CX - which is not optimal. CX does not want to take care of creating this tabbed interface that provides all contribution entrypoints.

I think you may have misunderstood the patch? The menu is already part of core code. ContentTranslation is defining a new menu item in the very same way we add menu items in other extensions with the SkinTemplateNavigation::Universal hook. I don't see how it's any different from UniversalLanguageSelector here:
https://github.com/wikimedia/mediawiki-extensions-UniversalLanguageSelector/blob/master/includes/Hooks.php#L250

The menu item only applies to Special:Contributions.

For this to work, the web team will modify core skin code so that skins can render this menu.

I think the only open question is whether this should replace the existing "namespaces" menu which is moving towards a tabs design for all pages (see https://di-article-tools-da959.web.app/Humpback_whale for example) or to make this a new menu. The benefits of making it a new menu would be that extensions wouldn't need to worry about backwards compability with old skins.

In future if this becomes too verbose to define, we can create a wrapper hook in a similar way to the existing one we can reconsider the https://www.mediawiki.org/wiki/Manual:Hooks/SkinTemplateNavigation::SpecialPage hook and possibly pass the canonical special page name.

Change 778582 merged by jenkins-bot:

[mediawiki/skins/MinervaNeue@master] Enable special page tabs

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

I think you may have misunderstood the patch? The menu is already part of core code. ContentTranslation is defining a new menu item in the very same way we add menu items in other extensions with the SkinTemplateNavigation::Universal hook. I don't see how it's any different from UniversalLanguageSelector here:
https://github.com/wikimedia/mediawiki-extensions-UniversalLanguageSelector/blob/master/includes/Hooks.php#L250

The menu item only applies to Special:Contributions.

With the merged patch in MinervaNeue, it is possible to get tabs like below screenshot

image.png (673×594 px, 45 KB)

This tab should list the contribution entrypoints as given in the design. But who is going to write the code to have that listing? I assume it should be a standard feature available across all wikis. CX is a extension as beta feature and cannot have that code as given in POC patch

For this to work, the web team will modify core skin code so that skins can render this menu.

Does this mean, web team is going to prepare the tab and listing with API to add items to it? MinervaNeue would require corresponding change right? If this happens language team would be unblocked and can use the api or hook to add translation as one of the item to that list.

Are there specific tickets for this work to happen?

Thanks for clarifying @santhosh :-). My original understanding of this ticket is the entry point was to the page itself, not from the actual page so it sounds like we are actually wanting two entry points here 🙃 and we've only provided the first one.

I was expecting the new tab would be provided inside an extension in a similar way to how https://en.m.wikipedia.org/wiki/Special:Homepage is provided in Extension:GrowthExperiments - in this case a Special:ContributionsCreate special page would be created that adds a tab to the existing Contributions page and includes a tab of its own to Special:Contributions.

It feels like this might warrant a new extension if ContentTranslation doesn't seem like the right fit as it feels a little premature to put this into core to me. If we are confident we want this in core, but this would likely be a new page regardless: Adding this to SpecialContributions seems problematic, as Special:Contributions already returns a search form, and Special:Contributions/param treats param as a search query.

Does this mean, web team is going to prepare the tab and listing with API to add items to it?

It's a good question. I see web team's role in all this in "platform". In this case we provide the ability to add tabs and pages. If Growth and Language team are both planning to populate this new page, it might make sense for the web team to do this work, simply to be neutral and focus on the architecture, however, if only one team is working on this, it might be more in the interest of that team for owning all the work so they don't get blocked on any other team and would also help with working out the behaviour - for example if I go to Special:Contributions/Jdlrobson and click the tab "create" does clicking "View contributions" take me to the search form or back to my contributions?

Perhaps it's time to get together and talk (web, growth and language team)?

Thanks for all your help with this @Jdlrobson. I cannot talk much about the technical architecture, but in terms of teams interested, the Growth and Campaigns teams have shown interest in options related to their projects to be accessible from this list. The case of Campaigns are still in an early stage of the development of their project, but for Growth there are already details on the entry point to add in the.description:

...
Suggested edits
Make small and easy changes (e.g., add a link or copyedit) to improve existing articles.
[View suggested edits]

I agree this is a desirable new entry point to Growth's suggested edits as well, but have some comments and questions:

Thanks for the input @RHo, all good points. I'll add some details and context below.

The current desktop version was created as part of Content Translation initial release with the intention to provide an entry point to translation but avoiding it to be another one-off solution and start to test the idea of. have a more general contribution entry point. Building such general entry point fully was out of the scope, so a couple of easy-to-add options were considered to avoid "translation" to be the only one. This allowed to try the idea that we are refining on mobile, even if it was using a sub-optimal architecture (e.g., disabling Content Translaiton removes all options to contribute, not just translation).

  • Desktop vs Mobile - I'm a little unsure about the scope of this task. Is the intention to apply this tabbed separation only to Minerva? If so, curious why we would not consider the benefits of consistency in having this separated in Desktop as two tabs as well.

This task is focused on mobile, as a first step. This time the intention is to have a more clean architecture where different projects can add to the list of entry points. Exposing this new approach on desktop makes sense as a next step. We need to define the details about how the entry point will be presented on desktop to replace the current solution (old approach).

  • Other entry point CTAs:

As mentioned, the options for uploading images and creating new articles were considered an easy to add options that provided general ways to contribute. It makes sense for the new version to reconsider which would be the best way (including how to support community-specific adjustments), time to support those, and which project/extension makes more sense to add them.

  • Suggested edits - We (Growth team) would definitely be interested in adding this as an entry point, and would likely want this to Special:Homepage&namespace=-1#/homepage/suggested-edits so that it directs to the homepage on Desktop, but to the Suggested edits module immediately on mobile, though potentially worth an experiment to see which works better.

Makes sense. Since we are starting with the mobile experience, which would be the link to use in this case?

  • Terminology - could we standardise and revise the UI labels across mobile and desktop? My preference is something more like Desktop heading that is currently in place that calls these "New contributions" instead of "Create", since this is imo inferring creating new content rather than editing/improvement existing content.
    image.png (194×836 px, 23 KB)

I can see how "Create" is more associated with creating new pieces of information which is not fitting all kinds of contribution.

With "New contributions" I had only a minor hesitation on whether it can be confused as accessing the new/recent contributions, since the action part was removed.
Maybe we can use "Contribute" or "New". I created mockups to illustrate the three options in context:

Persistent - Create (1).png (903×375 px, 48 KB)
Persistent - Create.png (903×375 px, 47 KB)
Persistent - Create (2).png (903×375 px, 48 KB)

In terms of consistency, whichever term we pick should be used on both mobile and desktop versions. So we can pick whichever term we think it fits best and adjust both versions.

I agree this is a desirable new entry point to Growth's suggested edits as well, but have some comments and questions:

Thanks for the input @RHo, all good points. I'll add some details and context below.
The current desktop version was created as part of Content Translation initial release with the intention to provide an entry point to translation but avoiding it to be another one-off solution and start to test the idea of. have a more general contribution entry point. Building such general entry point fully was out of the scope, so a couple of easy-to-add options were considered to avoid "translation" to be the only one. This allowed to try the idea that we are refining on mobile, even if it was using a sub-optimal architecture (e.g., disabling Content Translaiton removes all options to contribute, not just translation).

  • Desktop vs Mobile - I'm a little unsure about the scope of this task. Is the intention to apply this tabbed separation only to Minerva? If so, curious why we would not consider the benefits of consistency in having this separated in Desktop as two tabs as well.

This task is focused on mobile, as a first step. This time the intention is to have a more clean architecture where different projects can add to the list of entry points. Exposing this new approach on desktop makes sense as a next step. We need to define the details about how the entry point will be presented on desktop to replace the current solution (old approach).

Gotcha, thanks that makes sense.

  • Other entry point CTAs:

As mentioned, the options for uploading images and creating new articles were considered an easy to add options that provided general ways to contribute. It makes sense for the new version to reconsider which would be the best way (including how to support community-specific adjustments), time to support those, and which project/extension makes more sense to add them.

  • Suggested edits - We (Growth team) would definitely be interested in adding this as an entry point, and would likely want this to Special:Homepage&namespace=-1#/homepage/suggested-edits so that it directs to the homepage on Desktop, but to the Suggested edits module immediately on mobile, though potentially worth an experiment to see which works better.

Makes sense. Since we are starting with the mobile experience, which would be the link to use in this case?

Sorry I was unclear, the link Special:Homepage&namespace=-1#/homepage/suggested-edits works for both. When used on Desktop will direct to the homepage, but when on mobile will open up the Suggested edits module as the desired full screen overlay.

  • Terminology - could we standardise and revise the UI labels across mobile and desktop? My preference is something more like Desktop heading that is currently in place that calls these "New contributions" instead of "Create", since this is imo inferring creating new content rather than editing/improvement existing content.
    image.png (194×836 px, 23 KB)

I can see how "Create" is more associated with creating new pieces of information which is not fitting all kinds of contribution.
With "New contributions" I had only a minor hesitation on whether it can be confused as accessing the new/recent contributions, since the action part was removed.
Maybe we can use "Contribute" or "New". I created mockups to illustrate the three options in context:

Persistent - Create (1).png (903×375 px, 48 KB)
Persistent - Create.png (903×375 px, 47 KB)
Persistent - Create (2).png (903×375 px, 48 KB)

In terms of consistency, whichever term we pick should be used on both mobile and desktop versions. So we can pick whichever term we think it fits best and adjust both versions.

Thanks for making these options Pau. My inclination is the shorter options and "Contribute" feels more accurate as a verb distinguishing the content as being new types of contributions to make (compared to "view" contributions made).

I can see how "Create" is more associated with creating new pieces of information which is not fitting all kinds of contribution.

With "New contributions" I had only a minor hesitation on whether it can be confused as accessing the new/recent contributions, since the action part was removed.
Maybe we can use "Contribute" or "New". I created mockups to illustrate the three options in context:

I was also questioning the term "Create" from the perspective of us introducing another term/concept (contribute & create are so similar...maybe that's an indication that we shouldn't use two different words?).

  • I like "Contribute" because it's a verb (so it is aligned with "Edit"), and it re-uses the existing term
  • I like "New contribution", because it matches the pattern of "View contributions", and also re-uses the existing term. I think that if it's singular (versus "New contributions") it avoids the issue with "new" being confused with the concept "recent"

Change 813712 had a related patch set uploaded (by Jdlrobson; author: Jdlrobson):

[mediawiki/core@master] SpecialContributions: Persistent contribution entry point on contributions page

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

I was inspired to start exploring this. We'd be able to enable this on a skin basis. I can setup a patchdemo at some point once this is further along.

Here's a skeleton of how that would look:

Screen Shot 2022-07-13 at 2.54.23 PM.png (1×2 px, 795 KB)

Screen Shot 2022-07-13 at 2.56.23 PM.png (1×2 px, 277 KB)

Note the addition of a search tab for your consideration.
The translate option would be added via a hook.

This would also allow us to get some consistency on the Watchlist page.

Screen Shot 2022-07-13 at 2.56.56 PM.png (1×2 px, 504 KB)

which currently looks like this:
Screen Shot 2022-07-13 at 2.57.57 PM.png (452×2 px, 128 KB)

Technically there's 2 parts to this:

  1. Allowing special pages to register tabs. @cjming this fits nicely with our technical goal and my proposal is we expand the existing namespace menu similar to how we expanded the personal menu for Vector 2022 (. See the patch https://gerrit.wikimedia.org/r/c/mediawiki/core/+/813710. The relevant part of the code is this bit
  2. Expanding Special:Contributions to include this sub page and use the architecture we've put in place (that's https://gerrit.wikimedia.org/r/813712)

Thanks for looking into this, @Jdlrobson. The approach described makes sense to me.

Note the addition of a search tab for your consideration.

What would be provided behind the search tab in this case? The "view contributions" tab seems to be providing already an option to "Search contributions".

Change 813927 had a related patch set uploaded (by Jdlrobson; author: Jdlrobson):

[mediawiki/skins/MinervaNeue@master] [POC] Demonstrate sub pages functionality

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

Test wiki created on Patch demo by Jdlrobson using patch(es) linked to this task:
https://patchdemo.wmflabs.org/wikis/6cc022d180/w

What would be provided behind the search tab in this case? The "view contributions" tab seems to be providing already an option to "Search contributions".

Right. It is collapsed by default but I guess it's fine to use the view tab to also cover searching. I've revised the proposed architecture with this feedback - thanks!

I've setup a patchdemo to try this out - note the create tab will only show if you are logged in and looking at your own contributions.

Login and click mobile view on the following URL:
https://patchdemo.wmflabs.org/wikis/6cc022d180/wiki/Special:Contributions/Patch_Demo

This demonstrates the feature is initially limited to Minerva. Easy to expand to any other skin in future!