SlideShare ist ein Scribd-Unternehmen logo
1 von 52
Downloaden Sie, um offline zu lesen
Developer Friendly
Open Data
Albert O’Connor @amjoconn
Colin Bell @collectdevCA
{ lessons from the Internet }
{ APIs }
{ platform for productivity }
{ lessons from the Internet }
“The Internet is becoming the town
square for the global village of
tomorrow.”
Bill Gates
The Web
The Web
The Internet
SSH
FTP
Skype Email
IRC BitTorrent
DNS
Online
Gaming
Gopher
Bulletin Board Systems
How did the Web come to
dominate?
Clay Shirky observed that
the Web won because it is
evolutionary
Source: http://www.shirky.com/writings/evolve.html [2013]
Not because it was perfectly
designed or technically
superior
Weakly Defined
Solutions that produce partial results
when partially implemented can
succeed.
Constantly Changing
What is, is wrong, no evolving system is
ever perfectly in sync with the
challenges it faces.
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.
HTML5
Open Data
{ application programmer
interfaces — APIs }
What application?
UI or GUI
Graphical User Interface
Data User Interface
or
Developer User Interface
DUI
DUI
err
API
File Based Open Data
http://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
API Open Data
http://api.uwaterloo.ca/public/v1/?key=FFF&service=Weather&output=json
{} Json
Convert some data types
 Present Result
App
Language
Specific
Library
When and how often do I
load the data?
Do I always have to
resubmit my App?
Why API?
1 - Monitoring
2 - Metrics
Why API?
1 - Monitoring / Audit ➡ Who, What, When?
2 - Metrics / Analytics ➡ How?
{ platform for productivity }
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.
Effectiveness + Efficiency
{} JSON
Convert some data types
 Present Result
App
Language
Specific
Library
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
{} JSON
Convert some data types
 Present Result
App
Language
Specific
Library
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
both
effective
Data Access
API
Effectiveness + Efficiency
{ file based works }
{} JSON
Convert some data types
 Present Result
App
Language
Specific
Library
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
{} JSON
Convert some data types
 Present Result
App
Language
Specific
Library
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
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]
Effectiveness + Efficiency =
Productivity
Innovation + Resources
combine to make
Products + Services
Effectiveness + Efficiency =
Productivity
Innovation + Resources
combine to make
Products + Services
Adding value makes us more efficient!
Effectiveness + Efficiency =
Productivity
Innovation + Resources
combine to make
Products + Services
Adding value makes us more efficient!
Effectiveness and Efficiency make us Productive.
{ make all the things! }
{ make all the things! }
... but you can’t ...
{ make all the things! }
... but you can? ...
{ make all the things! }
... but you can! ...
we
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
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]
Empower Developers within
your Organization across
Organizational Boundaries
Improve your Organization’s Productivity
Steadily evolve your APIs
and begin using them
yourself.
Improve your Productivity
Design for ‘maker’* Users
https://www.gov.uk/designprinciples
* Toolmakers... aka. Developers
Design for Access
Access 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
{ provide friendly access }
Empower the ‘maker’ users to help you.
Make friends with developers!
{ provide open access }
Do your part to help improve productivity!
Empower yourself and others to provide better (more
valuable) service.
{ further reading }
https://www.gov.uk/service-manual/making-software/apis.html
http://www.w3.org/Provider/Style/URI.html
http://www.shirky.com/writings/evolve.html
http://en.wikipedia.org/wiki/Enterprise_architecture
Developer Friendly
Open Data
Albert O’Connor @amjoconn
Colin Bell @collectdevCA

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Office Add-ins community call-June 2019
Office Add-ins community call-June 2019Office Add-ins community call-June 2019
Office Add-ins community call-June 2019
 
GraphQL.net
GraphQL.netGraphQL.net
GraphQL.net
 
Global o365 developer bootcamp nj - slides
Global o365 developer bootcamp   nj - slidesGlobal o365 developer bootcamp   nj - slides
Global o365 developer bootcamp nj - slides
 
AtlasCamp 2015: Getting your Connect add-on over the finish line
AtlasCamp 2015: Getting your Connect add-on over the finish lineAtlasCamp 2015: Getting your Connect add-on over the finish line
AtlasCamp 2015: Getting your Connect add-on over the finish line
 
Mete Atamel "An app modernization story with Cloud Run"
Mete Atamel "An app modernization story with Cloud Run"Mete Atamel "An app modernization story with Cloud Run"
Mete Atamel "An app modernization story with Cloud Run"
 
How to Encourage Non-Development Teams to Use JIRA and Confluence
How to Encourage Non-Development Teams to Use JIRA and ConfluenceHow to Encourage Non-Development Teams to Use JIRA and Confluence
How to Encourage Non-Development Teams to Use JIRA and Confluence
 
The Decade of Open APIs
The Decade of Open APIsThe Decade of Open APIs
The Decade of Open APIs
 
Inclusive front-end development with WCAG 2.1
Inclusive front-end development with WCAG 2.1Inclusive front-end development with WCAG 2.1
Inclusive front-end development with WCAG 2.1
 
GraphQL Europe Recap
GraphQL Europe RecapGraphQL Europe Recap
GraphQL Europe Recap
 
GraphQL - IL - Accelerate your GraphQL adoption using bit
GraphQL - IL - Accelerate your GraphQL adoption using bitGraphQL - IL - Accelerate your GraphQL adoption using bit
GraphQL - IL - Accelerate your GraphQL adoption using bit
 
Creating a Documentation Portal
Creating a Documentation PortalCreating a Documentation Portal
Creating a Documentation Portal
 
AtlasCamp 2015 Keynote
AtlasCamp 2015 KeynoteAtlasCamp 2015 Keynote
AtlasCamp 2015 Keynote
 
Integration Monday - Logic Apps: Development Experiences
Integration Monday - Logic Apps: Development ExperiencesIntegration Monday - Logic Apps: Development Experiences
Integration Monday - Logic Apps: Development Experiences
 
Build Mobile Applications with Headless Drupal 8 - DrupalConAsia 2016
Build Mobile Applications with Headless Drupal 8 - DrupalConAsia 2016Build Mobile Applications with Headless Drupal 8 - DrupalConAsia 2016
Build Mobile Applications with Headless Drupal 8 - DrupalConAsia 2016
 
M is for modernization
M is for modernizationM is for modernization
M is for modernization
 
DocOps: Documentation at the Speed of Agile
DocOps: Documentation at the Speed of AgileDocOps: Documentation at the Speed of Agile
DocOps: Documentation at the Speed of Agile
 
Introduction to SharePoint Patterns and Practices (PnP)
Introduction to SharePoint Patterns and Practices (PnP)Introduction to SharePoint Patterns and Practices (PnP)
Introduction to SharePoint Patterns and Practices (PnP)
 
GraphQL Munich Meetup #1 - How We Use GraphQL At Commercetools
GraphQL Munich Meetup #1 - How We Use GraphQL At CommercetoolsGraphQL Munich Meetup #1 - How We Use GraphQL At Commercetools
GraphQL Munich Meetup #1 - How We Use GraphQL At Commercetools
 
Open source at PayPal
Open source at PayPalOpen source at PayPal
Open source at PayPal
 
Google Apps an Overview - Russell Masters
Google Apps an Overview - Russell MastersGoogle Apps an Overview - Russell Masters
Google Apps an Overview - Russell Masters
 

Andere mochten auch

Dive into Python Class
Dive into Python ClassDive into Python Class
Dive into Python Class
Jim Yeh
 

Andere mochten auch (20)

Faster Python, FOSDEM
Faster Python, FOSDEMFaster Python, FOSDEM
Faster Python, FOSDEM
 
Dive into Python Class
Dive into Python ClassDive into Python Class
Dive into Python Class
 
Python on Rails 2014
Python on Rails 2014Python on Rails 2014
Python on Rails 2014
 
Python class
Python classPython class
Python class
 
The future of async i/o in Python
The future of async i/o in PythonThe future of async i/o in Python
The future of async i/o in Python
 
A deep dive into PEP-3156 and the new asyncio module
A deep dive into PEP-3156 and the new asyncio moduleA deep dive into PEP-3156 and the new asyncio module
A deep dive into PEP-3156 and the new asyncio module
 
Python, do you even async?
Python, do you even async?Python, do you even async?
Python, do you even async?
 
Comandos para ubuntu 400 que debes conocer
Comandos para ubuntu 400 que debes conocerComandos para ubuntu 400 que debes conocer
Comandos para ubuntu 400 que debes conocer
 
Python master class 3
Python master class 3Python master class 3
Python master class 3
 
Python Async IO Horizon
Python Async IO HorizonPython Async IO Horizon
Python Async IO Horizon
 
Practical continuous quality gates for development process
Practical continuous quality gates for development processPractical continuous quality gates for development process
Practical continuous quality gates for development process
 
Async programming and python
Async programming and pythonAsync programming and python
Async programming and python
 
Async Tasks with Django Channels
Async Tasks with Django ChannelsAsync Tasks with Django Channels
Async Tasks with Django Channels
 
The Awesome Python Class Part-4
The Awesome Python Class Part-4The Awesome Python Class Part-4
The Awesome Python Class Part-4
 
Regexp
RegexpRegexp
Regexp
 
What is the best full text search engine for Python?
What is the best full text search engine for Python?What is the best full text search engine for Python?
What is the best full text search engine for Python?
 
Python as number crunching code glue
Python as number crunching code gluePython as number crunching code glue
Python as number crunching code glue
 
Building social network with Neo4j and Python
Building social network with Neo4j and PythonBuilding social network with Neo4j and Python
Building social network with Neo4j and Python
 
Async Web Frameworks in Python
Async Web Frameworks in PythonAsync Web Frameworks in Python
Async Web Frameworks in Python
 
SylkServer: State of the art RTC application server
SylkServer: State of the art RTC application serverSylkServer: State of the art RTC application server
SylkServer: State of the art RTC application server
 

Ähnlich wie Developer friendly open data

Get More Out Of Google Docs
Get More Out Of Google DocsGet More Out Of Google Docs
Get More Out Of Google Docs
buggeen
 
Agencies Developer Products
Agencies Developer ProductsAgencies Developer Products
Agencies Developer Products
Jeff Eddings
 
Osgis2011 edina addy_pope
Osgis2011 edina addy_popeOsgis2011 edina addy_pope
Osgis2011 edina addy_pope
Addy Pope
 
Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan
 

Ähnlich wie Developer friendly open data (20)

Intro to Application Express
Intro to Application ExpressIntro to Application Express
Intro to Application Express
 
Building Dynamic Applications on both Office 365 and On-Prem
Building Dynamic Applications on both Office 365 and On-PremBuilding Dynamic Applications on both Office 365 and On-Prem
Building Dynamic Applications on both Office 365 and On-Prem
 
Get More Out Of Google Docs
Get More Out Of Google DocsGet More Out Of Google Docs
Get More Out Of Google Docs
 
Agencies Developer Products
Agencies Developer ProductsAgencies Developer Products
Agencies Developer Products
 
Backstage at CNCF Madison.pptx
Backstage at CNCF Madison.pptxBackstage at CNCF Madison.pptx
Backstage at CNCF Madison.pptx
 
Pat Farrell, Migrating Legacy Documentation to XML and DITA
Pat Farrell, Migrating Legacy Documentation to XML and DITAPat Farrell, Migrating Legacy Documentation to XML and DITA
Pat Farrell, Migrating Legacy Documentation to XML and DITA
 
Extending Your Experience to the Office
Extending Your Experience to the OfficeExtending Your Experience to the Office
Extending Your Experience to the Office
 
Open event presentation.3 2
Open event presentation.3 2Open event presentation.3 2
Open event presentation.3 2
 
Osgis2011 edina addy_pope
Osgis2011 edina addy_popeOsgis2011 edina addy_pope
Osgis2011 edina addy_pope
 
Osgis2011 edina addy_pope
Osgis2011 edina addy_popeOsgis2011 edina addy_pope
Osgis2011 edina addy_pope
 
Transform your Intranet with Drupal and Alfresco - by Optaros
Transform your Intranet with Drupal and Alfresco - by OptarosTransform your Intranet with Drupal and Alfresco - by Optaros
Transform your Intranet with Drupal and Alfresco - by Optaros
 
OpenNTF Blast from ILUG 2007
OpenNTF Blast from ILUG 2007OpenNTF Blast from ILUG 2007
OpenNTF Blast from ILUG 2007
 
Containers, Serverless, Polyglot Development World, And Others…10 trends resh...
Containers, Serverless, Polyglot Development World, And Others…10 trends resh...Containers, Serverless, Polyglot Development World, And Others…10 trends resh...
Containers, Serverless, Polyglot Development World, And Others…10 trends resh...
 
Free Technology Tools - SBDC EGC 2011
Free Technology Tools - SBDC EGC 2011Free Technology Tools - SBDC EGC 2011
Free Technology Tools - SBDC EGC 2011
 
DevOps at scale: A true story - WIDS2016
DevOps at scale: A true story - WIDS2016DevOps at scale: A true story - WIDS2016
DevOps at scale: A true story - WIDS2016
 
SmartBear Solutions for Agile & DevOps
SmartBear Solutions for Agile & DevOpsSmartBear Solutions for Agile & DevOps
SmartBear Solutions for Agile & DevOps
 
Free Tech Tools - VOA 2012
Free Tech Tools - VOA 2012Free Tech Tools - VOA 2012
Free Tech Tools - VOA 2012
 
Keynote: Harnessing the power of Elasticsearch for simplified search
Keynote: Harnessing the power of Elasticsearch for simplified searchKeynote: Harnessing the power of Elasticsearch for simplified search
Keynote: Harnessing the power of Elasticsearch for simplified search
 
DevOps by examples - Azure Meetup Frankfurt 06-2017
DevOps by examples - Azure Meetup Frankfurt 06-2017DevOps by examples - Azure Meetup Frankfurt 06-2017
DevOps by examples - Azure Meetup Frankfurt 06-2017
 
Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2
 

Kürzlich hochgeladen

Kürzlich hochgeladen (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 

Developer friendly open data

  • 1. Developer Friendly Open Data Albert O’Connor @amjoconn Colin Bell @collectdevCA
  • 2. { lessons from the Internet } { APIs } { platform for productivity }
  • 3. { lessons from the Internet }
  • 4.
  • 5. “The Internet is becoming the town square for the global village of tomorrow.” Bill Gates
  • 7. The Web The Internet SSH FTP Skype Email IRC BitTorrent DNS Online Gaming
  • 9. How did the Web come to dominate?
  • 10. Clay Shirky observed that the Web won because it is evolutionary Source: http://www.shirky.com/writings/evolve.html [2013]
  • 11. Not because it was perfectly designed or technically superior
  • 12. Weakly Defined Solutions that produce partial results when partially implemented can succeed.
  • 13. Constantly Changing What is, is wrong, no evolving system is ever perfectly in sync with the challenges it faces.
  • 14. 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.
  • 15. HTML5
  • 19. UI or GUI Graphical User Interface
  • 21. DUI
  • 23. File Based Open Data http://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
  • 24. API Open Data http://api.uwaterloo.ca/public/v1/?key=FFF&service=Weather&output=json {} Json Convert some data types  Present Result App Language Specific Library
  • 25. When and how often do I load the data? Do I always have to resubmit my App?
  • 26. Why API? 1 - Monitoring 2 - Metrics
  • 27. Why API? 1 - Monitoring / Audit ➡ Who, What, When? 2 - Metrics / Analytics ➡ How?
  • 28. { platform for productivity }
  • 29. 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.
  • 30. Effectiveness + Efficiency {} JSON Convert some data types  Present Result App Language Specific Library 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
  • 31. {} JSON Convert some data types  Present Result App Language Specific Library 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 both effective Data Access API Effectiveness + Efficiency
  • 32. { file based works }
  • 33. {} JSON Convert some data types  Present Result App Language Specific Library 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
  • 34. {} JSON Convert some data types  Present Result App Language Specific Library 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
  • 35. 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]
  • 36. Effectiveness + Efficiency = Productivity Innovation + Resources combine to make Products + Services
  • 37. Effectiveness + Efficiency = Productivity Innovation + Resources combine to make Products + Services Adding value makes us more efficient!
  • 38. Effectiveness + Efficiency = Productivity Innovation + Resources combine to make Products + Services Adding value makes us more efficient! Effectiveness and Efficiency make us Productive.
  • 39. { make all the things! }
  • 40. { make all the things! } ... but you can’t ...
  • 41. { make all the things! } ... but you can? ...
  • 42. { make all the things! } ... but you can! ... we
  • 43. 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
  • 44. 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]
  • 45. Empower Developers within your Organization across Organizational Boundaries Improve your Organization’s Productivity
  • 46. Steadily evolve your APIs and begin using them yourself. Improve your Productivity
  • 47. Design for ‘maker’* Users https://www.gov.uk/designprinciples * Toolmakers... aka. Developers
  • 48. Design for Access Access 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
  • 49. { provide friendly access } Empower the ‘maker’ users to help you. Make friends with developers!
  • 50. { provide open access } Do your part to help improve productivity! Empower yourself and others to provide better (more valuable) service.
  • 51. { further reading } https://www.gov.uk/service-manual/making-software/apis.html http://www.w3.org/Provider/Style/URI.html http://www.shirky.com/writings/evolve.html http://en.wikipedia.org/wiki/Enterprise_architecture
  • 52. Developer Friendly Open Data Albert O’Connor @amjoconn Colin Bell @collectdevCA