<xmp id="e0gg0">
  • <nav id="e0gg0"><strong id="e0gg0"></strong></nav>
    <nav id="e0gg0"><strong id="e0gg0"></strong></nav>
    <menu id="e0gg0"></menu>

    6.3.3 相關問題的解決方案

    我們已經大致了解了應該怎樣從現有的基本概念出發,來定義全新的交互對象。不過在實際項目當中,我們有可能會在這方面遇到一些潛在的問題,這些問題甚至會導致設計開發工作進入死胡同。在你的設計方案當中,一些高度定制化的交互模型也許很難被準確地實現出來,而另一方面,你也有可能發現它們無法很好地被用在產品的其他地方。面對這些情況,你必須掌握一些最基本的解決方法,才能讓自己擺脫困境。

    我們曾經在前一章當中了解了一些能夠幫助設計師實現設計方案的相關開發技術。其中,核心動畫 (Core Animation)為開發者們提供了一系列強大的工具,用于將高度定制化的動畫效果整合到交互元素當中。動畫的概念,不僅僅是隨便為一些元素添加有趣的視覺效果這么簡單;對于交互設計來說,它更是一種用來與用戶進行互動溝通的強大工具。

    在最基礎的層面,動畫是一種能夠使交互對象的某種屬性隨著時間而發生變化的機制。“時間”是這個概念當中的核心,它可以幫助我們解決交互設計當中的一些關鍵性的問題。

    當你發現交互環境當中的空間過于有限的時候,以時間概念為主導的解決方案往往可以發揮巨大作用。要在狹小的界面當中內呈現大量的信息是很困難的,通常只會出現兩種情況,要么是通過縮減字號來提高單位面積當中的內容密度,要么保持字號不變而對內容進行截斷處理。這兩種方式都是有很大弊端的。高密度的信息很難被用戶良好的閱讀和理解,而經過截斷處理的內容又是不完整的,難以保證信息的準確傳達。

    我們可以通過之前列表練習當中的實例來直觀地理解這一點。當我們以網格的形式改造了單列縱向列表之后,如果列表項的標題文字變長,我們就必須對字號進行必要的調整,才能使內容完整地呈現給用戶,正如我們可以在下圖左側屏幕當中看到的。反之,如果不縮減字號,只進行截字處理,那么最終的效果就會是下圖右側屏幕所展示的樣子:

    《iOS Wow Factor》全書譯文精選

    圖6-7 ?縮減字號與截斷文字的效果對比

    那么,以時間概念為主導的方案能否幫助我們解決這個問題呢?我們不妨在這里回憶一下,過去那些小屏幕手機在這方面通常是怎么做的,也許我們可以從它們身上找到一些答案。

    《iOS Wow Factor》全書譯文精選

    圖6-8 ?將被截斷的文字以跑馬燈的形式完整的呈現出來

    跑馬燈效果在過去的那些設備當中是非常流行的。在這種解決方案里,“時間”扮演著重要的角色,因為文字會以動畫的方式逐步進入可視區域當中,隨著文字從右向左的行進,用戶最終會閱讀到完整的信息(見圖 6-8)。在這個實例當中,“時間”作為一個額外的維度,可以在某種程度上幫助我們解決問題。

    這種方式確實適用于一些特定的情況,但出于某些原因,它依然無法徹底解決網格布局當中文字空間限制問題。不妨設想,當這個界面加載完成的時候,每一個格子當中的標題文字都在滾動,這種高度密集的文字動畫效果對于用戶來說是難以接受的。你很難將注意力集中在某個單獨的格子當中,而且必須對時間進行準確的把握,才能在最短的時間內,也就是一個循環周期當中完整的閱讀一串文字,否則你所能看到的仍然是一些被截斷的內容。我們已經在解決方案里加入了以時間概念為主導的動畫效果,那么這個模型當中還缺少哪些關鍵元素呢?答案就是用戶控制。

    用戶控制的概念是很顯而易見的。當前話題的重點在于怎樣創建交互設計解決方案,而所謂“交互”,自然離不開來自用戶的某種控制行為。不過在這里,我們需要從“狀態”的角度來思考用戶控制這個概念。

    對于交互模型來說,“狀態”是一個非常重要的概念,它同樣可以幫助我們解決在設計過程中遇到的一些棘手的問題。與“時間”類似,以狀態概念為主導的解決方案通??梢酝瓿赡切τ陟o態方案來說幾乎是不可能實現的任務。從某種程度上講,它們都可以從另外一個維度上改變交互模型當中的界面元素及信息內容。

    狀態究竟是什么呢?它所指代的是當某個交互對象正在被用戶觀察或是被某種控制機制管理的時候所體現出來的屬性和特征。

    到目前為止,我們所創建出的網格列表交互模型只擁有唯一的一種狀態。也就是說,它只有一個形態,目前還不會發生變化。如果我們可以控制它的狀態,在必要的時候對交互模型的結構進行調整,那么就可以真正地解決掉我們之前所遇到的問題。

    現在可以將狀態的概念與用戶控制行為聯系起來了。前文當中之所以會提到要從“狀態”的角度來思考用戶控制,是因為我們可以通過用戶輸入機制來改變界面交互對象的狀態。

    那么,我們應該怎樣從用戶控制與狀態調整的角度來解決網格列表交互模型當中的問題呢?當前的狀況是,我們認為網格狀的列表非常符合差異化的交互體驗設計思路,而且在這種模式下,用戶可以同時看到很多列表項;但同時,每個列表項的尺寸都變小了,狹小的空間無法完整地將其中的文本對象呈現出來。我們試著通過以時間概念為主導的方案,即跑馬燈的動畫效果來解決這個問題。雖然這種方法確實使文字內容擺脫了空間的限制,但從界面整體的角度來看,動畫效果的密度過大,視覺體驗非常糟糕。那么接下來,就讓我們一同看一看,當用戶控制及狀態的概念被整合進當前的交互模型之后,事情又會發生怎樣的變化。

    《iOS Wow Factor》全書譯文精選

    圖6-9 ?通過輕掃操作,將被遮擋住的文字拖出

    如圖所示(圖 6-9),我們可以保持格子當中的文字靜止不動,由用戶通過輕掃操作將所需的文字對象拖出被遮擋的區域。這種方式將直接操縱的理念融入到了交互模型當中,我們就不必讓用戶面對著充滿文字動畫效果的界面了。他們可以在覺得需要的時候對任意一個格子進行交互操作,瀏覽其中的完整內容。

    在這種解決方案當中,我們為文本對象賦予了一定的交互行為,這是相對簡單的一種方式。我們還可以擴展一下思路,去嘗試一些更具創意的方式。除了文本對象以外,我們其實還可以通過用戶的控制行為使整個格子單元的狀態發生變化。

    《iOS Wow Factor》全書譯文精選

    圖6-10 ?通過雙指張開的操作來擴展格子,以獲取完整信息;結束操作后格子自動收回

    我們可以讓用戶通過雙指張開的操作將網格單元進行擴展,從而獲取完整的文字信息;當手指離開屏幕之后,格子便會自動恢復到默認的狀態。只需要一個簡單的手勢,我們就可以人為地創造出更大的空間,這使得整個交互模型具有了高度的動態性 (見圖 6-10)。通過這種方式,不僅文字內容變得完整可讀,而且由于整個格子的空間都被擴大,我們甚至可以在其中加入更多有價值的信息。

    曾經一個最普通的單列縱向列表,到目前儼然已經成為在用戶體驗方面具有高度潛力的交互模型了。交互模型在這方面所體現出的擴展性具有很高的實際運用價值。那么,除了能夠在某種特定的需求上下文當中提升對象的交互體驗以外,這種擴展性如何幫助我們實現更高層次的設計目標呢?

    首先我們需要知道一點,在打造交互模型的過程中,我們不能對其進行子虛烏有的構想。交互模型永遠是一個完整系統當中的一部分,產品最終帶給用戶的交互體驗必然是一種整體效應的體現。如果你相信設計方案當中的某個交互模型所具有的強健性足以驅動一款產品,那么你考慮清楚應該以怎樣的方式將它整合到產品的其它地方,才能在整體層面上實現最佳的體驗效應。這也正是我們在前文當中提到交互模型的彈性與擴展性時所要表達的意思。如果你所打造的各種交互模型確實只能適用于各自的功能情景,而無法很好的運用在產品當中的其他地方,那么你至少要在頭腦中建立一個更龐大完整的產品級別的交互模型,其中包含著局部當中的各個獨立的交互模型;這個大模型必須為用戶提供清晰并且一致的交互體驗。然而另一方面,一個擁有太多獨特交互模型的應用最終只會導致用戶產生迷惑和挫敗的感覺,這更是完全地背離了我們的初衷。在這種情況下,其實談不上任何模型的概念了,整個產品只是一堆怪異交互模式的組合。

    要避免這種情況的發生,我們在設計工作中必須始終站在全局的角度對每一個交互模型的適應能力進行考慮。這是一種系統化的設計思路,你需要讓自己的思維模式上升到抽象的層面,才能對某個交互模型在上下文環境當中的適應能力進行充分地認知。不要只看某個交互模型能夠解決眼下的哪些局部問題,而是要判斷它所勾畫出的交互模式能否在應用中的其他地方同樣適用,有沒有可能成為某種具有普遍適用性的多用途交互行為模板。

    一款應用產品當中使用到的交互類型越少,其交互模型的健壯性就越強。少即是多的原則在移動應用的設計工作當中是絕對適用的。要以降低用戶的認知負荷為目標,盡可能使用那些用戶已經在你的產品中接觸過并理解了的交互模式。

    當然,你也不必為了減少交互類型而將某些模式強加在那些確實不適用的地方。簡單一致的交互方式固然是我們所追求的,但同時,你也要了解產品中的哪些地方的確需要相對獨特的解決方案,否則在這些地方嘗試通過具有普遍性的交互模式進行處理的話只能是浪費時間??梢哉f,如果某種交互方案在你看來并不是非常明確和易用的,那么在用戶看來多半也會如此。

    也許你已經注意到了,我們一直在不同的地方反復使用著“交互”、“行為”和“模式”這三個概念。在本書所討論的話題當中,這些概念各自包含哪些含義,它們之間又具有怎樣的關聯呢?我們在這里簡要地了解一下:

    你可以在其中任意一個層面上對交互模型的一致性進行規劃。你可以從宏觀的角度出發,首先思考具有全局性的交互模式,也可以從細處入手,定義那些相對獨立的局部交互模型,并對它們的交互體驗一致性進行持續的考量。你在交互模型相關工作當中所做的規劃,將決定著最終的產品能否以正確的方式解決某些特定的需求。

    啊灬啊灬啊灬快灬片免费
    <xmp id="e0gg0">
  • <nav id="e0gg0"><strong id="e0gg0"></strong></nav>
    <nav id="e0gg0"><strong id="e0gg0"></strong></nav>
    <menu id="e0gg0"></menu>