何為 Android Design,為什麼應用開發要遵循 Android Design?


在我看來Android design是符合Android系統的設計風格和交互方式的綜合,是為了幫助開發者更快更好的設計出最適合的UI和交互。Android不會強制你使用holo風格,不會強制使用drawer等交互方式,但這些在你沒有設計出更好的UI之前是最適合Android系統的。Android上鼓勵開發者使用創新的UI和交互,像非常漂亮的時鐘應用timely就很少holo風格,但UI和動畫效果讓這款應用大受用戶歡迎。反觀國內的那些簡單照搬iOS界面和交互的應用,左上角返回按鈕,那麼多大屏手機好按嗎?下面一排tab,Android大量使用觸摸鍵或虛擬鍵,不怕用戶按錯嗎?tab頁切換讓返回鍵形同虛設,用了QQ你永遠不能跳轉到先前應用或者一路返回鍵到桌面。這些國內應用照搬iOS的時候就沒考慮過Android特有的操作方式嗎?

Android design不會約束各種定製系統,MIUI、Flyme設計的像WP或者iOS都沒關係,只要用戶接受,但任何第三方ROM都不能也不可能影響第三方應用的UI,這就是為什麼MIUI擅自替換系統內置holo控制項,Flyme添加smartbar讓人痛恨的原因,開發者有權利決定自己應用的UI,而不是在不同的ROM里被改的面目全非。Android design的主要目的就是乾的這件事,確保所有Android分支都能讓第三方應用使用一樣的UI,不管你的ROM多個性、多複雜。三星、Sony、moto、HTC、lg等國外廠商都使用了定製Android,人家就沒敢改第三方應用UI,國內廠商怎麼這麼喜歡干這種奇葩的事情,莫非MIUI、Flyme覺得自己的用戶很多,全世界的開發者都會跟著他們改?

國內Android應用UI iOS化成風,國外也有很少,Google play上有100萬應用,中國的才多少,拿出去也不怕人家笑話。說到通處,又想拿奇葩的QQ說事了,尼瑪一個QQ消息在通知欄里竟然不能清除!!!天天那些垃圾QQ消息在通知欄跳個不停,你還必須打開QQ才行,可尼瑪QQ做的越來越大啊。不知道怎麼想的?


倒過來答。

解釋:空穴來風 出處及義辯:『子虛烏有』與『空穴來風』之義辨

Wikitionary 上沒有這個成語的解釋,所以直接用互動百科的連接吧。

自己在 Google 上搜索一下這個成語,排名在前面的結果都會告訴你,空穴來風是指消息和謠言的傳播不是完全沒有原因的。

Android Design 的官方解釋:Design | Android Developers (place for learning how to design exceptional Android apps.) (狹義)

Android Design 在各 Android 社區中以及開發者普遍的認知:Android 4.0 之後,Google 在 Android 平台上推行的,圍繞 Android Design 進行的設計風格。(廣義)

遵循 Android Design 的理由可以找出很多 (正如不遵循它的理由可以找出很多一般)。在這裡我只說一個:一致性。貼一篇 Android Design 締造者 Matias Duarte 的文章過來。男神論設計 —— 從雅虎天氣和果醬說開去

雅虎剛剛在 Android 平台上更新了他們那漂亮的天氣應用. 喜大普奔!

當然, 整個網路也沸騰了. 所以我也來叨嗑兩句…

因為我自己無可救藥的幼稚而理想主義, 我把這看作一次討論 Android 上的設計, 準則在其中扮演的角色, 設計的連貫性, 創新設計與用戶體驗一致性的博弈, 還有」品牌意識大戰平台意識」問題的極好機會.

所以, 發生了什麼大不了的事兒呢? 簡單來說就是: 雅虎做了一個極漂亮的應用. 不過也在某些程度上背離了 Android Design 的設計規則: Android Design.

那麼, 這到底是」為了創造自由, 將 Android 從俗套設計的霸權中解救的一次勇敢而無畏的嘗試」, 還是」一次令人膽寒的, 針對真正設計的暴力, 讓用戶覺得困惑, 並且加強了世人對於 Android 是個混亂的平台的印象」? 這完全取決於你到底站在什麼角度看待這個問題. 耶.

但是我並不想鑽牛角尖. 也許我可以提出一些關於什麼才是設計規約的目的和你應該如何向它靠攏的觀點.

也許有一天, 電腦可以為每一個用戶量身定製他們自己的專屬界面. 但是直到那一天到來之前, 設計師與開發者們依然要為怎樣向用戶展示他們作品的功能而做出艱難的抉擇. 的確, 有些看起來很簡單的選擇, 就像應該用哪一個圖標來代表「個人資料」, 而另一些選擇就顯得很複雜, 例如用什麼樣的速率衰減滾動速度, 或者什麼時候需要讓觸摸反饋延時一些以便於免讓用戶在不恰當的時間, 比如當他們試圖捲動的時候, 看到奇怪的亮光.

這些個艱難的抉擇, 不僅僅是因為問題本身就已經足夠複雜了, 而且還得要再乘上一個問題可能有很多有效的答案, 這麼一來難度係數再次飆升. 更加悲劇的是有些選擇看起來一樣有效但其實會以看不見的方式互相影響——有的選擇本身挺好的, 但是當你在設計時考慮其他選擇的時候就會發現他們成為了很大的麻煩.

這就是一致性所適用的情況. 它最重要的地方就是使用戶們能夠更簡單的理解和使用你開發的應用. 讓我們來舉一個日常化的例子: 假如你正在設計一個果醬罐的蓋子. 看起來, 你完全可以自由的進行創新對吧?我的意思是, 不論你把這個蓋子設計成純色的還是格子花紋的, 又矮又寬的還是又高又瘦的, 它們都會正常工作不是嗎? 所以, 你的主要注意力還是要放在如何讓這個蓋子體現出你的品牌商標, 是不是?

當然不是. 你會把你的蓋子設計成順時針擰開呢, 還是逆時針擰開? 僅僅就這個問題來看, 似乎是一個很隨便的問題嘛. 我是說, 無論你的蓋子該往哪邊旋轉, 最後他都能被打開不是么. 當然我們知道這可不是真相. 如果你把你的蓋子設計成需要順時針擰開的話, 你會讓所有人瘋掉, 因為所有人的期望都是, 蓋子應該是逆時針擰開的.

當然了, 這個問題只需用戶花一瞬間來適應. 我打賭, 在比扎羅世界的罐子用戶測試中, 所有人 (他們是人嗎?) 最終都會成功的打開這個罐子, 沒什麼大不了的對吧? 呵呵, 祝你們好運. 我希望現在我們都可以直觀的理解為什麼這看似瑣碎的細節是怎樣的令人抓狂了. 所以, 除非你對」感受銷售失敗帶來的挫折」比」美味的水果產品」更感興趣, 那麼順時針開罐子絕對是一個糟糕的決定.

你能想到一個約束蓋子的設計么? 一個標著」推」的蓋子會是怎樣的? 一個帶有錯誤方向箭頭標識的蓋子又會是怎麼樣的呢? 當然這些都是顯而易見的, 但是這之中存在的另一些更微妙的東西呢? 就像蓋子上的圖形無意中暗示了錯誤的開啟方向. 當然, 在現實生活中, 你就可以不用面對這些事情, 因為習慣的力量是如此之大, 幾乎所有的人都會試著從逆時針方向開啟罐頭的蓋子. 這說明, 連貫性和一致性的力量有多麼的強大.

但是為什麼不能順時針開罐子呢?

是啊, 為什麼不能呢?

讓我們來想像一個國家, 在那裡所有人都是從相反的方向擰罐子的. 這完全有可能發生——就像我們不能贊成全世界都在路同一個方向開車 (左右駕的問題) 一樣, 當這事兒變成罐頭蓋子的時候, 就有意思了. 不過, 如果真有這麼個國家, 而你十分想要將你的美味果醬出口到那裡去呢? 你會堅持讓你的品牌保持」一致性」么 (小提示: 那些很大眾的日本車, 他們在美國賣車的時候當然不會把駕駛座放在右側, 而且他們依然有著無比巨大的品牌影響力和忠誠度)?

噢, 當然了, 如果你是那個國家唯一一個果醬生產源, 你也許會非常成功! 但是那真的是為那個國家的用戶製作的非常棒的設計么? 當你的品牌或者創新在每個早上都會給數百萬計有著可愛的眼睛的, 等著自己的早餐被端上餐桌的孩子們設絆子的時候, 你真的會為之由衷的感到驕傲么?

那麼, 把這個比喻和我們今天的話題連接起來的任務, 就留給讀者們作為練習吧~

一致性和便利性都是為了幫助你的用戶們的. 他們幫助用戶完成他們的工作, 令他們毋須為如何完成工作而感到擔心. 設計規約就是為了幫你理解一致與便利性而存在的, 尤其是在當你對這些東西還一無所知的前提下.

但是那就意味著你應該亦步亦趨的墨守成規么? 當然不. 尤其是當你有一些新的東西和獨特的價值需要傳達給你的用戶的時候. 但是如果你只是想為了不一樣而不一樣, 或者僅僅是因為「在我的國家他們也是這麼做的」, 我相信你會發現你那麼做對於其他人來說並無效果——儘管他們的好脾氣可以忍受你的怪癖.

並且, 並不是所有的規約都是平等的. 視覺公約, 比如顏色, 字體, 觸覺設計/擬物化/扁平設計的嘗試 —— 這些更多是關於舒適性與情感接受度而不單單只是基本的可用性. 如果你試圖賣一罐使用時髦的手寫字體做包裝的蜂蜜給一個只接受包豪斯式極簡字體設計的文化, 你會發現自己的產品被主流人群拒之門外, 或者只有一小部分亞客戶. 但是如果這是一個下意識的選擇, 特別是當你打算為那些小眾用戶提供一種特別的情感與審美上的響應, 那你就會大獲成功.

另一方面, 違背約定俗成的規約, 尤其是那些看不見的習慣 (就像我們朝哪個方向擰開罐子, 哪個部分的 UI 元素是有效的觸摸對象, 或者捲動列表的時候會發生些啥事一樣), 幾乎從來沒帶來過好處 —— 能克服那些由不一致性引起的挫折 —— 就算是品牌特徵或跨平台一致性也不能.

如果你真要這麼做, 你必須做好覺悟.

通常情況下最好的試金石是: 你真的為你製作的東西感到驕傲么? 如果你親眼目睹了有人因為在你的作品和在他們習慣並喜愛的平台上的其他作品之間那細小的不一致性而發生爭議以及猶豫之時, 你還會驕傲么? 如果你聽到有人在聚會上濤濤不絕的講述他們有多愛你的作品, 以及在使用你的作品的時候他們有多麼開心, 但是他們依然有一點小小的期望: 希望這個作品能夠以他們習慣的方式運行, 這個時候, 對於阻礙他們開心使用你的作品的地方,你是否依然那麼驕傲呢?

接下來你會看到一行簡練的, 我的立場的總結 —— 但是對於一行精鍊的總結而言, 捕捉到細緻入微的東西是很難的, 也許吧:

最重要的事是做正確的事 —— 若你需要, 我們隨時提供幫助.

如果你覺得上面的這篇文章太隱晦,那麼再貼一篇文章的節選:八月總結 —— 關於重設計與一致性

對於一致性, 我也有很多自己的話想要說. 現在, 國內的設計師和開發者大多都不重視 Android Design, 也許是 Android 2.3 以及之前的時代里 Android 上的設計平均水準給他們留下了過於慘烈的印象, 或者有其他什麼別的原因, 他們一個個嚷著」Android Design 的易用性不如 iOS Design」, 「Android Design 不如 iOS Design 好看」, 「Android Design 太不成熟」等口號, 或者從 iOS 上照搬 UI 和交互, 或者自己創造奇怪的交互, 把用戶的手機當成了不負責任的一個實驗台. 在這裡, 我先放下一句話:

Break the rules, sometimes. But learn them first.

怎麼理解這句話? 直譯就行了: 有些時候規則是可以違打破, 但是在那之前, 先認真學習好這個規則!

道理就是這麼個簡單的道理. 當你想要超越規則的時候, 前提就是你必須先了解這個規則. 未來總是建立在過去與現在的基礎之上, 沒有過去和現在, 談何未來? 更先進的設計總是建立在現有和以往的設計之上, 就比如現在各種被玩壞的扁平化, 讓我們回頭看看瑞士設計和紐約的地鐵站牌, 這些東西都為 Metro UI 這樣的優秀的扁平化設計提供了紮實的基礎, 而蘋果在擬物化 UI 上的數十年的積累, 才造就了 iOS UI 的精緻.

好了, 某些設計師, 不願意學習現有的規則, 想要憑空創造出一種」超越現有設計的設計」, 現在看看, 不覺得很可笑嗎?

從另外一個角度來看問題. 作為一款 Android 應用, 如果能完全做到符合 Android Design 的要求, 那麼必然不會難看或者難用. 已經有無數的應用證明了這一點. 然而, 現在很多開發者或設計師對 Android Design 的理解還停留在」Holo Theme」這個視覺樣式上, 忽視了 Android Design 對於 UE 和其他各方面的指導, 然後出了問題, 就盲目的責怪 Android Design. 這樣的應用, 只要仔細對照 Android Design 進行檢查, 總是會發現各種各樣的問題, 等到這些問題修復了之後, 這個應用就至少會達到不難看不難用的級別.

也有很多人說: 如果一味的遵循 Android Design, 是不可能開發出最優秀的應用的. 這個時候, 在這個完美的時間點, Timely跳出來給了他們一個狠狠的耳光. 事實就是, 當你用心的鑽研 Android Design 並且擁有強大的技術實力的時候, 開發出平台上最優秀的應用完全不是個問題. 這點, 不單是在 Android 上, 在其他平台上也一樣是適用的. 帶著鐐銬跳舞, 只要你有實力, 也能跳得很美. 地圖炮: 開發不出漂亮好用的應用就去責怪平台的 Guideline, 這種事情只有三流開發者才會做.

那麼又有人說了, 如果我遵循了 Android Design, 那麼 iOS 用戶看到這個應用不就抓瞎了?

Android Design 中有這麼一句話: 假設你的用戶聰明又能幹. 這, 可以說是整個設計的大前提之一. 不要認為用戶都是傻瓜. iOS 設計和 Android 設計雖然樣式會有所不同, 但是只要一個應用它的交互核心邏輯是相同的, 用戶就沒那麼容易不知所措. 如果你在兩個平台上採用了完全不同的邏輯來設計應用, 這個時候才會讓來自其他平台的用戶感到困惑. 保持一致性, 很重要的一點就是保證你的應用在不同平台上的設計, 交互邏輯是一致的, 而不是盲目的附和原生應用的邏輯. 這句話, 姑且算是地圖炮吧.

說到底, 一致性究竟要如何來保持? 說起來很簡單: 在將不同平台的設計規則爛熟於心的前提下, 精鍊它們, 以此達到超越各平台規範的高度, 在這樣的高度下, 創造出符合自己應用特色而又不違背各平台規範的交互方式. 說起來簡單, 做起來就難了. 目前為止做得最好的就是兩家: Pinterest 和 Flipboard. 其他廠家可以說無出其右 (這裡我本來要說 Path 的, 但是最近 Path 放出了 Windows Phone 版本的演示視頻, 看過之後, 我決定讓它下榜), 另外, Google 在 Maps 上採用的新設計也是非常好的例子.

總之, 就保持一致性而言, 最愚蠢且不負責任的方式就是生硬的把一個平台的 UI 搬運到另一個平台上. 不單單是一致性這個問題, 任何試圖把一個平台上的東西生硬的搬運到另一個平台上的行為, 都是愚蠢的. 如果你沒有實力超越平台的規範, 那就不要試圖去超越, 通過別的方式尋求保持一致性的方案, 獨特的用色也好, 獨特的圖標也好, 獨特的導航也好, 獨特的邏輯也好, 都比生搬硬套強.

EOF


要說「Android Design」,看字面確實不知道是啥,我也是看到大家都在談,才去了解的。我平時不會說這個名詞,我更喜歡說「Android 設計規範」。這份規範在這裡可以在這裡看到:Design | Android Developers

當然,叫「規範」也不準確,因為它似乎沒有強制力。

至於為什麼要遵循,我先引用這個答案:Mac OS X 系統好用在哪裡?

對於我來說,OS X最讓我喜歡的地方在於……它有一個 「上等」 的環境,讓在OS X上運行的各種軟體不自覺地向這個標準看齊。

…………

在OS X上,大多數軟體都很 「美」 ,它們一起讓你的使用感受穩定在一個水平線上

也就是說,標準或規範的意義,就是保證用戶能夠在這個平台上獲得比較穩定,可預期的體驗。每個操作系統的設計,都是有自己的道理和哲學在裡面,所以按照這個平台的成文或不成文的規範來,體驗不會太差,更重要的是,應用和操作系統是和諧的。

移動操作系統的標杆 iOS,之所以好用,與蘋果詳盡的 iOS Human Interface Guidelines 有關;之前的 Android 長期以來給人留下了不好的印象,與缺乏規範,規範得不到遵守有關。另外,Android 的定製 ROM 多,我覺得遵循規範也是保證自己的設計在各種 ROM 中效果一致的比較保險的做法。這也就是為什麼現在有很多人動不動就提這個設計規範,因為它很重要卻沒有得到應有的重視。


你用iPhone時,假如突然有個Android或者WP設計風格的應用時,你不覺得很違和么(違和,並非指這種界面設計不好)。


而且更重要的是,很多時候這種應用不僅僅是看起來不舒服,用起來也很不好,因為它也同時照搬了另一個平台的操作習慣,界面只是眼睛的事,而操作很多時候是無意識的。在應用功能的設計上也只考慮另一個平台的功能特性,而由於平台的差異性,在一個平台上很容易實現的功能特性,在另一個平台上可能根本無法實現或者能實現但實現起來吃力而不討好,同時這個平台本身很強力的特性你也沒發揮出來。


我不明白題主怎麼這麼大火氣,在我看來一個軟體應遵守其平台的設計規範就像一個駕駛員應遵守其所在地區的道路通行方向一樣,是再正常不過的事。


打個比方就是參考答案,自己做不好就看看參考答案,也有抄隔壁iOS的


推薦閱讀:

如何看待用 HTML5 技術開發的 web 應用與 Android 或 iOS 等原生應用的關係?
怎樣使用深藍詞典?
既然有 Google Play 的存在,那為什麼 Apkpure 還能做起來?
Android 開發:開始一個項目前,做好哪些準備可以事半功倍?
手機QQ保存圖片作為表情會被壓縮,質量變差還越壓縮越大?其目的究竟為了什麼

TAG:Android應用 | Android開發 | Android | Android應用設計 |