iOS 在輸入內容時,連續輸入兩個空格,會成為一個句號。為什麼如此設計?

如果是中文輸入狀態,則會是中文句號「。」;如果是英文輸入狀態,則會輸入英文句號加一個空格「. 」。


這個問題,還涉及到另一個問題: 英文句號後是空一格還是空兩格? http://www.zhihu.com/question/19786521/answer/15547896

從視覺角度出發,早期打字機因工業原因需要使用等寬字體,導致需要使用2個空格進行視覺上的區分,提高排版的閱讀性,但到了電腦時代多為等比例字體,多餘的空格並不會增加太多閱讀性(目前主流就是1個空格)。很明顯iOS使用的是比例字體,導致沒有必要在句子後面空2格,當用戶嘗試輸入2個空格時,系統自動幫其第1個空格轉換為句號(第2個空格依然是空格)。ps.其實我也覺得這個理由較為牽強,請繼續看下面的理由

從交互角度出發,正如@Rio 所說,句號是英文書寫當中最常見的符號,當用戶在輸入完一個句子後再加上句號,按照現有iPhone的輸入面板的常規操作需要:切換到符號面板(圖1左) --&> 輸入句號 --&> 切換回字母面板(圖1右) --&> 繼續輸入之後的句子(注意此時繼續輸入的話,用戶還需要輸入一個空格)

圖1

常規操作需要用戶在多個鍵位之間進行切換,手指行程也較長,這還沒有算上用戶識別鍵位所花費的時間。當將以上幾步操作整合到二次點擊空格後,將為用戶極大的提高輸入效率。(二次空格在操作上無法顯性化,需要對用戶進行適當引導)

雖然兩次空格會有效的增加輸入效率,還是有人習慣在句號後輸入兩個或多個空格的,所以用戶可通過以下步驟關閉這個功能(圖2):設置 --&> 通知 --&> 鍵盤 --&> 句號快捷鍵 off

圖2 (不用詫異我用7種輸入法,輪著體驗嘛)

對於中文輸入用戶,兩次空格出現句號個人認為是iOS英文快捷方式的保留,但在一定程度上也方便了用戶輸入句號(好過用戶去切換到符號面板再輸入),但這並不是最優方案,國內許多輸入均已將中文常用符號單獨成鍵位了(圖3右)。ps. iPhone系統中文輸入面板空格左側的按鍵" "(圖3左),國內的輸入法往往會叫「分隔」,或者「分詞」,在iPhone里僅以一個符號出現,難免有些突兀,另外分詞功能也只是在輸入編碼後才出現,在這之前為什麼不做成逗號或句號等常用符號呢?貌似到iOS6這個鍵位依舊木有改進啊。

圖3

以上基本回答完了提問者的問題。
但還想再寫多一點,有願意閱讀的同學請繼續往下。

-------------------------------- 悲催的分割線 ------------------------------

接下來下面再胡亂寫一點iOS及其它系統輸入體驗相關的東西吧,主要集中在英文輸入模式下,大家湊合著看吧。

輸入體驗也是一個被大家平時不太注意的細節(尼瑪,為什麼又是細節,我和它杠上了啊),每天都在使用,能感覺得到,但偏偏又無法很明確的進行描述,這就是輸入體驗,輸入體驗的優劣往往決定了一款產品的好壞。

1. 今天你大了嗎?先從簡單的首字母自動大寫開始吧(以iOS為主要例子),這個設計主要出現在英文輸入模式,方便用戶將首字母進行大寫,並減少用戶擊鍵次數。當用戶初始進入輸入狀態時進入大寫模式(下方圖1左),另外,在用戶開始新的一句時也會進入大寫狀態(上面回答過的兩次空格後也會進入大寫模式,圖1右)。

圖1首字母自動大寫看起來簡單,但在設計交互邏輯上還是需要花點時間進行思考,舉個栗子,用戶輸入第1個大寫字元後,希望將它修改為小寫,你會怎樣進行設計呢?WebOS(別告訴我你不知道這個系統)的輸入首字母大寫,實現的方式和iOS是一樣的,但在對退格鍵的交互上它花了心思,兩個細節:

  1. 當用戶輸入第1個字母后,自動轉換為大寫(字母H,圖2左),輸完第1個字元後用戶按退格鍵,此時並不刪除字元,而是將大寫字母H轉換為小寫字母h(圖2中),再按退格鍵才會完全刪除這個字母。設計師判斷是因為WebOS的大寫模式造成了用戶的輸入無法達到預期,所以此時會將大寫字元轉換為小寫字元。
  2. 用戶輸入第1個字母后,大寫,再輸入其它字母均為小寫(例如輸入了Hap,圖2右),用戶不想要這個單詞了,退格第一次刪除p,退格第二次刪除a,退格第三次刪除H(此時H不會轉換為小寫的h)。此時設計師判斷用戶在多字元情況下一直退格是真心要將輸入結果刪除掉,所以在大寫字元處也不進行轉換了。

圖2

WebOS在不同情景下,執行的結果是不一樣的,這證明了設計師對細節的掌握,充分考慮了用戶使用場景。如果你是設計師,讓你用另一種設計方案來解決同樣的問題,你會怎麼樣思考呢?輸入效率會更高嗎?

2. 聰明的輸入,輸入字元自動修正,在英文模式里,這是個極其出色的設計,對於使用者來說能夠更專註於輸入的內容,而不需要擔心是否出現錯誤或其它降低輸入效率的行為,更有效的減少了用戶退格的使用行為(提高了正確率嘛),有興趣的可以看看這裡【為什麼輸入法工具優化的目標是減少人們按「backspace(退格)」鍵的次數?】http://www.zhihu.com/question/19723700/answer/15490152 自動修正其實是針對用戶輸入過程中的一項設計,所以除了精確的修改用戶輸入的內容外,最主要的是儘可能減少輸入過程中的干擾。

我們以iOS為例子(它的設計並不一定好哦,親),用戶輸入Messge(少字母a)iOS會出現修正提示(圖3左),此時用戶只需要輸入空格、return或點擊屏幕就能夠將修正結果上屏,如果用戶需要保留錯誤結果需要手動將自動修正關閉(到了蛋痛時間,自動修正的關閉icon很小,很難進行點擊操作,為什麼蘋果設計師不使用另一種方式進行關閉呢?),繼續進行輸入,此時系統將進行拼寫檢查,如有錯誤將會在相應單詞下出現紅色虛線(圖3中),用戶點擊紅色虛線的單詞將出現修改結果彈出框(圖3右),另外,用戶使用退格鍵退格到錯誤單詞時也會彈出修正結果彈出框(圖3中)。設計師針對英文輸入特點,有效的進行了設計(我還是不喜歡它的自動修正關閉的設計),針對不同的狀態,輸入錯誤時、單詞輸入完畢後、退格至錯誤單詞... 均給出修正結果以提高用戶輸入效率。

圖3

我們再來看一下Android 4.1的例子,Android系統中英文輸入採取與iOS不同的處理方式,在鍵盤上方出現一條類似中文輸入的Candidate(候選)區域,我們俗稱Cand區,用戶在輸入過程中Cand區呈現不同的候選結果,為用戶提供更多的輸入結果選擇,Android的首選詞位於Cand區的中間,用戶可直接空格將首選上屏(中文輸入用戶熟悉吧 ^_^),左側是用戶實際輸入的字元,右側是另一個候選。

注意下圖當中各種不同輸入狀態細節的變化,用戶輸入「Didnt」(圖4 Step1),輸入字元下方出現藍色較粗下劃線,這意味著用戶當前輸入的這個片語有修正結果,並在Cand區首先位置顯示,此時用戶輸入空格將把「Didnt」修正為「Didn"t」(圖4 Step2),繼續輸入「Didnt」,輸入字元下文出現黑色細下劃線(圖4 Step3),這代表著用戶輸入的是正常範圍內的單詞(別介意,例子中添加過自定義單詞),此時Cand區第1個候選結果是另一個修正結果,輸入完「Didnt」後,系統會進行拼寫檢查,發現是這一個錯誤在之前輸入字元下方出現紅色下劃線進行標示(圖4 Step4),用戶通過點擊錯誤單詞查看修正結果(圖4 Step5)。另外,長按Cand區中央候選詞將出現更多的修正結果(圖5右)。

圖4

圖5

看完了iOS和Android兩個系統的自動修正案例,從設計上我個人更傾向於Android,Cand區域的設計以及通過不同顏色的下劃線(可能會有少許的視覺干擾,但與實際效果比較是可以接受的)標示出相應的輸入狀態,讓用戶能夠準確的判斷出當前的狀態,黑色下劃線表示「親愛的,一切正常,繼續輸入吧」,藍色表示「哥們,我給了你個靠譜的修正結果,放心按空格吧」,紅色表示「擦,能靠譜點嘛,出錯了」。ps.也可能是因為我自己就是中文用戶,已經習慣了Cand區這樣的設計,所以會有一些主觀上的傾向。

另外,中文輸入法其實也可以針對漢字的輸入碼進行智能修正,這樣能夠確保用戶進行正確有效的輸入。

3. 輸入場景的變化,不同的輸入面板,讓我們再來聊一聊輸入場景吧!「哎喲,輸入個東西不就是敲字嘛,哪還來的什麼場景啊。」,親~ 讓我們看一看下面圖6中的幾個鍵盤吧。

最左邊是處於備忘錄中的鍵盤面板,中間和右邊是處於瀏覽器中的鍵盤面板(還有許多其它面板就不一一羅列了),瀏覽器地址欄中,系統輸入面板中原本是空格的位置根據地址欄的特性被拆分了三個獨立的按鍵,"dot"、"slash"、".com",並且通過長按「.com」鍵盤可以選擇其它後綴可選(圖6右)。可能會有同學說,為什麼沒有"http://"或者"www"按鍵呢?這涉及到以後想講的一個話題,關於輸入區域的容錯性,在這裡就不延伸了。從這樣的設計理念中當可以看到,當用戶切換使用場景時,相應輸入面板也會跟隨著改變,以方便用戶進行更高效的輸入操作,這也是觸屏時代所具有的特性。ps.在這裡也介紹一下百度手機輸入Android版擁有多達14個輸入面板,盡一切可能方便用戶進行輸入. 傳送門:http://shouji.baidu.com/input/

圖6

4. 條條大路通羅馬,多樣化的輸入方式,在這裡要向大家介紹一下關於iOS各鍵位的設計細節(當然,這裡就不寫太細了,點到為至吧,長文寫得我腦疼 -_-")。

Shift的用法,看官先想一想如果你們在自己的手機上輸入大寫字母你會採取哪種方式呢?
先來看看iOS里幾種輸入大寫字母的方式:1. 首字母自動大寫,位於句首的字母會自動進行大寫。2. 點擊一次Shift輸入一個大寫字母,然後再恢復為小寫狀態。3. 雙擊Shift鍵,進入大寫模式,再點擊一次Shift鍵盤返回正常狀態。 4. 按住Shift鍵,同時輸入相應字母。

這種設計並非蘋果蛋痛,而是每種輸入方式都有其相應的目的,我們來分析一下這幾種方式,方式1,基於英文書寫習慣,系統自動為用戶進行首字母大寫。方式2,這種方式方便了用戶臨時性輸入單個大寫字母。方式3,標準的模式切換,進入大寫狀態,這是為了進行大寫長文本輸入的模式。方式4,此方式是延續用戶在PC上的使用習慣,並允許用戶臨時輸入大寫較長文本。ps.你可以在英文輸入面板,按住Shift鍵,再按住字母"O"鍵盤,鍵盤一個奇怪的字元,輸入到文本區域。對比一下你不按住Shift鍵,輸入相同的字元...

iOS 5.x系統原生中文輸入時,空格鍵盤是對候選詞進行選擇,確認鍵是將候選上屏(但在未選擇候選詞之前確認鍵是將輸入的編碼上屏),這種方式與我們傳統的輸入習慣不符(我們習慣空格將首選詞上屏),在這裡爆一個獨家小技巧,如果你希望的中文候選詞就在第一位,你進行 Shift+空格鍵 操作,這樣就可以將第一個候選詞上屏了,絕對獨家哦~~ ps. iOS 6同學請無視吧!

再來看另外一個例子,用戶在iOS輸入符號,如感嘆號!、問號?、或者$@等符號時常規流程是怎麼樣的?在輸入面板中點擊左下角的符號鍵,進入符號面板(可以看分割線以上的圖1,非本篇的圖1),選擇所需要的符號,再點擊左下角的英文鍵,返回英文輸入面板。

用戶在iOS里輸入一個符號平均需要3步,但這裡有另外一種「捷徑」,用戶點擊輸入面板左下角的符號鍵(手指不要離開屏幕),面板切換到了符號面板,手指滑動到希望輸入的符號上,面板自動返回到原來的英文輸入面板。這樣的設計,有效的為用戶節約了點擊次數,並能夠快速的返回原來面板繼續之前的輸入,這樣的設計同樣也有弊端,不足夠顯性化,也沒有適當的引導,造成大量的用戶輸入符號時還是需要進行3步操作。

最後,再說一個小細節吧,這其實並不算是輸入行為,當用戶在輸入區域進行了輸入操作,晃動一下手機,將出現一個「撤銷鍵入」的dialog窗口,如圖

圖7

有機會再寫一寫關於輸入區域的一些設計吧,也挺有意思的!
碼字長太,您也看得辛苦了,順手來個贊吧!親

OVER


這個設計原本是為了提高英文輸入速度的。如果空格算是標點符號的話,句號是空格之後英文里第二常見的符號。手工輸入句號需要切換鍵盤,這樣大大降低了速度。句末連擊兩次空格換成句號避免了這個問題。可以這麼理解這個快捷方式:一個空格區分單詞,兩個空格區分句子,因為句子是比單詞更高一級的單位。

中文狀態下是否還應該保留這個設計就值得商榷了,因為中文裡面空格並不常用。不過……一是蘋果並不怎麼在意非英文輸入法好不好用,二是英文有這個設計就直接延用過來比較一致。


根據我認識的美國人反映,他們的早期傳統教育里規定,打字時句號後是要加兩個空格的。這樣可以加長句間視覺距離,以方便閱讀。至今還有一些人保留了這一習慣。所以我認為這種設計可能是借鑒了這個用法,但是這只是我的猜測。

太神了,我前兩天還在想這個問題。有機會可以找軟體那邊的設計師問問。


個人覺得是,英文書寫標準是句號後面必須空出一個格子然後再繼續,對於手機輸入就是點句號再點空格,蘋果故意做成兩個空格正好可以減少用戶手指移動。(當然蘋果選擇連續點兩個句號也可以,不過為何蘋果選了2個空格就不知道了。)


黑莓貌似也有這樣的設計 估計是國外的習慣什麼的吧 因為現在使用的手機大都是國外來的 不是按照國內本土的情況設計的吧


推薦閱讀:

屏幕虛擬鍵盤鍵位之間為何都有空隙,原因是什麼?僅為了擬物?
有什麼輸入法適合經常需要輸入生僻字的人?
在 macOS, Windows, iOS 和 Android 上如何方便地打出帶聲調的拼音?
如何從頭開始編一個拼音輸入法?

TAG:iOS | 輸入法 | 交互設計 |