Page MenuHomePhabricator

The future of MobileFrontend
Closed, DeclinedPublic

Description

MobileFrontend is, as much as some of us like complaining about it, fundamentally a good idea (actually that's part of why we like complaining about it - we'd just be ignoring a bad idea). We should chop it up and reorganise it to optimise its effectiveness:

  • Move the mobile detection and setting skinclass for mobile into core
  • Turn Minerva into a standalone skin that can be used for desktop, mobile, or both
  • Redefine MobileFrontend as a general extension for simplifying and optimising potentially any functionable skin for mobile (hiding things that simply do not apply to mobile, rejigging the table of contents, thumbs, section handling, infoboxes and templates, special pages, etc)

There are probably other features I completely missed that could go wherever, but you get the idea. I would like to see this. It seems to already be going in this direction in some ways. Will it actually happen? Can we agree? Why is it skinclass instead of just a skin name? Where is it going?

Event Timeline

Isarra raised the priority of this task from to Needs Triage.
Isarra updated the task description. (Show Details)
Isarra added subscribers: Aklapper, Isarra.

The first one seems to be a bit of T100402, and all of this would affect the WMF wikis and third-party wikis differently, but may ultimately make things easier for both to work with due to a more modular design. Or something.

Anyway, as a third-party sysadmin I WANT TO SEE THIS ALL HAPPEN. I was so excited about the skin class thing when I saw it was actually implemented and available, but then it did both that and 3 and my skin just totally broke all over the place and it was all sad and stuff.

But if we just split everything up, we get all the best of the worlds! And stuff in core! Yay!

I think this is the same as https://phabricator.wikimedia.org/T71366 and all its sub tasks. Another potential flavour of that card is MobileFrontend just provides the ability to enable a mobile site (and maybe provide the formatter for section wrapping and main page special casing) and a different skin for said mobile site.

To be clear, the teams committed to doing this, I think we are just missing the right people to make it happen. A lot of the tasks are seemingly blocked because they are not yet problems to other teams.

In terms of skin class - this is to support a different skin for beta experiments. I suspect it could be changed to skin name, it would just mean that the mobile beta site would become a separate skin.

I think this is the same as https://phabricator.wikimedia.org/T71366 and all its sub tasks. Another potential flavour of that card is MobileFrontend just provides the ability to enable a mobile site (and maybe provide the formatter for section wrapping and main page special casing) and a different skin for said mobile site.

T71366 is a lot of it, but I really would like to also see an extension that just rejigs a lot of non-skin-specific interface (layouts, special pages, what's even visible, etc). Doesn't MF do a lot of that currently, even if it is just in the minerva skin?

To be clear, the teams committed to doing this, I think we are just missing the right people to make it happen. A lot of the tasks are seemingly blocked because they are not yet problems to other teams.

Maybe we need some way to make them a problem for them. *shifty eyes*

In terms of skin class - this is to support a different skin for beta experiments. I suspect it could be changed to skin name, it would just mean that the mobile beta site would become a separate skin.

Awesome. That should be in core.

I think this is the same as https://phabricator.wikimedia.org/T71366 and all its sub tasks. Another potential flavour of that card is MobileFrontend just provides the ability to enable a mobile site (and maybe provide the formatter for section wrapping and main page special casing) and a different skin for said mobile site.

T71366 is a lot of it, but I really would like to also see an extension that just rejigs a lot of non-skin-specific interface (layouts, special pages, what's even visible, etc). Doesn't MF do a lot of that currently, even if it is just in the minerva skin?

Yeh there are lots of tasks attempting to improve mobile friendliness on desktop. These tend to sit there though e.g. https://gerrit.wikimedia.org/r/236194 - a lot of patches have been abandoned over the years.. :/
People really don't like putting stuff in core ;)

To be clear, the teams committed to doing this, I think we are just missing the right people to make it happen. A lot of the tasks are seemingly blocked because they are not yet problems to other teams.

Maybe we need some way to make them a problem for them. *shifty eyes*

In terms of skin class - this is to support a different skin for beta experiments. I suspect it could be changed to skin name, it would just mean that the mobile beta site would become a separate skin.

Awesome. That should be in core.

Removed project as I'd like the card T71366 to capture actionables. Feel free to add new ones to it.

Yeh there are lots of tasks attempting to improve mobile friendliness on desktop. These tend to sit there though e.g. https://gerrit.wikimedia.org/r/236194 - a lot of patches have been abandoned over the years.. :/
People really don't like putting stuff in core ;)

It's difficult to get different teams and random passerby to go through and review stuff even when they are working on related things, yes. That's a problem too, though I would have expected you to be in a better position than some of us actually being within the foundation. Interesting.

Unless it's a quarterly goal I'm just a volunteer on such initiatives so sadly it's worse. The most progress we've made in this was when @matmarex was working on multimedia viewer and shared a common problem and helped us upstream a lot of API code we needed.

The way I see this is:

  • We generalise MobileFrontend to just be an extension that allows you to serve a different skin to mobile users
  • The extension customises the footer of the active skin to display switch to mobile/desktop links
  • It support target mode so that you can blacklist all JavaScript/CSS in your skin, until your skin is transitioned to a mobile friendly one.

Most of the above is done by:
https://gerrit.wikimedia.org/r/#/c/243226/1

We'd then break out Minerva into its own skin (this is more of a headache then a problem - a middle ground would be to at least make it a submodule of the extension)

All the special pages that remain in MobileFrontend would need to be upstreamed into core or broken out into separate extensions. The same would need to happen with the inline diff format.

I think a lot of the issues people have with MobileFrontend is there is so much code it's hard to see what's going on there but really all it is is a skin, the separate mobile site mechanism and some special pages. I'm keen to remove this confusion.

The way I see this is:

  • We generalise MobileFrontend to just be an extension that allows you to serve a different skin to mobile users
  • The extension customises the footer of the active skin to display switch to mobile/desktop links

All of this would make sense to have in core directly, no?

Congratulations! This is one of the 52 proposals that made it through the first deadline of the Wikimedia-Developer-Summit-2016 selection process. Please pay attention to the next one: > By 6 Nov 2015, all Summit proposals must have active discussions and a Summit plan documented in the description. Proposals not reaching this critical mass can continue at their own path out of the Summit.

I think this is the same as https://phabricator.wikimedia.org/T71366 and all its sub tasks. (...) To be clear, the teams committed to doing this, I think we are just missing the right people to make it happen. A lot of the tasks are seemingly blocked because they are not yet problems to other teams.

For all these reasons, this looks like a good candidate for a Summit proposal so far. Are the potentially interested people / teams aware of this proposal? Having them subscribed to this task could be a first step to de-block the situation beyond @Isarra and @Jdlrobson's personal interests in this topic. Moving to On Track, even if a clearer description of the Summit goals and ongoing discussion is welcomed (another reasons to bring more people here).

Are the potentially interested people / teams aware of this proposal? Having them subscribed to this task could be a first step to de-block the situation beyond @Isarra and @Jdlrobson's personal interests in this topic.

Actually we may just do all the stuff without this, rate Jon was going. Problem is all the priorities are elsewhere.

Actually we may just do all the stuff without this, rate Jon was going. Problem is all the priorities are elsewhere.

Without this? I'm having difficulty fully understanding your comment, but it seems very foolish to give up on this task, if that's what you're suggesting.

You're right, that was a bit hasty and ill-advised, especially given neither of us have the time or resources to to do much. I'm not really sure why I said that.

This session proposal has been defined as a must-have that Needs more investigation at T119593. People involved in the definition program like @Volker_E, @Krinkle (T119162#1861071), and @daniel (T119032) are recommending to pre-schedule it. Other senior contributors (i.e. @bd808 T119162#1852747) are also identifying this subject as important.

Still, it is unclear what are the realistic goals of the session, and what could be discussed before & after. @Jdlrobson (one of the MobileFrontend maintainers) has expressed some opinions, but he has also made clear that these are just his personal opinions as long as there are no team goals aligned with this proposal.

Can the Desktop & Mobile Web team define their interest and involvement in this proposal, please? Not having a quarterly goal directly mapping to it is fine, but at least we need to assure the involvement of the team in this discussion.

Hi Quim -- we'll take a look next week. It's very connected to the work on the mobile presentation that we're doing right now.

-Toby

Wikimedia Developer Summit 2016 ended two weeks ago. This task is still open. If the session in this task took place, please make sure 1) that the session Etherpad notes are linked from this task, 2) that followup tasks for any actions identified have been created and linked from this task, 3) to change the status of this task to "resolved". If this session did not take place, change the task status to "declined". If this task itself has become a well-defined action which is not finished yet, drag and drop this task into the "Work continues after Summit" column on the project workboard. Thank you for your help!

Isarra claimed this task.

Didn't happen as such at the summit. The general discussion and work continues on the overall problem, however.