low-resource settings leveraging the mobile web in

103
Leveraging the Mobile Web in Low-Resource Settings Sam Sudar

Upload: others

Post on 22-Feb-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Low-Resource Settings Leveraging the Mobile Web in

Leveraging the Mobile Web in Low-Resource SettingsSam Sudar

Page 2: Low-Resource Settings Leveraging the Mobile Web in

1. ICTD

2. DUCES Model

3. Siskin

Page 3: Low-Resource Settings Leveraging the Mobile Web in

1. ICTD

2. DUCES Model

3. Siskin

Page 4: Low-Resource Settings Leveraging the Mobile Web in

Information andCommunicationTechnology forDevelopment

Page 5: Low-Resource Settings Leveraging the Mobile Web in

‘social, economic, and political development, with a particular emphasis on helping poor and marginalized people and communities’

https://en.wikipedia.org/wiki/Information_and_communication_technologies_for_development

Page 6: Low-Resource Settings Leveraging the Mobile Web in
Page 7: Low-Resource Settings Leveraging the Mobile Web in
Page 8: Low-Resource Settings Leveraging the Mobile Web in
Page 9: Low-Resource Settings Leveraging the Mobile Web in
Page 10: Low-Resource Settings Leveraging the Mobile Web in
Page 11: Low-Resource Settings Leveraging the Mobile Web in

Image Credit: JGI

Page 12: Low-Resource Settings Leveraging the Mobile Web in
Page 13: Low-Resource Settings Leveraging the Mobile Web in
Page 14: Low-Resource Settings Leveraging the Mobile Web in
Page 15: Low-Resource Settings Leveraging the Mobile Web in
Page 16: Low-Resource Settings Leveraging the Mobile Web in
Page 17: Low-Resource Settings Leveraging the Mobile Web in
Page 18: Low-Resource Settings Leveraging the Mobile Web in
Page 19: Low-Resource Settings Leveraging the Mobile Web in

In the Developing World:

- 80% have access to a mobile phone- 31% have internet access

The World Bank. World Development Report 2016: Digital Dividends.

Page 20: Low-Resource Settings Leveraging the Mobile Web in

My Work

Page 21: Low-Resource Settings Leveraging the Mobile Web in

D.U.C.E.S.

Page 22: Low-Resource Settings Leveraging the Mobile Web in

D.U.C.E.S.

Page 23: Low-Resource Settings Leveraging the Mobile Web in

1. ICTD

2. DUCES Model

3. Siskin

Page 24: Low-Resource Settings Leveraging the Mobile Web in

DUCES: helps people tweak requirements to fit technology

Page 25: Low-Resource Settings Leveraging the Mobile Web in

- Data collection- Mobile workflows- Where is complexity hiding?

Focus

Page 26: Low-Resource Settings Leveraging the Mobile Web in

Hope Study0 3 6

Page 27: Low-Resource Settings Leveraging the Mobile Web in

- Desktop web app- Log in, edit online- Server sends email reminders- Logic programmed on server

Seattle-based Study

Page 28: Low-Resource Settings Leveraging the Mobile Web in

- Must work offline- Mobile-based edits- Hired workers- Shared mobile phones

Kenya-based Study

Page 29: Low-Resource Settings Leveraging the Mobile Web in

Hope Study0 3 6

Page 30: Low-Resource Settings Leveraging the Mobile Web in

- Requires a developer- They don’t have a developer

Problem

Page 31: Low-Resource Settings Leveraging the Mobile Web in

- Requirements can be flexible- Don’t know what to change

DUCES insight

Page 32: Low-Resource Settings Leveraging the Mobile Web in

Data flowUser interfaceConnectivityEdit modelServer

Sources of Complexity

Page 33: Low-Resource Settings Leveraging the Mobile Web in

Data Flow

Unidirectional Bidirectional

Page 34: Low-Resource Settings Leveraging the Mobile Web in

User Interface

Form-based App-UI

Page 35: Low-Resource Settings Leveraging the Mobile Web in

Connectivity and Edit Model

ConnectedUnordered

DisconnectedTransactional

- One-time creation- e.g. logging temperature

- Logical edits- e.g. bank withdrawals

Page 36: Low-Resource Settings Leveraging the Mobile Web in

Server

Bucket Processed

Page 37: Low-Resource Settings Leveraging the Mobile Web in

Hope Study0 3 6

Page 38: Low-Resource Settings Leveraging the Mobile Web in

UIform-based

Data Flowbidirectional

Connectivitydisconnected

Serverprocessed

Edit Modelunordered

Page 39: Low-Resource Settings Leveraging the Mobile Web in

Hope Study0 3 6

Page 40: Low-Resource Settings Leveraging the Mobile Web in

Data Flowbidirectional

UIform-based

Connectivitydisconnected

Edit Modelunordered

Serverprocessed

Page 41: Low-Resource Settings Leveraging the Mobile Web in

Serverunprocessed

Data Flowunidirectional

UIform-based

Connectivitydisconnected

Edit Modelunordered

Page 42: Low-Resource Settings Leveraging the Mobile Web in

- Running for over 4 years- Limited tech support- DUCES helped identify complexity

Hope Study

Page 43: Low-Resource Settings Leveraging the Mobile Web in

My Work

Page 44: Low-Resource Settings Leveraging the Mobile Web in

1. ICTD2. DUCES Model3. Siskin

Page 45: Low-Resource Settings Leveraging the Mobile Web in

Offline Educational Resources

Page 46: Low-Resource Settings Leveraging the Mobile Web in
Page 47: Low-Resource Settings Leveraging the Mobile Web in
Page 48: Low-Resource Settings Leveraging the Mobile Web in
Page 49: Low-Resource Settings Leveraging the Mobile Web in

Image Credit: Widernet

Page 50: Low-Resource Settings Leveraging the Mobile Web in

- $$$- Can’t add content - Hard to maintain

Not Perfect

Page 51: Low-Resource Settings Leveraging the Mobile Web in

- Free on existing infrastructure- Local content curation- Easy installation- Minimal configuration

Ideally

Page 52: Low-Resource Settings Leveraging the Mobile Web in

Siskin lets you save and share web content directly from the browser.

Page 53: Low-Resource Settings Leveraging the Mobile Web in

Demo

Page 54: Low-Resource Settings Leveraging the Mobile Web in

In case the demo gods were against us...

Page 55: Low-Resource Settings Leveraging the Mobile Web in
Page 56: Low-Resource Settings Leveraging the Mobile Web in
Page 57: Low-Resource Settings Leveraging the Mobile Web in
Page 58: Low-Resource Settings Leveraging the Mobile Web in
Page 59: Low-Resource Settings Leveraging the Mobile Web in

wikipedia.org/Cat

Extension App

Architecture

Page 60: Low-Resource Settings Leveraging the Mobile Web in

- Saves pages- Annotates links- Redirects to local

resources

Extension

Page 61: Low-Resource Settings Leveraging the Mobile Web in

- Discovers peers- Talks to peers- List UI

App

Page 62: Low-Resource Settings Leveraging the Mobile Web in

- Find peers?- Transfer data?- Annotate Links?

How does this work?

Page 63: Low-Resource Settings Leveraging the Mobile Web in

How do we find peers?

Page 64: Low-Resource Settings Leveraging the Mobile Web in

Multicast DNS- Network-local DNSDNS-Based Service Discovery- Use DNS as a database

Zero-conf: it just works

Page 65: Low-Resource Settings Leveraging the Mobile Web in

Review: Regular IP

172.28.7.80

172.28.7.80 Goes to one device172.28.7.80

Page 66: Low-Resource Settings Leveraging the Mobile Web in

Review: Multicast IP

224.0.0.*

224.0.0.*

224.0.0.* Goes to all devices

Page 67: Low-Resource Settings Leveraging the Mobile Web in

Review: DNS

A? www.google.com

A 216.58.216.164

Response comes from remote server

Page 68: Low-Resource Settings Leveraging the Mobile Web in

Multicast DNS (mDNS)

A? www.google.com

A 216.58.216.164

224.0.0.251:5353

Response comes from device on local network

Page 69: Low-Resource Settings Leveraging the Mobile Web in

DNS-Based Service Discovery (DNS-SD)

Tyrion

172.28.7.90:8888

Page 70: Low-Resource Settings Leveraging the Mobile Web in

DNS-Based Service Discovery (DNS-SD)

Jon

Arya

Tyrion

PTR?

172.28.7.90:8888

Page 71: Low-Resource Settings Leveraging the Mobile Web in

DNS-Based Service Discovery (DNS-SD)

Jon

Arya

Tyrion

PTR

PTRPTR Arya.siskin.tcp

PTR Tyrion.siskin.tcp

172.28.7.90:8888

Page 72: Low-Resource Settings Leveraging the Mobile Web in

DNS-Based Service Discovery (DNS-SD)

Jon

Arya

Tyrion

SRV?Tyrion.siskin.tcp

PTR Arya.siskin.tcp

PTR Tyrion.siskin.tcp

172.28.7.90:8888

Page 73: Low-Resource Settings Leveraging the Mobile Web in

DNS-Based Service Discovery (DNS-SD)

Jon

Arya

Tyrion

SRVtyrion.local 8888

PTR Arya.siskin.tcp

PTR Tyrion.siskin.tcp

SRV tyrion.local 8888

PTR Arya.siskin.tcp

PTR Tyrion.siskin.tcp

172.28.7.90:8888

Page 74: Low-Resource Settings Leveraging the Mobile Web in

DNS-Based Service Discovery (DNS-SD)

Jon

Arya

Tyrion

PTR Arya.siskin.tcp

PTR Tyrion.siskin.tcp

SRV tyrion.local 8888

172.28.7.90:8888

Page 75: Low-Resource Settings Leveraging the Mobile Web in

DNS-Based Service Discovery (DNS-SD)

Jon

Arya

Tyrion

A?tyrion.local

PTR Arya.siskin.tcp

PTR Tyrion.siskin.tcp

SRV tyrion.local 8888

172.28.7.90:8888

Page 76: Low-Resource Settings Leveraging the Mobile Web in

DNS-Based Service Discovery (DNS-SD)

Jon

Arya

Tyrion

A172.28.7.90

PTR Arya.siskin.tcp

PTR Tyrion.siskin.tcp

SRV tyrion.local 8888

A 172.28.7.90

PTR Arya.siskin.tcp

PTR Tyrion.siskin.tcp

SRV tyrion.local 8888

172.28.7.90:8888

Page 77: Low-Resource Settings Leveraging the Mobile Web in

DNS-Based Service Discovery (DNS-SD)

Jon

Arya

Tyrion

A172.28.7.90

PTR Arya.siskin.tcp

PTR Tyrion.siskin.tcp

SRV tyrion.local 8888

A 172.28.7.90

PTR Arya.siskin.tcp

PTR Tyrion.siskin.tcp

SRV tyrion.local 8888

172.28.7.90:8888

Page 78: Low-Resource Settings Leveraging the Mobile Web in

P2P Transfer

Page 79: Low-Resource Settings Leveraging the Mobile Web in

WebRTC

Page 80: Low-Resource Settings Leveraging the Mobile Web in

WebRTC

Page 81: Low-Resource Settings Leveraging the Mobile Web in

WebRTC

172.28.7.90:8888WebRTC?

WebRTC.

Page 82: Low-Resource Settings Leveraging the Mobile Web in

Now we can talk, what do we say?

- List content- Annotate links

Page 83: Low-Resource Settings Leveraging the Mobile Web in

List Content

Page 84: Low-Resource Settings Leveraging the Mobile Web in

List Content

Page 85: Low-Resource Settings Leveraging the Mobile Web in

List Content

khanacademy.org/math1nytimes.com/story1

wikipedia.org/Cat

Page 86: Low-Resource Settings Leveraging the Mobile Web in

List Content

Page 87: Low-Resource Settings Leveraging the Mobile Web in

Annotate Links

Page 88: Low-Resource Settings Leveraging the Mobile Web in

Annotate Links: naively

khanacademy.org/math1nytimes.com/story1

wikipedia.org/Catkhanacademy.org/math1nytimes.com/story1wikipedia.org/Cat……………

Page 89: Low-Resource Settings Leveraging the Mobile Web in

1000 pages * 51 characters = 51 kB10 peers * (51 * 9) = 4.59 MB40 peers * (51 * 39) = 79.59 MB

Hard on bandwidth

Page 90: Low-Resource Settings Leveraging the Mobile Web in

List

- Is this page available?- Yes, 100%!

Bloom Filter

- Is this page available?- Probably. 99.9%

Page 91: Low-Resource Settings Leveraging the Mobile Web in

Bloom Filter

https://en.wikipedia.org/wiki/Bloom_filter

Page 92: Low-Resource Settings Leveraging the Mobile Web in

Bloom Filter

Page 93: Low-Resource Settings Leveraging the Mobile Web in

1,000 pages, 0.001 FP = 1.8 kB10 peers * (1.8 * 9) = 162 kB40 peers * (1.8 * 39) = 2.8 MB

Better on bandwidth

Page 94: Low-Resource Settings Leveraging the Mobile Web in

0 1 1 0 0 1 0

80 MB to 3 MB with 40 peers

0 1 1 0 0 1 0

1 0 0 1 1 0 0

Bloom Filter

1 0 0 1 1 0 0

Page 95: Low-Resource Settings Leveraging the Mobile Web in

Does this work?

Page 96: Low-Resource Settings Leveraging the Mobile Web in

Transfer Speed

Page 97: Low-Resource Settings Leveraging the Mobile Web in
Page 98: Low-Resource Settings Leveraging the Mobile Web in

Query Latency: 30 peers; 1000 pages

Page 99: Low-Resource Settings Leveraging the Mobile Web in

Bandwidth Impact: 1,000 pages per peer

Page 100: Low-Resource Settings Leveraging the Mobile Web in

Conclusion

- Free- Can curate content- Piggybacks on distribution- Rachel and eGranary could use

this approach as well

Page 101: Low-Resource Settings Leveraging the Mobile Web in
Page 102: Low-Resource Settings Leveraging the Mobile Web in

Richard AndersonMatt Welsh

Clarice, Mitch, and JeffSaloni Parikh and the undergrads

Page 103: Low-Resource Settings Leveraging the Mobile Web in

Thank you!Questions?

Paul G. Allen School for Computer Science and Engineering