開始和停止
·立刻開始
有一種說法是人們最多花費1或者2分鐘來評價一個新的app。當你立刻呈現有用的內容來充分利用這段短暫的時光的時候,你激起了新用戶的興趣并給予用戶一種優秀的體驗。
重點:不要告訴人們在安裝完你的app之后要重啟設備。重啟會花費時間并且讓你的app看起來不可靠和不好用。如果你的app有內存使用問題或者其它問題使它很難運行,除非系統剛剛啟動才行,那么你需要解決這些問題。如果要尋求開發良好品質的app的指導,請參閱iOS app編程指導中的高效使用內存。
盡可能地避免展示一個色塊屏幕或者啟動界面。如果用戶能夠直接使用你的app,這是最好的。
避免要求人們去提供安裝信息。相反:
·聚焦于你的80%用戶的需求。當你這樣做的時候,大多數人將不用不得不提供設置信息,因為app已經被設置好來以他們希望的方式來運行。如果有功能只有一小部分用戶可能想要---或者大部分用戶不想要---那就忽略它。
·從其他源獲得盡可能多的信息。如果你能使用任何人們在內置app或者設備設置里提供的信息,向系統詢問這些值。不要要求人們再次輸入。
·如果你必須請求安裝信息,鼓勵人們在你的app中輸入。接著,盡可能快地存儲這些信息(潛在地,在你app的設置中)。通過這種方式,在人們能夠有機會使用欣賞你的app之前不用被強制轉換到設置界面。如果人們稍后需要修改這些信息,他們可以在任何時間在app的設置中修改。
·盡可能長地延遲一個登錄要求。當用戶能夠不用登錄就導航到你的app中的大部分內容并且使用它的功能的一部分,這是最好的。舉例來說,App Store不會要求用戶登錄知道他們絕對購買東西。用戶經常拋棄在他們能做一些有用的事情之前就強制他們登錄的app。
如果必須要求用戶登錄,在登錄視圖中展示一個簡潔,友好的解釋來告訴用戶這么做得原因,以及他們能從中收獲何種好處。
·在提供新手引導之前慎重考慮。(新手引導介紹了一個app的特點并解釋如何進行常見的任務。)在你考慮新手引導之前,盡可能地嘗試去改善你app的設計因此它的所有特點和任務是很容易被使用并且被發現的。引導并不是一個app良好設計的替代。如果你仍然感覺引導很重要,遵循這些原則來創建一個簡明的,目的性強的不會妨礙用戶的體驗:
·僅僅提供用戶開始所需要的信息。一個優秀的引導體驗向用戶展示首先要做的事或者簡明地描述一些大多數用戶都感興趣的特征。如果你在用戶有機會探索你的app之前就提供太多信息,你就使用戶有責任去記住他們現在不需要的細節,你甚至可能在傳達一種你的app很難使用的信息。如果一些特定的任務需要額外的引導,那就僅僅當用戶在執行這些任務時候提供引導。
·使用動畫和交互來激起用戶的興趣并且幫助他們從實踐中收獲。謹慎地添加文本,只有當它能夠豐富體驗的時候才添加;不要期待用戶會去閱讀很長的文章。舉例來說,當你能使用動畫來向用戶展示能做什么的時候就不要去描述如何執行一個簡單的任務。為了引導用戶完成更復雜的任務,你可能添加一個短暫的覆蓋視圖,對用戶將要做的每一步簡明地描述。盡可能地避免展示你app的全屏截圖,因為它們不能交互,并且它們和app的UI可能會使用戶產生迷惑。
·使退出或跳過新手引導很容易。在用戶瀏覽過新手引導之后,他們一般不想再看一遍;其它用戶可能壓根就不想看。確保記住用戶做出的選擇,不要在他們每次打開app的時候都強迫他們做選擇。
·避免經常請求用戶去對你的app評級。頻繁地請求你的用戶去為你的app評分傾向于惹惱用戶還可能會你收到的用戶反饋的數量。為了鼓勵充分考慮的反饋,在你請求他們對你的app評分之前確保給用戶一個機會來形成對你的app的意見。舉例來說,你可能得等待直到用戶已經觀看了一小部分不同的屏幕或者完成了一小部分任務。
·通常來說,以設備當前的定向加載。然而,如果你的app僅僅在一個定向運行,你應該經常以那個定向加載,如果有必要,讓用戶旋轉設備。舉例來說,如果一個游戲或者媒體瀏覽軟件僅僅在水平定向運行,那么以水平定向加載是很合適的,甚至設備當前是垂直定向。這樣的話,如果用戶在設備垂直的話啟動了app,他們直到旋轉到水平來瀏覽內容。
注意:當一個只能水平運行的app支持水平定向的兩種變體這是最好的。如果設備已經是水平定向,那么app應該以當前的變體加載。否則的話,app應該以Home鍵在右邊這種變體加載。(要想了解更多關于支持不同的設備定向的信息,請參閱 適配和布局 。)
·展示一個加載文件或者圖片。iOS展示一個加載圖片在你app啟動的時刻---給用戶一種你的app啟動很快地印象,并且也給你的app足夠的時間來加載內容。在 加載圖片 中學習如何制作一個加載文件或者圖片。
·如果可能的話,避免要求用戶在能夠做任何事之前去閱讀一個聲明或者同意終端用戶許可證。相反,你可以在App Store展示你的聲明或者EULA,因此人們能夠在獲得你的app之前對它進行授權。如果你必須在你的app內部提供這些事物,確保以一種和你的UI相一致的方式來集成它們,并且在商業需求和用戶體驗需求之間做到平衡。
·當你的app重新啟動的時候,儲存它的狀態,這樣的話用戶就能夠在他們離開的地方繼續。人們不應該不得不記住他們先前采取的步驟來達到在你的app中以前的位置。想學習更多關于存儲和恢復你的app狀態的高效方法,請參閱iOS app編程指導中的 在所有加載中保存你的app中的可視化外觀。
·無時無刻做好準備停止
一個iOSapp從來不擺放一個關閉或者退出選項。人們停止使用一個app當他們轉換到其它的app,返回主界面,讓他們的設備進入休眠狀態(鎖屏?)的時候。
當人們從你的app離開,iOS多任務處理會把它過渡到后臺,并用新打開app的UI來取代它的UI。為了應對這種情況,你的app應該:
·以比較合理的頻度盡可能地儲存用戶數據。一定要這樣做因為后臺的app會在任何時候被告知退出或者終止。
·可能的話,停止時候在細節的最精確地程度保存當前狀態。這樣的話,人們不會失去他們先前的環境當再切換回你的app的時候。舉例來說,如果你的app展示滾動信息,保存當前滾動的位置。你可以在iOS app編程指導中的 在所有加載中保存你的app中的可視化外觀 學習更多關于保存和恢復你app狀態的高效方法。
一些app可能需要在后臺繼續保持運行當用戶在前臺使用另一個app的時候。舉例來說,用戶可能想要繼續聽在一個app播放的歌當他們正在使用一個不同的app來檢查他們的To-Do列表或者玩一個游戲的時候。學習如何正確優雅地處理多任務,請參閱多任務處理。
·永遠不要程序上退出一個app。人們傾向于把這個解釋為程序崩潰。如果有一些事阻止了你的app如所希望的功能運行,你需要告訴用戶情況并且向他們解釋他們可以怎么對待這個情況。這里有兩個這樣做的例子:
·如果app的所有特征都無法得到,展示一個屏幕來描述這個情況并建議一個解決方法。這種信息會給予用戶反饋,并向他們確保你的app并沒有什么問題。這也讓用戶獲得控制權,讓他們自己決定他們是否想要采取改正措施繼續使用你的app或者切換到其它app。
·如果只有一些app 的特征是不可訪問的,當用戶使用這些特征的時候要么展示一個屏幕要么顯示一個警告。否則,人們應該能夠使用app的剩余部分。如果你決定使用一個警告,確保當用戶試圖訪問那些不能正常工作的特征的時候顯示它。
ps:總感覺features 翻譯為特征不太合適,但是找不到合適的替換的詞。這篇也好長啊?。。∮终业絺€更加實用的 app PRogramming guide for ios?。?!
新聞熱點
疑難解答