盼望着,盼望着,微信的「深色模式」正式上線了。
「深色模式」是這兩年用戶呼聲最高的功能之一,不過 iOS 和 Android 也是去年才開始适配深色模式,似乎越是大型的應用和平台,在推出「深色模式」這個問題上就越是謹慎。
去年微信團隊曾在微博以打趣的口吻回應稱,「不忍心占用用戶珍貴的夜晚」。不打擾,一直是微信的溫柔。
可很多人不知道的是,要給用戶提供一個引起極度舒适的「深色模式」,其實并不是簡單的從白變黑,尤其是對于一款國民級應用來說,當中涉及的設計和開發量,甚至不比重新開發一遍少。
深色模式(Dark Mode)也被叫做暗黑模式,顧名思義,它給人最直觀的感受,就是黑。
但「深色模式」要實現理想的視覺體驗,絕不是将底色變黑,将文字變白這麼簡單。Google 在 Material Design 的設計指導中對于深色模式中列出的設計規範中,第一條就是「不要使用 100% 的純黑」。
UI 設計師 Ilke Verrelst 曾指出,不要在純白背景上顯示純黑文字,反之亦然,這是基本的設計規則。
為什麼呢?因為純白色會反射所有波長的光線,而純黑色會吸收所有光線,這是對比度最大的兩種顔色,白底黑字時,文字過于刺眼,而黑底白字時,文字又可能難以辨認。
如果在同時一個頁面上大面積使用純白色或者純黑色,反而會在長時間閱讀時讓眼睛感到疲勞。雖然有大量研究已經證明深色模式并不護眼,但如果它讓用戶使用 app 時更加不适,那同樣與深色模式開發的初衷背道而馳。
此外純黑和純白的高對比度,會讓頁面無法通過陰影效果來構建視覺層次。比如下圖中兩個方框中灰色方塊,在左側純黑的方框中,幾乎看不到灰色方塊的陰影。而右側深灰色方框中,陰影的變化則明顯得多。
其實「深灰色」也是很多應用在深色模式中所使用的背景色,這次微信更新的深色模式裡,聊天背景用的就是深灰色(#181818)。
文字顔色也是一樣,比如在亮色模式下偏暗色調的文字,在深色模式下會變得難以閱讀。因此也需要選擇合适的顔色,既能清晰顯示,也減輕用戶的視覺疲勞。
如果你覺得對比不夠明顯,不妨來看一下 Twitter 和 iOS 模式深色模式 。 Twitter 提供了兩種深色模式,分别是「昏暗(Dim)」和「熄燈(Light out)」,前者背景色為深灰色,後者基本是純黑色。
從 Medium 上一位作者 Pudge 給出的對比圖來看,在 Twitter 純黑背景的深色模式下的界面下,通欄列表幾乎與背景融為一體了。而 iOS 在深色模式下的這些地方用了稍亮的灰色,感覺更加自然了。
打開微信的深色模式,你也能看到類似的設計。在「朋友圈」、「視頻号」、「掃一掃」等可交互的功能欄上,都采用比深灰色背景更亮的灰色。
由于深色模式下容易出現難以區分兩個視覺元素的情況,這種方式能讓顔色在不同的外觀模式下都具備足夠的對比度。
不隻是背景色,在低對比度的深色模式下之下,一般模式之下的各種色彩幾乎都要重新設計。
比如很多 app 的品牌色飽和度都比較高,然而高飽和色則是深色模式的大忌之一。正如前文所說,這種對比度十分影響視覺體驗,因此必須降低這些顔色的飽和度,Google 的深色模式就會給「錯誤提示」的紅色一層 40% 透明的白色圖層。
看起來容易非常容易對不對?
對于一些輕量級 app 或許是的,但對于一些規模龐大。代碼結構複雜的 app 來說,要給各個頁面、每個圖标和元素都重新調整配色,真的會讓程序員分分鐘吐血。
如果把深色模式看作給房子刷漆,給一間小房子刷漆的難度,和一個幾十棟樓的大型小區無法顯然無法相提并論。
對于月活超過 11 億的微信來說,這顯然不是一件一蹴而就的事情。
的确,在微信上線深色模式之前,就有一些 app 就推出了深色模式,比如知乎,但這些應用的深色基本沿用了原來的「夜間模式」,體驗一言難盡,可以參考下面這些知乎用戶的評論。
很多人會把深色模式與夜間模式劃上等号,但實際上兩者并完全是一回事。夜間模式主要照顧的是暗光條件下的場景,而深色模式還需要兼顧亮光環境下的使用。
設計網站 UX Planet 主編 Nick Babich 列出的「暗黑模式 8 個設計準則」就有這麼一條,「要分别在燈光和黑暗條件進行測試」。縱觀現在推出深色模式的 app,能讓人在亮光環境下依然願意使用的并不多。
除此之外,在一些應用上的部分功能模塊,往往還不能直接變為深色。尤其是在一些文字編輯的界面,白色或者淺色背景才能讓人産生「在紙張上書寫」的感覺。
俄羅斯最大的搜索引擎 Yandex 在設計郵箱客戶端時就遇到了類似的問題,随後通過一種基于 CSS 變量的方法解決,讓深色模式在保持一定對比度和亮度自适應地調整。
這樣的問題在很多電商 app 上更顯明顯,因為大量商品的圖片和視頻都是以淺色背景為主。如果要隻把背景變深色,就會顯得十分刺眼。但如果要調整海量的商品圖片底色,工作量則十分巨大。
針對這個問題,蘋果給出的建議是采用 「語義化顔色」(Semantic Colors)進行适配。所謂語義化顔色,就是不再通過某一色值來描述顔色,而是根據用途來描述,讓界面元素可以自動适配當前的外觀模式。
去年被淘寶稱為「史上難度最大适配」的 iOS 内測深色模式,顔色的适配就是采用了「語義化顔色」的原理。
▲ 圖片來自:阿裡巴巴國際 UED
按照淘寶的介紹,這種方案大大降低了對所有頁面進行進行顔色語義化設置的難度,讓絕大多數場景無需修改代碼就可以自動适配深色模式,可以在短時間内快速、高質量适配深色模式。
總的來說,給應用适配深色模式的技術難度本身并不高。但要兼顧的細節卻非常多,如果碰上量級十分大的應用,複雜程度就會超乎想象。
深色模式的作用過去常常被誇大。其實深色模式不僅不護眼,在很多場景其實反而會降低閱讀效率。有研究視覺研究表明,人類天生就是更喜歡前暗後亮(dark-on-light)。
既然如此,花費這麼多資源适配深色模式到底有沒有必要呢?
談論一款産品或一項功能的可用性,不能脫離用戶的使用場景。深色模式未必所有産品的設計趨勢,但好的深色模式卻讓不少必要的場景體驗更加人性化。
愛範兒在之前一篇文章中,科普了深色模式的用途。 Android 開發者網站的黑暗主題開發指導則介紹了深色模式的三大優勢:
不久前《财富》雜志發布了全球 100 個最偉大的現代設計,同時指出了好設計的标準,已經從一種純粹的産品美學,變為了一個産品或服務能否更好地去實現特定目的、功能,以及能否為社會帶來持續的影響。
對于 iPhone 、微信這些産品來說,深色模式可以說是延續這種設計理念的一部分。
題圖來自:Medium
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!