Exploring
Content API
Options
Jani Tarvainen, 23.3.2016
About me
• Jani Tarvainen
• Fully Stuck Developer
• I do all kinds of things
• Current Corporate Affiliations
• PS Consultant at eZ Systems
• Principle Growth Hacker at Malloc Skunkworks
• Twitter: @velmu
Content APIs?
• A way of accessing pristine, unformatted Content via an API
• 99% of the time people think of JSON reads and REST
• Arguably a Content Marketing Buzz Byproduct
• If you've got a REST API you'll make money
• Content vs. Data
• Data is Collected
• Content is Created
Content and presentation decoupled
• This is new and awesome!
• Or is it?
• RSS Feeds and AJAX in 2005: http://www.nigelcrawley.co.uk/bbc/
• P.S. XML's not dead, it's different from JSON:
• <para>Go ahead and try to create <em>mark up</em> like this in <link
target=”123”>JSON</link></para>
So what are our options?
Data Platforms
• Some examples:
• Ruby Grape (Ruby): http://www.ruby-grape.org
• Spray (Scala): http://spray.io
• Nodal (JavaScript): http://www.nodaljs.com
• Maru (Elixir / Erlang): https://maru.readme.io
• API Platform (PHP): https://api-platform.com
API Platform usage demo (with
EasyAdminBundle)
• https://www.youtube.com/watch?v=SJ805S7rdFw
Data Platform Advantages
• Extremely flexible
• High performance
• Provide exactly what is needed
• 100% Control
• Can be used to aggregate Data and Content
Data Platform Disadvantages
• Content Management is a complex problem domain
• Very developer focused
• Crafting solutions to generic problems that Content API / CMS solves
• Stability of platform over 5-10 year span
Content Platform
• Examples
• Contentful: http://contentful.com/
• Box Content API: https://developers.box.com/content-api/
• Prismic: http://prismic.io/
• Medium API: https://medium.com/developers
• GatherContent: http://gathercontent.com
Contentful Usage Demo
• https://www.youtube.com/watch?v=5JITUIFLq2c
Content Platform Advantages
• Simplified content entry
• Simple to purchase and deploy
• Good developer APIs, SDKs and Documentation
• Scales globally without actions
• If the API does not work... you know who's to blame
Content Platform Disadvantages
• No control, features can be removed at any point
• Price can shoot up with large amounts of Content
• No tools for layout management
• Integrations (authentication, etc.) can be tricky
• You'll (probably) need to do layout management somewhere
Content Management System (CMS)
• Examples
• Craft CMS: http://craftcms.com
• Drupal: http://drupal.org/
• WordPress: http://wordpress.org/
• eZ Platform / Studio: http://ez.no/
• Plone: http://plone.org
eZ Studio API and Layout editing Demo
• https://www.youtube.com/watch?v=nIoGdyuiEnk
Content Management System Advantages
• Sitebuilding essentials: Content management, permissions, layout
management, etc..
• Tried and tested over decades
• Extensible and able to integrate
• Full control over installation (self hosted)
Content Management System Disadvantages
• Usability mileage varies
• Feature bloat: Forum, CRM, eCommerce...
• Can be old and crufty
• Development & hosting overhead (self hosted)
• Tempting to see everything as Content (vs. Data)
Conclusions
• Content Management is a melting pot of Content, Data and Control
• One size does not fit all
• Power is nothing without Control
• Don't over-engineer
Editor experience matters (Sway.com)
http://sway.com
The end
• Related Links:
• Exploring Content API Options (video and Sway Slides)
• The Content API Gold Rush
• Open Source and the Content Creation Experience
• Your CMS REST API should be WordPress Compatible
• Popular Symfony components used by CMSes
• Testing content editing with Sway

Exploring Content API Options - March 23rd 2016

  • 1.
  • 2.
    About me • JaniTarvainen • Fully Stuck Developer • I do all kinds of things • Current Corporate Affiliations • PS Consultant at eZ Systems • Principle Growth Hacker at Malloc Skunkworks • Twitter: @velmu
  • 3.
    Content APIs? • Away of accessing pristine, unformatted Content via an API • 99% of the time people think of JSON reads and REST • Arguably a Content Marketing Buzz Byproduct • If you've got a REST API you'll make money • Content vs. Data • Data is Collected • Content is Created
  • 4.
    Content and presentationdecoupled • This is new and awesome! • Or is it? • RSS Feeds and AJAX in 2005: http://www.nigelcrawley.co.uk/bbc/ • P.S. XML's not dead, it's different from JSON: • <para>Go ahead and try to create <em>mark up</em> like this in <link target=”123”>JSON</link></para>
  • 5.
    So what areour options?
  • 6.
    Data Platforms • Someexamples: • Ruby Grape (Ruby): http://www.ruby-grape.org • Spray (Scala): http://spray.io • Nodal (JavaScript): http://www.nodaljs.com • Maru (Elixir / Erlang): https://maru.readme.io • API Platform (PHP): https://api-platform.com
  • 7.
    API Platform usagedemo (with EasyAdminBundle) • https://www.youtube.com/watch?v=SJ805S7rdFw
  • 8.
    Data Platform Advantages •Extremely flexible • High performance • Provide exactly what is needed • 100% Control • Can be used to aggregate Data and Content
  • 9.
    Data Platform Disadvantages •Content Management is a complex problem domain • Very developer focused • Crafting solutions to generic problems that Content API / CMS solves • Stability of platform over 5-10 year span
  • 10.
    Content Platform • Examples •Contentful: http://contentful.com/ • Box Content API: https://developers.box.com/content-api/ • Prismic: http://prismic.io/ • Medium API: https://medium.com/developers • GatherContent: http://gathercontent.com
  • 11.
    Contentful Usage Demo •https://www.youtube.com/watch?v=5JITUIFLq2c
  • 12.
    Content Platform Advantages •Simplified content entry • Simple to purchase and deploy • Good developer APIs, SDKs and Documentation • Scales globally without actions • If the API does not work... you know who's to blame
  • 13.
    Content Platform Disadvantages •No control, features can be removed at any point • Price can shoot up with large amounts of Content • No tools for layout management • Integrations (authentication, etc.) can be tricky • You'll (probably) need to do layout management somewhere
  • 14.
    Content Management System(CMS) • Examples • Craft CMS: http://craftcms.com • Drupal: http://drupal.org/ • WordPress: http://wordpress.org/ • eZ Platform / Studio: http://ez.no/ • Plone: http://plone.org
  • 15.
    eZ Studio APIand Layout editing Demo • https://www.youtube.com/watch?v=nIoGdyuiEnk
  • 16.
    Content Management SystemAdvantages • Sitebuilding essentials: Content management, permissions, layout management, etc.. • Tried and tested over decades • Extensible and able to integrate • Full control over installation (self hosted)
  • 17.
    Content Management SystemDisadvantages • Usability mileage varies • Feature bloat: Forum, CRM, eCommerce... • Can be old and crufty • Development & hosting overhead (self hosted) • Tempting to see everything as Content (vs. Data)
  • 18.
    Conclusions • Content Managementis a melting pot of Content, Data and Control • One size does not fit all • Power is nothing without Control • Don't over-engineer
  • 19.
    Editor experience matters(Sway.com) http://sway.com
  • 20.
    The end • RelatedLinks: • Exploring Content API Options (video and Sway Slides) • The Content API Gold Rush • Open Source and the Content Creation Experience • Your CMS REST API should be WordPress Compatible • Popular Symfony components used by CMSes • Testing content editing with Sway