有試著想開發支援所有主流瀏覽器的朋有們肯定都會遇過像我在 How hateful it is to develop a web application which runs correctly with different browsers? 所提到的情況,為了確定網頁在各種版本的瀏覽器,特別是那該死的IE系列都能正常顯示和執行,這樣的畫面出現是很平常的事
在這張圖中我分别用了兩個VirtualBox給IE7和IE6,如果連IE5要加進來右是另一個,只是IE5太古老雖然還是可能有人在用,但我已經懶得測了。
當然,安裝所有的瀏覽器是一個解決方法,包括使用VirtualBox之類的虛擬化技術來安裝萬惡的IE系列,但畢竟還是很麻煩,來自拉脫維亞 (老實說我也不知道這是什麼樣的地方 XD) 的Peteris Krumins,有趣的是Peteris他唸的是物理系,他和來自美國的James Halliday創作了一個基於雲端的解決方案,叫Browserling,裡面用的技術是之前我在 Open the browser, and here comes the computing power 所提到的,他們共同開發的技術,這個技術最有趣的地方是可以透過網頁來遠端操作電腦,雖然這不是什麼很創新的技術,但結合虛擬化的技術,將運算能力變成像流水一樣,網頁一開服務即到的型式,這就是它的潛力。
扯到雲端
在台灣一個很有趣的現像就是,當某種新東西很新奇、在未來會有不錯的應用,總會有一堆門外漢跟著朗朗上口地四處吹噓這些名詞,說穿了不過就只是趕流行,前陣子流行的是奈米,什麼都要冠上奈米,這樣做價格似乎就可以翻幾成,也有Web2.0之類的,甚至台灣還有人搶著推出Web3.0,說是要把網頁變成P2P的型式,當然是以失敗收場,而現在只不過是把流行的口號改成雲端而已,什麼都要冠上雲端,打開電視偶爾也會看見一些名嘴吹噓著雲端巴啦巴啦…,其實當發現一堆門外漢也在跟著人云亦云時就說明了這已經是在炒作了,哪天在路邊看見”雲端雞排”也請不要意外 XD
何謂雲端
每個人對雲端都有一套解釋,對我來說,雲端不外乎就只是將計算資源、資料儲存等等能力變成像自來水那樣,接上名為網際網路的大水管,打開電腦即可存取,這樣的概念其實早就有了,更早之前甚至有人提出更激進的想法,要將使用者這端完全只剩下客戶端的能力就夠了,剩的東西都由雲端的能力提供,但是也是沒有成功,或許是環境不夠成熟,而我個人認為使用者端的能力也是需要的,網路頻寬再怎麼進展,要即時所有東西都由遠端提供還是有困難的
台灣的現況
就台灣的環境來看,台灣軟體產業規模不足,人才都被硬體產業吸走,教育也以偏理論導向,實務部份相對很弱,網路頻寬也因為被隴斷更是奇貴無比,又位於地震帶上,不利於建資料中心,我只能說一個慘字
但是就高階應用的層面還是有機會,純軟體服務產業最有趣的地方就是,它不需要什麼12吋晶元廠、上千萬上億元的設備,需要的只是人才、電腦、一條網路線,這樣就可以做到任何事情,電腦和網路在現在已經是隨手可得,剩下的就是人才,人才才是這樣產業裡最重要的資產,這說明了競爭是公平的,只要有能力就算只是幾個人躲在車庫裡一樣能在網路上打下一片江山
或許你會問,那像資料中心那類基礎建設怎麼辦? 其實這個問題本身就被雲端給解決了,因為雲端的概念就如我所說的,是透過網路來提供服務,你不需要自己建一個資料中心才能提供服務,你可以使用別人提供的基礎建設在上面提供更高價值的服務,一個好的例子像是Dropbox,它提供了雲端的儲存服務,只要安裝它的軟體,把檔案拖進料夾,剩的它會自動幫你傳到資料中心並且自動同步,它本身是透過Amazon S3的儲存服務來存放檔案,談到Dropbox,很有趣的是ASUS的電腦也有贈送類似的加值服務,叫ASUS WebStorage。
近來,像這Amazon S3、EC2等等的基礎建設已經日漸成熟,所以現在要提供網路服務已經不像以前所有東西都得自己建置,自己買硬體、自己建資料中心,這些東西都將由雲端來提供,成本已經降很低,後繼者要做的就是要想出更高價值的高階整合應用服務並且用現有的這些基礎建設實作出來,可惜的這部份是台灣比較缺乏的能力
Browserling
久沒有寫文章就會想打一下嘴砲,扯遠了,這一是個標準的高階雲端運用 Browserling (http://browserling.com),它所要解決的問題就是上面所提到的,開發網頁時需要安裝各種瀏覽器來測試網頁,而這些都改由他們的雲端來提供,這是他們的介紹影片
他們提供了有限時間的免費使用,有興趣可以玩看看
雖然像這樣的服務其實還不太成熟,需求其實也有限,反應速度也有點差強人意,但是算是很有趣的應用,我個人覺得台灣的產業如果只是爭幾毛錢的硬體毛利,個人覺得不如多花一點心力在於這類高價值的應用服務,硬體有的摩爾定律,與其說是定律,不如說是詛咒,因為有了這條定律似乎不照著做就表示了硬體的極限到了,硬體再怎麼發展也會有物理上的限制,從近來的CPU設計就可以發現,都是朝多核心發展,連手機都有了雙核心的CPU,但其實多核心不代表效能就會立即提升,如果沒有軟體的配合是很難有顯著的改善,再者,有再強的運算能力硬體沒有軟體的功能事實上也沒有什麼用處
就像我所說的,這類的應用並不需要什麼上百億的投資,需要的就是創意 + 能力 + 執行力,像Browserling這樣的服務就只是兩個人合作之下的產品,台灣的開發者們可以多試著嘗試創造這類的服務,會失敗是必然的,但我想有了失敗的經驗,朝著這個方向走多少還是有機會成功
站在使用者的角度想
台灣常見的程式設計師都有個壞毛病,就是只顧著自己想怎樣使用軟體,想著要有強大的功能,但從來都沒有想過使用者到底會怎樣使用,台灣到處隨處可見糟糕到極點的可用性設計,看網頁的表單就知道了,一堆網頁不知道哪裡學來的風氣,總喜歡把一堆五四三的欄位加到會員註冊的表單裡,什麼已婚未婚、年收入多少,從來都沒想過使用者到底是怎樣的感覺,一個實際本身的體驗就是,最近一直收到中華電信的廣告簡訊騷擾,終於受不了想要停掉廣告簡訊,網路上找到的方法寫說要先註冊emome的會員才能取消,你一定想不到裡面有一個必填欄位是什麼,答案是
血型
我的媽呀… 中華電信你們非知道我的血型不可是要做什麼!? 難道我哪如果天貧血暈倒你們要提供緊急手機定位輸血服務嗎? 這就是台灣的現況,台灣或許有技術可以做到某個功能,但就使用者經驗這方面真的還是很糟糕,常常會聽到某些人說 XXX也可以做到那個,標準的想法就是只在乎可不可以做到,從來都沒想過做到這些所需要付出什麼
另一個沒有站在使用者角度思考的失敗實例
還有一個很好的例子就是之前提到跟人家趕流行的Web3.0,可以參考這篇 吳昇老師的Web 3.0為何很特別 或 吳昇老師的 web3.0,雖然它的概念挺有趣的,大意是說Web2.0大多東西傳到那些網站像是Youtube,結果使用者本身一無所有,內容都被服務提供者綁架,透過他們建置的系統,使用者可以將那些內容放在本地端以P2P的方式分享出去,剛出來時我就有說這東西100%不會成功,為什麼不會成功? 很簡單的從使用者的角度來想就知道了,身為使用者我會很在意這些內容是否在本機端嗎? 完全沒有,使用者最在意的只是好不好用,能不能達到我的需要,說使用者的資料被綁架只是被迫害妄想式的想法而已,將原本的系統換成P2P內容留在本機,使用者到底得到了什麼? 什麼都沒有,這就是標準的只用自己的想法思考事情,而不站在使用者角度想的後果,當時還在網路上跟人爭論過,還有人覺得要愛用國貨之類的,說真的,這樣做只會讓爛東西也能生存下去,就好像為了支持國片去看朱延平導的爛片一樣,只會讓他們更爛而已
Linux or Windows?
還有另一種常見的情況是覺得Linux比Windows好之類的想法,我得坦白說我自己也曾有類似的想法,我使用Windows也用Linux跑server,但站在使用者的角度想就會發現,要使用者學那些東西是不可能的事情,說穿了兩種是導向不同的東西,就vim來說它是人去學機器,很難學,但一但學會用起來會很有效率,而另一種可能是Word,這就是以機器來貼近人的例子,撇開要不要錢的問題,一般的使用者肯定是選Word而不是vim + latex之類的鬼東西來寫文件。
站在使用者的角度多想一分鐘,使用者會更喜歡你一些
對於使用者經驗的認知,我得說大部份技術出身的人很多都沒這樣的觀念,我自己以前也是這樣,身為開發者,站在使用者的角度多想一分鐘,使用者會更喜歡你或你的軟體一些
總結
其實本來一開始只是想簡單地解紹Browserling,不小心就嘴砲了一堆,以上只是個人的小小想法,參考看看就好,不過我真的挺希望可以看見台灣軟體產業有所發展,最近在發展自己網站的過程中學到不少東西,有空的話可能會嘴砲幾篇來分享一下我的心得
Pingback: Tweets that mention 嘴砲談雲端 – 介紹用雲端除錯網頁的雲端技術: Browserling » 程式設計 遇上 小提琴 -- Topsy.com