Imed Hammouda, Eric Knauss, Leonardo Costantini
CONTINUOUS API-DESIGN FOR SOFTWARE ECOSYSTEMS
RCoSE ‘15
CONTINUOUS API-DESIGN FOR SOFTWARE ECOSYSTEMS Imed Hammouda, Eric - - PowerPoint PPT Presentation
CONTINUOUS API-DESIGN FOR SOFTWARE ECOSYSTEMS Imed Hammouda, Eric Knauss, Leonardo Costantini RCoSE 15 API value chain In the context of a software ecosystem Attract developers Attract end-users Background: APIs and
RCoSE ‘15
In the context
ecosystem
ü Attract
developers
ü Attract
end-users
¨
Jacobson, D., Brail, G., and Woods, D. APIs: A Strategy Guide. O’Reilly Media, 2011.
¨
Stylos, J., Clarke, S., and Myers, B. (2006) Comparing API Design Choices
¨
Green, T. R. G., Petre, M. . Usability Analysis of Visual Programming
Languages and Computing 7: 131174, 1996
¨
Piccioni, M., Furia, C. A., Meyer, B. (2013) An Empirical Study of API Usability. ESEM (International Symposium on Empirical Software Engineering and Measurement); Baltimore, Maryland (USA).
Prioritize Select Assess Ecosystem Personas Ecosystem Elements Fitness dimensions Business drivers Ecosystem strategy Tradeoffs Sensitivity points Risks Non-risk Risk themes Business scenarios (Goals) Ecosystem characteristics impacts Ecosystem Scope Relevant Actors & Relationships distilled into
Prioritize Select Assess Ecosystem Personas Ecosystem Elements Fitness dimensions Business drivers Ecosystem strategy Tradeoffs Sensitivity points Risks Non-risk Risk themes Business scenarios (Goals) Ecosystem characteristics impacts Ecosystem Scope Relevant Actors & Relationships distilled into
Platform
Opport. Hobby Developer Systematic Student Developer
Write Extension
¨ Started with Cognitive Dimension
¤ Some Cognitive (e.g. Learning Style) ¤ Some Technical (e.g. Consistency) ¤ Many missing (e.g. Testing, Security)
¨ Sensitivity point: An API decision that is critical for
achieving a particular fitness dimension.
¨ Tradeoff point: A decision about platform API that affects
more than one fitness dimension or persona (possibly in
¨ Risk: A decision about platform API that may lead to
undesirable consequences.
¨ Non risk: A decision about platform API that is deemed
safe.
¨ Risk theme: A general concern of a group of interrelated
risks in platform API, assigned its own risk value.
Example
attached camera
adds capability
Eric Knauss eric.knauss@cse.gu.se @oerich