「今天我要跟各位討論打字的故事。」身為資料格式JSON之父的Douglas Crockford,理應是個技術狂熱者,但是走下臺階,他並不多談當今火紅的Container、微服務等技術。反倒當提及他觀察日本演講臺下聽眾反應的經驗,或是他比較各國語言發音、腔調差異此類文化議題時,Douglas Crockford才會眼睛一亮地開啟話匣子。

不同於一般研討會常見的技術議題,現在任職PayPal的Douglas Crockford,今年在臺灣Modern Web大會上,全球首度在公開場合剖析打字機的歷史,並批評現今QWERTY鍵盤配置不合時宜的設計。這個題目看似跟網頁技術沒有任何關聯,但是卻馬上引起下一位講者Ian Matthew Lewis的注意。

來自Google雲端平臺團隊的Ian Matthew Lewis,兼任日本PyCon大會的發起人,開場立刻向臺下開發者展示他在Twitter推文中的鍵盤照片,使用者可自由撰寫韌體,隨自己需要改變字母位置安排。Douglas Crockford的演講,格外引起Ian Matthew Lewis的共鳴。

醉翁之意不在酒,發明JSON資料交換格式的Douglas Crockford之所以深入研究打字機,到當今個人電腦鍵盤配置的演進史後,他指出,這樣錯誤設計一再地延用,受到諸多限制的使用者卻渾然不察。

雖然Douglas Crockford從鍵盤設計如此的小細節為出發點,但是大至系統架構設計,是否有諸多設計理念只是囿於過往的限制,而這些障礙現在已不復存在,相當值得開發者深思。

字母對科技產生極大影響

討論打字機的歷史,首先必須追溯到語言的起源。作為知識載體的語言,對於文明發展重要性不在話下,直至今日,人類仍是目前已知使用系統性語言溝通的唯一物種。「自從人類開始書寫,語言就開始變得有趣。」Douglas Crockford表示,最早出現的書寫系統是圖像,雖然人類可以利用它表達某些物品、意象,「但圖像很難表達抽象思想。」

語言發展至今,約有2,000種存在著具象文字,像是現今位居要角的英語,其字母系統源自於羅馬字母。更往前追溯,還可以發現其受到希臘、地中海腓尼基文明,以及古埃及文字的影響。「字母對科技發展產生驚人的影響」,他表示,文字的滲透範圍,從傳統媒介如電視、雜誌、報紙,到現今的數位媒體,無所不包。而文字的影響力,也隨活字印刷術、打字機,到現在網路載體,使資訊得以更快地傳播。

在1867年時,打字機之父Christopher Latham Sholes實作了首臺原形打字機,並且開創了打字機產業。不幸的是,許多原形機無法付諸大量生產,「因為他的產品不夠精確、可靠。」Christopher Latham Sholes只好把專利售出。接手其設計的雷明頓公司,透過自家打造槍械等精密機械的經驗,解決Christopher Latham Sholes打字機的設計缺陷。

QWERTY鍵盤配置已經沿用了150年

最初打字機鍵盤配置,就如同現今使用的QWERTY鍵盤,從最上排Q到最下排Z,鍵盤的每一排文字,依序往右偏移了1/4個格位,並非如棋盤格子的比鄰緊貼。

Douglas Crockford表示,如此交錯分布設計,起初是得解決打字機的機械問題。雖然起初Christopher Latham Sholes的鍵盤配置,是按照英文字母ABC的順序排列。但是如此設計,在使用者打字時,會導致打字機內的機械手臂(Type Arm)故障,讓Christopher Latham Sholes只好重新規畫字母的分布。

同時,最原始鍵盤的配置中,並沒有加入數字0與1,「因為小拇指並沒有足夠的力道去觸擊鍵盤」,但是為避免與英文字母中小寫o及l搞混,仍補齊了0與1,但卻沒有按照0至9的順序安排。

如此設計概念存活了150年,Douglas Crockford表示,過去限制鍵盤設計的條件以不復存在,但QWERTY鍵盤卻沿用至今,對打字速度、學習門檻都是障礙,「超過100多年來,我們都是使用錯誤的配置方式。」

錯誤的設計理念仍然出現在電傳打字機中

在發明從類比打字機械後,人類文明也開始出現電傳打字機(Teletype machine)的蹤影,使用者透過按壓鍵盤,將字母轉換為摩斯密碼等編碼系統,傳送至其他的電報打字機,「成為人類早期與電腦互動的方式。」

但是Douglas Crockford認為,就算進步到了電傳打字機,仍然可以見到過去打字機在它身上遺留下的蹤跡,像是QWERTY鍵盤配置,「原本有機會可以改變設計方向。」

而不同於機械打字機,電傳打字機開始加入了今日常用的Shift、Control、Tab及Esc等控制鍵。最原形的類比打字機中,打字員並無法輸入英文小寫,在電傳打字機中,使用者可以利用Shift鍵切換文字大小寫,或是配合Shift鍵及數字鍵,輸入括號、星號及井字號等文字。或是現今用於跳出某些系統程序、程式的Esc鍵,與過去的用途有相當差異,卻還是按照過往的名稱命名。

直到現今的個人電腦,或是上世紀70、80年代紅極一時Apple II、IBM PC,一如打字機演變到電傳打字機,依舊沒有改變鍵盤的配置,「為什麼我們仍然在使用如此配置?真是相當不合理。」Douglas Crockford說。

不滿QWERTY配置,JSON之父推出自己的鍵盤設計:Crockford Keyboard

對於QWERTY鍵盤設計大有意見的Douglas Crockford,自己在1980提出了嶄新的鍵盤配置:Crockford Keyboard,不僅按造英文字母ABC順序排列,也保留讓使用者自行定義鍵盤的彈性。在鍵盤的最左邊,Douglas Crockford借用了當今的Shift鍵作為切換大小寫之用途。這個鍵盤設計,也可以根據不同國家語言,提供在地化服務,像是針對歐洲市場,就包含了「Euro」鍵,使用者可以輸入當地的語言符號。Douglas Crockford笑著說,他相當希望有一臺筆記型電腦可以採取這樣的設計。

人類應該不停自我檢視,發現可改進的空間

現今人類文明都是以過去發展成果為基礎,不停地演進,「但有時候,我們新加上去的東西是錯誤的。」他認為,人類應該不停地自我審視,並且反問自己,是否有繼續改進的空間。Douglas Crockford也勉勵,身為剖析事物運作原理的工程師,每天都在思考如何組合系統元件等事,而「這些原理都是建立在過去的傳統之上。」

對於工程師來說,最主要的體力付出就是在鍵盤上輸入字母,而現今鍵盤配置,對於開發者執行打字程序會造成障礙。Ian Matthew Lewis秀出自己Twitter的鍵盤圖片中,上面並沒有任何嵌上任何既定的字母、符號配置,一切都可以按照使用者需求,隨時變更調整,才不會受限QWERTY不合時宜的配置設計。而Douglas Crockford為了改善輸入字母的效率,甚至還全新開發了自己專屬的鍵盤設計。這樣的精神,正是引起Ian Matthew Lewis共鳴的原因。

就如Douglas Crockfoard一再強調的觀念,傳統並非不可挑戰,過去某些適用的規則,隨時間演進,當時的技術限制、條件都不存在時,開發者應可試圖打破既定框架,「現在我們可以做得更好。」他說。

熱門新聞

Advertisement