Review
對於之前的spec請猛擊這里,所以就不贅述了。
接下來的三周內我們將對M1已經實現的Grow A Search Result進行M2的開發工作(M = Milestone)。當然這里面有對舊feature的改進和修繕,也有全新feature的加入。不管怎么說,壓力還是很大的。
在M1中我們最終實現的是對單個關鍵詞的搜索,用戶在輸入一個關鍵詞之后軟件會持續地從Bing上獲取關於關鍵詞的News,按照時間先后的順序且去掉重復之后,以一棵樹的形式展現給用戶。
M1的最終形態是這樣:
當然這里面有很多很多的問題,比如:
- 樹很容易就長飛了,超出屏幕之外,雖然能夠用左下角的方向鍵卷動,但畢竟不舒服。
- 搜索結果其實細看的話都不怎么相關,原因是從Bing獲取信息的時候按時間排序而不是按照默認的相關度ranking排序。
- 只能有一棵樹,重新輸入關鍵字的話,樹就重新生長了。
- 樹干不太好看,也不直,也不彎。
- 不能對樹進行一些操作,比如“修剪”之類。
- 根節點看起來很不自然。
- 使用BingAPI有每月5000次query的限制。
- …
所以在M2我們要改進M1不好的地方。
M2 Persona & Scenario
在M1的基礎上我們認為對於用戶A,在他輸入一個關鍵詞后,他希望能夠從樹中獲得有益的信息,並且樹不能太大太長(否則不易觀看),他會想要好幾棵樹,這樣他就可以將不同的樹組織為一個“樹林”或者“花園”。當看到他認為沒有用的信息時,他會想要將這一個branch手動剪掉,以保證樹上的節點都是他喜歡的或者是他想要的。
當然在M1中沒有實現的history功能也會在M2中實現。因為有了多棵樹的加入所以history功能能夠make sense。
Updated Feature list
在M1的基礎上我們決定增加一下feature,包括其退出條件:
Feature | Priority | Exit Condition |
Folding Nodes | Must Have | 對於超過限制(可以是時間或者節點數目)的節點能夠自動歸為一個特殊節點,同時當點擊特殊節點的時候被收入的節點能夠作為一個分支顯示出來 |
Move Trees | Must Have | 用戶能夠拖動一棵樹到其他位置 |
Prune Trees | Must Have | 用戶能夠通過點擊某一個分支而將這個分支從樹上刪除 |
Get Information | Must Have | 用戶能夠從樹上獲取信息,包括點擊樹干獲得樹干的關鍵詞,點擊節點獲取搜索結果的標題和摘要,並且能夠跳轉瀏覽器 |
History | Must Have | 在用戶關閉軟件再重新打開時,上次輸入的關鍵詞以及生長結果不應該消失,而應該和上次保持一樣的狀態 |
Modifications
有一些feature是我們在M1中加入但是現在覺得並沒有必要需要在M2中修改或者去掉的:
- 不再主要使用BingAPI,而改用BingRSS,當然並非完全不使用,我們也有將BingAPI搜索作為后備資源的想法,只是現在還不成熟。
- 去掉根節點,整棵樹中的keyword信息需要在點擊樹干之后進行顯示,初步的想法是彈出一個label現實keyword信息。
- 樹干不使用多條貝塞爾曲線拼接而成,而改為整條平滑曲線,這樣會讓樹更好看一些。
- M1中一棵樹的節點並沒有限制,M2中我們決定不允許一棵樹長得過大,但是具體的限制數量可能還要經測試決定。