<canvas> and development of web technologies

Of course, we all know that Web has become more and more an application platform than an information medium. Such argument could holds true, evidentially, is by the invention of the element <canvas>: before canvas, every HTML tag was invented to host some type of content or metadata; Javascript, or other client-side scripts, heavy or lightweight, rich or sample, do nothing more than manipulating those data (and replace them with new data fetched by XMLHttpRequest or JSON-P).

<canvas>, however, is the only element doesn’t come with content. Without script, canvas is nothing more than a blank block space. It is, indeed, a canvas for Javascript to “paint” its computation result. You cannot specify any content with element attribute; without script the canvas itself doesn’t make any sense.

Years from now, when people talk about the history of advancement of Web technologies, I believed notions like this would eventually reveal itself; just like what happened when we talked about the day when <img> is invented.

Food for thought.

HTML5 AJAX File Upload

Update: Slides (Google Docs) (PDF, SlideShare) and the jQuery library.

下星期二我會在 Tossug 的 HTML5 讀書會講如何使用 HTML5 的各 API 製作 AJAX 檔案上傳控制項,取代 SWFUpload 或是 iframe。內容大概是以這篇文章說過的為底,加上一些新的發現,以及各個瀏覽器的比較。歡迎參加,請參考詳細資訊

Next Tuesday, I will be at Tossug, talking about how to implement AJAX File Upload using only APIs supplied by HTML5 to replace SWFUpload or the crappy iframe. The talk will base on this post with extend information on some findings, and comparison between browser platforms. Please register if your interested; information can be found here.

壹電視全視窗 bookmarklet

昨天壹電視開播,內容的部份我想要一段時間才知道是不是如他們的宣傳。

技術的部份,前端使用的是商業授權版的 JW Player,後端是用 RTSP 通訊協定實作隨選視訊和 Live 廣播。前者我也買過用在演示實驗網站,但是伺服器端沒有找到什麼 FLOSS 解決方案或是買的起的商用軟體(架的起來放在學網裡給各個學校計劃也不錯,但是架不起來orz)。

畫面比較不滿意的地方是只能用全螢幕或是畫面上的小小螢幕,而且 Flash Player 全螢幕如果失去 focus 就會消失。所以我做了一個簡單的 bookmarklet 把畫面放大到全視窗,可以把電視開到另一個視窗放到想要的任意大小。

» 壹電視全視窗

跟其他 bookmarklet 一樣,把連結拖到書籤,開壹電視網頁然後點一下即可。已知問題是切換標準/高畫質的按鈕會失效,想要看高畫質要先切換再改成全視窗。