Page MenuHomePhabricator

Increase mobile performance for 2G connections
Closed, InvalidPublic

Assigned To
None
Authored By
Peter
Oct 28 2015, 11:20 PM
Referenced Files
F2885379: mobile-by-region-market-size.png
Oct 28 2015, 11:20 PM
F2885381: smartphone-subscription.png
Oct 28 2015, 11:20 PM
F2887822: Screen Shot 2015-10-28 at 11.27.23 PM.png
Oct 28 2015, 11:20 PM
F2887818: Screen Shot 2015-10-28 at 11.27.07 PM.png
Oct 28 2015, 11:20 PM
F2885377: mobile-by-region.png
Oct 28 2015, 11:20 PM
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.

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.

mobile-by-region.png (1×1 px, 641 KB)

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

mobile-by-region-market-size.png (1×1 px, 541 KB)

Next 5 years

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

smartphone-subscription.png (1×2 px, 1021 KB)

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.

Screen Shot 2015-10-28 at 11.27.07 PM.png (678×1 px, 330 KB)

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

Screen Shot 2015-10-28 at 11.27.23 PM.png (614×1 px, 276 KB)

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 raised the priority of this task from to Needs Triage.
Peter updated the task description. (Show Details)
Peter added a project: Performance-Team.
Peter subscribed.
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: Web-Team-Backlog.
Krinkle changed the task status from Duplicate to Invalid.Mar 30 2016, 1:33 AM

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