前一篇:iOS 8人機交互指南(3)
4. 啟動與停止(Starting and Stopping)
4.1 立即啟動(Start Instantly)
It’s often said that people spend no more than a minute or two evaluating a new app. When you make the most of this brief period by presenting useful content immediately, you pique the interest of new users and give all users a superior experience.
據(jù)說,人們評價一款新 app,用時不會超過1、2分鐘。當你充分利用這短暫的時間來立即展示有用內(nèi)容時,你就會吸引新用戶的興趣,同時帶給所有用戶較好的體驗。
IMPORTANT
Don’t tell people to reboot or restart their devices after installing your app. Restarting takes time and can make your app seem unreliable and hard to use.
If your app has memory-usage or other issues that make it difficult to run unless the system has just booted, you need to address those issues. For some guidance on developing a well-tuned app, see?Use Memory Efficiently.
注意:不要讓用戶在安裝 app 后重啟他們的設(shè)備。重啟花費時間,也使 app 看上去不可信賴、很難用。
如果 app 需要使用內(nèi)存或者不重啟系統(tǒng)就很難運行,那就需要明確說明這些事宜。關(guān)于開發(fā)一款調(diào)整好的 app 有一些指南,參見 Use Memory Efficiently。
As much as possible, avoid displaying a splash screen or other startup experience. It’s best when users can begin using your app immediately.
盡可能避免顯示啟動界面或其他啟動體驗。最好用戶能對 app 快速上手。
Avoid asking people to supply setup information.?Instead:
Focus on the needs of 80 percent of your users.?When you do this, most people won’t have to supply any settings, because the app is already set up to behave the way they expect. If there is functionality that only a few users might want—or that most users might want only once—leave it out.
Get as much information as possible from other sources.?If you can use any of the information people supply in built-in app or device settings, query the system for these values; don’t ask people to enter them again.
If you must ask for setup information, prompt people to enter it within your app.?Then, store this information as soon as possible (potentially, in your app’s settings). This way, people aren’t forced to switch to Settings before they get the chance to enjoy your app. If people need to make changes to this information later, they can go to the app’s settings at any time.
不要讓用戶提供設(shè)置信息。應該:
聚焦于 80% 的用戶的需求。這樣做的話,大部分人不必提供任何設(shè)置,因為 app 已經(jīng)按照他們的預期進行了設(shè)置。對那些極少數(shù)用戶可能需要的功能或者大部分用戶可能只需要一次的功能,就別理會了。
通過其他渠道獲取盡可能多的信息。如果可以復用用戶在內(nèi)置 app 或設(shè)備設(shè)置里提供的信息,那就向系統(tǒng)查詢這些數(shù)據(jù),不要再讓用戶輸入了。
如果必須詢問設(shè)置信息,提示人們在 app 內(nèi)輸入。然后盡快存儲這一信息(可能在 app 設(shè)置里)。這樣用戶在使用 app 前無需切換到設(shè)置界面。如果用戶需要稍后修改這些信息,他們可以隨時訪問 app 的設(shè)置。
Delay a login requirement for as long as possible.?It’s best when users can navigate through much of your app and use some of its functionality without logging in. For example, App Store doesn’t ask users to log in until they decide to buy something. Users often abandon apps that force them to log in before they can do anything useful.
If users must log in, display in the login view a brief, friendly explanation that describes the reasons for the requirement and how it benefits users.
盡量延后登錄需求。最好用戶不登錄就可以瀏覽 app 的大部分界面、使用部分功能。例如, App Store 不要求用戶登錄,除非他們決定購買東西。對那些強制要求登錄的 app,用戶通常什么都沒做就放棄了。
如果用戶必須登錄,那就在登錄界面顯示一個簡短、友好的解釋,說明必須登錄的理由以及對用戶有何好處。
Think carefully before providing an onboarding experience.?(Onboarding introduces an app’s features and explains how to perform common tasks.) Before you consider onboarding, make every effort to design your app so that all its features and tasks are intuitive and easily discoverable.?Onboarding is not a substitute for good app design. If you still feel that onboarding is necessary, follow these guidelines to create a brief, targeted experience that doesn’t get in the user’s way.
提供新手引導前要仔細思考。(新手引導介紹了 app 的功能,并解釋了如何完成常見任務(wù)。)在考慮新手引導之前,努力設(shè)計 app 使得所有功能和任務(wù)都可憑直覺使用、易于發(fā)現(xiàn)。新手引導不是好 app 設(shè)計的替代。如果你仍然感覺新手引導是必要的,那就遵循如下指南來創(chuàng)建一個簡短、目標明確的引導。
Give users only the information they need to get started.?A good onboarding experience shows users what to do first or briefly demonstrates a few of the features that most users are interested in. If you give too much information to users before they have a chance to explore your app, you make users responsible for remembering details they don't need right away and you may send the message that your app is hard to use. If additional help is needed for specific tasks, provide that help only when the user is performing those tasks.
Use animation and interactivity to engage users and help them learn by doing.?Add text sparingly and only if it enriches the experience; don’t expect users to read long passages. For example, don’t describe how to perform a simple task when you can use animation to show users what to do. To lead users through a more complex task, you might add transient overlay views that briefly describe each step as the user is about to do it. As much as possible, avoid displaying screenshots of your app because they’re not interactive and users can confuse them with app UI.
Make it easy to dismiss or skip the onboarding experience.?After users have viewed the onboarding experience, they probably don’t want to view it again; other users may not want to view it at all. Be sure to remember the choice users make and don’t force them to make it every time they open your app.
只給用戶開始使用 app 必要的信息。一個好的新手引導展示給用戶首先需要做的、或者簡短演示大部分用戶都感興趣的一些功能。如果在用戶使用 app 前提供太多信息,會讓用戶覺得有必要立即記住那些他們不需要的細節(jié),而且顯得 app 很難用。如果特殊任務(wù)需要額外幫助,那么在用戶進行這些任務(wù)時再提供。
使用動畫和交互來鼓勵用戶、幫助他們學會使用。只在確實必要時,加入少量文字;不要期待用戶會讀長篇大論。例如,當可以使用動畫來為用戶展示如何進行一個簡單任務(wù)時,不要文字描述。為了引導用戶完成一個更復雜的任務(wù),可以增加臨時覆蓋視圖來簡短描述用戶將要操作的每一步。盡可能避免顯示 app 的屏幕截圖,因為它們不具可交互性,用戶也會感到迷惑。
讓跳過新手引導很容易。當用戶看過新手引導后,他們很可能不想再看一遍;其他用戶也根本不想看。確保記住用戶的選擇,不要迫使他們每次打開 app 時都要操作一次新手引導。
Avoid asking users to rate your app too soon.?Asking for a rating too soon tends to annoy users and may decrease the amount of useful feedback you receive. To encourage well-considered feedback, be sure to give users a chance to form an opinion about your app before you ask them to rate it. For example, you might wait until users have visited a minimum number of different screens or performed a minimum number of tasks.
In general, launch in the device’s current orientation.?However, if your app runs in?only?one orientation, you should always launch in that orientation and let users rotate the device if necessary. For example, if a game or media-viewing app runs in landscape only, it’s appropriate to launch the app in landscape, even when the device is currently in portrait. This way, if people start the app while the device is in portrait, they know to rotate the device to landscape to view the content.
不要過早讓用戶給 app 打分。過早要求打分會讓用戶覺得很煩,從而減少收到的有用反饋總量。為了鼓勵經(jīng)過良好思考過的反饋,一定要給用戶機會在被要求打分前對 app 形成一個完整認識。例如,可以等到用戶已經(jīng)訪問過一些不同的界面或者完成了一些任務(wù)之后再要求評分。
通常,會按照設(shè)備當前的方向進行啟動。然而,如果 app 只在某一個方向上運行,那就應該始終在該方向啟動,如有必要,提醒用戶旋轉(zhuǎn)設(shè)備。例如,如果一個游戲或者可視多媒體只在橫屏運行,那橫屏時啟動 app 比較合適,即使當前設(shè)備為豎屏。這樣,如果用戶在設(shè)備豎屏時啟動 app,他們也知道要旋轉(zhuǎn)設(shè)備到橫屏下來查看內(nèi)容。
NOTE
It’s best when a landscape-only app supports both variants of landscape orientation—that is, with the Home button on the right or on the left. If the device is already in landscape, a landscape-only app should launch in that variant, unless there’s a very good reason not to. Otherwise, launch a landscape-only app in the variant with the Home button on the right. (To learn more about supporting different device orientations, see?Adaptivity and Layout.)
注意:一個只能橫屏顯示的 app 最好能支持橫屏方向的所有變種,即 Home 按鈕在右側(cè)和左側(cè)兩種情況。如果設(shè)備已經(jīng)是橫屏,那么只能橫屏顯示的 app 應該就在當前的變種下顯示,除非有其他更好的理由不這樣。否則,在 Home 按鈕在右側(cè)這一情況下運行只能橫屏顯示的 app。(為了更多了解支持不同設(shè)備方向的問題,詳見?Adaptivity and Layout)
Provide a launch file or image.?iOS displays a launch image the moment your app starts—giving users the impression that your app is fast and giving your app enough time to load content. Learn how to create a launch file or image in?Launch Images.
提供啟動文件或圖片。iOS 在 app 開始的一瞬間顯示啟動圖片,給用戶一種 app 啟動很快的感覺,給 app 足夠的時間來加載內(nèi)容。在?Launch Images?學習如何創(chuàng)建啟動文件或圖片。
If possible, avoid requiring users to read a disclaimer or agree to an end-user license agreement before they can do anything else.?Instead, you can let the App Store display your disclaimer or end-user license agreement (EULA) so that people can access it before they get your app. If you must provide these items within your app, be sure to integrate them in a way that harmonizes with your UI and balances business requirements with user experience needs.
When your app restarts, restore its state so users can continue where they left off.?People shouldn’t have to remember the steps they took to reach their previous location in your app. To learn more about efficient ways to preserve and restore your app’s state, see?Preserving Your App’s Visual Appearance Across Launches.
如有可能,不要要求用戶在還沒做任何事情之前就閱讀一份免責聲明或者同意一份終端用戶許可證協(xié)議。開發(fā)者可以讓 App Store 顯示免責聲明或者終端用戶許可證協(xié)議,這樣用戶可以在獲取 app 前訪問它。如果必須在 app 中提供這些條目,那就確保以一種與 app UI 和諧的方式集成它們,并且平衡商業(yè)需求與用戶體驗需要。
當 app 重啟后,要恢復它之前的狀態(tài),使得用戶可以在他們離開的地方繼續(xù)。人們不必記住他們之前在 app 操作的步驟和位置。關(guān)于高效保存恢復 app 狀態(tài)的方法,可以參見Preserving Your App’s Visual Appearance Across Launches。
4.2 隨時準備停止(Always Be Prepared to Stop)
An iOS app never displays a Close or Quit option.?People stop using an app when they switch to another app, return to the Home screen, or put their devices in sleep mode.
When people switch away from your app, iOS multitasking transitions it to the background and replaces its UI with the UI of the new app. To prepare for this situation, your app should:
Save user data as soon as possible and as often as reasonable.?Do this because an app in the background can be told to exit or terminate at any time.
Save the current state when stopping at the finest level of detail possible.?In this way, people don’t lose their context when they switch back to your app. For example, if your app displays scrolling data, save the current scroll position. You can learn more about efficient ways to preserve and restore your app’s state in?Preserving Your App’s Visual Appearance Across Launches.
iOS app 從不顯示關(guān)閉或退出選項。當人們切換到其他 app、返回主屏幕或讓設(shè)備進入休眠模式時,就停止使用 app。
當人們切換離開 app 時,iOS 多任務(wù)切換它至后臺,開始顯示新 app 的交互。為這種情況做準備,需要:
按照合理的頻率盡量保存用戶數(shù)據(jù)。因為后臺的 app 隨時可以退出或終止。
停止時要保存當前狀態(tài),盡可能注意細節(jié)。這樣,人們不會在切換回 app 時丟失他們的上下文。例如,如果 app 顯示數(shù)據(jù)時有滾動條,那就保存當前滾動條的位置。了解高效保存和恢復 app 狀態(tài)的方法,可以參見?Preserving Your App’s Visual Appearance Across Launches。
Some apps may need to keep running in the background while users run another app in the foreground. For example, users might want to keep listening to the song that’s playing in one app while they’re using a different app to check their to-do list or play a game. Learn how to handle multitasking correctly and gracefully in?Multitasking.
Never quit an iOS app programmatically.?People tend to interpret this as a crash. If something prevents your app from functioning as intended, you need to tell users about the situation and explain what they can do about it. Here are two good ways to do this:
一些 app 可能需要在其他 app 在前臺運行時保持自己在后臺運行。例如,用戶可能想要在聽歌的同時使用另一個清單應用或者玩游戲。學習如何正確優(yōu)雅地處理多任務(wù)可以參見?Multitasking。
從程序的角度,永遠不要退出 iOS app。人們傾向于把這理解為崩潰。如果有東西阻止了 app 正常運行,那就需要告知用戶當前的情形,向他們解釋他們應該做何種處理。這里有兩個好方法:
If all app features are unavailable, display a screen that describes the situation and suggests a correction.?The information gives feedback to users and reassures them that there’s nothing wrong with your app. It also puts users in control, letting them decide whether they want to take corrective action and continue using your app or switch to another app.
如果 app 的所有功能都不可用,那就顯示一個界面來描述情形并給出正確建議。這一信息給予用戶反饋,并使用戶安心,了解到 app 并未出錯。這也使用戶掌控一切,讓他們可以決定是否采取正確的行動來繼續(xù)使用 app 還是切換到其他 app。
If only some app features are unavailable, display either a screen or an alert when people try to use the feature.?Otherwise, people should be able to use the rest of the app. If you decide to use an alert, be sure to display it?only?when people try to access the feature that isn’t functioning.
如果 app 的一些功能不可用,那在人們試圖使用不可用的功能時,要么顯示一個界面、要么顯示一個警告提示。否則,人們應該可以使用 app 的其他部分。如果決定使用警告提示,那要確保只在用戶試圖訪問不可用的功能時才顯示。
后一篇:iOS 8人機交互指南(5)