unRESTamongthedocs
Whatarewegoingtotalkabout
Designingthedocs
Forabetterdeveloperexperience
unRESTamongthedocs
2
Whoisthisdiscussionfor
Technicalwriters-becausetheyarefacedwithsuchproblemsanddilemmasalmost
daily
Designers-whoareworkingontechnicalinformationsystems
Developers-whowanttobebetteratwritingsystems
unRESTamongthedocs
3
whoami
AkshayBhalotia
Professionalinterests
Paymentsystems
DeveloperSaaS
Personalinterests
Cats-prouddadto2cats
Boardgames
Mechanicalkeyboards
Findmehere
unRESTamongthedocs
4
Butwhywouldyoulistentome
I'veseensome inmylife
AniOSDeveloperatanoutsourcingboutique(OptimusInformation,Inc.)anda
FinTechAPIstartup(Razorpay)
Anaccountmanagerattecheventsandmediacompany(HasGeek)
SupportandsolutionsengineeratanotherFinTechAPIstartup(Setu)
Developerrelationsmanageratareal-timevideoAPIstartup(Dyte)
Andnow,aproductmanageratadatagatewayAPIcompany(Phyllo)
unRESTamongthedocs
5
Problem
unRESTamongthedocs
6
Docsarehard
Primaryfunction:giveinfo
But
inaneasilyreadablemanner
inaneasilyfindablemanner
helpwiththenextsteps
giveenoughbutnottoomuch
expectreturningusers
unRESTamongthedocs
7
Whatisharder
DocumentingfrontendSDKs
DocumentingUIfeatures
Withversioncontrol
Feature-basedreleases,withoutareleasecycle
Breakingchanges
unRESTamongthedocs
8
Let'sseeafewexamplesofhowI'vetriedtackling
someofthesechallenges
unRESTamongthedocs
9
Razorpay-PaymentAPIsforIndia
Anintropagehelpsthereadernavigatetotheirappropriatesection.
unRESTamongthedocs
10
Razorpay-PaymentAPIsforIndia
Whenyouclickonanyoftheoptions,youlandontherelatedoverviewsection,butallthe
otheroptionsareavailableinthesidebarforeasynavigation.
unRESTamongthedocs
11
Razorpay-PaymentAPIsforIndia
Allthestepsarelistedwithinthecontext,eveniftheyarenotrelatedtothefrontend.
Contextmatters.Completeinformationhelpsdevelopersmakebetterdecisions.
unRESTamongthedocs
12
Razorpay-PaymentAPIsforIndia
Cleardifferentiationandcodesamplesforavailableoptions.
unRESTamongthedocs
13
Razorpay-PaymentAPIsforIndia
Properreferenceforallparameters.
unRESTamongthedocs
14
Razorpay-PaymentAPIsforIndia
Switchingtosomeotherplatform,sayiOS,followsaverysimilarstructuresothereader
canexpectwhattofindhere.
unRESTamongthedocs
15
Razorpay-PaymentAPIsforIndia
Platform-specificinstructionsandvideos/gifsforstepstobeperformedintheIDE.
unRESTamongthedocs
16
Razorpay-PaymentAPIsforIndia
Usingcalloutstodrawattentiontospecificpoints.
unRESTamongthedocs
17
Dyte-real-timeaudioandvideocallAPIs
Thelandingpageshowsalltheavailableoptions.
unRESTamongthedocs
18
Dyte-real-timeaudioandvideocallAPIs
Oneofthebestthingswethinkwedesignedisthenavigation.SeehowboththeUISDK
andCoreSDKarehousedundertheWebSDKsectionbutatthetoplevel.Andwithineach
ofthem,youcanselectadifferentplatformorframework.Thebestpart?Whenyouselect
acomponentorpageandswitchtheframework,thecontextispreserved!
unRESTamongthedocs
19
Dyte-real-timeaudioandvideocallAPIs
Strongbeliefin"shownottell"-liveeditor!
unRESTamongthedocs
20
Dyte-real-timeaudioandvideocallAPIs
Strongbeliefin"shownottell"-avisualrepresentation
unRESTamongthedocs
21
Dyte-real-timeaudioandvideocallAPIs
Strongbeliefin"shownottell"-actualrenders
unRESTamongthedocs
22
Dyte-real-timeaudioandvideocallAPIs
Strongbeliefin"shownottell"-gifswhichshowtheeffectofcodechange
unRESTamongthedocs
23
Dyte-real-timeaudioandvideocallAPIs
Allrelevantinfoatasingleplace.
unRESTamongthedocs
24
Dyte-real-timeaudioandvideocallAPIs
Allrelevantinfoatasingleplace.
unRESTamongthedocs
25
Dyte-real-timeaudioandvideocallAPIs
Butalsoseparatelyasareference.
unRESTamongthedocs
26
Dyte-real-timeaudioandvideocallAPIs
Bonus-Designfordevelopers!
unRESTamongthedocs
27
Phyllo-Datagatewayforthedigitaleconomy
CleardemarcationforSDKandAPIsections
unRESTamongthedocs
28
Phyllo-Datagatewayforthedigitaleconomy
Glossarytowardsthebeginning
unRESTamongthedocs
29
Phyllo-Datagatewayforthedigitaleconomy
Visualindicatorsfortheflow
unRESTamongthedocs
30
Phyllo-Datagatewayforthedigitaleconomy
Visualreferenceforthecomponents
unRESTamongthedocs
31
Phyllo-Datagatewayforthedigitaleconomy
Acleardistinctionbetweenweb(whichisbrowser-based)andmobilenativeSDKs
unRESTamongthedocs
32
Phyllo-Datagatewayforthedigitaleconomy
Thereisachoicebetweentwooptions
unRESTamongthedocs
33
Phyllo-Datagatewayforthedigitaleconomy
Whichisclearlyexplainedanddifferenceshighlighted
unRESTamongthedocs
34
Phyllo-Datagatewayforthedigitaleconomy
Alongwithacalloutforthemostcommonmistake/misunderstoodpath
unRESTamongthedocs
35
Phyllo-Datagatewayforthedigitaleconomy
Andthatmisunderstoodpath-mobilein-appbrowsing-alsogetsapageofitsownto
explainthingsbetter
unRESTamongthedocs
36
Phyllo-Datagatewayforthedigitaleconomy
Trytokeeptheflowandexplanationofstepssame,orasmuchsimilaraspossible
unRESTamongthedocs
37
Phyllo-Datagatewayforthedigitaleconomy
Maintainachangelog(thisisprobablynotthebestwaybutworkwithwhateveryouhave)
unRESTamongthedocs
38
Let'sseeafewexamplesofhowI'veseenothersgive
itago
unRESTamongthedocs
39
Itriedturningtowardstwoofthemostpopularfrontendframeworksthatareusedtobuild
modernapps,andhereiswhatIfound.
unRESTamongthedocs
40
ReactJS
Youwouldimaginesomethingthatissopopularlyusedtobuildinterfacesandvisual
componentswouldhavemorevisualdiversityinthedocs.
unRESTamongthedocs
41
VueJS
Buttheyareratherboringwallsofmethodreferencesandguides/tutorials.
unRESTamongthedocs
42
Lottie
Somethingthatisusedtobuildanimationshasabsolutelynoanimationsonthedocsand
justalotoftext.
unRESTamongthedocs
43
Auth0
Providealotofstarterkitsandguidesfordifferentframeworks.
unRESTamongthedocs
44
Agora
Makeitabreezetointeroperate.
unRESTamongthedocs
45
Andlastly,wehavetheloveofalldocumentationgeeks,thatprobablyeveryonelooksup
to.
unRESTamongthedocs
46
Stripe
Stripeprovidestwofrontendintegrations-StripeCheckout(pre-builtcompletecheckout
UI)andStripeElements(componentstobuildthepaymentspartofyourcheckout
experience).Hereishowtheydocumentboth.
unRESTamongthedocs
47
Stripe
Introducethefeatureonalandingpageandgivethemostcommonoptionstoreadfurther
about.
unRESTamongthedocs
48
Stripe
Butwhyitworkssowellisthattheyalsoprovidesortofalivecodeintegration
walkthrough.Thisiswhereyoulandwhenyouclick"getstartedwithElements".
unRESTamongthedocs
49
Stripe
Verysimilarexperienceforthepre-builtcheckoutsectiontoo,sincemostoptionsonthat
screen(suchaspaymentmethods,collectaddress,etc.)arecontrolledbytheAPIrequest
youmakebeforestartingthepayment.
unRESTamongthedocs
50
Stripe
Despitethisgreatstep-by-stephandholding,theyhavecompletereferencesfortheir
SDKsincasesomeonewouldliketomakeuseofaspecificcomponentforaspecificuse
case,oratinkererwouldliketotinker.
unRESTamongthedocs
51
Conclusion
Idon'tknowiftherearerulesorguidelinesthatIcangiveyou.It'sallverycontextualand
that'snotgreat.
Whatwecancertainlydo
Thinkoftheuser
Thinkaboutwhatmatterstothem
Trynottooverwhelm
Butkeepinformationaccessible
Interoperabilityanddrawingparallelsbetweenframeworkshelp
unRESTamongthedocs
52
Mysincerewish
Standardsformethoddefinitions,acrosslanguagesandframeworks,includingUI
components
unRESTamongthedocs
53
Thankyouforlisteningtomyrant
Accesstheslidesathttps://github.com/akshaybhalotia/unREST-among-the-docs.
Icantryansweringyourquestionsnow,noguaranteesthough.
unRESTamongthedocs
54

unREST among the docs