The API- & APP- ification of the Web Steven Willmott 3scale networks @3scale - http://www.3scale.net (and possibly everything else)
May 08, 2015
The API- & APP-ification of the Web
Steven Willmott 3scale networks
@3scale - http://www.3scale.net
(and possibly everything else)
This Work is Licensed Under Creative Commons Creative Attribution 3.0
“Welcome to the App-Economy”
“What will win? Apps v’s HTML(5) ”
“The Death of the Open Web?”
Some Hyperbole but..
There is probably something going on…
And some of has to do with SPAs…
Single Page Web Applications
Server (REST / JSON API)
Buttons
Infinite Scroll
Push Updates
Ember.jsAngular.jsBackbone.js…
Single HTML Page & URL Per Pagemany Pages per Site / App
Pages ServerWhole
Server
SPAs Serve a Single Page of HTML and use in page controls to operate
dynamically
Obvious Benefits of SPAs
• Lots of Benefits:– Slick interfaces, Similarity to Mobile/Desktop– App Speed, no need for Page Reloads– Interface variants are easier– Realtime / Push updates
• And Downsides: – JS Skills at a premium, Less Tooling, Modern
Browsers Needed, Framework overload…– (and a few others we’ll mention later)
Examples
Evernote: The Platform Imperative
e.g. Evernote
“Capture Everything - Access anywhere”
Mobile Platforms
DesktopPlatforms
Web Browsers
Top Apps
App Like User Experience
https://www.evernote.com/Home.action#st=p&n=acfb0b6e-8681a424246chttps://www.evernote.com/Home.action#b=7bc900cc5876&st=p&n=a6d5-8681a424246c
Single PageParam Driven
Zendesk: Speed and Slicks
e.g. Zendesk
Real Time Updates
No Page Redraws
Effectively a .jsApp
API User Community
• App.js Example• Same Agility for All• More Robust API• 90+ Integrations
Value…
• Platform strategy• Uniform user experience• Fast, Responsive, No Page Reloads, Push• API Enables 3rd Party Use, Javascript components
make that use easier
• Both also have: dev communities & mobile apps
Adoption and Impact on the Web
Who Will Adopt?(assuming the tech works)
Mobile Natives>> SAAS
>> Ecommerce >>
Content
Impact is more
And more radical
But there are issues…
Links?Referencing?
Crawling & Indexing?
UI Fragmentation?
…Openness?
RSS Following?
Discovery? SEO?
Adoption Complexity & Disruption
LinkingReferencing
Seamless Browsing Discovery
Mobile Native Businesses OS Specific UI is App Specific App Store
SAAS Businesses In app is fine UI is often Specific
Primary Domain Only
eCommerce Businesses
Items need to be addressable
from anywhere
Common Check Out Metaphors
Are usefulMostly for
Primary Domain
Content BusinessesNeeds to
addressable from anywhere
Expect Consistent Web
UISEO is Critical
So – How do We Move Forward?
• Things we MUST Preserve:– Link-a-bility– Browse-a-bility– Crawl/Index/Discover-a-bility– Follow-a-bility
• And a new thing we want to Gain including:– Script-a-bility
Technical Challenges
Changing Architecture of the Web
Link-a-bility
• Hyperlinking• Fragment Referencability
• Web Links Still Work• Fragments Still Work• Param Schemes Need
to be Complete• Avoid Header
Information
http://www.gluecon.com/….
• Links need to be immutable/persistent• Always addressable in the same way• Fragment Identifiers need the right
semantics
Browse-a-bility• Automatically detect an
adequate handler for Content• Possibly offer choices for
handlers
• Mobile Situation is improving
• Browser Requirements are a problem
• HTML5+JS are becoming general compute canvas
• Huge problem is testing / reliability
• Browsing needs to seemlessly navigate between sites and always be able to handle content automatically
• Android: URI Event Subscription Handlers• IOS: Hard code apps to handle referals
Crawl/Index/Discover-a-bility• Explore and Classify
Pages/Fragments• Index, Rank and Return them
upon Search
• Not under the control of Webmasters
• Early SEO fix “#” Fragment URLS (Indexed by Google)
• Google allows Param Includes (not clear how strong)
• Reality: Chicken/Egg Situation
• In addition to Linking• Meta-data is critical • Page Content is critical • URL Content is critical• “machine identification of content /
value”
Metadata Content
Reputation / Value
Follow-a-bility• RSS Feeds for certain types of
content• Have a Consistent Handle on
“what’s new”
• RSS Now has a limited number of consumers
• “social” is touted as the replacement
• Consistent APIs May be helpful (but don’t exist yet)
• Replacement/Augementation with PubSubHUb?
• Subscribe to a feed• Receive every item on the feed (and not
miss any)• Single Common Standard• It’s Polling but Structured
Script-a-bility• APIs form the basis for
interactions• Events scripted across
sites/platforms
• APIs are starting to become more widespread
• Standardization on oAuth is Helping
• Still a ton of work to do the plumbing
• Still sometimes a little complex for the end user
• Underlying APIs expose functionality• No human UI Interaction needed• Scripting platforms allow simple
interactions to occur in an automated way
Conclusions
Beyond the Web
Live Scribe PenText and Audio$150
Smart NotebookPhoto & TagsNew App$25-30
Mobile
Desktop
Web
Physical
Other Examples: Box + Printers & Scanners
Philips Hue
API Platform + Apps is Key for Mixing Digital and Non-Digital
SPA Helps Align the Web with everything else..
• Vast majority of Apps are still not SPA• Most apps still “decide” between Native first v’s
HTML5 first• Mobile commerce is mostly separated “Web”
commerce• Most APIs feeding mobile are still hard wired into a
single Apps• Auth on mobile and the Web are often still
completely different• Physical devices now linking in
… isn’t this all obvious?Not so much…
Next 2-3 years will see radical change in mainstream usage
Big Ideas to Take Away
1
2
3
SPAs Will see increasing adoption
Potentially Disruptive Change to the Web itself
Lots of work to do to make it seamless & open
Thank you!
[email protected]@njyx, @3scale
We make Awesome API Management Tools:http://www.3scale.net/
References
• http://blog.stevensanderson.com/2012/08/01/rich-javascript-applications-the-seven-frameworks-throne-of-js-2012/
• http://www.avc.com/a_vc/2012/12/rethinking-mobile-first.html
• http://pandodaily.com/2012/12/06/html-javascript-and-the-app-ification-of-the-web/