有了新的iOS 11之後,iPad不再只是「打零工」的角色了/Justin Searls
一般來說,在工作上對電腦要求最高的人,莫過於程式設計師;而如果一位程式設計師對他的電腦很滿意,常用的形容詞不外乎「很強大」、「功能很多」、或是「很容易改裝成自已要的規格」等等。
這類的形容方式,往往讓我們覺得,功能越多越強的電腦,就能帶來更多的產能;但筆者個人的經驗是,雖然「功能是產能的前提」沒錯,但兩者之間並沒有絕對的正向關係。
舉例來說,如果同一件事情可以用十幾種方法來做,可能帶來的並不是更高的效率,而是時間上的浪費;如果某個app的功能多到幾乎什麼都能做,到後來可能反而會偏離最主要的設計目的。
每多一個額外的設定功能,就等於是為整個系統加上了一個「if-else」的條件分支,讓開發者必須花更多時間測試,而消耗掉了原本用來開發主要功能的時間,也拖慢了創新的速度。
每一位知識工作者,在創作的過程中都必須留心這兩者之間的平衡;而每一種軟體工具的操作介面,則是試圖創造這種平衡的實踐。
編按:關於Office系列的設計與「產能」之間的關係,請參閱葉光釗先生的〈從Office精簡版的血淚,看軟體功能的「長尾理論」〉一文。
https://tuna.press/?p=1678
我擁有幾乎每一款iPhone,但並沒有特別去慶祝iPhone的10歲生日。雖然iPhone在無數方面改變了我的生活,但它最大的長期影響,其實是減弱了我的反省和創造能力;例如我會開始對「無所事事」感到不自在,所以一空閒下來就開始看網路新聞。對我來說,手機變成了一種不斷更新內容的制約工具,甚至改變了大腦分泌多巴胺來創造滿足感的方式。
有時候好不容易開始集中精神作事,但馬上就會跳出一個通知訊息,又硬生生破壞了原本就很難收拾的注意力。對這個從2007年問世以來,就佔據我們心神的工具,如果我們沒有更深入的理解,就很難繼續討論關於「產能」的問題。
有一段時間,我以為用桌上電腦來專心工作,就可以逃離這種令人分心的狀態,但Apple(很貼心的)又把通知訊息功能放在電腦上。雖然我們可以選擇把這些通知訊息關掉,但根本的問題在於「隨身帶著iPhone」這件事情,已經徹底改變了我的生活和思考方式。
以下是一個不良範例:桌上型電腦的多視窗介面,原本是提升人們產能的關鍵發明之一;我們理論上一次可以看到兩份文件、並且在文件之間拖放內容,所以用更少的時間就可以做更多事。
但在iPhone時代之後,這一點就很難說了;當螢幕上出現了一塊沒有被視窗佔據的空間,我們可能會反射性的打開社群軟體,來填滿那個空間(和頭腦),然後半個鐘頭就莫名其妙的混過去了,什麼正事也沒做。
跟很多人一樣,筆者在過去幾年之中陸續買了很多台iPad;雖然每次都自己找理由說「這次應該不一樣吧」,但總是沒辦法讓我用它來做些「真正的工作」。不過現在要跟隆重的跟各位報告的是,這次真的成功了。
過去四個星期以來,我只用新的10.5吋iPad Pro來工作,而且做了比平常還多的重要事情(包括寫程式在內)。最令人擔心的可能結果是,先前花大把鈔票買的Mac電腦,以後會被放著養蚊子。
這篇文章會有點長,因為我要說的,不只是iPad如何解決了相對簡單的「工具」問題,也解決了更深一層的「心理」問題。要清楚區別哪些問題出在工具、哪些問題出在思考過程,其實並不容易;因為這兩者會互相傳遞資訊、進而互相影響。
所以,要列出最近用過哪些軟體、以及介紹它們為什麼很棒,是很簡單的事情(稍後會提到);但我想先提供一些心態轉變的經驗,或許讓您也反思一下自己經歷的過程。
狀況總覽
您或許會想先知道的是,我現在在使用的app有哪些、以及它們能幫忙做哪些事;那麼,以下就是我每天長時間使用的軟體列表:
我的工作
我的工具是「整組」的Apple設備:10.5吋iPad Pro、AirPod藍牙耳機、Apple Pencil觸控筆、以及Smart Keyboard護蓋鍵盤。
https://www.instagram.com/p/BUxZAXMlsWs/?taken-by=searls
新的10.5吋iPad是很棒的硬體;螢幕即使在陽光直射之下,顯示效果也非常好,操作介面的反應速度至少和高階MacBook Pro相當。它的重量非常輕,相較於其他高階平板電腦都毫不遜色。
我每天都用iPad寫好幾個小時的程式,而且現在比用Mac來寫還快。一些原本相當麻煩的工作,現在都可以透過「Workflow」這個最近被Apple收購的app,做到某種程度的自動化;所以最近只要碰到一些比較複雜的工作,我都會盡量用自動化流程來處理。
在閱讀文章、或視需要動腦筋的場合,就把鍵盤拆下,找個舒服的坐姿,然後改用觸控筆來操作;對我個人來說,這個動作就已經給了腦子很大的幫助,比坐在辦公桌前盯著螢幕看一整天好太多了。
我個人偏好使用Apple的各種「官方app」,因為使用擁有共通設計和運作哲學的行事曆、電子郵件、提醒事項、備忘錄,可以讓Siri語音助理、跨設備操作、以及iCloud雲端服務之間的互動更加順暢。這些app當然都算不上完美,但其他廠商出品的app很難擁有這樣流暢的高度整合。
除了寫程式之外,我也負責一些管理工作,所以除了上述這些官方app、以及iWork系列之外,經常使用的還有Zoom、Expensify、Pipedrive、MindNode、Nebo、Paper、還有Slack。
為什麼用iPad似乎比較好
如同前面所說的,我對自己在使用「多視窗桌面系統」時容易分心這件事很頭大,所以每個app都會佔據整個螢幕的工作介面、以及「勿打擾」模式兩者的組合,可以很有效的抑制自己一直去看電子郵件、Slack、以及社群網站的衝動。
我出門旅行時帶的東西通常很少,只要一個中小型19公升背包和不到5公斤的東西,就可以雲遊好幾個星期;所以0.5公斤的iPad比1公斤的MacBook更有吸引力,至於2公斤以上的15吋MacBook Pro就更不用提了。
https://www.instagram.com/p/BROPE86lYUY/?taken-by=searls
許多我不太喜歡的單頁式web app網站,都有還不錯的相同功能iPad app;所以與其罵他們網站上的JavaScript寫得有多爛,不如直接用更直覺明瞭的iOS app原生介面。
過去15年來,我一直是不很專業的Unix系統文字介面使用者。每次需要搜尋一些東西、或是搬移一大段程式碼時,還是會跳回熟悉的視窗圖形介面;因為可以輕鬆切換到Atom或Gitx之類的工具,所以不需要操心怎麼使用Unix命令列工具。但因為在iPad上,我必須100%使用命令列工具,所以反而省下了設定圖形介面工具的時間。
使用狀況
令我鬆了一口氣的是,iOS的大部分操作現在都可以透過鍵盤來進行(從iOS 9之後就可以,iOS有些改進;iOS 11則做得更好);在觸控操作反而比較奇怪的場合,用鍵盤操作會順手許多。
有一點令人預期不到的,是在macOS和iOS之間轉換的那種「摩擦」,在iPad和iPhone之間完全沒有了;因為兩邊的介面幾乎完全一樣,所以我不再需要把時間花在重新適應上。
新款的iPad Pro,是首先支援透過USB Type-C介面進行快速充電的機種;我先前的第一代2015年iPad Pro,即使在使用80W輸出的USB充電器時,充電速度還是不怎麼快,但新款則可以在密集使用的同時,在90分鐘內從7%充到57%。
一些基礎知識
建議用1Blocker來把廣告、追蹤程式碼、以及可能令人分心的網站擋掉。好幾次我想要分心去看Twitter的時候,都是被1Blocker有效阻止的。
我關掉了幾乎所有app的通知訊息,甚至不讓電子郵件和Slack顯示未讀訊息數目。因為在切換app的過程中,如果看到圖像上面的小紅圈數字,就可能會打斷正要做的事情去看信。
有些單一用途的工具軟體是我不可或缺的,包括Mail to Self、PiPifier、AnyFont、以及Deliveries等等;好用的純文字編輯工具也很多,但我個人偏好的是Bear、Byword、以及Editorial。
前面提到的Workflow除了可以將iOS流程自動化之外,還可以透過SSH連線執行一些程序、解析執行結果、並且進行指定的下一步動作;在被原有的工具困擾多年之後,現在我擁有一套幾乎全自動的客戶關係管理(CRM)系統跟催功能。
目前還是測試版的iOS 11應該會是一個很棒的版本,但建議先不要拿來做日常工作,等到它再穩定一點比較好。雖然它新增了很多觸控操作手勢,但如果你主要是透過外接鍵盤來操作,這部份就不是那麼重要了。
在iPad上寫程式?真的可以嗎?
其實還不太行。因為iPad目前還沒有提供任何操作底層Unix部分的途徑,而且任何嘗試想做這件事的app,都會被拒絕上架。其實,iPad Pro的效能也足以執行在ARM處理器上的虛擬機器,但目前也還沒有這類工具上市;或許是因為對這方面的用途來說,4GB記憶體還不太夠用。
所以,就上述的幾個問題來看,要在iPad上寫程式似乎還有點難。
但你可以考慮跟過去多年來的許多程式設計師一樣,透過終端機程式連線來操作遠端主機;除了Linode或Droplet之類的雲端工具之外,我在家裡還有一部平常不關機的iMac,可以透過區域網路、或是從外面連線回去使用。現在,在世界各地、甚至在飛機上上網,都比從前容易得多,遠端連線也不太是個問題了。
從前我做這類連線作業的工具是Panic公司出的Prompt,但後來發現它不太適合工作使用,因為一來它只支援有時不太穩定的SSH連線,而且每次在iOS上將它轉到幕後執行時就會斷線,必須反覆重新連線;二來如果外接鍵盤是沒有Esc鍵的小型款式(即使符合Apple的MFi認證),它也無法設定按鍵來對應到Esc鍵。這樣一來,像是Vim之類的終端機編輯程式就等於完全沒用了。
此外,我還用了mosh。mosh的功能和用途都類似SSH,但連線穩定得多;它是透過UDP來傳輸資料、而且延遲時間極短。我用Blink終端機工具來跟家裡的iMac連線,效果比Prompt更好;在Blink上,可以用鍵盤上的大寫鎖定鍵(Caps Lock)來對應Esc鍵,讓在iOS上結束幕後作業不再那麼困難。
Blink並不完美,但因為mosh是以GPL開放原始碼授權,所以就別要求太多;我的重點在於維持穩定的連線、送出正確的按鍵指令,然後繼續做其他的事,而Blink和mosh正是達成這個要求的理想組合。
以上就是我一整天在iPad上使用的各種工具。對我來說,這些正是iOS簡潔精緻的特性與Unix強大命令列功能的絕佳組合。
少一點方便、多一點產能
現在,讓我來反省一下過去的使用經驗。
從前,我不會想花腦筋讓Mac上的作業自動化,因為很多動作都可以靠「暴力」手動完成;如果過去14年來,我都可以在5秒鐘之內剪貼一個網址、並且切換到瀏覽器去打開,而且一天很順手的做十幾次同樣的動作,大概就不會想去用別的方式讓這個過程自動化。
但在iPad上就是另外一回事了。以同樣的「剪貼網址來打開」動作來說,在iOS上說不定比在Mac上還順手;但問題是,雖然這類常見動作可以說是iOS的強項,但如果是不那麼常見的動作,現在要在iOS上做就很痛苦了。
舉例來說,像是將網頁存成PDF格式、放進特定的檔案夾中,然後用一個Markdown格式的檔案來寫註解,就相當的不順手,讓我想要找個辦法來將這個流程自動化。在Mac上,我就不太會想這麼做;一方面是因為Mac上的AppleScript或Automator沒有Workflow那麼方便,而且由於macOS的介面已經十分成熟,所以與其另外花時間想辦法做自動化,不如直接把事情一下子做完就好了。
前面說了一些轉換到iPad上工作、以及自己找出解決方案的心路歷程;無論這個結果是不是剛好跟Apple用行銷手法精心塑造出來的一樣,但對於Apple來說,如果在使用iPad時碰到什麼問題,最好的解決方案就是「更多的app」,如果找不到剛好適用的,那就不妨自己寫一個。
但問題在於,過去七年以來iOS相對封閉的「沙盒化」本質,已經讓不少開發者吃到苦頭。雖然在2008到2013年之間已經有很多app上架,但iOS本身的重重限制,讓許多進階用戶所需要的功能無法出現在app中。
在iOS上,如果某個功能無法很流暢的完成,Apple的慣例是寧可對它完全無視,也不會讓它以「半生不熟」的樣子出現在用戶面前。雖然對於一般用戶來說,這樣的原則其實是好事,因為這樣可以讓iOS app的整體品質比電腦版軟體更理想;然而,這樣也使得進階用戶對功能的需求無法完全得到滿足。
Apple「即使犧牲進階用戶,也要設下門檻」的作法,跟微軟在「iPhone時代」之後(至少是在「無用但算是大膽嘗試的」Windows RT之後)的策略完全不同;微軟的作法是,開發者想怎麼玩就怎麼玩。但在花了一個月嘗試接受Surface Pro 4之後,我發現它在傳統桌面和更現代的平板介面之間,有著很多的障礙和摩擦。
時至今日,還有許多開發者覺得iPad只是玩具,至於會用iPad來「工作」的人,不外乎在放假時收收信、看看檔案而已;而Apple確實也花了八年時間,才終於推出讓高階用戶也能用來工作的系統版本。iOS歷經九次改版,才終於把硬體鍵盤支援弄好。雖然iPad已經不是新東西,但作為「可能的電腦替代品」,則是才剛剛開始的事情而已。
從iOS 8問世之後,其中許多具有巧思、而且其實相當安全的「跨app溝通管道」,相當有助於開發者製作出針對客製用途、而且摩擦更少的整合與自動化功能,但可惜的是,真正運用到這些改進的app還不太多。事實上,現在已經幾乎沒有什麼流程是系統動作、客製URL網址結構、文件資源、以及(iOS 11之後)拖放功能的組合做不到的了。
雖然我們可能會用這些例子來證明,Apple確實一直在改進iOS,因為「一般電腦上都有,iOS也應該要有」,所以一旦iOS有了這些功能,似乎就可以躋身「工作用平板」之中了。
不過這樣的比較標準其實是很浮面的。讓我們用電腦版瀏覽器的外掛工具來舉例:開發商之所以能寫出外掛工具,是因為瀏覽器開放了一些程式介面讓他們運用;如果沒有開放這些權限,從瀏覽器的角度來說,開發者就只能「任意寫一堆JavaScript在網頁DOM中亂搞,只要不偷使用者的密碼就好」。
Apple在這裡的角色,就跟瀏覽器一樣;要決定提供多少、哪些權限或介面延伸動作讓開發者在自動化流程中使用,是一件煞費苦心的事情。
決定開放多少權限,會從根本上影響系統的行為;因為這些app和延伸程式,在運作過程中必定會產生一些與輸出入內容相關的描述資料,而iOS在解讀這些資料之後,會讓使用者和app之間的互動更聰明;而最令我覺得有趣的,是諸如資料類型合約(data type contract)之類的限制,雖然有些人會覺得麻煩,但對於流程的自動化設計其實反而是有些幫助的。
或者換個例子,就是macOS開發者都很熟悉的「分岔」狀況:設計師可以使用系統原生的操作介面(好處是可以整合運用語音輸出或快捷鍵之類的系統功能)、或是以Electron之類的網頁工具來打造介面;後者當然限制相對比較少,但也很容易成為其他人難以理解的「黑箱」。
在耗費多年的奠基工作陸續完成之後,Apple終於讓iOS 11在功能上得以和電腦版系統並駕齊驅。雖然我對於iPad上新出現的Dock程式列不是那麼感興趣,但希望這些改變可以引起更多用戶和開發者的注意。這些針對開發者提供的新功能和新設計,如果沒有人實際去使用,那就太可惜了。
對了,One more thing……
除了前面提過的「分心影響產能」之外,iPhone推出之後對我個人還有一項重大的影響:我對別人不再那麼友善、有耐心,性格也變得比較負面和尖刻;此外,每天到最後都會有被榨乾的感覺,往往需要花幾個小時才能放鬆。不過,我並沒有指望將工作機從Mac換成iPad之後,在這些方面就會有所改善。
然而,它確實改善了這個狀況。
過去這個月之中,我感覺到自己變得比較友善、比較快樂、壓力也沒那麼大了;當然,在我能真的把這件事情歸功給轉換到iPad上工作之前,還需要再多觀察一段時間。雖然還沒辦法具體證明,但即使是以開發者的身分來看,我都相信有些看不見的改變正在進行之中、也相信Apple多年以來希望將iPad打造成桌機替代方案的努力,已經快要看到結果。
說不定,哪一天我們會忽然看到iPad直接跳過「剛好可以用來做事」的階段,成為一部能提供更好、更完整工作體驗的隨身電腦。
對於一部「太大台的iPod Touch」來說,能做到這樣是還蠻不錯的。