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