在「別讓開發人員不開心…」一文中我們提到了開發人員體驗(DX, Developer Experience)的重要性。好的開發人員體驗,讓開發人員可以快速透過 API 來打造所需要的服務,替你的產品或服務創造更大的附加價值。本篇文章透過?Yo API?為例,讓大家更清楚瞭解一個好的 API 服務所應具備的條件。
還記得在去年造成極大轟動的?Yo App? 嗎? 他是一個只能傳送一個 Yo 訊息的 App,你沒看錯,他的功能就只有這樣。Yo 在一開始推出時被大家認為是世界上最蠢的點子,甚至不明白為什麽一個只花8小時開發,只能送出 Yo 訊息的 App 竟能拿到百萬美金的投資。但自從 Yo 開放了 API 後,Yo 轉身一變成為平台角色,讓開發人員能夠透過 Yo 來發送訊息給訂閱者,創造出許多有趣的應用。
1. Yo 到底可以做什麽?
Yo 剛推出時只能發送一個包含 “Yo” 的訊息,不過目前 Yo 除了單純的發送 Yo 訊息外,還能發送超連結或是你目前的位置給你的朋友。還摸不著頭緒嗎? 現在你可以到 Yo 專屬的?Yo Store?來看看世界各地的開發人員都拿 Yo 來開發什麽新奇有趣的應用。
例如,你可以訂閱?Product Hunt?的服務,當某個產品得到極高的關注時,你就會收到來自 Product Hunt 的 Yo 訊息,同時會帶著該產品或服務的 Product Hunt 頁面連結。
腳踏車半路中壞掉了怎麽辦?訂閱了 BIKESHOP 的服務後,你可以傳送你的位置給 BIKESHOP,BIKESHOP 就會回傳離你最近且有營業的店家資訊,是不是很方便呢?
也因為 Yo 本身天生的特性(就只能發送一個 Yo 訊息),讓開發人員能夠很清楚地瞭解 Yo 所提供的功能,而透過?Yo Store?能讓使用者知道在什麽情境 (Context) 下可以使用你的服務,即時使用者暫時沒有需求,當下次再遇到類似的情境時,便能快速地將需求和你的產品或服務連接起來。
2. 簡單且清楚的說明檔案
在上一篇文章中我們提到,如何讓開發人員快速地從無到有,是創造優良開發人員體驗的關鍵要素。在?Yo API 檔案上提供了如何快速上手的檔案,提供了開發人員所需的基本資訊,包含如何認證,範常式式的連結,以及相關的情境。除此之外,在每個 API 的說明上,也提供了不同程式語言的程式碼範例,方便開發人員參考。
Yo 只提供了5個 API, 不過你大概只會用到一個(/yoall, 向所有訂閱你服務的使用者發送 Yo 訊息),每個 API 也都明確定義了參數、可能的回傳內容和不同程式語言的呼叫範例。最後,如果你還是沒有頭緒,不妨在 Code Samples 中參考其他開發人員開發的應用來擷取一些靈感。
3. 遇到問題該怎麽辦?
若 在開發上遇到了問題,或是有值得建議的想法,可以在 Yo API 論壇上搜尋是否有相關的討論,或者發問。良好的社群支援是 API 能否持續被開發人員採用的重要因素,若只是開放了 API,但遇到了問題卻沒地方問,想建議功能卻找無門路,最終開發人員碰得一鼻子灰,只能離你的產品或服務遠去了。所以,別以為你的 API 功能已經夠完善,或是檔案已經寫得夠完美了,開發人員永遠有各種你意想不到的想法,保持雙向的溝通,才能讓你的 API 更臻完善。
Keep It Simple & Stupid!
不 得不承認 Yo 服務本身的特性,造就了 Yo API 的簡單易用,當然 Yo 在開發人員體驗上也不是完美的,像是缺乏服務狀態查詢,開發人員無法得知目前 Yo API 是否能正常服務,都是 Yo 可以持續改善的,不過總體而言,從 Yo App 和 Yo API 讓我們體驗到一個服務所應呈現的樣貌,保持簡單但卻又不過於簡化(我想也沒辦法再簡化了),讓使用者能透過 Yo App 和 API 來創造出無限的可能。