Your SlideShare is downloading. ×
Why an innovative mobile strategy needs a robust API
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Why an innovative mobile strategy needs a robust API

1,300
views

Published on

Published in: Technology

1 Comment
2 Likes
Statistics
Notes
  • Manmohan, as always a pleasure presenting with you.

    Here's a link to a followup blog post on this topic at Reality Check, Software AG's corporate blog.

    http://www.softwareag.com/blog/reality_check/index.php/hot-and-not/webinar-recap-mobile-insights/

    David
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
1,300
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
1
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • [This is meant as the agenda slide for my section – the “tell them what you’ll tell them” slide]IT Must respond by building a platform for delivering an enterprise class of services – “enterprise class is built into the platform” enabling developers to be compliant with corporate policies, while meeting their own individual business needs.
  • Migrate a Mainframe App to a PC. Done. Right? Nope.Before PC’s took off, no one really knew if they were a “business tool” or something else. At first, this was ok, people would use PC apps for personal productivity, but “real work” was done on the mainframe.This sounds like today’s attitudes.
  • I think this is a good time to mention why there is a lot of friction right now. It’s not just the increased demand, or the transparency. It’s the fact that a touch/speak model of computing is much more intimate. And, when apps don’t align with that intimacy, it’s a more jarring experience than in the past (when an app was just hard to use).
  •  
  • The interaction model – it’s not about menus and drilling in deeper and deeper to get more information. It’s about stream-of-consciousness “in the moment” activity. So, capturing a meeting. Entering data at point of occurrence. Time/Location driven event response. Etc. Take for example a customer who believes that smart mobile notifications can get customers to pay their tax bills earlier. Mobile behavior is different.
  • Each of these points – delivering many, quickly, easily change, many models is a multiplier – each turns 1 project into many deliverables/apps.
  • This is in many ways “culturally driven” as much as “technology driven”.Of course the App Store follows the long tail model pioneered by Amazon Books – it’s the same thing, but for software. The difference is, we also use software within the enterprise, and the App Store is setting people’s expectations on availability, awareness, ratings, etc.
  • This enterprise stuff has become uncool to speak about – governance, compliance, risk management, resiliency, privacy… but it’s critical. For the obvious reasons, but also because they make sure to protect the enterprise and enable better business.
  • This is the summary slide, setting up the questions slides that sets up Manmohan
  • These metrics to optimize to are critical, but not at the expense of the user experience.These get delivered in the platform.On point #5, use as example: How do you understand root-cause “integration” errors, rather than chase 100’s of app errors?
  • We heard why enterprise mobile For next few minutes - how
  • Propose a framework with 3 phasesStrategy is overarching…In the first phase –Focus on Target audienceand value Business case and business modelsIn the second the focus is on –Actually designing and implementing the APIIn the third phase, the focus is on –Operating your API platform, tracking key KPIs and making it easy for app developers to adopt your API
  • Decide who are your target app developersCould be internal, external or partnersDetermine the access policies and terms of serviceRate limits, breadth of access, business modelShould provide valuable function or data or service to the target audienceExpose a business capability as an API – valuable data or valuable functionExamples:The Intuit Partner Platform (IPP) enables developers to integrate with rich financial and transactional data through REST-based APIs and offers unparalleled reach through Apps.com.2 API’s one to integrate QUickBooks, second to access to financial and transactional Data From 19,000 Financial Institutions  
  • An API not backed by great service is a kind of like lipstick on a pig – i.e. it’s still a pig
  • FreeDeveloper PaysDeveloper Gets PaidIndirectFacebook API is free to useDeveloper Pays (e.g. Paypal by transaction and AWS by pay as you go)Developer gets paid (affiliate)>CPA – fixed advertising rates (Amazon 4% on electronics, 10% of instant video)>CPC - The eBay Commerce Network product listings that you can display on your website are sold on a cost per click (CPC) basis to merchants. We share back with you a portion of the revenue we collect for all qualified merchant leads.>Expedia affiliate network - $2B / year 90% of all business via API’s>Signup/referral - Recurring revenue (e.g. Rdio) or one-timeIndirect Content syndicationNew York TimesNetflix with 800 devices integrationAmazon.com’s SOA+60% of tweets come from 3rd party apps built on TwitterBake it in – cruicial for long term financial viability of your API platform
  • As David said its not about the medium, but about the experience. API are crucial to delivering that experience.APIs are a lot like building a UI since it targets the developersMock up -> Try it out with and try it out with sample data And with feedback refine it further until the goals are metAnd that’s when you move on to implement the APIAdded benefit of test and doc is now in sync with implement
  • Your product (your API) needs to be credible, relevant, and differentiated. You essentially create a façade – a holistic view of what the API should be from the perspective of the app developer and end user of the apps they create. Power the API with data stubs and iterate till you are satisfied with the API. Then use mediation to integrate the API façade with the systems of record.“Design Patterns – Elements of Reusable Object-Oriented Software (Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides)
  • GIVE CHOICESData formatsXML, JSONProtocolsREST, SOAPSecurity/authentication optionsOAuth2, OpenID connect, HTTP basic authAdvanced optionsStreaming for low latency accessResponse CachingBatch API vs. Real-timeSupport partial response by adding optional fields in a comma delimited list. Use limit and offset to make it easy for developers to paginate objects. APPLY OCCAM’s RAZOR PRICINCIPLEIf two API’s are equivalent, simpler one is preferred – discard anything more complex
  • Why REST has been preferred?-> rise in use of rest->75% of all public API’s use REST (programmable web)Since REST takes advantage of the same Internet mechanisms that are used to view regular web pages resulting in faster implementations and easier for developers to understand. REST/JSON vs. XML60% of all new API’s support JSON.30% of all new API’s support only JSON.BUT a good API understands its audience-> your audience may prefer SOAP-> good examples of this are: a) exchanging documents with strategic partners b) Financial data: Strikeiron is only SOAP and Xignite in financial services (has a choice of SOAP and REST API’s)c) Salesforce provides both SOAP and REST API
  • Limited bandwidth, processing powerIntermittent connectivityUse JSON to allow apps to specify size of data Use GZIP to compress responsesOAuth2 to avoid password sharingCache your responses if appropriateCaching means lighter load on your data centerOr use CDN’s for faster response timesChatty APIs and how to deal with it : Netflix example-> design a REST API-> provide shortcuts for returning composite response-> consider providing an SDKTesting by simulate latency. Slow down your backend service and verify UX
  • Managing API Changes Dependencies & impact analysis (show pic)API versioning & backward compatibility -> Salesforce example: /services/data/v20.0/sobjects/Account -> Intuit example : /api/v1/app/BillingStatus/<appid> (show pic) Provisioning, deprecation & retirement (show lifecycle pic)Communicating your strategy
  • Usage and subscription tracking (show pic) - Traffic: total calls, top APIs - Developers: trending apps, top developers vs. tootal - Service: performance, error rates, availability - Marketing: dev registrations, traffic sources - Support: support tickets, response times, community metrics - Business: indirect/direct revenue, costs
  • Make it easy for app developersEasy to find API’s with great documentationWhat it doesFree/trial access, Fast signupClear docsCopious code examplesDeveloping the right API (Delight your developers)Make it easy for app developersEasy to Find API’s (Search pic)Great Documentation (EPA sample code page) Clear docs Copious code examples What it doesSample Apps (pics – EPA UV index, Amtrak )Free/trial access/Fast signuptools(See jmusser slides 52 and 57)
  • Make it easy for app developersEasy to find API’s with great documentationWhat it doesFree/trial access, Fast signupClear docsCopious code examplesDeveloping the right API (Delight your developers)Make it easy for app developersEasy to Find API’s (Search pic)Great Documentation (EPA sample code page) Clear docs Copious code examples What it doesSample Apps (pics – EPA UV index, Amtrak )Free/trial access/Fast signuptools(See jmusser slides 52 and 57)
  • Developer CommunityEngage with regular communication and updatesProvide a forum for developers to collaborate with their peersAnd evangelize your API.Grow your communitySponsor hackathons, if targeting public developersConduct App contests that encourage developers to dig into your API. 
  • Transcript

    • 1. ©2013 Software AG. All rights reserved.Why an Innovative MobileStrategy Requires aRobust APIDavid Bressler (@djbressler)Director, Mobile SolutionsInnovation Through Integration SeriesManmohan Gupta (@manmohan_gupta)Sr. Director, Product Marketing#APISoftwareAG
    • 2. ©2013 Software AG. All rights reserved.2 |David BresslerDirector, Mobile Solutions@djbressler#APISoftwareAG
    • 3. ©2013 Software AG. All rights reserved.3 |3 Key Trends of Mobile & How It’s Driving ITMobile Continues the Mainframe->PC TrajectoryIT Needs to Spend More Time in theLong TailIT Protects the Organization asEnablers, not Enforcers
    • 4. ©2013 Software AG. All rights reserved.4 |
    • 5. ©2013 Software AG. All rights reserved.5 |It’s not about the medium,it’s about the experienceIT needs to think about deliveringan experience more thansupporting a device
    • 6. ©2013 Software AG. All rights reserved.6 |How do your enterprise mobile apps map to yourexisting desktop/web applications? (Pick one)• 1 mobile app : 1 desktop/web application• a few mobile apps : 1 desktop/web application• many mobile apps : 1 desktop/web applicationPoll Question#APISoftwareAG
    • 7. ©2013 Software AG. All rights reserved.7 |The interaction model changes fromgoal-oriented to stream-of-consciousnessDesign is not only how it looks, but alsohow it works
    • 8. ©2013 Software AG. All rights reserved.8 |African Bank Use Case:Loan Application for Mobile Customer AccessApplying for a creditConnect toLoan Processvia APIGenerate offerquotation throughweb serviceObtain credit offercapital immediately,without having to visita branch of the bank
    • 9. ©2013 Software AG. All rights reserved.9 |What’s the big deal?IT knows how to deliver applications.
    • 10. ©2013 Software AG. All rights reserved.10 |It’s not about delivering an application.It’s about delivering manyapplications, quickly, that can easilychange, and supporting manyexperiences & interaction models(while protecting the enterprise).
    • 11. ©2013 Software AG. All rights reserved.11 |The New ITProjectsIt’s no longer OK to delivera few great apps, IT needsto deliver a lot ofreasonably good ones
    • 12. ©2013 Software AG. All rights reserved.12 |But even a small, reasonably good appneeds a lot of infrastructure… it needsto be “enterprise class”
    • 13. ©2013 Software AG. All rights reserved.13 |How do we address mobile…(1) as a game changing new platform,(2) in the long tail of the enterprise,(3) while enabling innovation,(4) but without sacrificing enterpriseclass service?
    • 14. ©2013 Software AG. All rights reserved.14 |How Do We Drive Mobile Innovation?Unleash Your Company’s Digital Assetsas an API Platform…1. Securely2. Fast to market / fast to change3. Reduced development cost4. Managing unknowns5. Operationally efficient
    • 15. ©2013 Software AG. All rights reserved.15 |Manmohan GuptaSr. Director, Product Marketing@manmohan_gupta#APISoftwareAG
    • 16. ©2013 Software AG. All rights reserved.16 |Framework to Build a Robust API PlatformAPI Goals &Prioritization(Identification)Definition &Realization(Actualization)Deployment &Optimization(Operations)
    • 17. ©2013 Software AG. All rights reserved.17 |Goals of your API• Decide who are yourtarget app developers• Expose a businesscapability as an API
    • 18. ©2013 Software AG. All rights reserved.18 |Is your API well provisioned?
    • 19. ©2013 Software AG. All rights reserved.19 |API Business ModelsSource: 20 API business models in 20 minutes, John Musser,ProgrammableWeb, API Strategy Conference, 2013Bake your business model into your API
    • 20. ©2013 Software AG. All rights reserved.20 |API is a lot like building a UXMock Up Try Out Implement
    • 21. ©2013 Software AG. All rights reserved.21 |API Façade PatternMediationAPI Facade“Use the façade pattern when you want to provide asimple interface to a complex subsystem. Subsystemsoften get more complex as they evolve.”Source: Design Patterns – Elements of Reusable Object-Oriented Software, Erich Gamma, et al, Oct 1994.
    • 22. ©2013 Software AG. All rights reserved.22 |Simple & flexible API• Provide choices –• Data Formats• Protocols• Authentication• Advanced Options• Occam’s Razor
    • 23. ©2013 Software AG. All rights reserved.23 |Is REST the best?Source: ProgrammableWeb, based on5100 API’s as of Feb 2013But a good API understands its audience
    • 24. ©2013 Software AG. All rights reserved.24 |Limited by bandwidth, CPU, connectivity• Consider -• Cashing choices• Data compression• Partial responses• “Chatty” APIsOptimize for Mobile
    • 25. ©2013 Software AG. All rights reserved.25 |• Managing API changesManaging the lifecycle of your APISalesforce:/services/data/v20.0/sobjects/AccountIntuit:/api/v1/app/BillingStatus/<appid>“Communication leads to community that is, tounderstanding, intimacy and mutual valuing.”- Rollo MayDependencies & impact analysis API versioning & compatibility Provisioning, deprecation & retirement
    • 26. ©2013 Software AG. All rights reserved.26 |Managing the lifecycle of your APITrafficServiceMarketingSupportDevelopers Business• Usage & Subscription Tracking“You cant manage what you cant measure”- Peter DruckerAnalytics
    • 27. ©2013 Software AG. All rights reserved.27 |Delighting your developersEasy to find API’sGreat Documentation
    • 28. ©2013 Software AG. All rights reserved.28 |Delighting your developersSeveral Sample Apps
    • 29. ©2013 Software AG. All rights reserved.29 |Supporting your APICommunicate & EvangelizeSponsor hackathons“Without a sense of caring,there can be no sense of community.”- Anthony J. DAngelo
    • 30. ©2013 Software AG. All rights reserved.30 |#APISoftwareAG