Participating in the API Economy An API Lifecycle

  • Slides: 71
Download presentation
Participating in the API Economy: An API Lifecycle Analysis Joan Disho, 11 th June

Participating in the API Economy: An API Lifecycle Analysis Joan Disho, 11 th June 2018, Final Presentation - Master Thesis Chair of Software Engineering for Business Information Systems (sebis) Faculty of Informatics Technische Universität München wwwmatthes. in. tum. de

Agenda 1. Introduction 1. Problem 2. Motivation 3. Objectives 2. Approach 3. API &

Agenda 1. Introduction 1. Problem 2. Motivation 3. Objectives 2. Approach 3. API & API Economy 4. API Lifecycle in the API Economy 1. 2. 3. 4. 5. Planning Phase Design Phase Build Phase Operational Phase Retiring Phase 5. Conclusion Participating in the API Economy: An API Lifecycle Analysis © sebis 2

Problem �� �� ♂� We often see two common cases when it comes to

Problem �� �� ♂� We often see two common cases when it comes to APIs • The closed ”partner-to-partner” API model, where a company announces that is sharing data with another one, but you can’t use them unless you are an official partner. • A company launches a technically great API, but does so with no developer business model. • There is no clear model, as a guideline, that helps companies participating in the API Economy. API Morphology Analysis of Successful Organizations in the API Economy. © sebis 3

Motivation ���� ♂� • Why: To help companies to participate and succeed in the

Motivation ���� ♂� • Why: To help companies to participate and succeed in the API Economy network. • How: By presenting a lifecycle analysis of the API participating in the API Economy. Participating in the API Economy: An API Lifecycle Analysis © sebis 4

Objectives �� I addressed answered three research questions 1. What is an API and

Objectives �� I addressed answered three research questions 1. What is an API and API Economy? 2. Which are the lifecycle phases of an API participating in the API Economy? 3. What are the components of each API lifecycle phase? Participating in the API Economy: An API Lifecycle Analysis © sebis 5

Agenda 1. Introduction 1. Problem 2. Motivation 3. Objectives 2. Approach 3. API &

Agenda 1. Introduction 1. Problem 2. Motivation 3. Objectives 2. Approach 3. API & API Economy 4. API Lifecycle in the API Economy 1. 2. 3. 4. 5. Planning Phase Design Phase Build Phase Operational Phase Retiring Phase 5. Conclusion Participating in the API Economy: An API Lifecycle Analysis © sebis 6

Approach ���� ♂� 1. SLR Process Participating in the API Economy: An API Lifecycle

Approach ���� ♂� 1. SLR Process Participating in the API Economy: An API Lifecycle Analysis © sebis 7

Approach ���� ♂� 2. Define Research Questions Q 1: What are the aspects that

Approach ���� ♂� 2. Define Research Questions Q 1: What are the aspects that a company should consider when planning to have an API? Q 2: What are the design techniques and technologies to design and build and API? Q 3: What are the marketing and engagement strategies to boost the API traffic in the market? Q 4: What the metrics to measure the API growth and success? Q 5: What are the retirement reasons and preparation which can help a company to keep an excellent reputation in the API community? Participating in the API Economy: An API Lifecycle Analysis © sebis 8

Approach ���� ♂� 3. Search Process Participating in the API Economy: An API Lifecycle

Approach ���� ♂� 3. Search Process Participating in the API Economy: An API Lifecycle Analysis © sebis 9

Approach ���� ♂� 4. Inclusion and exclusion criteria Inclusion criteria 1. 2. 3. 4.

Approach ���� ♂� 4. Inclusion and exclusion criteria Inclusion criteria 1. 2. 3. 4. English sources. Direct focus in relation to the raised questions. Full papers, including the abstract. Conferences and journals are dedicated articles in relation to the raised questions. Exclusion criteria 1. Too general information. 2. Focus not on web APIs. 3. Duplicated results. Participating in the API Economy: An API Lifecycle Analysis © sebis 10

Agenda 1. Introduction 1. Problem 2. Motivation 3. Objectives 2. Approach 3. API &

Agenda 1. Introduction 1. Problem 2. Motivation 3. Objectives 2. Approach 3. API & API Economy 4. API Lifecycle in the API Economy 1. 2. 3. 4. 5. Planning Phase Design Phase Build Phase Operational Phase Retiring Phase 5. Conclusion Participating in the API Economy: An API Lifecycle Analysis © sebis 11

API & API Economy �� What is an API? • An API is an

API & API Economy �� What is an API? • An API is an interface though which a software can request and exchange data with a company or organization that provides it. • An API is a machine-readable Interface that exposes some of the Application's internal functions to outside world though HTTP requests, often served in a JSON formatted text and sometimes in XML. API: Application Programming Interface An API Morphology Analysis of Different Organizations in the API Economy © sebis 12

API & API Economy �� Twitterrific An API Morphology Analysis of Different Organizations in

API & API Economy �� Twitterrific An API Morphology Analysis of Different Organizations in the API Economy Tweetbot © sebis 13

API & API Economy �� API Value Chain An API Morphology Analysis of Different

API & API Economy �� API Value Chain An API Morphology Analysis of Different Organizations in the API Economy © sebis 14

API & API Economy �� From API to API Economy • APIs being part

API & API Economy �� From API to API Economy • APIs being part of products, are part of an agile business methodology, helping a company to create new revenue streams, by selling data on demand or by attracting investors, partners, producing an economy around itself, called API Economy An API Morphology Analysis of Different Organizations in the API Economy © sebis 15

API & API Economy �� Pioneers of API Economy An API Morphology Analysis of

API & API Economy �� Pioneers of API Economy An API Morphology Analysis of Different Organizations in the API Economy © sebis 16

API & API Economy �� Growth of APIs An API Morphology Analysis of Different

API & API Economy �� Growth of APIs An API Morphology Analysis of Different Organizations in the API Economy © sebis 17

API & API Economy �� Trends Technology areas that most APIs are growing An

API & API Economy �� Trends Technology areas that most APIs are growing An API Morphology Analysis of Different Organizations in the API Economy © sebis 18

API & API Economy �� Trends One in five API providers began providing APIs

API & API Economy �� Trends One in five API providers began providing APIs within the last two years An API Morphology Analysis of Different Organizations in the API Economy © sebis 19

API & API Economy �� Trends Nearly two-third of API providers support mobile. An

API & API Economy �� Trends Nearly two-third of API providers support mobile. An API Morphology Analysis of Different Organizations in the API Economy © sebis 20

API Lifecycle �� API lifecycle in the API Economy An API Morphology Analysis of

API Lifecycle �� API lifecycle in the API Economy An API Morphology Analysis of Different Organizations in the API Economy © sebis 21

API Lifecycle �� A crucial pre-step for the API provider, before deciding which business

API Lifecycle �� A crucial pre-step for the API provider, before deciding which business strategy will be used for the API, is validating why the company needs an API and who is going to use it. Q 1: Why does the company needs an API? Q 2: What functions will the API accomplish? Q 3: What is the API value proposition? Q 4: Who is the audience? Q 5: Does and why my audience wants to consume an API? Q 6: Does the company has the resources required to develop and maintain the API? An API Morphology Analysis of Different Organizations in the API Economy © sebis 22

Planning Phase ���� �� Business Strategies ������ Private An API Morphology Analysis of Different

Planning Phase ���� �� Business Strategies ������ Private An API Morphology Analysis of Different Organizations in the API Economy Partner Public © sebis 23

Planning Phase ���� �� Business Strategies – Private Model �� Business Benefits ���� ♂�

Planning Phase ���� �� Business Strategies – Private Model �� Business Benefits ���� ♂� Challenged and disadvantages ���� ♂� 1. Start the API Strategy. 1. Reverse engineering. 2. Improve communication and collaboration. 2. Being closed. 3. Accelerate Time-to-Market. 3. Not focusing in usability. 4. Internal analytics. An API Morphology Analysis of Different Organizations in the API Economy © sebis 24

Planning Phase ���� �� Business Strategies – Partner Model �� Business Benefits ���� ♂�

Planning Phase ���� �� Business Strategies – Partner Model �� Business Benefits ���� ♂� Challenged and disadvantages ���� ♂� 1. Build trust with business partners. 1. Increased bureaucracy. 2. Increase profits. 2. Increase time for decision making. 3. Drive innovation. 3. Partnering when hiring is not possible. 4. Access new customer markets. 5. Identify commercial API opportunities. An API Morphology Analysis of Different Organizations in the API Economy © sebis 25

Planning Phase ���� �� Business Strategies – Public Model �� Business Benefits ���� ♂�

Planning Phase ���� �� Business Strategies – Public Model �� Business Benefits ���� ♂� Challenged and disadvantages ���� ♂� 1. New revenue streams. 1. Risk of exposing internal data. 2. Increase reach and traffic. 2. ROI timeline is decreased. 3. Increase customer lifetime value. 3. Server overload and quality of service. 4. Ease of development. 4. The need of a better API design quality. 5. Improving without spending time on research. 5. Conflict of interest. An API Morphology Analysis of Different Organizations in the API Economy © sebis 26

Monetization Models �� �� Developer pays An API Morphology Analysis of Different Organizations in

Monetization Models �� �� Developer pays An API Morphology Analysis of Different Organizations in the API Economy �� Developer gets paid �� Indirect © sebis 27

Monetization Models �� Developer Pays Developer pays Pay direct Tired license An API Morphology

Monetization Models �� Developer Pays Developer pays Pay direct Tired license An API Morphology Analysis of Different Organizations in the API Economy Unit based Subscription model Premium upsell Cost savings © sebis 28

Monetization Models �� Developer gets paid Developer pays Affiliate An API Morphology Analysis of

Monetization Models �� Developer gets paid Developer pays Affiliate An API Morphology Analysis of Different Organizations in the API Economy Revenue share © sebis 29

Monetization Models �� Indirect Developer pays Content acquisition An API Morphology Analysis of Different

Monetization Models �� Indirect Developer pays Content acquisition An API Morphology Analysis of Different Organizations in the API Economy Content syndication © sebis 30

Legal Considerations �� Contracts and Terms of use 1. Trademarks 2. Copyrights 3. Branding

Legal Considerations �� Contracts and Terms of use 1. Trademarks 2. Copyrights 3. Branding requirements. An API Morphology Analysis of Different Organizations in the API Economy © sebis 31

Legal Considerations �� Contracts and Terms of use An API Morphology Analysis of Different

Legal Considerations �� Contracts and Terms of use An API Morphology Analysis of Different Organizations in the API Economy © sebis 32

Legal Considerations �� 1. Contracts and Terms of use 2. Privacy policies 3. Data

Legal Considerations �� 1. Contracts and Terms of use 2. Privacy policies 3. Data retention policies 4. Attribution and content of branding An API Morphology Analysis of Different Organizations in the API Economy © sebis 33

Legal Considerations �� Attribution of Content and Branding An API Morphology Analysis of Different

Legal Considerations �� Attribution of Content and Branding An API Morphology Analysis of Different Organizations in the API Economy © sebis 34

Legal Considerations �� 1. Contracts and Terms of use 2. Privacy policies 3. Data

Legal Considerations �� 1. Contracts and Terms of use 2. Privacy policies 3. Data retention policies 4. Attribution and content of branding 5. Service-Level Agreements An API Morphology Analysis of Different Organizations in the API Economy © sebis 35

API Design ���� ♀� 1. Visibility of system status 2. Match Between the System

API Design ���� ♀� 1. Visibility of system status 2. Match Between the System and the Real World 3. Consistency and Standards 4. Error Prevention 5. Flexibility and efficiency of use 6. Help Users Recognize, Diagnose, and Recover from Errors 7. Help and Documentation An API Morphology Analysis of Different Organizations in the API Economy © sebis 36

API Design ���� ♀� Visibility of system status �� “The system should always keep

API Design ���� ♀� Visibility of system status �� “The system should always keep users informed about what is going on, through appropriate feedback within reasonable time. ” — Nielsen 1 xx 2 xx 3 xx 4 xx Informational Success Redirection User Error An API Morphology Analysis of Different Organizations in the API Economy 5 xx Server Error © sebis 37

API Design ���� ♀� Visibility of system status �� 1. Is it difficult to

API Design ���� ♀� Visibility of system status �� 1. Is it difficult to learn when something has gone wrong in the system? 2. Does the interface tell us the result of invocations and requests? 3. Should the system describe any relevant side-effects that may have occurred? An API Morphology Analysis of Different Organizations in the API Economy © sebis 38

API Design ���� ♀� Match Between the System and the Real World �� “The

API Design ���� ♀� Match Between the System and the Real World �� “The system should speak the users’ language, with words, phrases and concepts familiar to the user, rather than system oriented terms. Follow real world conventions, making information appear in a natural and logical order. ” — Nielsen An API Morphology Analysis of Different Organizations in the API Economy © sebis 39

API Design ���� ♀� Match Between the System and the Real World �� An

API Design ���� ♀� Match Between the System and the Real World �� An API Morphology Analysis of Different Organizations in the API Economy © sebis 40

API Design ���� ♀� Match Between the System and the Real World �� ��

API Design ���� ♀� Match Between the System and the Real World �� �� � GET /photos /get. Photos GET /photos/: id /get. Photos/: id DELETE /collections/: id /delete. Collection/: id PUT /collections/: id /update. Collections/: id POST /collections /add. Collection An API Morphology Analysis of Different Organizations in the API Economy © sebis 41

API Design ���� ♀� Match Between the System and the Real World �� 1.

API Design ���� ♀� Match Between the System and the Real World �� 1. Does the language match the developer’s real world? 2. Is the vocabulary understandable? 3. Does the API behaves like the APIs that developers are used to consume? An API Morphology Analysis of Different Organizations in the API Economy © sebis 42

API Design ���� ♀� Consistency and Standards �� ♂� “Users should not have to

API Design ���� ♀� Consistency and Standards �� ♂� “Users should not have to wonder whether different words, situations, or actions mean the same thing. ” — Nielsen An API Morphology Analysis of Different Organizations in the API Economy © sebis 43

API Design ���� ♀� Consistency and Standards �� ♂� 1. Is the API consistent

API Design ���� ♀� Consistency and Standards �� ♂� 1. Is the API consistent across its scope? 2. Is the vocabulary consistent and do the words have the same meaning? 3. Does the API implementation match the documentation? 4. Is it necessary to apply changes and version the API? 5. Do I have the resources to version and support old version of the API? An API Morphology Analysis of Different Organizations in the API Economy © sebis 44

API Design ���� ♀� Error prevention �� “Even better than good error messages is

API Design ���� ♀� Error prevention �� “Even better than good error messages is a careful design which prevents a problem from occurring in the first place. Either eliminate error-prone conditions or check for them and present users with a confirmation option before they commit to the action. ” — Nielsen An API Morphology Analysis of Different Organizations in the API Economy © sebis 45

API Design ���� ♀� Error prevention �� 1. Are the examples correct and not

API Design ���� ♀� Error prevention �� 1. Are the examples correct and not misleading? 2. Does the documentation provide examples how to use the API? 3. Is the interface of the API overly complex and easier to be learned by the developers? 4. If complex, how can it be simplified? An API Morphology Analysis of Different Organizations in the API Economy © sebis 46

API Design ���� ♀� Flexibility and efficiency of use �� ♂� “Accelerators — unseen

API Design ���� ♀� Flexibility and efficiency of use �� ♂� “Accelerators — unseen by the novice user — may often speed up the interaction for the expert user such that the system can cater to both inexperienced and experienced users. Allow users to tailor frequent actions. ” — Nielsen An API Morphology Analysis of Different Organizations in the API Economy © sebis 47

API Design ���� ♀� Flexibility and efficiency of use �� ♂� 1. Pagination 2.

API Design ���� ♀� Flexibility and efficiency of use �� ♂� 1. Pagination 2. Searching and filtering 3. Sorting 4. Content types An API Morphology Analysis of Different Organizations in the API Economy © sebis 48

API Design ���� ♀� Flexibility and efficiency of use �� ♂� 1. Does the

API Design ���� ♀� Flexibility and efficiency of use �� ♂� 1. Does the API provides shortcuts to boost the efficiency like pagination, searching & filtering and sorting? 2. Does the API supports at least the most popular content types like JSON, XML and CSV? 3. Are there opportunities to optimize any repetitive or unnecessary steps? An API Morphology Analysis of Different Organizations in the API Economy © sebis 49

API Design ���� ♀� Help Users Recognize, Diagnose, and Recover from Errors of use

API Design ���� ♀� Help Users Recognize, Diagnose, and Recover from Errors of use �� “Error messages should be expressed in plain language (no codes), precisely indicate the problem, and constructively suggest a solution. ” —Nielsen An API Morphology Analysis of Different Organizations in the API Economy © sebis 50

API Design ���� ♀� Help Users Recognize, Diagnose, and Recover from Errors of use

API Design ���� ♀� Help Users Recognize, Diagnose, and Recover from Errors of use �� 1. Explicit indication 2. Human readable language 3. Polite messages 4. Precise descriptions 5. Constructive advice An API Morphology Analysis of Different Organizations in the API Economy © sebis 51

API Design ���� ♀� Help Users Recognize, Diagnose, and Recover from Errors of use

API Design ���� ♀� Help Users Recognize, Diagnose, and Recover from Errors of use �� An API Morphology Analysis of Different Organizations in the API Economy © sebis 52

API Design ���� ♀� Help Users Recognize, Diagnose, and Recover from Errors of use

API Design ���� ♀� Help Users Recognize, Diagnose, and Recover from Errors of use �� 1. Is the error information correct? 2. Is the machine readable information provided? 3. Does it describe the error in a way that the human use can understand it? 4. Is enough information provided to correct the error? An API Morphology Analysis of Different Organizations in the API Economy © sebis 53

API Design ���� ♀� Help and documentation �� “Even though it is better if

API Design ���� ♀� Help and documentation �� “Even though it is better if the system can be used without documentation, it may be necessary to provide help and documentation. Any such information should be easy to search, focused on the user’s task, list concrete steps to be carried out, and not be too large. ” — Nielsen An API Morphology Analysis of Different Organizations in the API Economy © sebis 54

API Design ���� ♀� Help and documentation �� Sandboxing An API Morphology Analysis of

API Design ���� ♀� Help and documentation �� Sandboxing An API Morphology Analysis of Different Organizations in the API Economy © sebis 55

API Design ���� ♀� Help and documentation �� HTTP call methods, Request and Examples

API Design ���� ♀� Help and documentation �� HTTP call methods, Request and Examples An API Morphology Analysis of Different Organizations in the API Economy © sebis 56

API Design ���� ♀� Help and documentation �� 1. How well the documentation map

API Design ���� ♀� Help and documentation �� 1. How well the documentation map the problems that a developer will try to solve? 2. Is the language and vocabulary understandable? 3. Does it provide information that helps the developer to understand the functionalities behind the system? 4. Does it include the four basic essentials that were explained above? An API Morphology Analysis of Different Organizations in the API Economy © sebis 57

API Design ���� ♀� REST vs Graph. QL �� ♂� Issues with REST that

API Design ���� ♀� REST vs Graph. QL �� ♂� Issues with REST that Graph. QL fixes: 1. Round trips and repeat times. 2. Over/Under-fetching. 3. Dynamic typing and poor metadata. An API Morphology Analysis of Different Organizations in the API Economy © sebis 58

Develop & Deploy �� API design services An API Morphology Analysis of Different Organizations

Develop & Deploy �� API design services An API Morphology Analysis of Different Organizations in the API Economy © sebis 59

Develop & Deploy �� API development services ABAO An API Morphology Analysis of Different

Develop & Deploy �� API development services ABAO An API Morphology Analysis of Different Organizations in the API Economy © sebis 60

Develop & Deploy �� API development services An API Morphology Analysis of Different Organizations

Develop & Deploy �� API development services An API Morphology Analysis of Different Organizations in the API Economy © sebis 61

Develop & Deploy �� API deployment services An API Morphology Analysis of Different Organizations

Develop & Deploy �� API deployment services An API Morphology Analysis of Different Organizations in the API Economy © sebis 62

Marketing & Engagement Strategies �� ♂� Evangelizing the API �� An API Morphology Analysis

Marketing & Engagement Strategies �� ♂� Evangelizing the API �� An API Morphology Analysis of Different Organizations in the API Economy © sebis 63

Marketing & Engagement Strategies �� ♂� Hackathons ������ �� Hackathons ���� ������ �� An

Marketing & Engagement Strategies �� ♂� Hackathons ������ �� Hackathons ���� ������ �� An API Morphology Analysis of Different Organizations in the API Economy © sebis 64

Marketing & Engagement Strategies �� ♂� Third-party integrations �� An API Morphology Analysis of

Marketing & Engagement Strategies �� ♂� Third-party integrations �� An API Morphology Analysis of Different Organizations in the API Economy © sebis 65

Marketing & Engagement Strategies �� ♂� Engaging Developers An API Morphology Analysis of Different

Marketing & Engagement Strategies �� ♂� Engaging Developers An API Morphology Analysis of Different Organizations in the API Economy © sebis 66

Metrics �� 1. Usage metrics 1. 2. Request and response metric Impressions 2. Operational

Metrics �� 1. Usage metrics 1. 2. Request and response metric Impressions 2. Operational metrics 1. 2. Effectiveness metric Performance metric 1. 2. 3. Availability and uptime Responsiveness and latency Endpoint evaluation An API Morphology Analysis of Different Organizations in the API Economy © sebis 67

Retirement ���� Reasons for retirement 1. Lack of third-party integrations 2. Competition 3. Changes

Retirement ���� Reasons for retirement 1. Lack of third-party integrations 2. Competition 3. Changes in technology 4. Versioning 5. Security Issues An API Morphology Analysis of Different Organizations in the API Economy © sebis 68

Retirement ���� Preparations for retirement 1. Schedule a retirement plan 2. Make changes in

Retirement ���� Preparations for retirement 1. Schedule a retirement plan 2. Make changes in stages 3. Public announcements 4. Ease of transition 5. Blackout testing An API Morphology Analysis of Different Organizations in the API Economy © sebis 69

Limitations & Future work �� 1. Based on manual search for information using Systematic

Limitations & Future work �� 1. Based on manual search for information using Systematic Literature Review 2. Lack of detailed information from APIs that already thrive in the API Economy. 3. Examples only from publicly available APIs, because information regarding APIs under a partnership strategy could not be disclosed. An API Morphology Analysis of Different Organizations in the API Economy © sebis 70

Prof. Dr. Florian Matthes Technische Universität München Faculty of Informatics Chair of Software Engineering

Prof. Dr. Florian Matthes Technische Universität München Faculty of Informatics Chair of Software Engineering for Business Information Systems Boltzmannstraße 3 85748 Garching bei München Tel Fax +49. 89. 289. 17132 +49. 89. 289. 17136 matthes@in. tum. de wwwmatthes. in. tum. de