ABONAMENTE VIDEO REDACȚIA
RO
EN
NOU
Numărul 140
Numărul 139 Numărul 138 Numărul 137 Numărul 136 Numărul 135 Numărul 134 Numărul 133 Numărul 132 Numărul 131 Numărul 130 Numărul 129 Numărul 128 Numărul 127 Numărul 126 Numărul 125 Numărul 124 Numărul 123 Numărul 122 Numărul 121 Numărul 120 Numărul 119 Numărul 118 Numărul 117 Numărul 116 Numărul 115 Numărul 114 Numărul 113 Numărul 112 Numărul 111 Numărul 110 Numărul 109 Numărul 108 Numărul 107 Numărul 106 Numărul 105 Numărul 104 Numărul 103 Numărul 102 Numărul 101 Numărul 100 Numărul 99 Numărul 98 Numărul 97 Numărul 96 Numărul 95 Numărul 94 Numărul 93 Numărul 92 Numărul 91 Numărul 90 Numărul 89 Numărul 88 Numărul 87 Numărul 86 Numărul 85 Numărul 84 Numărul 83 Numărul 82 Numărul 81 Numărul 80 Numărul 79 Numărul 78 Numărul 77 Numărul 76 Numărul 75 Numărul 74 Numărul 73 Numărul 72 Numărul 71 Numărul 70 Numărul 69 Numărul 68 Numărul 67 Numărul 66 Numărul 65 Numărul 64 Numărul 63 Numărul 62 Numărul 61 Numărul 60 Numărul 59 Numărul 58 Numărul 57 Numărul 56 Numărul 55 Numărul 54 Numărul 53 Numărul 52 Numărul 51 Numărul 50 Numărul 49 Numărul 48 Numărul 47 Numărul 46 Numărul 45 Numărul 44 Numărul 43 Numărul 42 Numărul 41 Numărul 40 Numărul 39 Numărul 38 Numărul 37 Numărul 36 Numărul 35 Numărul 34 Numărul 33 Numărul 32 Numărul 31 Numărul 30 Numărul 29 Numărul 28 Numărul 27 Numărul 26 Numărul 25 Numărul 24 Numărul 23 Numărul 22 Numărul 21 Numărul 20 Numărul 19 Numărul 18 Numărul 17 Numărul 16 Numărul 15 Numărul 14 Numărul 13 Numărul 12 Numărul 11 Numărul 10 Numărul 9 Numărul 8 Numărul 7 Numărul 6 Numărul 5 Numărul 4 Numărul 3 Numărul 2 Numărul 1
×
▼ LISTĂ EDIȚII ▼
Numărul 56
Abonament PDF

Cinci recomandări pentru a dezvolta un API cu user experience remarcabil

Alexandru Bolboacă
Agile Coach and Trainer, with a focus on technical practices
@Mozaic Works



PROGRAMARE

API-urile au devenit foarte importante într-o lume dominată de aplicaţii interconectate. API-urile au evoluat mult în ultimii ani, în special datorită standardelor JSON + REST. Însă mai există o subtilitate pe care trebuie să o iei în calcul:

API-urile sunt interfeţe cu utilizatorul.

Acronimul reflectă acest aspect: Interfaţă programabilă a aplicaţiei. Interfaţă pentru ce? Pentru alte sisteme software. Dar cine scrie aceste sisteme? Programatorii. Aşadar, API-ul este într-adevăr o interfaţă cu utilizatorul pentru programatorii ce îl folosesc.

Dat fiind că API-urile sunt interfeţe cu utilizatorul, se impune aplicarea principiilor şi tehnicilor UX pentru a fi folosite mai uşor. Iată cinci dintre ele.

Asigură-te că este ușor să înceapă

Cea mai bună metodă în acest sens este punerea la dispoziţie a unor mostre de cod gata de utilizare pentru cele mai comune limbaje de programare. La data scrierii acestui articol, recomandăm mostre de cod cel puţin pentru Java, C#, Javascript, ruby, python, PHP. Aceste mostre de cod trebuie să ofere suficiente informaţii pentru a te conecta la API, pentru a te autentifica şi a implementa cele mai frecvente scenarii. Mai multe informaţii la punctul 4.

Pentru a fi cât mai simplu, mostra de cod ar trebui să conțină tokenul de autentificare a utilizatorului logat. Şi anume, în locul:

client.call(<YOUR_TOKEN>);

se poate afişa:

client.call("ASFasfduoiw2343vc");

Facilitaţi învăţarea

Cele mai bune API-uri sunt foarte uşor de învăţat. Redactarea unei documentaţii cuprinzătoare nu este suficientă. Utilizatorii nu au timp să parcurgă sute de pagini de manuale, dat fiind că au termene limită. Aşadar, pot ei deduce modul de acţiune într-un scenariu cu care nu s-au mai confruntat?

Multe API-uri arată că acest lucru este posibil. Secretul constă în consistenţă.

API-ul Highrise este un exemplu excelent de consistenţă. Highrise este un CRM SaaS simplu, dar foarte util. Asigură consistenţă pe multe nivele:

După ce aţi învăţat cum să folosiţi o anumită resursă în API-ul Highrise, celelalte vin natural. Doriţi o listă a persoanelor?

GET /people.xml

<people>
<person>
...
</person>
<person>
...
</person>
</people>

Doriţi o listă a companiilor?

GET /companies.xml

<companies>
<company>
...
</company>
<company>
...
</company>
</companies>

Răspunsul pentru companii şi persoane conţine câmpuri pentru informaţiile de contact, structurate exact în acelaşi mod:

<contact-data>
<email-addresses>
<email-address>
<id type="integer">1
</id>
<address>
corporate@example.com
</address>
<location>Work</location>
</email-address>
</email-addresses>
<phone-numbers>
<phone-number>
<id type="integer">2</id>
<number>555-555-5555</number>
<location>Work</location>
</phone-number>
<phone-number>
<id type="integer">3</id>
<number>555-666-6667</number>
<location>Fax</location>
</phone-number>
</phone-numbers>
</contact-data>

API-ul Highrise este un studiu de caz foarte interesant din perspectiva învățării și consecvenţei. Invităm cititorii să-l încerce şi să se inspire din modelul său.

Asiguraţi previzibilitatea

Una dintre cele mai enervante situaţii cu care se confruntă programatorii este atunci când au scris un cod care ar trebui să funcţioneze şi totuşi nu funcţionează dintr-un motiv oarecare.

Când au de - a face cu un API, acest lucru este cu atât mai neplăcut. De regulă, singurele modalităţi de rezolvare a problemei sunt analiza documentaţiei şi solicitarea asistenţei tehnice. Astfel utilizatorii pierd timp preţios.

API-urile bune au comportament consecvent. Returnează acelaşi cod de eroare pentru aceeaşi eroare. Gestionează cât de multe erori posibil. Comunică un mesaj util programatorului pentru a înţelege ceea ce este greşit şi cum să remedieze. Pentru situaţii mai ciudate, ele au un index cu probleme şi soluţii uşor de navigat. În plus, asigură asistenţă utilă şi rapidă la nevoie.

Există şi modalităţi de evitare a multora dintre aceste probleme: proiectarea API-ului pentru a evita pe cât posibil apariţia erorilor. Dacă sunt mulţi utilizatori care fac aceeaşi greşeală, îmbunătăţiţi modelul astfel încât să nu se mai întâmple. Nu numai ca va spori satisfacţia utilizatorului, dar va fi redusă şi activitatea de asistenţă. Toţi au de câştigat.

Testaţi scenariile de utilizare

Pentru că API-urile sunt interfeţe cu utilizatorii, trebuie să înţelegeţi scenariile şi să le testaţi cu teste de utilizare. Să luăm de exemplu un CRM precum Highrise. Scenariile obişnuite includ:

Aceste scenarii pot fi împărţite pe rând în mai mulţi paşi, generând etape de implementare simple. Fiecare etapă de acest tip se poate testa prin:

Aceste informaţii sunt folosite pentru a facilita şi îmbunătăţi designul API-ului.

Pornirea de la scenariile de utilizare

Există două modalităţi de dezvoltare a unui API:

Recomandăm metoda a doua pentru cele mai bune rezultate. În loc să se formuleze ipoteze despre API, porniţi de la punctul de vedere al utilizatorului. Scrie codul pe care ai vrea să-l scrii pentru a utiliza API-ul şi după ce ești mulţumit, începe să-l implementezi. Codul client se poate transforma în teste funcţionale pentru API şi în mostre de cod pentru documentare. Este un câştig pe toate fronturile.

Concluzie

V-am prezentat cinci recomandări pentru o experienţă remarcabilă a unui programator care foloseşte API-uri. Fiecare dintre acestea este inspirată de cel puţin unul din cele cinci principii de usability: uşurinţă de învăţare, eficienţă, uşurinţă de memorare, evitare greşeli, satisfacţie. În epoca SaaS şi a aplicaţiilor mobile, vor fi remarcate echipele care ating un nivel excelent în acest sens. Succes!

PS: Nu uitaţi să contactaţi autorii pentru observaţii și întrebări sau în cazul în Mulţumim!

În aceeaşi ediţie ... (56)

▼ TOATE ARTICOLELE ▼

NUMĂRUL 138 - Maps & AI

Sponsori

  • Accenture
  • BT Code Crafters
  • Accesa
  • Bosch
  • Betfair
  • MHP
  • Connatix
  • BoatyardX
  • .msg systems
  • Yardi
  • Colors in projects

INTERVIURI VIDEO