2007 - iPhone:觸控革命與智慧型手機的誕生#
案件摘要#
2007 年 1 月 9 日,Steve Jobs 在 Macworld 發表 iPhone,宣告「三項革命性產品」合一:寬螢幕觸控 iPod、革命性手機、突破性上網裝置。此案偵破的真相是:手機的未來不在按鍵,而在「一塊玻璃」——多點觸控螢幕加上真正的行動作業系統。
前因 -- 為什麼會有這個案子#
- iPod 的成功(2001–2007):Apple 靠 iPod + iTunes 證明自己能統合「硬體 + 軟體 + 服務」,累積了現金與信心;但 iPod 是單功能裝置,手機普及後「何必多帶一台」成為威脅。
- Nokia 功能機的霸權:2006 年 Nokia 佔全球手機市場約 35%,Symbian 系統以通話為中心、用 T9 實體鍵盤輸入,軟體生態封閉且碎片化。
- Palm 與黑莓(BlackBerry):Palm Pilot 開創 PDA 與手寫辨識(Graffiti),黑莓以全鍵盤 + 推播郵件征服商務人士——證明「掌上運算」有需求,但都困在「鍵盤思維」。
- 技術成熟度:電容式觸控、小型 ARM 處理器、鋰電池、行動通訊(2G/2.5G)在同時期到位,只欠一個整合者。
線索與推理 -- 數學式、程式、理論#
三大發明#
Jobs 稱 iPhone 具備三大革命: 1. 多點觸控(Multi-Touch):捨棄觸控筆與實體鍵盤,直接以手指操作。技術源頭可追溯至 FingerWorks 的手勢專利與 Jeff Han 的多點觸控研究。 2. 寬螢幕 UI:3.5 吋 320×480 全螢幕介面,以「內容即介面」取代按鈕堆疊。 3. 行動 OS X:跑在 ARM 上、裁剪自 Mac OS X 的 Unix 級作業系統(Darwin 核心),這是它與「功能機韌體」的根本差異。
觸控手勢的語言#
iPhone 定義了一套至今通用的人機介面詞彙:tap(點選)、double-tap(縮放)、swipe(滑動換頁)、pinch(雙指捏合縮放)、long-press(長按)。以數學描述,捏合縮放的比例因子為兩指距離之比值:
其中 \(d_0\) 是觸控開始時兩指距離, \(d_t\) 是當前距離; \(\theta\) 可同時用於雙指旋轉。
Python:觸控座標與手勢判別#
以下示範如何從一串觸控事件座標判別手勢型態(簡化的狀態機):
import math
def classify_gesture(touches):
"""touches: [(t, x, y), ...] 依時間排序的單指觸控序列"""
if not touches:
return "none"
duration = touches[-1][0] - touches[0][0]
path = sum(
math.hypot(touches[i][1] - touches[i-1][1],
touches[i][2] - touches[i-1][2])
for i in range(1, len(touches))
)
if len(touches) == 1 or (duration < 0.2 and path < 10):
return "tap"
if duration < 0.3 and abs(touches[-1][2] - touches[0][2]) < 10 and path > 30:
return "swipe"
if duration >= 0.5 and path < 10:
return "long-press"
return "drag"
def pinch_scale(p0, p1):
"""p0, p1: 開始與結束時的 [(x1,y1),(x2,y2)] 兩指座標"""
d0 = math.hypot(p0[1][0]-p0[0][0], p0[1][1]-p0[0][1])
d1 = math.hypot(p1[1][0]-p1[0][0], p1[1][1]-p1[0][1])
return d1 / d0 if d0 > 0 else 1.0
print(classify_gesture([(0.0, 100, 200), (0.1, 101, 201)])) # tap
print(classify_gesture([(0.0, 100, 400), (0.25, 102, 250)])) # swipe
print(classify_gesture([(0.0, 100, 200), (0.6, 101, 202)])) # long-press
print(round(pinch_scale([(50,300),(150,300)], [(25,300),(175,300)]), 2)) # 1.6
ARM 晶片與行動 SoC#
iPhone 1 代採用 Samsung S5L8900(ARM1176JZF-S 核心,約 412 MHz),整合 CPU、GPU(PowerVR MBX)、記憶體控制器於單晶片(SoC)。ARM 的 RISC 設計以「每瓦效能」取勝——其能效比可粗略表示為:
降低電壓 \(V\) 對功耗是平方級的改善,這正是行動裝置選擇 ARM 而非 x86 的數學理由。(2010 年起 Apple 自研 A 系列 SoC,延續此路線。)
App Store(2008)與應用生態#
iPhone 初期只有內建 App 與 Web App;2008 年 7 月 App Store 上線,以 SDK + 審核 + 70/30 分成模式創造雙邊市場。開發者數與應用數相互增強,形成網路效應:
\(n\) 為應用(或用戶)數量,價值隨平方成長——這是 Nokia Symbian 碎片化生態被擊潰的結構性原因。
結案 -- 後果與影響#
- Nokia 衰亡:2007 年 Nokia 市值約 1,100 億美元,2013 年手機部門賣給微軟;霸主十年內消失。
- 智慧型手機取代 PC:2014 年起全球行動上網流量超越桌面;2016 年智慧型手機出貨量遠超 PC,PC 產業進入長期衰退。
- 典範轉移:介面從「檔案與視窗」轉為「觸控與 App」;軟體發行從「光碟安裝」轉為「商店下載」;運算從「桌面中心」轉為「口袋中心」。
- 深遠影響:行動 SoC 軍備競賽(A 系列、Snapdragon)奠定日後 AI 手機的算力基礎;觸控手勢語言成為所有裝置(平板、車機、錶)的標準介面;App 經濟規模至 2020s 已達每年數千億美元。
關鍵人物與文獻#
- Steve Jobs:2007-01-09 Macworld 主題演講(「An iPod, a phone, and an Internet communicator」)。
- Scott Forstall:iPhone 軟體負責人,行動 OS X 與 iOS SDK 的推手。
- Tony Fadell:iPod 之父、iPhone 硬體專案(後創 Nest)。
- Jeff Han:NYU 多點觸控展示(2006,TED 演講);FingerWorks:手勢專利來源(2005 年被 Apple 收購)。
- 文獻:Isaacson, Steve Jobs (2011);Fadell, Build (2022);Apple "iPhone" 發表會影片(Apple 官方存檔)。