Developer friendly open data
-
Upload
albert-oconnor -
Category
Technology
-
view
251 -
download
0
description
Transcript of Developer friendly open data
![Page 1: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/1.jpg)
Developer FriendlyOpen Data
Albert O’Connor @amjoconnColin Bell @collectdevCA
![Page 2: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/2.jpg)
{ lessons from the Internet }
{ APIs }
{ platform for productivity }
![Page 3: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/3.jpg)
{ lessons from the Internet }
![Page 4: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/4.jpg)
![Page 5: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/5.jpg)
“The Internet is becoming the town square for the global village of
tomorrow.”
Bill Gates
![Page 6: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/6.jpg)
The Web
![Page 7: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/7.jpg)
The Web
The Internet
SSH
FTP
Skype EmailIRC BitTorrent
DNS
Online Gaming
![Page 8: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/8.jpg)
GopherBulletin Board Systems
![Page 9: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/9.jpg)
How did the Web come to dominate?
![Page 10: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/10.jpg)
Clay Shirky observed that the Web won because it is
evolutionary
Source: http://www.shirky.com/writings/evolve.html [2013]
![Page 11: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/11.jpg)
Not because it was perfectly designed or technically
superior
![Page 12: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/12.jpg)
Weakly Defined
Solutions that produce partial results when partially implemented can
succeed.
![Page 13: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/13.jpg)
Constantly Changing
What is, is wrong, no evolving system is ever perfectly in sync with the
challenges it faces.
![Page 14: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/14.jpg)
Evolution is cleverer than you
The ability to understand what is missing at any given moment does not mean
that one person or a small central group can design a better system in the long
haul.
![Page 15: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/15.jpg)
HTML5
![Page 16: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/16.jpg)
Open Data
![Page 17: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/17.jpg)
{ application programmer interfaces — APIs }
![Page 18: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/18.jpg)
What application?
![Page 19: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/19.jpg)
UI or GUIGraphical User Interface
![Page 20: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/20.jpg)
Data User Interfaceor
Developer User Interface
![Page 21: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/21.jpg)
DUI
![Page 22: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/22.jpg)
DUIerrAPI
![Page 23: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/23.jpg)
File Based Open Datahttp://www.regionofwaterloo.ca/opendatadownloads/DoorsOpendataset.xls
Save file on disk
Parse the file
Store as Intermediate format
Load entire dataset into app
Index
Query
Present Result
App
Data loader
![Page 24: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/24.jpg)
API Open Datahttp://api.uwaterloo.ca/public/v1/?key=FFF&service=Weather&output=json
{} Json
Convert some data types
Present ResultApp
LanguageSpecificLibrary
![Page 25: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/25.jpg)
When and how often do I load the data?
Do I always have to resubmit my App?
![Page 26: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/26.jpg)
Why API?
1 - Monitoring
2 - Metrics
![Page 27: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/27.jpg)
Why API?
1 - Monitoring / Audit ➡ Who, What, When?
2 - Metrics / Analytics ➡ How?
![Page 28: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/28.jpg)
{ platform for productivity }
![Page 29: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/29.jpg)
Effectiveness + Efficiency
Efficient (adj.) - performing or functioning in the best possible manner with the least waste of time and effort.
Source: http://dictionary.reference.com [2013]
Effective (adj.) - adequate to accomplish a purpose; producing the intended or expected result.
![Page 30: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/30.jpg)
Effectiveness + Efficiency
{} JSON
Convert some data types
Present Result
App
LanguageSpecificLibrary
API Open Data
Save file on disk
Parse the file
Store as Intermediate format
Load entire dataset into app
Index
Query
Present Result
App
Data loader
File Based Open Data
![Page 31: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/31.jpg)
{} JSON
Convert some data types
Present Result
App
LanguageSpecificLibrary
API Open Data
Save file on disk
Parse the file
Store as Intermediate format
Load entire dataset into app
Index
Query
Present Result
App
Data loader
File Based Open Data
Data Access
File Based
botheffective
Data Access
API
Effectiveness + Efficiency
![Page 32: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/32.jpg)
{ file based works }
![Page 33: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/33.jpg)
{} JSON
Convert some data types
Present Result
App
LanguageSpecificLibrary
API Open Data
Save file on disk
Parse the file
Store as Intermediate format
Load entire dataset into app
Index
Query
Present Result
App
Data loader
File Based Open Data
7 steps
File Based
<less
efficient
3 steps
API
Effectiveness + Efficiency
![Page 34: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/34.jpg)
{} JSON
Convert some data types
Present Result
App
LanguageSpecificLibrary
API Open Data
Save file on disk
Parse the file
Store as Intermediate format
Load entire dataset into app
Index
Query
Present Result
App
Data loader
File Based Open Data
7 steps
File Based
<less
efficient
3 steps
API
Effectiveness + Efficiency
- duplication- silos- complexity- blind to use
- on-demand- direct- benign- visible
![Page 35: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/35.jpg)
Effectiveness + Efficiency = Productivity
Productivity is the effective use of innovation and resources to increase the value-added content of products and services. It is the true source of competitive advantage that creates long term economic viability and a better standard of living for all.
Source: http://hkpc.org => http://bit.ly/ZoivM7 [2013]
![Page 36: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/36.jpg)
Effectiveness + Efficiency = Productivity
Innovation + Resourcescombine to make
Products + Services
![Page 37: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/37.jpg)
Effectiveness + Efficiency = Productivity
Innovation + Resourcescombine to make
Products + Services
Adding value makes us more efficient!
![Page 38: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/38.jpg)
Effectiveness + Efficiency = Productivity
Innovation + Resourcescombine to make
Products + Services
Adding value makes us more efficient!Effectiveness and Efficiency make us Productive.
![Page 39: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/39.jpg)
{ make all the things! }
![Page 40: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/40.jpg)
{ make all the things! }
... but you can’t ...
![Page 41: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/41.jpg)
{ make all the things! }
... but you can? ...
![Page 42: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/42.jpg)
{ make all the things! }
... but you can! ...we
![Page 43: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/43.jpg)
Rewind... Evolutionary
partial results when partially implemented can succeed
no evolving system is ever perfect
no single entity can meet all user needs and account for all niches
![Page 44: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/44.jpg)
Embrace the reality, empower the toolmakers
We can all innovate to add value together!
Define data entities (nouns) ... see EA[1]
Make data accessible so Developers are Efficient
Developers inside and outside your organization can design + build services with the same data
[1]: http://en.wikipedia.org/wiki/Enterprise_architecture [2013]
![Page 45: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/45.jpg)
Empower Developers within your Organization across Organizational Boundaries
Improve your Organization’s Productivity
![Page 46: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/46.jpg)
Steadily evolve your APIs and begin using them
yourself.
Improve your Productivity
![Page 47: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/47.jpg)
Design for ‘maker’* Users
https://www.gov.uk/designprinciples
* Toolmakers... aka. Developers
![Page 48: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/48.jpg)
Design for AccessAccess by Design (AbD)
http://www.ipc.on.ca/images/Resources/accessbydesign_7fundamentalprinciples.pdf
Proactive, not Reactive
Access Embedded into Design
Openness and Transparency = Accountability
Fosters Collaboration
Enhances Efficiency
Makes Access Truly Accessible
Increases Quality of Information
![Page 49: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/49.jpg)
{ provide friendly access }
Empower the ‘maker’ users to help you.
Make friends with developers!
![Page 50: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/50.jpg)
{ provide open access }
Do your part to help improve productivity!
Empower yourself and others to provide better (more valuable) service.
![Page 51: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/51.jpg)
{ further reading }
https://www.gov.uk/service-manual/making-software/apis.htmlhttp://www.w3.org/Provider/Style/URI.htmlhttp://www.shirky.com/writings/evolve.html
http://en.wikipedia.org/wiki/Enterprise_architecture
![Page 52: Developer friendly open data](https://reader033.fdocuments.net/reader033/viewer/2022061221/54bd8b9a4a79592c508b460a/html5/thumbnails/52.jpg)
Developer FriendlyOpen Data
Albert O’Connor @amjoconnColin Bell @collectdevCA