0x01 :引言
If you weeped for the missing sunset,
you would miss all the shining stars
我看著大巴緩緩的駛過街角,我躲在那些樹後,內心安靜的做著告別
相遇在一場雨裡
告別在另一場雨裡
多好
0x02 :專案的基本定位概述
There are no trails of the wings in the sky,
while the birds has flied away.
網站基本定位 |
面向CS/EE領域的垂直搜尋引擎 |
網站創新形式 |
首先,按照《構建之法》中創新型別的劃分,在創新的型別上,我們的產品是改良型的創新,而非顛覆性的創新 |
使用者基本定位 |
計算機及相關專業學生,其中以大學生群體為最主要的使用者群 |
使用者的知識層次 |
使用者具備基本的程式設計基礎,並具備使用通用搜索引擎(百度、谷歌等)的能力 |
網站的基本功能 |
網站能夠採集專業化社群中的問答資料、高質量課程資源、專業技術文件中的內容,為使用者提供一體化的、精準的、高質量的搜尋內容 同時,使用者能夠通過網站直接參與到上游社群的討論中 |
0x03 :需求調研問卷的反饋
To the world,you maybe a person.
But to a person,you maybe the world.
調查問卷設計背景 |
隨著資訊科技的需求擴充套件和蓬勃發展,計算機及相關專業的學習資源(Mooc)平臺、通用搜索引擎提供的平臺(百度知道、谷歌學術)等已逐步成為學習和工作中不可或缺的一部分。因此,為進一步瞭解計算機及相關專業的學生、愛好者、及就業人員對專業方向的垂直搜尋引擎的需求,軟體開發團隊BugPhobia,將針對這一領域的使用者的基本需求進行調研,並據此進行產品本身的需求分析和開發 |
調查問卷具體連結 |
|
調查問卷發放渠道 |
通過朋友圈及交流群展開傳播,優先覆蓋各學校的計算機專業的學生、本科生 |
調查問卷反饋結果 |
年10月20日14時,調查問卷有效填寫人次達到140 |
0x0304 :調查問卷的使用者概況
根據調查問卷的反饋結果,截至2015年10月20日14時,調查問卷有效填寫量達到140人次,而其中78.57%的填寫使用者屬於計算機及相關專業的學生、職場人才群體,同時也收集了非計算機相關專業群體的部分問卷,在後續的資料處理中將依據不同權重參考調研資料。因此,在使用者需求的調研反饋中,首先將調查問卷的有效填寫的群體的基本資訊以圖表的形式展示出來,為後續針對網站定位的使用者群體的搜尋習慣分析做出一定的鋪墊。
年齡、學歷分佈 |
根據有效調查問卷的反饋,此次調研群體集中於18~21歲,達到114人次,佔據總使用者調查群體的83.82%;而在基本的學歷分佈中,學歷位於大學本科生(含在讀)階段的有128人,佔據總使用者調查群體的94.12%,年齡和學歷百分比基本符合預期,調查問卷具備有效性。 |
圖1:調研群體年齡分佈餅形圖 圖2:調研群體學歷分佈餅形圖
身份分佈 |
根據反饋,此次調研群體中,計算機及相關專業學生達到106人,佔據總調研人群的77.94%;而計算機愛好者、職場人才則將作為參考資料的進行統計。 而根據產品的基本使用者定位,此網站的使用者定位集中於“計算機及相關專業學生”,調研群體的年齡、學歷、身份百分比均超過75%,此調查問卷的結果能夠在一定程度上反映真實的使用者需求。 |
圖3:調研群體身份分佈餅形圖
學習計算機類技術的目的分佈 |
根據反饋,此次調研群體中,以“參加計算機等級考試”“掌握常用工具使用方法”等為學習技術目的的僅佔據11.77%,因此,在第一輪迭代(Alaph階段),將優先以參與領域研究、軟硬體開發使用者的需求進行開發,而其他人群將以低權值納入需求分析中的考慮部分,在“必需需求/輔助需求”部分,將進一步對此進行說明 |
圖4:調研群體學習計算機類技術目的分佈餅形圖
計算機應用能力分佈 |
根據反饋,此次調研群體中,計算機應用能力基本呈現均衡分佈,按照調查問卷所劃分的能力層次“僅能編寫簡單程式”“掌握語言並期望瞭解資料結構、演算法”“簡單開發工作”等均佔據總調查群體的30%左右。因此,在後續的交叉分析中,即便是處理整體的資料,也能很好地保障“經常搜尋哪類資訊”的調查結果更具備普遍性 |
圖5:調研群體計算機應用能力分佈餅形圖
使用者經常搜尋問題類分佈 |
根據反饋,此次的調研群體中,使用者搜尋的資訊和問題基本呈現集中分佈、均衡分佈。針對集中分佈,在所調研的7類選項中,5類選項在調查中所佔據的百分比都超過半數;針對均衡分佈,7類選項中的5類選項,在調查中極差僅為16.18%,因此可以做出基本的推斷,所提供的搜尋引擎針對不同型別的問題篩選,均應做出一定的考慮,而不是在迭代過程中捨棄大部分型別的問題 |
圖6:調研群體使用者經常搜尋問題類分佈餅形圖
0x0308 :使用者基本搜尋渠道統計
標準庫函式用法 搜尋渠道 |
百度(百度知道、搜尋) |
80.68% |
![]() |
Google(谷歌學術、搜尋) |
23.86% |
||
維基百科 |
15.91% |
應用程式API、系統呼叫 搜尋渠道 |
百度(百度知道、搜尋) |
71.21% |
![]() |
Google(谷歌學術、搜尋) |
56.06% |
||
StackOverflow |
33.33% |
編譯的錯誤資訊 搜尋渠道 |
百度(百度知道、搜尋) |
80% |
![]() |
Google(谷歌學術、搜尋) |
41.33% |
||
StackOverflow |
18.67% |
開源社群程式碼 搜尋渠道 |
Github等程式碼託管平臺 |
65.96% |
![]() |
Google(谷歌學術、搜尋) |
42.55% |
||
百度(百度知道、搜尋) |
42.55% |
課程學習中的試題 或專有名詞 搜尋渠道 |
百度(百度知道、搜尋) |
86.96% |
![]() |
Google(谷歌學術、搜尋) |
43.48% |
||
維基百科 |
28.99% |
工具或外掛的使用說明 搜尋渠道 |
百度(百度知道、搜尋) |
84.72% |
![]() |
Google(谷歌學術、搜尋) |
51.39% |
||
維基百科 |
23.61% |
0x030c :使用者需求交叉分析
根據基礎的調查問卷資料,不妨進行自變數-因變數模型的的相關交叉分析,以“計算機應用能力”為自變數,“經常搜尋的資訊或問題”為因變數,根據使用者的計算機應用能力將使用者進行不同層次的劃分,從不同層次的使用者角度分析各自的搜尋習慣,從而在需求分析和架構階段,權衡WBS樹的優先權重和開發順序。
交叉分析 自變數:計算機應用能力 因變數:經常搜尋的資訊或問題 |
根據經典柱形圖的資料反饋,在柱形圖,從左至右的自變數因素按計算機的應用能力的遞增順序排列。因此,在交叉分析中我們清晰觀察到使用者在隨著計算機應用能力增長的同時,其搜尋內容的比例變化。由於第四類人群的資料量僅為2.19%,其資料樣本本身不具備普遍性,暫且忽略。在前三類人群中 ü “編譯的錯誤資訊”、“標準庫函式的用法”基本呈現平穩變化趨勢。隨著使用者學習過程的深入,需要接觸不同型別的語言,而基礎的語法和初期的編譯問題自然佔據較大模組。因此,在此部分的檢索過程中,將盡可能選取經驗化的例子、文件中的部分說明反饋於使用者 ü “應用程式API、系統呼叫”“開原始碼”基本呈現遞增變化趨勢。隨著使用者計算機能力的提高,在逐步接觸應用程式開發或領域研究時,必須參考部分結構優秀的程式碼,並逐步查詢外包的API手冊。因此,在此部分檢索過程中,將盡可能針對專業性較強的使用者,反饋的結果也將更為專業性 ü “工具或外掛的使用說明”基本呈現動態變化趨勢。在初期未接觸工具外掛時,使用者會需要查詢相關說明,而後期接觸大量工具和外掛後同樣要查詢相關說明,因此呈現不穩定的波動狀態。因此,權衡實現,在此部分的檢索過程中,將盡可能針對多層次使用者,優先將使用心得這類回答反饋,而非手冊說明 |
圖7:計算機應用能力-經常搜尋問題的自變數-因變數交叉分析條形圖
0x04 :NABC分析
I leave uncultivated today,
was precisely yestoday perishes tomorrow
which the person of the body implored.
0x0404 :需求( Need )
首先從《構建之法》中對創新界定一張入手分析這一問題,在創新的型別上,垂直搜尋引擎屬於改良型的創新,而非顛覆性的創新,因此,在具體的需求分析中,我們將重點圍繞計算機及相關專業的學生群體展開必要的討論。
面向CS/EE領域的垂直搜尋引擎主要針對計算機及相關專業的學生群體,因此首先結合調查問卷的統計結果闡釋這一群體的資訊搜尋習慣。計算機及相關專業的學生群體,在學習和積累的程序中,必然會經歷由初步接觸語言的語法規則、資料結構和演算法的階段到熟練運用語言,並逐步參與到軟硬體開發或領域研究的漸變過程。而根據此前交叉分析結果(0x0308),不同層次的學生群體對不同問題的需求不盡相同,同時其使用的主要搜尋渠道也不盡相同。
因此,根據調查問卷的統計結果和學生的整體反饋做出如下的搜尋習慣表格
學生群體層次 |
搜尋內容 |
搜尋渠道 |
剛接觸語言的學生群體 |
基礎庫函式、專業名詞等基礎知識 其搜尋方向主要包含基本的語法和常用術語 |
百度、谷歌等通用搜索平臺,期望獲得經驗化的內容,而不是乾巴巴的技術文件摘要 |
期望瞭解資料結構、演算法等專業知識 |
基礎庫函式、開源社群程式碼 其搜尋方向主要包含新接觸的語言的基本的規則(如從Java轉換到C#),優秀的程式碼片段 |
百度、谷歌等通用搜索平臺仍在使用,但往往不會獲取到預期結果 CSDN、Github等專業性強的社群,但內容參差不齊,而且部分社群遮蔽了百度的爬蟲,導致通用搜索引擎完全無法顯示其中內容 |
熟練運用語言,參與開發或研究 |
應用程式API、開源社群程式碼 其搜尋方向主要包含軟體開發過程中必需的API(最簡單的如python的Numpy包),優秀的開原始碼 |
百度、谷歌等通用搜索平臺仍在使用,但獲取內容往往侷限於個人經驗,無法保證正確性 Github、MSDN、StackOverflow等文件平臺或專業問答平臺更適合找到理想的結果 |
因此,根據調查問卷的反饋結果,針對不同型別的問題,百度和谷歌這類通用搜索引擎的使用率大部分超過70%,在所調查的使用者群體中,佔據極高的市場份額,但實際調研的結果卻與龐大的市場份額有所出入。
ü (搜尋的高質量)在計算機專業的領域搜尋中,使用者往往會優先選擇“CSDN、MSDN”等平臺提供的部落格或文件知識,或各文庫提供的課後習題答案、課程相關的其他課件,而通用搜索引擎卻往往在其中摻雜很多的劣質回答,導致使用者在搜尋的過程中需要浪費大量時間做出不必要的篩選,如“百度知道”這種非專業平臺提供的回答,簡短的回答往往並不能真正解決問題,且平臺上往往充斥著與問題無關的吐槽;同時,部分對部落格園進行爬蟲的“子網站”也會重複出現在搜尋欄中,導致重複的內容集中在同一頁中,使得通用搜索引擎的結果往往不盡人意。
ü (資訊的一體化)計算機行業是強調“終生學習”的領域,必然會在不同領域存在不同能力水平的使用者,如上表所展示。而面向大眾的通用搜索引擎卻往往不能獲得使用者所需的切實內容。是選擇專業的文件、或是基礎簡單的樣例,取決於使用者本身,不同的資訊·渠道也面向不同使用者提供了不同層次的回答,但單一的平臺往往很難兼顧不同層次的使用者。但這一過程中,換用不同的資訊渠道會浪費大量時間,很可能導致事倍功半。
ü (使用者的精準性)計算機行業是各知識交雜的行業,因此,部分搜尋內容是具備標籤化的(TAG)特徵。而通用搜索引擎對計算機專業方面的標籤管理混亂,關鍵詞關聯不具備很強的邏輯性。
因此,根據現有的使用者調研,我們能夠清晰地觀察到搜尋引擎和需求之間的落差,而在此使用者需求上,面向CS/EE領域的垂直搜尋引擎應運而生
0x0408 :做法( Approach )
網站本身的定位,是面向CS/EE領域的垂直搜尋引擎。因此網站所注重的創新做法集中於“一體化”、“精準性”、“高質量”的三個主要關鍵詞,因此從總體的架構角度,網站將具備採集專業化社群中的問答資料、收集高質量課程資源、關注專業技術文件的內容的功能,從而為使用者提供一體化、精準的、高質量的搜尋內容。
搜尋的高質量 |
從搜尋的角度,優先搜尋機制將保障問題和搜尋結果高匹配度。簡而言之,垂直搜尋引擎將高質量的內容聚合,並針對某一型別的問題根據調查的反饋結果優先選擇更為專業的搜尋渠道,方便使用者直接系統地瀏覽、搜尋、編輯、評論, 同時,網站將支援使用者繼續通過提問、追問和回答來完善這些內容,保證優秀的使用者體驗 最後,通過“檢測輸入的模糊匹配”“檢索內容的半自動化識別”“常見問題的文件支援”等方面,進一步打造高質量的垂直搜尋引擎 |
資訊的一體化 |
在一定程度上,資訊的一體化和搜尋的高質量密切相關,但資訊一體化更展示的高質量資料的多樣性。資訊一體化更強調不同層次的資料一同展示,如在函式搜尋的過程中同時展示函式的官方文件和民間給出的簡單樣例。 因此,搜尋引擎將高質量的內容聚合,並進行簡單的層次上的分類,有層次地展示所獲取的一體化的資訊。 |
使用者的精準性 |
從使用者群體的角度,計算機專業領域更適合基於Tag的搜尋和資料分類。因此,在搜尋資料上關聯相關的Tag,將保證搜尋的精準性。而對使用者而言,基於Tag的問答平臺,也將使得具備相同知識背景的人可以在特定的領域中分享知識,達到互利共贏的目的。當然,在這一層次上,我們也需要設定不同的許可權,保證高質量提問和回答的使用者能夠具備更高的許可權,使得付出與回報成正比。 |
0x040c :好處( Benefit )
首先明確目前市場現實情況,隨著資訊時代與網際網路的迅速發展,現有使用者對產品的依賴度逐步呈現多元化發展,現有使用者遷移成本相對較低,使用者對產品的單一依賴度有所降低,而更多抱有“不管黑貓白貓,能捉到老鼠就是好貓”的心態,因此,由這一市場現狀入手,本身存在著巨大的好處與發展空間。
相比於通用搜索引擎,使用者能夠依據Tag的搜尋機制更快捷地搜尋到滿意的答案,節省在不同網站過濾無用資訊的時間
相比於通用搜索引擎,通過模糊匹配、半自動化識別等方式使得搜尋結果更能適應不同層次的使用者,且根據問題型別自動選擇專業資訊渠道,也使得搜尋結果更為準確
簡而言之,對於某一庫函式F(X, Y, Z)的用法,能同時反饋官方文件的內容和講義、網站給出的簡單樣例;同時,對於特定型別的錯誤,如編譯報錯資訊,能選擇更為專業的平臺返回搜尋結果
精簡、整潔的頁面也將使得使用者不會受到雜亂介面的困擾
具備一定社交功能的問答平臺,可將使得使用者能夠找到“相似標籤”或是興趣相合的夥伴。
圖8:垂直搜尋引擎的簡單草稿(設計師繪製簡單雛形)
0x0410 :競爭( Competitors )
從競爭的角度,首先不妨選取通用搜索引擎Google、垂直搜尋引擎Codase、問答平臺百度知道來解析面向CS/EE領域的垂直搜尋引擎在競爭過程的核心競爭力
平臺型別 |
通用搜索引擎 |
垂直搜尋引擎 |
問答平臺 |
平臺代表 |
|
Codase |
百度知道 |
平臺受眾 |
Internet時代下對於網際網路資源有需求的全體網民。 |
對主流語言的原始碼有需求或感興趣的計算機及相關方向的學習者或從業人員。 |
對某一特定領域的相關問題不瞭解,希望得到簡明扼要答案的網民。 |
平 臺 優 勢 |
l 資訊整合導航,形式多樣。內形式方面表現為視訊、音訊、圖片、文字等。 l 資源內容豐富。網路上大量的資源都可以通過Google找到相關的內容。 l 查詢效率高。極短的時間內查到數以萬計的相關的網站和頁面。 |
l 相關內容深度好。垂直搜尋引擎誕生的意義所在,提供專業的相關的搜尋。 l 內容之間的相關性強。內容的關聯性強,屬於同一或相近的學科體系。 l 查詢準確率高。相關內容整合度大,知識密度大,容易迅速定位問題答案,極大提高查詢的準確度。 |
l 針對性強。使用者就某一特定問題進行提問,問題的準確描述容易獲得。 l 互動性強。使用者間互動與人機互動相比能給使用者更好的體驗,更容易實現問答之間的平衡。 l 群眾基數大。百度中文搜尋積累的資料資源吸引大量的網民使用這一平臺,龐大的群眾基礎又提供了豐富的資料資源,形成良性迴圈。 |
平 臺 劣 勢 |
l 資源冗餘度大。網站頁面的條目重複給出相同的查詢結果的連結。 l 內容關聯性弱。網頁條目從根本上來講還只是簡單的羅列,沒有內在邏輯。 l 查詢準確度低。在紛繁的頁面中查詢想要的資源,即便是PageRank演算法也難保證不費一番周折。 |
l 穩定性差,由於是國外的網站,國內的相關人員享受不到其優勢。 l 互動性不足,使用者還是需要自己主動查詢和篩選,對使用者的甄別能力要求高。 l 資源僅針對C++、java等主流語言提供查詢,相關行業的其他領域知識涉及甚少。 |
l 平臺的准入門檻低。回答的內容更多的是無關的吐槽,和問題本身關聯性不大。 l 回答效率低下。不是每一個問題都能獲得及時的回答,回答的問題有時也不能保證質量,甚至有誤導。 |
因此,總體概述基本的競爭情況,Google、Codase、百度知道均在一定程度上支援了計算機及相關專業的資訊檢索,但由於使用者定位層次的不同,導致搜尋引擎本身難以保證EECS相關的內容和問答質量;同時,具備相同目標群體的垂直搜尋引擎Codase由於資源的集約,導致網站本身互動性較差,且經常由於模糊搜尋支援較差,導致大量的函式方法無法被有效檢測。
l Google搜尋引擎利用其強大的資源優勢保證了相關內容的覆蓋率,卻在準確率上不盡如人意。 l Codase目標群體和資源相對集約,卻難免互動性不足和資源侷限的尷尬。 l 百度知道有強大的使用者基礎和良好的互動,卻難以對問答的質量做出保證。 綜合以上的分析,我們的產品應該具有的是準確的查詢定位,高質量的專業資源,豐富的專業內容,齊全的專業門類,高效的使用者互動平臺,成熟的使用者激勵機制,完善的准入考察機制 |
綜合以上的分析,我們的產品應該具有的是準確的查詢定位,高質量的專業資源,豐富的專業內容,齊全的專業門類,高效的使用者互動平臺,成熟的使用者激勵機制,完善的准入考察機制。
因此,論述產品的核心競爭力,集中在資料的管理形式和明確的使用者定位。標籤(Tag)方式關聯的資料,其本身又包含多種型別的資訊,能夠高質量地展示搜尋資料;同時,明確定位於計算機及相關專業學生也將最大程度保證搜尋的精確性。
0x05:SWOT分析
I am a slow walker,
but I never walk backwards.
優勢 (Strengths) |
劣勢 (Weaknesses) |
ü 在技術優勢上,垂直搜尋引擎支援模糊匹配和半自動化識別等搜尋技術,使用者體驗更為優質 ü 垂直搜尋引擎全面基於Tag的多型別資料分類,一體化的設計也將保證搜尋結果優中擇優,反饋的查詢結果更為精確而全面,能有效針對不同層次的使用者 ü 架構上包含完整的安全維護措施和反垃圾機制,能夠有效減輕無效的訪問壓力 ü 開發團隊本身又是使用者的一部分,類似“人類學調查”機制,開發團隊本身更能深入使用者本身的不同需求 ü 初步設計頁面整潔大方,使用者搜尋時不會受到冗雜資訊的干擾 |
ü 資料本身依賴其他組的工作進度,而在進度上需要密切同夥伴組溝通介面、資料來源、資料分類等細節 ü 敏捷開發時間較短,需要時刻保證高效率的開發進度 ü 缺乏充裕的資金支援 |
機遇 (Opportunities) |
威脅 (Threats) |
ü 與同類搜尋引擎相比,具備更為優秀的功能和高質量的搜尋結果 ü 類似“人類學調查”的機制,作為大學生的視角更能切合學生使用者群體的使用需求 ü 軟體開發過程中,學校及學院將提供硬體上的支援 ü 網際網路本身的特點導致使用者遷移成本大大降低,且使用者也更為依賴網路檢索功能 |
ü 同類搜尋引擎的不斷整合,可能導致其他搜尋引擎快速構架出類似網站形成基本的競爭關係 ü 使用者的等級分配權限制度可能降低新使用者的積極性 |
0x0504 :SWOT矩陣分析
此部分的矩陣分析正在架構中,而SWOT在競爭分析中也注重SO、WO、ST、WT策略的設定和不同階段的不同競爭方式。
0x06:功能定位和優先順序草稿
If you have a friend who knows your heart,
Distance cannot keep you two apart.
這裡暫且將產品經理初步架構的功能定位和優先順序規劃羅列出來,其中【】中包含的字元*越多,代表其需要實現的優先順序越高,而關於殺手功能、外圍功能的界定,暫時依據星級評判標準,而具體的規劃,還需要在此後的討論中進一步明確和完善
垂直搜尋引擎的建設 |
基於Tag以及型別的資料分類【***】 對使用者檢索輸入進行模糊匹配【***】 使用者檢索內容型別的半自動化識別【***】 針對問答資料、課程資源、常用專業官方文件中函式的檢索分別建立支援【***】 |
基本的使用者管理模組 |
註冊、登陸、登出等基本管理模組【***】 |
問答平臺的構建 |
問答資料的展示【***】 使用者對問答的評論或跟帖與原社群進行關聯【*】 |
優秀課程資源 |
將其他組獲取的資料資源進行展示【***】 + 課程的來源,視訊連結 + 課程講義 + 參考資料 支援使用者留下自己的學習筆記和心得(注意隱私許可權)【**】 設立討論區進行交流【*】 |
使用者資源的共享 |
使用者能夠自主上傳或撰寫課件、筆記心得等內容【**】 |
豐富使用者功能 |
完善激勵模式(使用者積分系統、高積分鼓勵措施、與優質網站的積分轉換)【*】 增設好友、同學、師生、興趣組【*】 增加與社交網路的關聯手段,為系統的生存發展推廣做考慮【*】 推薦系統及偏好分析【*】 |
0x07:WBS基礎構建
I wrote a sign called "Dead End" in front of myself,
but love crossed it with a smile and said ,
"I can enter anywhere"
0x08:附錄與後記
1 universe, 9 planets,
204 countries,809 islands, 7 seas,
and i had the privilege to meet you.
寫到後記,莫名思路滯塞,不知從哪裡記述這短暫一週時間的討論,若單純憑著吃貨的執著去記錄這短暫一週的工作,深夜熱騰的餛飩鋪、新主樓露天的水果披薩、必勝客中冷熱交加的柚子蜂蜜檸檬茶,或是莫名從大洋彼岸發來的調查問卷反饋資料;感覺能始終憑藉這樣的依託和動力繼續前行,內心,大抵,也會不自覺地充滿夏意。就用《你好,舊時光》中自己時常寫在明信片或是信的底部的一句話,謹以此寄予BugPhobia般的團聚吧:一如既往,萬事勝意
你好,BugPhobia,安好~