42年的鴻溝 – Dyna Book與iPad

昨天睡前心血來潮翻了一下《世紀末軟體革命復刻版》,這本我一直非常喜愛的經典書籍。(註)意外翻到書中提到Alan Kay在1970年代的Xerox PARC(Palo Alto Research Center)提出Dynabook概念的那段歷史:

曾經有好長一段時間,電腦給人的印象是處理複雜運算的龐然巨物,CPU龐大不說,磁帶機、終端機…硬體設備本身便以大著稱。這些「巨物」處理的事務也是龐大的:大量的數據、大量的資料…。電腦是不折不扣的資料處理機,和人們的生活其實是八竿子打不著邊的。

1969年,一位Ohio大學的研究生Alan Kay提出了一個構想:他希望創造一「本」可以帶著跑的電腦,並且利用電腦的資料儲存和運算能力,模擬甚至取代現有的紙跟筆。這台電腦的理想體積要和紙張的筆記本相近,能夠用它來從事寫作、繪畫、個人行程編排或是財務管理、通訊,或者是用它來取代傳統的教科書等「死板」的文字。

如果書本不再只是單向地灌輸知識,而是能對讀者的迴響做出反應(從最簡單的回答問題的正確到複雜的全文檢索等),甚至讓讀者也參與創作的過程(例如透過網路,作者可以和讀者交流,而在「筆記本」上的內容可以隨時更動),那麼我們所得到的,將是一個和當時截然不同的文化 – 對「電腦」的概念不同了,以往對「書本」、「資訊」的概念也將翻新。Kay把他理想電腦稱作Dyna Book,是「動態」的「書」,而不是xx computer,等於不再把電腦當做「電腦」了。

這段歷史我很久以前就知道了,但我一直以為Dyna Book的概念是更接近於筆記型電腦的東西。但昨天看到這段文字時,我卻有了完全不同的感覺,心裡異常的激動,因為這段文字描寫的Dyna Book,似乎更像另一個東西,一個直到今年才出現的東西。上網查了一下Alan Kay當初的論文,看到這圖我才明瞭,原來Dyna Book的設計根本就不是電腦!!



1968年Alan Kay的Dyna Book,其實就是2010年Apple iPad的原型啊。

看到這讓我不禁感嘆,1970年的Xerox PARC真是個傳奇性的研究單位,從以太網路(Ethernet)、最早的個人電腦Alto、圖型使用者介面(GUI)、物件導向程式設計(OOP)和第一個物件導向語言Smalltalk都是在這被發明出來的。(附帶一提,GUI、OOP、Smalltalk的發明人其實都是Alan Kay。)可是Xerox畢竟是個做影印機的公司,PARC做出了這麼多驚世發明,雖然跟影印機都沒關係,但不論哪一樣東西持續發展下去都大有可為,結果Xerox就這樣讓這些概念被Apple和Microsoft免費拿去創造了現今的電腦王國…。

但話說回來,即使在70年代Xerox就投下資源去做Dyna Book,結果也一定不會成功。對當時的環境來說,Dyna Book的概念實在太過先進,能實現這個產品的軟硬體技術都還不存在。除此之外,當時的電腦是只有大型企業或是尖端研究機構才會有的東西,大眾還沒辦法接受每個人都需要一台有「運算能力的機器」(computing device)這件事。即使到了1993年,那個個人電腦才剛開始普及的時代,Apple推出的Newton(最早被稱為PDA的機器,話說回來也還是想實現Dyna Book所描繪的遠景),最後也是慘淡收場。



商業界有本很有名的書叫「跨越鴻溝」(Crossing the Chasm)。這本書的核心概念是說一個新科技被接受的時間可以分為五個時期,過了最早的創新期後,要先讓一群對新科技比較敏感及狂熱的「早期接受者」(early adopters)接受後,再來才能大量擴張到「早期的主流大眾」(early majority)。但很要命的是在early adopters這個區域有一個巨大的鴻溝,如果一個創新的科技不能得到夠多early adopters的支持,就會直接跌落谷底而死亡。

Dyna Book在1968年前提出的概念,一直到2010年才真正實現並跨過鴻溝讓主流大眾接受。不知道該說是Alan Kay的思想超前時代太多,還是相關科技與大眾進步得太慢…。

但話說回來,從The iPad was invented 38 years ago一文所做的比較看來,iPad已經距離Dyna Book的願景非常接近了,但還是有兩點不是那麼容易解決的問題:第一,「Kay把Dyna Book視為一個創造並閱讀資訊的裝置,但iPad主要是設計為一個閱讀裝置。」第二,「使用者要能在這個裝置上創造他們自己的程式。」

很有趣的是,這兩點都是人機互動上的難題。40年來,硬體技術的成長把iPad變得又輕又薄又帶有非常強大的運算能力,但在軟體的使用介面上一直還是沒有很大突破。尤其是讓每個使用者都有能力寫他們自己的程式(end-user programming),更像一個終極的聖杯,能徹底解放人類使用機器的自由,但到底該怎麼做卻沒人有頭緒。(註二)

寫到這裡,不禁擔心起來,如果Alan Kay在40年前提出的概念到今天才開始要進入early majority的普及程度,那麼到現在都還沒有出現的end-user programming聖杯,究竟要多少年後才能真正普及到全人類手上呢?

註:《世紀末軟體革命》由劉燈、賀元、賴明宗所著,這三人都是台灣資訊界早期的傳奇人物。這本書有三個版本,1994年的第一版,1996的第二版,2006又出了復刻版。這本書是中文電腦書中難得一見能把物件導向和GUI相關架構與理論概念完全融會貫通再加以清晰闡述的書。如果有心想融會貫通物件導向與GUI系統核心概念的人,這本書真的值得一看再看。

註二:Alan Kay所描繪的Dyna Book主要使用者是小孩,所以說如果是以讓小孩子能創造自己的程式為目標的話,MIT Media Lab的Scratch可以說是一個很成功的里程碑。(Scratch用「積木」來寫程式的概念在今年被Google做成了App Inventor for Android,可以用同樣的方式寫Android程式。)(雖說是打Google的招牌,但其實App Inventor是MIT CSAIL教授Hal Abelson去年輪休時去Google做的。)

後記:
很多人說iPad是抄襲Dyna Book的概念,這點其實很難說得清楚到底是抄襲或是「實現共同的願景」,畢竟Dyna Book是40年前的提出的概念了。但Apple在iPad出來後不久就拒絕了Scratch的iPad app,原因是Apple不想要使用者能藉由第三方的平台來執行程式,否則使用者就可以繞過App Store取得其他軟體了(Flash主要也是因為同樣的原因被封殺)。這個決定可以看出Apple並不是想做Dyna Book,而是一個一定要先繳錢成為會員後才能開發程式的…….i板子。

4 thoughts on “42年的鴻溝 – Dyna Book與iPad

  1. Pingback: Tweets that mention 42年的鴻溝 – Dyna Book與iPad | vgod’s blog -- Topsy.com

  2. 要做到end-user programming普及到全人類,因為人類無法改變,
    唯一的方法我想是,讓電腦能跟人類直接溝通想要完成的工作,
    比較接近現實的可能是,是否能讓電腦理解人類的語言與文法結構,
    透過一些制式化且人類可理解學習的語言,告訴電腦現在該執行什麼,
    我想現在讓一般人無法寫程式的原因有很大一部分是來自對語法的不了解,
    可能打錯一兩個字就會造成嚴重的誤判或無法執行,
    造成了在人類與電腦間有著不小的鴻溝,
    至於40年的確是相當長的時間,不過我相信以現在的資訊傳播速度,
    這應該會被大幅的縮短,畢竟當時沒有Google,沒有方便的網路。

  3. “Apple并不是想做Dyna Book,而是一个一定要先缴钱成为会员后才能开发程式的…….i板子”,这也决定了google和苹果的边缘用户的不同吧。google的App Inventor for Android是应用长尾理论的一个表现。

  4. 好久沒來這囉,又看到簡易好吸收的好文章, 增長知識~
    當中一句話特別深刻:”如果一個創新的科技不能得到夠多early adopters的支持,就會直接跌落谷底而死亡”。本身也是走資訊的學生,發現有時候~天馬行空想了一些創新點子,並非廣被大家所接受,那點子似乎就沒有價值了? 現在看起來~一個idea要能被接受又要夠創新,倒也是蠻尷尬的.

留言給我吧!