專利名稱:創(chuàng)建任務(wù)會(huì)話的制作方法
創(chuàng)建任務(wù)會(huì)話背景技術(shù)
最近,業(yè)界已經(jīng)開始關(guān)注將web應(yīng)用或網(wǎng)站與用戶的計(jì)算機(jī)桌面環(huán)境或“桌面”集成的概念。然而,存在與這樣做相關(guān)的挑戰(zhàn)。例如,目前網(wǎng)站難以定義其站點(diǎn)用于桌面集成目的的邊界。因此,留給終端用戶通過(guò)他們自己開發(fā)的客戶端側(cè)腳本來(lái)定義該邊界。這可能是有問(wèn)題的,因?yàn)榻K端用戶可能不一定知道特定的網(wǎng)站是如何構(gòu)建的。例如,終端用戶可能不一定知道所有的鏈接、web屬性之間的關(guān)系、或其他被網(wǎng)站用于向用戶提供功能的細(xì)微差別。相應(yīng)地,終端用戶的腳本可能不了解這些鏈接或細(xì)微差別,并因此可能導(dǎo)致不期望的或崩潰的用戶體驗(yàn)。
此外,目前用戶面臨著所謂的雙重引導(dǎo)(dual boot)問(wèn)題。具體地,用戶不得不引導(dǎo)用戶的個(gè)人計(jì)算機(jī)、開啟用戶的瀏覽器、并最終啟動(dòng)用戶希望在其中工作的特定的web 應(yīng)用。以下事實(shí)使該問(wèn)題更加復(fù)雜瀏覽器可能提供對(duì)用戶的過(guò)多的分散注意力的內(nèi)容(例如在瀏覽器的視窗(chome)中出現(xiàn)的那些),而不允許用戶簡(jiǎn)單地專注于與web應(yīng)用相關(guān)聯(lián)的手頭的特定任務(wù)上。
發(fā)明內(nèi)容
本發(fā)明內(nèi)容被提供用于介紹簡(jiǎn)化形式的選擇概念,其在下面的具體實(shí)施方式
中進(jìn)一步描述。本發(fā)明內(nèi)容并不是旨在標(biāo)識(shí)所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不是旨在用于限定所要求保護(hù)的主題的范圍。
各種實(shí)施例提供了用于允許終端用戶將web應(yīng)用和網(wǎng)站安裝到諸如客戶端裝置桌面之類的客戶端裝置上的機(jī)制。根據(jù)一個(gè)或多個(gè)實(shí)施例,可以利用客戶端側(cè)代碼來(lái)允許與網(wǎng)站相關(guān)聯(lián)的開發(fā)者定義與用戶交互相關(guān)聯(lián)的邊界,并使得這些邊界通過(guò)運(yùn)行時(shí)引擎來(lái)實(shí)現(xiàn)。在至少一些實(shí)施例中,開發(fā)者可以通過(guò)JavaScript (Java腳本)代碼提供用于創(chuàng)建開始菜單快捷方式、導(dǎo)航和所謂的跳轉(zhuǎn)列表集成以及大量其它特性的各種配置。
附圖始終使用相同的標(biāo)號(hào)來(lái)提及相似的特征。
圖I示出了根據(jù)一個(gè)或多個(gè)實(shí)施例的在其中可實(shí)施在此描述的各種原理的操作環(huán)境。
圖2示出了根據(jù)一個(gè)或多個(gè)實(shí)施例的web應(yīng)用窗口。
圖3示出了根據(jù)一個(gè)或多個(gè)實(shí)施例的JavaScript API。
圖4是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的安裝方法中的步驟的流程圖。
圖5是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的web應(yīng)用交互方法中的步驟的流程圖。
圖6示出了根據(jù)一個(gè)或多個(gè)實(shí)施例的客戶端桌面的一部分。
圖7示出了根據(jù)一個(gè)或多個(gè)實(shí)施例的JavaScript API。
圖8示出了根據(jù)一個(gè)或多個(gè)實(shí)施例的網(wǎng)站與用戶跳轉(zhuǎn)列表之間的動(dòng)態(tài)交互。
圖9示出了根據(jù)一個(gè)或多個(gè)實(shí)施例的客戶端桌面的一部分。
圖10示出了根據(jù)一個(gè)或多個(gè)實(shí)施例的客戶端桌面的一部分。
圖11是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的安裝方法中的步驟的流程圖。
圖12是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的方法的步驟的流程圖。
圖13是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的方法中的步驟的流程圖。
圖14示出了根據(jù)一個(gè)或多個(gè)實(shí)施例的客戶端桌面。
圖15示意性地示出了根據(jù)一個(gè)或多個(gè)實(shí)施例的拖放操作。
圖16是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的安裝方法中的步驟的流程圖。
圖17示出了根據(jù)一個(gè)或多個(gè)實(shí)施例的客戶端桌面。
圖18是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的安裝方法中的步驟的流程圖。
圖19示出了根據(jù)一個(gè)或多個(gè)實(shí)施例的客戶端桌面。
圖20是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的方法中的步驟的流程圖。
圖21示出了根據(jù)一個(gè)或多個(gè)實(shí)施例的客戶端桌面。
圖22示出了根據(jù)一個(gè)或多個(gè)實(shí)施例的顯示網(wǎng)站的瀏覽器、證書存儲(chǔ)器、相關(guān)的web應(yīng)用、以及web應(yīng)用證書存儲(chǔ)器之間的關(guān)系。
圖23是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的方法中的步驟的流程圖。
圖24是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的方法中的步驟的流程圖。
圖25示出了根據(jù)一個(gè)或多個(gè)實(shí)施例的多web應(yīng)用實(shí)例的示例。
圖26示出了根據(jù)一個(gè)或多個(gè)實(shí)施例的客戶端桌面。
圖27是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的方法中的步驟的流程圖。
圖28是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的方法中的步驟的流程圖。
圖29示出了根據(jù)一個(gè)或多個(gè)實(shí)施例的客戶端桌面。
圖30示出了根據(jù)一個(gè)或多個(gè)實(shí)施例的客戶端桌面。
圖31示出了根據(jù)一個(gè)或多個(gè)實(shí)施例的客戶端桌面。
圖32是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的方法中的步驟的流程圖。
圖33是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的方法中的步驟的流程圖。
圖34是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的方法中的步驟的流程圖。
圖35示出了根據(jù)一個(gè)或多個(gè)實(shí)施例的web應(yīng)用與瀏覽器之間的關(guān)系。
圖36是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的方法中的步驟的流程圖。
圖37是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的方法中的步驟的流程圖。
圖38示出了根據(jù)一個(gè)或多個(gè)實(shí)施例的瞬時(shí)web應(yīng)用的示例。
圖39不出了根據(jù)一個(gè)或多個(gè)實(shí)施例的站點(diǎn)模式瀏覽器。
圖40是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的方法中的步驟的流程圖。
圖41示出了可被用來(lái)實(shí)現(xiàn)一個(gè)或多個(gè)實(shí)施例的示例系統(tǒng)。
具體實(shí)施方式
概述各種實(shí)施例提供了用于允許終端用戶將web應(yīng)用和網(wǎng)站安裝到諸如客戶端裝置桌面之類的客戶端裝置上的機(jī)制。根據(jù)一個(gè)或多個(gè)實(shí)施例,客戶端側(cè)代碼可以被用來(lái)允許與網(wǎng)站相關(guān)聯(lián)的開發(fā)者定義與用戶交互相關(guān)聯(lián)的邊界,并使得通過(guò)運(yùn)行時(shí)引擎來(lái)實(shí)現(xiàn)這些邊界。在至少一些實(shí)施例中,開發(fā)者可以通過(guò)JavaScript代碼提供用于創(chuàng)建開始菜單快捷方式、導(dǎo)航和所謂的跳轉(zhuǎn)列表集成以及其它特性的各種配置。
邊界可以被認(rèn)為是開發(fā)者定義的與功能如何顯露給終端用戶相關(guān)的體驗(yàn)。邊界與網(wǎng)站域相關(guān)聯(lián),例如可能與單獨(dú)的應(yīng)用相關(guān)聯(lián)的頂級(jí)域和子域、或者駐于域上的網(wǎng)站的子集。因此,可以通過(guò)用于使特定的web應(yīng)用工作的域、子域、文件夾、子站、協(xié)議、主機(jī)、路徑等的集合來(lái)定義邊界。
在一個(gè)或多個(gè)實(shí)施例中,網(wǎng)站可以決定加入上文和下面描述的功能。在這種情況下,開發(fā)者可以提供代碼,其在一些例子中以JavaScript表示,限定用戶對(duì)其網(wǎng)站的體驗(yàn)的邊界?;蛘呋蚋郊拥?,未決定加入上文和下面描述的功能的網(wǎng)站可以具有為這些網(wǎng)站提供的缺省體驗(yàn)。
在下面的討論中,提供了標(biāo)題為“操作環(huán)境”的部分,該部分描述了可以在其中實(shí)施一個(gè)或更多實(shí)施例的一個(gè)環(huán)境。隨后,標(biāo)題為“集成基礎(chǔ)架構(gòu)”的部分描述了根據(jù)一個(gè)或多個(gè)實(shí)施例的使得web應(yīng)用能夠被集成到客戶端裝置上的基礎(chǔ)架構(gòu)。接下來(lái),標(biāo)題為“跳轉(zhuǎn)列表集成”的部分描述了根據(jù)一個(gè)或多個(gè)實(shí)施例所謂的跳轉(zhuǎn)列表可以如何被集成。接下來(lái), 標(biāo)題為“任務(wù)欄釘扎(taskbar pinning)”的部分描述了根據(jù)一個(gè)或多個(gè)實(shí)施例web應(yīng)用可以如何被釘扎到任務(wù)欄。隨后,標(biāo)題為“將證書與登錄會(huì)話相關(guān)聯(lián)”的部分描述了根據(jù)一個(gè)或多個(gè)實(shí)施例可以如何將證書和登錄會(huì)話相關(guān)聯(lián)。接下來(lái),標(biāo)題為“創(chuàng)建和啟動(dòng)具有相關(guān)聯(lián)的證書的web應(yīng)用”的部分描述了根據(jù)一個(gè)或多個(gè)實(shí)施例可以如何創(chuàng)建和啟動(dòng)web應(yīng)用。 此后,標(biāo)題為“web應(yīng)用任務(wù)會(huì)話”的部分描述了根據(jù)一個(gè)或多個(gè)實(shí)施例的任務(wù)會(huì)話的概念。 接下來(lái),標(biāo)題為“web應(yīng)用和瀏覽器之間的轉(zhuǎn)換”的部分描述了根據(jù)一個(gè)或多個(gè)實(shí)施例可以如何 發(fā)生web應(yīng)用與瀏覽器之間的轉(zhuǎn)換。此后,標(biāo)題為“從瀏覽器創(chuàng)建瞬時(shí)web應(yīng)用”的部分描述了根據(jù)一個(gè)或多個(gè)實(shí)施例可以如何從瀏覽器創(chuàng)建瞬時(shí)web應(yīng)用。接下來(lái),標(biāo)題為“將瞬時(shí)web應(yīng)用轉(zhuǎn)換成安裝的web應(yīng)用”的部分描述了根據(jù)一個(gè)或多個(gè)實(shí)施例可以如何將瞬時(shí)web應(yīng)用轉(zhuǎn)換為安裝的web應(yīng)用。隨后,標(biāo)題為“web應(yīng)用超級(jí)主頁(yè)按鈕”的部分描述了根據(jù)一個(gè)或多個(gè)實(shí)施例的與web應(yīng)用相關(guān)聯(lián)的主頁(yè)按鈕。最后,標(biāo)題為“示例系統(tǒng)”的部分描述了可以用來(lái)實(shí)現(xiàn)一個(gè)或多個(gè)實(shí)施例的示例系統(tǒng)。
現(xiàn)在考慮其中可以實(shí)現(xiàn)一個(gè)或多個(gè)實(shí)施例的示例操作環(huán)境。
操作環(huán)境圖I在100處總體上示出了根據(jù)一個(gè)或多個(gè)實(shí)施例的操作環(huán)境。環(huán)境100包括具有一個(gè)或多個(gè)處理器104的計(jì)算裝置102、一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)106和駐于該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上且可被該處理器執(zhí)行的一個(gè)或多個(gè)應(yīng)用108。以示例的而非限定的方式來(lái)說(shuō),該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以包括所有形式的易失性和非易失性的存儲(chǔ)器和/或典型地與計(jì)算裝置相關(guān)聯(lián)的存儲(chǔ)介質(zhì)。這種介質(zhì)可以包括只讀存儲(chǔ)器ROM、隨機(jī)存取存儲(chǔ)器RAM、 閃存、硬盤、可拆卸介質(zhì)等。在圖41中示出了且在下文描述了計(jì)算裝置的一個(gè)具體示例。
此外,計(jì)算裝置102包括web瀏覽器110形式的軟件應(yīng)用??梢允褂萌魏芜m當(dāng)?shù)?web瀏覽器,可從本文檔的受讓人和其他處獲得其示例。此外,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)106可以包括按照上文和下面描述地操作的web應(yīng)用模式瀏覽器111。web應(yīng)用模式瀏覽器111 用作運(yùn)行時(shí)引擎,其分別從網(wǎng)站接收API調(diào)用和向網(wǎng)站進(jìn)行API調(diào)用、監(jiān)視web應(yīng)用安裝處理、實(shí)施邊界、并啟用上文和下面描述的功能。在操作中,web應(yīng)用模式瀏覽器是完整瀏覽器的削減版本,其許多正常的瀏覽器功能被關(guān)閉。在一些實(shí)例中,web應(yīng)用模式瀏覽器可以被認(rèn)為是不包括許多常見(jiàn)瀏覽器控件的“更少視窗(chrome-less)”的瀏覽器。然而,一些命令可以通過(guò)小型控制條而顯露。web應(yīng)用模式瀏覽器由此去除了許多分散用戶注意力的內(nèi)容,并允許直接的網(wǎng)站定義的用戶體驗(yàn),其中網(wǎng)站可以控制用戶如何與其web應(yīng)用交互。
在操作中,web應(yīng)用模式瀏覽器可以被認(rèn)為是邏輯地駐留于網(wǎng)站和客戶端裝置的操作系統(tǒng)之間。因此,web應(yīng)用模式瀏覽器接收來(lái)自網(wǎng)站的調(diào)用,并可以響應(yīng)性地進(jìn)行操作系統(tǒng)調(diào)用以影響在此描述的功能。類似地,web應(yīng)用模式瀏覽器可以接收來(lái)自操作系統(tǒng)的將影響網(wǎng)站功能的調(diào)用。例如,操作系統(tǒng)顯露能夠與桌面的任務(wù)條進(jìn)行交互的API。web應(yīng)用模式瀏覽器可以接收來(lái)自網(wǎng)站的調(diào)用,并且響應(yīng)性地可以進(jìn)行啟用下面將變得明白的任務(wù)條功能的API調(diào)用。
web應(yīng)用模式瀏覽器111可以被實(shí)現(xiàn)為獨(dú)立部件。可替代地或附加地,web應(yīng)用模式瀏覽器111可以被實(shí)現(xiàn)為應(yīng)用108和/或?yàn)g覽器110的一部分。
此外,環(huán)境100包括諸如因特網(wǎng)之類的網(wǎng)絡(luò)112以及可以從其接收和向其發(fā)送內(nèi)容的一個(gè)或多個(gè)網(wǎng)站114。如同上文和下面描述的,這種內(nèi)容可以包括被集成到客戶端桌面上或另外通過(guò)客戶端裝置可使用的內(nèi)容,諸如web應(yīng)用之類。
計(jì)算裝置102可以被實(shí)現(xiàn)為任何的適當(dāng)?shù)挠?jì)算裝置,以示例方式而非限定性地, 例如桌面計(jì)算機(jī)、便攜計(jì)算機(jī)、諸如個(gè)人數(shù)字助理(PDA)之類的手持計(jì)算機(jī)、蜂窩電話等。
已經(jīng)描述了示例操作環(huán)境,現(xiàn)在考慮討論允許web應(yīng)用被集成到客戶端裝置上的基礎(chǔ)架構(gòu)。
集成基礎(chǔ)架構(gòu)根據(jù)一個(gè)或多個(gè)實(shí)施例,網(wǎng)站可決定加入被提供更一般的“站點(diǎn)模式”體驗(yàn)的一部分的域?qū)Ш街?。域?qū)Ш绞沟镁W(wǎng)站能夠定制在用戶訪問(wèn)特定域之內(nèi)和之外的鏈接時(shí)其已有的網(wǎng)站的行為。當(dāng)訪問(wèn)開發(fā)者指定的邊界內(nèi)的鏈接時(shí),內(nèi)容可以在web應(yīng)用窗口內(nèi)被呈現(xiàn)和消耗, 該web應(yīng)用窗口是作為關(guān)聯(lián)的web應(yīng)用的一部分而被web應(yīng)用模式瀏覽器呈現(xiàn)的。當(dāng)訪問(wèn)開發(fā)者指定的邊界外部的鏈接時(shí),相關(guān)聯(lián)的內(nèi)容可以在web應(yīng)用模式瀏覽器外部的缺省瀏覽器內(nèi)被呈現(xiàn)和消耗。這允許網(wǎng)站定義哪些域應(yīng)當(dāng)被視為該網(wǎng)站的擴(kuò)展以及哪些域不應(yīng)被視為該網(wǎng)站的擴(kuò)展。
在一個(gè)或多個(gè)實(shí)施例中,導(dǎo)航域可以被web開發(fā)者定義,并識(shí)別了其內(nèi)容由web應(yīng)用模式瀏覽器顯示為集成網(wǎng)站的一部分或在web應(yīng)用模式瀏覽器外部并在缺省瀏覽器中的鏈接。此外,可以定義缺省域參數(shù),該缺省域被用于將web應(yīng)用頁(yè)面的集合關(guān)聯(lián)在一起。
作為示例,考慮下面的在線域頁(yè)面定義*contoso. crm. dynamics. com\氺;氺· microsoft. com\氺;該域頁(yè)面定義將允許僅下面形式的統(tǒng)一資源定位符URI被顯示在相同的桌面web應(yīng)用窗口中sales, contoso. crm. dynamics. com\* hr. contoso. crm. dynamics\* microsoft. com\crm\類似地,該域頁(yè)面定義將迫使其他統(tǒng)一資源定位符被顯示在桌面web應(yīng)用窗口外部, 即使該鏈接引用在桌面web應(yīng)用窗口內(nèi)的頁(yè)面內(nèi)www. bing. com home. live, com在上述域頁(yè)面定義中,利用了 web應(yīng)用安裝API內(nèi)的通配符。該API典型地在用戶選擇網(wǎng)站提供的網(wǎng)站集成鏈接時(shí)被網(wǎng)站調(diào)用。該API可以用桌面、任務(wù)欄或開始菜單或?qū)⒈挥糜趩?dòng)網(wǎng)站快捷方式的任何其他適當(dāng)位置中的信息和內(nèi)容來(lái)填充web應(yīng)用文件或 “.webapp”文件。應(yīng)當(dāng)了解和理解,任何適當(dāng)?shù)奈募U(kuò)展名可以用于指定web應(yīng)用文件。導(dǎo)航域和其它邊界信息被存儲(chǔ)在.webapp文件中。
當(dāng).webapp文件被啟動(dòng)時(shí),其中的導(dǎo)航域被web應(yīng)用模式瀏覽器111實(shí)施。用戶選擇的鏈接或網(wǎng)站訪問(wèn)的鏈接繼續(xù)在web應(yīng)用窗口內(nèi)執(zhí)行,只要所述鏈接與通配符域相匹配即可。然而,當(dāng)檢測(cè)到在所定義的導(dǎo)航域之外的網(wǎng)站時(shí),缺省瀏覽器被實(shí)例化或以其他方式被使用,并且與網(wǎng)站相關(guān)的內(nèi)容被顯示在web應(yīng)用窗口外部和缺省瀏覽器內(nèi)部。
作為例子,考慮圖2,圖2示出了 web應(yīng)用窗口 200,該web應(yīng)用窗口 200具有a. com (202)、b. com (204)和d. com (206)的導(dǎo)航域集合,這意味著來(lái)自這些域的所有頁(yè)面被顯示在web應(yīng)用窗口 200的內(nèi)部。當(dāng)從web應(yīng)用窗口 200內(nèi)訪問(wèn)來(lái)自c. com (208)或e. com (210)的頁(yè)面時(shí),該頁(yè)面被顯示在缺省瀏覽器窗口中,而不被顯示在web應(yīng)用窗口 200中。
圖3在300處示出了根據(jù)一個(gè)或多個(gè)實(shí)施例的JavaScript API。所示出的 JavaScript API使得網(wǎng)站能夠?qū)eb應(yīng)用與客戶端桌面集成。API定義了將被web應(yīng)用或運(yùn)行時(shí)引擎實(shí)施的導(dǎo)航域。在該示例中,使用上文示出的通配符表述來(lái)描述導(dǎo)航域。該API 允許利用客戶端裝置上的內(nèi)容和信息來(lái)實(shí)現(xiàn)a. webapp應(yīng)用文件302的填充或更新,并將導(dǎo)航域和其它信息存儲(chǔ)在其中。當(dāng)該web應(yīng)用被啟動(dòng)時(shí),這些導(dǎo)航域被實(shí)施。
在所示出和描述的實(shí)施例中,.webapp應(yīng)用文件302包括網(wǎng)站已經(jīng)定義用于其站點(diǎn)模式配置的信息。該信息包括作為被web應(yīng)用模式瀏覽器顯示的初始頁(yè)面的起始統(tǒng)一資源定位符(URL)、所有已被網(wǎng)站指定的導(dǎo)航域、web應(yīng)用標(biāo)題和所謂的收藏夾圖標(biāo)。如下面將描述的,可以包括其它信息。
現(xiàn)在,一旦在客戶端側(cè)上啟動(dòng)web應(yīng)用,則web應(yīng)用模式瀏覽器讀取web應(yīng)用文件,并實(shí)施其中定義的邊界。如上文所注意到的,由于web應(yīng)用體驗(yàn)被能獲知特定網(wǎng)站及其細(xì)微差別的開發(fā)者所定義,因此可以提供完整和集成的用戶體驗(yàn)。
圖4是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的安裝方法中的步驟的流程圖。該方法可以通過(guò)任何適合的硬件、軟件、固件或其組合來(lái)執(zhí)行。在至少一些實(shí)施例中,該方法的方面通過(guò)在客戶端裝置上運(yùn)行的軟件來(lái)執(zhí)行。
步驟400選擇網(wǎng)站集成特性。該步驟可以以任何適合的方式來(lái)執(zhí)行。典型地,當(dāng)用戶選擇工具或以其它方式采取動(dòng)作來(lái)啟動(dòng)web應(yīng)用安裝進(jìn)程時(shí)執(zhí)行該步驟。例如,用戶可能選擇使得其能夠集成web應(yīng)用的鏈接。下面提供了可以如何這樣做的具體示例。
步驟402在客戶端裝置上創(chuàng)建web應(yīng)用文件,這里被指定為webapp”文件。初始創(chuàng)建的該文件可以構(gòu)成偽文件(artifact)或命令解釋程序(shell),其隨后可以用從網(wǎng)站接收到的或代表網(wǎng)站的內(nèi)容和信息填充。步驟404用web應(yīng)用內(nèi)容填充web應(yīng)用文件。 可以以任何適合的方式執(zhí)行該步驟。例如,可以通過(guò)使用JavaScript API來(lái)執(zhí)行該步驟, 上文和下面提供了其示例??商娲鼗蚋郊拥?,可以通過(guò)使用諸如超文本標(biāo)記語(yǔ)言HTML之類的標(biāo)記來(lái)執(zhí)行該步驟。
在客戶端上創(chuàng)建了 web應(yīng)用文 件并用內(nèi)容填充該web應(yīng)用文件,則現(xiàn)在可以啟動(dòng)該web應(yīng)用并與該web應(yīng)用進(jìn)行交互。
圖5是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的web應(yīng)用交互方法中的步驟的流程圖??梢酝ㄟ^(guò)任何適合的硬件、軟件、固件或其組合來(lái)執(zhí)行該方法。在至少一些實(shí)施例中,該方法的方面是通過(guò)在客戶端上執(zhí)行的軟件以及在服務(wù)器端執(zhí)行的支持網(wǎng)站的軟件來(lái)執(zhí)行的。相應(yīng)地,該圖的一列被指定為“客戶端”,以指定通過(guò)例如web應(yīng)用模式瀏覽器而由客戶端或在客戶端處執(zhí)行的那些步驟,并且一列被指定為“網(wǎng)站”,以指定由網(wǎng)站或代表網(wǎng)站執(zhí)行的那些步驟。
步驟500接收站點(diǎn)模式的用戶選擇。該步驟可以以任何適合的方式來(lái)執(zhí)行。例如, 可以利用在客戶端桌面上安裝的快捷方式來(lái)接收站點(diǎn)模式選擇。作為對(duì)接收到該站點(diǎn)模式選擇的響應(yīng),步驟502請(qǐng)求起始統(tǒng)一資源定位符(URL)。該起始URL可以在上述的web應(yīng)用文件中找到。
步驟504接收該起始URL請(qǐng)求。步驟506向客戶端返回相關(guān)聯(lián)的web資源,包括與該起始URL相關(guān)聯(lián)的內(nèi)容。
步驟508接收該相關(guān)聯(lián)的web資源,并且步驟510在web應(yīng)用窗口中呈現(xiàn)該web 資源。如上文所述,通過(guò)web應(yīng)用模式瀏覽器來(lái)呈現(xiàn)該web應(yīng)用窗口。步驟512接收針對(duì)在該web應(yīng)用窗口中呈現(xiàn)的資源的用戶交互。該用戶交互可以包括任何適合類型的用戶交互。例如,該用戶交互可以包括源自該web應(yīng)用窗口內(nèi)的導(dǎo)航活動(dòng)。步驟514確認(rèn)該用戶交互是否在所述web應(yīng)用文件所定義的邊界之內(nèi)。如果該用戶交互在所述web應(yīng)用文件所定義的邊界之內(nèi),則步驟516在所述web應(yīng)用窗口中呈現(xiàn)與該用戶交互相關(guān)聯(lián)的內(nèi)容。另一方面,如果該用戶交互不在所述web應(yīng)用文件所定義的邊界之內(nèi),則步驟518在缺省web 瀏覽器中呈現(xiàn)與該用戶交互相關(guān)聯(lián)的內(nèi)容。
以這種方式,可以實(shí)施網(wǎng)站開發(fā)者針對(duì)特定網(wǎng)站所定義的邊界,以確保用戶體驗(yàn)保持為開發(fā)者所期望的。例如,網(wǎng)站定義的起始URL為主頁(yè),并且后續(xù)在web應(yīng)用模式中對(duì)主頁(yè)的訪問(wèn)導(dǎo)航到該起始URL,而不是用戶初始定義的瀏覽器主頁(yè)。這允許對(duì)web應(yīng)用特定頁(yè)面而不是一些無(wú)關(guān)主頁(yè)的快速訪問(wèn)。這緩解了終端用戶不得不定義可能工作準(zhǔn)確或不準(zhǔn)確的、其自己的站點(diǎn)的專門體驗(yàn)。因此,可以為終端用戶提供完整的、集成的、和智能管理的體驗(yàn)。
已經(jīng)描述了示例的安裝和交互體驗(yàn),現(xiàn)在考慮跳轉(zhuǎn)列表集成的概念。
跳轉(zhuǎn)列表集成在一個(gè)或多個(gè)實(shí)施例中,開發(fā)者可以使得網(wǎng)站能夠在桌面集成期間定義一系列所謂的可用于與網(wǎng)站交互的跳轉(zhuǎn)列表任務(wù)。此外,在至少一些實(shí)施例中,網(wǎng)站可以創(chuàng)建和更新用戶跳轉(zhuǎn)列表。
跳轉(zhuǎn)列表可以被認(rèn)為是構(gòu)成向用戶呈現(xiàn)的相關(guān)的任務(wù)或內(nèi)容的集合的列表。通過(guò)跳轉(zhuǎn)列表,網(wǎng)站可以促進(jìn)將相關(guān)和有用的信息提取給用戶。跳轉(zhuǎn)列表與特定web應(yīng)用的能力或功能相關(guān)。例如,用于電子郵件應(yīng)用的跳轉(zhuǎn)列表可能包括向用戶提供用于打開聯(lián)系人、 創(chuàng)建新電子郵件消息等的能力的任務(wù)。在一些實(shí)例中,跳轉(zhuǎn)列表可以包括相關(guān)的和最經(jīng)常使用的命令和數(shù)據(jù)的列表。
在一個(gè)或多個(gè)實(shí)施例中,跳轉(zhuǎn)列表功能可以被實(shí)現(xiàn)成包括靜態(tài)元素和動(dòng)態(tài)元素。
如上文所述,開發(fā)者可以在填充web應(yīng)用文件的web應(yīng)用安裝進(jìn)程期間定義靜態(tài)元素。與靜態(tài)元素相關(guān)聯(lián)的設(shè)置可以被存儲(chǔ)在web應(yīng)用文件內(nèi)。在一個(gè)或多個(gè)實(shí)施例中, 該設(shè)置可以包括列表名稱和相關(guān)聯(lián)的任務(wù)。在至少一些實(shí)例中,靜態(tài)元素可以構(gòu)成表示常用功能的元素。
與動(dòng)態(tài)元素相關(guān)聯(lián)的設(shè)置可以被在web應(yīng)用窗口內(nèi)運(yùn)行的網(wǎng)站頁(yè)面所驅(qū)動(dòng)。這些設(shè)置包括動(dòng)態(tài)顯露用于用戶的可識(shí)別標(biāo)記的設(shè)置。例如,一個(gè)設(shè)置可以向用戶跳轉(zhuǎn)列表添加項(xiàng)目,以及一個(gè)設(shè)置可以顯示覆蓋圖標(biāo),下面提供這些設(shè)置的示例。在至少一些實(shí)施例中,可以在每次web應(yīng)用被啟動(dòng)時(shí)清空動(dòng)態(tài)設(shè)置,并且可以通過(guò)web應(yīng)用腳本代碼來(lái)配置動(dòng)態(tài)設(shè)置。
作為根據(jù)一個(gè)實(shí)施例的用戶跳轉(zhuǎn)列表的示例,考慮圖6,圖6在600處總體上示出了客戶端桌面的一部分。根據(jù)一個(gè)或多個(gè)實(shí)施例,顯露用戶跳轉(zhuǎn)列表602。這里,在604處示出靜態(tài)元素,并在606處示出動(dòng)態(tài)元素。在該示例中,靜態(tài)元素列表名稱為“任務(wù)”,該任務(wù)或靜態(tài)元素包括“新電子郵件消息”、“新約會(huì)”、“新聯(lián)系人”和“新任務(wù)”。動(dòng)態(tài)元素列表名稱為“今天”,在該示例中該任務(wù)或動(dòng)態(tài)元素包括從用戶的日歷產(chǎn)生的提醒。動(dòng)態(tài)元素被相關(guān)聯(lián)的網(wǎng)站動(dòng)態(tài)地填充。因此,在該示例中,動(dòng)態(tài)元素或內(nèi)容與向用戶提供通知相關(guān)聯(lián), 典型地與用戶的動(dòng)作無(wú)關(guān)。
如上文所注意到的,可以在桌面集成處理期間定義跳轉(zhuǎn)列表。任務(wù)和跳轉(zhuǎn)列表定義可以被存儲(chǔ)在web應(yīng)用文件內(nèi)。作為示例,考慮圖7,圖7在700處示出了根據(jù)一個(gè)或多個(gè)實(shí)施例的JavaScript API。所示出的JavaScript API使得網(wǎng)站能夠與客戶端桌面集成并定義跳轉(zhuǎn)列表。除存在“用戶任務(wù)”和“用戶跳轉(zhuǎn)列表”之外,該JavaScript API可以與針對(duì)圖3描述的JavaScript API相同或相類似。為了簡(jiǎn)化,已省略了圖3的一些內(nèi)容。在至少一些實(shí)施例中,可以通過(guò)標(biāo)記(例如使用在超文本標(biāo)記語(yǔ)言HTML文檔內(nèi)定義的超文本標(biāo)記語(yǔ)言標(biāo)簽)來(lái)定義跳轉(zhuǎn)列表任務(wù)的靜態(tài)列表的初始創(chuàng)建。
例如,考慮下面緊接的示例,其使用元標(biāo)簽來(lái)描述靜態(tài)列表功能
權(quán)利要求
1.一種計(jì)算機(jī)實(shí)現(xiàn)的方法,包括 接收與保存任務(wù)會(huì)話狀態(tài)信息相關(guān)聯(lián)的輸入,所述任務(wù)會(huì)話狀態(tài)信息與在客戶端裝置上集成的web應(yīng)用相關(guān)聯(lián); 訪問(wèn)web應(yīng)用目錄中的任務(wù)會(huì)話數(shù)據(jù)結(jié)構(gòu);以及 將任務(wù)會(huì)話狀態(tài)信息保存在所述任務(wù)會(huì)話數(shù)據(jù)結(jié)構(gòu)中。
2.根據(jù)權(quán)利要求I所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中所述接收輸入包括經(jīng)由與所述web應(yīng)用相關(guān)聯(lián)的跳轉(zhuǎn)列表接收用戶輸入。
3.根據(jù)權(quán)利要求I所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,還包括在用戶與所述web應(yīng)用的交互期間定期地保存任務(wù)會(huì)話狀態(tài)信息。
4.根據(jù)權(quán)利要求I所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中所述訪問(wèn)和所述保存是通過(guò)利用web瀏覽器的崩潰恢復(fù)系統(tǒng)來(lái)執(zhí)行的。
5.根據(jù)權(quán)利要求I所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中所述任務(wù)會(huì)話狀態(tài)信息包括以下一個(gè)或多個(gè)會(huì)話小甜餅、JavaScript狀態(tài)、DOM狀態(tài)、表格狀態(tài)、選項(xiàng)卡和窗口定位、或窗口尺寸。
6.根據(jù)權(quán)利要求I所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,還包括顯示具有菜單項(xiàng)目的跳轉(zhuǎn)列表,所述菜單項(xiàng)目包括與保存任務(wù)會(huì)話狀態(tài)信息相關(guān)聯(lián)的一個(gè)或多個(gè)條目。
7.根據(jù)權(quán)利要求I所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,還包括顯示具有菜單項(xiàng)目的跳轉(zhuǎn)列表,所述菜單項(xiàng)目包括與保存任務(wù)會(huì)話狀態(tài)信息相關(guān)聯(lián)的一個(gè)或多個(gè)條目,其中所述一個(gè)或多個(gè)條目之一使得能夠創(chuàng)建新的任務(wù)會(huì)話。
8.根據(jù)權(quán)利要求I所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,還包括顯示具有菜單項(xiàng)目的跳轉(zhuǎn)列表,所述菜單項(xiàng)目包括與保存任務(wù)會(huì)話狀態(tài)信息相關(guān)聯(lián)的一個(gè)或多個(gè)條目,其中所述一個(gè)或多個(gè)條目之一使得能夠保存與當(dāng)前任務(wù)相關(guān)聯(lián)的狀態(tài)信息。
9.根據(jù)權(quán)利要求I所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中所述保存包括將應(yīng)用標(biāo)識(shí)與所述web應(yīng)用相關(guān)聯(lián)。
10.一種計(jì)算機(jī)實(shí)現(xiàn)的方法,包括 接收與恢復(fù)任務(wù)會(huì)話相關(guān)聯(lián)的用戶輸入,所述任務(wù)會(huì)話的狀態(tài)信息先前被保存,所述任務(wù)會(huì)話與客戶端裝置上集成的web應(yīng)用相關(guān)聯(lián); 響應(yīng)于接收到所述用戶輸入,訪問(wèn)web應(yīng)用目錄中的任務(wù)會(huì)話數(shù)據(jù)結(jié)構(gòu); 從所述web應(yīng)用目錄中檢索與所述任務(wù)會(huì)話相關(guān)聯(lián)的任務(wù)會(huì)話狀態(tài)信息;以及 啟動(dòng)關(guān)聯(lián)的web應(yīng)用,并使用所述任務(wù)會(huì)話狀態(tài)信息恢復(fù)所述任務(wù)會(huì)話。
11.根據(jù)權(quán)利要求10所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中所述接收用戶輸入包括經(jīng)由與所述web應(yīng)用相關(guān)聯(lián)的跳轉(zhuǎn)列表接收用戶輸入。
12.根據(jù)權(quán)利要求10所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中所述任務(wù)會(huì)話狀態(tài)信息包括以下一個(gè)或多個(gè)會(huì)話小甜餅、JavaScript狀態(tài)、DOM狀態(tài)、表格狀態(tài)、選項(xiàng)卡和窗口定位、或窗口尺寸。
13.根據(jù)權(quán)利要求10所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,還包括顯示具有菜單項(xiàng)目的跳轉(zhuǎn)列表,所述菜單項(xiàng)目包括與恢復(fù)先前的任務(wù)會(huì)話相關(guān)聯(lián)的一個(gè)或多個(gè)條目。
14.根據(jù)權(quán)利要求10所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中所述web應(yīng)用被釘扎到客戶端桌面的任務(wù)條。
15. —個(gè)或多個(gè)包含計(jì)算機(jī)可讀指令的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀指令在執(zhí)行時(shí)實(shí)現(xiàn)一種方法,所述方法包括接收與保存任務(wù)會(huì)話狀態(tài)信息相關(guān)聯(lián)的輸入,所述任務(wù)會(huì)話狀態(tài)信息與客戶端的桌面上集成的web應(yīng)用相關(guān)聯(lián);訪問(wèn)web應(yīng)用目錄中的任務(wù)會(huì)話數(shù)據(jù)結(jié)構(gòu);將任務(wù)會(huì)話狀態(tài)信息保存在所述任務(wù)會(huì)話數(shù)據(jù)結(jié)構(gòu)中;接收與恢復(fù)任務(wù)會(huì)話相關(guān)聯(lián)的用戶輸入,所述任務(wù)會(huì)話的狀態(tài)信息先前被保存; 響應(yīng)于接收到與恢復(fù)任務(wù)會(huì)話相關(guān)聯(lián)的用戶輸入,訪問(wèn)所述web應(yīng)用目錄中的所述任務(wù)會(huì)話數(shù)據(jù)結(jié)構(gòu);從所述web應(yīng)用目錄中檢索與所述任務(wù)會(huì)話相關(guān)聯(lián)的任務(wù)會(huì)話狀態(tài)信息;以及啟動(dòng)關(guān)聯(lián)的web應(yīng)用,并使用任務(wù)會(huì)話狀態(tài)信息恢復(fù)所述任務(wù)會(huì)話。
全文摘要
各種實(shí)施例提供了用于允許終端用戶將web應(yīng)用和網(wǎng)站安裝到該終端用戶的桌面上的機(jī)制。根據(jù)一個(gè)或多個(gè)實(shí)施例,可以利用客戶端側(cè)代碼來(lái)允許與網(wǎng)站相關(guān)聯(lián)的開發(fā)者定義與用戶交互相關(guān)聯(lián)的邊界,并使得通過(guò)運(yùn)行時(shí)引擎來(lái)實(shí)現(xiàn)這些邊界。在至少一些實(shí)施例中,開發(fā)者可以通過(guò)JavaScript代碼和/或HTML標(biāo)記來(lái)提供用于創(chuàng)建開始菜單快捷方式、導(dǎo)航和所謂的跳轉(zhuǎn)列表集成的各種配置。
文檔編號(hào)G06F3/0486GK102939583SQ201180028793
公開日2013年2月20日 申請(qǐng)日期2011年5月31日 優(yōu)先權(quán)日2010年6月11日
發(fā)明者I.希勒里奧, J.M.波西, C.楊, A.H.馬列克, B.A.摩根, M.B.帕頓 申請(qǐng)人:微軟公司