Trackping Separator 2.x 開發記事

TSP久沒更新,其實都是我懶,不是苦無點子。從連入連結和 technorati 就能看見不少人嫌舊版TSP安裝麻煩,改theme /主題改得亂七八糟。老早發現其實 WordPress 有兩個 filter API可以幫忙省免大部份麻煩的步驟,在另一插件 MCEComments 出現之前就有了構思,不過自從 Pingback/Trackback 成為垃圾郵件業者的新武器,就差不多沒有人在用。這年頭連進來的訪客都寥寥可數,沒有留言建議不在話下。況且,不少主題現在都內置(例如 K2)這種功能,這個插件就更沒必要存在了。

幾天前看見舊版面有點亂,就打算把整個主題推倒重來,再到官方主題站挑個新的。選了這套 Big Blue,清爽圖片少,就覺得很適合。字體有點小,不過調一下CSS就可以,問題不大。反倒是留言,雖然有內置分離功能,不過從主頁看留言數卻跟內文顯示的不同,不順眼。

所以有了動機。程式碼其實都不太難,改寫幾句就 OK。但是,卻被 PHP 這種本來是樣版語言的設計踹了一腳。我不小心的放了兩個 \n 在插件的 PHP 後面,自然它們也出現在準備輸出成網頁的那截記憶體裡。XML 的設計又很龜毛,哪管是空白字元,只要有東西在 <?xml version=”1.0″ ?> 之前就得去死,所以改好插件的頭兩天 feed 都變成了奇怪的亂碼 (我不知道為甚麼,明明只是空白字元而已)。還好有大雄經 twitter 提醒,不然讓這不到 200 個的忠實讀者受罪,那叫我如何受得起?

軟件這種東西永遠有 room for improvement。或許放一頁設定內頁,或許可以把外連列表 (listtrackping)都改成自動加上…

後記:插件是故意寫成 non-backward compatible,因為兩個版本(1.1.1 和 2.0)在功能上是毫無分別的。

M$ Patenting RSS

[via /.][Wired]微軟想為 RSS 註冊專利?Wired 報道,18 個月前微軟向美國專利註冊局申請了兩項有關 RSS 的專利,剛好就在微軟宣佈 IE 7 支援 RSS 的時候。Dave Winer表示憂慮,指微軟將來可能會向 RSS 使用者收取費用。不過該篇報道作者卻認為微軟只是註冊 Vista/IE 7 上的 RSS(這是甚麼啊?),所以 Winer 未必全對。

這有可能是微軟為了防止被對手控告的保護策略,不過微軟至今仍未對外發表關於這兩項專利註冊的詳細資料。我們還是靜觀其變吧。

或許可以想像一下微軟註冊的動機究竟是甚麼。

  1. 保護註冊
    為了免被敵對公司起訴而申請專利。
  2. 特別技術
    微軟或許會為 Vista 加入特別的 RSS 顯示技術/延伸(眾所周知,RSS 2.0 支援命名空間),為了防止有人未經授權使用,微軟將其註冊。
  3. 壟斷平台
    會不會是微軟防止其他對手打著 RSS 之名入侵微軟的 Vista/IE 7 平台呢?雖然這可能性很低。

不要再說 RSS

feed icon為甚麼大家會跟其他人說你在「看相片」,而不是「看 JPEG」呢?因為:

  1. JPEG 只是相片格式的其中一種,此外還有 BMP,GIF,PNG 等等多款不同格式。雖然 JPEG 是主流,但不代表 JPEG 便是所有相片格式的代名詞。
  2. JPEG 幾個英文字組成的簡寫,不太清楚電腦的人會聯想到甚麼呢?甚麼也聯想不到!說自己在看相片不是更清楚明白嗎?

同理,feed (web feed) 也一樣。

  1. RSS 只是 feed 格式的其中一種,此外還有 ATOM,RDF 等不同格式。雖然 RSS 是主流,但不代表 RSS 便是所有發佈格式(Syndication)的代名詞。
  2. RSS 幾個英文字組成的簡寫,不太清楚電腦的人會聯想到甚麼呢?甚麼也聯想不到(我覺得現時推廣 feed 還有難度,因為大家也將 feed 包裝成 RSS,不明就裏的人就被嚇倒了)!但是,我們應該說自己在看甚麼呢?

內地比較流行 feed 翻成種子的說法,眼明的大家應該知道那個是 seed 的誤譯。翻過字典,feed 直譯解飼料,解法也很合常理(話說也是 feed reader 的「資訊飼料」啊),不過如果讓我們直接叫「看飼料」感覺又有點兒那個。外國主要提倡用圖示(上圖)來代替的,雖然跨國溝通問題不存在,但是用口游說還是有難度。

有另一批人比較擁護叫「訂址」的,但我覺得名字讀起來又不太自然。有好提議嗎各位?但決不能再說是 RSS 了,畢竟概念有誤,也不利推廣。

XHTML 1.1,WordPress 和瀏覽器

剛才的文章提到,Wordpress 有個奇怪的特性,就是喜歡在某些 XHTML Tag (Block-level tag,例如 p, div, li, h1-6 etc.) 之後自動加插 </p>,而這也是很多我之前的文章不能在火狐正常顯示的原因。解決辦法就是在寫文章的時候加一個 \n 在每個 block level element 之後,讓 WordPress 也懂在 tag 之前加入 <p>。

好了,辛苦了整晚檢查 Firefox 也可以把舊文章正常顯示出來以後,滿以為網頁可以通過 W3C 的 validator,怎知道它居然罵我那個<br /> 不可以用 clear 這個 attribute。

文章結構

當然我知道 1.1 不可以用 clear,但問題是有些文章有左邊那幅圖的結構:圖片偏左(使用 CSS 以及 div),文字偏右,然而我不想段落三也貼著段落二的尾部,被圖片壓成一堆。當時我知道唯一的解決辦法便是用 <br clear=”all” />,不過這樣就不符合 XHTML 1.1。
今天就找過一下 Google 看看有沒有人和我一樣遇上這樣的慘況。首先找上的是這篇,不過 <br style=”clear: all;” /> 只適合在 IE 上使用,Firefox 卻不理會。第二個方案則完全不行,因為一個<br /> 只能跳一行,遇上幾行空白就無用武之地。

在那篇文章的留言看見另一篇文章的連結,說要在不同的 block element 加入這個 attribute 而放棄 <br />。知道<p>會出現問題,所以便選擇了用<div>:

<div style="clear:both;"></div>

呼,以這個代替 br 便輕鬆解決了 XHTML 1.1 和 Firefox 的兼容問題~

Firefox 的用家,對不起!

自從 Clement T 君在我向各 IE 用家道歉的那篇文章介紹了這個好用的 plug-in 以後,為各非微軟瀏覽器的用家著想,便立刻安裝了這個插件。

可是我太懶,加上大意,竟以為以往的文章全符合 XML 格式而沒有再回顧檢查。結果嘛,剛剛就有人投訴說 TSP 中文簡介不能正常運作…

最後花了點功夫由頭一篇文章檢查到尾。其實這不是我的問題,而是 WordPress 為了讓文章好看一點而亂加上 <p> tag,而令網頁成不了正確的 XML。唉,累死了。

通常問題是這樣的:
<ul>
<li> ... </li>
</ul>

而 WordPress 卻很喜歡沒頭沒腦的在 </li> 之後加上</p> … 害得 Firefox 因為 XML 不正確而顯示錯誤畫面。
最後我要這樣:
<ul>
<li> ... </li>

</ul>
才把問題解決… 在這段時間找不到網頁的朋友,千個萬個的對不起!(我是不是要打 WP 的屁股?)

A quick look on what M$ is doing on the RSS 2.0 with SSE

Yes, if you are a frequent visitor to The Register, you may notice that M$ is going to extends RSS by giving more extensions to it via namespace. This, of course, is not the first “defile” to RSS, as Apple did the same thing before by giving iTunes-exclusive extension to RSS. But well, for M$, considering its conduct… umm.. Things will turn out that the extension will become the part of the standard and will flush out the readers on the market which don’t support the extension… sigh…

Anyway, let’s focus on it. SSE (Simple Sharing Extensions, not the Intel tech with the same name) is a way to let users collaborate on the same feed. This include merging of feeds from other authors, filtering out those you don’t want to appear and add in your own items (or edit), and publish a new one. Right, a bit sounds like CVS/SVN working model on RSS, but this is de-centralized and everybody can have his own version of feed.

Sounds interesting. What this thing can do though? If they succeed promoting it, it could efficiently wipe out existing popular services, namely technorati, del.icio.us, NewsGator, because now the feed itself can do their tasks! Let’s see… I really love this semantic web War~

RSS != Standard,RSS != Webfeeds/Newsfeed

How many times I have told you guys that RSS is barely a standard? Twice I think.

對,RSS 不是甚麼標準,而是一堆自稱為 RSS 格式的集合。為甚麼這樣說?我們知道,RSS 有三個流通版本(0.91, 1.0, 2.0,以 2.0 較多人採用),而其實 RSS 本身有多達十一種不相容的格式,由三個團體進行不同版本的開發(而曾經也因為矛盾而發生過衝突),就是名字的全寫也有三個(Rich Site Summary,Really Simple Syndicate,RDF Site Summary)。我想這是唯一沒有 M$ 的參與,也會產生版本混亂和紛爭的格式。

所以,某程度上我看好 Atom。Atom 有單一的格式,由單一的團體開發(就是 IETF,各種通訊協定如 HTTP 的維護者),也得到不少大機構支持(Google 和 M$,雖然兩者也同時支援 RSS…),但是也由於花樣太少(例如 podcast),所以至今還沒有被廣泛採用。

不說不知道,Atom 除了 feed 以外,也包括了一整套文章上傳/修改協定。

呵欠,微軟有興趣的話,即管為 RSS 搞破壞,我絕對歡迎。反正這所謂「標準」早已殘破不堪,而鄰家蘋果也為 podcast 加入在 RSS 空間以外的 tag 來支援自家的 iTunes 了。