rapido: a sketching tool for web api designersrapido: a sketching tool for web api designers ronnie...

6
Rapido: A Sketching Tool for Web API Designers Ronnie Mitra Director of API Design CA Technologies [email protected] ABSTRACT Well-designed Web APIs must provide high levels of usability and must “get it right” on the first release. One strategy for accomplishing this feat is to identify usability issues early in the design process before a public release. Sketching is a useful way of improving the user experience early in the design phase. Designers can create many sketches and learn from them. The Rapido tool is designed to automate the Web API sketching process and help designers improve usability in an iterative fashion. Keywords API, design, sketching, REST, Web API, usability 1. INTRODUCTION Over the years, a number of books, papers and talks have been published to provide design guidance for Web API Designers. The expert advice in this domain often highlights three important characteristics for well-designed APIs: APIs should provide ‘just enough’ functionality to meet user requirements APIs should follow a user-centered design approach APIs should not break existing applications This advice presents an interesting challenge for the modern API designer. They must create interfaces that provide good user experiences within the constraint of limiting breaking changes. Joshua Bloch illustrates this challenge in one of his maxims for good design: “Public APIs, like diamonds, are forever. You have one chance to get it right so give it your best.” [1] This paper introduces sketching as a method for improving API user experiences in the design phase, before implementation. It also introduces a tool called Rapido that has been created to facilitate the act of sketching web APIs. 2. SKETCHING An implicit but important part of many design processes is the sketching phase. Sketching has been proposed as a formal component of many design processes including interaction design [2], mechanical design [3] and engineering[4]. In broad terms, a sketch is a form of design that includes relatively less detail than a formal design. Sketches carry connotations of being formed quickly and effortlessly. Copyright is held by the International World Wide Web Conference Committee (IW3C2). IW3C2 reserves the right to provide a hyperlink to the author's site if the Material is used in electronic media. WWW 2015 Companion, May 18–22, 2015, Florence, Italy. ACM 978-1-4503-3473-0/15/05. http://dx.doi.org/10.1145/2740908.2743040 They often capture abstract thoughts from a designer’s mind and can be used to record experimentation with new ideas that might otherwise be forgotten. In his book “Sketching User Experiences”, Bill Buxton highlights the importance of sketching in all design processes and identifies that sketching is central to design thinking and learning[5]. Buxton also explains how sketches can be used to improve the user experience within an interaction design context by allowing designers to produce many experimental concepts that are iteratively refined in pursuit of the best final concept. For the Web API designer, sketching offers a method to achieve rapid design iterations at the beginning of a design process. By creating a sketch, reviewing it and applying the lessons learned to a new sketch a designer can identify and solve usability problems in the early phases of design. When incorporated into a design process that includes user testing and prototype development, the designer can improve the odds that the overall user experience will be improved. There are many ways to produce sketches, but we will focus on four popular sketching methods and discuss the benefits and limitations of each. 2.1 Drawing A simple and accessible method for sketching is to put pencil to paper, marker to whiteboard or digital pen to canvas. Drawing can be a powerful way of representing the memories or abstractions of the human mind. While the quality level of a drawing may differ depending on the artist’s level of artistic skill, the use of a drawing to communicate an idea is as central to the human experience as spoken language[6]. 2.1.1 Benefits One of the great advantages to drawing a sketch is the ease with which one can start. Almost every designer should be capable of effortlessly creating a doodle. This simple act doesn’t require strenuous thought regarding the process of drawing. But, these rough sketches can provide a sufficient level detail to capture the important aspects of an early phase design regardless of their aesthetic appeal. The human proficiency for drawing simple images and the speed at which a low fidelity drawing can be rendered makes it easy for the sketch artist to draw many sketches in a short time, disposing of sketches as they go. For example, a designer considering a CRUD API might initially draw the low fidelity sketch depicted in figure 1 using simple boxes and lines. 1509

Upload: others

Post on 27-Jul-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Rapido: A Sketching Tool for Web API DesignersRapido: A Sketching Tool for Web API Designers Ronnie Mitra Director of API Design CA Technologies ronnie.mitra@gmail.com ABSTRACT Well-designed

Rapido: A Sketching Tool for Web API Designers

Ronnie Mitra Director of API Design

CA Technologies [email protected]

ABSTRACT Well-designed Web APIs must provide high levels of usability and must “get it right” on the first release. One strategy for accomplishing this feat is to identify usability issues early in the design process before a public release.

Sketching is a useful way of improving the user experience early in the design phase. Designers can create many sketches and learn from them.

The Rapido tool is designed to automate the Web API sketching process and help designers improve usability in an iterative fashion.

Keywords API, design, sketching, REST, Web API, usability

1. INTRODUCTION Over the years, a number of books, papers and talks have been published to provide design guidance for Web API Designers.

The expert advice in this domain often highlights three important characteristics for well-designed APIs:

APIs should provide ‘just enough’ functionality to meet user requirements

APIs should follow a user-centered design approach APIs should not break existing applications

This advice presents an interesting challenge for the modern API designer. They must create interfaces that provide good user experiences within the constraint of limiting breaking changes.

Joshua Bloch illustrates this challenge in one of his maxims for good design: “Public APIs, like diamonds, are forever. You have one chance to get it right so give it your best.” [1]

This paper introduces sketching as a method for improving API user experiences in the design phase, before implementation. It also introduces a tool called Rapido that has been created to facilitate the act of sketching web APIs.

2. SKETCHING An implicit but important part of many design processes is the sketching phase. Sketching has been proposed as a formal component of many design processes including interaction design [2], mechanical design [3] and engineering[4].

In broad terms, a sketch is a form of design that includes relatively less detail than a formal design. Sketches carry connotations of being formed quickly and effortlessly.

Copyright is held by the International World Wide Web Conference Committee (IW3C2). IW3C2 reserves the right to provide a hyperlink to the author's site if the Material is used in electronic media. WWW 2015 Companion, May 18–22, 2015, Florence, Italy. ACM 978-1-4503-3473-0/15/05. http://dx.doi.org/10.1145/2740908.2743040

They often capture abstract thoughts from a designer’s mind and can be used to record experimentation with new ideas that might otherwise be forgotten.

In his book “Sketching User Experiences”, Bill Buxton highlights the importance of sketching in all design processes and identifies that sketching is central to design thinking and learning[5]. Buxton also explains how sketches can be used to improve the user experience within an interaction design context by allowing designers to produce many experimental concepts that are iteratively refined in pursuit of the best final concept.

For the Web API designer, sketching offers a method to achieve rapid design iterations at the beginning of a design process. By creating a sketch, reviewing it and applying the lessons learned to a new sketch a designer can identify and solve usability problems in the early phases of design.

When incorporated into a design process that includes user testing and prototype development, the designer can improve the odds that the overall user experience will be improved.

There are many ways to produce sketches, but we will focus on four popular sketching methods and discuss the benefits and limitations of each.

2.1 Drawing A simple and accessible method for sketching is to put pencil to paper, marker to whiteboard or digital pen to canvas.

Drawing can be a powerful way of representing the memories or abstractions of the human mind. While the quality level of a drawing may differ depending on the artist’s level of artistic skill, the use of a drawing to communicate an idea is as central to the human experience as spoken language[6].

2.1.1 Benefits One of the great advantages to drawing a sketch is the ease with which one can start.

Almost every designer should be capable of effortlessly creating a doodle. This simple act doesn’t require strenuous thought regarding the process of drawing. But, these rough sketches can provide a sufficient level detail to capture the important aspects of an early phase design regardless of their aesthetic appeal.

The human proficiency for drawing simple images and the speed at which a low fidelity drawing can be rendered makes it easy for the sketch artist to draw many sketches in a short time, disposing of sketches as they go.

For example, a designer considering a CRUD API might initially draw the low fidelity sketch depicted in figure 1 using simple boxes and lines.

1509

Page 2: Rapido: A Sketching Tool for Web API DesignersRapido: A Sketching Tool for Web API Designers Ronnie Mitra Director of API Design CA Technologies ronnie.mitra@gmail.com ABSTRACT Well-designed

F

Aewcd

Fthe

Tli

2Uainimm

Inlidwcin

Csacpla

2Wa

Tinmdd

2Acdos

Wlacgtep

Figure 1 - Drawi

Another of the dexperimentation wwith a blank canconcepts in a limdigital constraints

For example, a dhat do not confo

existing understan

The freedom to iittle effort are po

2.1.2 LimitatiUnless the designare ill-suited for Antroduce enougmplementation a

machine code.

n addition, the frimiting as it is be

designers who hawho draws a characterize theirnterface sketch.

Capturing a high sketch. While, dabstract entities acapture higher fidparameters and mabour intensive e

2.2 WritingWhile the drawn abstract idea, a ‘w

The actual languanstance, a design

might sketch thedesigner might describing it in an

2.2.1 BenefitsAs with drawingcommunicate anddescribe abstract of writing out esketching method

Written sketches anguages are use

can be communicgain an API thatestability and so

prototype implem

ing a CRUD AP

drawing method’within the sketchnvas are free tomitless fashion, s of the specific m

designer might skorm to existing stnding of system

innovate and capowerful features o

ions ner is using a speAPI implementatgh fidelity inand the medium

reedom to draw aeneficial. The blave little experiesketch must ur chosen API st

level of detail cadrawing is well-and relationshipdelity information

message bodies foexercise without

g sketch is a visu

written’ sketch is

age used for the ner familiar witheir HTTP based

also sketch thn email on a mail

s g, writing is a d store abstract iconcepts either

early designs ofd to adopt.

become particuled. Designers nocated in a commot can be invoke

ocialization of thmentation time.

PI Sketch

’s great strengthhing process. D

o experiment wibounded only b

medium they cho

ketch interfaces tandards, or interand implementat

pture new ideas of the drawn sket

ecific drawing totion. For examp

nto the sketchitself cannot easi

and experiment olank page providence in API desunderstand the tyle in order to

an also be difficu-suited to capturs of an interfacen. For example,or an interface casome form of too

ual representationa literal represen

sketch can take h the Ruby progrd API in Ruby heir API is psling list.

common methoideas. We are invisually or litera

f the API is a

larly powerful wot only get the beon, standardized ed. This can grhe interface as w

hs is that it fosteDesigners that staith new ideas anby the physical oose.

with new featurrfaces that defy tion limits.

and concepts witch.

ol, drawn sketchple, it is difficult h for a usefily be translated

on a page can be des no guidance fsign. The design

basic rules thdraw an effectiv

ult when drawingring the importae, it is difficult listing operationan easily becomeoling.

n of the designerntation.

many forms. Framming languagcode. The samseudo-code wh

od for humans nherently driven ally [6], so the anatural and ea

when programminenefit a sketch thlanguage, but al

reatly increase thwell as reduce th

ers art nd or

res an

ith

hes to

ful to

as for ner hat ve

g a ant to

ns, e a

r’s

For ge

me en

to to

act asy

ng hat so he he

Writingprototyp

2.2.2Althougits implfind therather thsketchin

In addilanguagcorrectimportaproblem

Writingproblemthey hiteration

Even wthe sambetweenlow-fiddifficul

2.3 UThe UMused staUML ato mode

When uthe draw

2.3.1A greatpredictapossibleUML capplicatimplem

Anotheshould be able level of

2.3.2HowevAPI deuse and

g or coding an ypes and can be a

Limitationsgh writing an Alementability, deemselves focusinhan the abstract dng phase.

dition, when skege, designers can

syntax, error ant for implemms related to the

g an API as ams. Designers mhave crafted andns rather than sta

worse, if the progme language than sketch, prototy

delity, disposablelt.

UML ML (Unified Moandard for mode

addresses five vieel abstract system

used for sketchiwing and writing

Figure 2 UML

Benefits t feature of UMable syntax. Te for UML basecreation. In add

ation code bamentability of a U

er advantage of Ube designed. In

e to be depicted wf experimentabili

Limitationsver, UML's flexibesigners[7]. The d not for the spec

API is a natuan effective optio

API in a programesigners who takng on very detaildesign decisions

etching an API n become focused

handling and mentation instea

interface.

a first step canmay grow emotid they may rearting over with a

gramming languaat will be used fype and build is ee sketch in this t

odeling Languageling object orienews of software ms like Web API

ing, UML offersg methods.

L Diagram for a

ML is that it is foThis modeling sed tooling to em

ddition, some UMased on the

UML based sketc

UML is that it don fact, any netwowith this sketchinity for designers.

bility also presenmodeling langu

cific domain of W

ural way to buion for sketching a

mming language cke this approach med implementati

s that should be th

design in a pd on solving the code readabili

ad of the abst

n also present dionally attached e-use code betwa new idea.

age used to sketcfor implementatieasily blurred. Mtype of circumst

ge) is an existingnted software syarchitecture and Is [9].

s a specialized f

an object based A

ormally defined standardization hmerge aiding theML tools can a

model, imprch.

oes not prescribe ork-based architeng method, prov.

nts a usability cuage is designedWeb API design.

ild powerful as well.

can improve may quickly on decisions he focus in a

programming problems of ty that are tract design

disposability to the code

ween sketch

ch the API is ion, the line

Maintaining a tance is very

g and widely ystems. The

can be used

form of both

API

and offers a has made it e process of

auto-generate roving the

how an API ecture should viding a high

challenge for d for general

1510

Page 3: Rapido: A Sketching Tool for Web API DesignersRapido: A Sketching Tool for Web API Designers Ronnie Mitra Director of API Design CA Technologies ronnie.mitra@gmail.com ABSTRACT Well-designed

Ftyagto

OsOUHla

InUpli

AtrHin

Fmcdm

2Ttocin

Ssd

Usli

Hbhsde

F

2StoApw

For example, URypes and vocabu

and method taxogain enough expeo their own dom

One solution to specific modelinObject ConstrainUML designed However, as of anguage has not

n addition, the sUML based sketpossess the approimiting the appea

A designer who ranslate abstract

However, learninnterface can pres

Finally, some UMmethod for codcode[7]. This documentation lamodeling languag

2.4 InterfacThere is an emergo describe Web

constantly evolvinclude WADL, S

Service descriptiosupport sketchindescribe relevant

Ultimately, usingsketching in codeimitations that w

However, in recbeen released withigh level of usketching an APdescribed in the editor provided b

Figure 3 - Apiar

2.4.1 BenefitsService descriptioo support the t

Although designparticular descripwill facilitate that

RLs, query paramularies must all

onomy of a UMLertise with the UMain problems.

this problem mng language thatnt Language (OC

for object orf this writing a

emerged.

yntax of UML ptch cannot be shopriate level of Ual of UML as a s

is competent wt thought to a ng the modelinsent a difficult ch

ML users use thede generation o

perception ofanguage may limge for informal sk

ce Descriptioging set of servicand REST APIs

ing, but at the timSwagger, RAML

on formats are nng activities, bu

details of an inte

g a format langue. It shares all o

were highlighted i

ent years many th editing tools to

usability to desiPI much easier.

Blueprint descry the format auth

ry.io: an editor f

s on editors are potask of rapid inners must learnption language, et task during the

meters, HTTP nobe mapped to t

L class diagramML language to

might be to impt uses UML.

CL) was originaliented analysis

popular UML

presents a socialihared with otherUML knowledge

sketching method

with UML will bconceptual ver

ng language whhallenge.

e modeling languor documentatiof UML as a mit the designer’sketching.

on Editors ce description fos. The list of desme of this writin

L and Blueprint [

not usually designut their ability erface makes them

uage to sketch aof the characteriin section 3.2.

service descripo support them. igners and mak For example

ription format uhors [12] (See Fi

for the Blueprin

owerful because nterface descrip

n the format aneditors with high design effort.

menclature, medthe class, proper

m. Designers mube able to apply

plement a domaFor example, thly an extension

and design[10based Web A

ization problem. rs unless they ale to understand

d.

be able to quickrsion of the APhile designing a

uage primarily ason of productio

programming s desire to use th

ormats that attemcription formats

ng popular choic8].

ned specifically to document anm a natural fit.

an API is akin istics, benefits an

tion formats havThese tools offer

ke the process , an API can b

using a web basegure 3).

nt language

they are designeption compositiond syntax of thlevels of usabili

dia rty ust y it

ain he of 0].

API

A lso it,

kly PI. an

s a on or he

mpt is

ces

to nd

to nd

ve r a of be ed

ed on. he ity

The beecosystphase totheir be

In addiwhich disposasketch d

2.4.2Utilizindescribmakes descript

While dsyntax the formreflect t

Also, mAPI engthe desi

Finally,depictioUML smore diand rela

3. RARapidosketchinexperimquicklyfeatures

The Rato a relas writFor exaimplemheader

A Rapisketch:

1.2.3.4.5.

With thsketch pdepend

3.1 PTo begfirst credecide w

At presand “Hweb ba“Hyperhyperm

est service desctem or workflowo implementatio

est sketches into w

ition, the low ctext can be st

ability. A designdesign by startin

Limitationsng a service desce interfaces mait difficult for dtion format autho

designers can exof the format in

rmat provides. the format design

many format lanngines and produigner and implan

, many interfaceon of the interfasketching methoifficult for designationships betwe

APIDO o[11] is an experng with both vi

ment is to build y and with just ens.

apido tool is purplatively low-fidetten programminample, designer

ment conditional information.

ido user typicall

Create a sketcDefine a vocaSketch the APModel responExport an AP

he exception of thprocess can be r

dencies between s

Project Creagin the act of skeeate a new sketcwhat style of AP

sent time, RapidHypermedia” respased interfaces rmedia” style

media controls.

cription format w that makes it eaon. This means tworking prototyp

cost of creation tored makes thner can easily p

ng over again

cription format thakes many desigdesigners to go or has created.

xperiment with inuse, they are conThis leads to thner’s mental mod

nguages are closucts. This can renter do not share

e description ediace model that isods. This lack oners and reviewe

een elements of th

rimental tool desisual and literal a tool that help

nough detail to c

rposefully designlity sketch when

ng languages or rs can only defi

or error handlin

ly follows these

ch project abulary PI nse data PI description

he first project cre-visited or skipstages.

ation etching an API inch project. At tPI will be sketche

do supports two pectively. The that are primariallows designe

tools provide asy to move fromthat designers canpes.

combined with his method wellperform many ite

hat is specificallygn tasks easier, beyond the mo

nterfaces that connstrained by the he design of intdel.

sely associated weduce the implem

the same tool ec

itors lack the hos provided in theof visualization ers to perceive thhe interface.

signed to facilitamethods. The

ps designers crecapture important

ned to constrain n compared to m

service descripfine static responng and cannot e

steps when cre

creation step, eacpped entirely as

n Rapido, the dethis stage, the deed.

API styles calle“CRUD” style iily object baseders to sketch

a complete m the sketch n easily turn

the ease at l suited for erations of a

y designed to but it also

odel that the

nform to the features that terfaces that

with runtime mentability if cosystem.

olistic visual e drawing or can make it

he transitions

ate web API goal of the

ate sketches t API design

the designer methods such

tion editors. nses, cannot edit protocol

eating a new

ch step in the there are no

esigner must esigner must

ed “CRUD” is useful for d, while the

APIs with

1511

Page 4: Rapido: A Sketching Tool for Web API DesignersRapido: A Sketching Tool for Web API Designers Ronnie Mitra Director of API Design CA Technologies ronnie.mitra@gmail.com ABSTRACT Well-designed

3Abmin

Fw‘

F

Bthdao

Tlaoth

Itcsm

3Tmrb

Wwcr

F

Aer

3.2 VocabuA unique featurebegin by creatingmade of the wornterface.

For example, whewe might start bcourse’.

Figure 4 - Vocab

Beginning with ahink about the in

designer can conand relationships of how these conc

The words that aater sketching p

only promotes cohe typing effort f

t is important tocaptured in the tosketching functimeanings of word

3.3 SketchinThe CRUD sketmethod view of aesonate with mo

blocks of the CRU

When sketching with a blank canclicking on the resource of the CR

Figure 5 – The b

A ‘wizard’ for reenter the URI, allesource (see Fig

lary Definite of the Rapido sg a vocabulary rds that are exp

en sketching an Aby including wor

bulary Editor

a list of relevant nterface in its monsider the interfa

that it is composcepts are connect

are defined in thihase automatica

onsistency of thefor the Rapido us

note that the seool. The words ons of Rapido ds in this list.

ng CRUD Atching canvas rea web API. Thisst designers as thUD API concept

a new CRUD stnvas and a singroot node, the dRUD API.

blank CRUD can

esource creation lowed methods agure 6). Once cr

tion sketching procesfor their API. T

pected to appear

API for a systemrds such as ‘stud

words allows thost abstract termsace based on thesed of without soted or implemen

is vocabulary staally as type-aheae API’s vocabulaser.

emantics of this vare simply a list

cannot take a

APIs eflects an objects perspective of Ahese componentstual model.

tyle API, the desgle root node (sedesigner is able

nvas

is presented andand query paramereated, the Rapid

ss is that designeThe vocabulary

r frequently in th

m of student recordent’, ‘report’ an

he API designer s. At this stage th

e objects, activitiolving the proble

nted.

age are used in thad hints. This nary, it also reduc

vocabulary are nt of strings and thadvantage of th

t, URI and HTTAPI design shous form the buildin

signer is presentee Figure 5). Bto create the fir

d the designer caeter details for thdo tool provides

ers is

he

rds nd

to he ies em

he not ces

not he he

TP uld ng

ed By rst

an his s a

visual rname, U

Figure

Designeresourctool is child reearlier, the parpre-pop

For exaresourcresourcchild re

The serformal used cofor RESon an aAPI des

Figure

The CRimmediAPI. Topportuexperim

At this details agoal is high fid

3.4 SA diffedesignestate dia

State dhyperm“transfeone statformali

representation oURI and allowed

6 - Creating C

ers can also comces they create. by clicking on t

esource creation wexcept for the f

rent resource’s Upulated URI or ov

ample, we mightce with a URI ofce of students thesource could hav

rialization of pastandard for CR

onvention and is ST design. The Uassumed popularsigners.

7 - Modeling ob

RUD sketchingiately conceptua

The structural eleunity for designment with differe

level of fidelityare accessible foto discourage d

delity sketch at th

Sketching Hferent type of ers. In Rapido, aagram.

diagrams can bemedia applicationerring resource r

ate to another, suism” [13]. Amun

of the resource td methods.

CRUD Objects

mpose parent-chiThe simplest w

the ‘plus’ icon oworkflow is idenfact that the URIURI. The designverwrite it comp

t sketch a collecf “/students”. W

hat points to a spve a URI of “/stu

arent-child relatioRUD style APIs.

recommended inURI pre-populatrity of this conve

bject relationsh

g canvas is intealize the object anements of the APners to play witent conceptual mo

y, none of the ror viewing or edidesigners from inhe beginning of t

Hypermedia canvas is pres

a hypermedia AP

e useful for desns. Zuzak, Budirepresentations fuggests the usagendsen and Richa

that includes its

ild relationships way to do this inof an existing resntical to the wizaI field is pre-popner is free to ap

pletely.

ction of student We could also skpecific student rudents/student_1

onships in the U. However, it isn many best praction feature is incention amongst

ips

ended to let Rand relationship mPI are exposed, pth the API holiodels.

request or responting. This is by nvesting too mucthe design proces

APIs sented to hyperPI is sketched as

signing and coniselic and Delac for transitioning e of a state transardson recommen

s descriptive

between the n the Rapido source. The ard described pulated with

ppend to this

records as a ketch a child record. This ”.

URI is not a s a regularly ctices guides cluded based CRUD style

Rapido users model of the providing an istically and

nse message design. The ch time in a ss.

rmedia API an informal

nceptualizing suggest that agents from

sition system nd drawing a

1512

Page 5: Rapido: A Sketching Tool for Web API DesignersRapido: A Sketching Tool for Web API Designers Ronnie Mitra Director of API Design CA Technologies ronnie.mitra@gmail.com ABSTRACT Well-designed

s[

Wptrtrq

F

TthRmth

Fcthcwcdc

F

TIncdc

Tth

state machine as 14].

When a designerpresented with aransitions to newransitions to oth

quickly sketch a w

Figure 8 - Sketch

The particular mhe media type

Rapido currentlymedia types onlyhe future.

For example, wcreate a transitionhat is specific

choose what typewhat the target shcontains visual cdifferent types ocolour and pattern

Figure 9 - Creat

The fidelity of thn this view, des

cannot edit or viedesigner cannot changes.

The Rapido canvhat require a min

an early step in

r begins a hypera single home stw application stater application staweb of state trans

hing a hyperme

ethod for creatinthat has been

y has support foy, but the goal is

when sketching an to a new child to the Collectioe of link we wanhould be (see Figcues that are ref Collection+JSOn.

ing new Collect

he hypermedia sksigners can modew the response model condition

vas is meant to sunimum of effort a

a hypermedia A

rmedia sketch intate from whichtes. All applicatiates. The goal isitions (see Figur

dia API

ng transitions difselected duringr the Collectionto extend suppor

a Collection+JSitem by steppin

on+JSON specifnt, where it shougure 9). In turn,elevant to this mON links can be

ion+JSON tran

ketch canvas is indel the states anmessages themsnal logic or dec

upport quick, lowand investment.

API design proce

n Rapido, they ah they may creaion states can havin this canvas is re 8).

ffers depending og project creation+JSON and HArt to other types

SON API we cang though a wizafication. We cauld be located an, the state diagramedia type. The differentiated b

nsitions

ntended to be lownd transitions, bselves. Further, thcision based sta

w fidelity sketch

ess

are ate ve to

on on. AL

in

an ard an nd am he by

w. but he ate

hes

3.5 EAlthougmessagparticul

Rapidoaides fosyntax (see Fig

Designeresponssignal tspecific

This allcapturinsyntax.

Figure

In addihand sycontaintransitioimpact higher f

A dowrequiresadded d

3.6 IRapido service implemon the s

Figure

Editing APIgh the CRUD

ge level editinglar state or resour

o’s message editoor JSON, HAL ahighlighting and

gure 10).

ers are free to se or state node tthe validity of tcation, it does no

lows designers tng important id

10 - Editing res

ition, designers oyntax to create

ns a token delimon is automaticathe low-fidelity

fidelity details.

wnside to provis additional invedesign effort can

Implementao sketches can be

description formenter’s preferredsketch.

11 - Exporting

I Message Dand hypermedia

g, designers areurce if they wish t

or is a simple texand Collection+Jd type-ahead hin

construct any tthat they have chthe data entered ot prevent the use

to sketch the resdeas without be

sponse data

of hypermedia Atransitions betw

mited by the strially created. Thiy canvas view of

iding a messageestment on the pa

reduce the dispo

ability e exported into eirmats. This mad editor or toolin

a Rapido sketch

ata a canvases do

e able to “zoomto sketch the mes

xt based editor wJSON editing. Tnts for the suppo

text based respohosen. While the

d based on the mer from saving ar

ponse data in bring bound by t

APIs are able toween states. Whings “$(“ and “s facility allows

f the system whi

e editing facilitart of the API deosability of the sk

ither the WADL akes it possibleng to create proto

h

not support m in” to a ssage data.

with usability This includes orted formats

onse for the e editor may media type’s rbitrary data.

road strokes, the rules of

o use a short hen a string “)”, a state designers to

ile sketching

ty is that it signer. This ketch.

or Blueprint e to use the otypes based

1513

Page 6: Rapido: A Sketching Tool for Web API DesignersRapido: A Sketching Tool for Web API Designers Ronnie Mitra Director of API Design CA Technologies ronnie.mitra@gmail.com ABSTRACT Well-designed

3.7 Benefits The main strength of the Rapido tool is that it combines the holistic, low-fidelity, visual properties of the drawing method with the higher-fidelity literal properties of the writing method.

The visual nature of the sketching canvas also affords designers the ability to “play” with their designs, experimenting with different types of transitions and relationships.

Finally, the lack of support for dynamic responses, logical flows and message header detail may discourage designers from investing too much time in the sketch resulting in improved levels of disposability.

3.8 Limitations While the low-fidelity of the Rapido tool helps designers create many disposable sketches, it prevents them from capturing important detailed characteristics of their APIs such as security controls, error handling and logical behavior.

Another challenge is that the focus on specialized support for CRUD conventions and hypermedia formats hinders broader experimentation. For example, it is difficult to use Rapido to design a new hypermedia media type or a new message format.

In addition, the current set of media types and service description formats is limited. This limits the usefulness of the tool to communities of users who use these particular formats. Hopefully in the future additional media types and formats will be supported.

Finally, many of the design decisions made for the Rapido tools are based on assumptions and hypothesis about user behaviour. In practice, the sketching needs of API designers may not be accurately reflected in the interaction design of the tool.

4. CONCLUSION API designers who are interested in producing high quality interfaces should consider incorporating a sketching method into their design process.

While there are many different ways to sketch an API, the Rapido tool attempts to consolidate the benefits from the most popular methods to provide a sketching process with good disposability, experimentability, socializability and learnability.

By unbundling the sketching experience from the design, prototype and implementation experience Rapido attempts to provide a higher quality sketching experience for designers.

5. REFERENCES [1] Joshua Bloch. 2006. How to design a good API and why it

matters. In Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications (OOPSLA '06). ACM, New York, NY, USA, 506-507. DOI=10.1145/1176617.1176622 http://doi.acm.org/10.1145/1176617.1176622

[2] Bill Verplank. 2009. Interaction Design Sketchbook.

[3] David G. Ullman, Stephen Wood, David Craig. The importance of drawing in the mechanical design process. Computers & Graphics 14, 2 (1990), 263--274.

[4] Drawing Gym, Teaching Engineers to Draw.: http://www.ucl.ac.uk/drawing-gym/. Accessed: March 9th, 2015

[5] Bill Buxton. 2007. Sketching User Experiences: Getting the Design Right and the Right Design. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA.

[6] Neil Cohn. 2012. Explaining ‘I Can’t Draw’: Parallels between the Structure and Development of Language and Drawing.

[7] Marian Petre. 2013. UML in practice. In Proceedings of the 2013 International Conference on Software Engineering (ICSE '13). IEEE Press, Piscataway, NJ, USA, 722-731.

[8] Ole Lensmar. An Overview of REST Metadata Formats: http://apiux.com/2013/04/09/rest-metadata-formats/. Accessed: March 8th, 2015.

[9] Grady Booch, James Rumbaugh, and Ivar Jacobson. 1999. The Unified Modeling Language User Guide. Addison Wesley Longman Publishing Co., Inc., Redwood City, CA, USA.

[10] The Object Constraint Language: Precise Modeling With Uml (Addison-Wesley Object Technology Series) (13 October 1998) by Jos B. Warmer, Anneke G. Kleppe

[11] Ronnie Mitra, Rapido: http://www.rapidodesigner.com

[12] Apiary. http://apiary.io/. Accessed: March 9th, 2015

[13] I. Zuzak, I. Budiselic, and G. Delac. 2011. A FINITE-STATE MACHINE APPROACH FOR MODELING AND ANALYZING RESTFUL SYSTEMS.

[14] M. Amundsen, L. Richardson. 2012. RESTFul Web APIs. O’Reilly Media.

1514