Page MenuHomePhabricator

Increase mobile performance for 2G connections
Closed, InvalidPublic

Tokens
"Mountain of Wealth" token, awarded by Capt_Swing."Pterodactyl" token, awarded by yuvipanda."Love" token, awarded by Niedzielski."Love" token, awarded by Quiddity."Love" token, awarded by Volker_E."Love" token, awarded by Jhernandez.
Assigned To
None
Authored By
Peter, Oct 28 2015

Description

Background

We have multiple tasks for increasing the performance for the mobile web, Lets look at the background why it is super important to have a site that is fast for users with slow (2G) connections.

2G usage in the world

First lets look what kind of connections people uses in the world. Almost no one have 2G in North America but the rest of the world the situation is different.

Then it becomes really interesting by looking at the same numbers but scaled by market size:

Next 5 years

This graphs shows us what the growth will look like for smartphones:


The growth will happen where there's a lot of 2G users.

Proxy browsers?

But what about "proxy" browsers? A proxy browser is a browser where the content is prepared on the server side like Opera Mini, UC or Chrome with data reduction turned on. These browsers are mostly used where the connection type is slow and make the browser experience better. The numbers I've found doesn't perfectly add up but it seems like these browsers are still a fraction of the internet traffic. The first image shows percentage by OS where proxy browser are in the others.

And this chart show how much is actually by individual proxy browser:

The proxy browser users are a fraction of the total browsers.

All the graphs are taken from Tim Kadlecs talk Better By Proxy and Maximiliano Firtmans talk Extreme Web Performance for mobile devices.

Conclusion

The majority of the mobile users in the world uses a 2G connection, the growth will happen in the countries where the 2G usage is highest. And proxy browsers usage is low so it doesn't solve the problem. We need to have a site that is fast on 2G.

Actions

There are a couple of things that needs to be done to make the mobile experience faster (high level):

  • decrease the size of HTML sent to the browser (send a small chunk first so the browser can start render and then lazy load the rest)
  • inline the most important CSS so that the page can start render with only HTML (and lazy load the rest)
  • decrease the image sizes (higher compression) and lazy load images

When we have that, we can look at changing the inlined data:image encoded images to be real images because they halt the rendering + takes extra CPU to create for the browser.

An alternative is also to look at the possibility to mark IP:s as slow and serve a specific version of the site to slow networks.

Event Timeline

Peter created this task.Oct 28 2015, 11:20 PM
Peter updated the task description. (Show Details)
Peter raised the priority of this task from to Needs Triage.
Peter added a project: Performance-Team.
Peter added a subscriber: Peter.
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptOct 28 2015, 11:20 PM
JKatzWMF set Security to None.Oct 30 2015, 9:39 PM
JKatzWMF added subscribers: Jdlrobson, Jhernandez.
ori triaged this task as High priority.Nov 2 2015, 7:36 PM
ori moved this task from Inbox to Backlog: Small & Maintenance on the Performance-Team board.

This is awesome.

atgo added a subscriber: atgo.Nov 24 2015, 1:58 PM
Volker_E added a subscriber: Volker_E.
Niedzielski added a subscriber: Niedzielski.
Krinkle renamed this task from Increase mobile performance for 2G connections to Increase mobile performance for 2G connections (tracking).Mar 30 2016, 1:29 AM
Krinkle added a project: Readers-Web-Backlog.
Krinkle changed the task status from Duplicate to Invalid.

The research shared on this task is very useful however as a task it isn't very actionable on its own.

Merged it into the tracking task at T113066: [GOAL] Make Wikipedia more accessible to 2G connections. That task has many action items towards this task's goal.

Phabricator_maintenance renamed this task from Increase mobile performance for 2G connections (tracking) to Increase mobile performance for 2G connections.Aug 13 2016, 9:35 PM