Loading...

如同 UX(User Experience)旨在提供給使用者在 Web 和 App 上最佳的操作體驗,DX(Developer Experience)的目的即在於提供開發者完善的開發支援和服務體驗。隨著越來越多的 API 被開放出來提供開發者使用,DX 也就日益重要。

良好的開發者體驗,能讓開發者更加黏著於你的產品和服務,吸引更多優秀開發者加入產生更多高附加價值的應用。提供 API 管理服務的 Mashery  更提供了 DX 認證,在官網上條列出經過認證的 API。如果你的產品或服務打算開放 API,或是完全是開發者導向的服務(B2D/Business to Developer),那麼你應該要小心檢視並且不斷提升整體服務的開發者體驗。

你的服務提供了什麼功能?

當在思考 DX 時,應先思考你的目標是什麼?你希望提供給開發者什麼樣的功能?Layer 7 的 API 架構師在 Nordic APIs 活動上提出了 DX 的基本三個層面,包括了功能(Functionality),易用性(Usability)和體驗(Experience),而最底層也最基礎的即是功能,如果你的功能不完整或是無法滿足開發者,那麼其他再好的體驗也只是白做工。

除了功能以外,服務的可靠性(Reliability)也會影響開發者對服務的信任,因為開發者將使用你的 API 來協助打造自身產品,如果 API 經常發生錯誤,那麼開發者遠離你的服務也只是早晚的問題。

要克服這樣的情形,除了提供良好且穩定的環境外,另一個很重要的就是提供開放透明的服務狀態追蹤機制,例如 Heroku 的平台狀態頁很清楚地顯示了目前平台是否服務正常,以及相關的錯誤發生原因和持續時間,你可以透過 email 來訂閱更新狀態,甚至透過手機簡訊,在問題發生時即時收到訊息做進一步的對應處理。另外,許多公司也透過 StatusPage.io 來打造產品和服務的狀態頁。透過狀態頁和開發者或平台使用者建立互信的關係,開發者也就越有信心使用你的平台或服務。

不要寫只有自己看得懂的文件

文件是開發者學習如何使用 API 的首要方式,通常是透過該領域的專家所寫成,但專家常常落入一個情境,認為自己看得懂這文件,別人應該也看得懂,或是預先設定開發者具備某種知識,最後常導致開發者迷失在文件中。建議找不同領域或程度的開發者來閱讀文件,確認文件的內容適合任何程度的人閱讀。另外,現在已經有許多工具,可以協助你攥寫更好閱讀,更有互動性的 API 文件,例如 Swagger、 RAML、APIARY 等等,許多 API 管理服務公司,如 3scale、Mashery 也都有提供相關的工具。

Swagger可以協助你打造美觀易讀的 API 文件

縮短上手時間

許多服務的 API 功能繁多,但大多數剛接觸的人,其實只想要趕快讓程式可以跑起來,就像學習程式語言時,總是會先學習怎麼顯示 Hello World。因此,要黏住你的開發者,就要讓開發者能夠在短時間內從無到有,讓開發者對你的服務建立起好的第一印象。

許多文件說明,大多會提供 "Get Started" 的項目,或是提供相關的 SDK/Library 來協助開發者。例如 Heroku 針對各種程式語言提供了相關的文件,讓你能夠透過文件的說明,一步一步地打造你的第一個應用程式。甚至,Heroku 覺得 Step-by-Step 的方式太慢了,在去年提供了一項名為 Heroku Button 的功能, 你可以開發一個相容 heroku 的 App 放在 Github 上,同時在說明頁放上 Heroku Button, 若使用者有 Heroku 帳號,只要點擊 Heroku Button, 就會直接在使用者的 Heroku 帳號下產生該 App, 服務即可馬上運作,還有什麼比這還要快速的? Heroku 希望讓整個從零到有的過程變成:沒有步驟2!

Heroku Button 讓開發者可以快速部署 App 到 Heroku

遇到問題該怎麼辦?

API 使用上遇到問題,是否有良好的文件支援?有沒有常見問題 FAQ?或是提供討論區讓開發者遇到問題時有地方討論,這些都是能協助開發者自行解決問題的方式。好的技術支援和友善的社群環境,讓使用者即使遇到問題也不至於亂了手腳,同時更可以加深開發者對服務的信任。甚至許多公司也針對開發者建立了完整的開發者入口網站,如 Facebook Developers、PayPal Developer 等公司。另外,也可以提供開發者除錯工具,例如 Facebook 提供的 Graph API Explorer,讓開發者有更多的方式去解決問題。


Facebook 提供的 Graph API Explorer 協助開發者探索 API 和除錯

最後,別忘了吃你自己的狗食 (Dogfooding)

要提升 DX 的方式,就是使用自己的服務,閱讀自己寫出來的文件,確認使用者能照著你提供的文件、範例程式產出最後的結果,並隨時不斷思考有沒有簡化的可能(但別過於簡化!)。要記住工程師也是一般人,如果連使用自己開發的服務都出現障礙,又如何冀望其他使用者能愉快地使用你的服務呢?

同時切記,提升開發者使用經驗不是只有提供完整的文件而已,包含了 API 的功能性、可靠性,以及完善的技術支援和廣大的社群支持,都是建立良好開發者體驗所不可或缺的要素,也唯有如此才能真正和開發者之間建立起信任的橋樑。

你是否有任何 API 使用上的經驗呢?不管是好的或是不好的,都歡迎於下面留言跟大家分享喔!

Photo Credit: Luis Llerena

成為企業渴求的程式人才!

在家學會 JavaScript 網路開發

全新「全端 Web App 開發」課程,給你看得見的學習成效!
超過 90% 轉職成功,400 位來自亞洲各國的 ALPHA Camp 校友,畢業後達成轉職、創業、出國工作的夢想!

3 分鐘選課指南

給期待創新改變的你

前端x後端x全端 完整工程師技能樹

90% 學生轉職成功,職涯競爭力更上層樓
最專業的「全端 Web App 開發」課程,上班族邊工作也能同時培養第二專長!

3 分鐘選課指南

學期一|程式設計入門

零基礎也學得會的程式入門課!

開始學帶得走的技能,為自己未來的成長鋪路

學期二|掌握網頁開發

系統化學習 JavaScript

實作打好前後端基礎,成為扎實的網頁開發者

學期三|軟體工程師養成

養成業界接軌的實戰能力

前端/全端工程師專修路徑,完成技能與求職準備,成為業界即戰力