跨畫面空間對用戶界面元素進行協調的制作方法【專利摘要】本公開內容涉及從現有畫面(例如,頁面等)轉換至新畫面,其中,現有畫面的元素/控件被共享到新畫面。現有畫面充當源畫面以提供其現有元素的元素相關數據(例如,名稱);現有元素與新畫面/目的地畫面所期望的元素相交。目的地畫面得到任何共用元素的所有權。導航服務可以協調信息的交換以及轉換。轉換可以包括動畫和/或其它效果,以提供畫面之間在視覺上的平滑轉換等。【專利說明】跨畫面空間對用戶界面元素進行協調【
背景技術:
】[0001]傳統上,圖形用戶界面(GUI或簡稱UI)已被分解成包括組合在一起的窗口/畫面/頁面/控件等的分類法(taxonomy),在該分類法中存在UI元素與控制該UI元素的代碼/邏輯之間的一一對應關系。在通常的用戶界面模式如模型-視圖-控制器(MVC)、模型-視圖-視圖-模型(MVVM)等中,單個視圖將該視圖的UI元素限制在該視圖的層級結構中。該視圖擁有并管理其UI元素的壽命。[0002]在這樣的模式中,當當前視圖切換到新視圖時,由于當前視圖結束其UI元素的壽命并且新視圖開始其UI元素,因此存在突然的視圖改變。理想的是,應用設計在這樣的視圖等之間提供平滑轉換和/或軟邊界,而這樣做無需復雜的編程或者要求用關于其他視圖的細節來對各視圖進行編程。【
發明內容】[0003]提供本概述以通過簡化的形式引入一些代表性的概念,這些代表性的概念在下面的詳細描述中被進一步描述。本概述不旨在識別所要求保護的主題的關鍵特征或必要特征,也不旨在以限制所要求保護的主題的范圍的任何方式來使用。[0004]簡要地說,本文中描述的主題的一個或更多個各種方面涉及在多個畫面之間交換元素相關信息,包括從源畫面(例如,現有畫面/退出畫面)轉換到目的地的畫面(例如,新畫面/進入畫面)。該轉換包括使用目的地畫面處的元素相關信息來共享源畫面的一個或更多個現有元素。[0005]在一個或更多個方面中,導航服務被配置成將源畫面的一個或更多個元素的元素相關信息耦合至得到源畫面所使用的一個或更多個元素的所有權的目的地畫面。導航服務協調從源畫面到目的地畫面的轉換。[0006]—個或更多個方面涉及從源畫面到目的地畫面的轉換,包括:協調將源畫面的至少一個共享元素的所有權改變到目的地畫面。目的地畫面不需要預先知道源畫面的一個或更多個元素(以及/或者源畫面也不需要預先知道目的地畫面的一個或更多個元素)。創建與目的地畫面相關聯的至少一個其他元素以產生至少一個共享元素和至少一個所創建的元素的目的地畫面。[0007]在結合附圖時,其它優點可以從下面的詳細描述中變得明顯。【附圖說明】[0008]本發明通過舉例的方式來說明并且不限于附圖,在附圖中,類似的附圖標記指示相似的元素,在附圖中:[0009]圖1A是示出了根據一個或更多個示例性實施例可以用于將元素從源畫面轉換到目的地畫面的示例性配置的框圖。[0010]圖1B是示出了根據一個或更多個示例性實施例可以用于將元素從源畫面轉換到目的地畫面的可替代的示例性配置的框圖。[0011]圖2是示出了根據一個或更多個示例性實施例導航服務可以如何協調從源畫面到目的地畫面的轉換的一般化的定時的圖。[0012]圖3是根據一個或更多個示例性實施例可以如何將源畫面的元素與目的地畫面共早的表不。[0013]圖4是根據一個或更多個示例性實施例使源畫面元素相關信息與目的地畫面元素相關信息相交以利于將元素從源畫面共享到目的地畫面的表示。[0014]圖5A、圖5B、圖6A和圖6B包括根據一個或更多個示例性實施例例示在從源畫面到目的地畫面的轉換期間的動畫元素的按時間的畫面的表示。[0015]圖7是示出了根據一個或更多個示例性實施例可以采取以從源畫面轉換到目的地畫面的示例性步驟的流程圖。[0016]圖8至圖10是根據一個或更多個示例性實施例從源畫面到目的地的畫面的轉換的表示,在該轉換中可以跨畫面共享頂級元素和次級元素。[0017]圖11是表示可以并入本文中描述的主題的各方面的示例計算環境的框圖。【具體實施方式】[0018]本文中描述的本技術的各個方面一般涉及使UI元素(本文中與“控件”同義)存在于全局的和虛擬的空間。在一個方面中,任意畫面可以將其元素與任意其他畫面共享。每個畫面的控制器基本上租用全局UI元素中的任一個以在其畫面內使用,但是畫面的控制器(通常)不保持唯一的所有權。[0019]取代對其UI元素的整個壽命進行管理的視圖,控制器通過經由控制器管理API(應用程序界面)等協調UI壽命職責來對UI元素壽命進行控制。每個畫面/控制器創建UI元素,并且按要求(即,在轉換至新畫面時)給整個應用程序提供這些元素(例如,所有或大多數元素)。[0020]在一種實現中,本文中稱為目的地畫面的新的進入畫面可以保留先前的退出畫面正使用的任意元素。作為一種益處,便利了畫面之間的無縫和/或平滑轉換。例如,退出畫面可以將一個或更多個非保留的元素轉換成退出視圖,同時進入畫面可以轉換(或者按原樣保持)從先前畫面所保留的任意共用元素和/或添加任意另外需要的元素以產生新畫面。[0021]在一種實現中,導航服務對新(目的地)畫面想要哪些元素與當前(源)畫面已經創建和渲染的哪些元素進行共享進行協調。除了使用任何已經被創建和被渲染的元素以外,目的地畫面無需預先知道關于源畫面的任何事物,原因在于目的地畫面按要求(即,在轉換時)從導航服務(如由源畫面所設置的)接收該信息。[0022]應當理解,本文中任一示例均是非限制的。同樣地,本發明不限于任何特定實施例、方面、概念、結構、功能或本文中描述的示例。當然,本文中描述的任一實施例、方面、概念、結構、功能或示例均是非限制的,并且本發明可以一般地用于在計算和渲染內容中提供益處和優點的各個方面。[0023]圖1A示出了示例用戶裝置102(或者裝置的系統)的框圖,示例用戶裝置102(或者裝置的系統)被配置成運行任意數量的程序,例如,所述任意數量的程序之一被表示為具有當前活動(active)的用戶界面畫面。在本文中可以將當前活動的退出畫面稱為源畫面104,因為其充當由下一個畫面使用的任意保留的元素的源。注意,如本文中所使用的,“畫面”指代對一個或更多個UI元素進行組合和協調的任意邏輯單元(如視圖、頁面、菜單、窗口等);畫面可以指代所示出的、和/或與畫面操作對應的邏輯/代碼/控制器。典型的畫面可以被組織為UI呈現樹,包括可視層級結構中的活動的畫面上的UI元素、通過唯一名稱編索引的每個元素,該唯一名稱可以是參考/標識符(ID)或人類可讀名稱。注意,畫面還可以包括不活動和/或隱藏的元素,而且每個元素可以連同包含畫面控制器邏輯一起包含其自己的邏輯。[0024]如已知的,用戶經由一個或更多個輸入裝置與源畫面104上的元素進行交互。這些交互可以使信息被發送、使信息被取回、改變元素等。所述改變之一可以與改變至新畫面的事件對應;在本文中可以將這樣的新進入畫面稱為目的地畫面106。如所理解的,只要可能且被期望,則源畫面104就是由目的地畫面106使用的UI元素(并且通常是那些元素的狀態)的源。[0025]在本文中描述的一種實現中,對導航服務108進行設置以協調從源畫面104至目的地畫面106的轉換。API集合等可以用于每個畫面104或106與服務108之間的通信。如本文中所描述的,轉換可以包括任意或所有一個或更多個元素從源畫面104至目的地畫面106的共享。注意,除了與畫面上的任意UI元素的更直接的用戶交互以外,圖1A還示出了被外部事件觸發的轉換,如經由計時器、語音識別器、網絡信號(例如,來自另一個裝置)、遠程控制命令等所生成的外部事件。[0026]圖1B示出了替選模型,在該替選模型中,每個畫面包括導航服務組件(例如,對用戶隱藏)。在這樣的模型中,在關閉源畫面114之前,畫面114和116上的導航控件/元素118a和118b—般一一僅更直接地而不是間接地一一執行與分開的導航服務相同的功能。因此,當在本文中使用時,術語“導航服務”指代允許源畫面與目的地畫面在至少一個方向上,包括如圖1A和圖1B中所示的,交換信息的一個或更多個組件等的任意配置,即使在其他上下文中通常不將這樣的配置視為“服務”。在下文中出于簡化的目的,一般地,將描述例如具有由兩個畫面都使用的單個導航服務108的圖1A的模型,然而,應當理解,在替選實施例中,在畫面之間交換相關信息的方式可以不同。[0027]圖2表示在一種示例實現中畫面與服務之間的協調如何工作。一般地,不論來自與源畫面104的用戶交互還是外部事件,一些觸發事件都由導航服務108來檢測。例如,當用戶與源畫面104進行交互以變化至目的地畫面106時,源畫面觸發導航服務108的事件。[0028]當上述情況發生時,導航服務108與目的地畫面106(例如,其控制邏輯)進行通信以讓目的地畫面106知道要準備轉換。如本文中所描述的,轉換包括得到源畫面可以與目的地畫面共有的任意共享的UI元素的所有權。在圖2的示例中,導航服務108進行這樣的通知作為與目的地畫面106通信的一部分,該目的地畫面106也涉及請求目的地畫面106需要使用的元素的名稱。目的地畫面106響應于識別期望的元素的名稱的列表(或者其他適當的數據結構)。[0029]導航服務108將該列表返回至源畫面104(例如,其控制邏輯),然后源畫面104從該列表移除其不具有的那些導航服務108;(代替可移除的,源可以對與其不具有的那些導航服務108相對的其具有的那些導航服務108進行標記)。源畫面104響應于(可能的)修改列表,該(可能的)修改列表現在識別其與目的地106期望的共同的任意元素。然而,注意,雖然源畫面104基本上從列表移除非共同元素,但是源畫面104(通常)并不同步地從視圖移除其自己不需要的元素;可替代地,如下面舉例說明的,可以將轉換(例如,動畫或其他)效果用于從視圖平滑地(或以其他方式)移除源畫面的不需要的元素。[0030]作為使源畫面對列表進行處理的替代,導航服務可以執行該處理。例如,目的地畫面可以提供它期望的元素列表,源畫面可以提供它可用的元素列表,并且導航服務可以執行列表的相交。導航服務可以將元素的列表返回至目的地需要創建的該目的地,和/或可以將元素的列表返回至源需要忽視/保持活動的源。可替代地(或者除了這樣的列表以外),導航服務可以將相交結果(其可以是空集)返回至目的地,并且將需要被拆卸的任意元素的列表返回至源畫面。如可以被容易理解的,其中,在替選實施例中,執行各種處理步驟和/或使用什么協議可以不同。[0031]如圖2所示,導航服務返回轉換相關信息,借此,然后由目的地畫面使用任意共同的元素,目的地畫面包括得到那些元素的所有權。通常,所保留的元素繼續具有與其關聯的它們的當前狀態數據,(雖然在響應于導航服務之前源畫面可以選擇清除任意元素的狀態數據或者以其他方式修改任意元素的狀態數據)。[0032]當源畫面和目的地畫面兩者都向導航服務108指示畫面轉換就緒一一包括準備任何轉換(包括任何動畫)腳本時,倘若虛擬畫面由兩個畫面控制器臨時共享,則導航服務108使轉換腳本并行地被運行。一般地,可以包括動畫效果等的“退出轉換”從虛擬畫面顯露式的移除源畫面的不需要的先前元素,而目的地畫面的“進入轉換”動畫效果等一一包括任意現在擁有的保留的元素和任意新創建的元素一一移動/調整大小/漸顯(fadein)/以其他方式渲染目的地元素。來自源畫面的現有元素在位置和/或視覺外觀方面可以不管。[0033]圖3中示出了轉換的一般示例,其示出了在導航開始之前以及在其完成畫面334和畫面336之間的轉換之后的UI呈現樹的狀態。在圖3中,源畫面334的共同元素a和b被共享至目的地畫面336。在目的地畫面中不需要元素C,但是由于從源不可獲得元素d,所以創建元素d。從與源畫面334對應的初始狀態相對于與目的地畫面336對應的最終狀態注意到,增大元素a的大小,同時將元素b的位置向下移動。移除元素c并且創建元素d。此時,可以容易理解,“目的地”畫面現在變成了針對隨后的目的地畫面(其實際上可以是經由“后退”按鈕等的以前的源畫面)的新的源畫面。所以,應當理解,元素的“所有權”可以僅是臨時的。[0034]圖4示出了維恩(Venn)圖440中的交集/得到所有權概念。目的地指示其想要使用元素a、b和d,其中源具有元素a和b(交集),從而導航服務(或源)使目的地得到元素a和b的所有權。因此,源轉換退出元素C,目的地接管控制元素a和b,并且僅元素d需要被目的地創建。[0035]可以容易領會,可以針對交換類似信息提供可替選的模型。例如,源畫面可以初始地向目的地畫面提供其元素的列表(例如,經由導航服務),從而目的地畫面可以保持其想要的元素,并且指示(例如,經由導航服務)源畫面移除其他元素,或者接收并且移除其自身的其他元素。導航服務可以在轉換時間處接收列表,或者可以預先提供列表以期待稍后的轉換。在一個示例性情況下,從源畫面的元素開始,允許目的地畫面得到來自源畫面的全部現有UI元素(甚至目的地畫面并不想要的那些元素)的所有權,然后根據期望轉換退出不想要的那些元素,保留(根據期望包括動畫)實際上想要的那些UI元素,并且創建和轉換需要的任何新UI元素。該情況從目的地視角較復雜,但是在轉換中給予目的地完全的控制。為了降低復雜性,替代得到包括一個或更多個不是實際上需要的元素的所有元素的所有權,目的地可以得到僅一些受限數目的不需要的元素(例如,多至三個不需要的元素)或者僅所選擇的不需要的元素(例如,僅為圖像元素的元素)的所有權。[0036]注意源畫面不需要與目的地畫面共享特定元素(和/或其狀態)。例如,UI元素可以包含敏感數據,例如信用卡號碼,并且出于安全目的,源畫面開發者可以配置畫面以去除任何敏感的UI元素或來自所請求的元素的列表中的元素,如同源畫面不具有該元素一樣。注意,敏感數據元素的可見移除可以更直接,而不是平滑地或以其他方式動畫退出。例如,如果某人在敏感數據出現時正在看他的或她的肩膀,那么用戶可以交互以保護性地切換至另一畫面;在此時,用戶不希望這樣的敏感數據從視野中逐漸消除。因此,轉換效果(如果有的話)可以基于逐個元素和/或基于敏感數據是否出現。[0037]注意,目的地畫面可能不想要源畫面的元素,并且因此可以簡單地不要求源畫面的元素,即使另一實例需要相同元素。例如,當目的地畫面首次啟動時,目的地畫面可能想要清除了任何狀態數據的特定元素,并且其可以更有效和/或視覺呈現以簡單地創建新的實例,而不是對于現有的元素進行清除和/或重定位/調整大小。[0038]圖5A、圖5B、圖6A和圖6B示出了虛擬畫面的并行動畫如何可以被用于平滑地轉換元素,其中附圖分別對應于不同時間T0、T1、T2和T3處的不同狀態的“快照”。注意,這些時間不旨在成為在時間上精確劃分的快照,而是僅近似地傳達并行動畫的構思。[0039]因此,從時間TO(圖5A)處的初始狀態,圖5B(時間TI)示出了相對于時間TO(圖5A)處的元素a的尺寸以及元素b和c的位置而言,共享的元素a如何開始變大,以及元素d如何在元素b和c向下移動的同時開始變得可視。注意,一旦轉換開始,源畫面控制器在此時僅負責元素c,這是因為現在元素a和b被目的地畫面所有。[0040]圖6A(時間T2)示出了稍后的狀態,其中元素c從虛擬畫面上被部分地移除,并且元素d在畫面上完全可見。注意,在該示例中,元素a持續變大。圖6B(時間T3)示出了最終狀態。[0041]注意,關于轉換期間的元素交互性,可以使用不同的替選方式。例如,在典型的情況下,當正發生轉換效果(例如,動畫)時,可忽略任何用戶交互。其他模型可以允許當動畫一開始目的地畫面元素就變得活動(例如,使得“著急的”用戶可以當其一開始呈現就點擊按鈕,而不是等待緩慢的動畫完成)。點擊諸如圖6A的示例中的元素c的、“轉換退出”的先前元素可以導致返回源畫面。交互可以采取逐元素的方式,例如,在轉換/動畫期間“按鈕”元素可以是可交互的,而例如文本框元素則不是。[0042]在源畫面與目的地畫面之間交換與轉換效果相關的數據(諸如動畫相關(或其他)信息)是可行的。例如,取代依賴于畫面開發者產生可視協調的動畫,可以交換提示或更具體的轉換效果參數。例如,在圖5A至圖6B的示例中,目的地可以首先向源提出:將從畫面移除的任何元素(在該情況下僅元素d)以X的速率沿向下方向制成動畫。可以容易領會,實際上可以交換和使用任何合適的轉換效果/動畫信息,例如,使元素漸弱(fadeout)(增加元素的透明度)以使得新元素呈現為在老元素上漸顯的速率,移動或加速元素的位置(例如,以使得當另一元素到達其位置(被設置為目的地),該另一元素可以移動進來并且將其他元素“碰撞”出去)的開始時間等。[0043]圖7概述了本文中所描述的一些操作,包括驅動視圖改變、控制兩個畫面之間的元素的切換以及使兩個畫面之間共享的UI元素協調的導航服務的那些操作。如上所述,實際的導航服務在所有的實現方式中不是必需的,并且可以容易領會,圖7中舉例說明的導航服務的步驟可以由包括經由圖1B中所示的替代方式的其他部件來執行。[0044]步驟702表示接收例如去往(新畫面)(goTo(newScreen))的新畫面事件的導航服務,。在步驟704處,導航服務向目的地畫面要求期望元素的列表;步驟706表示接收目的地所期望的元素名稱的列表的導航服務。在該示例中,列表包含包括了針對畫面所期望的UI元素的UI元素指數(indice)的集合的一組頂級名稱。每個畫面在一個實施例中聲明一組這樣的頂級名稱。[0045]在步驟708處,由導航服務將頂級名稱的列表提供給至源畫面。在步驟710處,將與目的地的頂級名稱相關聯的那些元素除外,源畫面從列表中移除該列表不具有的名稱,并且產生將移除其頂級元素的退出轉換腳本等。退出腳本負責銷毀進入畫面不會使用的任何UI元素,該進入畫面通常涉及使目的地畫面不接收的元素動畫退出。步驟712對具有列表的服務導航進行響應,其還指示源準備好轉換退出。[0046]在步驟714處,導航服務向目的地畫面提供列表,其命令目的地畫面得到列表上剩余的任何元素的所有權。步驟716表示由目的地畫面所采取的動作,包括根據其頂級名稱的初始列表得到任何剩余元素的所有權并且對其進行創建。在一個實施例中,因此步驟716導致進入轉換腳本,例如,包括創建還未存在的任何UI元素并且動畫進入目的地畫面擁有元素的位置的動畫腳本等。[0047]步驟718表示當目的地畫面的進入轉換腳本準備好時來自目的地畫面的響應。在步驟720處,導航服務命令畫面并行地運行可以包括動畫腳本的兩個轉換腳本。[0048]在一個或更多個可替代實施例中,頂級元素可以包括可以跨畫面共享的子元素。在一個或更多個實施例中,次級元素可以從源共享至目的地以便以各種方式中的任何方式來使用。例如,如圖8中的舉例說明的,次級元素e可以在跨畫面的頂級元素之間共享。在圖9中,當在源畫面中時頂級元素X可以變成目的地畫面的另一元素g的子元素。在圖10中,源畫面中的次級元素k可以變成目的地畫面中的頂級元素,該目的地畫面可以(或者可以不)包括子元素P等。實際上,可以存在實際的并且可感知的任何頂級元素/次級層級結構。[0049]示例計算裝置[0050]本文中所述的技術可以應用于諸如圖1A的用戶裝置102的能夠運行程序和過程的任何裝置或一組裝置。因此,可以理解,包括移動電話、平板(tablet)/平板(slate)電腦、游戲/娛樂控制臺等的所有類型的手持式、便攜式和其他計算裝置和計算對象被考慮以與各種實施例結合使用。因此,在圖11中下面描述的以下通用遠程計算機僅是計算裝置的一個示例。[0051]為了裝置或對象的服務的開發者的使用,可以經由操作系統部分地實現實施例,和/或實施例部分地被包括在應用軟件內,該應用軟件操作以執行本文所描述的各種實施例的一個或更多個功能方面。可以在由諸如客戶端工作站、服務器或其他裝置的一個或更多個計算機執行的諸如程序模塊的計算機可執行指令的一般上下文中描述軟件。本領域技術人員將領會,計算機系統具有可以用于傳送數據的各種配置和協議,因此沒有特定的配置或協議被認為是限制性的。[0052]因此,圖11圖示了可以實現本文中描述的實施例的一個方面或多個方面的合適的計算系統環境1100的示例,雖然上面已經闡明,但是計算機系統環境1100僅是合適的計算環境中的一個示例,并且不意在表明對使用或功能的范圍的任何限制。此外,計算系統環境1100不意在被解釋為具有與示例計算系統環境1100中圖示的部件中的任何一個部件或部件的組合有關的任何依賴關系。[0053]參照圖11,用于實現一個或更多個實施例的示例裝置包括采用計算機1110形式的通用計算裝置。計算機1110的部件可以包括但不限于:處理單元1120、系統存儲器1130以及將包括系統存儲器的各種系統耦接至處理單元1120的系統總線1122。[0054]計算機1110通常包括各種機器/計算機可讀介質,并且各種機器/計算機可讀介質可以是計算機1110能夠訪問的任何可利用的介質。系統存儲器1130可以包括諸如只讀存儲器(ROM)和/或隨機存取存儲器(RAM)以及硬盤驅動器介質、光存儲器介質、閃存介質等的易失性和/或非易失性存儲器形式的計算機存儲介質。作為示例,而非限制,系統存儲器1130可以包括操作系統、應用程序、其他程序模塊以及程序數據。[0055]用戶可以通過輸入裝置1140將命令和信息輸入到計算機1110中。顯示器或其他類型的顯示裝置經由諸如輸出接口1150的接口也連接至系統總線1122。除了顯示器之外,計算機還包括諸如揚聲器和打印機的其他外圍輸出裝置,其他外圍輸出裝置可以通過輸出接口1150來連接。[0056]計算機1110可以使用至諸如遠程計算機1170的一個或更多個其他遠程計算機的邏輯在連接成網絡的環境或分布式環境下工作。遠程計算機1170可以是個人計算機、服務器、路由器、網絡PC、對等裝置或其他公共網絡節點,或任何其他遠程媒體消費或傳輸裝置,以及遠程計算機1170可以包括與計算機1110有關的上述元素中的任何元素或所有元素。圖11中描繪的邏輯連接包括諸如局域網(LAN)或廣域網(WAN)的網絡1172,但是還可以包括其他網絡/總線。這樣的網絡化環境是家庭、辦公室、企業范圍的計算機網絡、內部網和因特網中的普通事物。[0057]如上所述,盡管已經結合各種計算裝置和網絡架構描述了示例實施例,但是該基本構思可以應用到期望提高資源使用效率的任何網絡系統和任何計算裝置或系統。[0058]此外,存在多種方式來實現使應用和服務能夠利用本文中提供的技術的相同或類似的功能,例如,適當的AP1、工具包、驅動器代碼、操作系統、控件、獨立或可下載的軟件對象等。因此,從API(或其他軟件對象)的角度以及從實現本文中描述的一個或更多個實施例的軟件對象或硬件對象的角度來考慮本文中的實施例。因此,本文中描述的各種實施例可以具有以下方面:全部采用硬件方式、部分采用硬件方式并且部分采用軟件方式,以及完全軟件方式。[0059]本文中使用的詞“示例”意為用作示例、實例或說明。為了避免疑義,本文中公開的主題不受這樣的示例限制。此外,本文中描述為“示例”的任何方面或設計不必須解釋為比其他方面或設計優選或有益,也不意為排除對于本領域普通技術人員已知的等同示例結構和技術。此外,為了避免疑義,對于使用術語“包括”、“具有”、“包含”以及其他類似的詞的范圍,這樣的術語在權利要求中被采用時,以與作為在不排除任何另外的元素或其他元素情況下的開放式過渡詞的術語“包括(comprising)”類似的方式意在是包括性的。[0060]如所提到的,可以結合硬件或軟件、或在適當的情況下結合兩者的組合來實現本文中描述的各種技術。如在本文中使用的,術語“部件”、“模塊”、“系統”等是同樣地意在指計算機有關的實體、硬件、硬件和軟件的組合、軟件或執行中的軟件。例如,部件可以是但不限于:處理器上運行的進程、處理器、對象、可執行文件、執行的線程、程序和/或計算機。作為說明,在計算機上運行的應用和計算機兩者都可以是部件。一個或更多個部件可以駐留在進程和/或執行的線程內,以及部件可以位于一個計算機上和/或分布在兩個或更多個計算機之間。[0061]已經參照若干部件之間的交互描述了前述系統。能夠理解的是,這樣的系統和部件可以包括:所述若干部件或指定的子部件、指定的部件或子部件中的一些、和/或另外的部件以及根據前述的各種變換和組合。子部件還可以被實現為通信上耦接至不包括在父部件(分層的)內的其他部件的部件。此外,可以注意到,一個或更多個部件可以被組合入提供聚合功能的單個部件中,或者可以被分成若干分立子部件,以及諸如管理層的任何一個或更多個中間層可以被設置成通信上耦接至這樣的子部件以提供集成功能。本文中描述的任何部件還可以與沒有在本文中特別地描述但是本領域技術人員通常知道的一個或更多個其他部件進行交互。[0062]鑒于本文中描述的示例系統,可以根據所描述的主題實現的方法還可以參照各種圖的流程圖來理解。盡管為了說明的簡單性的目的,所述方法被示出并且描述為一系列塊,但是要理解和明白的是,各種實施例不受塊的順序限制,因為一些塊可以與在本文中描繪和描述的順序不同的順序發生和/或與其他塊同時發生。在非序列性,或分支的情況下,經由流程圖圖示的流程,可以理解的是,各種其他分支、流程路徑以及塊的順序可以被實現,其取得相同或類似的結果。此外,在實現下文中描述的方法中,一些圖示的塊是可選的。[0063]結論[0064]盡管本發明易受各種修改和替代構造影響,但是本發明的某些圖示的實施例在附圖中被示出并且已經在上面被詳細描述。然而,應該理解的是,不存在以下意圖,將本發明限制到所公開的特定形式,而是相反,意圖是要覆蓋落在本發明的精神和范圍內的所有修改、可替代構造以及等同方式。[0065]除了本文中描述各種實施例之外,要理解的是,可以使用其他類似的實施例,或者可以在不偏離所描述的實施例的情況下,對用于執行對應的實施例的相同或等同功能的所描述的實施例進行修改和添加。更進一步的,多個處理芯片或多個裝置可以分擔本文中描述的一個或更多個功能的工作,并且類似地,可以跨多個裝置實現存儲。因此,本發明不應被限制于任何單個實施例,而是應在根據所附權利要求的寬度、精神以及范圍內被解讀。【主權項】1.一種方法,包括:在多個畫面之間交換元素相關信息;以及從源畫面轉換到目的地畫面,包括使用目的地畫面處的元素相關信息來共享源畫面的一個或更多個現有元素。2.根據權利要求1所述的方法,其中,交換所述信息包括:經由導航服務在所述源畫面與所述目的地畫面之間進行通信。3.根據權利要求1所述的方法,其中,交換所述元素相關信息發生在與所述轉換對應的時間處。4.根據權利要求1所述的方法,其中,從所述源畫面轉換到所述目的地畫面包括:對至少一個元素使用與轉換相關的視覺效果。5.根據權利要求4所述的方法,還包括:提供與至少一個視覺效果相關的從所述目的地畫面到所述源畫面的轉換效果信息。6.根據權利要求1所述的方法,其中,從所述源畫面轉換到所述目的地畫面包括:運行與所述源畫面相關聯的退出轉換腳本。7.根據權利要求1所述的方法,其中,從所述源畫面轉換到所述目的地畫面包括:運行與所述目的地畫面相關聯的進入轉換腳本。8.根據權利要求7所述的方法,其中,運行所述進入轉換腳本包括:得到所述一個或更多個現有元素的所有權。9.根據權利要求1所述的方法,其中,從所述源畫面轉換到所述目的地畫面包括:創建所述目的地畫面處的至少一個新元素。10.根據權利要求1所述的方法,其中,所述元素相關信息中的至少一些元素相關信息包括一個或更多個現有源畫面元素與一個或更多個期望目的地畫面元素的交集,并且所述方法還包括:在所述源畫面或者所述目的地畫面,在導航服務處執行所述交集。11.一種系統,包括:存儲器以及操作地耦合至所述存儲器并執行存儲在所述存儲器中的代碼的處理器,所述處理器響應于所述代碼的執行而被配置成作為導航服務進行操作,所述導航服務被配置成:將源畫面的一個或更多個元素的元素相關信息耦合至得到所述源畫面所使用的一個或更多個元素的所有權的目的地畫面;以及協調從所述源畫面到所述目的地畫面的轉換。12.根據權利要求11所述的系統,其中,所述元素相關信息包括與一個或更多個頂級元素對應的一個或更多個名稱、參考或者其他識別信息。13.根據權利要求11所述的系統,其中,所述元素相關信息包含至少一個次級名稱、參考或者其他識別信息。14.根據權利要求11所述的系統,其中,所述導航服務被配置成:基于與所述目的地畫面的進入轉換腳本并行運行或基本上并行運行的、所述源畫面的退出轉換腳本,協調所述轉換。15.根據權利要求14所述的系統,其中,所述源畫面的退出轉換腳本包括使所述源畫面的至少一個元素轉換退出的動畫或其它轉換視覺效果或者二者。16.根據權利要求14所述的系統,其中,所述目的地畫面的進入轉換腳本包括使所述目的地畫面的至少一個元素轉換進入的動畫或其它轉換視覺效果或者二者。17.根據權利要求14所述的系統,其中,所述目的地畫面的進入轉換腳本創建所述目的地畫面的至少一個元素。18.具有機器可執行指令的一個或更多個機器可讀存儲介質,當執行所述機器可執行指令時,所述機器可執行指令執行包括下述的步驟:從源畫面轉換到目的地畫面,包括:協調將所述源畫面的至少一個共享元素的所有權改變到所述目的地畫面,其中,所述目的地畫面預先不知道所述源畫面的一個或更多個元素;以及創建與所述目的地畫面相關聯的至少一個其他元素以產生所述目的地畫面。19.根據權利要求18所述的一個或更多個機器可讀存儲介質,其中,協調對所有權的改變包括:使所述源畫面的現有元素的集合與所述目的地畫面的期望的元素的集合相交。20.根據權利要求18所述的一個或更多個機器可讀存儲介質,其中,從所述源畫面轉換到所述目的地畫面包括:運行對至少一個共享元素的外觀或位置或者二者進行修改的至少一個轉換腳本。【文檔編號】G06F3/14GK105874418SQ201480056202【公開日】2016年8月17日【申請日】2014年8月11日【發明人】布朗東·C·富特旺勒,亞倫·J·諾尼斯【申請人】家庭票房公司