為日漸成熟的Android設計

發表於2013-05-24

英文原文:Designing For A Maturing Android ,編譯:騰訊ISUX

為日漸成熟的Android設計

Nielsen最近的研究資料表明,Android系統的裝置已經在數量上超過iOS系統了,所以並不難看出Android市場的繁榮正如日中天:有4.8億的使用者正在使用Android裝置,每天有100萬個新的裝置被啟用。這意味著,每三個星期,新啟用的Android裝置數幾乎等於整個澳大利亞的人口數。

為了適應Android市場的快速增長,知名的App也以越來越快的步伐釋出Android系統版本,例如Instagram的Android版本僅僅在10天之內就獲得了4000的下載安裝。儘管這個平臺的擴張空前地快速,但絕大部分的App質量並不盡如人意。在Google Play很少有像在iTunes Store一樣多高質量的App,部分的原因可能是由於Android在過去幾年中快速度過其青春期,而導致混亂和不穩定,於是很多設計師為了避免這種混亂而傾向於選擇iOS平臺。

當然很多系統的問題被誇大其詞,其中一些Android的問題在新版本中已經不復存在,針對仍然存在的一些問題,本文提供了一些解決方案,同時也為將要開始設計偉大的Android應用的你提供一些建議。

第一部分:青春期症狀

許多App的表現不如預期是因為平臺的不成熟。即使Android擁有一個強大的實驗場所——為製造商和開發者提供了非常自由和開放的環境去創造他們想要創造的App或功能,但並沒有很多人願意在一個如沙盒(Sandbox)的環境下來工作。不過如今,這個沙盒已經逐漸成長為可以承載偉大設計的基礎了。接下來的一些例子將為你展示Android如何從青春期變得成熟:

  •   Google自己的App缺乏一致性

並不是很久以前,幾乎所有Google家自己的Android App幾乎每個看起來都不太一樣:

為日漸成熟的Android設計為日漸成熟的Android設計

上圖分別是Google在2010年五月設計的Action bar模式建議,但在Android2.3版本中的Gallery(相簿)應用就忽視了這種設計標準;最下方是在2011年重新設計的該應用Action Bar,不難看到Google自己花了一年多的時間才開始遵循自己的設計指引。

  • 在Android開發社群中,缺乏以使用者為中心的設計理念

由於自身缺乏一致性,Google並沒有給開發者樹立一個正確榜樣,正是因為這種缺乏一致性的設計指導和模式標準,導致了平臺上使用者體驗較差。好的設計是以人為本的,它利用技術幫人們達成他們的目標。Google並不像另一個極端Apple一樣,在最開始反覆和開發者強調使用者體驗的重要性

  •  在不同裝置以及不同的系統版本之間,有著明顯的一致性體驗差異

硬體製造商往往定製自己的系統UI和硬體按鈕,這就造成了裝置的碎片化,使得測試和質量控制非常困難,在不同裝置上設計一致體驗的App變得幾乎不可能。

為日漸成熟的Android設計

上圖可以看到在不同的裝置上,連Home鍵按鈕的位置全都不一樣。在這個快速增長和不斷變化的市場中,對獨立開發者來說很難正確的測試應用程式。因此,大多數的應用在真實的使用情景下並不像原先被設計的一樣好用,或者乾脆缺乏好的設計體驗。這些應用仍然在市面上,但不意味著我們也要做這樣的應用,Android已經在很多方面得到了改善,足以支援你為廣大使用者設計一個有一致性體驗的App。

第二部分:Android正在變得成熟

Android今天的使用者體驗比以往任何時候都更加強大,這使得App開發者和設計師更容易做出好的應用。當然一些早期問題仍然存在,但大部分問題變得更易處理,有些已經被完全解決了。其中一個很重要的遺留問題是Android市場上仍然很缺乏偉大的App,但是在一個高速成長的系統平臺上,設計師和開發者會很願意去嘗試解決這些問題。

以下幾點是一個日漸成熟Android系統為大家提供的:

  • 更好的應用搜尋

早期的應被搜尋被關鍵字所限制,並且會直接呈現所有搜尋結果;新版的Google應用商店提供了功能分類和員工推薦,從而提升了發現應用的途徑。如下圖所示,新的應用商店提供了更多發現最新最酷應用的方式。

為日漸成熟的Android設計

  • 適當的Android設計指引

之前,Google並沒有為每個應用必須的基本元素提供一些指導方向。自從建立了設計指引,就為應用的設計師和開發者提供了小的設計決策的判斷依據,於是乎我們終於可以專注於創造App的價值,並確保在不同裝置上的一致性體驗,下圖是一個網格設計列表例項中的設計指引節選

為日漸成熟的Android設計

  • 去除了選單和搜尋硬體按鈕

Google開始去除了裝置上的硬體按鈕,使整個硬體和軟體以更加優雅和便捷的方式被使用。為日漸成熟的Android設計

上圖是Google的Nexus 4手機,已經去除了搜尋按鈕和選單按鈕。當然各式各樣的Android裝置仍然尋在,例如LG還在生產擁有選單鍵的手機,但在某種程度上這種多樣性也是為什麼Android應用程式能夠脫穎而出的主要原因。

  • 碎片化並不全是壞事

碎片化也許是Android遺留問題中對設計師和開發者的最大挑戰,但這一點也構建了Android的DNA,成為平臺體驗永恆的一部分。這種多樣性為設計人員提供了契機去使App獲得在全球範圍內儘可能多的使用者數量。學會適應這個碎片化的環境也會使你成為一個更好的設計師或開發者,因為你會需要更加廣泛的知識和更加高超的技術技巧。所以比起可能獲得的成功來說,這是一個值得追求的挑戰。下面的部分將重點介紹如何做可以使你的App獲得更大的成功。

第三部分:建立成功Android App的小貼士

  •  認識Android

要了解Android,應該先知道如何使用Android系統,並且瞭解這個系統的使用者。最好的方法也許就是買一些不同產家、不同螢幕尺寸甚至不同系統版本的裝置來體驗。這不僅會幫助你認識使用者的多樣性,也可以更好的測試你的App。為你的App選擇最佳的支援裝置,可從Google獲取最新的統計資料,選擇一個符合你要求的裝置。另外,一些獨立報告,如 OpenSignal’s August 2012 report也能夠幫助你進行裝置選擇。

要記住的是,Android系統的更新是由服務提供商控制的,所以,如Google家的Nexus系列就能夠更早獲得最新的系統版本。於是,擁有一臺最新的Nexus裝置往往可以讓你最先體驗平臺的最新發布版本。你也可以通過購買二手裝置來節約成本,但要在購買前確保它能夠執行你需要的Android版本(許多舊裝置的系統不支援更新)。

  • 遵循設計指引

遵循設計指引將幫助你建立一個感覺更加像“原裝”的應用,當然這僅僅是值得這麼做的其中一個原因。設計指引還可以幫助你得到以下好處:

  1. 便於App適應於幾乎任何裝置
  2. 使應用程式使用起來更Android
  3. 提供使用者熟悉習慣的UI
  4. 使App開發過程更加容易
  5. 增加應用程式在Google Play市場獲得推薦的機會

遵循Android的導航模式,使用平臺原生的導航元素同樣能夠有利於建立一個跨多終端一致的體驗。

為日漸成熟的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系統的外觀風格和感覺。

為日漸成熟的Android設計

還有一個區分你的App的好辦法是通過它的圖示。與iOS不同,Android的程式圖示可以採用任何形狀或是形式,使用者喜愛漂亮特別的圖示,甚至會因此很樂意在不常用到的情況下將你的程式圖示放置在首屏上。更多的圖示設計指引,參照Icongraphy。下圖是一些圖示的例子。

為日漸成熟的Android設計

  • 為不同的裝置設計

當設計App的時候,首先要確保它能夠在大部分的裝置上正常的執行。記住,不僅要適用於不同的螢幕尺寸和螢幕方向,也要注意適用於低亮度的螢幕或者是對比度較差的螢幕,以及速度慢的低配置機器。比如一些便宜的機型只有低解析度的並且對比度較低的螢幕,這時過小的文字很難被清晰的顯示,過大的文字又會顯示不下。這時就要避免低對比度的文字和視覺元素傷害使用者體驗。以下就是一個自適應不同螢幕尺寸文字顯示的設計例子。為日漸成熟的Android設計

還有一些事情可能要注意:

  1. 使用對比較強的文字和元素顏色,比如在重要的元素上避免使用白色或者淺灰色,因為可能在較差的螢幕上會看不見。
  2. 在不同亮度的環境下,不同的螢幕亮度(低亮度、高亮度、自動亮度)設定下檢查設計稿。
  3. 即使在使用標準尺寸的時候,要確認文字和UI元素在小螢幕或低解析度螢幕上的顯示足夠大;你可以單獨為這些螢幕設定特殊的文字或視覺元素顯示尺寸。

為多樣性設計的一個很好的案例,詳見Sebastian de With 講述the Alarm App創作過程的文章。

  • 使用Density-independent(解析度自適應)定義佈局

確保UI元素在不同解析度的Android裝置上看起來差不多大小是提供一致性體驗裡很重要的一部分。這看起來是一件非常費力的任務,其實大可不必通過複雜的畫素運算來得出每個按鈕或字型在每個特定的螢幕上如何顯示,可以讓裝置幫你處理這個問題。如下圖所示,是一個標準的圖示在不同解析度裝置上的顯示效果:官方推薦的按鈕尺寸是48畫素,在從低到高的4個不同解析度級別下系統自動處理了顯示效果。為日漸成熟的Android設計

通過Density-independent pixels (DPs)的方式定義尺寸,你需要確保在每個螢幕上顯示的視覺元素的物理尺寸一致。詳細的設定方式,請查閱Use Density-Independent Pixels。下圖是實際使用中被證明很好用的一個各視覺元素的尺寸設定建議。

為日漸成熟的Android設計

  • 為不同的解析度設計

為了在幾乎所有的Android裝置上顯示清晰,需要滿足四個解析度:低解析度(LDPI),中解析度(MDPI),高解析度(HDPI)和超高解析度(XHDPI)。一般從640×960螢幕解析度開始,然後縮小以適應其他解析度螢幕,如下圖所示。為日漸成熟的Android設計

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設計

Android使用者非常喜歡定製他們的裝置使其看起來個性化,所以這些元件或是牆紙就會給使用者很大的彈性空間來做這些事情。

  • 測試你所支援的裝置

在應用商店中最為常見的負面評價莫過於在某些承諾的機型上App不能正常執行。所以確保你的程式能夠正常執行在最為流行的目標裝置上,並且只在你測試過的機型上釋出App。否則,就有可能會造成部分使用者失望,甚至給予差評。

  • 同時為平板裝置設計

儘管Android的平板電腦並不如他的競爭對手iPad火爆和流行,但是如果你的目標就是做一個真正跨多終端的Android應用,那就必須同時考慮Android平板了。官方設計指引為平板的UI和介面提供了多窗格佈局(Multi-pane Layouts)的設計指引,以滿足碎片化裝置的統一化體驗。平板和手機一樣使用同樣的圖形庫,但需要特別考慮平板使用的情景。比如說,相比於手機,人們通常把平板舉得離自己眼睛更遠,並且輸入並沒有那麼精確。所以平板的UI需要更大的字型,更大的按鈕和更多的留白。當然,最後別忘了通過平板應用的質量檢查表(Tablet App Quality Checklist)測試一下你的應用。

綜上所述,也許可以給Android一個機會!為Android設計在一開始看起來似乎充滿挑戰,但是通過以上這些方法和建議,將為一個出色使用者體驗的真正偉大的應用取得一個良好的開端。所以為這個日漸成熟同時新興的平臺做設計是一件有趣和不斷學習的過程,在這個尋找建立偉大App的過程中你也許會掌握一系列的新技術,並發現很有價值的經驗。最後,帶來一些激發靈感的很不錯的Android App:

相關文章