Tag(標籤),是一種用於定義知識內容方向的概念,是一種透過人為定義的方式來達到輔助檢索或歸納整理的概念性工具。

其實這樣的概念在日常生活中我們常常在使用,最常見的是我們會為文件貼上標籤以方便在需要時可以快速取出。當我們剛認識某人時,我們可能會用一句很簡單的話來表述自己對他的第一印象,例如:「活潑開朗」、「沉穩內斂」,這樣的行為也稱之為「貼標籤」,當我們更進一步認識他之後,我們可能不斷為其貼上各式各樣的標籤,這種用來表達對某事物的簡單抽象描述,便可稱之為「Tag」。

當知識的內容數量稀少時,使用目錄形式的檢索已經是綽綽有餘,但在經過日積月累數量越來越多後,目錄形式的管理將會顯得不敷使用,因為目錄形式的檢索是以樹狀的方式來呈現、定義、分類內容,而在很多時候一種知識或內容是非常難只用樹狀的方式清楚的表述。

使用Tag的好處

舉個例子來說,有一篇文章內容是談論PHP如何編寫MD5編碼,在目錄形式的管理中,我們可能會這麼定義他的結構:

/PHP/編碼加密/MD5/

這樣的定義看起來沒有什麼不對,但是仔細想想,MD5編碼是PHP專屬知識嗎?當然不是,因為可能在某天我們又會收集另一篇談論如何使用C#如何編寫MD5編碼,這時我們可能必須定義他的目錄結構為:

/C#/編碼加密/MD5/

這樣定義也很正確,在初期我們感受不到單純只用目錄結構定義所帶來的影響,但是當諸如此類的數量越來越多時,某天我們想要重新回顧所有MD5的編碼文章時,我們就必須去各個不同的目錄底下找到這些文章。

此時,如果我們有清楚的定義其Tag,絕大多數只要有Tag功能的軟體都具備以Tag進行檢索的功能,因此操作上我們可只需要在已經存在的Tag清單中找到MD5這個Tag,接著點選它,軟體就會幫我們列出所有被標記為MD5的文章,管它是C#、PHP還是任何其他主分類,大大增加了檢索的方便性。

大部分的軟體是這樣處理Tag的

很可惜的是,雖然幾乎所有擁有Tag功能的軟體都具備以Tag的方式進行檢索,但是這樣的功能與其給他一個名稱「Tag」,還不如說它是「關鍵字(Keyword)」加強版,因為這樣的檢索只是很單純的檢索單一Tag,以上面的例子來說,我們只能點選MD5這個Tag來檢索所有包含MD5的文章,這感覺上好像很棒,但是這樣的功能卻缺少過濾性,只是單純的把包含MD5的文章列出來。

這樣的Tag功能其實只比Keyword好一點點,舉個來子來說,試著想想如果軟體提供一個文字欄位讓我們去輸入Keyworkd,然後以逗點為分隔,例如像這樣:

PHP,編碼,MD5

當我們只想要找尋所有被定義為MD5的文章時,軟體在搜尋功能中又提供了另一個欄位讓我們去輸入關鍵字必須包含「MD5」,這一樣也能列出所有定義為MD5的文章不是嗎?因為這中間的操作除了在操作上有些許的不同,一個是用點選、一個是用搜尋,但其本質概念卻大同小異。

理想的Tag管理

在我認為的理想中的Tag應該具備AND(且)及OR(或)的概念,以方便我們快速的檢索及篩選所需要的內容,它應該具備針對Tag本身的過濾性。

例如,某篇文章中談到了Javascript的事件概念,而它實作上是使用jQuery,這樣的文章在概念上它是屬於Web開發的領域,因此我們可能會將它的Tag定義為:

Javascript,jQuery,Web開發

以這樣的例子來說,有趣的是這三種Tag可以是獨立的,但之間的關係卻又如此密不可分。

如果以一般軟體的操作方式來看,當我們需要檢索時,將可以點選Web開發來找到這篇文章,這感覺上還蠻不賴的,但實際上的使用情況卻是在數量大時,點選了Web開發列出一大堆Web開發相關的文章,這其中可能有jQuery、CSS、HTML、PHP、Javascript….等等多到難以想像東西包含在內。

如果當我們只想要看的是與jQuery有關的Web開發概念文章呢?非常可惜,大部分的軟體不提供我們這麼做,到目前為止我只看過CyberArticle及WizKnowledge等少數軟體提供了具備AND的Tag檢索,它在Tag列表功能中可以使用Ctrl+滑鼠點選來複選Tag,例如點選「jQuery+Web開發概念」就會以AND的方式來列出所有與jQuery有關的Web開發概念文章,這種針對Tag本身的過濾方式可以幫助我們更快速更精確的檢索資料,也會將Tag的功能發揮到最大。

結論與感想

軟體的操作介面對於一個軟體可用價值而言佔據著關鍵性的影響,對於絕大多數的使用者而言,他們應該不在乎軟體背後的實作技術多麼深奧,對於使用者而言應該更重視軟體的介面是否友善,因此如果能夠重視並透過各種介面設計概念來協助使用者的操作,更快、更好的完成工作,我想這對於軟體的價值會有相當正面的幫助。

Tagged : , ,

你可能會感興趣

留下迴響