Software Architect Adam Ross presented "ReliefWeb's Journal from RSS Feed to Public API" at the 2014 API Strategy & Practice Conference in Chicago on September 25. He answers the questions:
What is ReliefWeb?
Why does it have an API?
How was it built?
What did it take to open it?
What's next?
2. What is ReliefWeb?
Why does it have an API?
How was it built?
What did it take to open it?
What’s next?
3. Adam
Ross
Software Architect & API Designer
Email:
aross@phase2technology.com
Twitter:
@grayside_sb
4. What is ReliefWeb
• ReliefWeb is a specialized digital service for the
United Nations Office for the Coordination of
Humanitarian Affairs) established in 1996.
• Global staff of 30 content editors aggregating
and curating content on a daily basis for the
Humanitarian sector.
• Over half a million items, growing by tens of
thousands per year, especially in
the community-sourced areas of jobs and
training.
5. RSS Was Not Enough
• “Here are the last 10 things: build your UI”
• Deep integrations are RSS-driven migrations, you need
to build an entire application and be responsible for
your own scraped copy.
• This means lots of overhead for innovation
6. So they Made an API
and...
• Built a mobile version of the site
• Built a trends & analytics site to
examine what’s going on in the
world across decades
• Building a new search system on
top of the API
7. Built on Open Source
PHP
nginx
ElasticSearch
Swagger
Composer
Klein
Elastica
Jenkins
... etc
8. Especially
ElasticSearch
• Provides a wealth of search & analysis
functionality for the API.
• Booming community of tools, especially
monitoring.
• Separately scales from main content storage.
• API app focuses on creating a developer
experience.
9. Opening the API
• Public data, public need, public innovation.
• Already have a webapp, what more could we need?
• (A systematically managed platform.)
10. API Provider says...
Scale
Analytics
Policing
API Consumer says...
Reliability
Usability
Documentation
Invested
11. Usability & Reliability
• Hypermedia
• JSON
• CORS (Browser-friendliness)
• Backwards Compatibility a.k.a.
Forwards Compatibility
• Testing (all the ways)
• Getting here is a new version and
over 80% code change
12. More People Sharing ReliefWeb’s
Mission
• Want people to be able to easily
execute on ideas
• There’s not time to spend days or
weeks learning the system.
• Meaningful usage helps fulfill
ReliefWeb’s goals and drives
technology investment.
13. Roadmap Teaser
• Infrastructure Upgrade to improve Reliability & Scale
• Usage analytics to target improvements and monitor
community impact.
• SDK & Web Widgets to facilitate integration
• Geo & Semantic use cases