to 23 markets
in 15 countries
more coming
more challenging markets
Slow networks (3G = 2.1G)
Unreliable infrastructure
Overloaded base stations
Weather
User research
*Very* aware of cost
Shut off data
Even wifi can cost
big opportunity to differentiate
Dropped packets
Request timeouts
Non-functional apps
Waste of user's money
Battery quickdeath
Load on base station
Very unhappy users
Very unhappy operators
Not new problems
Lots of research in the field
Little being applied on the Web
Huge wins possible
University of Michigan
Graduate research lab on mobile performance
Mostly focused on Android on fast networks
But a lot of the findings apply...
Radio chips: high/low power mode
Radio Resource Controls (RRC) timers
High power mode stays on after activity
wasted power: "tail energy"
Tell chip that we're done
Little/no access via chipset vendors
Can infer via power measurement
But variable per chipset/network
Even so, problematic to have that access
"Yo, I'm done."
Local passive measurement of cellular load
Complex, requires low-level radio access
Could measure requests on ongoing basis?
Still requires high-level positive patterns
Bars don't tell the whole story
Strong link != low latency
Weak link != high latency
Neither signal throughput well
We need to think creatively about how to address these problems in a web-developer-friendly way that quantifiably impacts users.
Tail energy, weak signal, high latency
App developers shouldn't have to care
Positive patterns for built-in awareness
Or at least make it super easy
https://github.com/mmes2/muse
Experiment based on the research our teams did in Brasil, Columbia, Thailand, India
News reader app that targets new smartphone user, mostly offline, commutes a lot.
Self-configuring (geolocation)
Auto populating
Offline reading
Content skinny
Network condition aware
JUST WORKS
Passive network info collector
Network info database
Network analysis
= Predict opportunity windows
Non-critical requests
Proactive: piggybacking
Last-network-access timestamp
"Now is good" events
Low-budget latency analysis
XHR option to defer
https://wiki.mozilla.org/FirefoxOS/Research