Low-Resource Settings Leveraging the Mobile Web in

Post on 22-Feb-2022

3 views 0 download

Transcript of Low-Resource Settings Leveraging the Mobile Web in

Leveraging the Mobile Web in Low-Resource SettingsSam Sudar

1. ICTD

2. DUCES Model

3. Siskin

1. ICTD

2. DUCES Model

3. Siskin

Information andCommunicationTechnology forDevelopment

‘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

Image Credit: JGI

In the Developing World:

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

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

My Work

D.U.C.E.S.

D.U.C.E.S.

1. ICTD

2. DUCES Model

3. Siskin

DUCES: helps people tweak requirements to fit technology

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

Focus

Hope Study0 3 6

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

Seattle-based Study

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

Kenya-based Study

Hope Study0 3 6

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

Problem

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

DUCES insight

Data flowUser interfaceConnectivityEdit modelServer

Sources of Complexity

Data Flow

Unidirectional Bidirectional

User Interface

Form-based App-UI

Connectivity and Edit Model

ConnectedUnordered

DisconnectedTransactional

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

- Logical edits- e.g. bank withdrawals

Server

Bucket Processed

Hope Study0 3 6

UIform-based

Data Flowbidirectional

Connectivitydisconnected

Serverprocessed

Edit Modelunordered

Hope Study0 3 6

Data Flowbidirectional

UIform-based

Connectivitydisconnected

Edit Modelunordered

Serverprocessed

Serverunprocessed

Data Flowunidirectional

UIform-based

Connectivitydisconnected

Edit Modelunordered

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

Hope Study

My Work

1. ICTD2. DUCES Model3. Siskin

Offline Educational Resources

Image Credit: Widernet

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

Not Perfect

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

Ideally

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

Demo

In case the demo gods were against us...

wikipedia.org/Cat

Extension App

Architecture

- Saves pages- Annotates links- Redirects to local

resources

Extension

- Discovers peers- Talks to peers- List UI

App

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

How does this work?

How do we find peers?

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

Zero-conf: it just works

Review: Regular IP

172.28.7.80

172.28.7.80 Goes to one device172.28.7.80

Review: Multicast IP

224.0.0.*

224.0.0.*

224.0.0.* Goes to all devices

Review: DNS

A? www.google.com

A 216.58.216.164

Response comes from remote server

Multicast DNS (mDNS)

A? www.google.com

A 216.58.216.164

224.0.0.251:5353

Response comes from device on local network

DNS-Based Service Discovery (DNS-SD)

Tyrion

172.28.7.90:8888

DNS-Based Service Discovery (DNS-SD)

Jon

Arya

Tyrion

PTR?

172.28.7.90:8888

DNS-Based Service Discovery (DNS-SD)

Jon

Arya

Tyrion

PTR

PTRPTR Arya.siskin.tcp

PTR Tyrion.siskin.tcp

172.28.7.90:8888

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

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

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

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

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

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

P2P Transfer

WebRTC

WebRTC

WebRTC

172.28.7.90:8888WebRTC?

WebRTC.

Now we can talk, what do we say?

- List content- Annotate links

List Content

List Content

List Content

khanacademy.org/math1nytimes.com/story1

wikipedia.org/Cat

List Content

Annotate Links

Annotate Links: naively

khanacademy.org/math1nytimes.com/story1

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

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

Hard on bandwidth

List

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

Bloom Filter

- Is this page available?- Probably. 99.9%

Bloom Filter

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

Bloom Filter

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

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

Does this work?

Transfer Speed

Query Latency: 30 peers; 1000 pages

Bandwidth Impact: 1,000 pages per peer

Conclusion

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

this approach as well

Richard AndersonMatt Welsh

Clarice, Mitch, and JeffSaloni Parikh and the undergrads

Thank you!Questions?

Paul G. Allen School for Computer Science and Engineering