Open Ag Data Alliance March 7, 2015 A standard REST API for Ag +open source code Aaron Ault OADA Project Lead http://openag.io http://engineering.purdue.edu/ oatsgroup /
Dec 30, 2015
Open Ag Data Alliance
March 7, 2015
A standard REST API for Ag+open source code
Aaron AultOADA Project Lead
http://openag.iohttp://engineering.purdue.edu/oatsgroup/
Background: OATS group
http://engineering.purdue.edu/oatsgroup
Open Ag Tech Group at Purdue
The Promise of Data
What Farmers Want from Data
Data should flow
What Farmers Want from Data
Data should flow
from whatever source a farmer has
What Farmers Want from Data
Data should flow
from whatever source a farmer has
into whatever tool a farmer wants
What Farmers Want from Data
Data should flow
without manual intervention
from whatever source a farmer has
into whatever tool a farmer wants
Very Bold Claim
Data in ag is a hassle primarily because…..
Very Bold Claim
Data in ag is a hassle primarily because…..
Without the cloud, the “best ideas” just aren’t good enough.
I need answers while I’m thinking about something. Whenever. Wherever. Within 20 seconds.
Very Bold Claim
Data in ag is a hassle primarily because…..
Without the cloud, the “best ideas” just aren’t good enough.
I need answers while I’m thinking about something. Whenever. Wherever. Within 20 seconds.
?To sell tools, you need real-time data.
To provide data, you need customers with tools to use it.
Why Should You Care?
Chickens eventually hatch….
Why Should You Care?
Data compatibility will drive purchasing decisions
for successful farms.
Chickens eventually hatch….
Why Should You Care?
Data compatibility will drive purchasing decisions
for successful farms.
Winners will effectively scale compatibility
in the emerging market.
Chickens eventually hatch….
Why Should You Care?
Data compatibility will drive purchasing decisions
for successful farms.
Winners will effectively scale compatibility
in the emerging market.
Public Standards + Open Source Code The distributed way to build a market.
Why The Code is Important
Source: https://www.xkcd.com/927/
Source: https://www.xkcd.com/927/
Why The Code is Important
Source: https://www.xkcd.com/927/
Why The Code is Important
Source: https://www.xkcd.com/927/
Why The Code is Important
There will always be multiple standards. They will change over time.
Source: https://www.xkcd.com/927/
Why The Code is Important
There will always be multiple standards. They will change over time.
The world can still function thanks to open source pain relievers.
Examples: images, jQuery, npm, Babel
Source: https://www.xkcd.com/927/
Why The Code is Important
There will always be multiple standards. They will change over time.
The world can still function thanks to open source pain relievers.
Examples: images, jQuery, npm, Babel
…but only if published publicly.
Why there are so many formats
“It’s easier to write code than to read it” – Joel Spolsky
Why there are so many formats
“It’s easier to write code than to read it” – Joel Spolsky
Fact of Life #1: FIRYO First Instinct is to Roll Your Own.
Why there are so many formats
“It’s easier to write code than to read it” – Joel Spolsky
Fact of Life #1: FIRYO First Instinct is to Roll Your Own.
How to Embrace: It’s sometimes OK to Roll Your Own. It’s how we learn. Get to MVP in a bubble, then adapt to a standard.
Why there are so many formats
“It’s easier to write code than to read it” – Joel Spolsky
Fact of Life #1: FIRYO First Instinct is to Roll Your Own.
How to Embrace: It’s OK to Roll Your Own. Get to MVP in a bubble, then adapt to a standard.
This is how innovation happens anyway.
Embrace Facts of Life
Fact of Life #2: SHII Somebody Has to Implement It.
Embrace Facts of Life
Fact of Life #2: SHII Somebody Has to Implement It.
How to Embrace SHII:Provide incremental path to compliance
v1.0.0 prefers simplicity to featuresPublic community of fellow travelers
Helpful tests and tools
Embrace Facts of Life
Fact of Life #3: ENEAExistence != Adoption: compatibility comes from many
developers independently choosing to use it.
Embrace Facts of Life
Fact of Life #3: ENEAExistence != Adoption: compatibility comes from many
developers independently choosing to use it.
Meritorious adaptability: prove it first, then standardize.First end user of an API is a developer.
Focus on features relevant to current community.
How to Embrace ENEA:
OADA Overview
OADA Overview
OADA Is Not a “Cloud”
OADA Overview
OADA Is Not a “Cloud”
Frank’s choice: Frank’s farm, local retailer,
Climate, CNH, Winfield, etc.
OADA Overview
OADA Is Not a “Cloud”
Frank’s choice: Frank’s farm, local retailer,
Climate, CNH, Winfield, etc.
Tools aren’t tied to storage
OADA Overview
OADA Is Not a “Cloud”Long Live Transferability!--> market picks winners
Frank’s choice: Frank’s farm, local retailer,
Climate, CNH, Winfield, etc.
Tools aren’t tied to storage
OADA Role Definitions
Certifiable Roles In OADA Ecosystem
OADA-Conformant Cloud
OADA-Conformant Application
OADA-Conformant Device
OADA-Conformant Data Generator
OADA-Conformant Identity Provider
Agcloud.com
OADA Role Definitions
Certifiable Roles In OADA Ecosystem
OADA-Conformant Cloud
OADA-Conformant Application
OADA-Conformant Device
OADA-Conformant Data Generator
OADA-Conformant Identity Provider
OADA Role Definitions
Certifiable Roles In OADA Ecosystem
OADA-Conformant Cloud
OADA-Conformant Application
OADA-Conformant Device
OADA-Conformant Data Generator
OADA-Conformant Identity Provider
OADA Role Definitions
Certifiable Roles In OADA Ecosystem
OADA-Conformant Cloud
OADA-Conformant Application
OADA-Conformant Device
OADA-Conformant Edge
OADA-Conformant Identity Provider
OADA Role Definitions
Certifiable Roles In OADA Ecosystem
OADA-Conformant Cloud
OADA-Conformant Application
OADA-Conformant Device
OADA-Conformant Edge
OADA-Conformant Identity Provider
http://www.iconhot.com/icon/png/devine/256/lock-6.png
OADA Role Definitions
Certifiable Roles In OADA Ecosystem
OADA-Conformant Cloud
OADA-Conformant Application
OADA-Conformant Device
OADA-Conformant Edge
OADA-Conformant Identity Provider
OADA-Conformant Client Registrarhttp://leomancinidesign.com/front/resources/portfolio/full/certificate-of-awesomeness/1.jpg
A Few Design goals
Simple to adapt existing JSON-based REST API’sAPI defined by the data you put in it
http://www.kissbdc.com/wp-content/uploads/2015/02/ein.jpg
A Few Design goals
Simple to adapt existing JSON-based REST API’sAPI defined by the data you put in it
Implementable on existing scalable architectures
http://www.wisdomenough.com/wp-content/uploads/2015/06/blog-square-peg.jpg
A Few Design goals
Simple to adapt existing JSON-based REST API’sAPI defined by the data you put in it
Implementable on existing scalable architectures
Works for both cloud-cloud and app-cloud
https://cloud.google.com/actual-cloud/images/google-actual-cloud-platform.pnghttp://static4.businessinsider.com/image/551c606869bedd5e2a51ea27-480/google-actual-cloud.png
A Few Design goals
Simple to adapt existing JSON-based REST API’sAPI defined by the data you put in it
Implementable on existing scalable architectures
Works for both cloud-cloud and app-cloud
Standardized auth+registration
http://jalapenoberry.com/media/changed-passwords-to-incorrect_admin052413y4ihq.jpg
A Few Design goals
Simple to adapt existing JSON-based REST API’sAPI defined by the data you put in it
Implementable on existing scalable architectures
Works for both cloud-cloud and app-cloud
Standardized auth+registration
Synchronization
Operations
Success != 100% acceptanceFind partners who want to exchange data today
Help exchange it via OADA API
Operations
Success != 100% acceptanceFind partners who want to exchange data today
Help exchange it via OADA API
Downsides: α != β
Operations
Success != 100% acceptanceFind partners who want to exchange data today
Help exchange it via OADA API
Upsides: Enshrines innovatibiltyGets real data flowing
Keeps us honest: reducible to practice
Downsides: α != β
Funding Model
OADA is not an entity. It’s an open source project. - Linux, Android, node.js, …
Github repo + website + brand.
Funding is for people to contribute.Partner sponsorships
Grants
Thank You
Aaron AultOADA Project Leadhttp://openag.io
Senior Research EngineerOpen Ag Technology and Systems GroupPurdue Universityhttp://engineering.purdue.edu/oatsgroup/