兩個 Web BBS 比較,以及其未來。

最近又發現一個新的 Web BBS ,叫做 DISP.cc。這跟 Gaaan.com 一樣,是使用 AJAX 想用網頁模擬 telnet BBS 的討論區,提供一種鍵盤操作的介面。Gaaan 從 2006 年發展至今,漸漸失去活力,連開發專版也久久沒有新的文章。DISP.cc 則是表現出新軟體頻繁更新的熱血,很有可能搶去 Gaaan 的用戶群(雖然跟ptt來比,數量還是很少)。

以下就是我的比較表:

gaaan.com DISP.cc
重讀已讀文章
(從一篇文章離開後馬上再進入)
沒有延遲,靠本機快取 有延遲
RSS訂閱功能
入版畫面 有,而且比BBS豐富,可用特殊動態效果
可被搜索引擎搜索
精華區/分類/標籤 有(讀者自行標記任意標籤) 有(版主可建立樹狀分類,設定是否讓讀者自己標分類)
其他常見BBS功能 個人信箱
線上傳訊
與其他網站連動 轉收文章到 Hemidemi 以及 Del.icio.us 轉貼至 Plurk 以及 Facebook

GaaaN 從 2006 年發展到現在,一開始十分吸引大家的眼光,可是卻慢慢的失去人潮。原因應該還是在於:

Web BBS 把目標群眾放在喜歡用 BBS 的人上面,可是像是巴哈以及 ptt 已經很好用了,不但極快,有人氣,擁有歷史累積下來的寶貴資料,而且還有名氣。這樣十分完善的網路社群,使用者跳槽到 GaaaN 的好處沒有什麼。而對於不玩 BBS 的人來說, GaaaN 實在是無法使用,單靠滑鼠沒辦法做任何事,要是要上下查看主題或者是發表文章,都必須用鍵盤才行。

與其把操控方式做的完全跟 BBS 一樣,開發者反而應該試著把 BBS 的操作優點整合到一般的討論區軟體內,比如說更簡單大方的視覺風格,又或者加入鍵盤操控功能。還有其中最重要的,讓使用者有種即時互動的錯覺(像是巴哈的洽特版或者 ptt 的黑特版)。只要做出了這種感覺,那麼這個平台的吸引力馬上就會更上一層樓。

當然上面說的是個十分大的改變,要是只想在 Web BBS 本身做簡單的改進,我覺得可以:

  • 讓介面風格更像友善,比如說改變深色系的配色,或者不要用單獨一個登入畫面作為首頁。
    更好的就是偽裝的類似一般的討論區系統。
  • 讓各版有像是廣告活動,投票等等的機制炒熱氣氛。比如說可以在首頁放最新的活動等等。
  • 讓版主設定每個版的風格,像是背景圖案,字型,入版畫面等等。
    這樣才能讓每個版自己成為入口,拉進新人朝。
  • 讓不登入的人也能留言。
  • 讓人只靠滑鼠也能遊覽整個網站。
  • 分散式的架構,讓一般人也能在其他伺服器架設版面,不過這會需要開放程式碼就是了。

My guidelines for using tags/categories, and a proposal to a new tag system

I often become confused when I publish a post on WordPress, because it offers both the tagging and categorising. Some of the confusion are caused by the two functionalities having overlapping areas, and some related to the lack of functionality. Overtime I came up with a few guielines to avoid some of these confusion, but not all of them. I want to list those rules first, and then I want to talk about a new system and explain how it can solve the rest of the problems.

First, both categories and tags offer the reader an easier way to search your writings. A review about a particular episode of an animation series may not have the word ‘animation’ in it, but tagging / categorising allows the users to search for all writing related to this topic.

Since one article can belong to multiple categories, the distinction between the current tags and categories is only that categories can have parent-child relationships. This relationship is best applied to chronological ordering (2009 series -> autumn series). A good thing about this relationship is that selecting a parent category will show all the entries in the child categories. This offers a control of granularity for the grouping of posts. Usually I won’t have too many layers of categories. Keeping it at the minimum makes the site map easier to digest, and the category section on the side bar will not be cluttered (which in term decreases the usability).

Tagging is less restrictive to users, which means it can vary greatly to the same writer even in different period of time. I am not a believer in tag clouds. because I loses my focus when I see a sea of links, most of which are seldom used/ less meaningful. I think tagging is more suited for adding keywords. I use it as the source for generating keyword meta tags.

In essence, category gives the reader a general idea of your blog (what kind of writing there are, what is the site structure). It makes it easier for one to navigate through your site. Tags on the otherhand allows users to access your article using external search engines.

However, these guidelines sill cannot fully resolve the following questions. For example:

  • Deciding if one label is more appropriate as a tag or as a category
  • Worrying if the synonyms should be included as a tag
  • Worrying if the category section becomes bloated when adding new sections.

I thought about these question for a while, and came up with a solution. The new system I am proposing will have the table structure like the following (this is only a prototype):

Tag table:
tag(pk)

TagRelation table:
subjectTag(pk fk)
objectTag(pk fk)
relationship(pk)

Category table:
category(pk)

TagCategory
category(pk fk)
tag(pk)

First, even when I use the guidelines I mentioned above, at times it can still be difficult to decide what should be a tag, what should be a category. This can be eliminated by only allow users to enter the tags. You may want to ask: "then how can I categorise posts?" The answer is, the software will do it for you. For example, one can associate the tag "Gundam" with the category "Animation I watched". In another word, category now is dependent on tags. This means the user no longer chooses the category for each writing directly, but when tags are applied the writing will also be categorised automatically. A few good thing about this are: categories can be associate with multiple tags; the user can have a more personalised category name like "My Jukebox".

This model allows relationships other than the parent-child relationship. This is good for future extension. For example, why not add a "part of" relationship which is more flexible than the parent-child relationship (the ability to have more than one parent so to say)? We can say "Final Fantasy" is part of "SqureEnix" company, but is also part of "RPG".

Often I am feel that one particular key word is not adequate, and its synonyms are needed as well. For example I add "Final Fantasy", "FF" and even the title in Japanese as the tags, because even I use these as search terms interchangeably as well. Adding those one by one everytime can be tiring, and having those all listed in the post is messy. But if we allow the "synonym" relationship, we can just choose "FF", and the post will still be automatically be linked to the "Final Fantasy" tag.

More freedom should be given to the user on organising the categories. In this system the user can set up rules to link categories to the tags. Other than that, I think it will be useful to allow users to choose which categories to display on the side menu. This way the user will not fear that a new category will make the side menu more bloated, but instead only list out the important sections. Additional functionalities can also be offered for the visitors to drill down to see further sub categories. The same goes to tags. The user should be able to set which tags can appear in the tag cloud. Having too many items in the tag cloud can never be a good thing.

Highlight table row in Firefox

When we surf the web, sometimes highlighting table rows on mouse hover makes life so much easier. I used to use GreaseMonkey to do the job, but recently I discovered the CSS’s equilvalent, which in theory should be a fraction of a second faster. The steps are simple but is only for Firefox.

Firstly install Stylish, which to CSS is like GreaseMonkey to Javascript. Then add the following style:

tr:hover{background-color:#FFFACD}

That’s about it. Configure further if you need to. I really hope the day when :hover is supported universally and I won’t have to touch Javascript for that (stop using IE6 dammit).

有時候如果能依靠滑鼠的位置把游標底下的表格列給反光起來,會讓使用更便利。原本我是使用 GreaseMonkey 來達成這個任務,不過最近我學到了使用一個感覺更加好的辦法。

首先,先下載 Stylish 。 Stylish 之於 CSS 就像是 GreaseMonkey 之於 Javascript 。然後加了以下這個樣式就好了。

tr:hover{background-color:#FFFACD}

就是這樣。希望有一天 :hover 會成為所有遊覽器都支援的樣式。請支持用比 IE6 要新的遊覽器。

分類與標籤、category & tag ,你迷惑了嗎?

這個週末把 WordPress 更新到 2.7 後,感覺動力大增,就搬了許多篇舊文章並把把不用的分類合併或是整理。

在 WordPress 上我能同時使用標籤以及類別。這兩種整理資料的方法其實有許多相近之處,所以從以前就常常會煩惱是不是用錯了。這個週末多花了幾天好好的想了想,歸納出一些粗略的法則。

在共同上,類別跟標籤其實都是用來讓客人能更容易搜尋想要看的文章的。一篇講關於動畫的文章可能裡面沒有「動畫」兩個字,所以要靠外部的標籤或是分類來讓客人容易搜尋。

其實因為同一篇文章能夠歸類在好幾個群組,所以群組跟標籤的差異就只剩下群組間能有子類別這種關係。這種類別關係最容易套用在時間上(2009新番–>秋季)。有子類別的好處是,客人來找文章的時候,選大群組就會自動包含小群組。所以要是你想要這樣子就可以套用類別。

傳統上類別不會分的太細,讓人能很容易瞭解整個網站內容的分類。要是太多列別,那麼放在選單上不但擁擠,也會因為眼花撩亂而降低實際的功效。說到這,我想順便提提自己對於 tag cloud (標籤雲)的感受。首先它很眼花撩亂,標籤數量多不提,要是不分行依照筆劃排列,又使用字體大小的分別,反而讓眼睛不知道該注意哪裡。第二、因為 blog 是給單一作者的使用平台,所以文章都是作者自己貼上標籤的,很多 tag 系統在多人網站上顯現的優點就沒有用武之地(像是統計分析之類)。最後,tag 由於十分隨性,所以許多 tag 可能讀者永遠都沒有興趣點選來看。

標籤在感覺上因為隨性,所以從以上的三點反向思考,怎樣都讓人有種 keyword 的感覺。我想把標籤當作關鍵詞系統用,算是個不錯的選擇吧。

所以目前暫時的結論是,類別應該注重於介紹讀者該網誌的內容好讓他們有個起始點能逛網站。而標籤該用於幫助讀者搜索(無論是站內或是搜索引擎)的結果更加精確。

其實,我們大可把類別當標籤使用,創造出幾百個類別一樣會變成另一個 tag cloud。這兩個功能真的十分近似,除了運用類別的父子關係之外,兩者都能互換使用。真正要作,這兩種東西應該就要結合在一起,更加 generalise ,並用一種新的方式呈現。舉例來說,除了父子關係以外,應該讓作者能夠自由地自訂新的關係。然後只呈現前幾大項或是有歸類的項目,也許能讓整個分類的功能更加自由易用。

延伸閱讀:
使用wordpress初步心得 + 分類與tag之間的異同

寫了個程式

這週覺得自己很頹廢,所以決定把以前曾經有過的想法做出來。常常有人想要從無名小站搬出來,可是無名小站自家的備份檔案跟人家不相通,所以有很多人試著靠讀取整個 BLOG 的 HTML 來做出可以用的備份檔,而這種方法會慢上很多,而且還蠻吃資源的。

因為無名的備份檔案是 XML ,所以學 XSLT 這個沒人用的語言的我,凡而能夠把它的備份檔案轉換成其他的格式。於是,從星期三開始,就開始著手製作轉換程式。總共花了 8 個小時吧,主要是因為我的主機商很機車,他的PHP 沒有提供壓縮檔案的功能。所以花了很多時間想其他方法來解決這問題,不然應該五個小時就OK了。

無名小站備份檔案轉換器

嗯,有時候寫程式還是很好玩的,尤其是會造福大家的時候XD(而且大家正好都不用 XSLT )

全力釋放的靈光一閃

最近一個月,我把所有的能量放在我的新點子上。這應該是沒人想過的點子吧,是四月想出來的,但是拖到現在才漸漸成形。

新點子簡單的來說,就是讓你能容易有多個BLOG,也讓你有很多份同樣的文章在不同地方,你還是只需要更新一份,其他都會更新。有興趣請點進去連結

做網站推廣想法其實真的很難,當初以為一個週末就能完成的東西,想不到有那麼多需要補充加強的地方,前前後後改了不下二十次,圖也畫了四五遍。果真,人不是完美的生物,需要靠著一次次的更新來完美自己(就像是 final year report 一樣 )。有時候,你潛意識會覺得這實在不行,需要改進。要是你不改,那麼你就會不大滿意。當然,直到你拾起懶骨頭給他做改進的時候,你會覺得滿足多。所以,覺得不滿意的地方,千萬不要逃避,多用幾個禮拜,多問幾個朋友,來換取改進會更值得。我想,這種追求完美也是職業人士跟一般人的區別。

推廣其實是一件很難的事,我目前也卡在給朋友看這種階段。週末做完最後的修改後,原本滿帶信心地在 Slashdot 上投稿,結果沒有上。除了這之外,我也還想不出來有什麼其他方法能增加知名度了。網路上找不到什麼適合的討論區能發表,看來不真的做一個 Demo 是不行的。

可是我很懶,所以大概還是不會做吧。

嗯,該怎麼辦才好呢?要如何找到快樂的伙伴呢?