本技術涉及從計算裝置提供功能的領域。更具體地,本技術涉及用于基于裝置方位提供功能的技術。
背景技術:
現(xiàn)今,人們常常利用計算裝置(或者系統(tǒng))用于各種目的。例如,用戶可以使用他們的計算裝置互相交互、訪問內容、分享內容、并且創(chuàng)建內容。在一些情況下,社交網絡系統(tǒng)(或服務)的用戶可以利用他或她的計算裝置經由社交網絡系統(tǒng)提供、發(fā)布、分享和訪問各種內容項,例如狀態(tài)更新、鏈路、圖像和視頻。
通常,計算裝置的顯示屏的尺寸是有限的。因此,文本、圖像及其他內容通常必須競爭在屏幕上顯示的空間。在常規(guī)方法中,不同類型的計算裝置功能可能無效地用盡顯示屏空間。在一些情況下,可能無效地執(zhí)行提供諸如文本框的輸入元素、諸如圖像的可視化以及需要顯示屏空間的其它功能的常規(guī)方法。因而,常規(guī)方法可能對與提供內容和其他裝置功能相關聯(lián)的總體用戶體驗造成挑戰(zhàn)或降低這種總體用戶體驗。
技術實現(xiàn)要素:
根據本發(fā)明的實施方式具體在指向一種方法、存儲介質、系統(tǒng)以及計算機程序產品的所附權利要求中公開,其中,在一個權利要求范疇(例如,方法)內提及的任何特征還可以在另一個權利要求范疇(例如,系統(tǒng))內要求保護。僅為了形式原因,選擇了所附權利要求中的從屬關系或者后向引用。然而,也可要求保護從任何之前權利要求的故意引用(具體地,多個從屬關系)得到的任何主題,使得權利要求及其特征的任何組合被公開并且都可被要求保護,而不管在所附權利要求中選擇的從屬關系如何??梢蟊Wo的主題不僅包括所附權利要求中所陳述的特征的組合,而且包括權利要求中的特征的任何其它組合,其中權利要求中提及的每個特征可與任何其它特征結合或是與權利要求中的其他特征的組合結合。此外,本文描述或描繪的任何實施方式和特征可以在單獨的權利要求中要求保護,和/或在與本文描述或描繪的任何實施方式或特征或與所附權利要求的任何特征的任何組合中要求保護。
本公開的各種實施方式可以包括被配置為確定計算系統(tǒng)所定位的第一方位的系統(tǒng)、方法和非暫時性計算機可讀介質。當計算系統(tǒng)定位在第一方位中時,可以提供第一功能??梢源_定計算系統(tǒng)變?yōu)槎ㄎ辉诘诙轿恢???梢曰谂c計算系統(tǒng)相關聯(lián)的當前狀態(tài)從功能的集合中選擇第二功能。當計算系統(tǒng)變?yōu)槎ㄎ辉诘诙轿恢袝r,可以提供第二功能。
在實施方式中,第一方位可以對應于縱向方位并且第二方位可以對應于橫向方位。在實施方式中,第一方位可以對應于橫向方位并且第二方位可以對應于縱向方位。
在實施方式中,與計算系統(tǒng)相關聯(lián)的當前狀態(tài)可以包括與在計算系統(tǒng)上運行的應用相關聯(lián)的當前上下文或與在計算系統(tǒng)上運行的操作系統(tǒng)相關聯(lián)的當前上下文中的至少一個。
在實施方式中,功能的集合中的至少第一子集可以與內容產生相關聯(lián),并且功能的集合中的至少第二子集可以與內容消費相關聯(lián)。
在實施方式中,第一功能可以與用于在社交網絡系統(tǒng)上創(chuàng)建帖子的輸入元素相關聯(lián)并且第二功能可以與用于產生帖子中包括的圖像的照相機模式相關聯(lián)。
在實施方式中,第一功能可以與用于在社交網絡系統(tǒng)上創(chuàng)建帖子的輸入元素相關聯(lián),并且第二功能可以與將位置標簽添加到帖子、將用戶標簽添加到帖子、向帖子應用面部識別、或者對帖子使用富文本編輯中的至少一個相關聯(lián)。
在實施方式中,第一功能可以與訪問第一視圖中的內容項相關聯(lián)并且第二功能可以與訪問第二視圖中的內容項相關聯(lián)。在一些情況下,與第一視圖相比,第二視圖可以提供與內容項相關聯(lián)的更多信息。
在實施方式中,第一功能可以與金融交易相關聯(lián),并且第二功能可以與提供收據、名片或表達感謝的通信中的至少一個相關聯(lián)。
在實施方式中,第一功能可以與訪問收件箱中的消息相關聯(lián),并且第二功能可以與提供消息、收件箱或消息是其一部分的消息線程中的至少一個相關聯(lián)。
在實施方式中,第一功能可以與訪問第一視圖中的第一內容項相關聯(lián),并且第二功能可以與提供第一內容項和提供用于切換到第二視圖以訪問第二內容項的至少一個欄標相關聯(lián)。
在實施方式中,第一功能可以與搜索相關聯(lián),并且第二功能可以與基于搜索提供結果的集合相關聯(lián)。在一些情況下,提供結果的集合可以包括至少提供與第一搜索結果類型相關聯(lián)的結果的第一子集和與第二搜索結果類型相關聯(lián)的結果的第二子集。
在實施方式中,第一功能可以與提供鏈路至網絡資源相關聯(lián)并且第二功能可以與經由鏈路發(fā)起網絡資源的加載相關聯(lián)。
在實施方式中,可以確定計算系統(tǒng)在提供第二功能之后變?yōu)槎ㄎ辉诘谝环轿恢小5谌δ芸梢曰诘诙δ苓x擇。當計算系統(tǒng)在提供第二功能之后變?yōu)槎ㄎ辉诘谝环轿恢袝r,可以提供第三功能。
在實施方式中,第三功能可以與發(fā)起圖像的加載相關聯(lián),圖像是在與第二功能相關聯(lián)的照相機模式中產生的,圖像要包括在至社交網絡系統(tǒng)的帖子中。在一些情況下,帖子的創(chuàng)建可以基于第一功能發(fā)起。
在實施方式中,第三功能可以與后退指令、取消指令、忽略指令、放棄指令、流出指令或退出指令中的至少一個相關聯(lián)。
在實施方式中,當計算系統(tǒng)在定位在第一方位之后變?yōu)槎ㄎ辉诘诙轿恢袝r,可以確定與計算系統(tǒng)經歷的方位的變化相關聯(lián)的方向。在一些情況中,第二功能的選擇可以基于該方向。
在實施方式中,第一方位或者第二方位中的至少一個可以基于計算系統(tǒng)的一個或多個方位傳感器來確定。
在實施方式中,一個或多個方位傳感器可以包括加速計、陀螺儀、指南針、氣壓計、磁力計、或者運動處理器中的至少一個。
在根據本發(fā)明的另一實施方式中,一個或多個計算機可讀非暫時性存儲介質包含軟件,當執(zhí)行該軟件時,該軟件可操作以執(zhí)行根據本發(fā)明或上述實施方式中的任一個的方法。
在根據本發(fā)明的另一實施方式中,系統(tǒng)包括:一個或多個處理器;以及至少一個存儲器,耦接至處理器并且包括可通過處理器執(zhí)行的指令,當執(zhí)行指令時處理器可操作以執(zhí)行根據本發(fā)明或上述實施方式中的任一個的方法。
在根據本發(fā)明的另一實施方式中,計算機程序產品優(yōu)選包括計算機可讀非暫時性存儲介質,當在數據處理系統(tǒng)上執(zhí)行時,計算機程序產品可操作以執(zhí)行根據本發(fā)明或上述實施方式中的任一個的方法。
從附圖中并且從以下詳細描述中,本發(fā)明的很多其他特征和實施方式將是顯而易見的。
附圖說明
圖1示出了根據本公開的實施方式的包括示例性方位相關功能模塊的示例性系統(tǒng),該示例性方位相關功能模塊被配置為促進基于裝置方位提供功能。
圖2示出了根據本公開的實施方式的被配置為促進基于裝置方位提供功能的示例性功能模塊。
圖3示出了根據本公開的實施方式的被配置為促進基于裝置方位提供功能的示例性狀態(tài)確定模塊。
圖4a示出了根據本公開的實施方式的與基于裝置方位提供功能相關聯(lián)的示例性情形。
圖4b示出了根據本公開的實施方式的與基于裝置方位提供功能相關聯(lián)的示例性情形。
圖4c示出了根據本公開的實施方式的與基于裝置方位提供功能相關聯(lián)的示例性情形。
圖5a示出了根據本公開的實施方式的與基于裝置方位提供功能相關聯(lián)的示例性情形。
圖5b示出了根據本公開的實施方式的與基于裝置方位提供功能相關聯(lián)的示例性情形。
圖6a示出了根據本公開的實施方式的與基于裝置方位提供功能相關聯(lián)的示例性情形。
圖6b示出了根據本公開的實施方式的與基于裝置方位提供功能相關聯(lián)的示例性情形。
圖7示出了根據本公開的實施方式的與基于裝置方位提供功能相關聯(lián)的示例性方法。
圖8示出了根據本公開的實施方式的與基于裝置方位提供功能相關聯(lián)的示例性方法。
圖9示出了根據本公開的實施方式的可以在各種情形中利用的示例性系統(tǒng)的網絡圖。
圖10示出了根據本公開的實施方式的可以在各種情形中利用的計算機系統(tǒng)的實例。
附圖僅出于說明性目的而描述公開技術的各種實施方式,其中,附圖使用相同參考標號來識別相同元件。本領域的技術人員從以下討論中容易認識到,在不背離本文描述的公開的技術的原理的情況下,可采用在圖中示出的結構和方法的替代實施方式。
具體實施方式
基于裝置方位提供功能
人們出于各種目的使用計算裝置(或者系統(tǒng))。計算裝置可以提供不同種類的功能。用戶可以利用他們的計算裝置(諸如通過寫文章、拍照或記錄視頻)來產生內容。用戶還可以使用他們的計算裝置,諸如通過閱讀文章、觀看媒體或訪問網絡資源(例如,網站、在線服務等)來消費內容。在一些情況下,社交網絡系統(tǒng)(或服務)的用戶可以使用他們的計算裝置來與其他用戶通信或交互,以及經由社交網絡系統(tǒng)創(chuàng)建內容、提供內容、分享內容和/或訪問內容。
在常規(guī)方法下,在計算裝置上提供功能可能需要使用計算裝置的顯示屏。因此,在計算裝置上提供的不同類型的功能或特征常常必須在顯示屏上分享顯示空間。然而,計算裝置的顯示屏上的顯示空間可能常常受限制。在一些情況下,常規(guī)方法可能無效地提供需要顯示空間的功能或特征。
因此,提供裝置或系統(tǒng)功能的改進方法對于解決或減輕與常規(guī)方法相關聯(lián)的各種問題是有益的。本公開的各種實施方式可以基于計算裝置或者系統(tǒng)的方位提供功能。在一些實施方式中,公開的技術可以利用一個或多個方位傳感器來確定計算系統(tǒng)定位其中的第一方位。當計算系統(tǒng)定位在第一方位中時,可以提供第一功能??梢源_定計算系統(tǒng)變?yōu)槎ㄎ辉诘诙轿恢???梢曰谂c計算系統(tǒng)相關聯(lián)的當前狀態(tài)從功能的集合中選擇第二功能。當計算系統(tǒng)變?yōu)槎ㄎ辉诘诙轿恢袝r,可以提供第二功能。
圖1示出了根據本公開的實施方式的包括示例性方位相關功能模塊102的示例性系統(tǒng)100,該示例性方位相關功能模塊被配置為促進基于裝置(或者系統(tǒng))方位提供功能。在一些實現(xiàn)中,方位相關功能模塊102可以包括方位確定模塊104、功能模塊106及狀態(tài)確定模塊108。示例性系統(tǒng)100還可以包括至少一個數據存儲110。
至少一個數據存儲110可以被配置為存儲并且維護各種類型的數據。在一些實現(xiàn)中,至少一個數據存儲110可以存儲與社交網絡系統(tǒng)(或者服務)(諸如圖9的社交網絡系統(tǒng)930)相關聯(lián)的信息。與社交網絡系統(tǒng)相關聯(lián)的信息可以包括關于用戶、社交連接、社交交互、位置、地圖、地點、事件、群組、帖子、通信、媒體、內容、帳戶設置、隱私設置的數據,及各種其他類型的數據。如在示例性系統(tǒng)100中所示,在一些實施方式中,方位相關功能模塊102可以被配置為利用至少一個數據存儲110通信或者操作。
此外,方位確定模塊104可以被配置為促進確定計算系統(tǒng)定位的方位。與公開技術的其他模塊相似,在一些實施方式中,方位確定模塊104可以實現(xiàn)為硬件、軟件、或者其任何組合。例如,在一些實現(xiàn)中,方位確定模塊104可以包括一個或多個方位傳感器。在另一個實例中,一個或多個方位傳感器可以在方位確定模塊104之外實現(xiàn),但是可以駐留在計算系統(tǒng)上或駐留在其內。
方位確定模塊104可以利用或結合一個或多個方位傳感器操作,以確定計算系統(tǒng)定位的方位。在一些情況下,方位確定模塊104可以確定計算系統(tǒng)以縱向(或垂直)方位定位。在一些情況下,方位確定模塊104可以確定計算系統(tǒng)以橫向(或水平)方位定位。此外,方位確定模塊104可以確定計算系統(tǒng)經歷的方位的變化。例如,方位確定模塊104可以確定計算系統(tǒng)已定位在一個方位中并且已變?yōu)槎ㄎ辉诹硪环轿恢小?/p>
在一些實施方式中,一個或多個方位傳感器可以包括但不限于加速計、陀螺儀、指南針、氣壓計、磁力計、運動處理器(例如,運動協(xié)同處理器)、或其任何組合中的至少一個。
另外,功能模塊106可以被配置為促進基于計算系統(tǒng)的方位提供功能。在一些情況下,功能模塊106可以被配置為促進基于與計算系統(tǒng)相關聯(lián)的當前狀態(tài)提供功能。例如,功能模塊106可以基于與計算系統(tǒng)相關聯(lián)的方位和/或當前狀態(tài)來提供從功能的集合中選擇的功能。將參考圖2更詳細地討論功能模塊106。
在一些實施方式中,與計算系統(tǒng)相關聯(lián)的當前狀態(tài)可以由狀態(tài)確定模塊108確定、識別、獲取和/或提供。將參考圖3提供與狀態(tài)確定模塊108相關的更多細節(jié)。
此外,在一些實施方式中,當計算系統(tǒng)在定位在前一方位之后變?yōu)槎ㄎ辉诤笠环轿粫r,方位確定模塊104可以促進確定與計算系統(tǒng)經歷的方位的變化相關聯(lián)的方向。在一些情況下,由計算系統(tǒng)提供的功能的選擇可以基于該方向(例如,順時針、逆時針等)。
圖2示出了根據本公開的實施方式的被配置為促進基于裝置方位提供功能的示例性功能模塊202。在一些實施方式中,圖1的功能模塊106可以實現(xiàn)為示例性功能模塊202。在一些情況下,示例性功能模塊202可以包括內容產生模塊210和內容消費模塊220,如在圖2的實例中示出的。
如上所述,功能模塊202可以被配置為促進基于計算系統(tǒng)的方位提供功能。例如,當確定計算系統(tǒng)處于第一方位時,功能模塊202可以選擇并提供至少第一功能,并且當確定計算系統(tǒng)處于第二方位時,功能模塊202可以選擇并提供至少第二功能。在一些情況下,功能模塊202可以被配置為基于與計算系統(tǒng)相關聯(lián)的方位和/或當前狀態(tài)來提供從功能的集合中選擇的功能。在一些情況下,功能的集合可包括與內容產生相關聯(lián)的功能的子集以及與內容消費相關聯(lián)的功能的另一子集。
在圖2的實例中,內容產生模塊210可以被配置為提供與內容產生相關聯(lián)的功能的子集。與內容產生相關聯(lián)的功能的子集可以包括但不限于媒體產生功能212、編輯功能214和加載功能216。應當理解,許多變化是可能的。
媒體產生功能212可以與獲取、創(chuàng)建和/或提供媒體內容項相關聯(lián)。媒體內容項的實例可包括但不限于圖像、視頻、音頻、和/或文本等。在一個實例中,媒體產生功能212可以包括使用計算系統(tǒng)的一個或多個鍵盤(例如,虛擬鍵盤、數字鍵盤等)在社交網絡系統(tǒng)處產生狀態(tài)更新或帖子的功能。在另一實例中,媒體產生功能212可以包括使用計算系統(tǒng)的一個或多個照相機捕捉圖像或者記錄視頻的功能。
編輯功能214可以與開發(fā)、修改和/或修正內容(諸如媒體內容項和其他內容項)相關聯(lián)。在一個實例中,編輯功能214可以對應于編輯圖像、視頻、音頻、和/或文本等。在另一個實例中,編輯功能214可以對應于添加或編輯與具體內容項相關聯(lián)的一個或多個屬性或元數據(例如,標簽、描述、日期、位置等)。例如,編輯功能214可包括將面部識別應用于具體內容項以檢測和/或辨別包括具體內容項的一個或多個面部的功能。此外,在一些情況下,編輯功能214可以包括富文本編輯功能,其可以包括改變字體樣式、字體大小、字體顏色、符號等。
加載功能216可以與加載已產生或提供的內容的功能相關聯(lián)。在一些情況下,加載功能216可以對應于已產生或提供的圖像、視頻或其他內容項的加載。例如,加載功能216可以包括發(fā)起對要作為帖子的一部分包括或附加到社交網絡系統(tǒng)的所捕捉的圖像的加載。在另一個實例中,加載功能216可以包括發(fā)起對要作為要發(fā)送的消息的一部分包括或附加的所捕捉的圖像的加載。
另外,在圖2的實例中,內容消費模塊220可以被配置為提供與內容消費相關聯(lián)的功能的子集。與內容消費相關聯(lián)的功能的子集可以包括但不限于信息功能222、欄標功能224及加載功能226。再次,設想可以有許多變化。
信息功能222可以對應于提供關于正在消費(例如,觀看、播放、訪問等)的內容的信息或以其它方式與該內容相關的信息的功能。在一些情況下,在不同情形下可以提供不同類型和/或量的信息。例如,當計算系統(tǒng)處于第一方位時,可以提供特定信息。當計算系統(tǒng)變?yōu)槎ㄎ辉诘诙轿恢袝r,可以提供不同的信息。
欄標功能224可以對應于提供一個或多個欄標(諸如通過其消費內容的導航界面)的功能。在一些情況下,每個欄標可以提供對相應的要消費的信息或內容項的集合的訪問。在一個實例中,可以在社交網絡系統(tǒng)用戶的配置文件頁面或時間線處消費內容。配置文件頁面或時間線上的第一欄標可以提供對關于用戶的信息的訪問。在這個實例中,第二欄標可以提供對與用戶相關聯(lián)的一個或多個媒體內容項的訪問。第三欄標可以提供關于用戶的好友或者社交網絡系統(tǒng)內的社交連接的信息。在另一實例中,要消費的內容可以包括從搜索或者查詢產生的結果。欄標功能224可以與經由不同欄標提供不同類型的搜索結果(例如,網頁結果、圖像結果、新聞結果等)相關聯(lián)。
加載功能226可以對應于發(fā)起加載要消費的內容的功能。在一個實例中,加載功能226可以包括加載圖像、視頻、或者其他要消費的內容項。在另一實例中,加載功能226可以與加載可經由鏈路或網絡地址訪問的網絡資源相關聯(lián)。
在一些實施方式中,與內容消費相關聯(lián)的加載功能226可以與和內容產生相關聯(lián)的加載功能216基本相同或相似。在一些實施方式中,與內容消費相關聯(lián)的加載功能226可以與和內容產生相關聯(lián)的加載功能216不同或者分離。應當理解,許多變化是可能的。
圖3示出了根據本公開的實施方式的被配置為促進基于裝置方位提供功能的示例性狀態(tài)確定模塊302。在一些實施方式中,圖1的狀態(tài)確定模塊108可以實現(xiàn)為示例性功能模塊302。如在圖3的實例中所示,功能模塊302可以包括應用上下文模塊304和操作系統(tǒng)上下文模塊306。
如上所述,狀態(tài)確定模塊302可以被配置為獲取、確定、辨別和/或識別與計算系統(tǒng)相關聯(lián)的狀態(tài),諸如當前狀態(tài)。在一些情況下,與計算系統(tǒng)相關聯(lián)的當前狀態(tài)可以包括與在計算系統(tǒng)上運行的應用相關聯(lián)的當前上下文或與在計算系統(tǒng)上運行的操作系統(tǒng)相關聯(lián)的當前上下文中的至少一個。
應用上下文模塊304可以被配置為獲取、確定、辨別和/或識別與在計算系統(tǒng)上運行的應用相關聯(lián)的上下文,諸如當前上下文。與應用相關聯(lián)的當前上下文可以指示由在計算系統(tǒng)上運行的應用當前正在執(zhí)行或經歷的狀態(tài)、階段、步驟、過程、操作、和/或任務。
在一個實例中,應用的當前上下文可以指示應用的用戶當前與哪個應用接口或其一部分交互。在另一個實例中,應用的當前上下文可以指示應用當前提供哪(幾)個功能。在又一個實例中,應用的當前上下文可以實時(或接近實時)提供關于應用的最新信息。在一些實施方式中,由計算系統(tǒng)提供的一個或多個功能可以基于應用的當前上下文。
操作系統(tǒng)上下文模塊306可以被配置為獲取、確定、辨別和/或識別與在計算系統(tǒng)上運行的操作系統(tǒng)相關聯(lián)的上下文,諸如當前上下文。與操作系統(tǒng)相關聯(lián)的當前上下文可以指示由在計算系統(tǒng)上運行的操作系統(tǒng)當前正在執(zhí)行或經歷的狀態(tài)、階段、步驟、過程、操作、和/或任務。
在一個實例中,操作系統(tǒng)的當前上下文可以指示操作系統(tǒng)的用戶當前利用哪個操作系統(tǒng)接口或其一部分。在另一個實例中,操作系統(tǒng)的當前上下文可以指示操作系統(tǒng)當前提供哪(幾)個功能或者特征。在又一個實例中,操作系統(tǒng)的當前上下文可以實時(或接近實時)提供關于操作系統(tǒng)的最新信息。在一些實施方式中,由計算系統(tǒng)提供的一個或多個功能可以基于操作系統(tǒng)的當前上下文。
圖4a示出了根據本公開的實施方式的與基于裝置方位提供功能相關聯(lián)的示例性情形400。示例性情形400可以涉及被配置為基于裝置方位提供功能的示例性計算裝置或者系統(tǒng)402。
在示例性情形400中,計算系統(tǒng)402可以包括顯示屏404和一個或多個照相機,諸如后置照相機406。計算系統(tǒng)402也可以定位在第一方位中。如所示,第一方位可以對應于縱向(或者垂直)方位。在該實例中,當定位在第一方位中時,計算系統(tǒng)402可以提供第一功能,第一功能對應于在顯示屏404上提供用于在社交網絡系統(tǒng)上創(chuàng)建帖子的輸入元素(例如,文本框)408。
圖4b示出了根據本公開的實施方式的與基于裝置方位提供功能相關聯(lián)的示例性情形430。在圖4b中,圖4a的計算系統(tǒng)402已經歷或經受方位的變化,使得計算系統(tǒng)402現(xiàn)在定位在第二方位中。如在圖4b中所示,第二方位可以對應于橫向(或者水平)方位。當定位在第二方位中時,計算系統(tǒng)402可以提供第二功能。在這個實例中,第二功能可以與用于產生要包括在社交網絡系統(tǒng)上的帖子中的圖像的照相機模式410相關聯(lián)。如示例性情形430所示,照相機模式410可以在顯示屏404上提供后置照相機406的照相機視圖以及用于捕捉圖像或記錄視頻的其他照相機模式界面元素,該圖像或視頻可以包括在帖子中。用戶可以使用照相機模式410來捕捉圖像。此外,在一些實施方式中,當計算系統(tǒng)402定位在第二方位中時,照相機模式410可以立即或接近瞬時地啟用。例如,當檢測到計算系統(tǒng)402變?yōu)槎ㄎ辉诘诙轿恢袝r,照相機模式410可以立即或接近瞬時地激活。此外,在一些實現(xiàn)中,計算系統(tǒng)402可以以照相機模式410自動捕捉一個或多個圖像,該照相機模式可以在計算系統(tǒng)402處于第二方位時被發(fā)起、激活、或者啟用。
圖4c示出了根據本公開的實施方式的與基于裝置方位提供功能相關聯(lián)的示例性情形460。示例性情形460示出了圖4b的計算系統(tǒng)402已經經歷或經受方位的另一變化,使得計算系統(tǒng)402現(xiàn)在已經回復到可以對應于縱向方位的第一方位。在以照相機模式捕捉圖像(第二功能)之后已經回復到第一方位的情況下,計算系統(tǒng)402可以選擇并提供第三功能。在這個實例中,由于先前以照相機模式捕捉了圖像(第二功能),所以可以選擇第三功能以對應于發(fā)起對于社交網絡系統(tǒng)的帖子的包含物或附件412的圖像的加載。
此外,應當理解,許多變化是可能的。在一個實例中,當計算系統(tǒng)定位在第一方位時可以提供第一功能,并且第一功能可以與用于創(chuàng)建社交網絡系統(tǒng)的帖子的輸入元素408相關聯(lián),如上所述。如圖4a所示,在顯示屏404上可能具有有限的顯示空間,以高效地、有效地或舒適地提供需要更多顯示空間的附加功能或特征。在這個實例中,雖然未明確示出,但是在第二方位上提供的第二功能可以與提供向帖子添加位置標簽的選項、向帖子添加用戶標簽的選項、向帖子應用面部識別的選項、或者對帖子使用富文本編輯的選項中的至少一個選項相關聯(lián)。
圖5a示出了根據本公開的實施方式的與基于裝置方位提供功能相關聯(lián)的示例性情形500。示例性情形500涉及可以包括顯示屏504的示例性計算裝置或者系統(tǒng)502。計算系統(tǒng)502在第一方位(諸如縱向方位)上時可以提供第一功能。在該示例性情形500中,第一功能可以與在顯示屏504上的第一視圖506中訪問內容項(例如,比薩餅的圖像)相關聯(lián)。
圖5b示出了根據本公開的實施方式的與基于裝置方位提供功能相關聯(lián)的示例性情形550。示例性情形550示出了圖5a的計算系統(tǒng)502已經經歷了從第一方位到諸如橫向方位的第二方位的方位變化。在計算系統(tǒng)502處于第二方位時可以提供第二功能。在該示例性情形550中,第二功能可以與在第二視圖508中訪問內容項(例如,比薩餅的圖像)相關聯(lián)。如所示,與第一視圖506相比,第二視圖508可以提供與內容項相關聯(lián)的更多信息。例如,第二視圖508可以提供內容項的更大視圖。此外,第二視圖508可以提供與內容項相關聯(lián)的屬性和/或元數據(例如,評論、贊等)510。
再次,設想許多變化是可能的。在一個實例中,第一功能可以與金融交易相關聯(lián),并且第二功能可以與提供收據、名片或表達感謝的通信(例如,“謝謝”便箋)中的至少一個相關聯(lián)。在另一個實例中,第一功能可以與訪問收件箱中的消息相關聯(lián),并且第二功能可以與提供消息、收件箱或其中消息是其一部分的消息線程中的至少一個相關聯(lián)。在另一個實例中,第一功能可以與提供鏈路至網絡資源相關聯(lián),并且第二功能可以與經由鏈路發(fā)起網絡資源的加載(例如,訪問鏈路以呈現(xiàn)網絡資源)相關聯(lián)。
圖6a示出了根據本公開的實施方式的與基于裝置方位提供功能相關聯(lián)的示例性情形600。示例性情形600可以包括具有顯示屏604的示例性計算系統(tǒng)602。計算系統(tǒng)602在第一方位(諸如縱向方位)上時可以提供第一功能。在該示例性情形600中,第一功能可以與訪問第一視圖606中的第一內容項(例如,樹的圖像)相關聯(lián)。
圖6b示出了根據本公開的實施方式的與基于裝置方位提供功能相關聯(lián)的示例性情形650。示例性情形650示出了圖6a的計算系統(tǒng)602已經經歷了從第一方位到諸如橫向方位的第二方位的方位變化。在計算系統(tǒng)602處于第二方位時可以提供第二功能。在該示例性情形650中,第二功能可以與在顯示屏604上提供第一內容項(例如,樹的圖像)和提供用于切換到第二視圖以訪問第二內容項的至少一個欄標608相關聯(lián)。
此外,盡管未明確示出,但是在一些實施方式中,第一功能可以與搜索相關聯(lián),并且第二功能可以與提供基于搜索的結果的集合相關聯(lián)。提供結果的集合可以包括至少提供與第一搜索結果類型相關聯(lián)的結果的第一子集和與第二搜索結果類型相關聯(lián)的結果的第二子集。在一些情況下,可以結合第二功能提供用于在子集之間切換的一個或多個欄標。應當理解,存在許多其他可能性和變化。
圖7示出了根據本公開的實施方式的與基于裝置方位提供功能相關聯(lián)的示例性方法700。應當理解,除非另有說明,否則在各種實施方式的范圍內可以存在以類似或替代順序執(zhí)行或并行地執(zhí)行的附加、更少或替代步驟。
在框702處,示例性方法700可以確定計算系統(tǒng)所定位的第一方位。在一個實例中,第一方位可以包括縱向方位,或者可替換地包括橫向方位。在框704處,當計算系統(tǒng)定位在第一方位中時,示例性方法700可以提供第一功能。
在框706處,示例性方法700可以確定計算系統(tǒng)變?yōu)槎ㄎ辉诘诙轿恢?。方?00可以檢測計算系統(tǒng)經歷的方位的變化,這導致計算系統(tǒng)變?yōu)槎ㄎ辉诘诙轿恢卸皇堑谝环轿恢?。例如,示例性方?00可以確定計算系統(tǒng)在處于縱向方位之后變?yōu)槎ㄎ辉跈M向方位中,或者可替換地,計算系統(tǒng)在處于橫向方位之后變成定位在縱向方位中。
在框708處,示例性方法700可以基于與計算系統(tǒng)相關聯(lián)的當前狀態(tài)從功能的集合中選擇第二功能。在一些情況下,與計算系統(tǒng)相關聯(lián)的當前狀態(tài)可以包括在計算系統(tǒng)上運行的應用和/或操作系統(tǒng)的當前上下文。在框710處,當計算系統(tǒng)變?yōu)槎ㄎ辉诘诙轿恢袝r,示例性方法700可以提供第二功能。
圖8示出了根據本公開的實施方式的與基于裝置方位提供功能相關聯(lián)的示例性方法800。再次,應當理解,除非另有說明,否則在各種實施方式的范圍內可以存在以類似或替代順序執(zhí)行或并行地執(zhí)行的附加、更少或替代步驟。
在框802處,示例性方法800可以確定計算系統(tǒng)在提供第二功能之后變?yōu)槎ㄎ辉诘谝环轿恢?。在?04處,示例性方法800可以基于第二功能選擇第三功能。在框806處,示例性方法800可以在計算系統(tǒng)提供第二功能之后變?yōu)槎ㄎ辉诘谝环轿恢袝r提供第三功能。
在一些實施方式中,第三功能可以與發(fā)起圖像的加載相關聯(lián),圖像是在與第二功能相關聯(lián)的照相機模式中產生的,圖像要包括在至社交網絡系統(tǒng)的帖子中。在一些情況下,帖子的創(chuàng)建可以基于第一功能發(fā)起。例如,可以作為在計算系統(tǒng)處于第一方位時所提供的第一功能的一部分來創(chuàng)建帖子。當計算系統(tǒng)處于第二方位時,可以在作為第二功能的一部分提供的照相機模式中產生圖像。作為第三功能的一部分,當計算系統(tǒng)回復到第一方位時,圖像可以作為包含物或附件加載到帖子中。
此外,在一些實施方式中,第三功能可以與后退指令、取消指令、忽略指令、放棄指令(quitinstruction)、流出指令(escapeinstruction)或退出指令(exitinstruction)中的至少一個相關聯(lián)。在一些情況下,第三功能可以通過默認設置和/或由用戶設置。
此外,在一些實施方式中,與內容消費相關聯(lián)的一個或多個功能以及與內容產生相關聯(lián)的一個或多個功能可以單獨提供或者以任何組合提供。
再次,設想可以存在與本公開的各種實施方式相關聯(lián)的許多其他用途、應用和/或變化。例如,本公開的各種實施方式可以隨時間學習、改善、和/或細化。
社交網絡系統(tǒng)-示例性實現(xiàn)
圖9示出了根據本公開的實施方式的可以在對于增強的視頻編碼的各種實施方式中利用的示例性系統(tǒng)900的網絡圖。系統(tǒng)900包括一個或多個用戶裝置910、一個或多個外部系統(tǒng)920、社交網絡系統(tǒng)(或者服務)930、以及網絡950。在實施方式中,結合上述實施方式討論的社交網絡服務、提供商、和/或系統(tǒng)可以實現(xiàn)為社交網絡系統(tǒng)930。為了說明的目的,圖9所示的系統(tǒng)900的實施方式包括單個外部系統(tǒng)920和單個用戶裝置910。然而,在其他實施方式中,系統(tǒng)900可包括更多用戶裝置910和/或更多外部系統(tǒng)920。在某些實施方式中,社交網絡系統(tǒng)930由社交網絡提供商操作而外部系統(tǒng)920與社交網絡系統(tǒng)930分離,因為這些系統(tǒng)可以由不同的實體操作。然而,在各種實施方式中,社交網絡系統(tǒng)930和外部系統(tǒng)920協(xié)同操作,以向社交網絡系統(tǒng)930的用戶(或會員)提供社交網絡服務。在這個意義上,社交網絡系統(tǒng)930提供平臺或主干,其他系統(tǒng)(諸如,外部系統(tǒng)920)可使用該平臺或主干來通過互聯(lián)網向用戶提供社交網絡服務和功能。
用戶裝置910包括一個或多個計算裝置,該一個或多個計算裝置可從用戶接收輸入并經由網絡950傳輸和接收數據。在一個實施方式中,用戶裝置910是執(zhí)行例如微軟視窗兼容操作系統(tǒng)(os)、蘋果osx和/或linux分發(fā)的常規(guī)計算機系統(tǒng)。在另一個實施方式中,用戶裝置910可以是具有計算機功能的裝置,諸如智能手機、平板電腦、個人數字助理(pda)、移動電話等。用戶裝置910被配置為經由網絡950通信。用戶裝置910可以執(zhí)行應用,例如,允許用戶裝置910的用戶與社交網絡系統(tǒng)930交互的瀏覽器應用。在另一個實施方式中,用戶裝置910通過由用戶裝置910的本地操作系統(tǒng)(諸如,ios和android)提供的應用編程接口(api)與社交網絡系統(tǒng)930交互。用戶裝置910被配置為使用有線和/或無線通信系統(tǒng)經由可以包括局域網和/或廣域網的任何組合的網絡950與外部系統(tǒng)920和社交網絡系統(tǒng)930通信。
在一個實施方式中,網絡950使用標準通信技術和協(xié)議。因此,網絡950可包括使用諸如以太網、702.11、微波存取全球互通(wimax)、3g、4g、cdma、gsm、lte、數字用戶線路(dsl)等技術的鏈路。類似地,在網絡950上使用的網絡協(xié)議可包括多協(xié)議標簽交換(mpls)、傳輸控制協(xié)議/互聯(lián)網協(xié)議(tcp/ip)、用戶數據報協(xié)議(udp)、超文本傳輸協(xié)議(http)、簡單郵件傳輸協(xié)議(smtp)、文件傳輸協(xié)議(ftp)等??墒褂冒ǔ谋緲擞浾Z言(html)和可擴展標記語言(xml)的技術和/或格式來表示通過網絡950交換的數據。此外,可使用諸如安全套接層(ssl)、傳輸層安全(tls)以及互聯(lián)網協(xié)議安全(ipsec)等常規(guī)的加密技術來將所有或一些鏈路加密。
在一個實施方式中,用戶裝置910通過使用瀏覽器應用912處理從外部系統(tǒng)920以及從社交網絡系統(tǒng)930接收的標記語言文檔914,可以顯示來自外部系統(tǒng)920和/或來自社交網絡系統(tǒng)930的內容。標記語言文檔914識別內容以及描述該內容的格式化或呈現(xiàn)的一個或多個指令。通過執(zhí)行包括在標記語言文檔914中的指令,瀏覽器應用912使用由標記語言文檔914描述的格式或呈現(xiàn)來顯示所識別的內容。例如,標記語言文檔914包括用于生成和顯示具有多個幀的網頁的指令,這些幀包括從外部系統(tǒng)920和社交網絡系統(tǒng)930檢索的文本和/或圖像數據。在各種實施方式中,標記語言文檔914包括數據文件,該數據文件包括可擴展標記語言(xml)數據、可擴展超文本標記語言(xhtml)數據或其他標記語言數據。此外,標記語言文檔914可包括javascript對象符號(json)數據、具有填充的json(jsonp)以及javascript數據,以促進外部系統(tǒng)920與用戶裝置910之間的數據交換。在用戶裝置910上的瀏覽器應用912可使用javascript編譯器來解碼標記語言文檔914。
標記語言文檔914還可包括或鏈接至應用或應用框架,諸如flashtm或unitytm應用、silverlighttm應用框架等。
在一個實施方式中,用戶裝置910還包括一個或多個cookie916,其包括指示用戶裝置910的用戶是否登錄到社交網絡系統(tǒng)930的數據,這可以使能夠修改從社交網絡系統(tǒng)930傳送給用戶裝置910的數據。
外部系統(tǒng)920包括一個或多個網絡服務器,該網絡服務器包括使用網絡950傳送至用戶裝置910的一個或多個網頁922a、922b。外部系統(tǒng)920與社交網絡系統(tǒng)930分離。例如,外部系統(tǒng)920與第一域相關聯(lián),而社交網絡系統(tǒng)930與單獨的社交網絡域相關聯(lián)。包括在外部系統(tǒng)920中的網頁922a、922b包括標記語言文檔914,該標記語言文檔識別內容并包括指定所識別的內容的格式化或呈現(xiàn)的指令。
社交網絡系統(tǒng)930包括用于社交網絡的一個或多個計算裝置,社交網絡包括多個用戶并且為社交網絡的用戶提供與社交網絡的其他用戶進行通信并且交互的能力。在一些情況下,社交網絡可以由圖譜(即包括邊線和節(jié)點的數據結構)表示。其他數據結構也可用于表示社交網絡,包括但不限于數據庫、對象、類、元(meta)元素、文件或任何其他數據結構。社交網絡系統(tǒng)930可以由運營商監(jiān)管、管理或控制。社交網絡系統(tǒng)930的運營商可以是人、自動化應用或用于管理內容、調節(jié)策略以及收集在社交網絡系統(tǒng)930內的使用度量的一系列應用。可以使用任何類型的運營商。
用戶可加入社交網絡系統(tǒng)930,并且然后向他們希望連接到的社交網絡系統(tǒng)930中的任意數量的其他用戶添加連接。如本文中所使用的,術語“好友”指社交網絡系統(tǒng)930中的用戶已經經由社交網絡系統(tǒng)930與其形成了連接、關聯(lián)或關系的任何其他用戶。例如,在實施方式中,如果社交網絡系統(tǒng)930中的用戶表示為社交圖譜中的節(jié)點,那么術語“好友”可指在兩個用戶節(jié)點之間形成并直接連接兩個用戶節(jié)點的邊線。
連接可以由用戶明確地添加,或者可以由社交網絡系統(tǒng)930基于用戶的共同特性(例如,是同一教育機構的校友的用戶)來自動創(chuàng)建。例如,第一用戶特別選擇特定的其他用戶作為好友。在社交網絡系統(tǒng)930中的連接通常在兩個方向上,但這不是必需的,因此,術語“用戶”和“好友”取決于參考架構。社交網絡系統(tǒng)930的用戶之間的連接通常是雙邊的(“雙向的”)或“相互的”,但是連接也可是單邊的或“單向的”。例如,如果鮑勃(bob)和喬(joe)都是社交網絡系統(tǒng)930的用戶并彼此連接,那么鮑勃和喬均為彼此的連接。另一方面,如果鮑勃希望連接到喬以查看喬傳送至社交網絡系統(tǒng)930的數據,但是喬不希望形成相互連接,那么可創(chuàng)建單邊連接。用戶之間的連接可以是直接連接;然而,社交網絡系統(tǒng)930的一些實施方式允許經由一個或多個連接級別或分離程度來間接連接。
除了在用戶之間創(chuàng)建和維護連接并允許在用戶之間交互以外,社交網絡系統(tǒng)930還向用戶提供對由社交網絡系統(tǒng)930支持的各種類型的項目采取行動的能力。這些項目可包括社交網絡系統(tǒng)930的用戶可能屬于的群組或網絡(即,人、實體和概念的社交網絡),用戶可能感興趣的事件或日歷條目,用戶可以經由社交網絡系統(tǒng)930使用的基于計算機的應用,允許用戶經由社交網絡系統(tǒng)930提供的服務或通過社交網絡系統(tǒng)930購買或銷售項目的交易,以及與用戶可以在社交網絡系統(tǒng)930上或社交網絡系統(tǒng)930外執(zhí)行的廣告的交互。這些僅是用戶可在社交網絡系統(tǒng)930上作用在其上的項目的幾個實例,并且許多其他實例是可能的。用戶可以與能夠在社交網絡系統(tǒng)930中或者在與社交網絡系統(tǒng)930分離的外部系統(tǒng)920中表示的、或者經由網絡950耦接至社交網絡系統(tǒng)930的任何事物交互。
社交網絡系統(tǒng)930還能夠鏈接各種實體。例如,社交網絡系統(tǒng)930使用戶能夠通過api、網絡服務或其他通信信道彼此以及與外部系統(tǒng)920或其他實體交互。社交網絡系統(tǒng)930生成并維護“社交圖譜”,該社交圖譜包括由多個邊線互連的多個節(jié)點。社交圖譜內的每個節(jié)點可以表示可以作用于另一個節(jié)點和/或可以由另一個節(jié)點作用的實體。社交圖譜可以包括各種類型的節(jié)點。節(jié)點的類型的實例包括用戶、非個人實體、內容項、網頁、組群、活動、消息、概念、以及可以由社交網絡系統(tǒng)930中的對象表示的任何其他事物。在社交圖譜中的兩個節(jié)點之間的邊線可以表示在這兩個節(jié)點之間的特定種類的連接或關聯(lián),這可以從節(jié)點關系或者從由一個節(jié)點在另一個節(jié)點上執(zhí)行的活動中產生。在一些情況下,在節(jié)點之間的邊線可以加權。邊線的權重可以表示與邊線相關聯(lián)的屬性,諸如在節(jié)點之間的連接或關聯(lián)的強度。不同類型的邊線可設置有不同權重。例如,在一個用戶“贊”另一個用戶時創(chuàng)建的邊線可以被給予一個權重,同時在用戶與另一個用戶成為好友時創(chuàng)建的邊線可以被給予一個不同的權重。
舉例來說,當第一用戶將第二用戶識別為好友時,社交圖譜中生成將表示第一用戶的節(jié)點與表示第二用戶的第二節(jié)點連接的邊線。由于各種節(jié)點彼此相關或交互,所以社交網絡系統(tǒng)930修改連接各種節(jié)點的邊線,以反映關系和交互。
社交網絡系統(tǒng)930還包括增強用戶與社交網絡系統(tǒng)930之間的交互的用戶生成的內容。用戶生成的內容可以包括用戶可以添加、上傳、發(fā)送或“發(fā)布”到社交網絡系統(tǒng)930中的任何內容。例如,用戶從用戶裝置910向社交網絡系統(tǒng)930傳送帖子。帖子可以包括諸如狀態(tài)更新或其他文本數據的數據、位置信息、諸如照片的圖像、視頻、鏈路、音樂或其他類似數據和/或媒體。也可以由第三方將內容添加至社交網絡系統(tǒng)930。內容“項目”表示為社交網絡系統(tǒng)930中的對象。以此方式,鼓勵社交網絡系統(tǒng)930的用戶通過各種通信信道發(fā)布文本和各種媒體類型的內容項來彼此通信。這樣的通信增加了用戶彼此的交互,并且提高了用戶與社交網絡系統(tǒng)930交互的頻率。
社交網絡系統(tǒng)930包括網絡服務器932、api請求服務器934、用戶配置文件存儲936、連接存儲938、動作記錄器940、活動日志942以及授權服務器944。在本發(fā)明的實施方式中,社交網絡系統(tǒng)930可包括用于各種應用的額外的、更少的或不同的組件。未示出其他組件,諸如網絡接口、安全機制、負載平衡器、故障轉移服務器、管理和網絡操作控制臺等,以便不模糊系統(tǒng)的細節(jié)。
用戶配置文件存儲936維護關于用戶賬戶的信息,包括生平、人口統(tǒng)計或其他類型的描述性信息,諸如已經由用戶聲明的或者由社交網絡系統(tǒng)930推斷的工作經歷、教育歷史、愛好或偏好、位置等。該信息存儲在用戶配置文件存儲936內,以便唯一地識別每個用戶。社交網絡系統(tǒng)930還將描述不同用戶之間的一個或多個連接的數據存儲在連接存儲938中。連接信息可指示具有相似或共同工作經歷、群組成員資格、愛好或教育歷史的用戶。另外,社交網絡系統(tǒng)930包括在不同用戶之間的用戶定義的連接,允許用戶指定他們與其他用戶的關系。例如,用戶定義的連接允許用戶與其他用戶生成平行于用戶的現(xiàn)實生活關系的關系,諸如好友、同事、合作伙伴等。用戶可以從預定義的連接類型中選擇,或根據需要定義他們自己的連接類型。與社交網絡系統(tǒng)930中的其他節(jié)點(諸如非個人實體、儲存桶(bucket)、集群中心、圖像、興趣、頁面、外部系統(tǒng)、概念等)的連接也存儲在連接存儲938中。
社交網絡系統(tǒng)930維護關于用戶可以與之交互的對象的數據。為了維護該數據,用戶配置文件存儲936和連接存儲938存儲通過社交網絡系統(tǒng)930維護的對應類型的對象的實例。每個對象類型具有適于存儲適合于對象類型的信息的信息字段。例如,用戶配置文件存儲936包含具有適于描述用戶的賬戶以及與用戶的賬戶相關的信息的數據結構。在創(chuàng)建特定類型的新對象時,社交網絡系統(tǒng)930初始化對應類型的新數據結構,向其分配唯一對象標識符,并且根據需要開始向對象添加數據。例如,這可能發(fā)生在用戶成為社交網絡系統(tǒng)930的用戶時、社交網絡系統(tǒng)930在用戶配置文件存儲936中生成用戶配置文件的新實例時、將唯一標識符分配給用戶賬戶時、以及開始用用戶提供的信息填充用戶賬戶的字段時。
連接存儲938包括適于描述用戶至其他用戶的連接、至外部系統(tǒng)920的連接或者至其他實體的連接的數據結構。連接存儲938還可以將連接類型與用戶的連接相關聯(lián),用戶的連接可以與用戶的隱私設置結合使用以調節(jié)對關于用戶的信息的訪問。在本發(fā)明的實施方式中,用戶配置文件存儲936和連接存儲938可實現(xiàn)為聯(lián)合數據庫。
存儲在連接存儲938、用戶配置文件存儲936和活動日志942中的數據能夠使社交網絡系統(tǒng)930生成社交圖譜,該社交圖譜使用節(jié)點來識別連接節(jié)點的各種對象和邊線以識別不同對象之間的關系。例如,如果社交網絡系統(tǒng)930中的第一用戶與第二用戶建立連接,則來自用戶配置文件存儲936中的第一用戶和第二用戶的用戶賬戶可用作社交圖譜中的節(jié)點。通過連接存儲938存儲的第一用戶與第二用戶之間的連接是與第一用戶和第二用戶相關聯(lián)的節(jié)點之間的邊線。繼續(xù)這個實例,然后第二用戶可以在社交網絡系統(tǒng)930內向第一用戶發(fā)送消息。發(fā)送可被存儲的消息的動作是社交圖譜中表示第一用戶與第二用戶的兩個節(jié)點之間的另一邊線。另外,可以識別消息本身,并且消息本身可包括在社交圖譜中作為連接至表示第一用戶和第二用戶的節(jié)點的另一節(jié)點。
在另一個實例中,第一用戶可在由社交網絡系統(tǒng)930維護的圖像(或者可替換地,在由社交網絡系統(tǒng)930之外的另一系統(tǒng)維護的圖像)中標記第二用戶。圖像本身可表示為社交網絡系統(tǒng)930中的節(jié)點。該標記動作可在第一用戶與第二用戶之間創(chuàng)建邊線并且在各個用戶與圖像之間創(chuàng)建邊線,該圖像也是社交圖譜中的節(jié)點。在又一個實例中,如果用戶確認參加事件,則用戶和事件是從用戶配置文件存儲936中獲得的節(jié)點,其中事件的參加是可以從活動日志942檢索的節(jié)點之間的邊線。通過生成并維護社交圖譜,社交網絡系統(tǒng)930包括描述許多不同類型的對象以及這些對象之間的交互和連接的數據,從而提供豐富的社交相關信息源。
網絡服務器932經由網絡950將社交網絡系統(tǒng)930鏈接至一個或者多個用戶裝置910和/或一個或者多個外部系統(tǒng)920。網絡服務器932為網頁以及其他網絡相關內容(例如,java、javascript、flash、xml等)服務。網絡服務器932可包括用于在社交網絡系統(tǒng)930與一個或多個用戶裝置910之間接收和路由消息的郵件服務器或其他消息收發(fā)功能。該消息可以是即時消息、隊列消息(例如,電子郵件)、文本和sms消息或任何其他合適的消息收發(fā)格式。
api請求服務器934允許一個或多個外部系統(tǒng)920和用戶裝置910通過調用一個或多個api函數來從社交網絡系統(tǒng)930調用訪問信息。api請求服務器934還可以允許外部系統(tǒng)920通過調用api來向社交網絡系統(tǒng)930發(fā)送信息。在一個實施方式中,外部系統(tǒng)920經由網絡950向社交網絡系統(tǒng)930發(fā)送api請求,并且api請求服務器934接收api請求。api請求服務器934通過調用與api請求相關聯(lián)的api來處理該請求,以生成適當的響應,api請求服務器934經由網絡950將該響應傳送至外部系統(tǒng)920。例如,響應于api請求,api請求服務器934收集與用戶相關聯(lián)的數據(諸如登錄到外部系統(tǒng)920內的用戶的連接),并且將收集的數據傳送至外部系統(tǒng)920。在另一個實施方式中,用戶裝置910以與外部系統(tǒng)920相同的方式經由api與社交網絡系統(tǒng)930通信。
動作記錄器940能夠從網絡服務器932接收關于在社交網絡系統(tǒng)930上或該社交網絡系統(tǒng)外的用戶動作的通信。動作記錄器940用關于用戶動作的信息填充活動日志942,使社交網絡系統(tǒng)930能夠發(fā)現(xiàn)由其用戶在社交網絡系統(tǒng)930內并且在社交網絡系統(tǒng)930之外采取的各種動作。特定用戶相對于社交網絡系統(tǒng)930上的另一節(jié)點采取的任何動作,可通過在活動日志942中或類似數據庫中或其他數據存儲庫中維護的信息而與每個用戶賬戶相關聯(lián)。所識別并存儲的用戶在社交網絡系統(tǒng)930內采取的動作的實例可包括,例如向另一用戶添加連接、向另一用戶發(fā)送消息,讀取來自另一用戶的消息、查看與另一用戶相關聯(lián)的內容、參加由另一用戶發(fā)布的事件、發(fā)布圖像、嘗試發(fā)布圖像、或者與另一用戶或另一對象交互的其他動作。當用戶在社交網絡系統(tǒng)930內采取動作時,動作記錄在活動日志942中。在一個實施方式中,社交網絡系統(tǒng)930將活動日志942維護為條目的數據庫。當在社交網絡系統(tǒng)930內采取動作時,動作的條目添加至活動日志942?;顒尤罩?42可被稱為動作日志。
另外,用戶動作可與在位于社交網絡系統(tǒng)930之外的實體(諸如與社交網絡系統(tǒng)930分離的外部系統(tǒng)920)內發(fā)生的概念和動作相關聯(lián)。例如,活動記錄器940可以從網絡服務器932接收描述用戶與外部系統(tǒng)920的交互的數據。在該實例中,外部系統(tǒng)920根據社交圖譜中的結構化動作和對象來報告用戶的交互。
用戶與外部系統(tǒng)920交互的動作的其他實例包括用戶表達對外部系統(tǒng)920或另一實體的興趣、用戶向討論外部系統(tǒng)920或外部系統(tǒng)920內的網頁922a的社交網絡系統(tǒng)930發(fā)布評論、用戶向社交網絡系統(tǒng)930發(fā)布與外部系統(tǒng)920相關聯(lián)的統(tǒng)一資源定位符(url)或其他標識符、用戶參加與外部系統(tǒng)920相關聯(lián)的事件、或者用戶做出的與外部系統(tǒng)920相關的任何其他動作。因此,活動日志942可以包括描述在社交網絡系統(tǒng)930的用戶和與社交網絡系統(tǒng)930分離的外部系統(tǒng)920之間的交互的動作。
授權服務器944實施社交網絡系統(tǒng)930的用戶的一個或多個隱私設置。用戶的隱私設置確定可以如何分享與用戶相關聯(lián)的特定信息的方式。隱私設置包括與用戶相關聯(lián)的特定信息的規(guī)范以及可與其分享信息的一個或多個實體的規(guī)范??膳c其分享信息的實體的實例可包括其他用戶、應用、外部系統(tǒng)920或者可潛在地訪問該信息的任何實體。用戶可以分享的信息包括用戶賬戶信息(諸如配置文件照片)、與用戶相關聯(lián)的電話號碼、用戶的連接、用戶采取的動作(諸如添加連接、改變用戶配置文件信息)等。
可以以不同的粒度級別提供隱私設置規(guī)范。例如,隱私設置可以識別與其他用戶分享的特定信息;隱私設置識別工作電話號碼或者特定的相關信息的集合,諸如包括配置文件照片、家庭電話號碼、以及身份的個人信息。可替換地,隱私設置可以適用于與用戶相關聯(lián)的所有信息。還可以以各種粒度級別來指定可以訪問特定信息的實體的集合的規(guī)范。例如,可以分享信息的實體的各種集合可以包括用戶的所有好友、好友的所有好友、所有應用或者所有外部系統(tǒng)920。一個實施方式允許實體的集合的規(guī)范包括實體的枚舉。例如,用戶可提供允許訪問某些信息的外部系統(tǒng)920的列表。另一個實施方式允許規(guī)范包括實體的集合以及不允許訪問信息的例外。例如,用戶可以允許所有外部系統(tǒng)920訪問用戶的工作信息,但是指定不允許訪問該工作信息的外部系統(tǒng)920的列表。某些實施方式將不允許訪問某些信息的例外的列表稱為“阻止列表”。阻止屬于由用戶指定的阻止列表的外部系統(tǒng)920訪問在隱私設置中指定的信息。信息的規(guī)范的粒度以及與其分享信息的實體的規(guī)范的粒度的各種組合是可能的。例如,所有個人信息可與好友分享,而所有工作信息可與好友的好友分享。
授權服務器944包括用以確定與用戶相關聯(lián)的某些信息是否可由用戶的好友、外部系統(tǒng)920和/或其他應用和實體訪問的邏輯。外部系統(tǒng)920可能需要來自授權服務器944的授權以訪問用戶的更隱私且更敏感的信息,諸如用戶的工作電話號碼。基于用戶的隱私設置,授權服務器944確定是否允許另一用戶、外部系統(tǒng)920、應用或另一實體訪問與用戶相關聯(lián)的信息,包括關于用戶所采取的動作的信息。
在一些實施方式中,社交網絡系統(tǒng)930可以包括方位相關功能模塊946。例如,方位相關功能模塊946可以實現(xiàn)為圖1的方位相關功能102。方位相關功能模塊946可以被配置為促進確定計算系統(tǒng)所定位的第一方位。方位相關功能模塊946可以被配置為當計算系統(tǒng)定位在第一方位中時促進提供第一功能。方位相關功能模塊946還可以被配置為促進確定計算系統(tǒng)變?yōu)槎ㄎ辉诘诙轿恢?。方位相關功能模塊946可以進一步配置為促進基于與計算系統(tǒng)相關聯(lián)的當前狀態(tài)從功能的集合中選擇第二功能。此外,方位相關功能模塊946可以被配置為當計算系統(tǒng)變?yōu)槎ㄎ辉诘诙轿恢袝r促進提供第二功能。
硬件實現(xiàn)
上述過程和特征可以通過各種各樣的機器和計算機系統(tǒng)架構實現(xiàn)并且可以在各種各樣的網絡和計算環(huán)境中實現(xiàn)。圖10示出了根據本發(fā)明的實施方式的可用于實現(xiàn)在本文中描述的一個或多個實施方式的計算機系統(tǒng)1000的實例。計算機系統(tǒng)1000包括用于使計算機系統(tǒng)1000執(zhí)行本文中所討論的過程和特征的指令集。計算機系統(tǒng)1000可連接(例如,聯(lián)網)至其他機器。在聯(lián)網部署中,計算機系統(tǒng)1000可以在客戶端服務器網絡環(huán)境中以服務器機器或客戶端機器的能力操作,或者在對等(或分布式)網絡環(huán)境中作為對等機器操作。在本發(fā)明的實施方式中,計算機系統(tǒng)1000可以是社交網絡系統(tǒng)930、用戶裝置910、以及外部系統(tǒng)1020或者其組件。在本發(fā)明的實施方式中,計算機系統(tǒng)1000可以是構成社交網絡系統(tǒng)930的全部或一部分的許多服務器中的一個服務器。
計算機系統(tǒng)1000包括存儲在計算機可讀介質上、指向本文中所描述的過程和特征的處理器1002、高速緩存1004以及一個或多個可執(zhí)行的模塊和驅動器。另外,計算機系統(tǒng)1000包括高性能輸入/輸出(i/o)總線1006和標準i/o總線1008。主橋1010將處理器1002耦接至高性能i/o總線1006,而i/o總線橋1012使兩個總線1006和1008彼此耦接至。系統(tǒng)存儲器1014和一個或多個網絡接口1016耦接至高性能i/o總線1006。計算機系統(tǒng)1000可進一步包括視頻存儲器以及耦接至視頻存儲器的顯示裝置(未示出)。大容量存儲器1018和i/o端口1020耦接至標準i/o總線1008。計算機系統(tǒng)1000可以可選地包括鍵盤和定點裝置、顯示裝置、或耦接至標準i/o總線1008的其他輸入/輸出裝置(未示出)。共同地,這些元件旨在表示廣泛類別的計算機硬件系統(tǒng),包括但不限于基于由加利福尼亞的圣克拉拉的英特爾公司制造的x86兼容處理器以及由加利福尼亞的森尼韋爾的超微半導體(advancedmicrodevices)(amd)公司制造的x86兼容處理器以及任何其他合適的處理器的計算機系統(tǒng)。
操作系統(tǒng)管理并控制計算機系統(tǒng)1000的操作,包括向軟件應用(未示出)輸入數據以及從軟件應用輸出數據。操作系統(tǒng)提供在系統(tǒng)上執(zhí)行的軟件應用與系統(tǒng)的硬件組件之間的接口??梢允褂萌魏魏线m的操作系統(tǒng),諸如,linux操作系統(tǒng)、可從加利福尼亞庫比蒂諾(cupertino)的蘋果電腦公司商購的applemacintosh操作系統(tǒng)、unix操作系統(tǒng)、
下面將更詳細地描述計算機系統(tǒng)1000的元件。具體地,網絡接口1016在計算機系統(tǒng)1000與諸如以太網(例如,ieee802.3)網絡、底板等的大范圍網絡中的任何網絡之間提供通信。大容量存儲器1018向數據和編程指令提供永久存儲,以執(zhí)行由以上識別的相應計算系統(tǒng)實現(xiàn)的上述過程和特征,而系統(tǒng)存儲器1014(例如,dram)在處理器1002執(zhí)行指令時為數據和編程指令提供臨時存儲。i/o端口1020可以是提供可耦接至計算機系統(tǒng)1000的額外的外圍裝置之間的通信的一個或多個串行和/或并行通信端口。
計算機系統(tǒng)1000可包括各種系統(tǒng)架構,并且計算機系統(tǒng)1000的各種組件可以重新布置。例如,高速緩存1004可以與處理器1002在芯片上。可替換地,高速緩存1004和處理器1002可以一起封裝為“處理器模塊”,其中,處理器1002被稱為“處理器核”。此外,本發(fā)明的某些實施方式可能既不需要也不包括所有以上組件。例如,耦接至標準i/o總線1008的外圍裝置可耦接至高性能i/o總線1006。另外,在一些實施方式中,可能只存在單個總線,而計算機系統(tǒng)1000的組件耦接至該單個總線。此外,計算機系統(tǒng)1000可以包括額外的組件,諸如額外的處理器、存儲裝置或存儲器。
總的來說,本文中所描述的過程和特征可以實現(xiàn)為操作系統(tǒng)或具體應用的部分、組件、程序、對象、模塊或被稱為“程序”的一系列指令。例如,一個或多個程序可用于執(zhí)行本文中所描述的特定過程。通常,程序包括計算機系統(tǒng)1000中的各個存儲器和存儲裝置中的一個或多個指令,該一個或多個指令在由一個或者多個處理器讀取或者執(zhí)行時,使得計算機系統(tǒng)1000執(zhí)行操作以執(zhí)行本文中所描述的過程和特征。本文中所描述的過程和特征可以在軟件、固件、硬件(例如,專用集成電路)或其任何組合中實現(xiàn)。
在一個實現(xiàn)中,本文描述的過程和特征實現(xiàn)為單獨或共同地在分布式計算環(huán)境中通過計算機系統(tǒng)1000運行的一系列可執(zhí)行模塊。上述模塊可以由硬件、存儲在計算機可讀介質(或機器可讀介質)上的可執(zhí)行模塊或這兩者的組合來實現(xiàn)。例如,模塊可以包括由硬件系統(tǒng)中的處理器(諸如處理器1002)執(zhí)行的多個或一系列指令。最初,一系列指令可以存儲在諸如大容量存儲器1018的存儲裝置上。然而,該一系列指令可以存儲在任何合適的計算機可讀存儲介質上。此外,該一系列指令不需要本地存儲,并且可經由網絡接口1016從遠程存儲裝置(例如,網絡上的服務器)接收。指令從諸如大容量存儲器1018的存儲裝置復制到系統(tǒng)存儲器1014中,并然后由處理器1002訪問和執(zhí)行。在各個實現(xiàn)中,一個或多個模塊可由一個或多個位置中的一個處理器或多個處理器(諸如在并行處理環(huán)境中的多個服務器)執(zhí)行。
計算機可讀介質的實例包括但不限于可記錄型介質,諸如易失性和非易失性存儲器裝置;固態(tài)存儲器;軟盤和其他可移動磁盤;硬盤驅動器;磁介質;光盤(例如,壓縮盤只讀存儲器(cdrom),數字通用盤(dvd));其他類似的非暫時(或暫時),有形(或非有形)存儲介質;或適于存儲,編碼或承載用于由計算機系統(tǒng)1000執(zhí)行以執(zhí)行本文所描述的過程和特征中的任何一個或多個過程和特征的一系列指令的任何類型的介質。
出于說明的目的,闡述了很多具體細節(jié)以便提供對描述的詳盡理解。然而,對于本領域的技術人員顯而易見的是,可在沒有這些具體細節(jié)的情況下實踐本公開的實施方式。在一些情況下,通過框圖的形式示出模塊、結構、過程、特征以及裝置,以免描述模糊。在其他情況下,示出功能框圖和流程圖以表示數據和邏輯流程。可以通過除了本文中明確描述和描繪的方式以外的方式不同地組合、分離、去除、重新排列以及替換框圖和流程圖的組件(例如,模塊、框、結構、裝置、特征等)。
在本說明書中對“一個實施方式”、“實施方式”、“其他實施方式”、“一系列實施方式”、“一些實施方式”、“各種實施方式”等的引用意指結合實施方式所描述的具體特征、設計、結構、或特性包括在本公開的至少一個實施方式中。例如,在說明書中不同的地方出現(xiàn)的短語“在一個實施方式中”或“在實施方式中”未必都指同一個實施方式,也不是指與其他實施方式相互排斥的單獨的或可替換的實施方式。此外,無論是否明確提及“實施方式”等,都描述了各種特征,這些特征可以不同地組合并且包含在一些實施方式中,但是也可以在其他實施方式中不同地省略。相似地,描述了可以是一些實施方式而不是其他實施方式的優(yōu)選或要求的各個特征。
本文使用的語言主要出于可讀性和指導性目的而選擇,并且選擇其不是為了劃定或限制本發(fā)明主題。因此,意圖是本發(fā)明的范圍不受到該詳細描述的限制,而是受到基于本申請而發(fā)布的任何權利要求的限制。因此,本發(fā)明的實施方式的公開旨在說明而非限制在所附權利要求中闡述的本發(fā)明的范圍。