35
Making Open Data Useful BY 2014 CODE FOR AMERICA FELLOWS Danny Whalen // @invisiblefunnel Erik Schwartz // @eeeschwartz Livien Yin // @livienyin

Making Open Data Useful: Citygram

Embed Size (px)

DESCRIPTION

Presentation about 2014 Code for Americal Fellowship project, Citygram. Watch the video online: https://www.youtube.com/watch?v=zpO32d5IUTI&list=PL65XgbSILalVoej11T95Tc7D7-F1PdwHq&index=20 Get involved with Code for America: www.codeforamerica.org/action

Citation preview

Page 1: Making Open Data Useful: Citygram

Making Open Data Useful

BY 2014 CODE FOR AMERICA FELLOWS

Danny Whalen // @invisiblefunnelErik Schwartz // @eeeschwartz

Livien Yin // @livienyin

Page 2: Making Open Data Useful: Citygram

● What is Citygram?● How does it work?● Why was it built this way?● How can you get involved?● How did this work in Lexington?

Here’s what we’re talking about today!

Page 3: Making Open Data Useful: Citygram

This is about designing for the community.

Page 4: Making Open Data Useful: Citygram

Get ya awesome on

Citygram is a notifications platform for subscribing to your city. It uses the power of

open data to inform you of the things you care about, where you care about them.

Page 5: Making Open Data Useful: Citygram

3 GOALS FOR CITYGRAM

01 // increase citizen engagementby providing automated, meaningful info about what the city is doing

02 // be proactive, not reactivereduce the burden on staff to respond to repetitive requests

03 // demonstrate the capabilities of city open data portals

build trust with citizens through openness and accessibility

Page 6: Making Open Data Useful: Citygram

UNDERSTANDING THE CONSTRAINTS

USE CASE // civic apps are not the intended use case for open gov data

SPEED // gov data systems are not designed for speed

CADENCE // data reflects the processes through which it was created

Page 7: Making Open Data Useful: Citygram
Page 8: Making Open Data Useful: Citygram

Screen Shot

The Open Data Site

Page 9: Making Open Data Useful: Citygram

FOUR KEY GUIDING PRINCIPLES

1. User Experience Design: start with user needs to transform data in a way that is accessible to citizens.

2. Agile Development: a process of iterative, incremental software development that values constant learning and building.

3. Flexibility: be able to hook into machine-readable data sources in common formats.

4. Generalizable: across cities, for the greatest possible impact.

Page 10: Making Open Data Useful: Citygram

BACK-END ARCHITECTURE SKETCH

Page 11: Making Open Data Useful: Citygram

HOW IT WORKS

Page 12: Making Open Data Useful: Citygram

How can you integrate your open data with Citygram?

citygram.org

Page 13: Making Open Data Useful: Citygram

HOW DOES A DATASET BECOME A CITYGRAM TOPIC?CRITERIA WE’RE LOOKING FOR:

#1 meets citizen needs is there interest? does the city receive a lot of requests about this?

#2 consistently updated anywhere from every three minutes to once a month.

#3 accessible via API any standard, machine-readable format. JSON / CSV preferred.

#4 has both time + geo component notifications are sent in real time if the event location is in the citizen’s area of interest.

Page 14: Making Open Data Useful: Citygram
Page 15: Making Open Data Useful: Citygram
Page 16: Making Open Data Useful: Citygram

DATA TRANSFORMATION // extract, transform, load to geoJSON

{

"Y_COORD": "535574",

"PROJECTNAME": "Auto Sales",

"X_COORD": "1499638",

"RECORDOPENDATE": "2014-02-07T00:00:00",

"TASK": "Info Received",

"COORDINATORNAME": "Alice Christenbury",

"PROJECTDESCRIPTION": "Construct retail auto sales facility on vacant parcel. Grading permit, tree

review, storm water detention, and PCCO review is required.",

"PROJECTTYPE": "Commercial (Regular 15 business day Review)",

"URL": "https://aca.accela.com/charlotte/Cap/CapDetail.aspx%63Module=

LandDevelopment&TabName=LandDevelopment&capID1=14LDC&capID2=00000&capID3=00012",

"OWNERNAME": "FRANCIS BROTHERS INVESTMENT GROUP LLC",

"RECORDSTATUS": "Approved",

"OWNERADDRESS": "6831 PINE LAKE LN",

"PROJECTNUMBER": "LDC-2014-00012",

"PARCELNUMBER": "11116306",

"PROJECTMODULE": "LandDevelopment",

"ADDRESS": "9907 ALBEMARLE RD, CHARLOTTE, NC 28227",

"RECORDSTATUSDATE": "2014-08-07T00:00:00",

"CONTACTADDRESS": "",

"_id": 8032,

"OWNERPHONE": "7045023809"

}

Page 17: Making Open Data Useful: Citygram

{

"Y_COORD": "535574",

"PROJECTNAME": "Auto Sales",

"X_COORD": "1499638",

"RECORDOPENDATE": "2014-02-07T00:00:00",

"TASK": "Info Received",

"COORDINATORNAME": "Alice Christenbury",

"PROJECTDESCRIPTION": "Construct retail auto sales facility on vacant parcel. Grading permit, tree

review, storm water detention, and PCCO review is required.",

"PROJECTTYPE": "Commercial (Regular 15 business day Review)",

"URL": "https://aca.accela.com/charlotte/Cap/CapDetail.aspx%63Module=

LandDevelopment&TabName=LandDevelopment&capID1=14LDC&capID2=00000&capID3=00012",

"OWNERNAME": "FRANCIS BROTHERS INVESTMENT GROUP LLC",

"RECORDSTATUS": "Approved",

"OWNERADDRESS": "6831 PINE LAKE LN",

"PROJECTNUMBER": "LDC-2014-00012",

"PARCELNUMBER": "11116306",

"PROJECTMODULE": "LandDevelopment",

"ADDRESS": "9907 ALBEMARLE RD, CHARLOTTE, NC 28227",

"RECORDSTATUSDATE": "2014-08-07T00:00:00",

"CONTACTADDRESS": "",

"_id": 8032,

"OWNERPHONE": "7045023809"

}

CURATION // what elements are important to the citizen?

Page 18: Making Open Data Useful: Citygram

TRANSLATION // turn machine-speak into human speak

ELEMENTS

> project name

> project description

> URL

> address

TEMPLATE

Hi! A new land development permit has been submitted near you at [ADDRESS]. The project is called [PROJECTNAME] and proposes to [PROJECT DESCRIPTION]. Find out more at [URL].

Page 19: Making Open Data Useful: Citygram

Page 20: Making Open Data Useful: Citygram

Citygram as a platform

Page 21: Making Open Data Useful: Citygram

SpyGlass: API adapters

AKA “web content transformation proxy” (lolz)

INTRODUCING...

Page 22: Making Open Data Useful: Citygram

Lexington, KY

Citygram Integration: a case study

Page 23: Making Open Data Useful: Citygram

MOST BASIC REQUIREMENTS

Create a geoJSON file for each dataset

Page 24: Making Open Data Useful: Citygram

Perfectly flowing data (go back in time for a great session at 9am today!)

WHERE WE WANT TO END UP

Page 25: Making Open Data Useful: Citygram

GET LEAN

We inched our way towards automation

Kept system continually integrated

Page 26: Making Open Data Useful: Citygram

Pentaho Data Integration to update the data portal

We schedule it 2x’s per hour

SHORT VERSION

Page 27: Making Open Data Useful: Citygram

SIDE NOTE // geocoder to find address and parcel info

Page 28: Making Open Data Useful: Citygram

You can use many other geocoders

Page 29: Making Open Data Useful: Citygram

We’re still evaluating best approach

OPEN DATA PORTALS

Page 30: Making Open Data Useful: Citygram

Extremely flexible: Beauty of Citygram

Save a geoJSON file to a webserver

Citygram picks it up!

Page 31: Making Open Data Useful: Citygram

Use whatever automation/ETL processes at your disposal

MORE FLEXIBILITY // more better

Page 32: Making Open Data Useful: Citygram

Get to know and love each dataset.

Evaluate the possible messages for the available information.

VERY IMPORTANT

Page 33: Making Open Data Useful: Citygram

Let’s make this meaningful! Woo

Page 34: Making Open Data Useful: Citygram

Try it out!

Page 35: Making Open Data Useful: Citygram

thank you.questions, comments welcome

[email protected]#citygram

@invisiblefunnel // @eeeschwartz // @livienyin