open source open data telling community stories using …€¦ · erlang/otp elixir cache (mnesia)...

27
TELLING COMMUNITY STORIES USING BROADBAND DATA ROBERT A. BALLANCE, PH.D. THE CENTER FOR INTERNET AS INFRASTRUCTURE, LLC. [email protected] Adoption & Use Anchor Institutions Demographics Economic Development Speed Tests Eco-Regions Provider Data County Typologies Place open data open source

Upload: others

Post on 04-Aug-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: open source open data TELLING COMMUNITY STORIES USING …€¦ · Erlang/OTP Elixir Cache (Mnesia) ETLData PostGIS UserInfo (PostgreSQL) Erlang SQL APIs ETL bash R SQL Elixir Tiger

TELLING COMMUNITY STORIES USING BROADBAND DATAROBERT A. BALLANCE, PH.D. THE CENTER FOR INTERNET AS INFRASTRUCTURE, LLC. [email protected]

Adoption& Use

AnchorInstitutions

Demographics

EconomicDevelopment

SpeedTests

Eco-Regions

ProviderData

CountyTypologies

Place

open data open source

Page 2: open source open data TELLING COMMUNITY STORIES USING …€¦ · Erlang/OTP Elixir Cache (Mnesia) ETLData PostGIS UserInfo (PostgreSQL) Erlang SQL APIs ETL bash R SQL Elixir Tiger

AP News: 3 million US students don’t have home internet

CharChart: Chart: A Data: Institute for Education Sciences,

Student Access to Digital Learning Resources Outside of the Classroom (2018)

Page 3: open source open data TELLING COMMUNITY STORIES USING …€¦ · Erlang/OTP Elixir Cache (Mnesia) ETLData PostGIS UserInfo (PostgreSQL) Erlang SQL APIs ETL bash R SQL Elixir Tiger

AS MP GU PR VI

HI AK TX FL

OK LA MS AL GA

AZ NM KS AR TN NC SC DC

CA UT CO NE MO KY WV VA MD DE

OR NV WY SD IA IN OH PA NJ CT RI

WA ID MT ND MN IL MI NY MA

WI VT NH ME

2012 ytd

2012 ytd

2012 ytd

2012 ytd

2012 ytd

2012 ytd

2012 ytd

2012 ytd

2012 ytd

2012 ytd

2012 ytd

10 Mbs25 Mbs40 Mbs

10 Mbs25 Mbs40 Mbs

10 Mbs25 Mbs40 Mbs

10 Mbs25 Mbs40 Mbs

10 Mbs25 Mbs40 Mbs

10 Mbs25 Mbs40 Mbs

10 Mbs25 Mbs40 Mbs

10 Mbs25 Mbs40 Mbs

M−Lab NDT Speed Test Data: 1/1/2012 to 4 July 2019Median Download Speed (annual) vs. FCC goal of 25Mbs

Page 4: open source open data TELLING COMMUNITY STORIES USING …€¦ · Erlang/OTP Elixir Cache (Mnesia) ETLData PostGIS UserInfo (PostgreSQL) Erlang SQL APIs ETL bash R SQL Elixir Tiger

On InfrastructureTo get what we want,

we need

transportationlegal & penal systems

education

banking

healthcaresocial support systems

commerce

food & agricultureR & Dlogistics

manufacturing

Infrastructure provides and supports what we need to get

what we want

connectivityfire protection

sewer

airports

waterpoliceelectricityrail

bridgesroadsnatural gas

legal code

air traffic control

PersonalMarketplacesPublic Goods

strong social fabricgood health

opportunity

connection

prosperity

financial security

support in times of distresspersonal security

governments that work

livelihood

congenial places to live

What we want

Infrastructure can be hard or soft, and requires knowledge to use

Page 5: open source open data TELLING COMMUNITY STORIES USING …€¦ · Erlang/OTP Elixir Cache (Mnesia) ETLData PostGIS UserInfo (PostgreSQL) Erlang SQL APIs ETL bash R SQL Elixir Tiger

2019To get what we want,

we need

transportationlegal & penal systems

education

banking

healthcaresocial support systems

commerce

food & agricultureR & Dlogistics

manufacturing

Infrastructure provides and supports what we need to get

what we want

connectivityfire protection

sewer

airports

waterpoliceelectricityrail

bridgesroadsnatural gas

legal code

air traffic control

c o n n e c t i v i t y

strong social fabricgood health

opportunity

connection

prosperity

financial security

support in times of distresspersonal security

governments that work

livelihood

congenial places to live

What we want

In 1930, electricity was in this spot. The US solved it with the REA.

It was a fight.

Page 6: open source open data TELLING COMMUNITY STORIES USING …€¦ · Erlang/OTP Elixir Cache (Mnesia) ETLData PostGIS UserInfo (PostgreSQL) Erlang SQL APIs ETL bash R SQL Elixir Tiger

Layers 8 & 9

I vs i / nfrastructure…

Aspiration

Devices

Access

Skills

Affordability

Imagination

Systems of systems …

Internet

Page 7: open source open data TELLING COMMUNITY STORIES USING …€¦ · Erlang/OTP Elixir Cache (Mnesia) ETLData PostGIS UserInfo (PostgreSQL) Erlang SQL APIs ETL bash R SQL Elixir Tiger

LET’S TALK BROADBAND DATA

Page 8: open source open data TELLING COMMUNITY STORIES USING …€¦ · Erlang/OTP Elixir Cache (Mnesia) ETLData PostGIS UserInfo (PostgreSQL) Erlang SQL APIs ETL bash R SQL Elixir Tiger

Mapping the Data

Territories of Broadband Planning

Territories of Digital Equity

Adoption& Use

AnchorInstitutions

Demographics

EconomicDevelopment

SpeedTests

Eco-Regions

ProviderData

CountyTypologies

Place

“Intertwingularity is not generally acknowledged—people keep pretending they can make things hierarchical, categorizable, and sequential when they can’t.” — Ted Nelson

Page 9: open source open data TELLING COMMUNITY STORIES USING …€¦ · Erlang/OTP Elixir Cache (Mnesia) ETLData PostGIS UserInfo (PostgreSQL) Erlang SQL APIs ETL bash R SQL Elixir Tiger

Geographies

County Subdivisions

Unified School Districts

Congressional Districts

Tribal Areas

Census Block

Block Group

Census Tract

County

State

Nation

Census-DefinedPlaces

FCC 477

Wireline &Mobile

Census ACS 5

Census ACS 5 Internet

FCC Adoption, HUD, FFIEC

USDA

NCES

IMLS

M-Lab

EPA

Neighborhoods Streets & SubdivisionsAddresses

Page 10: open source open data TELLING COMMUNITY STORIES USING …€¦ · Erlang/OTP Elixir Cache (Mnesia) ETLData PostGIS UserInfo (PostgreSQL) Erlang SQL APIs ETL bash R SQL Elixir Tiger

Adoption& Use

AnchorInstitutions

Demographics

EconomicDevelopment

SpeedTests

Eco-Regions

ProviderData

CountyTypologies

Place

U.S. CensusAmerican Community Survey (ACS)

FCC Block-Level Population Estimates

FCC 477Wireline

FCC 477Mobile

USDA

Opportunity Zones

M-Lab NDT

Census ACSInternet

NCES

IMLS

EPA

FCC 477Adoption

CRA Qualified Tracts

National data, localizedUnexplored

datasets

Page 11: open source open data TELLING COMMUNITY STORIES USING …€¦ · Erlang/OTP Elixir Cache (Mnesia) ETLData PostGIS UserInfo (PostgreSQL) Erlang SQL APIs ETL bash R SQL Elixir Tiger

National Telecommunications & Information Administration

Supplement to Census Current Population Survey

~52,000 respondents

85% response rate

Asks roughly the same questions every 2 years

20 years of responses

50+ Computer and Internet Questions

Device types

Internet access technologies

Locations of use

Online activities

Reasons for non-use

Privacy and security concerns

https://www.ntia.doc.gov/data/digital-nation-data-explorer

⚠ Limited to National and state Levels✓ Trend data is very solid⚠ Not currently in I3

Page 12: open source open data TELLING COMMUNITY STORIES USING …€¦ · Erlang/OTP Elixir Cache (Mnesia) ETLData PostGIS UserInfo (PostgreSQL) Erlang SQL APIs ETL bash R SQL Elixir Tiger

Census ACS 5-YearAnnual outreach to 3.5M households

5 years, 17.5 M households rolling data

5 years is enough to get statistically valid samples for all areas

> 90% response rate most years

All 3,142 counties

Tribal areas

School and Congressional Districts

Populations of 20,000 or less

Geographic areas down to the tract and block group level

This year was the first year that we have complete coverage for Computer Usage Data

Device Usage

Subscriptions

Computer and Internet use by various demographic categories

🙁 Does not include: AS, GU, MP, VI⚠ These are estimates

⚠ Data lags: current data is 2013—2017✓ Gold Standard

https://factfinder.census.gov

Page 13: open source open data TELLING COMMUNITY STORIES USING …€¦ · Erlang/OTP Elixir Cache (Mnesia) ETLData PostGIS UserInfo (PostgreSQL) Erlang SQL APIs ETL bash R SQL Elixir Tiger

FCC 477 Fixed and MobileReported by providers every 6 months

Current Wireline version is dated June 2018, which came out on 9/10/19

Includes names, technology

For fixed, includes advertised/contracted speeds

⚠ Lag⚠ Overstates coverage: Residential: A block is served if 1 house is or can be served with reasonable effort⚠ Advertised != Delivered⚠ Does not include price⚠ ⚠ Now tied to Census Blocks, but moving to arbitrary shapes✓ Good for finding the active providers in a community✓ Might indicate where investments are worthwhile

https://www.fcc.gov/general/broadband-deployment-data-fcc-form-477

Page 14: open source open data TELLING COMMUNITY STORIES USING …€¦ · Erlang/OTP Elixir Cache (Mnesia) ETLData PostGIS UserInfo (PostgreSQL) Erlang SQL APIs ETL bash R SQL Elixir Tiger

Measurement LabResults of NDT tests

Public database

Tests run voluntarily by users

Recently includes mobile via Test-IT

⚠ Means skew toward the fast side📌 Median seems to be a more reliable indicator✓ Huge database of tests that grows every day

https://www.measurementlab.net https://www.naco.org/testit

Page 15: open source open data TELLING COMMUNITY STORIES USING …€¦ · Erlang/OTP Elixir Cache (Mnesia) ETLData PostGIS UserInfo (PostgreSQL) Erlang SQL APIs ETL bash R SQL Elixir Tiger

Anchor InstitutionsNational Center for Educational Statistics (NCES)

Geolocations and data for

Public Schools

Private Schools

Post-Secondary Schools

Institute for Museum and Library Services (IMLS)

Annual outlet survey, contains geolocation information

⚠ Lags⚠ USAC E-Rate data is online, but “messy”✓ Details on both individual institutions and school/library systems

https://nces.ed.gov

https://www.imls.gov/research-evaluation/data-collection/public-libraries-survey

Page 16: open source open data TELLING COMMUNITY STORIES USING …€¦ · Erlang/OTP Elixir Cache (Mnesia) ETLData PostGIS UserInfo (PostgreSQL) Erlang SQL APIs ETL bash R SQL Elixir Tiger

Supporting Data SetsUSDA County Typologies

Urban/Metro, plus primary industries

EPA Eco-Regions

Helps to locate your geography, and with build-out costs

SHLB report

FCC Population Estimates at the Census Block Level

Annual predictions

FFIEC/CRA-Qualified Distressed or Underserved Tracts

Community Reinvestment Act (CRA) credits to loaning institutions

HUD Opportunity Zones

Tax benefits

ProPublica Congress API

Page 17: open source open data TELLING COMMUNITY STORIES USING …€¦ · Erlang/OTP Elixir Cache (Mnesia) ETLData PostGIS UserInfo (PostgreSQL) Erlang SQL APIs ETL bash R SQL Elixir Tiger

The I3 Connectivity Explorer

Powered by Open Source Empowered by Open Data

Page 18: open source open data TELLING COMMUNITY STORIES USING …€¦ · Erlang/OTP Elixir Cache (Mnesia) ETLData PostGIS UserInfo (PostgreSQL) Erlang SQL APIs ETL bash R SQL Elixir Tiger

Users and their StoriesState of Washington

Broadband Planning

Virginia Department of Education

Closing the Homework Gap

USDA Rural Development

Preliminary data analysis for grant planning

Tribal Libraries

Needs Assessment

City Councils

Page 19: open source open data TELLING COMMUNITY STORIES USING …€¦ · Erlang/OTP Elixir Cache (Mnesia) ETLData PostGIS UserInfo (PostgreSQL) Erlang SQL APIs ETL bash R SQL Elixir Tiger

ABOUT THE PLATFORM

Page 20: open source open data TELLING COMMUNITY STORIES USING …€¦ · Erlang/OTP Elixir Cache (Mnesia) ETLData PostGIS UserInfo (PostgreSQL) Erlang SQL APIs ETL bash R SQL Elixir Tiger

The Erlang ecosystem reminds me a lot of the Lisp environment. There’s a good

reason for everything. Elegance, robustness and clarity of expression

are valued.https://xkcd.com/297/

Page 21: open source open data TELLING COMMUNITY STORIES USING …€¦ · Erlang/OTP Elixir Cache (Mnesia) ETLData PostGIS UserInfo (PostgreSQL) Erlang SQL APIs ETL bash R SQL Elixir Tiger

System ArchitectureBrowser Server Persistence Access Sources Datasets

Toolchest

JQueryBootstrapLeafletD3

CSS

Javascript

beamEcto

Phoenix

Erlang/OTPElixir

Cache(Mnesia)

ETL DataPostGIS

User Info(PostgreSQL)

ErlangSQL

APIs

ETL

bashR

SQLElixir

TigerUSDAEPAHUDFFIECIMLSNCESESH∗

FCC

USAC∗ProPublicaMLABCensus

Block

Block Group

Tract

CountyState

Place

Tribal Area

County SubdivisionUnified School District

CongressSchool Locations

Private( PSS)

PostSecondary (IPEDS)

Public (CCD)

Population Estimates

477 Adoption477Mobile

477 Fixed

Page 22: open source open data TELLING COMMUNITY STORIES USING …€¦ · Erlang/OTP Elixir Cache (Mnesia) ETLData PostGIS UserInfo (PostgreSQL) Erlang SQL APIs ETL bash R SQL Elixir Tiger

Erlang/OTPDeveloped in the late 80’s by Ericsson as a fully distributed, functional language and environment to control telephone switches.

Over 20 years as an Open Source Development

Language + environment is carefully thought out for distributed programming

Supervision trees, message passing, releases, distributed storage, and hot-code upgrades….

Telephony (soft realtime and .9999) forces strong constraints on a programming environment!

Erlang had microservices before microservices and supervision trees way before Kubernetes.

Ask me about monotonic time!

beam virtual machine is the execution platform

But the syntax looks a lot like prolog() :- darn()!

Page 23: open source open data TELLING COMMUNITY STORIES USING …€¦ · Erlang/OTP Elixir Cache (Mnesia) ETLData PostGIS UserInfo (PostgreSQL) Erlang SQL APIs ETL bash R SQL Elixir Tiger

Elixir + PhoenixElixir: Modern syntax, pipelines, macros, clearer data structures all compile to the beam and interoperate across the Erlang environment

Began in 2010

Growing collection of libraries

One can call Erlang functions directly. I do so for mnesia, crypto, and other low-lying system work.

Phoenix: Web application framework (MVC)

Connections to PostGIS, HTTP, etc.

Templating

Channels for persistent/interactive client operations

Ecto: DB wrapper, though I use a lot of raw SQL for GIS

Management of DB schema updates

Page 24: open source open data TELLING COMMUNITY STORIES USING …€¦ · Erlang/OTP Elixir Cache (Mnesia) ETLData PostGIS UserInfo (PostgreSQL) Erlang SQL APIs ETL bash R SQL Elixir Tiger

WHAT’S NEXT?

Page 25: open source open data TELLING COMMUNITY STORIES USING …€¦ · Erlang/OTP Elixir Cache (Mnesia) ETLData PostGIS UserInfo (PostgreSQL) Erlang SQL APIs ETL bash R SQL Elixir Tiger

For the I3 Connectivity Explorer

A sustainable, multi-developer, collaborative platform with user-sourced data (held within notebooks)

For you

Engage with your communities. They need your expertise.

For Us

Let’s measure the Homework gap!

💻 ⏳Activity

Survey

Actual Access Speeds, Anonymized,

But related back to schools and school districts

&

🎞

Where did you have to go to complete this assignment?

REN

Page 26: open source open data TELLING COMMUNITY STORIES USING …€¦ · Erlang/OTP Elixir Cache (Mnesia) ETLData PostGIS UserInfo (PostgreSQL) Erlang SQL APIs ETL bash R SQL Elixir Tiger

I3 Connectivity Explorer

https://i3connect.org/

The Center for Internet as Infrastructure, LLC

https://internet-is-infrastructure.org/

Fortune Courtesy: Lu Torres, Photo Courtesy: Erin McDuffDid I mention that its free?

Page 27: open source open data TELLING COMMUNITY STORIES USING …€¦ · Erlang/OTP Elixir Cache (Mnesia) ETLData PostGIS UserInfo (PostgreSQL) Erlang SQL APIs ETL bash R SQL Elixir Tiger

DISCUSSION AND QUESTIONS