你所應該知道的Android設計
為了適應Android市場的快速增長,知名的App也以越來越快的步伐發布Android係統版本,例如Instagram的Android版本 僅僅在10天之內就獲得了1000萬的下載安裝。盡管這個平台的擴張空前地快速,但絕大部分的App質量並不盡如人意。在Google Play很少有像在iTunes Store一樣多高質量的App,部分的原因可能是由於Android在過去幾年中快速度過其青春期,而導致混亂和不穩定,於是很多設計師為了避免這種混亂而傾向於選擇iOS平台。
當然很多係統的問題被誇大其詞,其中一些Android的問題在新版本中已經不複存在,針對仍然存在的一些問題,本文提供了一些解決方案,同時也為將要開始設計偉大的Android應用的你提供一些建議。
第一部分:青春期症狀
許多App的表現不如預期是因為平台的不成熟。即使Android擁有一個強大的實驗場所——為製造商和開發者提供了非常自由和開放的環境去創造他們想要創造的App或功能,但並沒有很多人願意在一個如沙盒(Sandbox)的環境下來工作。不過如今,這個沙盒已經逐漸成長為可以承載偉大設計的基礎了。接下來的一些例子將為你展示Android如何從青春期變得成熟:
- Google自己的App缺乏一致性
並不是很久以前,幾乎所有Google家自己的Android App幾乎每個看起來都不太一樣:
上圖分別是Google在2010年五月設計的Action bar模式建議,但在Android2.3版本中的Gallery(相冊)應用就忽視了這種設計標準;最下方是在2011年重新設計的該應用Action Bar,不難看到Google自己花了一年多的時間才開始遵循自己的設計指引。
- 在Android開發社區中,缺乏以用戶為中心的設計理念
由於自身缺乏一致性,Google並沒有給開發者樹立一個正確榜樣,正是因為這種缺乏一致性的設計指導和模式標準,導致了平台上用戶體驗較差。好的 設計是以人為本的,它利用技術幫人們達成他們的目標。Google並不像另一個極端Apple一樣,在最開始反複和開發者強調用戶體驗的重要性。
- 在不同設備以及不同的係統版本之間,有著明顯的一致性體驗差異
硬件製造商往往定製自己的係統UI和硬件按鈕,這就造成了設備的碎片化,使得測試和質量控製非常困難,在不同設備上設計一致體驗的App變得幾乎不可能。
上圖可以看到在不同的設備上,連Home鍵按鈕的位置全都不一樣。在這個快速增長和不斷變化的市場中,對獨立開發者來說很難正確的測試應用程序。因 此,大多數的應用在真實的使用情景下並不像原先被設計的一樣好用,或者幹脆缺乏好的設計體驗。這些應用仍然在市麵上,但不意味著我們也要做這樣的應 用,Android已經在很多方麵得到了改善,足以支持你為廣大用戶設計一個有一致性體驗的App。
第二部分:Android正在變得成熟
Android今天的用戶體驗比以往任何時候都更加強大,這使得App開發者和設計師更容易做出好的應用。當然一些早期問題仍然存在,但大部分問題 變得更易處理,有些已經被完全解決了。其中一個很重要的遺留問題是Android市場上仍然很缺乏偉大的App,但是在一個高速成長的係統平台上,設計師 和開發者會很願意去嚐試解決這些問題。
以下幾點是一個日漸成熟Android係統為大家提供的:
- 更好的應用搜索
早期的應被搜索被關鍵字所限製,並且會直接呈現所有搜索結果;新版的Google應用商店提供了功能分類和員工推薦,從而提升了發現應用的途徑。如下圖所示,新的應用商店提供了更多發現最新最酷應用的方式。
- 適當的Android設計指引
之前,Google並沒有為每個應用必須的基本元素提供一些指導方向。自從創建了設計指引,就為應用的設計師和開發者提供了小的設計決策的判斷依據,於是乎我們終於可以專注於創造App的價值,並確保在不同設備上的一致性體驗,下圖是一個網格設計列表實例中的設計指引節選。
- 去除了菜單和搜索硬件按鈕
Google開始去除了設備上的硬件按鈕,使整個硬件和軟件以更加優雅和便捷的方式被使用。
上圖是Google的Nexus 4手機,已經去除了搜索按鈕和菜單按鈕。當然各式各樣的Android設備仍然尋在,例如LG還在生產擁有菜單鍵的手機,但在某種程度上這種多樣性也是為什麼Android應用程序能夠脫穎而出的主要原因。
- 碎片化並不全是壞事
碎片化也許是Android遺留問題中對設計師和開發者的最大挑戰,但這一點也構建了Android的DNA,成為平台體驗永恒的一部分。這種多樣性為設計人員提供了契機去使App獲得在全球範圍內盡可能多的用戶數量。學會適應這個碎片化的環境也會使你成為一個更好的設計師或開發者,因為你會需要更加廣泛的知識和更加高超的技術技巧。所以比起可能獲得的成功來說,這是一個值得追求的挑戰。下麵的部分將重點介紹如何做可以使你的App獲得更大的成功。
下一頁開始正式講述好的Android應該怎樣設計。
第三部分:創建成功Android App的小貼士
- 認識Android
要了解Android,應該先知道如何使用Android係統,並且了解這個係統的用戶。最好的方法也許就是買一些不同產家、不同屏幕尺寸甚至不同 係統版本的設備來體驗。這不僅會幫助你認識用戶的多樣性,也可以更好的測試你的App。為你的App選擇最佳的支持設備,可從Google獲取最新的統計 數據,選擇一個符合你要求的設備。另外,一些獨立報告,如 OpenSignal’s August 2012 report也能夠幫助你進行設備選擇。
要記住的是,Android係統的更新是由服務提供商控製的,所以,如Google家的Nexus係列就能夠更早獲得最新的係統版本。於是,擁有一 台最新的Nexus設備往往可以讓你最先體驗平台的最新發布版本。你也可以通過購買二手設備來節約成本,但要在購買前確保它能夠運行你需要的 Android版本(許多舊設備的係統不支持更新)。
- 遵循設計指引
遵循設計指引將幫助你創建一個感覺更加像“原裝”的應用,當然這僅僅是值得這麼做的其中一個原因。設計指引還可以幫助你得到以下好處:
- 便於App適應於幾乎任何設備
- 使應用程序使用起來更Android
- 提供用戶熟悉習慣的UI
- 使App開發過程更加容易
- 增加應用程序在Google Play市場獲得推薦的機會
遵循Android的導航模式,使用平台原生的導航元素同樣能夠有利於創建一個跨多終端一致的體驗。
上圖是聯係人列表在iOS和Android兩個係統的界麵。為了使用平台原生元素,將搜索和新建聯係人操作放置在了底部Action bar上,而不是像iOS中在上部。當然,在跨設備設計時,自定義App遇到的難度會更大,所幸有Google提供的新版設計指引,使得新係統的 Android App看起來和4.0版本前創建的應用大為不同。
- 理解Android的外觀和感覺
眾所周知Google在為了其所有的產品提供一個一致的視覺體驗上已經投入了非常多的努力,Android當然是其中之一,Android 4.0引入了自己的風格:簡單,平麵,幹淨(simple, plain, clean)——注重功能本身而不是形式感。
這雖然在一定程度上為開發者和設計師提供了更大的自由度,但同時還是要考慮到Android視覺風格的精妙之處:用更少來表達更多(saying more with less)。這說明了:簡單地從iOS係統複製樣式和元素也許不再好使。在發布一個使用舊風格或者包含其他平台特征的視覺元素的全新App的時候,可能會 造成用戶的反感或負麵效果——微軟就發生過這樣一個例子。瀏覽Android Niceties是掌握Android風格和找到靈感的好方法。下圖是Google的Search App,很好的體現了Android係統的外觀風格和感覺。
還有一個區分你的App的好辦法是通過它的圖標。與iOS不同,Android的程序圖標可以采用任何形狀或是形式,用戶喜愛漂亮特別的圖標,甚至會因此很樂意在不常用到的情況下將你的程序圖標放置在首屏上。更多的圖標設計指引,參照Icongraphy。下圖是一些圖標的例子。
- 為不同的設備設計
當設計App的時候,首先要確保它能夠在大部分的設備上正常的運行。記住,不僅要適用於不同的屏幕尺寸和屏幕方向,也要注意適用於低亮度的屏幕或者 是對比度較差的屏幕,以及速度慢的低配置機器。比如一些便宜的機型隻有低分辨率的並且對比度較低的屏幕,這時過小的文字很難被清晰的顯示,過大的文字又會 顯示不下。這時就要避免低對比度的文字和視覺元素傷害用戶體驗。以下就是一個自適應不同屏幕尺寸文字顯示的設計例子。
還有一些事情可能要注意:
- 使用對比較強的文字和元素顏色,比如在重要的元素上避免使用白色或者淺灰色,因為可能在較差的屏幕上會看不見。
- 在不同亮度的環境下,不同的屏幕亮度(低亮度、高亮度、自動亮度)設置下檢查設計稿。
- 即使在使用標準尺寸的時候,要確認文字和UI元素在小屏幕或低分辨率屏幕上的顯示足夠大;你可以單獨為這些屏幕設置特殊的文字或視覺元素顯示尺寸。
為多樣性設計的一個很好的案例,詳見Sebastian de With 講述the Alarm App創作過程的文章。
- 使用Density-independent(分辨率自適應)定義布局
確保UI元素在不同分辨率的Android設備上看起來差不多大小是提供一致性體驗裏很重要的一部分。這看起來是一件非常費力的任務,其實大可不必 通過複雜的像素運算來得出每個按鈕或字體在每個特定的屏幕上如何顯示,可以讓設備幫你處理這個問題。如下圖所示,是一個標準的圖標在不同分辨率設備上的顯 示效果:官方推薦的按鈕尺寸是48像素,在從低到高的4個不同分辨率級別下係統自動處理了顯示效果。
通過Density-independent pixels (DPs)的方式定義尺寸,你需要確保在每個屏幕上顯示的視覺元素的物理尺寸一致。詳細的設置方式,請查閱Use Density-Independent Pixels。下圖是實際使用中被證明很好用的一個各視覺元素的尺寸設置建議。
- 為不同的分辨率設計
為了在幾乎所有的Android設備上顯示清晰,需要滿足四個分辨率:低分辨率(LDPI),中分辨率(MDPI),高分辨率(hdpi)和超高分辨率(xhdpi)。一般從640×960屏幕分辨率開始,然後縮小以適應其他分辨率屏幕,如下圖所示。
MDPI和XHDPI的顯示分辨率與蘋果iPhone的普通屏和視網膜屏剛好一致。所以,如果你的App有iPhone版本,可以直接使用它的布局 排版,甚至可以簡單地在iPhone上測試設計效果。當然不要忘了Android特有的外觀和感覺。不可忽視的是,一個叫做XXHDPI的標準已經被添加 到下一代移動設備中作為支持,這些設備將有大約480 DPI的屏幕。盡管現在還不存在這樣的設備,但因為XXHDPI標準目前被使用在如今使用XHDPI的10 英寸平板設備的啟動圖標上,比如Nexus 10。所以也許需要在設計各視覺元素時提前做好準備將你的HDPI拓展至200%的XXHPI。
- 考慮不同的係統版本
許多Android設備將不能夠升級到最新的操作係統了,並且新的係統往往也需要很久的時間才能全麵占領市場。隨著設備的更新換代,用戶會逐漸不滿 足於過時的應用圖標和控件樣式。因此,需要盡可能提供最新的體驗,如果你打算支持應用程序運行在舊的平台,為這些設備創建一個單獨的版本。
- 為App提供拓展組件和壁紙
善於利用Android的一些特殊優勢,比如組件(widgets)、壁紙(live wallpapers)和消息通知(notifications)。組件可以讓用戶在不運行App的時候接收更新,消息推送則可以幫助提升版本更新的安裝 量。Google為設計師和開發者提供了各種方便通知用戶的方式。下圖是一些例子,上方是音樂播放器的快速組件,可以讓用戶方便地進行音樂播放最常用的操 作。下方是一個日曆應用的組件,讓用戶可以在首屏桌麵上快速滾動查看日程安排。
Android用戶非常喜歡定製他們的設備使其看起來個性化,所以這些組件或是牆紙就會給用戶很大的彈性空間來做這些事情。
- 測試你所支持的設備
在應用商店中最為常見的負麵評價莫過於在某些承諾的機型上App不能正常運行。所以確保你的程序能夠正常運行在最為流行的目標設備上,並且隻在你測試過的機型上發布App。否則,就有可能會造成部分用戶失望,甚至給予差評。
- 同時為平板設備設計
盡管Android的平板電腦並不如他的競爭對手iPad火爆和流行,但是如果你的目標就是做一個真正跨多終端的Android應用,那就必須同時考慮Android平板了。官方設計指引為平板的UI和界麵提供了多窗格布局(multi-pane layouts)的設計指引,以滿足碎片化設備的統一化體驗。平板和手機一樣使用同樣的圖形庫,但需要特別考慮平板使用的情景。比如說,相比於手機,人們 通常把平板舉得離自己眼睛更遠,並且輸入並沒有那麼精確。所以平板的UI需要更大的字體,更大的按鈕和更多的留白。當然,最後別忘了通過平板應用的質量檢查表(Tablet App Quality Checklist)測試一下你的應用。
綜上所述,也許可以給Android一個機會!為Android設計在一開始看起來似乎充滿挑戰,但是通過以上 這些方法和建議,將為一個出色用戶體驗的真正偉大的應用取得一個良好的開端。所以為這個日漸成熟同時新興的平台做設計是一件有趣和不斷學習的過程,在這個 尋找創建偉大App的過程中你也許會掌握一係列的新技術,並發現很有價值的經驗。最後,帶來一些激發靈感的很不錯的Android App
*文章翻譯自Designing For A Maturing Android
最後更新:2017-04-03 18:52:01