Still digging into it, but some preliminary results…
There is an increase across the board. Results for May 1st runs and query below:
SELECT * FROM
(SELECT
'iPhone',
ROUND(AVG(bytes)) average,
NTH(10, quantiles(bytes,101)) tenth,
NTH(20, quantiles(bytes,101)) twentieth,
NTH(30, quantiles(bytes,101)) thirtieth,
NTH(40, quantiles(bytes,101)) fortieth,
NTH(50, quantiles(bytes,101)) fiftieth,
NTH(60, quantiles(bytes,101)) sixtieth,
NTH(70, quantiles(bytes,101)) seventieth,
NTH(80, quantiles(bytes,101)) eightieth,
NTH(90, quantiles(bytes,101)) ninetieth,
NTH(95, quantiles(bytes,101)) ninety_fifth,
NTH(99, quantiles(bytes,101)) ninety_ninth
FROM (
SELECT
ROUND(bytesTotal / 1024) AS bytes
FROM [httparchive:runs.2016_05_01_pages_mobile]
)
),
(SELECT 'android',
ROUND(AVG(bytes)) average,
NTH(10, quantiles(bytes,101)) tenth,
NTH(20, quantiles(bytes,101)) twentieth,
NTH(30, quantiles(bytes,101)) thirtieth,
NTH(40, quantiles(bytes,101)) fortieth,
NTH(50, quantiles(bytes,101)) fiftieth,
NTH(60, quantiles(bytes,101)) sixtieth,
NTH(70, quantiles(bytes,101)) seventieth,
NTH(80, quantiles(bytes,101)) eightieth,
NTH(90, quantiles(bytes,101)) ninetieth,
NTH(95, quantiles(bytes,101)) ninety_fifth,
NTH(99, quantiles(bytes,101)) ninety_ninth
FROM (
SELECT
ROUND(INTEGER(JSON_EXTRACT(payload, '$._bytesIn')) / 1024) AS bytes
FROM [httparchive:har.2016_05_01_android_pages]
)
)
We can compute the byte diffs and the results are a wee bit scary:
Spreadsheet with all of the results: https://docs.google.com/spreadsheets/d/1LiQ180eIKxe_Nq4rUZUWr8YBC60ukzB5xKXn-BcDWSE/edit#gid=1543584302
SELECT url, (androidKBytes-iphoneKBytes) as diff, androidKBytes, iphoneKBytes
FROM (
SELECT
url,
ROUND(INTEGER(JSON_EXTRACT(payload, '$._bytesIn')) / 1024) AS androidKBytes,
iphoneKBytes
FROM [httparchive:har.2016_05_01_android_pages] as android
JOIN
(SELECT
url as iphonePage,
ROUND(bytesTotal / 1024) AS iphoneKBytes
FROM [httparchive:runs.2016_05_01_pages_mobile]
) as iphone
ON url = iphonePage
)
ORDER BY diff desc
Digging a bit deeper into some of the above results shows that main culprits are video and gifs… For example, consider asu.edu:
SELECT
INTEGER(JSON_EXTRACT_SCALAR(payload, '$._bytesIn')) as bytes,
url
FROM [har.2016_05_01_android_requests]
WHERE page = 'http://www.asu.edu/'
ORDER BY bytes desc
LIMIT 5
Here are the top requests, by weight, for the heaviest pages:
SELECT
page,
ROUND(INTEGER(JSON_EXTRACT_SCALAR(payload, '$._bytesIn'))/1024) as kbytes,
url
FROM [har.2016_05_01_android_requests]
WHERE page IN (
SELECT url FROM (
SELECT url, (androidKBytes-iphoneKBytes) as diff, androidKBytes, iphoneKBytes
FROM (
SELECT
url,
ROUND(INTEGER(JSON_EXTRACT(payload, '$._bytesIn')) / 1024) AS androidKBytes,
iphoneKBytes
FROM [httparchive:har.2016_05_01_android_pages] as android
JOIN
(SELECT
url as iphonePage,
ROUND(bytesTotal / 1024) AS iphoneKBytes
FROM [httparchive:runs.2016_05_01_pages_mobile]
) as iphone
ON url = iphonePage
)
ORDER BY diff desc
)
LIMIT 100
)
ORDER BY kbytes desc
LIMIT 100