這個申請要求通過參考引入在本文的題為“COMPONENT-SPECIFIC APPLICATION PRESENTATION HISTORIES”并于2014年9月24日提交的美國專利申請第14/495,181號的優(yōu)先權。
背景技術:
在計算的領域內,許多場景牽涉利用具有至少兩個呈現(xiàn)(presentation)組件的設備的應用的呈現(xiàn)。作為第一這樣的示例,設備可以包括兩個或更多顯示器,并且可以跨越這兩個或更多顯示器來呈現(xiàn)計算環(huán)境。作為第二這樣的示例,顯示器可以包括顯示器和一副耳機,并且可以在顯示器上在視覺上呈現(xiàn)應用和/或通過耳機在聽覺上呈現(xiàn)應用。作為第三這樣的示例,設備可以訪問一個或多個其他設備的遠程顯示組件,諸如遠程終端對話、投影儀或遠程揚聲器組,并且可以將應用呈現(xiàn)發(fā)送到一個或多個遠程顯示組件,以便呈現(xiàn)。
挑選在其上面呈現(xiàn)應用的呈現(xiàn)組件的方式時常被委托給用戶。作為第一這樣的示例,在設備可訪問的若干顯示器之間,視覺應用的用戶可以指定選擇顯示器(例如將窗口移動到具體顯示器),并且該設備在選擇顯示器上顯示應用。作為第二這樣的示例,用戶可以請求播放音樂,并且該設備可以呈現(xiàn)該設備可訪問并且能夠為用戶渲染音樂的音頻設備的列表。用戶隨后可以選擇音頻設備,并且該設備可以通過選擇音頻設備來播放音樂。
附加地,許多這樣的設備維持已在設備的計算環(huán)境內呈現(xiàn)的應用的歷史。例如,應用切換器或“Alt-Tab”列表可以指示最近呈現(xiàn)的應用的集合,其可選地包括已向用戶呈現(xiàn)應用和/或由用戶激活應用(例如當前應用和先前應用)的應用呈現(xiàn)順序。在接收到從當前應用轉移(transition)到第二應用的請求(諸如應用順序中的“下一個”應用)時,設備可以將計算環(huán)境轉移到第二應用(例如在設備的顯示器上呈現(xiàn)的窗口堆棧中提升該應用的窗口的“Z軸次序(Z-order)”,以便在計算環(huán)境的前景中呈現(xiàn)第二應用)。
技術實現(xiàn)要素:
提供這個概要部分來以簡化形式介紹下面在詳細描述部分中進一步描述的概念的選擇。這個概要部分并不旨在識別所請求保護的主題的關鍵因素或基本特性,也不旨在用于限制所請求保護的主題的范疇。
在設備的計算環(huán)境中應用的呈現(xiàn)部分由于現(xiàn)代設備的復雜性和/或魯棒性、尤其對于訪問各種各樣的呈現(xiàn)組件的設備而言可能展示出各種限制。
作為第一這樣的示例,設備可以具有相對大量的呈現(xiàn)組件,并且用戶可以借此執(zhí)行相對大量的應用。選擇用戶希望轉移至的第二應用由于在應用呈現(xiàn)歷史中可能包括的大量應用而可能是困難的。例如,如果用戶希望在應用呈現(xiàn)歷史(諸如應用堆棧)中向后導航,個人希望激活的應用可能位于應用呈現(xiàn)歷史內的深處,并且用戶可能需要一段時間才能找到用戶希望呈現(xiàn)的應用。
作為第二這樣的示例,設備的呈現(xiàn)組件在各方面可能有所不同;例如,一些設備可能與各種輸入/輸出形態(tài)(modality)、位置或用戶上下文相關聯(lián)。此外,用戶可能打算請求應用在特定呈現(xiàn)組件上的呈現(xiàn),但是可能沒有指定哪一個呈現(xiàn)組件。然而,識別用于特定應用的呈現(xiàn)的呈現(xiàn)組件可能難以確定。
在本文呈現(xiàn)的是用于使得設備能夠促進(facilitate)用戶在設備上的應用的呈現(xiàn)之間導航的技術。根據(jù)這些技術,對于設備可訪問的相應的呈現(xiàn)組件,該設備可以生成識別已通過該呈現(xiàn)組件呈現(xiàn)的應用的應用呈現(xiàn)的應用呈現(xiàn)歷史。響應于通過選擇呈現(xiàn)組件的選擇應用的應用呈現(xiàn),該應用可以將應用呈現(xiàn)記錄在選擇呈現(xiàn)組件的應用呈現(xiàn)歷史中;以及響應于接收到將選擇呈現(xiàn)組件轉移離開當前應用的請求,該設備可以從選擇呈現(xiàn)組件的應用呈現(xiàn)歷史中選擇第二應用并將選擇呈現(xiàn)組件從當前應用轉移到第二應用。
作為一個這樣的示例,應用可以為每一個呈現(xiàn)組件生成應用切換列表(例如“Alt-Tab”列表或應用堆棧),其指示已在設備上呈現(xiàn)的應用呈現(xiàn)。當用戶指定將選擇顯示組件轉移離開當前應用的請求(例如“Back(后退)”操作)時,設備可以識別已在選擇顯示器上特別顯示的應用并且可以在顯示器上呈現(xiàn)應用呈現(xiàn)歷史中的第二或“下一個”應用。以這種方式,在本文呈現(xiàn)的技術可以使得設備能夠促進用戶在設備的各種呈現(xiàn)組件上的應用呈現(xiàn)之間的導航。
為了完成前述和相關目的,以下描述和附圖闡述某些說明性方面和實現(xiàn)方式。這些只是指示其中可以采用一個或多個方面的各種方式之中的一些方式。當結合附圖考慮時,從以下詳細描述中,本公開的其他方面、優(yōu)勢和新穎特性將變得顯而易見。
附圖說明
圖1是表征(feature)應用在設備的各種呈現(xiàn)組件上的呈現(xiàn)的示例場景的圖解。
圖2是根據(jù)在本文呈現(xiàn)的技術表征應用在設備的各種呈現(xiàn)組件上的呈現(xiàn)的示例場景的圖解。
圖3是根據(jù)在本文呈現(xiàn)的技術在具有至少兩個呈現(xiàn)組件的設備上呈現(xiàn)應用的示例方法的流程圖。
圖4是根據(jù)在本文呈現(xiàn)的技術提供來在具有至少兩個呈現(xiàn)組件的設備上呈現(xiàn)應用的示例系統(tǒng)的組件框圖。
圖5是被配置成收錄(embody)在本文闡述的一個或多個規(guī)定的包括處理器可執(zhí)行指令的示例計算機可讀介質的圖解。
圖6是根據(jù)在本文呈現(xiàn)的技術表征根據(jù)任務流的呈現(xiàn)組件從當前應用呈現(xiàn)到第二應用呈現(xiàn)的轉移的示例場景的圖解。
圖7是根據(jù)在本文呈現(xiàn)的技術表征根據(jù)呈現(xiàn)能力和表示策略在各種呈現(xiàn)組件上的呈現(xiàn)條款(article)的格式化的示例場景的圖解。
圖8是根據(jù)在本文呈現(xiàn)的技術表征在設備的呈現(xiàn)組件上的應用呈現(xiàn)的管理的示例場景的圖解。
圖9是根據(jù)在本文呈現(xiàn)的技術表征針對用戶的用于選擇呈現(xiàn)組件用于應用呈現(xiàn)的推薦的示例場景的圖解。
圖10是其中可以實現(xiàn)在本文闡述的一個或多個規(guī)定的示例計算環(huán)境的圖解。
具體實施方式
現(xiàn)在參考附圖來描述所請求保護的主題,其中相似的參考數(shù)字始終指的是相似的元素。在以下描述中,出于解釋的目的,闡述許多具體細節(jié),以便提供所請求保護的主題的徹底理解。然而,可能明顯的是:所請求保護的主題可以在沒有這些具體細節(jié)的情況下來實踐。在其他情況中,結構和設備以框圖的形式來顯示,以便促進描述所請求保護的主題。
A. 引言
圖1呈現(xiàn)表征用戶102與利用一組呈現(xiàn)組件106的設備104進行交互以便呈現(xiàn)一組應用108的示例場景100的圖解。在這個示例場景100中,設備104的呈現(xiàn)組件106包括:兩個不同的顯示器;一對揚聲器;和一副耳機。利用設備104的計算環(huán)境所呈現(xiàn)的應用108包括各種各樣的功能,諸如:用于創(chuàng)建報告的文本編輯器;消息傳送(messaging)客戶端,諸如電子郵件客戶端,其呈現(xiàn)一組消息;網(wǎng)絡(web)瀏覽器,其通過網(wǎng)絡與網(wǎng)絡服務器交互并且渲染網(wǎng)頁;媒體播放器,其渲染各種形式的媒體,諸如音樂、視頻和音頻書;警報應用,其向用戶102呈現(xiàn)與諸如突發(fā)新聞、天氣或郵件的到達之類的各種話題有關的警報;和語音化身(avatar),其通過語音接口與用戶102交互。
如在這個示例場景100中進一步舉例說明的,為了能夠訪問各種應用108,設備104可以允許用戶102指定將用于每一個應用108的呈現(xiàn)組件106。作為第一示例,用戶102可能希望在第一顯示器上呈現(xiàn)文本編輯器應用108,并因此可以實例化文本編輯器應用108且將包含應用108的窗口安置在第一顯示器的特定區(qū)域中。作為第二示例,用戶102可能希望在第一顯示器和第二顯示器二者上查看郵件,并因此可以請求電子郵件客戶端應用108在每一個顯示器上渲染不同的消息。作為第三示例,用戶102可以請求通過媒體播放器來向不同的音頻設備播放不同類型的音頻輸出(例如通過揚聲器播放音樂,同時通過耳機播放音頻書),并因此可以請求媒體播放器108將每一個音頻流定向至恰當?shù)囊纛l設備。
如在這個示例場景100中進一步舉例說明的,當用戶102利用應用108時,設備104可以生成和維持具有根據(jù)由用戶針對應用108進行的最近的按時間順序訪問、以降序方式排序的堆棧(stack)順序112的應用堆棧110。例如,如果用戶102選擇文本編輯器應用108,設備104可以將文本編輯器應用108移動到應用堆棧110的頂部114(例如,指示文本編輯器應用108當前具有輸入焦點和/或是在設備104的所有應用108之中具有用戶激活的最新日期的“頂端(topmost)”應用108)。設備104可以采用各種方式來渲染應用堆棧110中的應用108;例如,使用應用108的Z軸次序,設備104可以在前景位置中在應用堆棧110的頂部114呈現(xiàn)應用108,并且可以在越來越多的背景位置中以較低Z軸次序呈現(xiàn)相繼應用108。此外,用戶102可以請求應用108同時利用多個呈現(xiàn)組件106;例如,電子郵件客戶端應用108可以在兩個設備中的每一個設備上同時呈現(xiàn)消息,并且網(wǎng)絡瀏覽器108可以在顯示器呈現(xiàn)組件106上呈現(xiàn)網(wǎng)頁并通過揚聲器呈現(xiàn)組件106來播放與網(wǎng)頁相關聯(lián)的音頻。尤其,如在圖1的示例場景100中所舉例說明的,設備104利用共享應用堆棧110,其中任何應用108的實例化和/或調用導致在應用堆棧110上條目的插入,而不論在哪里呈現(xiàn)應用108。
設備104也可以使用應用堆棧110來使得用戶102能夠在應用108之間導航。作為第一這樣的示例,如果用戶102發(fā)起請求設備104離開在應用堆棧110的頂部114上的當前應用108的轉移的“后退”操作116,則設備104可以識別在應用堆棧110中較低的第二應用108并且可以重新排序應用堆棧110的順序114,以便將第二應用108放置在以前在應用堆棧110的頂部114的當前應用108的上方。作為第二這樣的示例,設備104可以向用戶102呈現(xiàn)當前正在設備上運行的所有應用108的完整列表(例如,進程列表),以便選擇特定應用108;以及響應于用戶102發(fā)起這樣的應用108的選擇,設備104可以將選擇應用108放置在應用堆棧110的頂部114。作為第三這樣的示例,設備104可以向用戶102呈現(xiàn)可用于設備104并且可以在設備104上執(zhí)行的所有應用108的列表或菜單118。響應于從用戶102接收到這樣的應用108的選擇,設備104可以在應用108不是已在運行時實例化應用108(或者可以在應用108已在運行時創(chuàng)建附加的實例),可以將選擇應用108插入應用堆棧110的頂部114,并且可以向用戶102呈現(xiàn)應用實例。以這種方式,設備104可以使得用戶102能夠利用各種各樣的技術來使得用戶102能夠在執(zhí)行在設備104上的應用108之間導航。
然而,圖1的示例場景100也舉例說明在這樣的應用選擇技術的實現(xiàn)中可能出現(xiàn)的許多缺點。
作為第一這樣的示例,設備104可以包括相對較大組的呈現(xiàn)組件106。這樣的呈現(xiàn)組件106甚至可以遠離設備104的物理位置,諸如位于另一房間、建筑物或城市中的投影儀或揚聲器。用戶102可能由于必須為每一個應用108選擇在其上面可以呈現(xiàn)應用108的呈現(xiàn)設備106而感到沮喪。如果設備104包括大量的顯示器,則對于用戶102挑選和管理在其上面呈現(xiàn)應用108的特定呈現(xiàn)組件104的選擇而言可能是令人沮喪的。例如,呈現(xiàn)應用堆棧110中的應用108的完整列表和/或所有應用菜單118在該列表包括潛在大量的應用108時可能使用戶102沮喪和/或在視覺上壓倒(overwhelm)用戶102。
作為第二這樣的示例,設備104可以包括相對大量的執(zhí)行和/或潛在可執(zhí)行的應用108。管理這樣的大量應用108的呈現(xiàn)可能變得困難。例如,如果用戶102通過同一電子郵件客戶端應用108打開許多電子郵件消息,在這些消息全部在同一顯示器上打開而其他顯示器可能尚未使用的情況下可能是令人沮喪的。相反,用戶102可能由于電子郵件消息跨越眾多顯示器的分布而感到沮喪,并且可能難以找到和管理打開電子郵件消息的選集(collection)。此外,即使用戶102能夠找到該批(batch)相關的電子郵件消息,用戶102也可能必須重新安排在相應顯示器上呈現(xiàn)的電子郵件消息的位置和大小,以便一起閱讀這些消息。
作為第三這樣的示例,由用戶102進行的特定應用108的選擇由于相對大量的呈現(xiàn)組件106和/或應用108而可能是復雜的。作為第一這樣的示例,為了選擇用于交互的特定應用108,用戶102可以嘗試逐頁瀏覽應用堆棧110。然而,如果應用108被深埋在應用堆棧110的順序112內,用戶可能難以定位應用108。此外,雖然用戶102根據(jù)堆棧順序112在應用堆棧102的應用108之間切換,但是各種呈現(xiàn)組件106可以接收和/或失去輸入和輸出焦點,這可能向用戶102創(chuàng)建紊亂的計算環(huán)境的外觀。
作為第四這樣的示例,當用戶實例化和/或激活應用108時,設備104可以激活應用堆棧110中的應用108,但是可能沒有充分地通知用戶102用于應用108的呈現(xiàn)組件106。例如,“后退”操作116可以被執(zhí)行而不將應用108 通知用戶102,和/或呈現(xiàn)組件106已被選擇用于新的頂端呈現(xiàn)。用戶102因此可能必須個別地并且有可能在長度上(at length)探測呈現(xiàn)設備106,以便確定用戶輸入和輸出的當前焦點。這樣的混亂也可能出現(xiàn)在用戶102請求打開新應用108的時候;設備104可以選擇呈現(xiàn)組件106并在選擇呈現(xiàn)組件106上實例化應用108,但是可能無法通知用戶102有關已選擇哪一個呈現(xiàn)組件106。實際上,用戶102甚至可能不理解實例化應用108的請求已被設備104履行。在一些場景中,這樣的選擇可以被任意執(zhí)行,或者至少可以對用戶102而言似乎是任意的,從而加劇用戶102在與設備104上的眾多應用108交互時的沮喪。例如,用戶102可以理解在應用堆棧110上的頂端應用108和第二應用108二者被呈現(xiàn)在第一顯示器上,但是可能不理解在第二顯示器上呈現(xiàn)的第三應用108在應用堆棧110中位于這樣的應用之間。在請求“后退”操作116中,用戶102可以預料到設備102至第二應用108的轉移并且可以為了響應而觀看第一顯示器,而且可能沒有注意到第三應用108在第二顯示器上的激活。此外,用戶102可以給設備104提供打算與第二應用108交互的輸入(例如在鍵盤上輸入打算用于第二應用108的文本),但是用戶輸入可能不經(jīng)意地被定向至第三應用108而非第二應用108。
作為第五這樣的示例,這樣的應用108的呈現(xiàn)在視覺上壓倒性的后果可能由于提供各種各樣的應用視圖的應用108而加??;例如,如果電子郵件客戶端為每一個消息呈現(xiàn)不同的應用窗口110,應用列表在用戶102同時在查看一打或更多電子郵件消息時可能變得難處理的。相反,應用堆棧110可以將同一應用108的應用視圖一起組合在應用堆棧110中,和/或可以將選擇應用108的多個視圖的呈現(xiàn)合并(consolidate)為應用堆棧110中的一個條目,但是這樣的應用堆棧110內的組合和/或合并可能干擾個人訪問具體應用視圖的能力。例如,在一些場景中,應用108可以通過制止插入特定應用視圖的條目來制止過度利用應用堆棧110(例如,媒體播放器可以制止插入通過不同的音頻組件播放的音樂的不同條目),但是這樣的制止可能使得尋求經(jīng)由應用堆棧110來激活特定應用視圖并與之交互的用戶102感到沮喪。這些和其他困難可能出現(xiàn)在以圖1的示例場景100中呈現(xiàn)的方式使用共享應用堆棧110的設備104的計算環(huán)境的應用108的呈現(xiàn)中。
B. 呈現(xiàn)的技術
在本文呈現(xiàn)的是用于將設備104配置成向具有至少兩個呈現(xiàn)組件108的設備104的用戶102呈現(xiàn)應用108的技術。根據(jù)這樣的技術,設備104可以為每一個呈現(xiàn)組件106生成和維持不同的應用呈現(xiàn)歷史,其指示已在呈現(xiàn)組件106上呈現(xiàn)的應用108的應用呈現(xiàn)。當用戶102請求離開在選擇呈現(xiàn)組件上的當前應用呈現(xiàn)的轉移(例如在特定顯示器上請求“后退”操作)時,設備104可以限制從當前應用呈現(xiàn)到同一呈現(xiàn)組件106上的其他應用呈現(xiàn)的轉移。以這種方式,用戶102在特定于每一個呈現(xiàn)組件106的應用呈現(xiàn)之間切換的意圖可以以直觀且有效的方式來履行。
圖2呈現(xiàn)根據(jù)在本文呈現(xiàn)的技術表征用戶102與在設備104的各種呈現(xiàn)組件106上呈現(xiàn)的應用108進行的交互的示例場景200的圖解。在這個示例場景200中,設備104執(zhí)行各種各樣的應用108,每一個應用在設備104的各種呈現(xiàn)組件106諸如一對顯示器、一對揚聲器和耳機設備上呈現(xiàn)一個或多個應用呈現(xiàn)204(例如窗口、全區(qū)域或部分區(qū)域顯示、圖像、用戶控制、應用圖標、菜單欄圖標、媒體流和游戲對話)。相應應用108也可以呈現(xiàn)一個或多個應用視圖,諸如針對若干電子郵件消息中的每一個呈現(xiàn)不同的應用視圖的電子郵件客戶端,其可以被呈現(xiàn)在相同的或不同的呈現(xiàn)組件106上。
根據(jù)在本文呈現(xiàn)的技術,設備104為每一個呈現(xiàn)組件106生成不同的應用呈現(xiàn)歷史202,其指示已呈現(xiàn)在呈現(xiàn)組件106上的應用108的應用呈現(xiàn)208。響應于在選擇呈現(xiàn)組件106上呈現(xiàn)應用呈現(xiàn)204,設備104將應用呈現(xiàn)204記錄在呈現(xiàn)組件106的應用呈現(xiàn)歷史202中。這樣的特定于每個呈現(xiàn)組件106的應用呈現(xiàn)204的記錄可以促進由用戶102進行的在設備104的計算環(huán)境的應用呈現(xiàn)204之間的導航。例如,響應于從用戶102接收到將選擇呈現(xiàn)組件106轉移離開當前應用呈現(xiàn)206的請求(例如,應用呈現(xiàn)204在呈現(xiàn)組件106的應用呈現(xiàn)歷史202中具有頂端位置),設備104從選擇呈現(xiàn)組件106的應用呈現(xiàn)歷史202中選擇第二應用呈現(xiàn)208,并將選擇呈現(xiàn)組件106從當前應用呈現(xiàn)206轉移到第二應用呈現(xiàn)208。以這種方式,根據(jù)在本文呈現(xiàn)的技術,設備104可以允許用戶102為選擇顯示器發(fā)起“后退”操作116,以便只在選擇顯示器上提供的應用呈現(xiàn)108之間導航、切換和/或轉移。
C. 技術效果
在本文呈現(xiàn)的用于在設備104上的相應應用108的應用呈現(xiàn)204之間轉移的技術的使用可以導致各種各樣的技術效果。
作為可以利用在本文呈現(xiàn)的技術可實現(xiàn)的技術效果的第一示例,利用在本文呈現(xiàn)的技術的設備104可以允許用戶102以直觀方式在應用呈現(xiàn)208之間轉移。這樣的設備104可以將導航集合(set)之中的應用呈現(xiàn)208的集合約束至位于選擇呈現(xiàn)組件106的應用呈現(xiàn)歷史202內的應用呈現(xiàn),而不是導航通過在任一呈現(xiàn)組件106上提供的整個集合的應用呈現(xiàn)204。計算環(huán)境的應用轉移和導航功能因此可以為用戶102提供更有效的且可理解的用戶界面和用戶體驗。
作為可以利用在本文呈現(xiàn)的技術可實現(xiàn)的技術效果的第二示例,利用在本文呈現(xiàn)的技術的設備104可以呈現(xiàn)更大的可擴展性,以使得用戶102能夠與較大數(shù)量的應用108和呈現(xiàn)組件106進行交互。例如,呈現(xiàn)大量顯示器(例如超過二十顯示器)的設備104可以向尋求與跨越所有這樣的顯示器呈現(xiàn)的應用108交互的用戶102、尤其在這樣的應用108是同一計算環(huán)境的一部分的情況下呈現(xiàn)比較令人沮喪的用戶體驗。在本文呈現(xiàn)的技術可以促進由用戶102進行的這樣的訪問,從而降低針對添加呈現(xiàn)組件106至設備104的用戶界面和管理障礙,并使得用戶102能夠同時與跨越許多這樣的呈現(xiàn)組件106所呈現(xiàn)的大量應用108交互,同時利用更大的流暢性和速度在其之間快速切換。
作為可以利用在本文呈現(xiàn)的技術可實現(xiàn)的技術效果的第三示例,允許用戶102在針對特定呈現(xiàn)組件106的應用呈現(xiàn)204之間轉移的用戶界面可以降低用戶混亂(例如其中用戶102不確定哪一個應用108當前具有焦點,或甚至是否實例化和/或激活特定應用呈現(xiàn)204的請求已被接收并被履行)的發(fā)生率。這樣的技術也可以減少用戶輸入的錯誤,例如其中用戶102打算激活特定應用呈現(xiàn)204并與之交互,但是不經(jīng)意地激活和提供用戶輸入至不同的呈現(xiàn)組件106上不同的應用呈現(xiàn)204。通過啟用根據(jù)在本文呈現(xiàn)的技術的應用呈現(xiàn)轉移,可以避免許多這樣的用戶輸入錯誤、不一致性和用戶誤解的情況。
作為可以利用在本文呈現(xiàn)的技術可實現(xiàn)的技術效果的第四示例,在用于相應的呈現(xiàn)組件106的不同的應用呈現(xiàn)歷史202中相應應用108的應用呈現(xiàn)204的記錄可以啟用通過其他技術不容易實現(xiàn)的各種各樣的特性。作為第一這樣的示例,記錄特定應用108的應用呈現(xiàn)歷史204可以針對同一應用204;針對同一應用204的不同應用呈現(xiàn)204;和/或針對不同的但是相似的應用204啟用同一呈現(xiàn)組件106的后續(xù)選擇和利用。例如,當用戶102請求收聽語音郵件消息時,可以檢查相應的呈現(xiàn)組件106的應用呈現(xiàn)歷史202來確定用戶102為這樣的消息的呈現(xiàn)頻繁選擇哪一個呈現(xiàn)組件106和/或確定哪一個呈現(xiàn)組件106適合于特定的應用呈現(xiàn)204(例如基于當前和/或以前在相應的呈現(xiàn)組件106上提供的其他應用呈現(xiàn)204)。此外,記錄相應的呈現(xiàn)組件106的應用呈現(xiàn)歷史202的設備104的配置可以在設備104上執(zhí)行的所有應用108之間協(xié)商一致的應用行為,而不是將呈現(xiàn)組件106之間的選擇委托給應用108。這些和其他的技術效果可以通過用于根據(jù)在本文呈現(xiàn)的技術在設備104上的相應應用108的應用呈現(xiàn)204之間轉移的設備104的配置而是可實現(xiàn)的。
D. 示例實施例
圖3呈現(xiàn)在本文呈現(xiàn)的技術的第一示例實施例,其被舉例說明為將設備104配置成在至少兩個呈現(xiàn)設備105上呈現(xiàn)應用108的示例方法300。示例方法300可以例如被實現(xiàn)為指令集,其被存儲在設備104的存儲組件諸如存儲電路、硬盤驅動器的盤片、固態(tài)存儲設備或者磁盤或光盤中并被組織,以致當在設備的處理器上被執(zhí)行時導致設備104根據(jù)在本文呈現(xiàn)的技術來操作。
示例方法300開始于302并牽涉在設備的處理器上執(zhí)行304這些指令。具體地,在處理器上執(zhí)行304這些指令導致設備104為相應的呈現(xiàn)組件106生成306應用呈現(xiàn)歷史202,其識別應用108通過呈現(xiàn)組件106的應用呈現(xiàn)204。在處理器上執(zhí)行304這些指令也導致設備104響應于通過選擇呈現(xiàn)組件106呈現(xiàn)選擇應用108的應用呈現(xiàn)204而將應用呈現(xiàn)204記錄在選擇呈現(xiàn)組件106的應用呈現(xiàn)歷史202中。在處理器上執(zhí)行304這些指令也導致設備104響應310于接收到將選擇呈現(xiàn)組件106轉移離開當前應用呈現(xiàn)206的請求而從選擇呈現(xiàn)組件106的應用呈現(xiàn)歷史202中選擇312第二應用呈現(xiàn)208;以及將選擇呈現(xiàn)組件106從當前應用呈現(xiàn)206轉移314到第二應用呈現(xiàn)208。以這種方式,這些指令導致設備104根據(jù)在本文呈現(xiàn)的技術在相應的呈現(xiàn)組件106上呈現(xiàn)應用102,并因此結束于316。
圖4呈現(xiàn)在本文呈現(xiàn)的技術的第二示例實施例,其被舉例說明為在表征處理器404、存儲器406和至少兩個呈現(xiàn)組件106的示例設備402上實現(xiàn)的示例系統(tǒng)408,其中示例系統(tǒng)408導致設備402根據(jù)在本文呈現(xiàn)的技術來呈現(xiàn)應用108。示例系統(tǒng)408可以例如被實現(xiàn)為分別包括存儲在設備402的存儲器406中的指令集的一組組件,其中相應組件的指令當被執(zhí)行在處理器404上時導致設備402根據(jù)在本文呈現(xiàn)的技術來操作。
示例系統(tǒng)408包括用于相應的呈現(xiàn)組件106的應用呈現(xiàn)歷史202,其識別應用108通過呈現(xiàn)組件106的應用呈現(xiàn)204。示例系統(tǒng)408也包括應用歷史記錄器410,其響應于通過選擇呈現(xiàn)組件106來呈現(xiàn)選擇應用108的應用呈現(xiàn)204而將應用呈現(xiàn)204記錄在選擇呈現(xiàn)組件106的應用呈現(xiàn)歷史202中。示例系統(tǒng)408也包括應用切換器412,其響應于接收到將選擇呈現(xiàn)組件106轉移離開當前應用呈現(xiàn)206的請求而從選擇呈現(xiàn)組件106的應用呈現(xiàn)歷史202中選擇第二應用呈現(xiàn)208,并將選擇呈現(xiàn)組件106從當前應用呈現(xiàn)206轉移到第二應用呈現(xiàn)208。以這種方式,示例系統(tǒng)408使得設備402能夠根據(jù)在本文呈現(xiàn)的技術在至少兩個呈現(xiàn)組件106上呈現(xiàn)應用108。
還一實施例牽涉計算機可讀介質,其包括被配置成應用在本文呈現(xiàn)的技術的處理器可執(zhí)行指令。這樣的計算機可讀媒體可以包括各種類型的通信媒體,諸如可以通過各種物理現(xiàn)象并且在各種有線場景(例如經(jīng)由以太網(wǎng)或光纖電纜)和/或無線場景(例如無線局域網(wǎng)(WLAN)諸如WiFi、個人區(qū)域網(wǎng)(PAN)諸如Bluetooth(藍牙)或者蜂窩或無線電網(wǎng)絡)中傳播并且編碼計算機可讀指令集的信號(例如電磁信號、聲波信號或光信號),這些指令當被設備的處理器執(zhí)行時導致設備實現(xiàn)在本文呈現(xiàn)的技術。這樣的計算機可讀媒體也可以包括(作為將通信媒體排除在外的技術的類別)計算機可讀存儲設備,諸如半導體存儲器(例如利用靜態(tài)隨機存取存儲器(SRAM)、動態(tài)隨機存取存儲器(DRAM)和/或同步動態(tài)隨機存取存儲器(SDRAM)技術的半導體)、硬盤驅動器的盤片、閃存設備或者磁盤或光盤(諸如CD-R、DVD-R或軟盤),其編碼計算機可讀指令集,這些指令在被設備的處理器執(zhí)行時導致設備實現(xiàn)在本文呈現(xiàn)的技術。
在圖5中舉例說明可以采用這些方式來設計的計算機可讀介質的示例,其中實現(xiàn)方式500包括在其上面編碼計算機可讀數(shù)據(jù)504的計算機可讀存儲設備502(例如CD-R、DVD-R或硬盤驅動器的盤片)。這個計算機可讀數(shù)據(jù)504又包括計算機指令506的集合,這些指令當在具有至少兩個呈現(xiàn)組件106的設備510的處理器404上被執(zhí)行時導致設備510根據(jù)在本文闡述的原理來操作。在第一這樣的實施例中,處理器可執(zhí)行指令506可以導致設備510執(zhí)行在具有至少兩個呈現(xiàn)組件106的設備104上呈現(xiàn)應用108的方法,諸如圖3的示例方法300。在第二這樣的實施例中,處理器可執(zhí)行指令506可以導致設備510呈現(xiàn)應用108,諸如圖4的示例系統(tǒng)408。本領域普通技術人員可以設計許多這樣的被配置成根據(jù)在本文呈現(xiàn)的技術來操作的計算機可讀媒體。
E. 變異
在本文討論的技術可以利用許多方面的變異(variation)來設計,并且其中一些變異可以呈現(xiàn)附加的優(yōu)勢和/或減少針對這些和其他技術的其他變異的劣勢。此外,一些變異可以在組合中進行實現(xiàn),并且一些組合可以表征通過協(xié)同合作的附加的優(yōu)勢和/或減少的劣勢。這些變異可以被引入各種實施例(例如圖3的示例方法300;圖4的示例系統(tǒng)408;和圖5的示例存儲設備502)中,以便在這樣的實施例上賦予個別和/或協(xié)同優(yōu)勢。
E1. 場景
可以在這些技術的實施例之間改變的第一方面涉及其中可以利用這樣的技術的場景。
作為這個第一方面的第一變異,在本文呈現(xiàn)的技術可以被利用來實現(xiàn)各種各樣的設備104的配置,諸如工作站、膝上型計算機、平板計算機、移動電話、游戲機、便攜式游戲設備、便攜式或非便攜式媒體播放器、媒體顯示設備諸如電視、電器、家庭自動化設備、與集成諸如目鏡或手表的可穿戴設備相集成的計算組件以及監(jiān)控與數(shù)據(jù)采集(SCADA)設備。
作為這個第一方面的第二變異,在本文呈現(xiàn)的技術可以利用具有應用呈現(xiàn)204的各種應用108來加以利用,其中這些應用諸如是:辦公室生產(chǎn)率(productivity)應用;媒體呈現(xiàn)應用,諸如音頻和視頻播放器;通信應用,諸如網(wǎng)絡瀏覽器、電子郵件客戶端、聊天客戶端和IP上語音(VoIP)客戶端;導航應用,諸如地理定位、映射和路由選擇應用;實用程序,諸如向用戶102呈現(xiàn)警報的天氣與新聞監(jiān)視應用;以及游戲。此外,應用108的應用呈現(xiàn)204可以牽涉一個或多個呈現(xiàn)形態(tài),諸如文本、圖像、直播和/或預先記錄的視頻、音效、音樂、語音、觸覺反饋、三維渲染與交互式和/或非交互式用戶界面以及用于從用戶102接收用戶輸入諸如文本輸入、指向輸入、觸覺輸入、手勢輸入、語言輸入和視線追蹤輸入的各種技術。
作為這個第一方面的第三變異,在本文呈現(xiàn)的技術可以利用設備104和呈現(xiàn)組件106的各種各樣的架構來加以利用。作為第一這樣的示例,設備104可以利用一個或多個直接地且物理地連接到設備104的呈現(xiàn)組件106,諸如有線顯示器、揚聲器和耳機。作為第二這樣的示例,設備104可以利用經(jīng)由無線連接諸如射頻而可訪問的一個或多個呈現(xiàn)組件106。作為第三這樣的示例,設備104可以利用通過網(wǎng)絡而可訪問的一個或多個呈現(xiàn)組件106,諸如設備104通過因特網(wǎng)流式傳輸(stream)視頻至的顯示器。作為第四這樣的示例,設備104可以利用通過第二設備104而可訪問的諸如在客戶端/服務器或對等架構中的一個或多個呈現(xiàn)組件106。此外,這樣的設備104和/或呈現(xiàn)組件106可以由一個用戶102或一組用戶102來利用,和/或可以由至少一個第一用戶102代表至少一個第二用戶102來控制。這些和其他場景可能適合于根據(jù)在本文呈現(xiàn)的技術在設備104的呈現(xiàn)組件106上的應用108的呈現(xiàn)。
E2. 應用呈現(xiàn)和應用呈現(xiàn)歷史
可以在本文呈現(xiàn)的技術的實施例之間改變的第二方面涉及應用108在一個或多個呈現(xiàn)組件106上的應用呈現(xiàn)204的性質以及應用呈現(xiàn)204在相應的呈現(xiàn)組件106上的應用呈現(xiàn)歷史202的記錄。
作為這個第二方面的第一變異,相應的呈現(xiàn)組件的應用呈現(xiàn)歷史202進一步代表其中已通過呈現(xiàn)組件206呈現(xiàn)應用呈現(xiàn)204的應用順序歷史。作為一個這樣的示例,應用呈現(xiàn)歷史202可以展示出其中已通過呈現(xiàn)組件206呈現(xiàn)應用呈現(xiàn)204和/或其中用戶102已選擇應用呈現(xiàn)204和/或已與之交互的堆棧順序112。在轉移離開當前應用呈現(xiàn)208的上下文中選擇第二應用呈現(xiàn)208因此可以包括:選擇在用于選擇呈現(xiàn)組件106的應用呈現(xiàn)歷史202的應用順序歷史中在當前應用呈現(xiàn)206之前的第二應用呈現(xiàn)208。替換地或附加地,應用呈現(xiàn)歷史202可以采用其他方式來存儲,諸如應用呈現(xiàn)204的調用順序(例如在不太最近實例化的應用202之前呈現(xiàn)最近實例化的應用202);用戶對于相應的應用呈現(xiàn)206的偏好(例如,用戶102可以請求:媒體應用諸如視頻的應用呈現(xiàn)204將在其他應用108的應用呈現(xiàn)204之前被選擇和/或在其他應用108的應用呈現(xiàn)204上方以Z軸次序來呈現(xiàn));優(yōu)先級和/或緊迫性(例如,與例程或不太重要的應用呈現(xiàn)204相比,緊迫的信息消息可以利用較高位置被插入應用呈現(xiàn)歷史202中);和/或資源利用(例如,牽涉重要計算資源諸如網(wǎng)絡帶寬和/或處理器容量的應用呈現(xiàn)204可以被呈現(xiàn)在牽涉不太重要計算資源的其他應用呈現(xiàn)204上方)。替換地或附加地,應用呈現(xiàn)歷史202可以合并、組合和/或以其他方式關聯(lián)與特定應用108相關聯(lián)的應用呈現(xiàn)歷史202的應用呈現(xiàn)204。作為一個這樣的示例,選擇應用108可以進一步包括至少兩個應用視圖。應用呈現(xiàn)204的記錄因此可以包括:響應于通過選擇呈現(xiàn)組件106來呈現(xiàn)選擇應用108的選擇應用視圖,將選擇應用的選擇應用視圖的應用呈現(xiàn)記錄到選擇呈現(xiàn)組件106的應用呈現(xiàn)歷史202中。例如,電子郵件客戶端在同時且不同地呈現(xiàn)許多電子郵件消息,并且在選擇呈現(xiàn)組件106上呈現(xiàn)一個這樣的消息時,設備104可以將相應電子郵件消息的應用呈現(xiàn)204組合到選擇呈現(xiàn)組件106的應用呈現(xiàn)歷史202中。
作為這個第二方面的第二變異,設備104可以使用相應呈現(xiàn)組件106的應用呈現(xiàn)歷史202來幫助用戶102選擇特定應用呈現(xiàn)204,用于在選擇呈現(xiàn)組件106上的呈現(xiàn)。例如,設備104可以在選擇呈現(xiàn)組件106上向用戶102呈現(xiàn)在應用呈現(xiàn)歷史202中具有至少一個應用呈現(xiàn)108的應用108的列表,并且響應于從用戶102接收到第二應用108的選擇,設備104可以將選擇呈現(xiàn)組件106從當前應用呈現(xiàn)206轉移到從應用呈現(xiàn)204之間選擇的第二應用呈現(xiàn)208。
圖6呈現(xiàn)表征用于從呈現(xiàn)組件106 的應用呈現(xiàn)歷史202中的應用呈現(xiàn)204之中選擇第二應用呈現(xiàn)208的一種這樣的技術的示例場景600的圖解。在這個示例場景600中,應用呈現(xiàn)歷史202指示呈現(xiàn)組件106當前正在呈現(xiàn)包括當前應用呈現(xiàn)206的若干應用呈現(xiàn)204。此外,當前應用呈現(xiàn)204與任務流602相關聯(lián),其中任務流牽涉將通過各種應用108根據(jù)任務順序來執(zhí)行的任務的許多步驟。例如,用戶102可以通過跟隨任務流602頻繁地生成客戶端的報告,其中任務流牽涉:利用數(shù)據(jù)分析應用108執(zhí)行的數(shù)據(jù)分析步驟;利用報告編輯器應用108執(zhí)行的報告編輯步驟;利用公布器(publisher)應用108執(zhí)行的公布步驟;和利用電子郵件客戶端108執(zhí)行的報告步驟。此外,應用呈現(xiàn)歷史202中的相應應用呈現(xiàn)204可以與任務流602的步驟相關,并且設備104可以促進用戶102根據(jù)任務順序來完成任務。相應地,在從用戶102接收到從與任務流602的第一應用108相關聯(lián)的當前應用呈現(xiàn)206轉移的請求(例如檢測到用戶102已完成任務流602的第一步驟)時,設備104可以選擇按照任務流602的任務順序跟隨在當前應用呈現(xiàn)206后面的第二應用呈現(xiàn)208。
作為這個第二方面的第三變異,選擇呈現(xiàn)組件106上的應用呈現(xiàn)204可以采用各種方式來實現(xiàn)。作為第一這樣的示例,在選擇呈現(xiàn)組件106進一步包括顯示器的情況下,應用順序歷史可以與呈現(xiàn)在顯示器上的應用呈現(xiàn)204的Z軸次序相關聯(lián);并且將選擇呈現(xiàn)組件106從當前應用呈現(xiàn)206轉移到第二應用呈現(xiàn)208可以通過按照顯示器的Z軸次序將第二應用呈現(xiàn)208重新排序在當前應用呈現(xiàn)206上方來實現(xiàn)。作為第二這樣的示例,設備104可以將當前應用呈現(xiàn)206呈現(xiàn)為全顯示器(full-display)呈現(xiàn),并且可以通過利用第二應用呈現(xiàn)208替代全顯示器當前應用呈現(xiàn)206(可選地使用視覺轉移,諸如淡入淡出、擦拭、滑動或溶解轉換)來轉移到第二應用呈現(xiàn)208。作為第三這樣的示例,設備104可以將布局應用于呈現(xiàn)組件106;例如,應用呈現(xiàn)204可以根據(jù)應用呈現(xiàn)歷史202在視覺上被安排在顯示器上,諸如將當前應用呈現(xiàn)206呈現(xiàn)在顯示器的頂部垂直位置上,并且通過垂直向下移動當前應用呈現(xiàn)206和將第二應用呈現(xiàn)208垂直插入在當前應用呈現(xiàn)206上方而轉移到第二應用呈現(xiàn)208。作為第四這樣的示例,設備104可以包括呈現(xiàn)隊列,諸如優(yōu)先化音頻應用呈現(xiàn)204的音頻設備(例如揚聲器),以致只有應用呈現(xiàn)歷史202中的當前應用呈現(xiàn)206可以在當前時間利用揚聲器或者可以在同時呈現(xiàn)的音頻應用呈現(xiàn)204之間具有最高音量。相應地,音頻呈現(xiàn)組件106可以通過以有利于第二應用呈現(xiàn)208的音頻的方式暫?;驕p弱當前應用呈現(xiàn)206(例如淡出和/或減小當前應用呈現(xiàn)204的音頻的音量)而轉移到第二應用呈現(xiàn)208。許多這樣的技術可以被利用來代表應用呈現(xiàn)歷史202并且根據(jù)在本文呈現(xiàn)的技術來呈現(xiàn)應用呈現(xiàn)204和在其之間轉移。
E3. 應用呈現(xiàn)類型
可以在本文呈現(xiàn)的技術的實施例之間改變的第三方面牽涉在選擇呈現(xiàn)組件106上提供的應用呈現(xiàn)204的類型。
根據(jù)在本文呈現(xiàn)的技術,相應的應用呈現(xiàn)204可能與應用呈現(xiàn)類型相關聯(lián)。例如,應用呈現(xiàn)204可以不同地包括:用戶交互式或非用戶交互式呈現(xiàn);利用各種輸入形態(tài)(例如鍵盤、指針、語音和/或手勢)和/或輸出形態(tài)(例如文本、圖像、視頻、聲音、語音和/或觸覺)的呈現(xiàn);和牽涉各種量的用戶關注(user attention)的呈現(xiàn)(例如牽涉深度卷入的(involved)和/或持久的(protracted)用戶關注參與(engagement)的應用呈現(xiàn)204以及牽涉偶然的、膚淺的和/或短暫的用戶關注參與的應用呈現(xiàn)204)。替換地或附加地,相應的呈現(xiàn)組件106可以與應用呈現(xiàn)類型相關聯(lián);例如,用戶102可以利用桌面顯示器呈現(xiàn)組件106來從事卷入的且持久的應用呈現(xiàn)204,利用移動顯示器呈現(xiàn)組件106來從事偶然的應用呈現(xiàn)204,并且僅利用給應用呈現(xiàn)204提供車輛界面的儀表安裝的呈現(xiàn)組件106來從事選擇性的且面向車輛的交互。相應地,在本文呈現(xiàn)的技術的實施例可以在將選擇呈現(xiàn)組件106轉移到第二應用呈現(xiàn)208的同時調整第二應用呈現(xiàn)208,以適合于與第二應用呈現(xiàn)208和/或選擇呈現(xiàn)組件106相關聯(lián)的應用呈現(xiàn)類型。
圖7呈現(xiàn)表征在應用呈現(xiàn)204的調整中的若干變異以實現(xiàn)應用呈現(xiàn)類型706的示例場景700的圖解。在這個示例場景700中,應用呈現(xiàn)204牽涉用戶102希望在若干呈現(xiàn)組件106中的一個呈現(xiàn)組件上體驗的文本條款。因為每一個呈現(xiàn)組件106展示出不同的屬性和/或不同的上下文,所以應用呈現(xiàn)204的應用呈現(xiàn)類型704可以鑒于選擇呈現(xiàn)組件106來選擇。作為這個第三方面的第一這樣的變異,相應的呈現(xiàn)組件106可以根據(jù)呈現(xiàn)能力來呈現(xiàn)應用呈現(xiàn)204。例如,包括顯示器的呈現(xiàn)組件106可以被確定成支持視頻和/或靜態(tài)圖像,并且包括揚聲器的呈現(xiàn)組件106可以被確定成支持音頻。設備104因此通過為利用選擇呈現(xiàn)組件106的呈現(xiàn)能力702的應用呈現(xiàn)204選擇應用呈現(xiàn)類型702來呈現(xiàn)應用呈現(xiàn)204。例如,如果選擇桌面顯示器呈現(xiàn)組件106,則文本條款的完整文本和圖像可以被選擇作為應用呈現(xiàn)類型706;如果選擇表征小型顯示器和有限計算資源的移動設備呈現(xiàn)組件106,則文本條款的概要可以被選擇作為應用呈現(xiàn)類型706;而如果選擇耳機呈現(xiàn)組件106,則文本條款的音頻轉錄可以被選擇作為應用呈現(xiàn)類型706。
圖7的示例場景700也舉例說明這個第三方面的第二這樣的變異,其中相應的呈現(xiàn)組件106與呈現(xiàn)組件策略704相關聯(lián)。例如,車輛呈現(xiàn)組件106可以表征包括呈現(xiàn)音頻和視頻的呈現(xiàn)能力702,但是可以實現(xiàn)在車輛正在移動的同時限制文本的顯示的呈現(xiàn)組件策略704。相應地,設備104可以選擇與選擇呈現(xiàn)組件106的呈現(xiàn)組件策略704相一致的應用呈現(xiàn)204的應用呈現(xiàn)類型706(例如呈現(xiàn)文本條款的只有音頻概要)。
作為這個第三方面的第三變異,應用歷史記錄器可以接收將應用呈現(xiàn)204從當前呈現(xiàn)組件106重新定位到選擇呈現(xiàn)組件106的請求。設備104可以在重新定位應用呈現(xiàn)204的同時將應用呈現(xiàn)204從通過當前呈現(xiàn)組件106與應用呈現(xiàn)204相關聯(lián)的當前應用呈現(xiàn)類型706重新格式化為選擇呈現(xiàn)組件106的應用呈現(xiàn)類型706。例如,在接收到將應用108的應用呈現(xiàn)204從顯示器呈現(xiàn)組件106移動到只有音頻呈現(xiàn)組件106的請求時,設備104可以將應用呈現(xiàn)204從基于文本的應用呈現(xiàn)類型706重新格式化為只有音頻應用呈現(xiàn)類型706。許多這樣的技術可以被利用來根據(jù)在本文呈現(xiàn)的技術為特定呈現(xiàn)組件106適配應用呈現(xiàn)204。
E4. 應用呈現(xiàn)狀態(tài)和呈現(xiàn)組件的選擇
可以在本文呈現(xiàn)的技術的實施例之間改變的第四方面牽涉選擇用于應用108的應用呈現(xiàn)204的呈現(xiàn)的呈現(xiàn)組件106的方式。
作為這個第四方面的第一變異,特定呈現(xiàn)組件108上的應用呈現(xiàn)204可以展示出來自相同或相似應用呈現(xiàn)204的先前呈現(xiàn)的特定呈現(xiàn)細節(jié)的持續(xù)性(persistence)。作為第一這樣的示例,其中選擇呈現(xiàn)組件進一步包括顯示器,應用呈現(xiàn)類型702可以進一步包括其中先前已呈現(xiàn)應用呈現(xiàn)204的顯示器的區(qū)域。設備104因此可以通過安置在其中先前已呈現(xiàn)第二應用呈現(xiàn)204的顯示器的區(qū)域中來呈現(xiàn)第二應用呈現(xiàn)208。作為第二這樣的示例,在先前應用呈現(xiàn)204牽涉到特定應用狀態(tài)諸如用戶102最后已消費的文本、視頻或音頻記錄中的位置的情況下,設備104可以使用最后已知的應用狀態(tài)來重新開始應用呈現(xiàn)204。
圖8呈現(xiàn)表征這個第四方面的若干變異的示例場景800的圖解,其中各種呈現(xiàn)組件106的應用呈現(xiàn)歷史202被利用來識別用于各種應用108的應用呈現(xiàn)204的選擇呈現(xiàn)組件106。在這個示例場景800中,設備104的用戶102與具有一個或多個應用呈現(xiàn)204的各種各樣的應用108交互,并且根據(jù)在本文呈現(xiàn)的技術,設備104將這樣的應用呈現(xiàn)204記錄在相應的呈現(xiàn)組件106的應用呈現(xiàn)歷史202中。此外,這樣的記錄可以促進針對這樣的應用108的進一步應用呈現(xiàn)204的呈現(xiàn)組件106的選擇。
作為這個第四方面的第二變異,圖8舉例說明同一應用108的第一應用視圖802和第二應用視圖802可以同時被呈現(xiàn)在不同的呈現(xiàn)組件106上。當用戶102請求第一呈現(xiàn)組件106的轉移來呈現(xiàn)第二應用視圖802時,設備104可以將第二應用呈現(xiàn)從先前呈現(xiàn)組件106的應用呈現(xiàn)歷史202移動到選擇呈現(xiàn)組件106的應用呈現(xiàn)歷史202。這樣的移動可以促進第二應用視圖802的呈現(xiàn)細節(jié)和/或應用狀態(tài)的保存和/或相同或相似應用108的多個應用視圖802在同一呈現(xiàn)組件106上的合并。
作為這個第四方面的第三變異,圖8舉例說明:當設備104接收到暫停具有在選擇呈現(xiàn)組件106的應用呈現(xiàn)歷史202中的應用呈現(xiàn)204的應用108的請求時,設備104可以從選擇呈現(xiàn)組件106的應用呈現(xiàn)歷史204中移除應用108的應用呈現(xiàn)204。替換地,設備104可以制止從應用呈現(xiàn)歷史202中移動應用108的應用呈現(xiàn)204,但是可以標記為不活動的和/或去優(yōu)先化(de-prioritize)應用呈現(xiàn)歷史202中的應用呈現(xiàn)204。
作為這個第四方面的第四變異,圖8舉例說明:在接收到在暫停應用108之后轉移到選擇應用108的第二應用呈現(xiàn)208的請求時,設備104可以重新實例化應用108。作為特定示例,其中該請求在暫停第二應用108的較早應用呈現(xiàn)204之后被接收到并且沒有指定其中將呈現(xiàn)重新實例化的應用108的第二應用呈現(xiàn)208的選擇呈現(xiàn)組件106,設備104可以識別在其上面呈現(xiàn)過應用108的較早應用呈現(xiàn)202的選擇呈現(xiàn)組件106。
圖9呈現(xiàn)表征這個第四方面的還進一步變異的示例場景900的圖解,其牽涉在設備104的呈現(xiàn)組件106之間針對應用108的應用呈現(xiàn)204的選擇呈現(xiàn)組件106的推薦。在這個示例場景900中,用戶102請求設備104呈現(xiàn)應用108的應用呈現(xiàn)204,諸如將通過視頻播放器播放的電影,但是沒有指定哪一個呈現(xiàn)組件106將被選擇用于應用呈現(xiàn)204。設備104可以基于可用呈現(xiàn)組件106的評估來執(zhí)行選擇和/或推薦。作為第一這樣的示例,其中相應呈現(xiàn)組件106根據(jù)呈現(xiàn)能力702(例如呈現(xiàn)視頻和/或音頻的相應呈現(xiàn)組件106的能力)來呈現(xiàn)應用呈現(xiàn)204,設備104可以識別具有被應用108的應用呈現(xiàn)204利用的呈現(xiàn)能力702的呈現(xiàn)組件106(例如由于不能播放視頻而排除(rule out)耳機呈現(xiàn)組件106)。作為第二這樣的示例,設備104可以評估每一個呈現(xiàn)組件106的應用呈現(xiàn)歷史202并因此可以排除展示不適合于應用呈現(xiàn)204的應用呈現(xiàn)歷史202的呈現(xiàn)組件106(例如,顯示器呈現(xiàn)組件106因為它當前正在顯示另一電影而可以被排除在外)。作為第三這樣的示例,如果多個呈現(xiàn)組件106被識別為適合于應用呈現(xiàn)204,設備104可以比較評估這樣的呈現(xiàn)組件(例如與不能顯示高清視頻的第三顯示器呈現(xiàn)組件106相比而言,選擇能夠顯示高清視頻的第二顯示器呈現(xiàn)組件106)。設備可以自動地選擇和利用通過這樣的比較評估來識別的呈現(xiàn)組件106,和/或可以向用戶102呈現(xiàn)這些結果,以便選擇(例如可選地與基于比較評估的推薦一起向用戶102呈現(xiàn)適合于應用呈現(xiàn)204的至少兩個呈現(xiàn)組件106的選項904的列表902)。響應于從用戶102接收到用戶選擇的呈現(xiàn)組件106的選項904的列表選擇906,設備104可以選擇用戶選擇的呈現(xiàn)組件106作為選擇呈現(xiàn)組件106用于第二應用204的第二應用呈現(xiàn)204。設備104隨后可以記錄應用呈現(xiàn)204作為選擇呈現(xiàn)組件106的應用呈現(xiàn)歷史202中的第二應用呈現(xiàn)208,并且可以將選擇呈現(xiàn)組件106轉移到第二應用呈現(xiàn)208。以這種方式,設備104可以根據(jù)在本文呈現(xiàn)的技術在用于應用呈現(xiàn)204的呈現(xiàn)組件106的選擇中引導用戶104。
E5. 應用呈現(xiàn)歷史靈活性和適應性
可以在本文呈現(xiàn)的技術的實施例之間改變的第五方面牽涉在設備104可以發(fā)起或允許相應呈現(xiàn)組件106的應用呈現(xiàn)歷史202的適應性時的環(huán)境。
作為這個第五方面的第一變異,用戶102可以請求在第一呈現(xiàn)組件106上查看第二呈現(xiàn)組件106的應用呈現(xiàn)歷史202(例如已發(fā)生在另一監(jiān)視器上的應用呈現(xiàn)206的列表)。響應于接收到列表中的選項的選擇,設備104或者可以在第二呈現(xiàn)組件106上呈現(xiàn)相關聯(lián)的應用呈現(xiàn)206(例如將選擇應用呈現(xiàn)206識別為第二呈現(xiàn)組件106的當前應用呈現(xiàn)206)。替換地,設備104可以將選擇應用呈現(xiàn)206從第二呈現(xiàn)組件106的應用呈現(xiàn)歷史202移動到第一呈現(xiàn)組件106的應用呈現(xiàn)歷史202(例如將應用108從第二監(jiān)視器移動到第一監(jiān)視器)。
作為這個第五方面的第二變異,第一應用呈現(xiàn)204可以與同一應用108或不同應用108的第二應用呈現(xiàn)204具有某種關系。例如,在選擇呈現(xiàn)組件106上呈現(xiàn)的第一應用108可能已利用也被呈現(xiàn)在選擇呈現(xiàn)組件106上的第二應用108(例如在用戶102選擇利用網(wǎng)絡瀏覽器呈現(xiàn)的網(wǎng)頁內的“mailto:”鏈接時被實例化的電子郵件客戶端)來實例化。設備104可以存儲這樣的關系作為應用呈現(xiàn)204的一部分。相應地,如果或者應用呈現(xiàn)204被重新定位到新的呈現(xiàn)組件106,相關的應用呈現(xiàn)204也可以被重新定位到新的呈現(xiàn)組件106,從而維持可以一起用于特定任務的應用108的邏輯連接和接近度(proximity)。
作為這個第五方面的第三變異,設備104可以發(fā)起和/或允許相應呈現(xiàn)組件106的應用呈現(xiàn)歷史108的組合呈現(xiàn)。作為第一這樣的示例,用戶102可能希望在若干或所有的呈現(xiàn)組件106上查看完整集合的應用呈現(xiàn)歷史202(例如,用戶102可能難以在潛在大集合的呈現(xiàn)組件106之間找到正在設備104上執(zhí)行的應用108)。設備104因此可以呈現(xiàn)至少兩個呈現(xiàn)組件106的應用呈現(xiàn)歷史202的并集(merged set),并且可以采用各種各樣的方式來實現(xiàn)這樣的合并呈現(xiàn)(例如按呈現(xiàn)組件106或呈現(xiàn)組件類型來組合,按應用類型來組合,和/或按年表和/或應用名稱的字母順序來排序)。作為第二這樣的示例,用戶102可能希望將一些或所有的應用108從第一呈現(xiàn)組件106重新定位到第二呈現(xiàn)組件106。設備102因此可以將相關聯(lián)應用108的應用呈現(xiàn)204從第一呈現(xiàn)組件206的應用呈現(xiàn)歷史202合并到第二呈現(xiàn)組件206的應用呈現(xiàn)歷史202。
作為這個第五方面的第四變異,設備104可以發(fā)起和/或允許第一呈現(xiàn)組件106的應用呈現(xiàn)歷史202至一個或多個其他呈現(xiàn)組件106的分裂(splitting)或分發(fā)。例如,設備104可以檢測和/或用戶102可以指示:第一呈現(xiàn)組件106被過載(例如在顯示器上呈現(xiàn)的窗口的數(shù)量可能超出可用閾值)。設備104因此可以分裂第一呈現(xiàn)組件106的應用呈現(xiàn)歷史202并且可以將各種子集的應用呈現(xiàn)歷史202重新分發(fā)到其他呈現(xiàn)組件106。例如,這樣的重新分發(fā)可以牽涉審查相應的應用呈現(xiàn)202的歷史,諸如在哪里先前已呈現(xiàn)相應的應用108。
作為這個第五方面的第五變異,在新的呈現(xiàn)組件106被添加到可用于設備104的呈現(xiàn)組件106的集合時,設備104可以為新的呈現(xiàn)組件106生成新的應用呈現(xiàn)歷史202。替換地,如果新的呈現(xiàn)組件106先前已被連接到設備104并且在斷開周期(disconnection period)之后現(xiàn)在已被重新連接,設備104可以為新的呈現(xiàn)組件106加載先前的應用呈現(xiàn)歷史202并且可以重新實例化與這樣的(例如響應于新的呈現(xiàn)組件106從設備104中的斷開)臨時已被終止的應用呈現(xiàn)歷史202相關聯(lián)的應用108。可選地,這樣的應用108可以利用最新的應用狀態(tài)來重新實例化,其可能在呈現(xiàn)組件106的斷開和/或應用108的終止時已被存留(persist)。
作為這個第五方面的第六變異,新的呈現(xiàn)組件106至可用于設備104的呈現(xiàn)組件106的集合的添加可以提示應用108至呈現(xiàn)組件106的分配的重新評估,并且可以將一個或多個應用106從第一呈現(xiàn)組件106重新定位到新的呈現(xiàn)組件106。這樣的重新定位可以牽涉將應用呈現(xiàn)204從第一呈現(xiàn)組件106的應用呈現(xiàn)歷史202移動到新的呈現(xiàn)組件106的應用呈現(xiàn)歷史202。這樣的重新評估可以包括負載平衡考慮(例如,將應用呈現(xiàn)204從展示擁擠的應用呈現(xiàn)歷史202的第一呈現(xiàn)組件106移動到新的呈現(xiàn)組件106)和/或每一個呈現(xiàn)組件204對于每一個應用108的適當性的評估(例如將應用呈現(xiàn)204從第一呈現(xiàn)組件106移動到能夠以更高質量來渲染應用108的新的呈現(xiàn)組件106,諸如較高分辨率顯示器或高保真揚聲器組)。重新定位可以牽涉應用呈現(xiàn)204的歷史的審查;例如,應用108可能先前已被呈現(xiàn)在新的呈現(xiàn)組件106上,并且可能在斷開周期之后被移動返回到新的呈現(xiàn)組件106。在一個這樣的實施例中,是否執(zhí)行這樣的重新定位的確定可以基于斷開周期的時長;例如,簡短的斷開周期可以提示設備108自動返回應用108,而更長的斷開周期可以使得應用108能夠保持在替代呈現(xiàn)組件106上,除非用戶102發(fā)起重新定位。在另一這樣的實施例中,是否執(zhí)行這樣的重新定位的確定可以基于用戶102與應用108進行的交互;例如,如果用戶102已在替代呈現(xiàn)組件106上與應用108進行了交互,則該應用可以保持,但是如果用戶102還沒有與替代呈現(xiàn)組件106上的應用進行交互,可以發(fā)起自動的重新定位。
作為這個第五方面的第七變異,當呈現(xiàn)組件106被從設備104中斷開時,設備104可以采用各種方式來響應。作為第一這樣的示例,設備104可以丟棄斷開的呈現(xiàn)組件106的應用呈現(xiàn)歷史202,或者可以在稍后重新連接的情況下存留應用呈現(xiàn)歷史202。作為第二這樣的示例,例如通過將應用呈現(xiàn)204從斷開的呈現(xiàn)組件106的應用呈現(xiàn)歷史202移動到另一呈現(xiàn)組件106的應用呈現(xiàn)歷史202,設備104可以將在斷開的呈現(xiàn)組件106上呈現(xiàn)過的一個或多個應用1098重新定位到其他的呈現(xiàn)組件106。替換地,設備104可以終止僅在斷開的呈現(xiàn)組件106上呈現(xiàn)過的應用108??蛇x地,設備104可以存留這樣的應用108的應用狀態(tài),并且可以在應用108在同一呈現(xiàn)組件108的重新連接上或者在不同的呈現(xiàn)組件108上被重新實例化時利用最新的應用狀態(tài)來恢復這樣的應用108。許多這樣的變異可以被包括在應用呈現(xiàn)歷史102的適配中來根據(jù)在本文呈現(xiàn)的技術反映用戶102和設備104的計算環(huán)境的動態(tài)性質。
F. 計算環(huán)境
圖10和以下討論提供用于實現(xiàn)在本文闡述的一個或多個規(guī)定的實施例的合適計算環(huán)境的簡明的一般描述。圖10的操作環(huán)境只是合適操作環(huán)境的一個示例并且不打算建議關于操作環(huán)境的使用或功能的范疇的限制。示例計算設備包括但不限于個人計算機、服務器計算機、手持式或膝上型設備、移動設備(諸如移動電話、個人數(shù)字助理(PDA)、媒體播放器等等)、多處理器系統(tǒng)、消費電子產(chǎn)品、微型計算機、大型計算機、包括任何的上面系統(tǒng)或設備的分布式計算環(huán)境等等。
雖然不是必需的,但是在由一個或多個計算設備執(zhí)行的“計算機可讀指令”的一般上下文中描述實施例。計算機可讀指令可以經(jīng)由(下面討論的)計算機可讀媒體來分發(fā)。計算機可讀指令可以被實現(xiàn)為執(zhí)行特定任務或實現(xiàn)特定抽象數(shù)據(jù)類型的程序模塊,諸如功能、對象、應用編程接口(API)、數(shù)據(jù)結構等等。典型地,在各種環(huán)境中可以根據(jù)需要來組合或分發(fā)計算機可讀指令的功能。
圖10舉例說明包括被配置成實現(xiàn)在本文提供的一個或多個實施例的計算設備1002的系統(tǒng)1000的示例。在一種配置中,計算設備1002包括至少一個處理單元1006和存儲器1008。取決于計算設備的確切配置和類型,存儲器1008可以是易失性的(例如,諸如RAM)、非易失性的(例如,諸如ROM、閃存等)或這二者的某種組合。在圖10中利用虛線1004來舉例說明這種配置。
在其他實施例中,設備1002可以包括附加的特性和/或功能。例如,設備1002也可以包括附加的(例如可移除的和/或不可移除的)儲存器,其包括但不限于磁儲存器、光儲存器等等。在圖10中利用儲存器1010來舉例說明這樣的附加儲存器。在一個實施例中,用于實現(xiàn)在本文提供的一個或多個實施例的計算機可讀指令可以在儲存器1010中。儲存器1010也可以存儲其他的計算機可讀指令來實現(xiàn)操作系統(tǒng)、應用程序等等。例如,計算機可讀指令可以被加載到存儲器1008中,以便由處理單元1006執(zhí)行。
如在本文使用的術語“計算機可讀媒體”包括計算機可讀存儲設備,其排除其他形式的包括通信媒體的計算機可讀媒體,諸如信號。這樣的計算機可讀存儲設備可以是易失性的和/或非易失性的、可移除的和/或不可移除的,并且可以牽涉各種類型的存儲計算機可讀指令或其他數(shù)據(jù)的物理設備。存儲器1008和儲存器1010是計算機存儲媒體的示例。計算機存儲設備包括但不限于RAM、ROM、EEPROM、閃存或其他存儲技術、CD-ROM、數(shù)字多用盤(DVD)或其他光儲存器、磁帶盒、磁帶和磁盤儲存器或其他磁存儲設備。
設備1002也可以包括允許設備1002與其他設備通信的(多個)通信連接1016。(多個)通信連接1016可以包括但不限于調制解調器、網(wǎng)絡接口卡(NIC)、集成網(wǎng)絡接口、射頻發(fā)射機/接收機、紅外端口、USB連接或用于將計算設備1002連接到其他計算設備的其他接口。(多個)通信連接1016可以包括有線連接或無線連接。(多個)通信連接1016可以發(fā)射和/或接收通信媒體。
術語“計算機可讀媒體”可以包括通信媒體。通信媒體典型地將計算機可讀指令或其他數(shù)據(jù)收錄在“調制數(shù)據(jù)信號”諸如載波或其他傳輸機制中,并且包括任何的信息遞送媒體。術語“調制數(shù)據(jù)信號”可以包括使得其特征之中的一個或多個特征以在信號中編碼信息的方式來設置或改變的信號。
設備1002可以包括(多個)輸入設備1014,諸如鍵盤、鼠標、筆、語音輸入設備、觸摸輸入設備、紅外攝像機、視頻輸入設備和/或任何其他輸入設備。在設備1002中也可以包括(多個)輸出設備1012,諸如一個或多個顯示器、揚聲器、打印機和/或任何其他輸出設備。(多個)輸入設備1014和(多個)輸出設備1012可以經(jīng)由有線連接、無線連接或其任何組合而被連接到設備1002。在一個實施例中,來自另一計算設備的輸入設備或輸出設備可以被用作用于計算設備1002的(多個)輸入設備1014或(多個)輸出設備1012。
計算設備1002的組件可以通過各種互連諸如總線來連接。這樣的互連可以包括外圍組件互連(PCI),諸如PCI Express、通用串行總線(USB)、火線(IEEE 1394)、光總線結構等等。在另一實施例中,計算設備1002的組件可以利用網(wǎng)絡來互連。例如,存儲器1008可以包括通過網(wǎng)絡互連的位于不同物理位置中的多個物理存儲單元。
本領域技術人員將認識到:用于存儲計算機可讀指令的存儲設備可以跨越網(wǎng)絡來分布。例如,經(jīng)由網(wǎng)絡1018可訪問的計算設備920可以存儲計算機可讀指令來實現(xiàn)在本文提供的一個或多個實施例。計算設備1002可以訪問計算設備1020并下載一部分或所有的計算機可讀指令,以便執(zhí)行。替換地,計算設備1002可以根據(jù)需要下載計算機可讀指令的片段,或者可以在計算設備1002上執(zhí)行一些指令并在計算設備1020上執(zhí)行一些指令。
G. 術語的使用
雖然以特定于結構特性和/或方法動作的語言描述了主題,但是將明白:在所附的權利要求書中定義的主題不一定限于上面描述的具體特性或動作。相反,上面描述的具體特性和動作被公開為實現(xiàn)這些權利要求的示例形式。
如在這個申請中所使用的,術語“組件”、“模塊”、“系統(tǒng)”、“界面”等等一般旨在涉及計算機相關的實體,或硬件、軟件與硬件的組合、軟件或執(zhí)行中的軟件。例如,組件可以是但不限于在處理器上運行的進程、處理器、對象、可執(zhí)行文件、執(zhí)行線程、程序和/或計算機。通過圖解,在控制器上運行的應用和控制器二者能夠是組件。一個或多個組件可以駐留在進程和/或執(zhí)行線程內,并且組件可以被定位在一臺計算機上和/或被分布在兩個或更多計算機之間。
此外,所請求保護的主題可以使用標準的編程和/或工程技術被實現(xiàn)為方法、設備或制品來生產(chǎn)軟件、固件、硬件或其任何組合,從而控制計算機來實現(xiàn)所公開的主題。如在本文使用的術語“制品”旨在涵蓋從任何的計算機可讀設備、載體或媒體可訪問的計算機程序。當然,本領域技術人員將認識到:可以對這種配置進行許多修改而不偏離所請求保護的主題的范疇或精神。
在本文提供實施例的各種操作。在一個實施例中,所描述的操作之中的一個或多個操作可以構成存儲在一個或多個計算機可讀媒體上的計算機可讀指令,其在由計算設備執(zhí)行時將導致計算設備執(zhí)行所描述的操作。描述一些或所有操作的順序不應被解釋成暗示:這些操作一定是順序相關的。在得益于這個描述的情況下,本領域技術人員將意識到可供替換的排序。進一步,將明白:不是所有的操作一定存在于在本文提供的每一個實施例中。
在本文被描述為“示例”的任何方面或設計并不一定被解釋為優(yōu)于其他方面或設計。相反,詞“示例”的使用旨在呈現(xiàn)可能涉及在本文呈現(xiàn)的技術的一個可能的方面和/或實現(xiàn)方式。這樣的示例對于這樣的技術而言并不是必需的或旨在進行限制。這樣的技術的各種實施例可以獨自或在與其他特性的組合中包括這樣的示例和/或可以改變和/或省略所舉例說明的示例。
如在這個申請中使用的,術語“或”旨在意味著包容“或”而非異“或”。即,除非另有指定或從上下文中清楚,否則“X采用A或B”旨在意味著任何的自然包容性排列。即,如果X采用A;X采用B;或者X采用A和B二者,則在任何的前述情況下滿足“X采用A或B”。另外,在這個申請和所附的權利要求書中使用的冠詞“一”和“一個”一般可以被解釋成意味著“一個或多個”,除非另有指定或從上下文中清楚其涉及單數(shù)形式。
并且,雖然本公開已針對一個或多個實現(xiàn)方式進行顯示和描述了,但是基于這個說明書和附圖的閱讀和理解,本領域的技術人員將想到等效的改變和修改。本公開包括所有這樣的修改和改變并且只利用隨后權利要求書的范疇來限制。尤其,至于利用上述的組件(例如元素、資源等)執(zhí)行的各種功能,除非另有指示,否則用于描述這樣的組件的術語旨在對應于執(zhí)行所描述的組件的指定功能的任何組件(例如其在功能上是等效的),即使在結構上并不等效于在本文舉例說明的本公開的示例實現(xiàn)方式中的功能的所公開的結構。另外,雖然僅針對若干實現(xiàn)方式之一公開了本公開的特定特性,但是這樣的特性可以與其他實現(xiàn)方式的一個或多個其他特性進行結合,這對于任何給定的或特定的應用而言可能是期望的和有利的。此外,至于在或者詳細描述或者權利要求書中使用術語“包括”、“具有”、“有”、“利用”或其變異的程度,這樣的術語旨在以類似于術語“包括”的方式而是包容性的。