Re: Why mobile web apps are slow

Although the title broadly and vaguely referring to “mobile web apps”, Why mobile web apps are slow is actually a lengthy breakdown of JavaScript performance on mobile. tl;dr: too slow, and will stay relatively slow in feasible future.

Regretfully, because I was not formally trained as a computer scientist, I don’t have the necessary knowledge to judge whether or not the analysis of hardware architecture, garbage collection, or even interrupter development trends, are genuine or not. Nor I will try to be an web fanboy to pin the arthur as an Apple fanboy to repudiate what he just wrote. The question I would like to bring up is: Supposedly all of the analysis (and the conclusion) are true, what would the future holds for the Open Web, in post-PC world?

For the web to move away from JavaScript, there are currently two active proposals: Google Native Client (NaCl) and asm.js. NaCl comes with some trade-offs, like interpretability; asm.js on ARM is still in active development, and we will not know whether or not it would bring the same performance boost on x86.

Obviously, without JavaScript, the web as we (the front-end web developers) know it will cease to exist. It’s not necessary a bad thing though — while the web moving a way from a place I grew up, where everyone can find out the layout or logic of any website with view source, it had also involved to something much useful and powerful, embedded into everyone’s digital life more deeply. Yet, working on Mozilla payroll means there is no excuse to give up on the Open Web — even though I am not the person who make these decisions, thought experiments is always a fun thing to do.

So, maybe 10 years from now, website, or web apps would do this: Probe the CPU architecture of your hardware, drop the corresponding optimized asm.js or NaCl bytecode to your device, and render the entire screen with WebGL. There might even be Flash-like authoring tool for that, or even WebHAL — a library to abstract CPU/GPU differences. Think about what the Open Web gain or loose at that future.

As for JavaScript, in that future, people would have conversation like this comic (spooler alert below; thanks Kanru for the link):

— … Can’t remember its name. Today it’s mostly used just as a target language for compilers, but back in [the professor]’s days people actually used to write in it directly!

— Oh, that must be JavaScript!

Perhaps, just like Lisp at the time, a dynamic-typing language is still too advanced for hardware circa 2013.

HTML5 文字雲更新

Word Cloud of Wikipedia Entry "Hello World Program"

hello, world.

不知為何,撰寫一個印出「hello, world.」文字的程式成為一個學寫程式語言的傳統。學會 web programming 是我到目前得到最多收穫的事情之一;用作品去碰觸每個使用者的生活也是一件有趣的事情。

有時候也是會遲疑:這種軟體的存在究竟給人好的還是壞的影響?把自己的文字萃取、提煉、排成圖片,到底是一種自我反省、還是一種自我投射的強化?人們會因此更關心 HTML5 技術或是 Open Web 嗎?或是,人們會從政治人物發言的文字雲發現發言之空洞嗎?人們會因為一個充滿內容的文字雲,發現一個認真編輯的科普網站嗎?這些腦海中的問題,多多少少讓我不想再這上面花這麼多時間,即便這兩年來的點閱數、分享數、詢問等等。

不過最後我還是花了時間重寫了。主要的動機是想要導入這兩年學到的新技巧與開發模式,把程式碼拆成其他人可以利用的 library、加上測試、說明變成真正有誠意的 open source 專案等;光這樣 app 的部份前前後後也花了快一個月的時間。上週上線之後的回應也不錯:分享圖片的功能立刻就把 Imgur 的上傳容量用完了,Facebook 那邊雖然解決了 API 改版的問題,但圖片分享的部份因為被懷疑在使用者文字裡預填廣告所以被擋了。也感謝草兒幫忙完成了一些介面(open source 貢獻者捕獲!)。

剩下的技術細節就留在 Githubrepository 吧!隨意搜尋網路上的反應,一位香港文化人鄧小樺所留下的文字最令人回味:

……文字雲是世界上最靈異的事物,透露一切,像黃耀明唱,「難得一刻/讓我將真相透露/如同病發」。如果你就是你寫過的字,文字雲豈止是測謊機,簡直就是上帝。看到時總是驚異到雙膝發軟,覺得什麼都不用偽裝被它看透。以下是2013年得到面書文字雲,不斷跟自己說這個可能比較近的時間會有較大的位置,但得到的這個句子還是如神諭一般……

身為分析演算法的作者,不會覺得這個真的有這麼神奇啦(笑)。程式無論介面還是背後的演算機制,都還有很多功夫可以下,歡迎有興趣的同好加入。沒有程式基礎的話,測試、發想功能也是可以幫忙的方向。

不然就開始學寫「hello, world」吧!Say “hello” to the whole world by learning how to code.

註:此文圖片為英文維基百科條目《Hello World Program》的文字雲。文字大小基於美感經過人工調整。

The World According to Dick Cheney

如果你想要被人們所喜愛的話,去當電影明星不就好了。

—— Dick Cheney,美國副總統(2000-2008)

The World According To Dick Cheney 是美國前總統 Cheney 接受 SHOWTIME 專訪的紀錄片。R.J. Culter 導演將 Cheney 本人受訪的回應,以及他從政生涯,串接起來,合成一部堪稱鉅細靡遺的展示。

無論自由派的人們多某討厭這位布希白宮內的「Dark Vader」,我認為 Cheney 的思維是我們都應該要了解的。因為,無論我們對像美國這種老牌民主國家的公民有多少美好想像,例如人們多有「民主素養」,懂得尊重人權、法治,堅守原則,別忘了,許多美國人當年是同意布希當局的作法的。而 Cheney 在這部紀錄片對自己當年行動的註腳,正好顯露著這個思維的核心:當時的美國是怎麼容忍自己開打兩場沒有 exit strategy 的戰爭、在海外基地建立規避憲法與國際公約的關灣監獄、對犯人刑求、對國內民眾實施不需搜索票的監聽等。

Cheney 認為戰爭時期,拯救性命避免攻擊比起自己的面子(或榮譽;原文為 honor)更重要。即便伊拉克戰爭到最後還是沒有找到大規模毀滅性武器,他還是認為他的決策是正確的:他說,許多人在歷史上的地位是因為成就了某件事,但人們不會記得因為誰所以沒有發生什麼壞事情。他認為,在沒有他主導大局的平行時空,之如 9/11 的恐怖攻擊已經可能又發生兩三次了。

人們勢必會反過來指稱這種想法所導致的先制攻擊,只是拿伊拉克人命換美國人的性命,世界反而變得更危險云云。但無論如何假設、立論、指控,Cheney 與布希政府所型塑的後 9/11 時代是個不可否認的,一個必須面對才能進步,一個必須習慣才能安生立命的醜陋現實。