User:JHernandez (WMF)/MFnext


There are 3 main layers to consider for the future of the mobile website (Opinions. Everybody has them).

Consuming content from REST services[edit]

Moving content consumption to REST services so that we can

  • share endpoints and efforts between platforms and features
  • remove the tech debt source in ApiMobileView and MobileFormatter
  • provide better features and interactions in the client (enabled by being able to use APIs from it)

Improve front-end tooling and stack[edit]

To be more effective and deliver a better product introducing a build step so that we can use modern tooling that will allow us to

  • test more easily and in an isolated way
  • user latest well maintained tools (like lessc or uglifyjs) instead of the unofficial Php versions
  • serve source maps in development and production for better debuggability
  • use uglifyjs to minify our sources and deliver ~30% smaller payloads to our users
  • pre-compile assets like templates, pre-process assets like images
  • use a module system and automatically bundle sources instead of having to manually update the dependencies between files manually

Provide a progressive webapp experience[edit]

In order to provide a faster and better product, moving the mobile website to be a website that progresses to a web application and leverages service workers for caching and an offline experience.

  • solve the cached vs cached assets issue by versioning served frontend assets
  • deliver a fast cached experience on first visit for both anon and logged in users
  • deliver an app like UX experience (better UI, fluid interactions, no blank loading pages) after the initial load
  • instant load on second visit
  • provide an offline web experience (pending research results)