MobileFrontend currently allows local wikis to serve an entirely different main page to mobile users. They can do this by marking certain elements for display with id attributes "mf-" or "mp-". When an element is found to be marked in this way it will be shown and all other elements will be hidden.
This is bad for several reasons:
- editors now maintain 2 versions of the main page.
- The mobile page is inferior in terms of functionality and the desktop page is inferior due to not working well on smaller displays.
- many mobile home pages look inferior and less colorful than their desktop counterparts as this mechanism provides a quick fix that usually has substandard results (compare desktop English Wikivoyage to mobile Wikivoyage for example) - why can't mobile have nice carousels too?
- the code is badly documented and not generic - it only works on the main page. we should develop/encourage generic tools that can be used on all pages (not just main page) for editors to use to make content mobile friendly
- first visitors of the main page will incur a small performance penalty. This will hit all logged in users.
- the different handling of the main page means additional testing is needed and main page only regressions are possible.
- the only way to get a mobile friendly main page is via the mobileview API. Other API requests will return the desktop format
Things that need to be addressed:
- There is no reason for table based layouts in 2016 for main pages - similar displays can be realised using block elements and floating
- with TemplateStyles it will be possible to have media queries which will allow identical content on both mobile and desktop screens.