Page MenuHomePhabricator

Remove the MobileView API
Open, Stalled, MediumPublic

Description

NOTE: Removing this is blocked on T43716, T236733, and T236731

The MobileView API was originally made for apps. Now that the Page Content Service is being used by the apps, MobileView's value is questionable given its maintenance cost.

It has been marked as deprecated in T210808. Of course deprecating should be done carefully - there may be other consumers of this API, but we should explore who they are and how we can get them using MCS.

Note: The MobileFormatter will continue to exist for MediaWiki mobile web views. The MobileView API actually has a lot of logic that is not shared by the MobileFormatter.

Problems with the API

  • Older versions of the apps use it for main page
  • Uses an API parameter names inconsistent with action=parse
  • Has a mainpage parameter that doesn't do anything.
  • Nobody is maintaining it any more.

Timeline

As of June 2020, neither of the current app releases (iOS 6.6 and Android 2.7.50320) relies on MobileView directly. They are using the Page Content Service. Prior to these releases, the Android app was using the Mobile Content Service and the iOS app was using MobileView. Enough users will have to upgrade to Wikipedia for iOS 6.6 or newer before MobileView can be removed (T236731).

The other element blocking removal of MobileView is incomplete language variant support in Parsoid (T43716). The Page Content Service uses Parsoid for most wikis but needs to use the MobileView API for Chinese Wikipedia. Once T43716 is completed, the Page Content Service will need to be updated to remove dependence on MobileView for zhwiki (T43716).

Related Objects

StatusSubtypeAssignedTask
StalledNone
DeclinedNone
Opencscott
OpenNone
OpenNone
Invalid GWicke
Resolvedliangent
Resolvedthiemowmde
OpenNone
Resolvedcscott
Resolvedcscott
ResolvedElitre
Resolvedcscott
Resolvedcscott
Resolvedcscott
Resolvedcscott
Resolvedcscott
OpenNone
Resolvedcscott
Opencscott
Opencscott
Opencscott
OpenNone
DeclinedNone
ResolvedJdlrobson
ResolvedJdlrobson
DuplicateNone
DuplicateNone
ResolvedTgr
ResolvedAnomie
Resolvedtstarling
Resolvedcoren
ResolvedAnomie
OpenBUG REPORTNone
ResolvedAnomie
ResolvedEsanders
ResolvedEsanders
Resolvedssastry
ResolvedAnomie
ResolvedCKoerner_WMF
Resolvedjhsoby
ResolvedTgr
DeclinedTgr
Resolvedcoren
ResolvedAnomie
ResolvedTgr
DeclinedNone
Resolvedssastry
ResolvedTgr
ResolvedTgr
ResolvedTgr
ResolvedDeskana
ResolvedCKoerner_WMF
ResolvedWhatamidoing-WMF
ResolvedTgr
ResolvedTgr
ResolvedTgr
ResolvedUrbanecm
ResolvedTgr
ResolvedTacsipacsi
ResolvedTgr
ResolvedCKoerner_WMF
ResolvedJdlrobson
DeclinedNone
DeclinedNone
OpenNone
ResolvedAmmarpad
ResolvedJdlrobson
ResolvedKizule
ResolvedKizule
DuplicateBrandonXLF
ResolvedJdlrobson
ResolvedAmmarpad
ResolvedJdlrobson
ResolvedJdlrobson
ResolvedJdlrobson

Event Timeline

Jdlrobson created this task.Feb 6 2018, 6:01 PM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptFeb 6 2018, 6:01 PM

The Android app still uses the mobileview API for certain classes of page requests, most notably for zhwiki page requests because language variant support is still lacking in the Parsoid/RB stack (T43716: [EPIC] Support language variant conversion in Parsoid, T159985: Implement language variant support in the REST API).

AFAIK the iOS app still uses the mobileview API for all page loads. If there's a plan to transition the iOS app to MCS page loads, I'm not aware of it. (Ping @JoeWalsh: any updates on this front?)

I guess it's still appropriate to formally deprecate this, just wanted to point out that it's still very much in use.

@Mholloway updating to MCS is on our radar (and we've done some of the initial legwork) but so far not on any roadmap. We could change that though if it's imperative to switch. CC @Mhurd @JMinor

Definitely. To be clear we are just thinking about this at the moment. There are no plans to remove it completely yet but we are thinking we might want to discourage its use. T43716 would be a blocker for doing that.

@Jdlrobson MCS is currently using action=mobileview for the main pages since the content of the main page content is not responsive. Hoping for T138622#3416133 to get done. Then we could get rid of the special handling there.

Jdlrobson triaged this task as Medium priority.Jul 10 2018, 9:37 PM
JoeWalsh updated the task description. (Show Details)Mar 27 2019, 4:59 PM

The PageGateway uses the mobileview api to get and allow lazy loaded references and to get pages. How could this work without the MobileView API? Can it work? What are alternative options?

One alternative could be the references endpoint in PCS. The drawback for the web is probably that it requires RESTBase, though.

Jdlrobson updated the task description. (Show Details)Oct 28 2019, 7:46 PM
Jdlrobson updated the task description. (Show Details)
Jdlrobson renamed this task from [EPIC] Deprecate the MobileView API to Remove the MobileView API.Dec 19 2019, 4:09 PM
Jdlrobson changed the task status from Open to Stalled.
Jdlrobson updated the task description. (Show Details)
JoeWalsh updated the task description. (Show Details)Mar 19 2020, 4:18 PM
JoeWalsh updated the task description. (Show Details)Jun 4 2020, 3:52 PM
Restricted Application added a subscriber: Cosine02. · View Herald TranscriptJun 4 2020, 3:52 PM
Jdlrobson moved this task from Inbox to Doing on the User-Jdlrobson board.
Jdlrobson moved this task from Doing to Next up on the User-Jdlrobson board.