微軟等軟體公司為API、服務和軟體平臺等主題創建數以百萬計的文檔,創建軟體文檔費時費力,然而卻越來越不討好,因為軟體開發者對這些枯燥的文字日益失去興趣。如果遇到問題,他們更多時間是到Stack Overflow等開發者問答社區去詢問。那麼,為什麼開發者喜歡在Stack Overflow上查看API文檔呢?以及 為何Stack Overflow能如此受青睞呢?且看本文分析。
企業、開發者的思想轉變
企業也注意到了這一趨勢,如YouTube API就將開發者支持論壇從Google Groups轉移到Stack Overflow,他們的API文檔是由數千個問題組成。Android開發者也是如此,他們更多是到 Stack Overflow討論API相關問題,而不是訪問 developer.android.com開發者官方網站閱讀官方文檔。
開發者開始間接地記錄API,這一過程我們稱之為「群眾文檔」(crowd documentation),他們在博客中推API的相關文章以及提出有關API的問答機制。我們發現未經任何協調,在Stack Overflow上討論API類的Android開發者竟高達88%。
一項新研究跟蹤了Android開發者的訪問歷史,發現開發者多達二分之一的文檔是從Stack Overflow上獲取到的,而Stack Overflow上的示例也多於官方指南,開發者通過搜索更多時候是去訪問Stack Overflow上的問題討論而不是訪問官方文檔。
為了做調查我們收集了Android開發者1316天的歷史記錄(平均每位開發者有11周),發現有9234位訪問 StackOverflow,2547位訪問 developer.android.com並下載了Android開發文檔。此外,我們還分析了代碼示例使用率,這些數據均是通過Stack Overflow和developer.android.com開發指南的訪問數據而得出。
在這項調查中,我們發現:
此外,我們還發現一些有趣的Web瀏覽模式:
為什麼開發人員喜歡在Stack Overflow查閱文檔?
我們分析了開發人員通常多久訪問一次Stack Overflow上Android的開發問題以及官方Android 文檔的訪問頻率。
如圖所示:
在同一天中三位不同的開發者(A,E,Q) 呈現出不同的訪問模式。
我們隨機採訪了選擇使用Android官方文檔的開發者,他們認為:
C:對Android的所有版本保持更新。很多示例與我們所需要的無關(要麼太複雜,要麼不夠詳細!)。
D:官方文檔最重要的一點是缺乏邊緣案例和錯誤文檔。
J:官方文檔中沒有足夠多的示例。
代碼示例:
文檔使用模式
開發流程圖
大多數開發者通過搜索訪問Stack Overflow,另外一些開發者直接訪問官方文檔。兩位開發人員:A和B,他們通過Stack Overflow不斷「監控」Android開發的最新問題。
學徒與專家
起初,我也曾在developer.android.com中進行查詢相關問題,但在我看來,對於一位新手通過搜索開發者文檔來進行Android開發將是一項艱巨的任務。因此,我選擇查看Stack Overflow上一些知名專家的文章,這也是學習Android最簡單的方法。當你擁有Android方面的基礎知識時,開發文檔對你非常有用。
有趣的是,Stack Overflow上出現了同樣的思想認知:
大部分Stack Overflow的貢獻者非常樂意回答你的問題。
原文出自: ninlabs
(編譯/夏夢竹 審校/王然)
話題補充: 為什麼Stack Overflow會如此成功?
Stack Overflow做了一個很窄的問答社區,他的成功在於定位精準以及針對用戶的產品設計。
CSDN和程式設計師雜誌 創始人蔣濤認為:Stack Overflow在產品設計上的特色值得學習
1)更輕的參與,更快的反饋系統
原來的問答制模式,包括CSDN BBS需要用戶回答問題才得分。 參與方式比較重, 而現在Stack Overflow的投票機制對問題表示贊同(提問的人也能得到積分),對回答表示贊同或反對,很容易參與。提問題和回答問題的人也容易得到滿足。
2)更嚴格的管理,更開放的參與
Stack Overflow對問題內容質量控制很嚴,而且設計的是全員參與管理模式,只要你又足夠的Reputation,就可以管理,比原來的斑竹管理模式更合理有效。
開發者 王詩沐:Stack Overflow的tag設計是集各家之大成
1. tag貫穿整個產品。不僅只是幫助用戶搜索信息,Stack Overflow很早就允許用戶訂閱tag,設置自己喜歡和不喜歡的tag;後來又開發了tag的badges,很好地和reputation聯繫在了一起。再後來用tag來做廣告。可以說Stack Overflow的tag設計是集各家之大成,在裡面可以看到delicious、twitter等的優點,而且還自己創新了tag的badges。
2. 早期非常focus在基本需求。最早的Stack Overflow的界面比現在更樸素,資源全集中在問題與答案、用戶投票和聲望設計上,礎搭的十分牢固。
3. 放長線,釣大魚。Stack Overflow現在最大的特點就是單純,很多推廣時期依靠的功能(badges、reputation等),實際上都是基礎功能延伸而來的,這個很多產品都沒做到,國內尤其多。比如騰訊微博的badges,怎麼看怎麼生硬。這實際上體現了Stack Overflow在產品節奏和規劃上的高明,各個複雜的功能和系統,其實都是從主幹上延伸開來,而非再生主幹。