June 2019 Practical API Design Ro Ronnie Mitra ronnie.mitra@publicissapient.com @mitraman 2
Publicis Sapient | Digital Business Transformation As a digital business transformation partner of choice, we’ve spent nearly three decades utilising the disruptive power of technology and ingenuity to help digitally enable our clients' business in their pursuit of next Industry Recognition Our scale Our scale Our scale Our scale Our scale Our clients Our clients Our clients Our clients Our clients Strong Challengers Contenders performers Leaders Stronger 20, 20, 20,000 20, 20,000 20, 20, 20,000 20,000 20,000 000 000 000 000 000 current offering Accenture McKinsey Deloitte & Company IBM EY passionate people passionate people passionate people passionate people passionate people Cognizant Publicis Capgemini Sapient PwC Wipro KPMG 50+ 50+ 50+ 50+ 50+ 50+ 50+ 50+ 50+ 50+ Atos Infosys Tata Consultancy Services Serving you Serving you Serving you Serving you Serving you DXC Technology A startup mindset and agile methods to unlock value in ways that offices globally connect offices globally connect offices globally connect offices globally connect offices globally connect delight your customers and improve their operational effectiveness Market presence* 30 30 30 30 30 30 30 30 30 30 A transformation approach that is grounded in a view of both the Weaker company and the customer simultaneously current offering Weaker strategy Stronger strategy A unique fusing of strategy and consulting, experience and years of digital pioneering years of digital pioneering years of digital pioneering years of digital pioneering years of digital pioneering Forrester Global Digital Business engineering with an enduring culture of problem-solving creativity Transformation Accelerators – Q1 2019 and customer innovation and customer innovation and customer innovation and customer innovation and customer innovation
Ronnie Mitra 4
The Scope of API Design Interface Supporting Implementation Instance Model Assets & Tools API 5
Significant API Design Costs After Publishing Change Cost Client Engineering Interface Design Cost API Engineering Cost Cost Safety Cost 6
7 Practical Techniques For API Design
Technique #1 Set The Right Design Goals
Typical API Design Goals Access to Data & Services 9
Typical API Design Goals Reduced Reliance on Staff Reduced Learning Time Increased Developer Productivity Access to Data & Services 10
Typical API Design Goals Increased Conversion Rate Talent Retention Brand Credibility Reduced Reliance on Staff Reduced Learning Time Increased Developer Productivity Access to Data & Services 11
Typical API Design Goals Increased Conversion Rate Talent Retention Experience Focus Brand Credibility Design costs increases as Reduced Reliance on Staff Reduced Learning Time we move up Usability Focus Increased Developer Productivity Functional Access to Data & Services Focus 12
Calculating The Cost-Benefit of API Design https://humanfactors.com/coolstuff/roi_increase_productivity.asp 13
user The Kano Model satisfaction Attractive Features (“delighters”) feature implementation Performance Features (“known improvements”) Basic Features (“tablestakes”) 14
user Invest in Attractive Features when satisfaction API-X is a key success factor Increased Conversion Rates Attractive Features (“delighters”) Brand Marketability Talent Retention 15
user Focus on Convention When API-X satisfaction is not the priority Conventional Attractive Features Zone (“delighters”) feature implementation Performance Features (“known improvements”) Basic Features (“tablestakes”) 16
user The Kano Model: satisfaction Beware of Feature Degradation Attractive Features (“delighters”) feature implementation Performance Features (“known improvements”) Basic Features (“tablestakes”) 17
Use Imitation as a Shortcut to a Conventional API Save time by using another API design as inspiration Co Considerations: • Who are the API’s users? • What domain does it operate in? • What is it like to use? GET /changes GET /changes/watch 18
Technique #2 Sketch & Prototype Iteratively
Sketch & Prototype Set Research Sk Sketch Pr Prototype pe Build Publish Goal 20
Technique #3 Heuristic Evaluation
API Design Reviews Just like a code review, your API design can benefit from evaluation by other experts and your peers. 22
API Design Reviews Just like a code review, your API design can benefit from evaluation by other experts and your peers. Pr Pract ctica cal Challenges : • Access to API design experts • Getting comprehensive feedback • Collating analysis from multiple experts 23
Jakob Neilsen and Rolf Molich: 10 Usability Heuristics for User Interface Design 1. Visibility of System Status 2. Match Between System and the Real World 3. User Control and Freedom 4. Consistency and Standards 5. Error Prevention 6. Recognition rather than recall 7. Flexibility and Efficiency of Use 8. Aesthetic and Minimalist Design 9. Help Users Recognize, Diagnose, and Recover from Errors 10. Help and Documentation 24
7 Usability Heuristics for API Design 1. 1. Vi Visibility of System Status 2. 2. Ma Match Be Between Sy System and th the Re Real World User Control and Freedom 3. 3. Co Consistency and Standards 4. 4. Er Error or Prevention on Recognition rather than recall 5. 5. Fl Flexibility and Efficien ency of Use Aesthetic and Minimalist Design 6. 6. Help Us He Users Recognize, Diagnose, and Recover from Er Error ors 7. 7. He Help an and Do Documentation 25
5 Usability Heuristics for Machine Interface Design 1. 1. Vi Visibility of System Status Ma Match Be Between Sy System and th the Re Real World User Control and Freedom 2. 2. Co Consistency and Standards 3. 3. Er Error or Prevention on Recognition rather than recall 4. 4. Fl Flexibility and Efficien ency of Use Aesthetic and Minimalist Design 5. 5. He Help Us Users Recognize, Diagnose, and Recover from Er Error ors He Help an and Do Documentation 26
5 Usability Heuristics for Machine Interface Design Ho How eas easy is is it it to to un understand what is 1. 1. Vi Visibility of System Status ha happening? 2. Consistency and Standards 3. Error Prevention 4. Flexibility and Efficiency of Use 5. Help Users Recognize, Diagnose, and Recover from Errors 27
5 Usability Heuristics for Machine Interface Design Are interface and data models internally Ar 1. Visibility of System Status co consis iste tent? t? 2. 2. Co Consistency and Standards Do Does the API adhere to specifications and 3. Error Prevention or organizati tion onal sta standards? s? 4. Flexibility and Efficiency of Use 5. Help Users Recognize, Diagnose, and Recover from Errors 28
5 Usability Heuristics for Machine Interface Design 1. Visibility of System Status Ar Are the interface model and data model 2. Consistency and Standards overly complicated? ov 3. 3. Er Error or Prevention on Is th Is there av avoi oidable ti tight t cou oupling th that t will 4. Flexibility and Efficiency of Use cause errors when th ca thin ings ch change? 5. Help Users Recognize, Diagnose, and Recover from Errors 29
5 Usability Heuristics for Machine Interface Design 1. Visibility of System Status 2. Consistency and Standards Does th Do the in inte terface ce mo model su suppor ort bo both 3. Error Prevention begi beginner er an and d ad advan anced ed use e cas ases es? 4. 4. Fl Flexibility and Efficien ency of Use Ar Are th their ir op opti timizati tion ons an and d ac accel eler erat ators 5. Help Users Recognize, Diagnose, and Recover from Errors available? av 30
5 Usability Heuristics for Machine Interface Design 1. Visibility of System Status 2. Consistency and Standards 3. Error Prevention 4. Flexibility and Efficiency of Use Is er Is error in informatio tion ac accurat ate an and he helpful? 5. 5. Help Us He Users Recognize, Diagnose, and Recover from Er Error ors Do Does it address both human and machine co conce cerns? 31
Example of a Heuristic Analysis Vi Visi sibili lity: REQUEST • “Use 202 instead” • “Provide a link where client can check job status and add some info about job length” RESPONSE Co Consistency & St Standards: • “Use our standardized words for job status (“in- progress”)” 32
Find Usability Problems by Combining Results Re Reviewer B Re Reviewer C Re Reviewer D Re Reviewer A Visibility of System Status Consistency & Standards Error Prevention Flexibility & Efficiency of Use Help Users Recognize, Diagnose an Recover 33
Technique #4 Write Code
Writing Code in the Design Phase Machine Proof of Concept Interface API Implementation Model Technical Validation Iterative sketching 35
Writing Code in the Design Phase Machine Proof of Concept Proof of Concept Interface API Implementation Client Code Model Design Validation Technical Validation Iterative sketching 36
Recommend
More recommend