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
6
Embed
Rapido: A Sketching Tool for Web API DesignersRapido: A Sketching Tool for Web API Designers Ronnie Mitra Director of API Design CA Technologies [email protected] ABSTRACT Well-designed
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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
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
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
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
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
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.