毛 昊
(蘭州大學(xué)信息科學(xué)與工程學(xué)院,甘肅 蘭州 730000)
智能手機(jī)和平板電腦等移動計(jì)算設(shè)備,因其便攜性,已經(jīng)成為人們?nèi)粘Mㄓ嵉闹饕ぞ?;這些移動計(jì)算設(shè)備的處理能力和存儲能力也日益強(qiáng)大,使其同時(shí)也成為人們最常用的信息處理工具之一。它們的屏幕尺寸通常較小,這就使得大量需要顯示的信息和小尺寸屏幕間的矛盾相對于其它計(jì)算設(shè)備而言更加突出:用戶在瀏覽和處理大量信息時(shí)不得不頻繁地進(jìn)行手動滾屏的操作,這樣就增加了用戶的操作負(fù)擔(dān),降低了操作績效。作為使用觸摸屏的移動計(jì)算設(shè)備,它們相對于通過鼠標(biāo)等輸入設(shè)備的交互方式來說存在輸入精度低的問題[1]。為了保持一定操作準(zhǔn)確率,觸摸屏上的對象尺寸就不能過小,有研究[2]表明對手機(jī)單手交互時(shí),為了保持較高的輸入準(zhǔn)確率,對于離散的輸入任務(wù)來說目標(biāo)對象尺寸應(yīng)該達(dá)到 9.2 mm,而連續(xù)的輸入任務(wù)則要求目標(biāo)對象尺寸要達(dá)到 9.6 mm。以最常見的5.5英寸的手機(jī)屏幕為例,其屏幕的高度約為 120 mm,這樣在屏幕縱向上大約可以布置 12個對象??紤]到一般窗口都會有標(biāo)題欄、狀態(tài)欄等組件,對象之間還要保留必要的間隔,縱向?qū)嶋H能排列的對象為8個左右。以手機(jī)聯(lián)系人列表為例,瀏覽包含200個聯(lián)系人的列表,至少要滾屏25次。單手操作手機(jī)時(shí),需要用大拇指來完成操作[3]。大拇指因?yàn)槠湫螒B(tài)學(xué)(morphology)上[4]限制,它在屏幕上方便觸及的范圍通常只是屏幕的一部分[5],如圖1所示,需要滾屏的全部次數(shù)就會倍增。
而頻繁滾屏的消極影響是顯而易見的:增加操作負(fù)擔(dān)、降低交互績效、造成手指的疲勞等等。所以,通過技術(shù)手段減少人們在移動計(jì)算設(shè)備上瀏覽和處理信息時(shí)的滾屏次數(shù)無疑是有研究和實(shí)際應(yīng)用價(jià)值的。通常情況下,人們在屏幕窗口中瀏覽和處理信息的方式是有規(guī)律的:總體上是按照由上往下、從前向后的順序。這樣就為我們研發(fā)自適應(yīng)滾屏的技術(shù)提供了可能。本文將介紹一種針對信息(或?qū)ο螅┰谄聊淮翱谥芯€性排列情況的自適應(yīng)滾屏技術(shù),通過和傳統(tǒng)的操作方式作對比驗(yàn)證該項(xiàng)技術(shù)的有效性,并研究在雙手操作的模式下該項(xiàng)技術(shù)在屏幕中最佳作用范圍。
一般情況下,人們在屏幕窗口中閱讀和處理信息的次序是:由上往下、從前向后。如果信息(或?qū)ο螅┰谄聊淮翱谥邪凑站€性規(guī)律由上往下依次排列的話,假如人們在瀏覽或者處理信息的過程中沒有疏漏,則窗口中的信息(或?qū)ο螅┌凑杖藗冋跒g覽或處理的位置(我們稱之為“處理位”)可以劃分為“處理位”、“已覽區(qū)”(“處理位”之前的區(qū)域)和“未覽區(qū)”(“處理位”之后的區(qū)域)三個部分,如圖 2所示?!耙延[區(qū)”內(nèi)的內(nèi)容為用戶已經(jīng)瀏覽或處理完的信息,這部分信息是可以隱藏的;“處理位”的內(nèi)容在用戶處理后也是可以隱藏的:這樣,如果我們能夠判斷出“處理位”和用戶對之的處理時(shí)機(jī)的話,我們就可以通過設(shè)置讓程序做出自適應(yīng)滾屏處理——讓窗口中“處理位”之后的下一行的信息自動置于窗口頂部,而將其上內(nèi)容部分自動隱藏。
對自適應(yīng)滾屏技術(shù)進(jìn)行設(shè)計(jì)時(shí),我們首先需要確定“處理位”和其處理時(shí)機(jī)。對于像在手機(jī)聯(lián)系人列表中批量選取多個聯(lián)系人、在手機(jī)文件管理器中批量選取多個文件及目錄等一類操作任務(wù)來說,用戶通過在一個個想要選取的項(xiàng)目上叩擊(tapping)來對其進(jìn)行選取,則用戶當(dāng)前叩擊的項(xiàng)目所在位置即可當(dāng)作“處理位”,而用戶叩擊完成后手指抬起的時(shí)刻即為對“處理位”的處理時(shí)機(jī)。這樣自適應(yīng)滾屏技術(shù)即可設(shè)計(jì)為當(dāng)用戶從屏幕上抬起手指時(shí),將“處理位”之后的下一個項(xiàng)目自動置于窗口頂部。在這一過程中,自適應(yīng)滾屏技術(shù)的激活不需要用戶額外做出任何的操作;相反,自適應(yīng)滾屏技術(shù)可以減少用戶的手動滾屏操作,加快已經(jīng)處理項(xiàng)目的自動隱藏和未處理項(xiàng)目在屏幕窗口中的自動呈現(xiàn)。
圖1 單手操作手機(jī)時(shí)在3.5-5英寸屏幕上大拇指可觸及的范圍[5]Fig.1 The reach of the thumb is shown with screen sizes varying from 3.5-inches to 5-inches
圖2 技術(shù)設(shè)計(jì)思路Fig.2 T echnique design
為了驗(yàn)證前文所述系統(tǒng)的有效性及該技術(shù)的最佳作用區(qū)域,我們設(shè)計(jì)并實(shí)現(xiàn)了一個技術(shù)驗(yàn)證的原型系統(tǒng)。人們對通訊錄進(jìn)行過許多相關(guān)的研究[6],它是手機(jī)上最重要、使用最頻繁的功能之一,由于通訊錄的聯(lián)系人菜單環(huán)境特別適用本技術(shù),通過該系統(tǒng)我們對比了被試者在手機(jī)聯(lián)系人的批量選擇操作任務(wù)中,采用自適應(yīng)滾屏技術(shù)和傳統(tǒng)的操作方式(完全手動滾屏)之間的交互績效的差異,同時(shí)還研究了在雙手操作模式下自適應(yīng)滾屏技術(shù)的最佳作用區(qū)域。
鑒于大多數(shù)移動計(jì)算設(shè)備使用的操作系統(tǒng)為Android,我們在Android手機(jī)上設(shè)計(jì)并實(shí)現(xiàn)了上述的技術(shù)驗(yàn)證系統(tǒng),采用的編程語言為Java[7,8]。我們選擇的主要界面組件為listview,用可擴(kuò)展性最好的SimpleAdapter來加載信息項(xiàng)的各個子元素和選項(xiàng)框[9]。當(dāng)Android加載一個listview的布局時(shí),通常是通過 getView( )方法來獲取該 View的各種參數(shù)的。相關(guān)操作代碼片段如下:
從中我們可以看到 getView( )方法一共接受了三個參數(shù),其中第一個參數(shù) position代表了所要加載的 View中的子元素的當(dāng)前顯示位置[10],即當(dāng)改變對應(yīng)的 position值時(shí),對應(yīng)的子元素也會相應(yīng)的改變位置。當(dāng)用戶對目標(biāo)項(xiàng)進(jìn)行選擇時(shí),會觸發(fā)該項(xiàng)目的點(diǎn)擊事件,我們在點(diǎn)擊事件中加入對項(xiàng)目的position參數(shù)設(shè)置,從而實(shí)現(xiàn)自適應(yīng)滾屏效果。
由于Android系統(tǒng)中的點(diǎn)擊事件分為三個步驟:落下(ActionDown)、移動(ActionMove)和抬起(ActionUp)[11],而對于目標(biāo)選擇功能而言,用戶的每個目標(biāo)點(diǎn)擊操作只需要落下和抬起即可完成,而只有當(dāng)用戶抬起手指時(shí),才能判定某個子元素的checkbox是否被選中。于是我們在用戶抬起手指時(shí),做以下處理:當(dāng)某個子元素的checkbox處于被選中狀態(tài)時(shí),對當(dāng)前所選中的子元素項(xiàng)調(diào)用setSelection(int position),這里的 position就對應(yīng)該項(xiàng)在listview中所處的位置,無論被選中項(xiàng)當(dāng)前的position值為多少,當(dāng)抬起操作完后都將position的值置為-1,這樣被選中項(xiàng)的下一項(xiàng)就會在這次點(diǎn)擊事件完成后自動顯示在屏幕的頂端,使用戶產(chǎn)生了一種被選中項(xiàng)的下一項(xiàng)會自動位移到屏幕頂端的自適應(yīng)滾屏效果,從而達(dá)到將已瀏覽區(qū)域的子元素項(xiàng)自動隱藏起來的目的。整體實(shí)現(xiàn)的功能效果如圖 3所示。
對于某個功能而言,人們非常關(guān)心其使用效率。有從用戶的使用滿意度角度進(jìn)行試驗(yàn)的[12],有從用戶的行為分析角度出發(fā)的[13],有從應(yīng)用的測試設(shè)計(jì)原理著眼的[14]。鑒于此,基于人機(jī)交互的實(shí)驗(yàn)設(shè)計(jì)原則[15],為了驗(yàn)證自適應(yīng)滾屏技術(shù)的有效性及其在手機(jī)屏幕窗口中的最佳作用區(qū)域,我們招募了15名被試者進(jìn)行了相關(guān)實(shí)驗(yàn)。在實(shí)驗(yàn)中按照自適應(yīng)滾屏技術(shù)的作用區(qū)域,我們一共將實(shí)驗(yàn)分成5種不同的情況,如圖4所示。其中作用區(qū)域?yàn)?%的情況即為傳統(tǒng)的操作模式,即不采用自適應(yīng)滾屏技術(shù)。
圖3 操作效果示意圖Fig.3 Manipulation effect diagram
先就自適應(yīng)滾屏技術(shù)的5種作用區(qū)域的具體設(shè)置做簡要描述。首先,我們將手機(jī)屏幕上的整個listview的覆蓋區(qū)域劃分為比例大致相同的4塊,如圖5所示,然后將本技術(shù)產(chǎn)生作用的范圍(覆蓋范圍)根據(jù)這4塊區(qū)域劃分為5個等級:全屏幕(即屏幕的0%區(qū)域)不具備滾動效果、屏幕頂端第一塊區(qū)域(即屏幕的頂端25%區(qū)域)具備滾動效果、屏幕上段兩塊區(qū)域(即屏幕的上端50%區(qū)域)具備滾動效果、屏幕頂部往下前三塊區(qū)域(即占屏幕大半部分的上面75%區(qū)域)具備滾動效果和全屏幕(即屏幕的100%區(qū)域)具備滾動效果。
在以上五種不同的實(shí)驗(yàn)條件下,測試者需要完成對列表項(xiàng)中的指定目標(biāo)選項(xiàng)進(jìn)行多目標(biāo)批量選擇的實(shí)驗(yàn)任務(wù)。實(shí)驗(yàn)中被試者以雙手操作的方式完成規(guī)定的實(shí)驗(yàn)任務(wù),即他們要用非慣用手持手機(jī),用慣用手點(diǎn)選指定的目標(biāo)項(xiàng)。實(shí)驗(yàn)中記錄實(shí)驗(yàn)任務(wù)的完成時(shí)間、手動滾動屏幕的次數(shù)等數(shù)據(jù)。
通過對實(shí)驗(yàn)數(shù)據(jù)分析,我們發(fā)現(xiàn),采用自適應(yīng)滾屏技術(shù)后,相對于傳統(tǒng)的操作方式來說,被試者完成實(shí)驗(yàn)任務(wù)所需的時(shí)間有了顯著的減少,如圖 6所示。同時(shí),我們還發(fā)現(xiàn)當(dāng)屏幕窗口頂部的75%區(qū)域和100%的區(qū)域具備自動滾屏功能時(shí),被試者在實(shí)驗(yàn)中的交互績效最高,即自適應(yīng)滾屏技術(shù)在雙手操作模式下的最佳作用區(qū)域?yàn)槠聊淮翱诘捻敳?5%及以上區(qū)域。另外,分析結(jié)果還顯示在所有4種采用自適應(yīng)滾屏技術(shù)的實(shí)驗(yàn)任務(wù)中,被試者手動滾屏次數(shù)相對于傳統(tǒng)方式都有了顯著的降低??傊鄬τ谝苿釉O(shè)備上現(xiàn)有的操作模式來說,自適應(yīng)滾屏技術(shù)的使用不僅提高了用戶的操作績效,同時(shí)還減少了手動滾屏次數(shù),被試者表示新技術(shù)的采用可以降低實(shí)驗(yàn)中手疲勞的程度。
圖4 覆蓋范圍選項(xiàng)Fig.4 Coverage range options
圖5 區(qū)域劃分示意圖Fig.5 Regional division diagram
圖6 五種覆蓋范圍對應(yīng)的操作時(shí)間Fig.6 Man ipulation time concerning five types of coverage
本文設(shè)計(jì)并實(shí)現(xiàn)了一種基于 Android操作系統(tǒng)的應(yīng)用于移動設(shè)備上的自適應(yīng)滾屏技術(shù),并對該技術(shù)與傳統(tǒng)的操作模式進(jìn)行了對比。實(shí)驗(yàn)結(jié)果顯示新技術(shù)在操作效率上有了明顯的提高,同時(shí)手動滾動屏幕的次數(shù)明顯減少。該技術(shù)同時(shí)還降低了被試者在完成批量選擇任務(wù)時(shí)的手疲勞程度。另外,本文還研究了所提出技術(shù)在屏幕窗口中的最佳作用范圍,實(shí)驗(yàn)結(jié)果顯示在雙手操作模式下,最佳作用范圍為屏幕窗口頂部的75%及以上區(qū)域。該技術(shù)適用于信息(或?qū)ο螅┰谄聊淮翱谥芯€性排列的情況,尤其適用于在這種情況下的多目標(biāo)對象的批量選擇的交互任務(wù)??紤]到手機(jī)等移動計(jì)算設(shè)備有時(shí)會需要單手操作,我們將在以后的工作中研究在單手操作模式下的自適應(yīng)滾屏技術(shù)。
[1] Albinsson P-A, Zhai S. High precision touch screen interaction[C]. Proceedings of the SIGCHI conference on Human factors in computing systems, 2003: 105-112.
[2] Parhi P, Karlson A K, Bederson B B. Target size study for one-handed thumb use on small touchscreen devices[C].Proceedings of the 8th Conference on Human-Computer Interaction with Mobile Devices and Services, Mobile HCI 2006, Helsinki, Finland, September 12-15, 2006, 2006:203--210.
[3] 辛義忠, 李洋, 李巖, et al. 面向大屏幕手機(jī)的單手目標(biāo)選擇方法[J]. 計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào), 2016, 28(10):1750-1756.
[4] Roudaut A, Huot S, Lecolinet E. TapTap and MagStick:improving one-handed target acquisition on small touch-screens[C], 2008: 146-153.
[5] Kim S, Yu J, Lee G. Interaction techniques for unreachable objects on the touchscreen[C]. Proceedings of the 24th Australian Computer-Human Interaction Conference, 2012:295-298.
[6] 孫紅麗, 葉斌. 基于Android的通訊錄系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 軟件, 2015, (5): 117-120.
[7] 李剛. 瘋狂Android講義.第2版[M]. 電子工業(yè)出版社,2013.
[8] 劉甫迎, 劉焱. Android移動編程實(shí)用教程[M]. 電子工業(yè)出版社, 2012.
[9] 丁振凡, 吳小元. Android系統(tǒng)ListView控件數(shù)據(jù)遞增顯示研究[J]. 智能計(jì)算機(jī)與應(yīng)用, 2014, (2): 49-53.
[10] Guolin. Android ListView工作原理完全解析,帶你從源碼的角度徹底理解. 2015.
[11] Google. Andoid Developers[J], 2015.
[12] Wixom B H, Todd P A. A Theoretical Integration of User Satisfaction and Technology Acceptance[J]. Info. Sys.Research, 2005, 16(1): 85-102.
[13] 黃文雄. 面向Android應(yīng)用的用戶行為分析方法[J]. 軟件,2014, (12): 83-87.
[14] 劉璐. Android智能終端功能測試方法設(shè)計(jì)與系統(tǒng)實(shí)現(xiàn)[J].軟件, 2014, (12): 79-82.
[15] Mackenzie I S. Human-Computer Interaction: An Empirical Research Perspective[J]. Handbook of Humancomputer Interaction Edition, 2012, 6(1): 3-21.