TW201506759A - Device and method for generating user interfaces from a template - Google Patents

Device and method for generating user interfaces from a template Download PDF

Info

Publication number
TW201506759A
TW201506759A TW103119125A TW103119125A TW201506759A TW 201506759 A TW201506759 A TW 201506759A TW 103119125 A TW103119125 A TW 103119125A TW 103119125 A TW103119125 A TW 103119125A TW 201506759 A TW201506759 A TW 201506759A
Authority
TW
Taiwan
Prior art keywords
user interface
party application
display
values
template
Prior art date
Application number
TW103119125A
Other languages
Chinese (zh)
Other versions
TWI515640B (en
Inventor
Charles Magahern
Szu-Wen Huang
Nicholas J Paulson
Thomas M Alsina
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Publication of TW201506759A publication Critical patent/TW201506759A/en
Application granted granted Critical
Publication of TWI515640B publication Critical patent/TWI515640B/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation

Abstract

An electronic device is configured to receive a first request to display a user interface of a first third-party application on a respective display that is in communication with the device. The device is further configured to, in response to receiving the request, obtain a first user-interface template configured to be used by a plurality of third-party applications, and request, from the first application, one or more values for populating the first template. The device is also configured to receive, from the first application, while the first application is running on the device, a first set of values for populating the first template; populate the first template with the first set of values; generate a first user interface for the first application using the first template populated with the first set of values; and send information to the respective display that enables the first user interface to be displayed.

Description

用於自一樣板產生使用者介面之裝置及方法 Apparatus and method for generating a user interface from a same board 對相關申請案之交叉參考 Cross-reference to related applications

本申請案係關於以下申請案:題為「Voice and Touch User Interface」之2013年3月15日申請的美國臨時申請案第61/793,924號;題為「Pushing a Graphical User Interface to a Remote Device with Display Rules Provided by the Remote Device」之2011年2月22日申請的美國申請案第13/032,614號;題為「Pushing a User Interface to a Remote Device」之2010年1月6日申請的美國申請案第12/683,218號;題為「Pushing a User Interface to a Remote Device」在2008年5月13日申請的美國申請案第12/119,960號;題為「Pushing a User Interface to a Remote Device」之2011年7月1日申請的美國申請案第13/175,581號;題為「Pushing a Graphical User Interface to a Remote Device with Display Rules Provided by the Remote Device」之2011年6月15日申請的美國申請案第13/161,339號;題為「Automatically Adapting User Interfaces for Hands-Free Interaction」之2011年9月30日申請的美國申請案第13/250,947號;題為「Intelligent Automated Assistant」之2011年1月10日申請的美國申請案第12/987,982號;題為「Intelligent Automated Assistant」之2010年1月18日申請的美國臨時申請案第61/295,774號;題為「Generating and Processing Data Items that Represent Tasks to Perform」之2011年6月3日申請的美國臨時申請案第61/493,201號;題為「Automatically Adapting User Interface for Hands-Free Interaction」之2012年6月9日申請的美國臨時申請案第61/657,744號;題為「Radio with Personal DJ」之2008年9月9日申請的美國申請案第12/207,316號;題為「System and Method for Negotiating Control of a Shared Audio or Visual Resource」之2012年11月16日申請的美國臨時申請案第61/727,554號;題為「Mapping Application with Several User Interfaces」之2013年6月8日申請的美國申請案第61/832,818號;題為「Application Gateway for Providing Different User Interfaces for Limited Distraction and Non-Limited Distraction Contexts」之2013年6月8日申請的美國申請案第13/913,428號;題為「Device,Method,and Graphical User Interface for Synchronizing Two of More Displays」之2013年6月8日申請的美國臨時申請案第61/832,842號,該等申請案之全文以引用之方式併入本文中。 This application is related to the following application: U.S. Provisional Application No. 61/793,924, filed on March 15, 2013, entitled "Voice and Touch User Interface"; entitled "Pushing a Graphical User Interface to a Remote Device with US Application No. 13/032,614, filed on February 22, 2011, entitled "Pushing a User Interface to a Remote Device", filed on January 6, 2010 US Patent Application No. 12/119,960, filed on May 13, 2008, entitled "Pushing a User Interface to a Remote Device", entitled "Pushing a User Interface to a Remote Device", 2011 U.S. Application Serial No. 13/175,581, filed on Jul. 1, the entire disclosure of the U.S. Application Serial No. 13/2011, entitled "Pushing a Graphical User Interface to a Remote Device with Display Rules Provided by the Remote Device" U.S. Application Serial No. 13/250,947, entitled "Automatically Adapting User Interfaces for Hands-Free Interaction", September 30, 2011; entitled "In U.S. Patent Application Serial No. 12/987,982, filed on January 10, 2011, entitled "Intelligent Automated Assistant", US Provisional Application No. 61/295,774, filed on January 18, 2010, entitled "Intelligent Automated Assistant"; "Generating and Processing Data Items that Represent Tasks to US Provisional Application No. 61/493,201, filed on June 3, 2011, entitled "Perfect Application Adaptation User Interface for Hands-Free Interaction", US Provisional Application No. 61/, filed on June 9, 2012 657,744; US Application No. 12/207,316, filed on September 9, 2008, entitled "Radio with Personal DJ"; 2012, entitled "System and Method for Negotiating Control of a Shared Audio or Visual Resource" U.S. Provisional Application No. 61/727,554, filed on June 16, the entire disclosure of which is incorporated herein by reference. US Application No. 13/913,428, filed on June 8, 2013, entitled "Device, Method, and Graphical User Interface for Synchronizing Two of More Displays", of the User Interfaces for Limited Distraction and Non-Limited Distraction Contexts U.S. Provisional Application No. 61/832,842, filed on June 8, 2013, the entire contents of which are hereby incorporated by reference. In.

本發明大體上係關於用於產生使用者介面,包括(但不限於)提供用於第三方應用程式之使用者介面的電子裝置。 The present invention generally relates to an electronic device for generating a user interface, including but not limited to providing a user interface for a third party application.

近年來,觸敏式表面作為電腦及其他電子計算裝置之輸入裝置的使用已顯著增加。例示性觸敏式表面包括觸控板及觸控式螢幕顯示器。此等表面廣泛用以操控與第一電子裝置相關聯之第一顯示器上的使用者介面物件。 In recent years, the use of touch-sensitive surfaces as input devices for computers and other electronic computing devices has increased significantly. Exemplary touch sensitive surfaces include touch pads and touch screen displays. These surfaces are widely used to manipulate user interface objects on the first display associated with the first electronic device.

例示性操控包括調整一或多個使用者介面物件之位置及/或大小,啟動按鈕或開啟由使用者介面物件表示之檔案/應用程式,或以其他方式操控使用者介面。例示性使用者介面物件包括數位影像、視 訊、文字、圖示、諸如按鈕之控制元件,及其他圖形。 Exemplary manipulations include adjusting the position and/or size of one or more user interface objects, activating a button or opening a file/application represented by a user interface object, or otherwise manipulating a user interface. Exemplary user interface objects include digital images, views Messages, text, icons, control elements such as buttons, and other graphics.

裝置有時具有第一方(或固有)裝置軟體(例如,裝置之作業系統,及藉由開發作業系統之同一實體開發或在該實體指導下的應用程式),及包括與第一方(或固有)裝置軟體分離地開發之應用程式的第三方軟體。第三方應用程式有時加載於裝置上以將額外功能性提供至裝置。 The device sometimes has a first party (or inherent) device software (eg, an operating system of the device, and an application developed by the same entity that develops the operating system or under the direction of the entity), and includes the first party (or Third-party software that is inherently developed by the device software. Third party applications are sometimes loaded on the device to provide additional functionality to the device.

但第三方應用程式之使用者介面常常為自訂及/或應用程式特定的。另外,應用程式特定使用者介面有時包括過小而在駕駛車輛之同時不能安全使用的詞語或控制項。此外,用於不同應用程式的不同之自訂及/或應用程式特定使用者介面有時將具有類似功能之控制項置於不同位置,使得使用者將必須花費額外時間及注意力來定位並判定此等不同控制項的功能。因此,對於不同應用程式具有不同自訂及/或應用程式特定使用者介面為繁冗且低效的。此外,在一些情況下,此等使用者介面花費比對於使用者操控所必要之時間長的時間,藉此浪費能量。此後一考慮事項在靠電池操作之裝置中為特別重要的。 However, the user interface of third-party applications is often custom and/or application specific. In addition, application-specific user interfaces sometimes include words or controls that are too small to be safely used while driving a vehicle. In addition, different custom and/or application specific user interfaces for different applications sometimes place controls with similar functions in different locations, so that users will have to spend extra time and attention to locate and determine The function of these different controls. Therefore, having different customization and/or application specific user interfaces for different applications is tedious and inefficient. Moreover, in some cases, such user interfaces spend more time than is necessary for user manipulation, thereby wasting energy. This latter consideration is particularly important in battery operated devices.

因此,需要具有用於提供對第三方應用程式之存取且在使用第三方應用程式之同時消除駕駛員分心的快速且更有效方法的電子裝置。自增加用於與第三方應用程式互動之使用者介面的可讀性及使用之容易性的供第三方應用程式使用的樣板產生使用者介面消除駕駛員分心且改良使用效率。此等方法視需要補充或替換用於產生使用者介面且提供對第三方應用程式之存取的習知方法。此等方法減少使用者之感知負擔,且產生更有效之人機介面。對於靠電池操作之裝置,此等方法節省電力且增加電池充電之間的時間。 Accordingly, there is a need for an electronic device having a fast and more efficient method for providing access to third party applications and eliminating driver distraction while using third party applications. A template for third-party applications that creates readability and ease of use for user interfaces that interact with third-party applications creates a user interface that eliminates driver distraction and improves usage efficiency. These methods supplement or replace, as needed, conventional methods for generating a user interface and providing access to third party applications. These methods reduce the perceived burden on the user and result in a more efficient human interface. For battery operated devices, these methods save power and increase the time between battery charges.

與用於具有觸敏式表面之電子裝置的使用者介面相關聯之以上缺陷及其他問題由所揭示裝置減少或消除。在一些實施例中,裝置為 桌上型電腦。在一些實施例中,裝置為攜帶型的(例如,筆記型電腦、平板電腦或手持型裝置)。在一些實施例中,裝置為觸控板。在一些實施例中,裝置具有觸敏式顯示器(亦稱作「觸控式螢幕」或「觸控式螢幕顯示器」)。在一些實施例中,裝置具有圖形使用者介面(GUI)、一或多個處理器、記憶體,及儲存於記憶體中用於執行多個功能的一或多個模組、程式或指令集。在一些實施例中,使用者主要經由觸敏式表面上之手指接觸及示意動作與GUI互動。在一些實施例中,功能視需要包括影像編輯、繪圖、呈現、文書處理、網站建立、碟片創作、試算表製作、玩遊戲、打電話、進行視訊會議、接發電子郵件、即時傳訊、健身支援、數位拍照、數位視訊拍攝、網頁瀏覽、數位音樂播放,及/或數位視訊播放。用於執行此等功能之可執行指令視需要包括於非暫時性電腦可讀儲存媒體或經組態以供一或多個處理器執行的其他電腦程式產品中。 The above deficiencies and other problems associated with user interfaces for electronic devices having touch-sensitive surfaces are reduced or eliminated by the disclosed devices. In some embodiments, the device is Desktop computer. In some embodiments, the device is portable (eg, a notebook, tablet, or handheld device). In some embodiments, the device is a touchpad. In some embodiments, the device has a touch sensitive display (also referred to as a "touch screen" or "touch screen display"). In some embodiments, the device has a graphical user interface (GUI), one or more processors, memory, and one or more modules, programs, or sets of instructions stored in the memory for performing multiple functions. . In some embodiments, the user interacts with the GUI primarily via finger contact and gestures on the touch-sensitive surface. In some embodiments, the functions include image editing, drawing, rendering, word processing, website creation, disc creation, spreadsheet creation, playing games, making phone calls, video conferencing, sending and receiving emails, instant messaging, and fitness as needed. Support, digital photography, digital video capture, web browsing, digital music playback, and/or digital video playback. Executable instructions for performing such functions are optionally included in a non-transitory computer readable storage medium or other computer program product configured for execution by one or more processors.

根據一些實施例,在具有一或多個處理器及記憶體的電子裝置處執行一種方法。該方法包括接收將一第一第三方應用程式之一使用者介面顯示於與該電子裝置通信之一各別顯示器上的一第一顯示請求。回應於接收到該第一顯示請求,該方法包括:獲得一第一使用者介面樣板,其經組態以由複數個第三方應用程式使用;及自該第一第三方應用程式請求用於填充該第一使用者介面樣板的一或多個值。該方法進一步包括:在該第一第三方應用程式正於該電子裝置上執行之同時自該第一第三方應用程式接收用於填充該第一使用者介面樣板的一第一值集合;由接收自該第一第三方應用程式之該第一值集合填充該第一使用者介面樣板;使用由該第一值集合填充之該第一使用者介面樣板產生用於該第一第三方應用程式的一第一使用者介面;及將使得用於該第一第三方應用程式之該第一使用者介面能夠顯示於該各別顯示器上之資訊發送至該各別顯示器。 According to some embodiments, a method is performed at an electronic device having one or more processors and memory. The method includes receiving a first display request to display a user interface of a first third party application on a respective display in communication with the electronic device. In response to receiving the first display request, the method includes: obtaining a first user interface template configured to be used by a plurality of third party applications; and requesting for filling from the first third party application One or more values of the first user interface template. The method further includes receiving, from the first third party application, a first set of values for populating the first user interface template while the first third party application is executing on the electronic device; receiving The first user interface template is populated from the first set of values of the first third-party application; the first user interface template populated by the first set of values is used to generate the first third-party application a first user interface; and information that enables the first user interface for the first third party application to be displayed on the respective display to be sent to the respective display.

根據一些實施例,一種電子裝置包括記憶體及耦接至該記憶體的處理單元。該處理單元經組態以接收將一第一第三方應用程式之一使用者介面顯示於與該電子裝置通信之一各別顯示單元上的一第一顯示請求。該處理單元經進一步組態以回應於接收到該第一顯示請求:獲得一第一使用者介面樣板,其經組態以由複數個第三方應用程式使用;及自該第一第三方應用程式請求用於填充該第一使用者介面樣板的一或多個值。該處理單元亦經組態以:在該第一第三方應用程式正於該電子裝置上執行之同時自該第一第三方應用程式接收用於填充該第一使用者介面樣板的一第一值集合;由接收自該第一第三方應用程式之該第一值集合填充該第一使用者介面樣板;使用由該第一值集合填充之該第一使用者介面樣板產生用於該第一第三方應用程式的一第一使用者介面;及將使得用於該第一第三方應用程式之該第一使用者介面能夠顯示於該各別顯示單元上之資訊發送至該各別顯示單元。 According to some embodiments, an electronic device includes a memory and a processing unit coupled to the memory. The processing unit is configured to receive a first display request to display a user interface of a first third party application on a respective display unit in communication with the electronic device. The processing unit is further configured to receive the first display request in response to receiving the first user interface template configured to be used by a plurality of third party applications; and from the first third party application Requesting one or more values to populate the first user interface template. The processing unit is also configured to receive a first value for populating the first user interface template from the first third party application while the first third party application is executing on the electronic device The first user interface template is populated by the first set of values received from the first third-party application; the first user interface template populated by the first set of values is used for the first a first user interface of the three-party application; and information that enables the first user interface for the first third-party application to be displayed on the respective display unit to be sent to the respective display unit.

根據一些實施例,一種電子裝置包括一或多個處理器、記憶體及一或多個程式;該一或多個程式儲存於該記憶體中,且經組態以藉由該一或多個處理器來執行,且該一或多個程式包括用於執行本文中所描述之方法中之任一者之操作的指令。根據一些實施例,一種非暫時性電腦可讀儲存媒體在其中儲存有指令,該等指令在由電子裝置執行時使得該裝置執行本文中所描述之方法中之任一者的操作。根據一些實施例,一種電子裝置包括用於執行本文中所描述之方法中之任一者之操作的構件。根據一些實施例,用於一第一電子裝置中的資訊處理設備包括用於執行本文中所描述之方法中之任一者之操作的構件。 According to some embodiments, an electronic device includes one or more processors, a memory, and one or more programs; the one or more programs are stored in the memory and configured to be by the one or more The processor is operative, and the one or more programs include instructions for performing the operations of any of the methods described herein. In accordance with some embodiments, a non-transitory computer readable storage medium stores therein instructions that, when executed by an electronic device, cause the apparatus to perform the operations of any of the methods described herein. According to some embodiments, an electronic device includes means for performing the operations of any of the methods described herein. According to some embodiments, an information processing device for use in a first electronic device includes means for performing the operations of any of the methods described herein.

因此,具有顯示器之電子裝置具備用於提供用於第三方應用程式之使用者介面的更快速且更有效的方法,藉此增加此等裝置之有效性、效率及使用者滿意度。此等方法及介面可補充或替換用於產生使用者介面的習知方法。 Thus, electronic devices with displays have faster and more efficient methods for providing user interfaces for third party applications, thereby increasing the effectiveness, efficiency, and user satisfaction of such devices. These methods and interfaces may complement or replace conventional methods for generating a user interface.

100‧‧‧攜帶型多功能裝置 100‧‧‧ portable multi-function device

102‧‧‧記憶體 102‧‧‧ memory

103‧‧‧通信匯流排/信號線 103‧‧‧Communication bus/signal line

104‧‧‧晶片 104‧‧‧ wafer

106‧‧‧輸入/輸出(I/O)子系統 106‧‧‧Input/Output (I/O) Subsystem

108‧‧‧RF電路 108‧‧‧RF circuit

110‧‧‧音訊電路 110‧‧‧Optical circuit

111‧‧‧揚聲器 111‧‧‧Speakers

112‧‧‧觸敏式顯示器/觸控式螢幕 112‧‧‧Touch-sensitive display/touch screen

113‧‧‧麥克風 113‧‧‧ microphone

116‧‧‧其他輸入或控制裝置 116‧‧‧Other input or control devices

118‧‧‧周邊設備介面 118‧‧‧ peripheral device interface

120‧‧‧處理單元(CPU) 120‧‧‧Processing Unit (CPU)

122‧‧‧記憶體控制器 122‧‧‧ memory controller

124‧‧‧外部埠//銜接/充電外部埠 124‧‧‧External 埠//Connect/Charge external 埠

126‧‧‧作業系統 126‧‧‧ operating system

128‧‧‧通信模組/指令集 128‧‧‧Communication Module/Instruction Set

130‧‧‧接觸/運動模組//指令集 130‧‧‧Contact/Motion Module // Instruction Set

132‧‧‧圖形模組/指令集 132‧‧‧Graphics Module/Instruction Set

133‧‧‧觸覺回饋模組 133‧‧‧Tactile feedback module

134‧‧‧文字輸入模組/指令集 134‧‧‧Text Input Module/Instruction Set

135‧‧‧全球定位系統(GPS)模組/指令集 135‧‧‧Global Positioning System (GPS) Modules/Instructions

136‧‧‧應用程式/指令集 136‧‧‧Application/Instruction Set

136-1‧‧‧各別應用程式 136-1‧‧‧ individual applications

137‧‧‧聯繫人/聯繫人模組 137‧‧‧Contact/Contact Module

138‧‧‧電話模組 138‧‧‧Phone module

139‧‧‧視訊會議模組 139‧‧‧Video Conferencing Module

140‧‧‧電子郵件/電子郵件用戶端模組 140‧‧‧Email/email client module

141‧‧‧即時傳訊(IM)模組/IM 141‧‧‧ Instant Messaging (IM) Module / IM

142‧‧‧網際網路無線電模組 142‧‧‧Internet Radio Module

143‧‧‧攝影機模組 143‧‧‧ camera module

144‧‧‧影像管理模組 144‧‧‧Image Management Module

147‧‧‧瀏覽器/瀏覽器模組 147‧‧‧Browser/Browser Module

148‧‧‧行事曆模組 148‧‧‧ calendar module

149‧‧‧介面工具集模組 149‧‧‧Interface Tool Set Module

149-1‧‧‧天氣介面工具集 149-1‧‧‧Weather Interface Tool Set

149-2‧‧‧股票介面工具集 149-2‧‧‧ Stock Interface Tool Set

149-3‧‧‧計算器介面工具集 149-3‧‧‧Calculator Interface Tool Set

149-4‧‧‧鬧鐘介面工具集 149-4‧‧‧Alarm interface tool set

149-5‧‧‧辭典介面工具集 149-5‧‧‧ dictionary interface tool set

149-6‧‧‧使用者建立之介面工具集 149-6‧‧‧User-created interface toolset

150‧‧‧數位個人助理模組 150‧‧‧Digital Assistant Modules

151‧‧‧車輛整合模組 151‧‧‧Vehicle Integration Module

152‧‧‧視訊及音樂播放器模組 152‧‧‧Video and music player module

153‧‧‧備忘錄模組 153‧‧‧Memorandum module

154‧‧‧地圖模組 154‧‧‧Map module

155‧‧‧唱片庫模組 155‧‧‧record library module

156‧‧‧顯示器控制器/顯示系統控制器 156‧‧‧Display Controller/Display System Controller

157‧‧‧裝置/通用內部狀態 157‧‧‧Device/general internal status

158‧‧‧光學感測器控制器 158‧‧‧ Optical Sensor Controller

159‧‧‧強度感測器控制器 159‧‧‧Intensity sensor controller

160‧‧‧輸入控制器 160‧‧‧Input controller

161‧‧‧觸覺回饋控制器 161‧‧‧Tactile feedback controller

162‧‧‧電力系統 162‧‧‧Power system

164‧‧‧光學感測器 164‧‧‧Optical sensor

165‧‧‧接觸強度感測器 165‧‧‧Contact intensity sensor

166‧‧‧近接感測器 166‧‧‧ proximity sensor

167‧‧‧觸覺輸出產生器 167‧‧‧Tactile output generator

168‧‧‧加速度計 168‧‧‧Accelerometer

170‧‧‧事件分類器 170‧‧‧ Event Classifier

171‧‧‧事件監視器 171‧‧‧ event monitor

172‧‧‧命中視圖判定模組 172‧‧‧ hit view decision module

173‧‧‧作用中事件辨識器判定模組 173‧‧‧Active event recognizer decision module

174‧‧‧事件分派器模組 174‧‧‧Event Dispatcher Module

176‧‧‧資料更新程式 176‧‧‧data update program

177‧‧‧物件更新程式 177‧‧‧Object update program

178‧‧‧GUI更新程式 178‧‧‧GUI update program

179‧‧‧事件資料 179‧‧‧Event data

180‧‧‧事件辨識器 180‧‧‧Event recognizer

182‧‧‧事件接收器模組 182‧‧‧ Event Receiver Module

183‧‧‧後設資料 183‧‧‧Subsequent information

184‧‧‧事件比較器 184‧‧‧ event comparator

186‧‧‧事件定義 186‧‧‧ Event definition

187-1‧‧‧事件1 187-1‧‧‧Event 1

187-2‧‧‧事件2 187-2‧‧‧Event 2

188‧‧‧事件遞送指令 188‧‧‧ Event Delivery Instructions

190‧‧‧事件處理常式 190‧‧‧ event processing routine

191‧‧‧應用程式視圖 191‧‧‧Application View

192‧‧‧應用程式內部狀態 192‧‧‧Application internal state

200‧‧‧使用者介面(UI) 200‧‧‧User Interface (UI)

202‧‧‧手指 202‧‧‧ fingers

203‧‧‧手寫筆 203‧‧‧ stylus

204‧‧‧「起始」或功能表按鈕/功能表按鈕 204‧‧‧ "Start" or menu button/Menu button

206‧‧‧推按鍵 206‧‧‧ Push button

208‧‧‧音量調整按鈕 208‧‧‧Volume adjustment button

210‧‧‧訂戶識別模組(SIM)卡槽 210‧‧‧Subscriber Identification Module (SIM) card slot

212‧‧‧耳機插孔 212‧‧‧ headphone jack

300‧‧‧裝置 300‧‧‧ device

310‧‧‧處理單元(CPU) 310‧‧‧Processing Unit (CPU)

320‧‧‧通信匯流排 320‧‧‧Communication bus

330‧‧‧輸入/輸出(I/O)介面 330‧‧‧Input/Output (I/O) interface

340‧‧‧顯示器 340‧‧‧ display

350‧‧‧鍵盤/滑鼠/其他指標裝置 350‧‧‧Keyboard/mouse/other indicator device

355‧‧‧觸控板 355‧‧‧ Trackpad

357‧‧‧觸覺輸出產生器 357‧‧‧Tactile output generator

359‧‧‧感測器 359‧‧‧ sensor

360‧‧‧網路/其他通信介面 360‧‧‧Network/Other Communication Interface

370‧‧‧記憶體 370‧‧‧ memory

380‧‧‧繪圖模組 380‧‧‧Drawing module

382‧‧‧呈現模組 382‧‧‧ Presentation module

384‧‧‧文書處理模組 384‧‧‧Document Processing Module

386‧‧‧網站建立模組 386‧‧‧Website building module

388‧‧‧碟片創作模組 388‧‧‧ disc creation module

390‧‧‧試算表模組 390‧‧‧Trial Balance Module

400‧‧‧使用者介面 400‧‧‧User interface

402‧‧‧信號強度指示器 402‧‧‧Signal strength indicator

404‧‧‧時間 404‧‧‧Time

406‧‧‧電池狀態指示器 406‧‧‧Battery status indicator

408‧‧‧系統匣 408‧‧‧System匣

410‧‧‧指示器 410‧‧‧ indicator

414‧‧‧指示器 414‧‧‧ indicator

416‧‧‧圖示 416‧‧‧ icon

418‧‧‧圖示 418‧‧‧ icon

420‧‧‧圖示 420‧‧‧ icon

422‧‧‧圖示 422‧‧‧ icon

424‧‧‧圖示 424‧‧‧ icon

426‧‧‧圖示 426‧‧‧ icon

428‧‧‧圖示 428‧‧‧ icon

430‧‧‧圖示 430‧‧‧ icon

432‧‧‧圖示 432‧‧‧ icon

434‧‧‧圖示 434‧‧‧ icon

436‧‧‧圖示 436‧‧‧ icon

438‧‧‧圖示 438‧‧‧ icon

440‧‧‧圖示 440‧‧‧ icon

442‧‧‧圖示 442‧‧‧ icon

444‧‧‧圖示 444‧‧‧ icon

446‧‧‧圖示 446‧‧‧ icon

450‧‧‧顯示器 450‧‧‧ display

451‧‧‧觸敏式表面 451‧‧‧Touch-sensitive surface

452‧‧‧主軸 452‧‧‧ Spindle

453‧‧‧主軸 453‧‧‧ Spindle

460‧‧‧接觸/位置 460‧‧‧Contact/Location

462‧‧‧接觸/位置 462‧‧‧Contact/location

468‧‧‧位置 468‧‧‧ position

470‧‧‧位置 470‧‧‧ position

500‧‧‧作業環境 500‧‧‧Working environment

505‧‧‧通信網路 505‧‧‧Communication network

510‧‧‧伺服器 510‧‧‧Server

512‧‧‧處理單元(CPU) 512‧‧‧Processing Unit (CPU)

520‧‧‧網路或其他通信介面 520‧‧‧Network or other communication interface

522‧‧‧通信匯流排 522‧‧‧Communication bus

524‧‧‧記憶體 524‧‧‧ memory

526‧‧‧作業系統 526‧‧‧ operating system

528‧‧‧網路通信模組 528‧‧‧Network Communication Module

540‧‧‧外部資訊呈現系統 540‧‧‧External information presentation system

542‧‧‧處理單元(CPU) 542‧‧‧Processing Unit (CPU)

546‧‧‧使用者介面 546‧‧‧User interface

547‧‧‧顯示裝置 547‧‧‧Display device

548‧‧‧控制項 548‧‧‧Controls

550‧‧‧網路或其他通信介面 550‧‧‧Network or other communication interface

552‧‧‧通信匯流排 552‧‧‧Communication bus

554‧‧‧記憶體 554‧‧‧ memory

556‧‧‧作業系統 556‧‧‧Operating system

558‧‧‧網路通信模組 558‧‧‧Network Communication Module

601‧‧‧使用者介面樣板 601‧‧‧User interface template

602‧‧‧應用程式標題欄 602‧‧‧App title bar

604‧‧‧預設主功能表 604‧‧‧Default main menu

606‧‧‧內容選擇視圖 606‧‧‧Content selection view

608‧‧‧自訂功能表 608‧‧‧Customized menu

610‧‧‧作用中項目欄 610‧‧‧Active project column

612‧‧‧結束按鈕 612‧‧‧End button

700‧‧‧方法 700‧‧‧ method

800‧‧‧電子裝置 800‧‧‧Electronic devices

802‧‧‧處理單元 802‧‧‧Processing unit

804‧‧‧通信介面單元 804‧‧‧Communication interface unit

806‧‧‧各別顯示單元 806‧‧‧different display units

807‧‧‧接收單元 807‧‧‧ receiving unit

808‧‧‧獲得單元 808‧‧‧Acquisition unit

810‧‧‧請求單元 810‧‧‧Request unit

812‧‧‧填充單元 812‧‧‧fill unit

814‧‧‧介面產生單元 814‧‧‧Interface generating unit

816‧‧‧發送單元 816‧‧‧Send unit

818‧‧‧資訊提供單元 818‧‧‧Information Providing Unit

820‧‧‧判定單元 820‧‧‧Decision unit

822‧‧‧索引產生單元 822‧‧‧ index generation unit

824‧‧‧語音提供單元 824‧‧‧Voice providing unit

826‧‧‧偵測單元 826‧‧‧Detection unit

828‧‧‧數位助理單元 828‧‧‧Digital assistant units

為了更好地理解各種所描述實施例,應結合以下圖式參考以下【實施方式】,在該等圖式中,相同參考數字貫穿諸圖指代對應部分。 For a better understanding of the various described embodiments, reference should be made to the following embodiments, in which the same reference numerals are used throughout the drawings.

圖1A為說明根據一些實施例之具有觸敏式顯示器之攜帶型多功能裝置的方塊圖。 1A is a block diagram illustrating a portable multifunction device with a touch sensitive display, in accordance with some embodiments.

圖1B為說明根據一些實施例之用於事件處置之例示性組件的方塊圖。 FIG. 1B is a block diagram illustrating an illustrative component for event handling in accordance with some embodiments.

圖2說明根據一些實施例之具有觸控式螢幕的攜帶型多功能裝置。 2 illustrates a portable multifunction device with a touch screen in accordance with some embodiments.

圖3為根據一些實施例之具有顯示器及觸敏式表面之例示性多功能裝置的方塊圖。 3 is a block diagram of an illustrative multi-function device having a display and a touch-sensitive surface, in accordance with some embodiments.

圖4A說明根據一些實施例之用於攜帶型多功能裝置上之應用程式功能表的例示性使用者介面。 4A illustrates an exemplary user interface for an application function table on a portable multifunction device, in accordance with some embodiments.

圖4B說明根據一些實施例之具有與顯示器分離之觸敏式表面的多功能裝置之例示性使用者介面。 4B illustrates an exemplary user interface of a multi-function device having a touch-sensitive surface separate from the display, in accordance with some embodiments.

圖5為說明根據一些實施例的其中攜帶型多功能裝置與外部資訊呈現系統及/或伺服器通信之作業環境的方塊圖。 5 is a block diagram illustrating a work environment in which a portable multi-function device communicates with an external information presentation system and/or server in accordance with some embodiments.

圖6A至圖6C說明根據一些實施例之自樣板產生的例示性使用者介面。 6A-6C illustrate an exemplary user interface generated from a template in accordance with some embodiments.

圖7A至圖7I為說明根據一些實施例之自樣板產生使用者介面之方法的流程圖。 7A-7I are flow diagrams illustrating a method of generating a user interface from a template in accordance with some embodiments.

圖8為根據一些實施例之電子裝置的功能方塊圖。 FIG. 8 is a functional block diagram of an electronic device in accordance with some embodiments.

許多電子裝置使用圖形使用者介面。許多圖形使用者介面經自訂設計,或專門針對於個別應用程式。下文描述之方法及裝置藉由自使用者介面樣板產生使用者介面以供第三方應用程式使用而改良此等 方法。在一些實施例中,使用者介面樣板為由複數個不同應用程式使用的通用或應用程式不可知之使用者介面樣板。此等使用者介面顯示於各別顯示器上。將相同之通用使用者介面樣板用於數個不同第三方應用程式有助於使第三方應用程式的使用者介面標準化。此標準化使得第三方應用程式對於與使用者互動之同時仍向使用者提供對第三方應用程式之功能性的存取更為直觀、更容易且更方便。 Many electronic devices use a graphical user interface. Many graphical user interfaces are custom designed or specifically targeted to individual applications. The method and apparatus described below improve the user interface by creating a user interface from a user interface template for use by third party applications method. In some embodiments, the user interface template is a generic or application-agnostic user interface template used by a plurality of different applications. These user interfaces are displayed on separate displays. Using the same generic user interface template for several different third-party applications helps standardize the user interface for third-party applications. This standardization makes it easier, easier, and more convenient for third-party applications to provide users with functional access to third-party applications while interacting with the user.

此等樣板在如下情形下為特別有幫助的:裝置正提供對在裝置外部之資訊呈現系統上的第三方應用程式之存取,諸如智慧型電話經由汽車中之觸控式螢幕顯示器提供對智慧型電話上之第主方應用程式的存取。資訊呈現系統視需要具有顯示器,該顯示器具有複數個不同操作特性集合(例如,顯示器尺寸、控制類型等)中的一者。在一些實施例中,各別顯示器為車輛資訊顯示系統中的顯示器,該車輛資訊顯示系統可自車輛之駕駛員座位看見,以便改良由車輛中之駕駛員及/或乘員使用第三方應用程式的容易性。 Such templates are particularly helpful in situations where the device is providing access to third party applications on the information presentation system external to the device, such as smart phones providing wisdom to the touch screen display in the car. Access to the primary application on the phone. The information presentation system optionally has a display having one of a plurality of different sets of operational characteristics (eg, display size, type of control, etc.). In some embodiments, the respective display is a display in a vehicle information display system that is viewable from a driver's seat of the vehicle to improve the use of third party applications by drivers and/or occupants in the vehicle Ease of use.

下文中,圖1A至圖1B、圖2及圖3提供例示性裝置之描述。圖4A至圖4B及圖6A至圖6C說明自樣板產生的例示性使用者介面。圖7A至圖7I為說明提供用於第三方應用程式之使用者介面之方法的流程圖。圖8為電子裝置之功能方塊圖。圖6A至圖6C中之使用者介面用以說明圖7A至圖7I中的程序。 Hereinafter, FIGS. 1A-1B, 2, and 3 provide a description of an exemplary device. 4A-4B and 6A-6C illustrate an exemplary user interface generated from a template. 7A-7I are flow diagrams illustrating methods of providing a user interface for a third party application. 8 is a functional block diagram of an electronic device. The user interface in Figures 6A through 6C is used to illustrate the procedures in Figures 7A through 7I.

例示性裝置 Exemplary device

現將詳細地參考實施例,實施例之實例說明於隨附圖式中。在以下詳細描述中,闡述了眾多特定細節以便提供對各種所描述實施例之透徹理解。然而,對於一般熟習此項技術者而言將顯而易見,可在無此等特定細節之情況下實踐各種所描述實施例。在其他例子中,未詳細描述熟知之方法、程序、組件、電路及網路,以便不會不必要地混淆實施例之態樣。 Reference will now be made in detail to the embodiments, embodiments, In the following detailed description, numerous specific details are set forth It will be apparent to those skilled in the art, however, that the various embodiments described herein may be practiced without the specific details. In other instances, well-known methods, procedures, components, circuits, and networks are not described in detail so as not to unnecessarily obscure the embodiments.

亦應理解,儘管本文中在一些例子中使用術語「第一」、「第二」等來描述各種元件,但此等元件不應受此等術語限制。此等術語僅用以將一元件與另一元件進行區分。舉例而言,在不偏離各種所描述實施例之範疇的情況下,第一接觸可被稱為第二接觸,且類似地,第二接觸可被稱為第一接觸。第一接觸與第二接觸兩者皆為接觸,但其並非同一接觸。 It should also be understood that, although the terms "first," "second," etc. are used in the context of the various elements, the elements are not limited by such terms. These terms are only used to distinguish one element from another. For example, a first contact may be referred to as a second contact, and similarly, a second contact may be referred to as a first contact, without departing from the scope of the various described embodiments. Both the first contact and the second contact are contacts, but they are not the same contact.

本文中在各種所描述實施例之描述中使用之術語僅係為了描述特定實施例之目的,且並不意欲係限制性的。如在各種所描述實施例之描述及附加申請專利範圍中所使用,單數形式「一」及「該」意欲亦包括複數形式,除非上下文明確地另有指示。亦應理解,如本文中使用之術語「及/或」係指且涵蓋相關聯之列舉項目中之一或多者之任何及所有可能組合。應進一步理解,當用於本說明書中時,術語「包括」及/或「包含」指定所陳述特徵、整體、步驟、操作、元件及/或組件之存在,但並不排除一或多個其他特徵、整體、步驟、操作、元件、組件及/或其組群之存在或添加。 The terminology used in the description of the various embodiments herein is for the purpose of describing particular embodiments, and is not intended to be limiting. The singular forms "a", "the" and "the" It is also understood that the term "and/or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It is to be understood that the terms "comprises" or "comprises" or "comprising" or "comprising" or "comprises" The presence or addition of features, integers, steps, operations, components, components, and/or groups thereof.

如本文中所使用,術語「若」取決於內容脈絡而視需要解釋成意謂「當……時」或「在……後」或「回應於判定……而」或「回應於偵測……而」。類似地,片語「若判定……」或「若偵測到[所陳述之條件或事件]」取決於內容脈絡視需要解釋為意謂「在判定……之後」或「回應於判定……而」或「在偵測到[所陳述之條件或事件]之後」或「回應於偵測到[所陳述之條件或事件]而」。 As used herein, the term "if" depends on the context of the context and is interpreted as if it is meant to mean "when..." or "after" or "in response to judgment..." or "in response to detection... …and". Similarly, the phrase "if judged..." or "if the [condition or event stated] is detected" depends on the context of the content as needed to mean "after the decision..." or "in response to the decision... And "or after the detection of [conditions or events stated]" or "in response to the detection of [conditions or events stated]".

描述電子裝置、此等裝置之使用者介面及用於使用此等裝置之相關聯程序的實施例。在一些實施例中,裝置為諸如行動電話之攜帶型通信裝置,該裝置亦含有諸如PDA及/或音樂播放器功能之其他功能。攜帶型多功能裝置之例示性實施例包括(但不限於)可購自Apple Inc.(Cupertino,California)之iPhone®、iPod Touch®及iPad®裝置。視 需要使用其他攜帶型電子裝置,諸如具有觸敏式表面(例如,觸控式螢幕顯示器及/或觸控板)之膝上型電腦或平板電腦。亦應理解,在一些實施例中,裝置並非攜帶型通信裝置,而是具有觸敏式表面(例如,觸控式螢幕顯示器及/或觸控板)之桌上型電腦。 Embodiments of electronic devices, user interfaces of such devices, and associated programs for using such devices are described. In some embodiments, the device is a portable communication device such as a mobile phone, which device also contains other functions such as PDA and/or music player functionality. Illustrative embodiments of portable multifunction devices include, but are not limited to, iPhone®, iPod Touch®, and iPad® devices available from Apple Inc. (Cupertino, California). Vision Other portable electronic devices, such as laptops or tablets with touch-sensitive surfaces (eg, touch screen displays and/or trackpads), are needed. It should also be understood that in some embodiments, the device is not a portable communication device, but a desktop computer having a touch-sensitive surface (eg, a touch screen display and/or a touch pad).

在以下論述中,描述包括顯示器及觸敏式表面之電子裝置。然而,應理解,電子裝置視需要包括一或多個其他實體使用者介面裝置,諸如實體鍵盤、滑鼠及/或操縱桿。 In the following discussion, an electronic device including a display and a touch-sensitive surface is described. However, it should be understood that the electronic device optionally includes one or more other physical user interface devices, such as a physical keyboard, mouse, and/or joystick.

該裝置通常支援諸如以下應用程式中之一或多者的多種應用程式:繪圖應用程式、呈現應用程式、文書處理應用程式、網站建立應用程式、碟片創作應用程式、試算表應用程式、遊戲應用程式、電話應用程式、視訊會議應用程式、電子郵件應用程式、即時傳訊應用程式、健身支援應用程式、照片管理應用程式、數位攝影機應用程式、數位視訊攝影機應用程式、網頁瀏覽應用程式、數位音樂播放器應用程式,及/或數位視訊播放器應用程式。 The device typically supports a variety of applications such as one or more of the following applications: drawing applications, rendering applications, word processing applications, website building applications, disc authoring applications, spreadsheet applications, gaming applications Programs, phone applications, video conferencing applications, email applications, instant messaging applications, fitness support applications, photo management applications, digital camera applications, digital video camera applications, web browsing applications, digital music playback Application, and / or digital video player application.

在裝置上執行之各種應用程式視需要使用至少一共同實體使用者介面裝置,諸如觸敏式表面。觸敏式表面之一或多個功能以及顯示於裝置上之對應資訊視需要在應用程式之間進行調整及/或發生變化,及/或在各別應用程式內進行調整及/或發生變化。以此方式,裝置之共同實體架構(諸如,觸敏式表面)視需要用對於使用者直觀且透明之使用者介面支援多種應用程式。 The various applications executing on the device optionally use at least one common physical user interface device, such as a touch sensitive surface. One or more of the touch-sensitive surfaces and corresponding information displayed on the device may be adjusted and/or changed between applications as needed, and/or adjusted and/or changed within the respective application. In this manner, the common physical architecture of the device, such as a touch-sensitive surface, supports a variety of applications as needed with a user interface that is intuitive and transparent to the user.

現將注意力指向具有觸敏式顯示器之攜帶型裝置的實施例。圖1A為說明根據一些實施例之具有觸敏式顯示器112之攜帶型多功能裝置100的方塊圖。為了方便起見,觸敏式顯示器112有時被稱為「觸控式螢幕」,且有時被稱作或稱為觸敏式顯示系統。裝置100包括記憶體102(其視需要包括一或多個電腦可讀儲存媒體)、記憶體控制器122、一或多個處理單元(CPU)120、周邊設備介面118、RF電路108、音訊 電路110、揚聲器111、麥克風113、輸入/輸出(I/O)子系統106、其他輸入或控制裝置116,及外部埠124。裝置100視需要包括一或多個光學感測器164。裝置100視需要包括用於偵測裝置100(例如,諸如裝置100之觸敏式顯示系統112的觸敏式表面)上的接觸之強度的一或多個強度感測器165。裝置100視需要包括用於在裝置100上產生觸覺輸出(例如,在諸如裝置100之觸敏式顯示系統112或裝置300的觸控板355之觸敏式表面上產生觸覺輸出)的一或多個觸覺輸出產生器167。此等組件視需要經由一或多個通信匯流排或信號線103來通信。 Attention is now directed to embodiments of portable devices having touch-sensitive displays. FIG. 1A is a block diagram illustrating a portable multifunction device 100 having a touch-sensitive display 112 in accordance with some embodiments. For convenience, touch sensitive display 112 is sometimes referred to as a "touch screen" and is sometimes referred to as or as a touch sensitive display system. The device 100 includes a memory 102 (which optionally includes one or more computer readable storage media), a memory controller 122, one or more processing units (CPUs) 120, a peripheral device interface 118, an RF circuit 108, and audio. Circuitry 110, speaker 111, microphone 113, input/output (I/O) subsystem 106, other input or control devices 116, and external ports 124. Device 100 includes one or more optical sensors 164 as desired. Device 100 includes one or more intensity sensors 165 for detecting the intensity of contact on device 100 (e.g., a touch-sensitive surface such as touch-sensitive display system 112 of device 100) as desired. Device 100 optionally includes one or more for generating a tactile output on device 100 (eg, generating a tactile output on a touch-sensitive surface such as touch-sensitive display system 112 of device 100 or touch pad 355 of device 300). Tactile output generators 167. These components communicate via one or more communication busses or signal lines 103 as needed.

如說明書及申請專利範圍中所使用,術語觸敏式表面上之接觸的「強度」係指觸敏式表面上接觸(例如,手指接觸)的力或壓力(每單位面積之力),或係指觸敏式表面上接觸之力或壓力的替代者(代理)。接觸之強度具有包括至少四個相異值且更通常地包括數百個相異值(例如,至少256個)的值範圍。接觸之強度視需要使用各種方法及各種感測器或感測器之組合來判定(或量測)。舉例而言,觸敏式表面下方或鄰近於觸敏式表面的一或多個力感測器視需要用以量測觸敏式表面上各種點處的力。在一些實施中,來自多個力感測器之力量測經組合(例如,加權平均)以判定估計之接觸力。類似地,手寫筆之壓敏式筆尖視需要用以判定手寫筆在觸敏式表面上的壓力。或者,在觸敏式表面上偵測到之接觸面積的大小及/或其改變、近接於接觸之觸敏式表面之電容及/或電容的改變及/或近接於接觸之觸敏式表面之電阻及/或電阻的改變視需要用作接觸在觸敏式表面上之力或壓力的替代者。在一些實施中,接觸力或壓力之替代者量測直接用以判定是否已超出強度臨限值(例如,強度臨限值以對應於替代者量測之單位來描述)。在一些實施中,接觸力或壓力之替代者量測經轉換成估計力或壓力,且估計力或壓力用以判定是否已超出強度臨限值(例如,強度臨限值為以壓力之單位量測的壓力臨限值)。 As used in the specification and claims, the term "strength" of a contact on a touch-sensitive surface refers to the force or pressure (force per unit area) of contact (eg, finger contact) on a touch-sensitive surface, or Refers to a substitute (agent) of the force or pressure of contact on a touch-sensitive surface. The intensity of the contact has a range of values that includes at least four distinct values and more typically includes hundreds of distinct values (eg, at least 256). The strength of the contact is determined (or measured) using various methods and combinations of various sensors or sensors as needed. For example, one or more force sensors beneath or adjacent to the touch-sensitive surface can be used to measure forces at various points on the touch-sensitive surface as needed. In some implementations, force measurements from multiple force sensors are combined (eg, weighted average) to determine the estimated contact force. Similarly, the pressure sensitive tip of the stylus is used to determine the pressure of the stylus on the touch-sensitive surface as needed. Alternatively, the size of the contact area detected on the touch-sensitive surface and/or its change, the change in capacitance and/or capacitance of the touch-sensitive surface in contact with and/or the proximity of the touch-sensitive surface in contact with The change in resistance and/or resistance is used as a substitute for the force or pressure on the touch-sensitive surface as needed. In some implementations, the contact force or pressure surrogate measurement is used directly to determine if the intensity threshold has been exceeded (eg, the intensity threshold is described in units corresponding to the surrogate measurement). In some implementations, the contact force or pressure substitute measurement is converted to an estimated force or pressure, and the estimated force or pressure is used to determine whether the intensity threshold has been exceeded (eg, the intensity threshold is a unit of pressure) Measured pressure threshold).

如說明書及申請專利範圍中所使用,術語「觸覺輸出」係指將由使用者藉由使用者之觸覺偵測到的裝置相對於裝置之先前位置的實體移位、裝置之組件(例如,觸敏式表面)相對於裝置之另一組件(例如,外殼)的實體移位,或組件相對於裝置之質心的移位。舉例而言,在裝置或裝置之組件與使用者的對於觸摸敏感之表面(例如,手指、手掌或使用者之手的其他部分)接觸的情形下,由實體移位產生之觸覺輸出將由使用者解譯為對應於裝置或裝置之組件的實體特性之所感知改變的觸覺感覺。舉例而言,觸敏式表面(例如,觸敏式顯示器或軌跡墊)的移動視需要由使用者解譯為實體致動器按鈕的「下擊」或「上擊」。在一些狀況下,使用者將感覺到諸如「下擊」或「上擊」的觸覺感覺,即使在不存在與因使用者之移動而實體上被按壓(例如,移位)之觸敏式表面相關聯的實體致動器按鈕之移動時亦如此。作為另一實例,觸敏式表面之移動視需要由使用者解譯或感測為觸敏式表面的「粗糙度」,即使在不存在觸敏式表面之平滑度的改變時亦如此。雖然使用者進行之觸摸的此等解譯將經受使用者之個別化感覺感知,但存在對於大量使用者係共同的觸摸之許多感覺感知。因此,當觸覺輸出描述為對應於使用者之特定感覺感知(例如,「上擊」、「下擊」、「粗糙度」)時,除非另有陳述,否則所產生觸覺輸出對應於裝置或其組件的將針對典型(或平均)使用者產生所描述感覺感知的實體移位。 As used in the specification and claims, the term "tactile output" refers to a physical displacement of a device that is detected by a user by the user's sense of touch with respect to the previous position of the device, such as a touch sensitive component (eg, touch sensitive). The physical displacement of the surface relative to another component of the device (eg, the outer casing), or the displacement of the component relative to the center of mass of the device. For example, where a device or component of a device is in contact with a user's touch-sensitive surface (eg, a finger, palm, or other portion of the user's hand), the tactile output produced by the physical displacement will be used by the user. Interpreted as a tactile sensation that is perceived to correspond to a perceived change in the physical characteristics of the device or device. For example, the movement of a touch-sensitive surface (eg, a touch-sensitive display or a trackpad) needs to be interpreted by the user as a "downstroke" or "upstroke" of the physical actuator button. In some situations, the user will feel a tactile sensation such as "down" or "up", even if there is no touch-sensitive surface that is physically pressed (eg, displaced) due to user movement. The same is true for the movement of the associated physical actuator button. As another example, the movement of the touch-sensitive surface needs to be interpreted or sensed by the user as the "roughness" of the touch-sensitive surface, even in the absence of a change in the smoothness of the touch-sensitive surface. While such interpretations of the touches made by the user will be subject to the individualized sensory perception of the user, there are many sensory perceptions of touches common to a large number of users. Thus, when the haptic output is described as corresponding to a particular sensory perception of the user (eg, "upstroke", "downstroke", "roughness"), unless otherwise stated, the haptic output produced corresponds to the device or its The component will produce a physical displacement of the described sensory perception for a typical (or average) user.

應瞭解,裝置100為攜帶型多功能裝置之僅一實例,且裝置100視需要具有比所展示組件多或少之組件,視需要組合兩個或兩個以上組件,或視需要具有不同的組件組態或配置。展示於圖1A中之各種組件以硬體、軟體或硬體與軟體之組合(包括一或多個信號處理電路及/或特殊應用積體電路)來實施。 It should be appreciated that the device 100 is only one example of a portable multi-function device, and that the device 100 has more or less components than those shown, optionally combining two or more components, or having different components as needed. Configuration or configuration. The various components shown in FIG. 1A are implemented in hardware, software, or a combination of hardware and software, including one or more signal processing circuits and/or special application integrated circuits.

記憶體102視需要包括高速隨機存取記憶體,且視需要亦包括非 揮發性記憶體,諸如一或多個磁碟儲存裝置、快閃記憶體裝置,或其他非揮發性固態記憶體裝置。裝置100之其他組件(諸如,CPU 120及周邊設備介面118)對記憶體102之存取視需要由記憶體控制器122控制。 The memory 102 optionally includes a high speed random access memory and includes, if necessary, a non- Volatile memory, such as one or more disk storage devices, flash memory devices, or other non-volatile solid state memory devices. Access to memory 102 by other components of device 100, such as CPU 120 and peripheral device interface 118, is controlled by memory controller 122 as desired.

周邊設備介面118可用以將裝置之輸入及輸出周邊設備耦接至CPU 120及記憶體102。一或多個處理器120執行(run、execute)儲存於記憶體102中之各種軟體程式及/或指令集,以執行裝置100之各種功能且處理資料。 The peripheral device interface 118 can be used to couple the input and output peripheral devices of the device to the CPU 120 and the memory 102. The one or more processors 120 execute (execute, execute) various software programs and/or sets of instructions stored in the memory 102 to perform various functions of the device 100 and process the data.

在一些實施例中,周邊設備介面118、CPU 120及記憶體控制器122視需要實施於諸如晶片104之單一晶片上。在一些其他實施例中,周邊設備介面118、CPU 120及記憶體控制器122視需要實施於單獨晶片上。 In some embodiments, peripheral device interface 118, CPU 120, and memory controller 122 are implemented on a single wafer, such as wafer 104, as desired. In some other embodiments, peripheral device interface 118, CPU 120, and memory controller 122 are implemented on separate wafers as desired.

RF(射頻)電路108接收並發送亦稱為電磁信號之RF信號。RF電路108將電信號轉換成電磁信號/將電磁信號轉換成電信號,且經由電磁信號與通信網路及其他通信裝置通信。RF電路108視需要包括用於執行此等功能之熟知電路,包括(但不限於)天線系統、RF收發器、一或多個放大器、調諧器、一或多個振盪器、數位信號處理器、編解碼器(CODEC)晶片組、訂戶識別模組(SIM)卡、記憶體等。RF電路108視需要藉由無線通信與諸如亦稱作全球資訊網(WWW)的網際網路、企業內部網路及/或無線網路(諸如,蜂巢式電話網路、無線區域網路(LAN)及/或都會區域網路(MAN))的網路以及其他裝置通信。無線通信視需要使用複數個通信標準、協定及技術中之任一者,該等通信標準、協定及技術包括(但不限於)全球行動通信系統(GSM)、增強型資料GSM環境(EDGE)、高速下行鏈路封包存取(HSDPA)、高速上行鏈路封包存取(HSUPA)、唯資料演進(EV-DO)、HSPA、HSPA+、雙重小區HSPA(DC-HSPDA)、長期演進(LTE)、近場通信(NFC)、寬頻分碼 多重存取(W-CDMA)、分碼多重存取(CDMA)、分時多重存取(TDMA)、藍芽、無線保真(Wi-Fi)(例如,IEEE 802.11a、IEEE 802.11b、IEEE 802.11g及/或IEEE 802.11n)、網際網路語音通信協定(VoIP)、Wi-MAX、電子郵件協定(例如,網際網路訊息存取協定(IMAP)及/或郵局協定(POP))、即時傳訊(例如,可延伸傳訊與呈現協定(XMPP)、即時傳訊及在場利用延伸的會話起始協定(SIMPLE)、即時傳訊及在場服務(IMPS))及/或短訊息服務(SMS),或包括截至此文件之申請日期尚未開發出之通信協定的任何其他合適通信協定。 An RF (Radio Frequency) circuit 108 receives and transmits an RF signal, also referred to as an electromagnetic signal. The RF circuit 108 converts the electrical signal into an electromagnetic signal/converts the electromagnetic signal into an electrical signal and communicates with the communication network and other communication devices via the electromagnetic signal. RF circuitry 108 includes well-known circuitry for performing such functions, including but not limited to, an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, Codec (CODEC) chipset, Subscriber Identity Module (SIM) card, memory, etc. The RF circuit 108 is optionally connected by wireless communication to an Internet such as the World Wide Web (WWW), an intranet, and/or a wireless network (such as a cellular telephone network or a wireless local area network (LAN). And/or the network of the Metropolitan Area Network (MAN) and other devices communicate. Wireless communication, if desired, uses any of a number of communication standards, protocols, and technologies including, but not limited to, Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), High Speed Downlink Packet Access (HSDPA), High Speed Uplink Packet Access (HSUPA), Data Evolution (EV-DO), HSPA, HSPA+, Dual Cell HSPA (DC-HSPDA), Long Term Evolution (LTE), Near Field Communication (NFC), Wideband Code Division Multiple Access (W-CDMA), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Bluetooth, Wireless Fidelity (Wi-Fi) (eg, IEEE 802.11a, IEEE 802.11b, IEEE) 802.11g and/or IEEE 802.11n), Voice over Internet Protocol (VoIP), Wi-MAX, email protocols (eg, Internet Message Access Protocol (IMAP) and/or Post Office Protocol (POP)), Instant messaging (eg, Extensible Messaging and Presentation Protocol (XMPP), instant messaging and presence using extended Session Initiation Protocol (SIMPLE), Instant Messaging and Presence Services (IMPS)) and/or Short Message Service (SMS) , or any other suitable communication agreement that has not yet been developed as of the filing date of this document.

音訊電路110、揚聲器111及麥克風113提供使用者與裝置100之間的音訊介面。音訊電路110自周邊設備介面118接收音訊資料,將該音訊資料轉換為電信號,且將該電信號傳輸至揚聲器111。揚聲器111將電信號轉換為人類可聽到之聲波。音訊電路110亦接收由麥克風113自聲波轉換之電信號。音訊電路110將電信號轉換為音訊資料,且將音訊資料傳輸至周邊設備介面118以供處理。視需要藉由周邊設備介面118自記憶體102及/或RF電路108擷取音訊資料,及/或將音訊資料傳輸至記憶體102及/或RF電路108。在一些實施例中,音訊電路110亦包括耳機插孔(例如,圖2之212)。耳機插孔提供音訊電路110與可移除式音訊輸入/輸出周邊設備(諸如,僅有輸出之頭戴式耳機,或有輸出(例如,單耳或雙耳頭戴式耳機)及輸入(例如,麥克風)兩者之耳機)之間的介面。 The audio circuit 110, the speaker 111, and the microphone 113 provide an audio interface between the user and the device 100. The audio circuit 110 receives audio data from the peripheral device interface 118, converts the audio data into an electrical signal, and transmits the electrical signal to the speaker 111. The speaker 111 converts the electrical signal into a sound wave that is audible to humans. The audio circuit 110 also receives an electrical signal that is self-sound converted by the microphone 113. The audio circuit 110 converts the electrical signals into audio data and transmits the audio data to the peripheral device interface 118 for processing. The audio data is retrieved from the memory 102 and/or the RF circuit 108 by the peripheral device interface 118 as needed, and/or the audio data is transmitted to the memory 102 and/or the RF circuit 108. In some embodiments, the audio circuit 110 also includes a headphone jack (eg, 212 of FIG. 2). The headphone jack provides an audio circuit 110 and a removable audio input/output peripheral (such as an output only headset, or an output (eg, a monaural or binaural headset) and an input (eg, , the microphone) the interface between the two headphones.

I/O子系統106將裝置100上之輸入/輸出周邊設備(諸如,觸控式螢幕112及其他輸入控制裝置116)耦接至周邊設備介面118。I/O子系統106視需要包括顯示控制器156、光學感測器控制器158、強度感測器控制器159、觸覺回饋控制器161,及用於其他輸入或控制裝置之一或多個輸入控制器160。該一或多個輸入控制器160自其他輸入或控制裝置116接收電信號/將電信號發送至其他輸入或控制裝置116。其他輸 入控制裝置116視需要包括實體按鈕(例如,推按鍵(push button)、搖桿按鈕等)、撥號盤、滑動開關、操縱桿、點選式選盤(click wheel)等。在一些替代實施例中,(多個)輸入控制器160視需要耦接至以下各者中之任一者(或不耦接至以下各者):鍵盤、紅外線埠、USB埠,及諸如滑鼠的指標裝置。一或多個按鈕(例如,圖2之208)視需要包括用於揚聲器111及/或麥克風113之音量控制的增/減按鈕。一或多個按鈕視需要包括推按鍵(例如,圖2之206)。 I/O subsystem 106 couples input/output peripherals on device 100, such as touch screen 112 and other input control devices 116, to peripheral device interface 118. The I/O subsystem 106 optionally includes a display controller 156, an optical sensor controller 158, an intensity sensor controller 159, a haptic feedback controller 161, and one or more inputs for other input or control devices. Controller 160. The one or more input controllers 160 receive/transmit electrical signals from other input or control devices 116 to other input or control devices 116. Other loss The access control device 116 optionally includes physical buttons (e.g., push buttons, rocker buttons, etc.), dials, slide switches, joysticks, click wheels, and the like. In some alternative embodiments, the input controller(s) 160 are coupled to any of the following (or are not coupled to) as needed: keyboard, infrared cymbal, USB port, and such as sliding Mouse indicator device. One or more buttons (e.g., 208 of FIG. 2) include an up/down button for volume control of speaker 111 and/or microphone 113 as desired. One or more buttons include a push button as desired (eg, 206 of Figure 2).

觸敏式顯示器112提供裝置與使用者之間的輸入介面及輸出介面。顯示控制器156自觸控式螢幕112接收電信號及/或將電信號發送至觸控式螢幕112。觸控式螢幕112向使用者顯示視覺輸出。視覺輸出視需要包括圖形、文字、圖示、視訊及其任何組合(統稱為「圖形」)。在一些實施例中,一些或所有視覺輸出對應於使用者介面物件。 The touch sensitive display 112 provides an input interface and an output interface between the device and the user. The display controller 156 receives electrical signals from the touch screen 112 and/or transmits the electrical signals to the touch screen 112. The touch screen 112 displays a visual output to the user. Visual output includes graphics, text, graphics, video, and any combination thereof (collectively referred to as "graphics") as needed. In some embodiments, some or all of the visual output corresponds to a user interface item.

觸控式螢幕112具有基於觸覺及/或觸覺接觸而自使用者接受輸入之觸敏式表面、感測器或感測器集合。觸控式螢幕112及顯示控制器156(連同記憶體102中之任何相關聯模組及/或指令集)偵測觸控式螢幕112上之接觸(及接觸之任何移動或中斷),且將偵測到之接觸轉換為與顯示於觸控式螢幕112上之使用者介面物件(例如,一或多個螢幕按鍵、圖示、網頁或影像)的互動。在例示性實施例中,觸控式螢幕112與使用者之間的接觸點對應於使用者之手指。 Touch screen 112 has a touch-sensitive surface, sensor or sensor set that accepts input from a user based on tactile and/or tactile contact. The touch screen 112 and the display controller 156 (along with any associated modules and/or sets of instructions in the memory 102) detect contact (and any movement or interruption of contact) on the touch screen 112 and will The detected contact is converted into an interaction with a user interface object (eg, one or more screen buttons, icons, web pages, or images) displayed on the touch screen 112. In an exemplary embodiment, the point of contact between the touch screen 112 and the user corresponds to the user's finger.

觸控式螢幕112視需要使用LCD(液晶顯示器)技術、LPD(發光聚合物顯示器)技術,或LED(發光二極體)技術,但在其他實施例中使用其他顯示技術。觸控式螢幕112及顯示控制器156視需要使用現已知或稍後開發的複數種觸摸感測技術(包括但不限於電容性、電阻性、紅外線及表面聲波技術)中之任一者以及用於判定與觸控式螢幕112之一或多個接觸點之其他近接感測器陣列或其他元件來偵測接觸及其任 何移動或中斷。在一例示性實施例中,使用投射式互電容感測技術,諸如在可購自Apple Inc.(Cupertino,California)的iPhone®、iPod Touch®及iPad®中所見的投射式互電容感測技術。 The touch screen 112 uses LCD (liquid crystal display) technology, LPD (light emitting polymer display) technology, or LED (light emitting diode) technology as needed, but other display technologies are used in other embodiments. Touch screen 112 and display controller 156 optionally use any of a variety of touch sensing technologies now known or later developed, including but not limited to capacitive, resistive, infrared, and surface acoustic wave technologies, and Other proximity sensor arrays or other components for determining one or more contact points with the touch screen 112 to detect contact and any How to move or interrupt. In an exemplary embodiment, projected mutual capacitance sensing techniques are used, such as projected mutual capacitance sensing techniques found in iPhone®, iPod Touch®, and iPad® available from Apple Inc. (Cupertino, California). .

觸控式螢幕112視需要具有超過100dpi之視訊解析度。在一些實施例中,觸控式螢幕具有大約160dpi之視訊解析度。使用者視需要使用任何合適物件或附件(諸如,手寫筆、手指等)與觸控式螢幕112接觸。在一些實施例中,使用者介面經設計以主要藉由基於手指之接觸及示意動作起作用,歸因於手指在觸控式螢幕上之較大接觸面積,與基於手寫筆之輸入相比,基於手指之接觸及示意動作的精確度較低。在一些實施例中,裝置將粗略之基於手指之輸入轉譯為精確之指標/游標位置或命令,從而執行使用者所要之動作。 The touch screen 112 has a video resolution of more than 100 dpi as needed. In some embodiments, the touch screen has a video resolution of approximately 160 dpi. The user contacts the touch screen 112 using any suitable item or accessory (such as a stylus, finger, etc.) as needed. In some embodiments, the user interface is designed to function primarily by finger-based contact and gestures due to the larger contact area of the finger on the touch screen, as compared to the stylus-based input. The accuracy of finger-based contact and gestures is low. In some embodiments, the device translates the rough finger-based input into a precise indicator/cursor position or command to perform the desired action by the user.

在一些實施例中,除觸控式螢幕外,裝置100視需要亦可包括用於啟動或撤銷啟動特定功能之觸控板(圖中未示)。在一些實施例中,觸控板為裝置之觸敏式區域,不同於觸控式螢幕,觸敏式區域不顯示視覺輸出。觸控板視需要為與觸控式螢幕112分離之觸敏式表面,或為由觸控式螢幕形成之觸敏式表面的擴展。 In some embodiments, in addition to the touch screen, the device 100 may also include a touchpad (not shown) for activating or deactivating a specific function, as needed. In some embodiments, the touchpad is a touch-sensitive area of the device, and unlike the touchscreen, the touch-sensitive area does not display a visual output. The touchpad is optionally a touch-sensitive surface that is separate from the touch screen 112 or an extension of the touch-sensitive surface formed by the touch screen.

裝置100亦包括用於向各種組件供電之電力系統162。電力系統162視需要包括電力管理系統、一或多個電源(例如,電池、交流電(AC))、再充電系統、電力故障偵測電路、電力轉換器或反相器、電力狀態指示器(例如,發光二極體(LED)),及與攜帶型裝置中的電力之產生、管理及分配相關聯的任何其他組件。 Device 100 also includes a power system 162 for powering various components. The power system 162 includes a power management system, one or more power sources (eg, batteries, alternating current (AC)), a recharging system, power fault detection circuitry, power converters or inverters, power status indicators (eg, , a light emitting diode (LED), and any other component associated with the generation, management, and distribution of power in a portable device.

裝置100視需要亦包括一或多個光學感測器164。圖1A展示耦接至I/O子系統106中之光學感測器控制器158的光學感測器。光學感測器164視需要包括電荷耦合裝置(CCD),或互補金氧半導體(CMOS)光電晶體。光學感測器164自環境接收經由一或多個透鏡投射之光,且將該光轉換成表示影像之資料。結合成像模組143(亦稱為攝影機模 組),光學感測器164視需要捕獲靜態影像或視訊。在一些實施例中,光學感測器位於裝置100之與在裝置正面之觸控式螢幕顯示器112相對的背面上,使得觸控式螢幕顯示器經啟用而用作靜態影像及/或視訊影像獲取的取景器。在一些實施例中,另一光學感測器位於裝置之正面上,使得在使用者檢視觸控式螢幕顯示器上之其他視訊會議參與者的同時,視需要獲得該使用者之影像以用於視訊會議。 Device 100 also includes one or more optical sensors 164 as desired. FIG. 1A shows an optical sensor coupled to optical sensor controller 158 in I/O subsystem 106. Optical sensor 164 optionally includes a charge coupled device (CCD), or a complementary metal oxide semiconductor (CMOS) optoelectronic crystal. Optical sensor 164 receives light projected through one or more lenses from the environment and converts the light into information representative of the image. Combined with imaging module 143 (also known as camera module) Group), optical sensor 164 captures still images or video as needed. In some embodiments, the optical sensor is located on the back of the device 100 opposite the touch screen display 112 on the front of the device such that the touch screen display is enabled for use as a still image and/or video image capture. viewfinder. In some embodiments, another optical sensor is located on the front side of the device, such that when the user views other video conference participants on the touch screen display, the user's image is obtained for video viewing as needed. meeting.

裝置100視需要亦包括一或多個接觸強度感測器165。圖1A展示耦接至I/O子系統106中之強度感測器控制器159的接觸強度感測器。接觸強度感測器165視需要包括一或多個壓阻式應變計、電容性力感測器、電學力感測器、壓電力感測器、光學力感測器、電容性觸敏式表面,或其他強度感測器(例如,用以量測接觸在觸敏式表面上之力(或壓力)的感測器)。接觸強度感測器165自環境接收接觸強度資訊(例如,壓力資訊或壓力資訊之代理)。在一些實施例中,至少一接觸強度感測器與觸敏式表面(例如,觸敏式顯示系統112)共置或近接於該觸敏式表面。在一些實施例中,至少一接觸強度感測器位於裝置100之與位於裝置100之正面的觸控式螢幕顯示器112相對的背面上。 Device 100 also includes one or more contact intensity sensors 165 as desired. FIG. 1A shows a contact intensity sensor coupled to intensity sensor controller 159 in I/O subsystem 106. The contact intensity sensor 165 includes one or more piezoresistive strain gauges, capacitive force sensors, electrical force sensors, piezoelectric power sensors, optical force sensors, and capacitive touch-sensitive surfaces as needed. , or other intensity sensors (eg, sensors that measure the force (or pressure) that is in contact with the touch-sensitive surface). The contact intensity sensor 165 receives contact intensity information (eg, a proxy for pressure information or pressure information) from the environment. In some embodiments, at least one contact intensity sensor is co-located or in close proximity to the touch-sensitive surface (eg, touch-sensitive display system 112). In some embodiments, at least one contact intensity sensor is located on a back side of device 100 opposite touch screen display 112 located on the front side of device 100.

裝置100視需要亦包括一或多個近接感測器166。圖1A展示耦接至周邊設備介面118之近接感測器166。或者,近接感測器166耦接至I/O子系統106中之輸入控制器160。在一些實施例中,當接近使用者之耳朵置放多功能裝置時(例如,當使用者正在進行電話通話時),近接感測器將觸控式螢幕112關斷且停用觸控式螢幕112。 Device 100 also includes one or more proximity sensors 166 as desired. FIG. 1A shows a proximity sensor 166 coupled to a peripheral device interface 118. Alternatively, proximity sensor 166 is coupled to input controller 160 in I/O subsystem 106. In some embodiments, when the multi-function device is placed near the user's ear (eg, when the user is on a phone call), the proximity sensor turns off the touch screen 112 and disables the touch screen. 112.

裝置100視需要亦包括一或多個觸覺輸出產生器167。圖1A展示耦接至I/O子系統106中之觸覺回饋控制器161的觸覺輸出產生器。觸覺輸出產生器167視需要包括以下各者:一或多個電聲裝置,諸如揚聲器或其他音訊組件;及/或將能量轉換成線性運動的機電裝置,諸如馬達、螺線管、電活性聚合物、壓電致動器、靜電致動器,或其他 觸覺輸出產生組件(例如,將電信號轉換成裝置上之觸覺輸出的組件)。接觸強度感測器165自觸覺回饋模組133接收觸覺回饋產生指令,且在裝置100上產生能夠由裝置100之使用者感測到的觸覺輸出。在一些實施例中,至少一觸覺輸出產生器與觸敏式表面(例如,觸敏式顯示系統112)共置或近接於該觸敏式表面,且視需要藉由垂直地(例如,入/出裝置100之表面)或橫向(例如,在與裝置100之表面相同的平面中往復)移動觸敏式表面來產生觸覺輸出。在一些實施例中,至少一觸覺輸出產生器感測器位於裝置100之與位於裝置100之正面的觸控式螢幕顯示器112相對的背面上。 Device 100 also includes one or more haptic output generators 167 as desired. FIG. 1A shows a haptic output generator coupled to a haptic feedback controller 161 in I/O subsystem 106. The haptic output generator 167 optionally includes one or more electro-acoustic devices, such as speakers or other audio components; and/or electromechanical devices that convert energy into linear motion, such as motors, solenoids, electroactive polymerization. Object, piezoelectric actuator, electrostatic actuator, or other The haptic output produces components (eg, components that convert electrical signals into haptic outputs on the device). The touch intensity sensor 165 receives the haptic feedback generation command from the haptic feedback module 133 and generates a haptic output that can be sensed by the user of the device 100 on the device 100. In some embodiments, at least one haptic output generator is co-located or proximate to the touch-sensitive surface (eg, touch-sensitive display system 112), and as needed by vertical (eg, into/ The touch-sensitive surface is moved to produce a tactile output, either laterally or laterally (e.g., reciprocating in the same plane as the surface of device 100). In some embodiments, at least one haptic output generator sensor is located on a back side of device 100 opposite touch screen display 112 located on the front side of device 100.

裝置100視需要亦包括一或多個加速度計168。圖1A展示耦接至周邊設備介面118之加速度計168。或者,加速度計168視需要耦接至I/O子系統106中之輸入控制器160。在一些實施例中,基於對自一或多個加速度計接收之資料的分析而以縱向視圖或橫向視圖將資訊顯示於觸控式螢幕顯示器上。除(多個)加速度計168外,裝置100視需要亦包括用於獲得與裝置100之位置及定向(例如,縱向或橫向)有關之資訊的磁力計(圖中未示)及GPS(或GLONASS或其他全球導航系統)接收器(圖中未示)。 Device 100 also includes one or more accelerometers 168 as desired. FIG. 1A shows an accelerometer 168 coupled to a peripheral device interface 118. Alternatively, accelerometer 168 is coupled to input controller 160 in I/O subsystem 106 as needed. In some embodiments, the information is displayed on the touchscreen display in a portrait or landscape view based on an analysis of the data received from the one or more accelerometers. In addition to accelerometer(s) 168, device 100 also includes magnetometers (not shown) and GPS (or GLONASS) for obtaining information relating to the position and orientation (e.g., longitudinal or lateral) of device 100, as desired. Or other global navigation system) receiver (not shown).

在一些實施例中,儲存於記憶體102中之軟體組件包括作業系統126、通信模組(或指令集)128、接觸/運動模組(或指令集)130、圖形模組(或指令集)132、文字輸入模組(或指令集)134、全球定位系統(GPS)模組(或指令集)135,及應用程式(或指令集)136。此外,在一些實施例中,如圖1A及圖3中所展示,記憶體102儲存裝置/全域內部狀態157。裝置/全域內部狀態157包括以下各者中之一或多者:作用中應用程式狀態,其指示哪些應用程式(若存在)當前係在作用中;顯示狀態,其指示何應用程式、視圖或其他資訊佔用觸控式螢幕顯示器112之各種區;感測器狀態,其包括自裝置之各種感測器及輸入控制 裝置116獲得的資訊;及與裝置之位置及/或姿態有關的位置資訊。 In some embodiments, the software components stored in the memory 102 include an operating system 126, a communication module (or instruction set) 128, a contact/motion module (or instruction set) 130, a graphics module (or an instruction set). 132. A text input module (or set of instructions) 134, a global positioning system (GPS) module (or set of instructions) 135, and an application (or set of instructions) 136. Moreover, in some embodiments, as shown in FIGS. 1A and 3, memory 102 stores device/global internal state 157. The device/global internal state 157 includes one or more of the following: an active application state indicating which applications (if any) are currently active; a display state indicating which application, view, or other Information occupies various areas of the touch screen display 112; sensor status, including various sensors and input controls of the device Information obtained by device 116; and location information related to the location and/or posture of the device.

作業系統126(例如,Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS,或諸如VxWorks之嵌入式作業系統)包括用於控制及管理通用系統任務(例如,記憶體管理、儲存裝置控制、電力管理等)之各種軟體組件及/或驅動程式,且促進各種硬體組件與軟體組件之間的通信。 Operating system 126 (eg, Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, or embedded operating systems such as VxWorks) includes controls and management of general system tasks (eg, memory management, storage device control, power management) And other software components and/or drivers, and facilitate communication between various hardware components and software components.

通信模組128促進經由一或多個外部埠124與其他裝置的通信,且亦包括用於處置RF電路108及/或外部埠124所接收之資料的各種軟體組件。外部埠124(例如,通用串列匯流排(USB)、FIREWIRE等)經調適以用於直接耦接至其他裝置或經由網路(例如,網際網路、無線LAN等)間接地耦接至其他裝置。在一些實施例中,外部埠為與在iPod(Apple Inc.之商標)裝置上使用之30針腳連接器相同或類似及/或與該連接器相容之多針腳(例如,30針腳)連接器。在一些實施例中,外部埠為與在iPhone及iPod(Apple Inc.之商標)裝置上使用之8針腳連接器(例如,閃電連接器)相同或類似及/或與該連接器相容之多針腳(例如,8針腳)連接器。 Communication module 128 facilitates communication with other devices via one or more external ports 124, and also includes various software components for handling data received by RF circuitry 108 and/or external port 124. External ports 124 (eg, universal serial bus (USB), FIREWIRE, etc.) are adapted for direct coupling to other devices or indirectly coupled to other via a network (eg, internet, wireless LAN, etc.) Device. In some embodiments, the external port is a multi-pin (eg, 30-pin) connector that is the same as or similar to and/or compatible with the 30-pin connector used on the iPod (trademark of Apple Inc.) device. . In some embodiments, the external port is the same or similar and/or compatible with the 8-pin connector (eg, lightning connector) used on iPhone and iPod (trademark of Apple Inc.) devices. Pin (for example, 8-pin) connector.

接觸/運動模組130視需要偵測與觸控式螢幕112(結合顯示控制器156)及其他觸敏式裝置(例如,觸控板或實體點選式選盤)之接觸。接觸/運動模組130包括用於執行與偵測接觸有關之各種操作的各種軟體組件,該等操作諸如判定是否發生了接觸(例如,偵測手指向下事件)、判定接觸之強度(例如,接觸之力或壓力,或接觸之力或壓力的替代者)、判定是否存在接觸之移動及追蹤跨越觸敏式表面之移動(例如,偵測一或多個手指拖曳事件),及判定是否已停止接觸(例如,偵測手指向上事件或接觸之中斷)。接觸/運動模組130自觸敏式表面接收接觸資料。判定由一系列接觸資料表示的接觸點之移動視需要包括判定接觸點的速率(量值)、速度(量值及方向)及/或加速度(量值及/或 方向之改變)。此等操作視需要應用於單一接觸(例如,單手指接觸)或應用於多個同時接觸(例如,「多點觸摸」/多手指接觸)。在一些實施例中,接觸/運動模組130及顯示控制器156偵測觸控板上之接觸。 The contact/sports module 130 detects contact with the touch screen 112 (in conjunction with the display controller 156) and other touch-sensitive devices (eg, a touchpad or physical point-selection palette) as needed. The contact/motion module 130 includes various software components for performing various operations related to detecting contact, such as determining whether a contact has occurred (eg, detecting a finger down event), determining the strength of the contact (eg, The force or pressure of contact, or a substitute for the force or pressure of contact), determining whether there is movement of the contact and tracking movement across the touch-sensitive surface (eg, detecting one or more finger drag events), and determining whether Stop contact (for example, detect a finger up event or an interruption in contact). The contact/motion module 130 receives contact data from a touch-sensitive surface. Determining the movement of the contact point represented by a series of contact data includes determining the rate (magnitude), velocity (magnitude and direction), and/or acceleration (magnitude and/or) of the contact point. Change of direction). These operations are applied as needed to a single contact (eg, single finger contact) or to multiple simultaneous contacts (eg, "multi-touch" / multi-finger contact). In some embodiments, the contact/motion module 130 and the display controller 156 detect contact on the touchpad.

在一些實施例中,接觸/運動模組130使用一或多個強度臨限值之集合來判定操作是否已被使用者執行(例如,判定使用者是否已在圖示上進行了「點選」)。在一些實施例中,強度臨限值之至少一子集根據軟體參數來判定(例如,強度臨限值並不由特定實體致動器之啟動臨限值來判定,且可在不改變裝置100之實體硬體情況下作出調整)。舉例而言,軌跡墊或觸控式螢幕顯示器的滑鼠「點選」臨限值可在不改變軌跡墊或觸控式螢幕顯示器硬體的情況下設定為大範圍預定義臨限值中的任一者。另外,在一些實施中,向裝置之使用者提供用於調整強度臨限值集合中之一或多個強度臨限值的軟體設定(例如,藉由調整個別強度臨限值及/或藉由用系統級別點選「強度」參數一次性調整複數個強度臨限值)。 In some embodiments, the contact/motion module 130 uses a set of one or more intensity thresholds to determine if the operation has been performed by the user (eg, to determine if the user has clicked on the icon) ). In some embodiments, at least a subset of the intensity thresholds are determined based on the software parameters (eg, the intensity threshold is not determined by the activation threshold of the particular physical actuator, and may not change device 100) Make adjustments in the case of physical hardware). For example, the mouse "click" threshold of the track pad or touch screen display can be set to a wide range of predefined thresholds without changing the track pad or touch screen display hardware. Either. Additionally, in some implementations, the user of the device is provided with software settings for adjusting one or more intensity thresholds in the set of intensity thresholds (eg, by adjusting individual intensity thresholds and/or by Use the system level to select the “strength” parameter to adjust the multiple strength thresholds at once.

接觸/運動模組130視需要偵測由使用者輸入之示意動作。觸敏式表面上之不同示意動作具有不同接觸型樣(例如,所偵測接觸的不同運動、時序及/或強度)。因此,視需要藉由偵測特定接觸型樣來偵測示意動作。舉例而言,偵測手指觸按示意動作包括偵測手指向下事件,繼之以在與手指向下事件相同之位置(或實質相同之位置)(例如,在圖示之位置處)偵測手指向上(起離)事件。作為另一實例,偵測觸敏式表面上之手指撥動示意動作包括偵測手指向下事件,繼之以偵測一或多個手指拖曳事件,且隨後繼之以偵測手指向上(起離)事件。 The contact/motion module 130 detects the gestures input by the user as needed. Different gestures on the touch-sensitive surface have different contact patterns (eg, different motions, timings, and/or intensities of the detected contacts). Therefore, the gesture is detected by detecting a specific contact pattern as needed. For example, detecting a finger touch gesture includes detecting a finger down event, followed by detecting at the same location (or substantially the same position) as the finger down event (eg, at the location shown) Finger up (off) event. As another example, detecting a finger swipe gesture on a touch-sensitive surface includes detecting a finger down event, followed by detecting one or more finger drag events, and then subsequently detecting the finger up (from Off) event.

圖形模組132包括用於在觸控式螢幕112或其他顯示器上顯現並顯示圖形的各種已知軟體組件,包括用於改變所顯示之圖形之視覺衝擊(例如,亮度、透明度、飽和度、對比度或其他視覺特性)的組件。如本文中所使用,術語「圖形」包括可向使用者顯示之任何物件,包括 (但不限於)文字、網頁、圖示(諸如,包括螢幕按鍵之使用者介面物件)、數位影像、視訊、動畫及其類似者。 The graphics module 132 includes various known software components for rendering and displaying graphics on the touchscreen 112 or other display, including visual impacts for changing the displayed graphics (eg, brightness, transparency, saturation, contrast) Or other visual characteristics of the component. As used herein, the term "graphic" includes any item that can be displayed to a user, including (but not limited to) text, web pages, icons (such as user interface objects including screen buttons), digital images, video, animation, and the like.

在一些實施例中,圖形模組132儲存表示待使用之圖形的資料。視需要向每一圖形指派一對應碼。圖形模組132自應用程式等接收指定待顯示之圖形的一或多個碼連同座標資料及其他圖形特性資料(若必要),且接著產生螢幕影像資料以輸出至顯示控制器156。 In some embodiments, graphics module 132 stores material representing graphics to be used. Each graphic is assigned a corresponding code as needed. The graphics module 132 receives one or more codes specifying graphics to be displayed, together with coordinate data and other graphics property data (if necessary) from an application or the like, and then generates screen image data for output to the display controller 156.

觸覺回饋模組133包括用於產生供觸覺輸出產生器167使用以回應於使用者與裝置100之互動而在裝置100上之一或多個位置處產生觸覺輸出的指令之各種軟體組件。 The haptic feedback module 133 includes various software components for generating instructions for use by the haptic output generator 167 to generate haptic output at one or more locations on the device 100 in response to user interaction with the device 100.

視需要為圖形模組132之一組件的文字輸入模組134提供用於在各種應用程式(例如,聯繫人137、電子郵件140、IM 141、瀏覽器147及需要文字輸入之任何其他應用程式)中鍵入文字的螢幕小鍵盤。 The text input module 134, which is a component of the graphics module 132, is provided for use in various applications (eg, contacts 137, email 140, IM 141, browser 147, and any other application requiring text input) as needed. Type the text on the screen keypad.

GPS模組135判定裝置之位置,且提供此資訊以供用於各種應用程式中(例如,提供至電話138以供用於基於位置之撥號中,提供至攝影機143作為圖片/視訊後設資料,且提供至提供基於位置之服務的應用程式,諸如天氣介面工具集、本地黃頁介面工具集及地圖/導航介面工具集)。 The GPS module 135 determines the location of the device and provides this information for use in various applications (e.g., to the phone 138 for location based dialing, to the camera 143 as a picture/video post material, and provides To applications that provide location-based services, such as the weather interface toolset, the local yellow page interface toolset, and the map/navigation interface toolset.

應用程式136視需要包括以下模組(或指令集)或其子集或超集:˙聯繫人模組137(有時稱為通訊錄或聯繫人清單);˙電話模組138;˙視訊會議模組139;˙電子郵件用戶端模組140;˙即時傳訊(IM)模組141;˙網際網路無線電模組142;˙用於靜態及/或視訊影像之攝影機模組143;˙影像管理模組144; ˙瀏覽器模組147;˙行事曆模組148;˙視需要包括以下各者中之一或多者的介面工具集模組149:天氣介面工具集149-1、股票介面工具集149-2、計算器介面工具集149-3、鬧鐘介面工具集149-4、辭典介面工具集149-5,及由使用者獲得之其他介面工具集以及使用者建立之介面工具集149-6;˙數位個人助理模組150;˙車輛整合模組151;˙視訊及音樂播放器模組152,其視需要由視訊播放器模組及音樂播放器模組構成;˙備忘錄模組153;˙地圖模組154;及/或˙唱片庫模組155。 The application 136 includes the following modules (or sets of instructions) or a subset or superset thereof as needed: ̇ contact module 137 (sometimes referred to as an address book or contact list); ̇ phone module 138; ̇ video conference Module 139; ̇ email client module 140; ̇ instant messaging (IM) module 141; ̇ internet radio module 142; 摄影 camera module 143 for static and/or video images; Module 144; The browser module 147; the calendar module 148; the interface tool set module 149 including one or more of the following: the weather interface tool set 149-1, the stock interface tool set 149-2 , calculator interface tool set 149-3, alarm interface tool set 149-4, dictionary interface tool set 149-5, and other interface tools set obtained by the user and user-created interface tool set 149-6; a personal assistant module 150; a vehicle integration module 151; a video and music player module 152, which is composed of a video player module and a music player module as needed; a memo module 153; 154; and/or ̇ record library module 155.

視需要儲存於記憶體102中之其他應用程式136之實例包括其他文書處理應用程式、其他影像編輯應用程式、繪圖應用程式、呈現應用程式、具JAVA能力之應用程式、加密、數位版權管理、語音辨識,及語音複製。 Examples of other applications 136 that are stored in the memory 102 as needed include other word processing applications, other image editing applications, drawing applications, rendering applications, JAVA capable applications, encryption, digital rights management, voice. Identification, and voice reproduction.

結合觸控式螢幕112、顯示控制器156、接觸模組130、圖形模組132及文字輸入模組134,聯繫人模組137視需要用以管理通訊錄或聯繫人清單(例如,儲存於記憶體102或記憶體370中之聯繫人模組137之應用程式內部狀態192中),包括:將(多個)姓名新增至通訊錄;自通訊錄刪除(多個)姓名;使(多個)電話號碼、(多個)電子郵件地址、(多個)實體地址或其他資訊與一姓名相關聯;使一影像與一姓名相關聯;將姓名歸類及分類;提供電話號碼或電子郵件地址以藉由電話138、視訊會議139、電子郵件140或IM 141起始及/或促進通信等。 In conjunction with the touch screen 112, the display controller 156, the contact module 130, the graphics module 132, and the text input module 134, the contact module 137 can be used to manage the address book or contact list (eg, stored in memory). The application internal state 192 of the contact module 137 in the body 102 or the memory 370 includes: adding the name(s) to the address book; deleting the (multiple) name from the address book; The phone number, the email address(s), the physical address(s) or other information associated with a name; associate an image with a name; classify and categorize the name; provide a phone number or email address Initiating and/or facilitating communication, etc., by telephone 138, video conferencing 139, email 140, or IM 141.

結合RF電路108、音訊電路110、揚聲器111、麥克風113、觸控 式螢幕112、顯示控制器156、接觸模組130、圖形模組132及文字輸入模組134,電話模組138視需要用於鍵入對應於電話號碼之字元序列、存取通訊錄137中之一或多個電話號碼、修改已鍵入之電話號碼、撥打各別電話號碼、進行交談,及在交談完成時斷開或掛斷。如上所指出,無線通信視需要使用複數種通信標準、協定及技術中之任一者。 Combined with RF circuit 108, audio circuit 110, speaker 111, microphone 113, touch The screen 112, the display controller 156, the contact module 130, the graphic module 132 and the text input module 134, the telephone module 138 is used for inputting a sequence of characters corresponding to the telephone number, and accessing the address book 137 as needed. One or more phone numbers, modify a phone number that has been typed, dial a separate phone number, talk, and disconnect or hang up when the conversation is complete. As noted above, wireless communication uses any of a variety of communication standards, protocols, and techniques as needed.

結合RF電路108、音訊電路110、揚聲器111、麥克風113、觸控式螢幕112、顯示控制器156、光學感測器164、光學感測器控制器158、接觸模組130、圖形模組132、文字輸入模組134、聯繫人清單137及電話模組138,視訊會議模組139包括用以根據使用者指令而起始、進行及終止使用者與一或多個其他參與者之間的視訊會議之可執行指令。 The RF circuit 108, the audio circuit 110, the speaker 111, the microphone 113, the touch screen 112, the display controller 156, the optical sensor 164, the optical sensor controller 158, the contact module 130, the graphic module 132, a text input module 134, a contact list 137, and a phone module 138, the video conferencing module 139 includes a video conference for initiating, conducting, and terminating a user and one or more other participants based on user instructions. Executable instructions.

結合RF電路108、觸控式螢幕112、顯示控制器156、接觸模組130、圖形模組132及文字輸入模組134,電子郵件用戶端模組140包括用以回應於使用者指令而建立、發送、接收並管理電子郵件之可執行指令。結合影像管理模組144,電子郵件用戶端模組140使得非常易於建立並發送具有用攝影機模組143拍攝之靜態影像或視訊影像之電子郵件。 In combination with the RF circuit 108, the touch screen 112, the display controller 156, the contact module 130, the graphic module 132, and the text input module 134, the email client module 140 includes, in response to a user instruction, Executable instructions for sending, receiving, and managing email. In conjunction with the image management module 144, the email client module 140 makes it very easy to create and send emails with still images or video images captured by the camera module 143.

結合RF電路108、觸控式螢幕112、顯示控制器156、接觸模組130、圖形模組132及文字輸入模組134,即時傳訊模組141包括執行以下操作之可執行指令:鍵入對應於即時訊息之字元序列、修改先前鍵入之字元、傳輸各別即時訊息(例如,針對基於電話之即時訊息使用短訊息服務(SMS)或多媒體訊息服務(MMS)協定,或針對基於網際網路之即時訊息使用XMPP、SIMPLE或IMPS)、接收即時訊息,及檢視所接收之即時訊息。在一些實施例中,所傳輸及/或接收之即時訊息視需要包括圖形、照片、音訊檔案、視訊檔案及/或如在MMS及/或增強型傳訊服務(EMS)中支援之其他附加檔案。如本文中所使用,「即 時傳訊」係指基於電話之訊息(例如,使用SMS或MMS發送之訊息)及基於網際網路之訊息(例如,使用XMPP、SIMPLE或IMPS發送之訊息)兩者。 In combination with the RF circuit 108, the touch screen 112, the display controller 156, the contact module 130, the graphic module 132, and the text input module 134, the instant messaging module 141 includes executable instructions for performing the following operations: typing corresponds to an instant Sequence of message characters, modification of previously typed characters, transmission of individual instant messages (eg, use of Short Message Service (SMS) or Multimedia Messaging Service (MMS) protocols for phone-based instant messaging, or for Internet-based Instant messaging using XMPP, SIMPLE or IMPS), receiving instant messages, and viewing incoming instant messages. In some embodiments, the transmitted and/or received instant messages include graphics, photos, audio files, video files, and/or other additional files as supported in MMS and/or Enhanced Messaging Service (EMS) as needed. As used herein, "ie "Timer" means both phone-based messages (eg, messages sent using SMS or MMS) and Internet-based messages (eg, messages sent using XMPP, SIMPLE, or IMPS).

結合觸控式螢幕112、顯示系統控制器156、接觸模組130、圖形模組132、音訊電路110、揚聲器111及RF電路108,網際網路無線電模組142為包括用以選擇並播放網際網路無線電台之可執行指令的先知第三方應用程式。 In conjunction with the touch screen 112, the display system controller 156, the contact module 130, the graphics module 132, the audio circuit 110, the speaker 111, and the RF circuit 108, the Internet radio module 142 is included to select and play the Internet. A prophecy third party application of executable instructions for a radio station.

結合觸控式螢幕112、顯示控制器156、(多個)光學感測器164、光學感測器控制器158、接觸模組130、圖形模組132及影像管理模組144,攝影機模組143包括執行以下操作之可執行指令:捕獲靜態影像或視訊(包括視訊串流)且將其儲存至記憶體102中、修改靜態影像或視訊之特性,或自記憶體102刪除靜態影像或視訊。 In combination with the touch screen 112, the display controller 156, the optical sensor(s) 164, the optical sensor controller 158, the contact module 130, the graphic module 132, and the image management module 144, the camera module 143 The executable instructions include: capturing still images or video (including video streams) and storing them in the memory 102, modifying the characteristics of the still images or video, or deleting still images or video from the memory 102.

結合觸控式螢幕112、顯示控制器156、接觸模組130、圖形模組132、文字輸入模組134及攝影機模組143,影像管理模組144包括執行以下操作之可執行指令:配置、修改(例如,編輯)或以其他方式操控、標示、刪除、呈現(例如,用數位投影片或相簿)及儲存靜態影像及/或視訊影像。 In combination with the touch screen 112, the display controller 156, the contact module 130, the graphic module 132, the text input module 134, and the camera module 143, the image management module 144 includes executable instructions for performing the following operations: configuration, modification (eg, editing) or otherwise manipulate, mark, delete, render (eg, with digital slides or photo albums) and store still images and/or video images.

結合RF電路108、觸控式螢幕112、顯示系統控制器156、接觸模組130、圖形模組132及文字輸入模組134,瀏覽器模組147包括執行以下操作之可執行指令:根據使用者指令而瀏覽網際網路,包括搜尋、連結至、接收及顯示網頁或其部分以及連結至網頁之附加檔案及其他檔案。 In conjunction with the RF circuit 108, the touch screen 112, the display system controller 156, the contact module 130, the graphics module 132, and the text input module 134, the browser module 147 includes executable instructions for performing the following operations: Instructing to browse the Internet, including searching, linking to, receiving and displaying web pages or parts thereof, and attaching files and other files linked to web pages.

結合RF電路108、觸控式螢幕112、顯示系統控制器156、接觸模組130、圖形模組132、文字輸入模組134、電子郵件用戶端模組140及瀏覽器模組147,行事曆模組148包括執行以下操作之可執行指令:根據使用者指令而建立、顯示、修改及儲存行事曆及與行事曆相關聯的 資料(例如,行事曆項目、待辦事項清單等)。 In combination with the RF circuit 108, the touch screen 112, the display system controller 156, the contact module 130, the graphic module 132, the text input module 134, the email client module 140, and the browser module 147, the calendar module Group 148 includes executable instructions for creating, displaying, modifying, and storing calendars and calendars associated with the calendar based on user instructions. Information (for example, calendar items, to-do lists, etc.).

結合RF電路108、觸控式螢幕112、顯示系統控制器156、接觸模組130、圖形模組132、文字輸入模組134及瀏覽器模組147,介面工具集模組149為視需要由使用者下載及使用之微型應用程式(例如,天氣介面工具集149-1、股票介面工具集149-2、計算器介面工具集149-3、鬧鐘介面工具集149-4及辭典介面工具集149-5),或由使用者建立之微型應用程式(例如,使用者建立之介面工具集149-6)。在一些實施例中,介面工具集包括HTML(超文字標示語言)檔案、CSS(級聯式樣表單)檔案及JavaScript檔案。在一些實施例中,介面工具集包括XML(可延伸標示語言)檔案及JavaScript檔案(例如,Yahoo!介面工具集)。 In combination with the RF circuit 108, the touch screen 112, the display system controller 156, the contact module 130, the graphic module 132, the text input module 134, and the browser module 147, the interface tool set module 149 is used as needed. Micro-apps downloaded and used (for example, Weather Interface Tool Set 149-1, Stock Interface Tool Set 149-2, Calculator Interface Tool Set 149-3, Alarm Interface Tool Set 149-4, and Dictionary Interface Tool Set 149- 5), or a micro-app created by the user (eg, user-created interface tool set 149-6). In some embodiments, the interface toolset includes HTML (Hypertext Markup Language) files, CSS (Cascading Style Forms) files, and JavaScript files. In some embodiments, the interface toolset includes XML (Extensible Markup Language) files and JavaScript files (eg, the Yahoo! Interface Toolkit).

結合RF電路108、音訊電路110、揚聲器111、麥克風113、觸控式螢幕112、顯示控制器156、接觸模組130、圖形模組132及文字輸入模組134,數位個人助理模組150記錄語音命令,且將表示所記錄語音命令的資訊發送至諸如圖5中之伺服器510的伺服器以供分析,且基於來自伺服器之回應對語音命令作出回應。 In combination with the RF circuit 108, the audio circuit 110, the speaker 111, the microphone 113, the touch screen 112, the display controller 156, the contact module 130, the graphic module 132, and the text input module 134, the digital personal assistant module 150 records the voice. The command is sent and information representative of the recorded voice command is sent to a server, such as server 510 in FIG. 5, for analysis, and the voice command is responded based on the response from the server.

車輛整合模組151包括用於控制車輛(例如,汽車、卡車、有篷貨車等)中之車輛資訊顯示系統的一或多個中介(intermediation)處理程序的可執行指令,中介處理程序在車輛資訊顯示系統之各別顯示器(例如,圖5中之外部資訊呈現系統540之顯示器547)上提供使用者介面,諸如用於地圖繪製應用程式或音樂應用程式。車輛整合應用程式將來自第三方應用程式之資訊轉換成供車輛整合應用程式顯示於車輛資訊顯示系統的各別顯示器上之內容。 The vehicle integration module 151 includes executable instructions for controlling one or more intermediary processing programs of a vehicle information display system in a vehicle (eg, a car, truck, van, etc.), the intermediary processing program in the vehicle information A user interface, such as for a mapping application or a music application, is provided on a respective display of the display system (eg, display 547 of external information presentation system 540 in FIG. 5). The vehicle integration application converts information from third-party applications into content that is displayed on the individual displays of the vehicle information display system for the vehicle integration application.

結合觸控式螢幕112、顯示系統控制器156、接觸模組130、圖形模組132、音訊電路110、揚聲器111、RF電路108及瀏覽器模組147,視訊及音樂播放器模組152包括允許使用者下載及播放以一或多個檔案格式儲存之所記錄音樂及其他聲音檔案(諸如,MP3或AAC檔案)的 可執行指令,及用以顯示、呈現或以其他方式播放視訊(例如,在觸控式螢幕112上或在經由外部埠124連接之外部顯示器上)的可執行指令。在一些實施例中,裝置100視需要包括諸如iPod(Apple Inc.之商標)之MP3播放器的功能性。 In combination with the touch screen 112, the display system controller 156, the contact module 130, the graphics module 132, the audio circuit 110, the speaker 111, the RF circuit 108, and the browser module 147, the video and music player module 152 includes the permission. The user downloads and plays recorded music and other sound files (such as MP3 or AAC files) stored in one or more file formats. Executable instructions, and executable instructions for displaying, presenting, or otherwise playing video (eg, on touch screen 112 or on an external display connected via external port 124). In some embodiments, device 100 includes the functionality of an MP3 player such as an iPod (trademark of Apple Inc.) as needed.

結合觸控式螢幕112、顯示控制器156、接觸模組130、圖形模組132及文字輸入模組134,備忘錄模組153包括用以根據使用者指令而建立及管理備忘錄、待辦事項清單及其類似者之可執行指令。 The memo module 153 includes a touch screen 112, a display controller 156, a contact module 130, a graphics module 132, and a text input module 134. The memo module 153 includes a memo, a to-do list, and a to-do list. An executable instruction similar to that.

結合RF電路108、觸控式螢幕112、顯示系統控制器156、接觸模組130、圖形模組132、文字輸入模組134、GPS模組135及瀏覽器模組147,地圖模組154視需要用以根據使用者指令而接收、顯示、修改及儲存地圖及與地圖相關聯之資料(例如,駕駛方向;關於位於特定位置或其附近之商店及其他關注點的資料;及基於位置之其他資料)。 In combination with the RF circuit 108, the touch screen 112, the display system controller 156, the contact module 130, the graphic module 132, the text input module 134, the GPS module 135, and the browser module 147, the map module 154 is required Information for receiving, displaying, modifying and storing maps and associated maps in accordance with user instructions (eg, driving directions; information about stores and other points of interest located at or near a particular location; and other information based on location) ).

結合觸控式螢幕112、顯示系統控制器156、接觸模組130、圖形模組132、音訊電路110、揚聲器111及RF電路108,唱片庫模組155為包括用以選擇並播放來自唱片庫之歌曲的可執行指令之先知第三方應用程式。 In combination with the touch screen 112, the display system controller 156, the contact module 130, the graphics module 132, the audio circuit 110, the speaker 111, and the RF circuit 108, the record library module 155 is included for selecting and playing from the record library. A prophetic third-party application of a song's executable instructions.

以上識別之模組及應用程式中之每一者對應於用於執行上文所描述之一或多個功能及在本申請案中描述之方法(例如,電腦實施之方法及本文中所描述之其他資訊處理方法)的可執行指令集。此等模組(亦即,指令集)不需要實施為單獨之軟體程式、程序或模組,且因此在各種實施例中視需要組合或以其他方式重新配置此等模組之各種子集。在一些實施例中,記憶體102視需要儲存上文識別之模組及資料結構之子集。此外,記憶體102視需要儲存上文未描述之額外模組及資料結構。 Each of the above identified modules and applications corresponds to one or more of the functions described above and the methods described in this application (eg, computer implemented methods and described herein) An executable instruction set for other information processing methods. Such modules (i.e., instruction sets) need not be implemented as separate software programs, programs, or modules, and thus various subsets of such modules may be combined or otherwise reconfigured as desired in various embodiments. In some embodiments, memory 102 stores a subset of the modules and data structures identified above as needed. In addition, the memory 102 stores additional modules and data structures not described above as needed.

在一些實施例中,裝置100為經由觸控式螢幕及/或觸控板排他性地執行裝置上之預定義功能集合之操作的裝置。藉由使用觸控式螢幕 及/或觸控板作為裝置100之操作的主要輸入控制裝置,視需要減少裝置100上之實體輸入控制裝置(諸如,推按鍵、撥號盤及其類似者)之數目。 In some embodiments, device 100 is a device that exclusively performs operations of a predefined set of functions on the device via a touchscreen and/or touchpad. By using a touch screen And/or the touchpad as the primary input control device for operation of device 100, reducing the number of physical input control devices (such as push buttons, dials, and the like) on device 100 as needed.

經由觸控式螢幕及/或觸摸板排他性地執行之預定義功能集合視需要包括使用者介面之間的導覽。在一些實施例中,觸摸板在藉由使用者觸摸時將裝置100自顯示於裝置100上之任何使用者介面導覽至主功能表、首頁功能表或根功能表。在此等實施例中,「功能表按鈕」使用觸控板來實施。在一些其他實施例中,功能表按鈕為實體推按鍵或其他實體輸入控制裝置,而非觸控板。 The predefined set of functions that are exclusively performed via the touchscreen and/or touchpad optionally include a navigation between the user interfaces. In some embodiments, the touchpad navigates device 100 from any user interface displayed on device 100 to a main menu, a home menu, or a root menu when touched by a user. In these embodiments, the "function table button" is implemented using a touchpad. In some other embodiments, the menu button is a physical push button or other physical input control device, rather than a touchpad.

圖1B為說明根據一些實施例之用於事件處置之例示性組件的方塊圖。在一些實施例中,記憶體102(圖1A中)或370(圖3)包括事件分類器170(例如,作業系統126中)及各別應用程式136-1(例如,上述應用程式137-13、155、380至390中之任一者)。 FIG. 1B is a block diagram illustrating an illustrative component for event handling in accordance with some embodiments. In some embodiments, memory 102 (in FIG. 1A) or 370 (FIG. 3) includes event classifier 170 (eg, in operating system 126) and respective application 136-1 (eg, application 137-13 above). , 155, 380 to 390).

事件分類器170接收事件資訊,且判定將事件資訊遞送至之應用程式136-1及應用程式136-1之應用程式視圖191。事件分類器170包括事件監視器171及事件分派器模組174。在一些實施例中,應用程式136-1包括應用程式內部狀態192,其指示在該應用程式在作用中或正在執行時顯示於觸敏式顯示器112上之(多個)當前應用程式視圖。在一些實施例中,裝置/全域內部狀態157由事件分類器170使用以判定哪個(哪些)應用程式當前在作用中,且應用程式內部狀態192由事件分類器170使用以判定將事件資訊遞送至之應用程式視圖191。 The event classifier 170 receives the event information and determines the application view 191 to which the event information is delivered to the application 136-1 and the application 136-1. The event classifier 170 includes an event monitor 171 and an event dispatcher module 174. In some embodiments, the application 136-1 includes an application internal state 192 that indicates the current application view(s) displayed on the touch-sensitive display 112 while the application is active or in execution. In some embodiments, the device/global internal state 157 is used by the event classifier 170 to determine which application(s) are currently active, and the application internal state 192 is used by the event classifier 170 to determine to deliver event information to Application view 191.

在一些實施例中,應用程式內部狀態192包括額外資訊,諸如以下各者中之一或多者:待在應用程式136-1繼續執行時使用之繼續資訊、指示資訊正由應用程式136-1顯示或準備好由應用程式136-1顯示之使用者介面狀態資訊、用於使得使用者能夠返回至應用程式136-1之先前狀態或視圖的狀態佇列;及由使用者所採取之先前動作之重做 /復原佇列。 In some embodiments, the application internal state 192 includes additional information, such as one or more of the following: continuation information to be used when the application 136-1 continues execution, indicating that the information is being used by the application 136-1 Displaying or preparing user interface status information displayed by application 136-1, a status queue for enabling a user to return to a previous state or view of application 136-1; and previous actions taken by the user Redo /restore queue.

事件監視器171自周邊設備介面118接收事件資訊。事件資訊包括關於子事件(例如,觸敏式顯示器112上之作為多點觸摸示意動作之部分的使用者觸摸)之資訊。周邊設備介面118傳輸其自I/O子系統106或感測器(諸如,近接感測器166)、(多個)加速度計168及/或麥克風113(經由音訊電路110)接收之資訊。周邊設備介面118自I/O子系統106接收之資訊包括來自觸敏式顯示器112或觸敏式表面的資訊。 The event monitor 171 receives event information from the peripheral device interface 118. The event information includes information about sub-events (e.g., user touches on the touch-sensitive display 112 that are part of a multi-touch gesture). The peripheral device interface 118 transmits its information received from the I/O subsystem 106 or sensor (such as the proximity sensor 166), the accelerometer(s) 168, and/or the microphone 113 (via the audio circuit 110). The information that peripheral device interface 118 receives from I/O subsystem 106 includes information from touch-sensitive display 112 or a touch-sensitive surface.

在一些實施例中,事件監視器171以預定時間間隔將請求發送至周邊設備介面118。作為回應,周邊設備介面118傳輸事件資訊。在其他實施例中,僅在存在重大事件(例如,接收到超過預定雜訊臨限值之輸入及/或接收輸入歷時多於預定持續時間)時,周邊設備介面118才傳輸事件資訊。 In some embodiments, event monitor 171 sends a request to peripheral device interface 118 at predetermined time intervals. In response, the peripheral device interface 118 transmits event information. In other embodiments, the peripheral device interface 118 transmits event information only if there is a significant event (eg, receiving an input exceeding a predetermined noise threshold and/or receiving an input for more than a predetermined duration).

在一些實施例中,事件分類器170亦包括命中(hit)視圖判定模組172及/或作用中事件辨識器判定模組173。 In some embodiments, event classifier 170 also includes a hit view decision module 172 and/or an active event recognizer decision module 173.

命中視圖判定模組172提供用於在觸敏式顯示器112顯示一個以上視圖時判定在一或多個視圖內何處已發生子事件的軟體程序。視圖係由控制項及使用者可在顯示器上看到之其他元件構成。 The hit view decision module 172 provides a software program for determining where a sub-event has occurred within one or more views when the touch-sensitive display 112 displays more than one view. The view is made up of controls and other components that the user can see on the display.

與應用程式相關聯之使用者介面之另一態樣為本文中有時稱為應用程式視圖或使用者介面視窗的視圖集合,在該視圖集合中顯示資訊且發生基於觸摸之示意動作。其中偵測到觸摸之應用程式視圖(各別應用程式之應用程式視圖)視需要對應於應用程式之程式設計或視圖階層內的程式設計層級。舉例而言,其中偵測到觸摸之最低層級視圖視需要稱為命中視圖,且視需要至少部分地基於開始基於觸摸之示意動作的初始觸摸之命中視圖來判定辨識為恰當輸入的事件集合。 Another aspect of the user interface associated with an application is a collection of views, sometimes referred to herein as an application view or a user interface window, in which information is displayed and a touch-based gesture occurs. The application view that detects the touch (the application view of the respective application) depends on the programming level of the application or the programming level within the view hierarchy as needed. For example, the lowest level view in which the touch is detected is referred to as a hit view as desired, and the set of events identified as being properly input is determined based at least in part on a hit view of the initial touch that begins the touch-based gesture.

命中視圖判定模組172接收與基於觸摸之示意動作之子事件相關的資訊。當應用程式具有按階層組織之多個視圖時,命中視圖判定模 組172將命中視圖識別為該階層中應處置該子事件的最低視圖。在多數情況下,命中視圖為起始子事件發生(亦即,形成事件或潛在事件之子事件序列中的第一子事件)之最低層級視圖。一旦由命中視圖判定模組識別出命中視圖,該命中視圖通常便接收與同一觸摸或輸入源(針對該觸摸或輸入源將該視圖識別為命中視圖)相關之所有子事件。 The hit view decision module 172 receives information related to sub-events based on gestures of the gesture. Hit view mode when the application has multiple views organized by hierarchy Group 172 identifies the hit view as the lowest view in the hierarchy that should handle the sub-event. In most cases, the hit view is the lowest level view of the occurrence of the initial sub-event (ie, the first sub-event in the sequence of sub-events that form the event or potential event). Once the hit view is identified by the hit view determination module, the hit view typically receives all of the sub-events associated with the same touch or input source (identifying the view as a hit view for the touch or input source).

作用中事件辨識器判定模組173判定視圖階層內之哪個或哪些視圖應接收特定子事件序列。在一些實施例中,作用中事件辨識器判定模組173判定僅命中視圖應接收特定子事件序列。在其他實施例中,作用中事件辨識器判定模組173判定包括子事件之實體分配的所有視圖為使用中的所涉及視圖,且因此判定所有使用中的所涉及視圖應接收特定子事件序列。在其他實施例中,即使觸摸子事件完全侷限於與一個特定視圖相關聯之區域,階層中較高之視圖仍將保持為使用中的所涉及視圖。 The active event recognizer decision module 173 determines which view or views within the view hierarchy should receive a particular sequence of sub-events. In some embodiments, the active event recognizer decision module 173 determines that only the hit view should receive a particular sequence of sub-events. In other embodiments, the active event recognizer decision module 173 determines that all views of the entity assignment including the sub-event are the involved views in use, and thus determines that all of the in-use views in use should receive a particular sequence of sub-events. In other embodiments, even if the touch sub-event is completely confined to the area associated with a particular view, the higher view in the hierarchy will remain as the view in use.

事件分派器模組174將事件資訊分派至事件辨識器(例如,事件辨識器180)。在包括作用中事件辨識器判定模組173之實施例中,事件分派器模組174將由作用中事件辨識器判定模組173所判定之事件資訊遞送至事件辨識器。在一些實施例中,事件分派器模組174將由各別事件接收器模組182所擷取之事件資訊儲存於事件佇列中。 The event dispatcher module 174 dispatches event information to an event recognizer (e.g., event recognizer 180). In an embodiment including the active event recognizer decision module 173, the event dispatcher module 174 delivers event information determined by the active event recognizer decision module 173 to the event recognizer. In some embodiments, the event dispatcher module 174 stores event information retrieved by the respective event receiver modules 182 in an event queue.

在一些實施例中,作業系統126包括事件分類器170。或者,應用程式136-1包括事件分類器170。在其他實施例中,事件分類器170為獨立模組,或儲存於記憶體102中之另一模組(諸如,接觸/運動模組130)的部分。 In some embodiments, the operating system 126 includes an event classifier 170. Alternatively, the application 136-1 includes an event classifier 170. In other embodiments, event classifier 170 is a stand-alone module, or a portion of another module (such as contact/motion module 130) stored in memory 102.

在一些實施例中,應用程式136-1包括複數個事件處理常式190及一或多個應用程式視圖191,其中之每一者包括用於處置在應用程式之使用者介面之各別視圖內發生之觸摸事件的指令。應用程式136-1之每一應用程式視圖191包括一或多個事件辨識器180。通常,各別應 用程式視圖191包括複數個事件辨識器180。在其他實施例中,事件辨識器180中之一或多者為單獨模組(諸如,使用者介面套組(圖中未示)或較高層級物件,應用程式136-1自該較高層級物件繼承方法及其他特性)的部分。在一些實施例中,各別事件處理常式190包括以下各者中之一或多者:資料更新程式176、物件更新程式177、GUI更新程式178,及/或自事件分類器170接收的事件資料179。事件處理常式190視需要利用或調用資料更新程式176、物件更新程式177或GUI更新程式178以更新應用程式內部狀態192。或者,應用程式視圖191中之一或多者包括一或多個各別事件處理常式190。又,在一些實施例中,資料更新程式176、物件更新程式177及GUI更新程式178中之一或多者包括於各別應用程式視圖191中。 In some embodiments, the application 136-1 includes a plurality of event processing routines 190 and one or more application views 191, each of which includes a separate view for handling user interfaces of the application. The instruction of the touch event that occurred. Each application view 191 of application 136-1 includes one or more event recognizers 180. Usually, each should The application view 191 includes a plurality of event recognizers 180. In other embodiments, one or more of the event recognizers 180 are separate modules (such as a user interface set (not shown) or a higher level object, from which the application 136-1 is Part of the object inheritance method and other features). In some embodiments, the respective event processing routine 190 includes one or more of the following: a data update program 176, an object update program 177, a GUI update program 178, and/or an event received from the event classifier 170. Information 179. The event processing routine 190 utilizes or invokes the data update program 176, the object update program 177, or the GUI update program 178 to update the application internal state 192 as needed. Alternatively, one or more of the application views 191 include one or more respective event processing routines 190. Also, in some embodiments, one or more of the data update program 176, the object update program 177, and the GUI update program 178 are included in the respective application views 191.

各別事件辨識器180自事件分類器170接收事件資訊(例如,事件資料179),且自該事件資訊識別事件。事件辨識器180包括事件接收器182及事件比較器184。在一些實施例中,事件辨識器180亦包括以下各者之至少一子集:後設資料183,及事件遞送指令188(其視需要包括子事件遞送指令)。 The individual event recognizer 180 receives event information (e.g., event material 179) from the event classifier 170 and identifies the event from the event information. Event recognizer 180 includes an event receiver 182 and an event comparator 184. In some embodiments, event recognizer 180 also includes at least a subset of each of: a post material 183, and an event delivery instruction 188 (which optionally includes a sub-event delivery instruction).

事件接收器182自事件分類器170接收事件資訊。該事件資訊包括關於子事件(例如,觸摸或觸摸移動)的資訊。取決於子事件,事件資訊亦包括諸如子事件之位置的額外資訊。當子事件與觸摸之運動有關時,該事件資訊視需要亦包括子事件之速率及方向。在一些實施例中,事件包括裝置自一定向旋轉至另一定向(例如,自縱向定向旋轉至橫向定向,或自橫向定向旋轉至縱向定向),且事件資訊包括關於裝置之當前定向(亦稱為裝置姿態)的對應資訊。 Event receiver 182 receives event information from event classifier 170. The event information includes information about sub-events (eg, touch or touch movement). Depending on the sub-event, the event information also includes additional information such as the location of the sub-event. When a sub-event is related to the motion of the touch, the event information also includes the rate and direction of the sub-event as needed. In some embodiments, the event includes the device rotating from a certain direction to another orientation (eg, from a portrait orientation rotation to a landscape orientation, or from a landscape orientation rotation to a portrait orientation), and the event information includes a current orientation of the device (also known as Corresponding information for the device posture).

事件比較器184比較事件資訊與預定義事件或子事件定義,且基於比較結果判定事件或子事件,或者判定或更新事件或子事件之狀態。在一些實施例中,事件比較器184包括事件定義186。事件定義 186含有事件之定義(例如,子事件之預定義序列),例如,事件1(187-1)、事件2(187-2)及其他事件。在一些實施例中,事件187中之子事件包括(例如)觸摸開始、觸摸結束、觸摸移動、觸摸取消及多點觸摸。在一項實例中,事件1(187-1)之定義為所顯示物件上之雙觸按。雙觸按(例如)包含所顯示物件上歷時預定階段之第一觸摸(觸摸開始),歷時預定階段的第一起離(觸摸結束),所顯示物件上歷時預定階段之第二觸摸(觸摸開始),及歷時預定階段的第二起離(觸摸結束)。在另一實例中,事件2(187-2)之定義為所顯示物件上之拖曳。舉例而言,該拖曳包含對所顯示物件歷時預定階段之觸摸(或接觸)、觸摸跨越觸敏顯示器112之移動,及觸摸之起離(觸摸結束)。在一些實施例中,事件亦包括一或多個相關聯事件處理常式190的資訊。 The event comparator 184 compares the event information with a predefined event or sub-event definition and determines an event or sub-event based on the comparison, or determines or updates the status of the event or sub-event. In some embodiments, event comparator 184 includes an event definition 186. Event definition 186 contains definitions of events (eg, predefined sequences of sub-events), such as event 1 (187-1), event 2 (187-2), and other events. In some embodiments, sub-events in event 187 include, for example, touch start, touch end, touch movement, touch cancellation, and multi-touch. In one example, event 1 (187-1) is defined as a double touch on the displayed object. The double touch (for example) includes a first touch (touch start) on a predetermined period of time on the displayed object, a first departure (a touch end) of a predetermined period, and a second touch (a touch start) on a predetermined period of time on the displayed object And the second departure (end of touch) of the predetermined period. In another example, event 2 (187-2) is defined as a drag on the displayed object. For example, the drag includes a touch (or contact) to a predetermined stage of the displayed object, a movement of the touch across the touch-sensitive display 112, and a touch-off (touch end). In some embodiments, the event also includes information of one or more associated event processing routines 190.

在一些實施例中,事件定義187包括各別使用者介面物件之事件的定義。在一些實施例中,事件比較器184執行命中測試以判定哪一使用者介面物件與子事件相關聯。舉例而言,在三個使用者介面物件顯示於觸敏式顯示器112上之應用程式視圖中,當偵測到觸敏式顯示器112上之觸摸時,事件比較器184執行命中測試,以判定三個使用者介面物件中之哪一者與觸摸(子事件)相關聯。若每一所顯示物件與各別事件處理常式190相關聯,則事件比較器使用命中測試之結果來判定應啟動哪個事件處理常式190。舉例而言,事件比較器184選擇與觸發命中測試之子事件及物件相關聯之事件處理常式。 In some embodiments, event definition 187 includes definitions of events for respective user interface objects. In some embodiments, event comparator 184 performs a hit test to determine which user interface object is associated with a sub-event. For example, in an application view in which three user interface objects are displayed on the touch-sensitive display 112, when a touch on the touch-sensitive display 112 is detected, the event comparator 184 performs a hit test to determine three. Which of the user interface objects is associated with the touch (sub-event). If each displayed item is associated with a respective event processing routine 190, the event comparator uses the result of the hit test to determine which event processing routine 190 should be initiated. For example, event comparator 184 selects an event processing routine associated with the sub-event and object that triggered the hit test.

在一些實施例中,各別事件187之定義亦包括延遲動作,該等延遲動作延遲事件資訊之遞送,直至已判定子事件序列對應於事件辨識器之事件類型抑或不對應於事件辨識器之事件類型為止。 In some embodiments, the definition of the respective event 187 also includes a delay action that delays the delivery of event information until the event sequence of the event identifier is determined to correspond to an event identifier or an event identifier that does not correspond to the event recognizer. Type so far.

當各別事件辨識器180判定該系列子事件與事件定義186中之事件中的任一者不匹配時,該各別事件辨識器180鍵入事件不可能、事件失敗或事件結束之狀態,在此之後,各別事件辨識器180忽視基於 觸摸之示意動作的後續子事件。在此情況下,對於命中視圖而言保持在作用中之其他事件辨識器(若存在)繼續追蹤並處理正在進行之基於觸摸之示意動作的子事件。 When the individual event recognizer 180 determines that the series of sub-events does not match any of the events in the event definition 186, the individual event recognizer 180 types the state of the event impossible, event failure, or event end, where After that, the individual event recognizer 180 ignores the basis Touch the subsequent sub-event of the action. In this case, other event recognizers (if any) that remain active for the hit view continue to track and process the sub-events that are undergoing the touch-based gesture.

在一些實施例中,各別事件辨識器180包括具有指示事件遞送系統應如何執行至使用中的所涉及事件辨識器之子事件遞送的可組態特性、旗標及/或清單的後設資料183。在一些實施例中,後設資料183包括指示事件辨識器如何彼此互動或經啟用以彼此互動的可組態特性、旗標及/或清單。在一些實施例中,後設資料183包括指示是否將子事件遞送至視圖或程式設計階層中之不同層級的可組態特性、旗標及/或清單。 In some embodiments, the individual event recognizer 180 includes post-data 183 with configurable characteristics, flags, and/or manifests indicating how the event delivery system should perform sub-event delivery to the involved event recognizer in use. . In some embodiments, the post material 183 includes configurable features, flags, and/or manifests that indicate how the event recognizers interact with each other or are enabled to interact with each other. In some embodiments, the post material 183 includes configurable characteristics, flags, and/or manifests indicating whether sub-events are delivered to different levels in the view or programming hierarchy.

在一些實施例中,當辨識出事件之一或多個特定子事件時,各別事件辨識器180啟動與事件相關聯之事件處理常式190。在一些實施例中,各別事件辨識器180將與事件相關聯之事件資訊遞送至事件處理常式190。啟動事件處理常式190相異於將子事件發送(及推遲發送)至各別命中視圖。在一些實施例中,事件辨識器180拋出(throw)與辨識出之事件相關聯之旗標,且與該旗標相關聯之事件處理常式190捕捉該旗標且執行預定義程序。 In some embodiments, when one or more particular sub-events are identified, the respective event recognizer 180 initiates an event processing routine 190 associated with the event. In some embodiments, the individual event recognizer 180 delivers event information associated with the event to the event processing routine 190. The start event processing routine 190 is different from sending (and deferring) a sub-event to a respective hit view. In some embodiments, event recognizer 180 throws a flag associated with the identified event, and event processing routine 190 associated with the flag captures the flag and executes a predefined program.

在一些實施例中,事件遞送指令188包括在不啟動事件處理常式之情況下遞送關於子事件之事件資訊的子事件遞送指令。實情為,子事件遞送指令將事件資訊遞送至與該系列子事件相關聯之事件處理常式或將事件資訊遞送至使用中的所涉及視圖。與該系列子事件相關聯或與使用中的所涉及視圖相關聯之事件處理常式接收事件資訊,且執行預定程序。 In some embodiments, the event delivery instructions 188 include sub-event delivery instructions that deliver event information about sub-events without launching an event processing routine. Instead, the sub-event delivery instructions deliver event information to an event handler that is associated with the series of sub-events or deliver event information to the involved view in use. The event processing routine associated with the series of sub-events or associated with the involved views in use receives event information and executes a predetermined program.

在一些實施例中,資料更新程式176建立且更新用於應用程式136-1中的資料。舉例而言,資料更新程式176更新用於聯繫人模組137中之電話號碼,或儲存用於視訊播放器模組145中之視訊檔案。在 一些實施例中,物件更新程式177建立且更新用於應用程式136-1中之物件。舉例而言,物件更新程式176建立新的使用者介面物件,或更新使用者介面物件之位置。GUI更新程式178更新GUI。舉例而言,GUI更新程式178準備顯示資訊,且將其發送至圖形模組132以供顯示於觸敏式顯示器上。 In some embodiments, the data update program 176 creates and updates the data for use in the application 136-1. For example, the data update program 176 updates the phone number used in the contact module 137 or stores the video file for use in the video player module 145. in In some embodiments, the item update program 177 creates and updates the objects for use in the application 136-1. For example, the object update program 176 creates a new user interface object or updates the location of the user interface object. The GUI update program 178 updates the GUI. For example, the GUI update program 178 is ready to display information and send it to the graphics module 132 for display on a touch sensitive display.

在一些實施例中,(多個)事件處理常式190包括或能夠存取資料更新程式176、物件更新程式177及GUI更新程式178。在一些實施例中,資料更新程式176、物件更新程式177及GUI更新程式178包括於各別應用程式136-1或應用程式視圖191之單一模組中。在其他實施例中,該等更新程式包括於兩個或兩個以上軟體模組中。 In some embodiments, event processing routine 190 includes or is capable of accessing data update program 176, object update program 177, and GUI update program 178. In some embodiments, the data update program 176, the object update program 177, and the GUI update program 178 are included in a single module of the respective application 136-1 or the application view 191. In other embodiments, the update programs are included in two or more software modules.

應理解,關於觸敏式顯示器上之使用者觸摸之事件處置的前述論述亦適用於其他形式之使用者輸入以藉由輸入裝置操作多功能裝置100,該等輸入裝置並非皆在觸控式螢幕上起始。舉例而言,以下各者視需要用作對應於定義待辨識事件之子事件的輸入:視需要與單一或多個鍵盤按壓或保持協調的滑鼠移動或滑鼠按鈕按壓;觸控板上之接觸移動,諸如觸按、拖曳、滾動等;手寫筆輸入;裝置之移動;口頭指令;偵測到之眼腈移動;生物統計輸入;及/或其任何組合。 It should be understood that the foregoing discussion regarding the handling of user touch events on a touch-sensitive display is also applicable to other forms of user input to operate the multi-function device 100 by an input device, not all of which are on a touch screen. Start on. For example, each of the following may be used as an input corresponding to a sub-event defining an event to be recognized: a mouse movement or a mouse button press that is required to be pressed or maintained in coordination with a single or multiple keyboards; contact on the touchpad Movement, such as touch, drag, scroll, etc.; stylus input; movement of the device; verbal command; detected nitrile movement of the eye; biometric input; and/or any combination thereof.

圖2說明根據一些實施例之具有觸控式螢幕112之攜帶型多功能裝置100。觸控式螢幕視需要在使用者介面(UI)200內顯示一或多個圖形。在此實施例以及下文所描述之其他實施例中,使得使用者能夠(例如)藉由使用一或多個手指202(在該圖中未按比例繪製)或一或多個手寫筆203(在該圖中未按比例繪製)在圖形上做出示意動作而選擇圖形中之一或多者。在一些實施例中,當使用者中斷與一或多個圖形之接觸時,發生對該一或多個圖形之選擇。在一些實施例中,示意動作視需要包括一或多個觸按、一或多個撥動(自左至右、自右至左、向上及/或向下)及/或已與裝置100接觸之手指的捲動(自右至左、自左 至右、向上及/或向下)。在一些實施或情況下,與圖形之無意接觸並不選擇圖形。舉例而言,當對應於選擇之示意動作為觸按時,掃過應用程式圖示之撥動示意動作視需要不選擇對應應用程式。 FIG. 2 illustrates a portable multifunction device 100 having a touch screen 112 in accordance with some embodiments. The touch screen optionally displays one or more graphics within the user interface (UI) 200. In this embodiment and other embodiments described below, the user is enabled, for example, by using one or more fingers 202 (not drawn to scale in the figure) or one or more stylus 203 (in The figure is not drawn to scale) to make a schematic action on the graphic to select one or more of the figures. In some embodiments, the selection of the one or more graphics occurs when the user interrupts contact with one or more graphics. In some embodiments, the gestures optionally include one or more touches, one or more toggles (from left to right, from right to left, up and/or down) and/or have been in contact with device 100. Scrolling of the finger (from right to left, from left To the right, up and / or down). In some implementations or situations, unintentional contact with the graphics does not select graphics. For example, when the gesture corresponding to the selection is a touch, the toggle gesture of sweeping the application icon does not select the corresponding application as needed.

裝置100視需要亦包括一或多個實體按鈕,諸如「首頁」或功能表按鈕204。如先前所描述,功能表按鈕204視需要用以導覽至視需要在裝置100上執行之應用程式集合中的任一應用程式136。或者,在一些實施例中,將功能表按鈕實施為顯示於觸控式螢幕112上之GUI中的螢幕按鍵。 Device 100 also includes one or more physical buttons, such as a "Home" or menu button 204, as desired. As previously described, the menu button 204 is used to navigate to any of the application 136 in the set of applications that are to be executed on the device 100 as needed. Alternatively, in some embodiments, the menu button is implemented as a screen button displayed in a GUI on the touch screen 112.

在一項實施例中,裝置100包括觸控式螢幕112、功能表按鈕204、用於對裝置通電/斷電及鎖定裝置之推按鍵206、(多個)音量調整按鈕208、訂戶識別模組(SIM)卡槽210、耳機插孔212及銜接/充電外部埠124。推按鍵206視需要用以:藉由壓下按鈕及使按鈕保持於壓下狀態歷時預定義時間間隔來對裝置通電/斷電;藉由壓下按鈕及在預定義時間間隔已過去之前釋放按鈕來鎖定裝置;及/或將裝置解鎖或起始解鎖程序。在替代性實施例中,裝置100亦經由麥克風113接受用於啟動或撤銷啟動一些功能之口頭輸入。裝置100視需要亦包括用於偵測觸控式螢幕112上觸摸之強度的一或多個接觸強度感測器165,及/或用於產生用於裝置100之使用者之觸覺輸出的一或多個觸覺輸出產生器167。 In one embodiment, the device 100 includes a touch screen 112, a menu button 204, a push button 206 for powering on/off the device and a locking device, a volume adjustment button(s) 208, and a subscriber identification module. (SIM) card slot 210, headphone jack 212, and docking/charging external port 124. Push button 206 is used to: power on/off the device by pressing the button and holding the button in the depressed state for a predefined time interval; by pressing the button and releasing the button before the predefined time interval has elapsed To lock the device; and/or to unlock the device or initiate an unlocking procedure. In an alternative embodiment, device 100 also accepts a verbal input for initiating or deactivating some functions via microphone 113. The device 100 also includes one or more contact intensity sensors 165 for detecting the intensity of the touch on the touch screen 112, and/or one or both for generating a tactile output for the user of the device 100, as desired. A plurality of haptic output generators 167.

圖3為根據一些實施例之具有顯示器及觸敏式表面之例示性多功能裝置的方塊圖。裝置300無需為攜帶型。在一些實施例中,裝置300為膝上型電腦、桌上型電腦、平板電腦、多媒體播放器裝置、導航裝置、教育裝置(諸如,兒童之學習玩具)、遊戲系統,或控制裝置(例如,家用或工業控制器)。裝置300通常包括一或多個處理單元(CPU)310、一或多個網路或其他通信介面360、記憶體370,及用於將此等組件互連之一或多個通信匯流排320。通信匯流排320視需要包括將系 統組件互連且控制系統組件之間的通信之電路(有時稱為晶片組)。裝置300包括包含顯示器340之輸入/輸出(I/O)介面330,該顯示器340通常為觸控式螢幕顯示器(例如,觸控式螢幕顯示器112)。I/O介面330亦視需要包括:鍵盤及/或滑鼠(或其他指標裝置)350及觸控板355、用於在裝置300上產生觸覺輸出的觸覺輸出產生器357(例如,類似於上文參看圖1A所描述之觸覺輸出產生器167)、感測器359(例如,類似於上文參看圖1A描述之接觸強度感測器165的光學、加速度、近接、觸敏式及/或接觸強度感測器)。記憶體370包括諸如DRAM、SRAM、DDR RAM之高速隨機存取記憶體或其他隨機存取固態記憶體裝置;且視需要包括非揮發性記憶體,諸如一或多個磁碟儲存裝置、光碟儲存裝置、快閃記憶體裝置,或其他非揮發性固態儲存裝置。記憶體370視需要包括位於該(等)CPU 310遠端之一或多個儲存裝置。在一些實施例中,記憶體370儲存與儲存於攜帶型多功能裝置100(圖1A)之記憶體102中之程式、模組及資料結構類似的程式、模組及資料結構,或其子集。此外,記憶體370視需要儲存不存在於攜帶型多功能裝置100之記憶體102中的額外程式、模組及資料結構。舉例而言,裝置300之記憶體370視需要儲存繪圖模組380、呈現模組382、文書處理模組384、網站建立模組386、碟片創作模組388及/或試算表模組390,而攜帶型多功能裝置100之記憶體102(圖1A)視需要不儲存此等模組。 3 is a block diagram of an illustrative multi-function device having a display and a touch-sensitive surface, in accordance with some embodiments. The device 300 need not be portable. In some embodiments, device 300 is a laptop, desktop, tablet, multimedia player device, navigation device, educational device (such as a children's learning toy), gaming system, or control device (eg, Home or industrial controller). Device 300 typically includes one or more processing units (CPUs) 310, one or more network or other communication interfaces 360, memory 370, and one or more communication busses 320 for interconnecting such components. Communication bus 320 includes the system as needed A circuit (sometimes referred to as a chipset) that interconnects components and controls communication between system components. Device 300 includes an input/output (I/O) interface 330 that includes display 340, which is typically a touch screen display (eg, touch screen display 112). The I/O interface 330 also includes, as needed, a keyboard and/or mouse (or other indicator device) 350 and a trackpad 355, a haptic output generator 357 for generating a tactile output on the device 300 (eg, similar to Referring to the haptic output generator 167) depicted in FIG. 1A, the sensor 359 (eg, optical, acceleration, proximity, touch sensitive, and/or contact similar to the contact intensity sensor 165 described above with reference to FIG. 1A). Strength sensor). The memory 370 includes a high speed random access memory such as DRAM, SRAM, DDR RAM or other random access solid state memory device; and optionally includes non-volatile memory, such as one or more disk storage devices, and optical disk storage. Devices, flash memory devices, or other non-volatile solid state storage devices. The memory 370 optionally includes one or more storage devices located at the far end of the CPU 310. In some embodiments, the memory 370 stores programs, modules, and data structures similar to the programs, modules, and data structures stored in the memory 102 of the portable multifunction device 100 (FIG. 1A), or a subset thereof. . In addition, the memory 370 stores additional programs, modules, and data structures that are not present in the memory 102 of the portable multifunction device 100 as needed. For example, the memory 370 of the device 300 stores the drawing module 380, the presentation module 382, the document processing module 384, the website creation module 386, the disc creation module 388, and/or the spreadsheet module 390 as needed. The memory 102 of the portable multifunction device 100 (Fig. 1A) does not store such modules as needed.

圖3中之以上識別之元件中的每一者視需要儲存於前述記憶體裝置中之一或多者中。以上識別之模組中之每一者對應於用於執行上述功能之指令集。以上識別之模組或程式(亦即,指令集)無需實施為單獨軟體程式、程序或模組,且因此在各種實施例中,此等模組之各種子集視需要加以組合或以其他方式重新配置。在一些實施例中,記憶體370視需要儲存上文識別之模組及資料結構之子集。此外,記憶體 370視需要儲存上文未描述之額外模組及資料結構。 Each of the above identified components in FIG. 3 is optionally stored in one or more of the aforementioned memory devices. Each of the above identified modules corresponds to a set of instructions for performing the functions described above. The modules or programs identified above (ie, the set of instructions) need not be implemented as separate software programs, programs, or modules, and thus, in various embodiments, various subsets of such modules may be combined or otherwise otherwise desired. Reconfigure. In some embodiments, memory 370 stores a subset of the modules and data structures identified above as needed. In addition, memory 370 Additional modules and data structures not described above are stored as needed.

現將注意力指向視需要在攜帶型多功能裝置100上實施之使用者介面(「UI」)的實施例。 Attention is now directed to an embodiment of a user interface ("UI") implemented on the portable multifunction device 100 as needed.

圖4A說明根據一些實施例之攜帶型多功能裝置100上的應用程式之功能表之例示性使用者介面。類似使用者介面視需要實施於裝置300上。在一些實施例中,使用者介面400包括以下元件或其子集或超集:˙用於無線通信之信號強度指示器402,諸如蜂巢式及Wi-Fi信號;˙時間404;˙藍芽指示器405;˙電池狀態指示器406;˙具有用於諸如以下各者之頻繁使用之應用程式的圖示之系統匣(tray)408:○電話模組138之標示為「電話」的圖示416,其視需要包括未接來電或語音信箱訊息之數目的指示器414;○電子郵件用戶端模組140之標示為「郵件」的圖示418,其視需要包括未讀電子郵件之數目的指示器410;○瀏覽器模組147之標示為「瀏覽器」的圖示420;及○亦稱作iPod(Apple Inc.之商標)模組152之標示為「iPod」的視訊及音樂播放器模組152之圖示422;及˙用於其他應用程式之圖示,諸如:○IM模組141之標示為「文字」的圖示424;○行事曆模組148之標示為「行事曆」的圖示426;○影像管理模組144之標示為「照片」的圖示428;○攝影機模組143之標示為「攝影機」的圖示430; ○唱片庫模組155之標示為「唱片庫」的圖示432;○股票介面工具集149-2之標示為「股票」的圖示434;○地圖模組154之標示為「地圖」的圖示436;○天氣介面工具集149-1之標示為「天氣」的圖示438;○鬧鐘介面工具集149-4之標示為「時鐘」的圖示440;○網際網路無線電模組142之標示為「網際網路無線電」的圖示442;○備忘錄模組153之標示為「備忘錄」的圖示444;及○設定應用程式或模組之圖示446,其提供對裝置100之設定及其各種應用程式136的存取。 4A illustrates an exemplary user interface of a function table of an application on the portable multifunction device 100 in accordance with some embodiments. A similar user interface is implemented on device 300 as needed. In some embodiments, user interface 400 includes the following elements or a subset or superset thereof: 信号 signal strength indicator 402 for wireless communication, such as cellular and Wi-Fi signals; ̇ time 404; ̇ Bluetooth indication 405; ̇Battery Status Indicator 406; 匣Tray 408 with an illustration of an application for frequent use, such as: An indicator 414 that includes the number of missed calls or voicemail messages as needed; ○ an icon 418 of the email client module 140 labeled "mail", which includes an indication of the number of unread emails as needed The browser module 147 is labeled as "Browser" icon 420; and ○ is also known as the iPod (trademark of Apple Inc.) module 152. The video and music player module labeled "iPod" Figure 422 of group 152; and 图示 for other applications, such as: ○ icon 424 of the IM module 141 labeled "text"; ○ calendar module 148 marked "calendar" Figure 426; ○ image management module 144 labeled "photo" Show 428; ○ 143 of the camera module labeled as "camera" illustration 430; ○ Record library module 155 is labeled as "record library" icon 432; ○ stock interface tool set 149-2 is labeled as "stock" 434; ○ map module 154 is marked as "map" 436; ○ weather interface tool set 149-1 is labeled as "weather" icon 438; ○ alarm clock interface tool set 149-4 is labeled "clock" icon 440; ○ internet radio module 142 An icon 442 labeled "Internet Radio"; a graphic 444 of the "Memorandum" marked by the Memorandum Module 153; and a graphic 446 of the application or module, which provides settings for the device 100 and Access to its various applications 136.

應注意,圖4A中所說明之圖示標示僅為例示性的。舉例而言,視訊及音樂播放器模組152之圖示422標示為「音樂」或「音樂播放器」。其他標示視需要用於各種應用程式圖示。在一些實施例中,各別應用程式圖示之標示包括對應於各別應用程式圖示之應用程式的名稱。在一些實施例中,特定應用程式圖示之標示相異於對應於特定應用程式圖示之應用程式的名稱。 It should be noted that the pictorial representations illustrated in Figure 4A are merely illustrative. For example, the icon 422 of the video and music player module 152 is labeled "Music" or "Music Player". Other logos are used as needed for various application icons. In some embodiments, the respective application icon icons include the names of the applications corresponding to the respective application icons. In some embodiments, the designation of a particular application icon is different from the name of the application corresponding to a particular application icon.

圖4B說明具有與顯示器450(例如,觸控式螢幕顯示器112)分離之觸敏式表面451(例如,圖3之平板或觸控板355)之裝置(例如,圖3之裝置300)上的例示性使用者介面。裝置300視需要亦包括用於偵測觸敏式表面451上觸摸之強度的一或多個接觸強度感測器(例如,感測器357中的一或多者),及/或用於產生用於裝置300之使用者之觸覺輸出的一或多個觸覺輸出產生器359。 4B illustrates a device (eg, device 300 of FIG. 3) having a touch-sensitive surface 451 (eg, the tablet or trackpad 355 of FIG. 3) that is separate from display 450 (eg, touch screen display 112). An exemplary user interface. Device 300 also includes one or more contact intensity sensors (eg, one or more of sensors 357) for detecting the intensity of a touch on touch-sensitive surface 451, as desired, and/or for generating One or more haptic output generators 359 for the haptic output of the user of device 300.

儘管將參考觸控式螢幕顯示器112(其中組合觸敏式表面與顯示器)上之輸入來提供以下一些實例,但在一些實施例中,如圖4B中所展示,裝置偵測與顯示器分離之觸敏式表面上的輸入。在一些實施例中,觸敏式表面(例如,圖4B中之451)具有對應於顯示器(例如,450) 上之主軸(例如,圖4B中之453)的主軸(例如,圖4B中之452)。根據此等實施例,裝置偵測在對應於顯示器上之各別位置的位置處與觸敏式表面451之接觸(例如,圖4B中之460及462)(例如,在圖4B中,460對應於468,且462對應於470)。以此方式,當觸敏式表面(例如,圖4B中之451)與顯示器(例如,圖4B中之450)分離時,該觸敏式表面上之藉由裝置偵測到的使用者輸入(例如,接觸460及462,以及其移動)由裝置用以操控多功能裝置之顯示器上的使用者介面。應理解,類似方法視需要用於本文中所描述之其他使用者介面。 Although the following examples will be provided with reference to inputs on touch screen display 112 (which combines a touch sensitive surface with a display), in some embodiments, as shown in Figure 4B, the device detects touches that are separate from the display. Input on a sensitive surface. In some embodiments, the touch-sensitive surface (eg, 451 in FIG. 4B) has a display (eg, 450) The major axis of the upper spindle (e.g., 453 in Figure 4B) (e.g., 452 in Figure 4B). In accordance with such embodiments, the device detects contact with the touch-sensitive surface 451 at locations corresponding to respective locations on the display (e.g., 460 and 462 in Figure 4B) (e.g., in Figure 4B, 460 corresponds to Figure 460). At 468, and 462 corresponds to 470). In this manner, when a touch-sensitive surface (eg, 451 in FIG. 4B) is separated from the display (eg, 450 in FIG. 4B), the user input detected by the device on the touch-sensitive surface ( For example, contacts 460 and 462, and their movement) are used by the device to manipulate the user interface on the display of the multi-function device. It should be understood that similar methods are used as needed for other user interfaces described herein.

另外,雖然主要參考手指輸入(例如,手指接觸、手指觸按示意動作、手指撥動示意動作)而提供以下實例,但應理解,在一些實施例中,用來自另一輸入裝置之輸入(例如,基於滑鼠之輸入或手寫筆輸入)來替換手指輸入中的一或多者。舉例而言,可用滑鼠點選(例如,而非接觸)繼之以游標沿撥動路徑之移動(例如,而非接觸之移動)來替換撥動示意動作。作為另一實例,視需要用在游標位於觸按示意動作之位置上時的滑鼠點選來替換觸按示意動作(例如,而非偵測接觸,繼之以停止偵測接觸)。類似地,當多個使用者輸入同時被偵測到時,應理解,多個電腦滑鼠視需要同時使用,或滑鼠及手指接觸視需要被同時使用。 Additionally, while the following examples are provided primarily with reference to finger input (eg, finger contact, finger touch gesture, finger toggle gesture), it should be understood that in some embodiments, input from another input device is used (eg, Replace one or more of the finger inputs based on mouse input or stylus input). For example, the mouse can be clicked (eg, not in contact) followed by the movement of the cursor along the toggle path (eg, rather than the movement of the contact) to replace the toggle gesture. As another example, a touch gesture is replaced as needed by the mouse click when the cursor is in the position to touch the gesture (eg, instead of detecting the contact, followed by stopping the detection of the contact). Similarly, when multiple user inputs are detected at the same time, it should be understood that multiple computer mice are used as needed, or that mouse and finger contacts are used as needed.

圖5說明根據一些實施例之作業環境500的方塊圖。作業環境500包括伺服器510、一或多個通信網路505、攜帶型多功能裝置100及外部資訊呈現系統540。在一些實施例中,外部資訊呈現系統540實施於車輛中。 FIG. 5 illustrates a block diagram of a work environment 500 in accordance with some embodiments. The work environment 500 includes a server 510, one or more communication networks 505, a portable multifunction device 100, and an external information presentation system 540. In some embodiments, the external information presentation system 540 is implemented in a vehicle.

伺服器510通常包括以下各者:一或多個處理單元(CPU)512,其用於執行儲存於記憶體524中之模組、程式及/或指令且藉此執行處理操作;一或多個網路或其他通信介面520;記憶體524;及用於互連此等組件的一或多個通信匯流排522。通信匯流排522視需要包括將系統 組件互連且控制系統組件之間的通信之電路(有時稱為晶片組)。記憶體524包括諸如DRAM、SRAM、DDR RAM之高速隨機存取記憶體或其他隨機存取固態記憶體裝置;且可包括非揮發性記憶體,諸如一或多個磁碟儲存裝置、光碟儲存裝置、快閃記憶體裝置,或其他非揮發性固態儲存裝置。記憶體524視需要包括自CPU 512遠端定位的一或多個儲存裝置。記憶體524或者記憶體524內之非揮發性記憶體裝置包含非暫時性電腦可讀儲存媒體。在一些實施例中,記憶體524或記憶體524的電腦可讀儲存媒體儲存以下程式、模組及資料結構或其子集:˙作業系統526,其包括用於處置各種基本系統服務且用於執行硬體相依任務的程序;及˙網路通信模組528,其用於經由一或多個通信網路介面520及一或多個通信網路505(諸如,網際網路、其他廣域網路、區域網路、都會區域網路等)將伺服器510(有線或無線)連接至其他計算裝置。 The server 510 typically includes one or more processing units (CPUs) 512 for executing modules, programs, and/or instructions stored in the memory 524 and thereby performing processing operations; one or more Network or other communication interface 520; memory 524; and one or more communication busses 522 for interconnecting such components. Communication bus 522 includes the system as needed A circuit (sometimes referred to as a chipset) that interconnects components and controls communication between system components. Memory 524 includes high speed random access memory such as DRAM, SRAM, DDR RAM or other random access solid state memory devices; and may include non-volatile memory such as one or more disk storage devices, optical disk storage devices , flash memory devices, or other non-volatile solid-state storage devices. Memory 524 includes one or more storage devices located remotely from CPU 512 as needed. The non-volatile memory device within memory 524 or memory 524 includes a non-transitory computer readable storage medium. In some embodiments, the computer readable storage medium of memory 524 or memory 524 stores the following programs, modules, and data structures or a subset thereof: ̇ operating system 526, including for handling various basic system services and for a program for performing hardware dependent tasks; and a network communication module 528 for communicating via one or more communication network interfaces 520 and one or more communication networks 505 (such as the Internet, other wide area networks, A local area network, a metropolitan area network, etc.) connects the server 510 (wired or wireless) to other computing devices.

攜帶型多功能裝置100通常包括參看圖1A至圖1B及/或圖3所描述的組件。 The portable multifunction device 100 generally includes the components described with reference to Figures 1A-1B and/or Figure 3.

外部資訊呈現系統540通常包括以下各者:一或多個處理單元(CPU)542,其用於執行儲存於記憶體554中之模組、程式及/或指令且藉此執行處理操作;一或多個網路或其他通信介面550;記憶體554;及用於互連此等組件的一或多個通信匯流排552。外部資訊呈現系統540視需要包括使用者介面546,該使用者介面546包含顯示裝置547及控制項548(例如,機械可視線索、按鈕或旋鈕、諸如觸控式螢幕顯示器的觸敏式表面,及其他輸入源)。在一些實施例中,顯示器547為能夠接收使用者觸摸輸入的觸控式螢幕顯示器。通信匯流排552視需要包括將系統組件互連且控制系統組件之間的通信之電路(有時 稱為晶片組)。記憶體554包括諸如DRAM、SRAM、DDR RAM之高速隨機存取記憶體或其他隨機存取固態記憶體裝置,且視需要包括非揮發性記憶體,諸如一或多個磁碟儲存裝置、光碟儲存裝置、快閃記憶體裝置,或其他非揮發性固態儲存裝置。記憶體554視需要包括自CPU 542遠端定位的一或多個儲存裝置。記憶體552或者記憶體552內之非揮發性記憶體裝置包含非暫時性電腦可讀儲存媒體。在一些實施例中,記憶體552或記憶體552之電腦可讀儲存媒體儲存以下程式、模組及資料結構或其子集:˙作業系統556,其包括用於處置各種基本系統服務且用於執行硬體相依任務的程序;及˙網路通信模組558,其用於經由一或多個通信網路介面550及一或多個通信網路505(諸如,網際網路、其他廣域網路、區域網路、都會網路等)將伺服器540(有線或無線)連接至其他計算裝置。 The external information presentation system 540 generally includes one or more processing units (CPUs) 542 for executing modules, programs, and/or instructions stored in the memory 554 and thereby performing processing operations; A plurality of network or other communication interfaces 550; memory 554; and one or more communication busses 552 for interconnecting such components. The external information presentation system 540 optionally includes a user interface 546 that includes a display device 547 and controls 548 (eg, mechanical visual cues, buttons or knobs, touch-sensitive surfaces such as touch screen displays, and Other input sources). In some embodiments, display 547 is a touch screen display capable of receiving user touch input. Communication bus 552 optionally includes circuitry to interconnect system components and control communication between system components (sometimes Called the chipset). The memory 554 includes a high speed random access memory such as DRAM, SRAM, DDR RAM or other random access solid state memory device, and optionally includes non-volatile memory, such as one or more disk storage devices, and optical disk storage. Devices, flash memory devices, or other non-volatile solid state storage devices. The memory 554 includes one or more storage devices located remotely from the CPU 542 as needed. The non-volatile memory device within memory 552 or memory 552 includes a non-transitory computer readable storage medium. In some embodiments, the computer readable storage medium of memory 552 or memory 552 stores the following programs, modules, and data structures or a subset thereof: ̇ operating system 556, including for handling various basic system services and for a program for performing hardware dependent tasks; and a network communication module 558 for communicating via one or more communication network interfaces 550 and one or more communication networks 505 (such as the Internet, other wide area networks, The local area network, the metro network, etc.) connect the server 540 (wired or wireless) to other computing devices.

在一些實施例中,裝置100驅動系統540之顯示器547。舉例而言,裝置100將視訊信號發送至系統540,且系統540之CPU 542將視訊信號顯現於顯示器547上。在一些實施例中,裝置100將視訊信號直接發送至顯示器547,且CPU 542不用以顯現視訊信號(例如,裝置100使用顯示器547作為輔助顯示器)。在一些實施例中,顯示於裝置100之觸控式螢幕112上的使用者介面與顯示於系統540之顯示器547上的使用者介面同步,且在一些其他實施例中,顯示於裝置100之觸控式螢幕112上的使用者介面不與顯示於系統540之顯示器547上的使用者介面同步。在一些實施例中,系統540將對應於使用者輸入(例如,顯示器547上之使用者觸摸輸入或經由控制項548的使用者輸入)的資訊發送至裝置100,且裝置100根據所接收資訊更新顯示於裝置100之觸控式螢幕112上的使用者介面。 In some embodiments, device 100 drives display 547 of system 540. For example, device 100 transmits a video signal to system 540, and CPU 542 of system 540 presents the video signal on display 547. In some embodiments, device 100 transmits the video signal directly to display 547, and CPU 542 is not used to visualize the video signal (eg, device 100 uses display 547 as an auxiliary display). In some embodiments, the user interface displayed on the touch screen 112 of the device 100 is synchronized with the user interface displayed on the display 547 of the system 540, and in some other embodiments, is displayed at the touch of the device 100. The user interface on the control screen 112 is not synchronized with the user interface displayed on the display 547 of the system 540. In some embodiments, system 540 transmits information corresponding to user input (eg, user touch input on display 547 or user input via control 548) to device 100, and device 100 updates based on the received information. A user interface displayed on the touch screen 112 of the device 100.

使用者介面及相關聯程序 User interface and associated programs

現將注意力指向可實施於具有顯示器及觸敏式表面之電子裝置(諸如,裝置300或攜帶型多功能裝置100)上的使用者介面(「UI」)及相關聯程序之實施例。 Attention is directed to embodiments of a user interface ("UI") and associated programs that can be implemented on an electronic device having a display and a touch-sensitive surface, such as device 300 or portable multifunction device 100.

圖6A至圖6C說明根據一些實施例之自樣板產生的例示性使用者介面以供第三方應用程式使用。此等圖中之使用者介面用以說明下文所描述之包括圖7A至圖71中之程序的程序。 6A-6C illustrate an exemplary user interface generated from a template for use by a third party application, in accordance with some embodiments. The user interface in these figures is used to illustrate the procedures described below including the routines of Figures 7A-71.

圖6A說明顯示於外部資訊呈現系統540之顯示器547上的使用者介面樣板601。在一些實施例中,系統540包括於車輛中(例如,車輛之儀錶板或方向盤中)。在一些實施例中,顯示器547為經組態以接收使用者觸摸輸入的觸控式螢幕顯示器。圖6A進一步說明包括以下各者之複數個使用者介面物件(本文中有時稱為「可視線索」或「可選擇使用者介面物件」):應用程式標題欄602、預設主功能表604、自訂功能表608、內容選擇視圖606、作用中項目欄610及結束按鈕612。在一些實施例中,使用者介面樣板相較於樣板601中所展示者含有較少可視線索,以進一步簡化使用者介面且防止駕駛員分心。 FIG. 6A illustrates a user interface template 601 displayed on display 547 of external information presentation system 540. In some embodiments, system 540 is included in a vehicle (eg, in a dashboard or steering wheel of a vehicle). In some embodiments, display 547 is a touch screen display configured to receive user touch input. FIG. 6A further illustrates a plurality of user interface objects (sometimes referred to herein as "visual cues" or "selectable user interface objects") including: an application title bar 602, a preset main function table 604, The custom function table 608, the content selection view 606, the active item field 610, and the end button 612. In some embodiments, the user interface template contains fewer visual cues than those shown in the template 601 to further simplify the user interface and prevent distraction of the driver.

圖6B說明自使用者介面樣板601產生之使用者介面的實例(例如,以供網際網路無線電應用程式使用)。圖6B說明以下各者:顯示當前應用程式(例如,網際網路無線電應用程式)之標題的應用程式標題欄602、具有預設控制項之主功能表604(例如,向上、向下、搜尋、分類等)、具有應用程式特定控制項(例如,篩選最愛項目、將當前項目添加至對應於應用程式特定功能的最愛項目)之自訂功能表608(例如,最愛項目功能表),及結束按鈕612。圖6B進一步說明以下兩者:內容選擇視圖606(例如,台選擇),其顯示用於當前應用程式的選擇選項(例如,放鬆爵士台103、韓國風行台105等);及作用中項目欄610,其顯示關於當前作用中項目(例如,硬搖滾台101)之資訊。 FIG. 6B illustrates an example of a user interface generated from user interface template 601 (eg, for use by an internet radio application). 6B illustrates an application title bar 602 displaying the title of the current application (eg, an internet radio application), a main function table 604 having preset controls (eg, up, down, search, Classification, etc., custom menu 608 (eg, favorite item menu) with application-specific controls (eg, filter favorite items, add current items to favorite items corresponding to application-specific functions), and end button 612. 6B further illustrates the following two: a content selection view 606 (eg, station selection) that displays selection options for the current application (eg, relax jazz station 103, Korean hangout 105, etc.); and active item column 610 , which displays information about the currently active item (eg, hard rock station 101).

圖6C說明不同於展示於圖6B中之自樣板601產生之使用者介面的 自使用者介面樣板601產生的使用者介面(例如,以供唱片庫應用程式使用)之實例。圖6C說明以下各者:顯示當前應用程式(例如,唱片庫應用程式)之標題的應用程式標題欄602、具有預設控制項(例如,向上、向下、搜尋、分類等)之主功能表604、具有應用程式特定控制項(例如,播放清單1、播放清單2等)之自訂功能表608(例如,使用者播放清單功能表),及結束按鈕612。圖6C進一步說明顯示當前應用程式之選擇選項(例如,所儲存歌曲103、所儲存歌曲105等)的內容選擇視圖606(例如,歌曲庫),及顯示關於當前作用中項目(例如,所儲存歌曲101)之資訊的作用中項目欄610。 Figure 6C illustrates a user interface different from that produced by the template 601 shown in Figure 6B. An example of a user interface generated by user interface template 601 (eg, for use by a record library application). 6C illustrates the following: an application title bar 602 displaying the title of the current application (eg, a library application), a main menu having preset controls (eg, up, down, search, category, etc.) 604. A custom function table 608 (eg, a user playlist function table) having application specific controls (eg, playlist 1, playlist 2, etc.), and an end button 612. 6C further illustrates a content selection view 606 (eg, a library of songs) that displays selection options for the current application (eg, stored songs 103, stored songs 105, etc.), and displays information about currently active items (eg, stored songs). 101) The role of the information in the item column 610.

如圖6B至圖6C中所展示,共同樣板(例如,展示於圖6A中之樣板601)視需要用以藉由以下操作產生用於不同第三方應用程式的不同使用者介面(例如,展示於圖6B中之網際網路無線電應用程式的使用者介面不同於展示於圖6C中唱片庫應用程式的使用者介面):將擷取自不同第三方應用程式之資訊插入至使用者介面樣板601中。然而,展示於圖6B及圖6C中之不同使用者介面具有類似性:使得使用者介面更易於使用(例如,用於選擇可播放內容之可視線索顯示於圖6B及圖6C中之使用者介面之兩者中的內容選擇視圖606中,且關於當前正播放媒體之資訊顯示於圖6B及圖6C中之使用者介面之兩者中的作用中項目欄610中)。另外,樣板視需要加強最小文字大小以確保顯示於圖6B及圖6C中之使用者介面中的文字易於讀取。 As shown in FIG. 6B to FIG. 6C, a common board (eg, the template 601 shown in FIG. 6A) is used to generate different user interfaces for different third party applications as needed (eg, displayed on The user interface of the Internet radio application in FIG. 6B is different from the user interface displayed in the record library application in FIG. 6C): the information extracted from different third-party applications is inserted into the user interface template 601. . However, the different user interfaces shown in Figures 6B and 6C have similarities: making the user interface easier to use (e.g., visual cues for selecting playable content are displayed in the user interface of Figures 6B and 6C). The content selection view 606 in both, and the information about the currently playing media is displayed in the active item column 610 in both the user interfaces in FIGS. 6B and 6C). In addition, the template needs to enhance the minimum text size as needed to ensure that the text displayed in the user interface of Figures 6B and 6C is easy to read.

圖7A至圖7I為根據一些實施例之說明提供使用者介面以供第三方應用程式使用之方法700的流程圖。方法700在電子裝置(例如,圖3之裝置300,或圖1A之攜帶型多功能裝置100)處執行。在一些實施例中,電子裝置包括顯示器及觸敏式表面。在一些實施例中,顯示器為觸控式螢幕顯示器,且觸敏式表面係在顯示器上。在一些實施例中,顯示器與觸敏式表面分離。視需要組合方法700中之一些操作,及/或 視需要改變一些操作的次序。 7A-7I are flow diagrams illustrating a method 700 of providing a user interface for use by a third party application, in accordance with some embodiments. Method 700 is performed at an electronic device (e.g., device 300 of FIG. 3, or portable multifunction device 100 of FIG. 1A). In some embodiments, an electronic device includes a display and a touch-sensitive surface. In some embodiments, the display is a touch screen display and the touch sensitive surface is attached to the display. In some embodiments, the display is separated from the touch-sensitive surface. Some of the operations of method 700 are combined as needed, and/or Change the order of some operations as needed.

如下文所描述,方法700提供用於第三方應用程式之使用者介面,該等使用者介面在與第三方應用程式互動時減少使用者之感知負擔,藉此產生更有效入機介面。對於靠電池操作之電子裝置,使得使用者能夠更快速且更有效地與使用者介面互動節省電力且使電池充電之間的時間增加。 As described below, the method 700 provides a user interface for a third party application that reduces the perceived burden of the user when interacting with a third party application, thereby creating a more efficient presence interface. For battery operated electronic devices, the user is able to interact with the user interface more quickly and efficiently to conserve power and increase the time between battery charges.

裝置接收(702)將第一第三方應用程式之使用者介面顯示於各別顯示器上的第一顯示請求,該各別顯示器與電子裝置通信(例如,經由有線或無線連接)。舉例而言,裝置自與各別顯示器相關聯之控制項或與電子裝置相關聯之控制項接收對應於第一第三方應用程式的應用程式啟動圖示之啟動的輸入,例如,用於網際網路無線電應用程式142(圖1A或圖3)的網際網路無線電圖示442(圖4A)上的觸按示意動作,或接收用於唱片庫應用程式155(圖1A或3)之唱片庫圖示432(圖4A)的觸按示意動作。在一些實施例中,各別顯示器為裝置之顯示器(例如,攜帶型多功能裝置100的觸控式螢幕112)。在一些實施例中,各別顯示器為與裝置分離之顯示器(例如,圖5中外部資訊呈現系統540的顯示器547)。 The device receives (702) a first display request to display a user interface of the first third party application on a respective display, the respective display being in communication with the electronic device (eg, via a wired or wireless connection). For example, the device receives input from the control associated with the respective display or the control associated with the electronic device to initiate activation of the application launch icon corresponding to the first third party application, for example, for the Internet The touch gesture on the Internet radio icon 442 (FIG. 4A) of the road radio application 142 (FIG. 1A or FIG. 3), or the record library for the record library application 155 (FIG. 1A or 3) The touch gesture of 432 (Fig. 4A) is shown. In some embodiments, the respective display is a display of the device (eg, touch screen 112 of portable multifunction device 100). In some embodiments, the respective displays are displays that are separate from the device (eg, display 547 of external information presentation system 540 in FIG. 5).

回應於接收到第一顯示請求(704),裝置獲得(706)經組態(或經設計)以由複數個第三方應用程式使用的第一使用者介面樣板;且裝置自第一第三方應用程式請求(710)用於填充第一使用者介面樣板的一或多個值。在一些實施例中,第一使用者介面樣板為由複數個不同應用程式使用的通用或應用程式不可知(或獨立)使用者介面樣板。舉例而言,在一些實施例中,裝置獲得展示於圖6A中的使用者介面樣板601。 In response to receiving the first display request (704), the device obtains (706) a first user interface template configured (or designed) for use by a plurality of third party applications; and the device is from the first third party application The program request (710) is used to populate one or more values of the first user interface template. In some embodiments, the first user interface template is a generic or application-agnostic (or independent) user interface template used by a plurality of different applications. For example, in some embodiments, the device obtains the user interface template 601 shown in Figure 6A.

在一些實施例中,各別顯示器為(708)可自車輛之駕駛員座位看見的車輛資訊顯示系統中的顯示器;且第一使用者介面樣板為經組態 以用以在各別顯示器上產生防止駕駛員分心的用於第三方應用程式之使用者介面的複數個預定使用者介面樣板中的一者(例如,複數個預定樣板具有大字型,及在不使駕駛員自安全駕駛分心情況下可藉由駕駛員操作的幾個容易選擇的選項)。因此,在一些實施例中,使用此等預定使用者介面樣板使得裝置能夠向使用者提供對一或多個第三方應用程式之功能性的存取,同時維持對顯示於各別顯示器上之使用者介面之外觀的一定控制,以便確保各別顯示器上之使用者介面對於使用為簡單且直觀的。 In some embodiments, the respective display is (708) a display in a vehicle information display system viewable from a driver's seat of the vehicle; and the first user interface template is configured One of a plurality of predetermined user interface templates for creating a user interface for a third party application on a separate display to prevent driver distraction (eg, a plurality of predetermined templates have large fonts, and There are several easy-to-select options that can be operated by the driver without distracting the driver from safe driving. Thus, in some embodiments, the use of such predetermined user interface templates enables the device to provide the user with functional access to one or more third party applications while maintaining use for display on respective displays. Certain controls of the appearance of the interface to ensure that the user interface on each display is simple and intuitive to use.

在一些實施例中,第一第三方應用程式處之值以包括複數個節點的樹型結構配置(711),該複數個節點具有預定特性及與樹型結構中一或多個其他節點的樹型關係(例如,父關係或子關係)。在一些實施例中,對用於填充第一使用者介面樣板之一或多個值的請求包括以下各者中的一或多者:傳回對應於複數個節點中之各別節點之子節點清單的值之請求(例如,對於對應於藝術家之節點,子節點對應於藝術家之歌曲或藝術家之專輯);對傳回對應於複數個節點中之各別節點之特性清單的值之請求;提供對由各別節點表示之內容的請求(例如,提供對應於音訊檔案、音訊串流、視訊檔案、視訊串流及/或播放清單的音訊內容或對應於複數個相異之內容單元的無線電台的請求);對提供與搜尋查詢匹配之節點清單的請求(例如,對提供藝術家、專輯、歌曲、無線電台、音訊書籍、播客或其類似者之清單的請求,前述各者與一或多個搜尋項集合且視需要連接搜尋項之邏輯運算子匹配);及對提供對於第一第三方應用程式特定之動作清單的請求,可在提供對與第一第三方應用程式相關聯之內容的存取(例如,「喜歡」、「跳過」、「添加至最愛項目」、「旗標」或其他應用程式特定操作)的同時採取該等動作。在一些實施例中,各別節點之特性包括以下各者中的一或多者:各別節點之封面、各別節點之識別符、與各 別節點相關聯之媒體內容的持續時間、各別節點之標題(當前播放音軌或無線電台的標題)、各別節點之子標題(例如,當前播放歌曲或當前播放無線電台之音軌的藝術家)、指示各別節點是否可播放的可播放旗標、指示各別節點是否已經播放的播放旗標及/或指示各別節點是否為具有子節點之容器的容器旗標。 In some embodiments, the value at the first third party application is configured (711) in a tree structure comprising a plurality of nodes having predetermined characteristics and a tree with one or more other nodes in the tree structure Type relationship (for example, parent or child relationship). In some embodiments, the request to populate one or more values of the first user interface template includes one or more of: returning a list of child nodes corresponding to respective ones of the plurality of nodes Request for value (for example, for a node corresponding to an artist, the child node corresponds to the artist's song or artist's album); a request for returning a value corresponding to a list of characteristics of each of the plurality of nodes; providing a pair a request for content represented by a respective node (eg, providing audio content corresponding to an audio file, audio stream, video file, video stream, and/or playlist or a radio station corresponding to a plurality of distinct content units) Request) a request to provide a list of nodes that match a search query (eg, a request to provide a list of artists, albums, songs, radio stations, audio books, podcasts, or the like, each of the foregoing and one or more searches a set of items and optionally a logical operator match to the search term; and a request to provide a list of actions specific to the first third party application, available upon request Take access to content associated with the first third-party application (for example, "like", "skip", "add to favorite item", "flag" or other application-specific operations) action. In some embodiments, the characteristics of the respective nodes include one or more of the following: a cover of each node, an identifier of each node, and each The duration of the media content associated with the other node, the title of the individual node (the title of the currently playing track or radio station), the subtitle of the individual node (for example, the artist currently playing the song or the track currently playing the radio station) a playable flag indicating whether each node is playable, a play flag indicating whether the respective node has been played, and/or a container flag indicating whether the respective node is a container having a child node.

裝置在第一第三方應用程式正在電子裝置上執行同時自第一第三方應用接收(712)用於填充第一使用者介面樣板的第一值集合(例如,接收網際網路串流傳輸無線電台之名稱清單)。舉例而言,圖6B展示藉由來自題為「網際網路無線電應用程式」之資料填充的使用者介面樣板601。 The device is executed on the electronic device by the first third party application while receiving (712) a first set of values for populating the first user interface template from the first third party application (eg, receiving an internet streaming radio station) List of names). For example, FIG. 6B shows a user interface template 601 populated by data from an article entitled "Internet Radio Application."

在一些實施例中,第一值集合中之一或多個值係回應於對用於填充第一使用者介面樣板之一或多個值的請求而由第一第三方應用程式自遠端源(例如,與第一第三方應用程式通信的伺服器,諸如圖5中之伺服器510)進行擷取(713)。舉例而言,當串流傳輸網際網路無線電台已經選擇用於播放時,第一第三方應用程式起始將對開始串流傳輸正串流傳輸網際網路無線電台的請求發送至遠端伺服器,且請求歌曲之名稱及藝術家以及待顯示於串流傳輸網際網路無線電台上之歌曲的對應專輯封面。第一第三方應用程式接收此等值,且將此等值傳輸至中介處理程序以供併入至「正在播放」使用者介面樣板,中介處理程序將傳輸至各別顯示器。 In some embodiments, one or more of the first set of values are from the remote source by the first third party application in response to the request to populate one or more values of the first user interface template (For example, a server in communication with the first third party application, such as server 510 in FIG. 5) performs a capture (713). For example, when a streaming Internet radio has selected for playback, the first third party application initiates a request to start streaming the positive streaming radio to the remote server. And requesting the name of the song and the artist and the corresponding album cover of the song to be displayed on the streaming internet radio station. The first third party application receives the value and transmits the value to the mediation handler for incorporation into the "playing" user interface template, and the mediation handler is transmitted to the respective display.

在一些實施例中,裝置包括(714)具有語音辨識能力之數位個人助理處理程序(例如,數位個人助理150,其記錄語音命令且將表示所記錄語音命令之資訊發送至諸如圖5中之伺服器510的伺服器以供分析,且基於來自伺服器之回應對語音命令作出回應)。在一些實施例中,裝置基於來自第一第三方應用程式的對針對與填充各別顯示器的使用者介面之使用者介面樣板相關聯之值的第三方應用程式的複數個 請求作出的回應來判定(715)第一第三方應用程式的能力(例如,數位個人助理處理程序橫過第一第三方應用程式之後設資料的樹型結構並繪出可經由第一第三方應用程式存取的各種選項及後設資料)。在一些實施例中,裝置產生(716)第一第三方應用程式之能力的索引(例如,基於經由第一第三方應用程式可存取的各種選項及後設資料之地圖)。在一些實施例中,裝置經由數位個人助理處理程序提供(718)對第一第三方應用程式之能力的存取(例如,使得使用者能夠使用語音命令來請求特定藝術家之歌曲之清單的顯示,可用於播放之網際網路串流傳輸無線電台之清單的顯示、特定藝術家之特定歌曲的播放,或經由媒體呈現應用程式對與口頭陳述之搜尋查詢匹配之媒體的搜尋)。舉例而言,對於視訊串流網際網路無線電應用程式,個人助理將橫過以下兩者並對其編索引:可用於串流傳輸網際網路無線電台的後設資料之樹型結構,及可由串流傳輸網際網路無線電應用程式執行的其他操作。接著,使用者經啟用以使用針對數位個人助理之語音命令將口頭命令提供至數位個人助理以開始播放無線電台、停止播放無線電台、基於當前歌曲建立新無線電台,跳過歌曲或其他操作(例如,「助理,請播放藝術家X無線電台」、「助理,請跳過此歌曲」、「助理,請列出在上一週建立的所有無線電台」,或「助理,請將此歌曲標註為最愛項目」)。 In some embodiments, the apparatus includes (714) a digital personal assistant processing program having speech recognition capabilities (eg, a digital personal assistant 150 that records voice commands and transmits information representative of the recorded voice commands to a servo such as that in FIG. The server of device 510 is for analysis and responds to voice commands based on responses from the server). In some embodiments, the device is based on a plurality of third party applications from the first third party application for values associated with user interface templates that populate the user interface of the respective display. Requesting a response to determine (715) the capabilities of the first third party application (eg, the digital assistant processing program traverses the tree structure of the data after the first third party application and draws the first third party application Various options for program access and post-set data). In some embodiments, the device generates (716) an index of the capabilities of the first third party application (eg, based on various options accessible via the first third party application and a map of the post data). In some embodiments, the device provides (718) access to the capabilities of the first third party application via a digital personal assistant handler (eg, enabling the user to request a display of a list of songs for a particular artist using a voice command, The display of a list of Internet streaming radio stations that can be used for playback, the playback of a particular song of a particular artist, or the search of media that matches the search query of the spoken statement via the media presentation application). For example, for a video streaming internet radio application, the personal assistant will traverse and index the following two: a tree structure that can be used to stream the back-end data of the Internet radio station, and can be Streaming other operations performed by the Internet radio application. The user is then enabled to provide a verbal command to the digital assistant using the voice command for the digital assistant to start playing the radio, stop playing the radio, establish a new radio based on the current song, skip songs or other operations (eg , "Assistant, please play Artist X Radio", "Assistant, please skip this song", "Assistant, please list all radio stations established in the previous week", or "Assistant, please mark this song as your favorite item" ").

在一些實施例中,裝置偵測(720)預定條件已被滿足。回應於偵測到預定條件已被滿足,裝置重新判定(721)第一第三方應用程式之能力,且重新產生第一第三方應用程式之能力的索引(例如,可經由第一第三方應用程式存取的各種選項經重新編索引:當裝置置放於與各別顯示器(諸如,外部資訊呈現系統540(圖5)之顯示器547)通信時,當裝置連接至包括各別顯示器之車輛資訊顯示系統時,及/或當第一第三方應用程式經啟動時)。舉例而言,對於串流傳輸網際網路 無線電應用程式,串流傳輸網際網路無線電台之可用性視需要基於用於接收視訊串流網際網路無線電台之網際網路連接的可用性來判定;類似地,若使用者建立/訂用新無線電台或刪除/退訂舊無線電台,則與串流傳輸網際網路無線電台應用程式相關聯之後設資料改變(例如,哪些無線電台為樹型結構中的節點及/或哪些無線電台可播放)。為了定址串流傳輸網際網路無線電應用程式處的後設資料,裝置週期性地對串流傳輸網際網路無線電應用程式處的後設資料重新編索引(例如,當串流傳輸網際網路無線電應用程式經啟動時,或當裝置連接至車輛資訊顯示系統時)。在一些實施例中,第三方應用程式向數位個人助理主動地通知後設資料之某部分已經改變或更新,且提示數位個人助理對第三方應用程式之後設資料的該部分(或全部)重新編索引。數位個人助理回應於接收到後設資料之部分已被改變的資訊或下次啟動第三方應用程式時對第三方應用程式之後設資料的該部分(或全部)重新編索引。 In some embodiments, the device detects (720) that the predetermined condition has been met. In response to detecting that the predetermined condition has been met, the device re-determines (721) the capabilities of the first third party application and regenerates an index of the capabilities of the first third party application (eg, via the first third party application) The various options of access are re-indexed: when the device is placed in communication with a respective display, such as display 547 of external information presentation system 540 (FIG. 5), when the device is connected to a vehicle information display that includes the respective display System time, and / or when the first third party application is launched). For example, for streaming internet Radio applications, the availability of streaming internet radio stations is determined based on the availability of the internet connection used to receive the video streaming internet radio; similarly, if the user establishes/subscribes a new radio To delete or unsubscribe old radio stations, then associate with the streaming Internet radio application to change the data (for example, which radio stations are nodes in the tree structure and/or which radio stations are playable) . To address the downstream data streamed at the Internet radio application, the device periodically re-indexes the post-streaming data at the Internet radio application (for example, when streaming Internet radio) When the application is launched, or when the device is connected to the vehicle information display system). In some embodiments, the third party application actively informs the digital assistant to notify that a portion of the post-data has been changed or updated, and prompts the digital assistant to re-edit the portion (or all) of the third-party application. index. The digital assistant responds to the information that the part of the post-set data has been changed or re-indexes the part (or all) of the third-party application's post-data when the third-party application is launched next time.

裝置由接收自第一第三方應用程式之第一值集合填充(722)第一使用者介面樣板。舉例而言,根據此等實施例,圖6B展示由來自題為「網際網路無線電應用程式」之第三方應用程式的資料(例如,台選擇、最愛項目、當前台等)填充以產生用於第三方應用程式之顯示於圖6C之顯示器547上的第三方應用程式之使用者介面樣板601。 The device populates (722) the first user interface template with a first set of values received from the first third party application. For example, in accordance with such embodiments, FIG. 6B shows the filling of data (eg, station selections, favorite items, current stations, etc.) from a third party application entitled "Internet Radio Application" for generation The user interface template 601 of the third party application displayed on the display 547 of FIG. 6C of the third party application.

在一些實施例中,第一使用者介面樣板由包括(724)第一第三方應用程式及第二第三方應用程式的複數個不同第三方應用程式使用。在一些實施例中,由接收自各別第三方應用程式的值填充第一使用者介面樣板包括將藉由各別第三方應用程式識別為屬於第一值類別的值插入至提供至各別顯示器之使用者介面中處於預定字型大小的預定區中。對於第一使用者介面樣板,第一第三方應用程式識別第一類型之資訊為第一值類別,且第二第三方應用程式識別不同於第一類型之資 訊的第二類型之資訊為第一值類別。舉例而言,圖6B展示由與網際網路無線電台相關之值填充的使用者介面樣板601,且圖6C展示由與所儲存歌曲相關之值填充的使用者介面樣板601。根據此等實施例,圖6B及圖6C展示具有相同字型大小的使用者介面樣板。 In some embodiments, the first user interface template is used by a plurality of different third party applications including (724) the first third party application and the second third party application. In some embodiments, populating the first user interface template with values received from respective third party applications includes inserting values identified by the respective third party applications as belonging to the first value category to be provided to the respective displays The user interface is in a predetermined area of a predetermined font size. For the first user interface template, the first third party application identifies the first type of information as the first value category, and the second third party application identifies the difference from the first type of application The second type of information is the first value category. For example, Figure 6B shows a user interface template 601 populated with values associated with an internet radio station, and Figure 6C shows a user interface template 601 populated with values associated with stored songs. In accordance with such embodiments, Figures 6B and 6C show user interface templates having the same font size.

在一些實施例中,對於第一使用者介面樣板而言:第一第三方應用程式識別(726)遠端產生之內容台(例如,串流傳輸網際網路無線電台)的名稱為第一值類別;且第二第三方應用程式識別預定播放清單之名稱為第一值類別。在一些實施例中,預定播放清單不同於串流傳輸網際網路無線電台,此係因為預定播放清單具有設定長度,且在使用者選擇用於播放之播放清單時設定播放清單之內容,而串流傳輸網際網路無線電台為具有不確定長度之係連續的連續音樂串流(只要使用者正在收聽),且包括遠端選擇之內容(例如,根據音樂選擇演算法由電腦自動地進行,或藉由音樂主持人、無線電主機或獨立於由裝置之使用者進行之動作的其他人員手動地進行)。舉例而言,在圖6B至圖6C中,裝置識別串流傳輸網際網路無線電台之名稱為圖6B中網際網路無線電應用程式(例如,圖1A中之142)的第一值類別(例如,可播放媒體內容項目之描述),且裝置將歌曲之名稱識別為圖6C中唱片庫應用程式(例如,圖1A中之155)的第一值類別。 In some embodiments, for the first user interface template: the first third party application identifies (726) the name of the remotely generated content station (eg, streaming Internet radio station) as the first value a category; and the second third party application identifies the name of the predetermined playlist as the first value category. In some embodiments, the predetermined playlist is different from the streaming internet radio station, because the predetermined playlist has a set length, and the content of the playlist is set when the user selects the playlist for playing, and the string Streaming internet radio stations are continuous continuous streams of music of indeterminate length (as long as the user is listening) and include remotely selected content (eg, automatically performed by a computer based on a music selection algorithm, or Manually by the music host, the radio host, or other person independent of the actions performed by the user of the device). For example, in Figures 6B-6C, the device identifies the name of the streaming internet radio station as the first value category of the Internet radio application (e.g., 142 in Figure 1A) of Figure 6B (e.g., The description of the media content item can be played, and the device identifies the name of the song as the first value category of the record library application (e.g., 155 in Figure 1A) of Figure 6C.

在一些實施例中,對於第一使用者介面樣板而言:第一第三方應用程式將可被串流傳輸(例如,音樂或其他媒體內容經由諸如網際網路之分散式資料網路的按需串流傳輸)至裝置的內容之名稱識別(728)為第一值類別;且第二第三應用程式將儲存於裝置上之內容的名稱(例如,語言學習程式、音訊書籍、音樂、播客或其類似者)識別為第一值類別。 In some embodiments, for the first user interface template: the first third party application will be streamed (eg, music or other media content via an on-demand distributed data network such as the Internet) Streaming) the name identification (728) of the content to the device is a first value category; and the second third application will name the content stored on the device (eg, language learning program, audio book, music, podcast, or The similarity is identified as the first value category.

裝置使用由第一值集合填充之第一使用者介面樣板產生(730)用於第一第三方應用程式的第一使用者介面。舉例而言,圖6B說明自 使用者介面樣板601及接收自網際網路無線電應用程式的值產生的使用者介面。根據此實例,圖6B展示預設主功能表604,其包括資訊按鈕(例如,以傳回對應於各別節點之特性之清單的值)、啟動按鈕(例如,以提供藉由各別節點表示的內容)、搜尋按鈕(例如,以提供與搜尋查詢匹配的節點之清單),及具有自訂按鈕的自訂功能表608(例如,以提供對於第一第三方應用程式特定的動作清單,可在提供對與第一第三方應用程式相關聯之內容的存取的同時採取該等動作)。 The device generates (730) a first user interface for the first third party application using the first user interface template populated with the first set of values. For example, Figure 6B illustrates The user interface template 601 and the user interface generated from the values received from the internet radio application. In accordance with this example, FIG. 6B shows a preset master function table 604 that includes information buttons (eg, to return values corresponding to a list of characteristics of respective nodes), a launch button (eg, to provide representation by respective nodes) Content, a search button (eg, to provide a list of nodes that match the search query), and a custom menu 608 with custom buttons (eg, to provide a list of actions specific to the first third party application, These actions are taken while providing access to the content associated with the first third party application).

在一些實施例中,裝置包括(732):複數個處理程序,該等處理程序包括用於執行第一第三方應用程式的第一第三方應用程式處理程序;及用於在各別顯示器與第一第三方應用程式處理程序之間轉送資訊的一或多個中介處理程序的集合(例如,用於整合第三方應用程式與諸如導航或娛樂系統之車輛資訊顯示系統或類似於圖5中外部資訊呈現系統540的其他外部資訊顯示系統的應用程式)。在一些實施例中,用於填充第一使用者介面樣板之一或多個值的請求藉由來自一或多個中介處理程序之集合的中介處理程序產生;且第一使用者介面藉由來自一或多個中介處理程序之集合的中介處理程序產生。舉例而言,智慧型電話(例如,圖5中之攜帶型多功能裝置100)具有控制車輛(例如,汽車、卡車、有篷貨車等)中車輛資訊顯示系統的車輛整合應用程式151(例如,包括一或多個中介處理程序的應用程式),該車輛資訊顯示系統在車輛資訊顯示系統之各別顯示器(例如,圖5之外部資訊呈現系統540的顯示器547)上提供使用者介面,諸如用於地圖繪製應用程式或音樂應用程式。智慧型電話亦具有諸如分離播客應用或串流傳輸網際網路無線電應用程式的一或多個第三方應用程式,且車輛整合應用程式將資訊自第三方應用程式轉換成供藉由車輛整合應用程式顯示於車輛資訊顯示系統之各別顯示器上的內容。 In some embodiments, the apparatus includes (732): a plurality of processing programs including a first third party application processing program for executing the first third party application; and A collection of one or more mediation handlers that transfer information between third-party application handlers (eg, for integrating third-party applications with vehicle information display systems such as navigation or entertainment systems or similar to external information in Figure 5) The application of the other external information display system of the presentation system 540). In some embodiments, the request to populate one or more values of the first user interface template is generated by an intermediary handler from a set of one or more mediation handlers; and the first user interface is derived from An intermediary handler for the collection of one or more mediation handlers is generated. For example, a smart phone (eg, portable multifunction device 100 in FIG. 5) has a vehicle integration application 151 that controls a vehicle information display system in a vehicle (eg, a car, truck, van, etc.) (eg, An application comprising one or more mediation handlers, the vehicle information display system providing a user interface on a respective display of the vehicle information display system (eg, display 547 of external information presentation system 540 of FIG. 5), such as Map an app or music app to the map. The smart phone also has one or more third-party applications such as a separate podcast application or a streaming internet radio application, and the vehicle integration application converts information from a third-party application into a vehicle-integrated application. Content displayed on the respective displays of the vehicle information display system.

在一些實施例中,第一第三方應用程式為(734)媒體呈現應用程 式(例如,圖1A之網際網路無線電142)。在一些實施例中,裝置包括係媒體呈現應用程式之第一方應用程式(例如,圖1A中之視訊與音樂播放器模組152);第一方應用程式包括具有用於請求媒體呈現操作之執行的複數個可選擇可視線索及第一方使用者介面之各別位置處一或多個內容呈現區(例如,用於顯示可用媒體之清單的區)的第一方使用者介面;且產生第一第三方應用程式之第一使用者介面包括產生使用者介面,該使用者介面包括功能及位置上對應於第一方使用者介面之可選擇可視線索及內容呈現區的可選擇可視線索及一或多個內容呈現區。因此,在一些實施例中,第一使用者介面樣板為使來自第三方應用程式之資訊適應於標準化使用者介面的樣板,該標準化使用者介面具有類似控制項、內容區及對於第一方媒體呈現應用程式的外觀以便提供一致使用者介面,該一致之使用者介面對於使用者為熟悉的,且因此在顯示於可自車輛之駕駛員座位看見之車輛資訊顯示系統上時防止駕駛員分心。 In some embodiments, the first third party application is a (734) media presentation application (eg, Internet Radio 142 of Figure 1A). In some embodiments, the device includes a first party application that is a media presentation application (eg, video and music player module 152 in FIG. 1A); the first party application includes a request to request media presentation operations. Executing a plurality of selectable visual cues and a first party user interface of one or more content presentation areas (eg, areas for displaying a list of available media) at respective locations of the first party user interface; and generating The first user interface of the first third party application includes a user interface including a selectable visual cues of functions and locations corresponding to the selectable visual cues and content presentation areas of the first party user interface and One or more content presentation areas. Thus, in some embodiments, the first user interface template is a template for adapting information from a third party application to a standardized user interface having similar controls, content areas, and for first party media Presenting the appearance of the application to provide a consistent user interface that is familiar to the user and thus prevents driver distraction when displayed on a vehicle information display system that is visible from the driver's seat of the vehicle .

裝置將使得用於第一第三方應用程式的第一使用者介面能夠顯示於各別顯示器上之資訊發送(736)或以其他方式提供至各別顯示器(例如,攜帶型多功能裝置100提供資訊至圖5中之外部資訊呈現系統540的顯示器547上)。 The device will enable the first user interface for the first third party application to be displayed (736) on the respective display or otherwise provided to the respective display (eg, the portable multifunction device 100 provides information) Up to display 547 of external information presentation system 540 in FIG.

在一些實施例中,在第一第三方應用程式之第一使用者介面顯示於各別顯示器上之同時,裝置自各別顯示器之輸入裝置(例如,與各別顯示器一致之觸敏式表面或用於控制各別顯示器之按鈕或旋鈕)接收(738)對應於第一使用者介面中選項之選擇的各別輸入(例如,所選擇選項為播放、暫停、探尋、顯示新功能表或執行諸如「喜歡」、「跳過」或「添加至最愛項目」之第三方應用程式特定操作的選項)。回應於接收到各別輸入,裝置將資訊提供(740)至在電子裝置上執行之第一第三方應用程式,其使得第一第三方應用程式能夠對第一使用 者介面中選項的選擇作出回應。在一些實施例中,裝置自第一第三方應用程式接收(742)對來自第一第三方應用程式之選項之選擇的回應;且將使得對選項之選擇的回應能夠被提供給(例如,顯示給)使用者之資訊發送(744)或以其他方式提供至各別顯示器。舉例而言,使用者藉由串流傳輸網際網路無線電台之名稱的清單呈現於各別顯示器上,使用者觸按各別串流傳輸網際網路無線電台的名稱(例如,觸按圖5中外部資訊呈現系統540的觸控式螢幕顯示器),裝置(例如,圖5中之攜帶型多功能裝置100)處的中介處理程序向第一第三方應用程式提供指示各別串流傳輸網際網路無線電台已被選擇的資訊,第一第三方應用程式請求伺服器(例如,圖5中之伺服器510)提供用於各別串流傳輸網際網路無線電台的封面、標題、子標題及音訊串流且接著將此資訊提供至中介處理程序(例如,圖5中之攜帶型多功能裝置100處),該中介處理程序基於資訊及使用者介面樣板產生使用者介面,且將所產生之使用者介面傳輸至各別顯示器以供顯示(例如,顯示於圖5中外部資訊呈現系統540的顯示器547上)。 In some embodiments, while the first user interface of the first third party application is displayed on the respective display, the device is input from the respective display device (eg, a touch sensitive surface consistent with the respective display or The buttons or knobs that control the respective displays receive (738) respective inputs corresponding to the selection of options in the first user interface (eg, the selected option is to play, pause, explore, display a new menu, or perform such as " Options for third-party application-specific actions like ", skip" or "add to favorite items"). In response to receiving the respective input, the device provides (740) information to the first third party application executing on the electronic device that enables the first third party application to use the first The choice of options in the interface responds. In some embodiments, the device receives (742) a response to the selection of the option from the first third party application from the first third party application; and will enable a response to the selection of the option to be provided (eg, display) The user's information is sent (744) or otherwise provided to the respective display. For example, the user presents a list of the names of the Internet radio stations by streaming on the respective displays, and the user touches the name of the respective streaming radio network radio station (for example, touching FIG. 5 The touch screen display of the medium and external information presentation system 540, the intermediary processing program at the device (for example, the portable multifunction device 100 in FIG. 5) provides the first third party application with the indication of the respective streaming network. The information that the radio station has selected, the first third party application request server (e.g., server 510 in FIG. 5) provides the cover, title, subtitle, and title for each of the serial streaming internet radio stations. Audio streaming and then providing this information to an intermediary handler (eg, at portable multifunction device 100 in FIG. 5) that generates a user interface based on the information and user interface templates and will generate The user interface is transmitted to the respective display for display (eg, displayed on display 547 of external information presentation system 540 in FIG. 5).

在一些實施例中,裝置處之第一方中介處理程序藉由將資料自第一第三方應用程式轉換成防止分心駕駛的標準化之簡化使用者介面且藉由轉送對應於與顯示於各別顯示器上之使用者介面的使用者互動的輸入而中介各別顯示器與第一第三方應用程式之間的通信,使得第一第三方應用程式可對輸入作出回應,即使在第一第三方應用程式並不被提供指示各別顯示器之大小、解析度及其他特性的資訊且並不具有對與顯示於各別顯示器上之使用者介面之使用者互動的直接存取時。舉例而言,第三方應用程式並不具備觸摸輸入之時間及位置,而是獲得關於如經由第一方中介處理程序所篩選由使用者請求何資訊的資訊。 In some embodiments, the first party intermediary processing at the device converts the data from the first third party application into a standardized simplified user interface that prevents distracting driving and is corresponding to and displayed by forwarding The user interaction input of the user interface on the display mediates communication between the respective display and the first third party application, so that the first third party application can respond to the input even in the first third party application Information that indicates the size, resolution, and other characteristics of the respective displays is not provided and does not have direct access to user interaction with the user interface displayed on the respective displays. For example, a third-party application does not have the time and location of touch input, but instead obtains information about what information is requested by the user, such as through a first-party intermediary handler.

在一些實施例中,在第一第三方應用程式之第一使用者介面顯 示於各別顯示器(746)上之同時,裝置接收(748)指示第一使用者介面中各別選項之選擇(例如,容器或具有子節點之節點的選擇,諸如,包括所選擇藝術家之歌曲的「藝術家」資料夾,或複數個網際網路串流傳輸無線電台之特定網際網路串流傳輸無線電台的選擇)的資訊。在一些實施例中,回應於接收到指示第一使用者介面中各別選項之選擇的資訊(750):裝置獲得(752)不同於第一使用者介面樣板之第二使用者介面樣板(例如,用於顯示容器之內容的樣板,諸如播放清單樣板,或者「正在播放」使用者介面樣板);且自第一第三方應用程式請求(754)用於填充第二使用者介面樣板的一或多個值。在一些實施例中,裝置在第一第三方應用程式正於電子裝置上執行之同時自第一第三方應用程式接收(756)用於填充第二使用者介面樣板的第二值集合(例如,用於播放清單樣板之所選擇藝術家之歌曲的名稱及播放時間資訊,或當前播放之無線電台的名稱、當前正播放之歌曲的名稱、用於「正在播放」樣板之當前播放歌曲的封面);藉由接收自第一第三方應用程式之第二值集合填充(758)第二使用者介面樣板;藉由使用由第二值集合填充之第二使用者介面樣板(例如,插入所選擇藝術家之歌曲的名稱及播放時間資訊至播放清單樣板中,或插入當前播放無線電台之名稱、當前播放歌曲之名稱及當前播放歌曲之封面至「正在播放」樣板中,該「正在播放」樣板包括用於控制暫停/開始/停止/快進/倒帶當前播放歌曲的控制項)來產生(760)第一第三方應用程式的第二使用者介面;及將使得第一第三方應用程式之第二使用者介面能夠顯示於各別顯示器上之資訊發送(762)或以其他方式提供至各別顯示器。 In some embodiments, the first user interface of the first third party application is displayed While present on the respective display (746), the device receives (748) a selection indicating individual options in the first user interface (eg, a container or a selection of nodes having child nodes, such as songs including selected artists) Information about the "Artist" folder, or the selection of a particular Internet streaming radio station for a plurality of Internet streaming radio stations. In some embodiments, in response to receiving information indicating a selection of respective options in the first user interface (750): the device obtains (752) a second user interface template that is different from the first user interface template (eg, a template for displaying the contents of the container, such as a playlist template, or a "playing" user interface template; and requesting (754) from the first third party application to populate the second user interface template Multiple values. In some embodiments, the device receives (756) a second set of values for populating the second user interface template from the first third party application while the first third party application is executing on the electronic device (eg, The name and playback time information of the selected artist's song used to play the list template, or the name of the currently playing radio station, the name of the currently playing song, and the cover of the currently playing song for the "Now Playing" template); Filling (758) a second user interface template by receiving a second set of values from the first third party application; by using a second user interface template populated with the second set of values (eg, inserting the selected artist The name of the song and the playing time information are added to the playlist template, or the name of the currently playing radio station, the name of the currently playing song, and the cover of the currently playing song are added to the "Now Playing" template. The "Playing" template is included for Controlling the pause/start/stop/fast forward/rewind control of the currently playing song) to generate (760) the second third party application By the interface; such that the first and the second third-party applications can be displayed on the user interface information transmitted (762) provided on the respective display or otherwise to the respective display.

在一些實施例中,在將使得第一第三方應用程式之第一使用者介面能夠顯示於各別顯示器上之資訊發送至各別顯示器(764)之後,裝置接收(766)對將不同於第一第三方應用程式之第二第三方應用程 式的使用者介面顯示於各別顯示器上的第二顯示請求(例如,使用與各別顯示器相關聯之控制項或與電子裝置相關聯之控制項來接收第二第三方應用程式之應用程式啟動圖示的啟動)。舉例而言,在使用者最初播放來自網際網路串流傳輸無線電應用程式142的音訊(例如,將使用者介面用於展示於圖68中之串流傳輸網際網路無線電應用程式)之同時,使用者自分離播客應用程式或音訊書應用程式切換至播放音訊。在一些實施例中,回應於接收到第二顯示請求,裝置自第二第三方應用程式請求(768)用於填充第一使用者介面樣板的一或多個值;在第二第三方應用程式正在電子裝置上執行同時自第二第三方應用程式接收(770)用於填充第一使用者介面樣板的第三值集合;用接收自第二第三方應用程式的第三值集合填充(772)第一使用者介面樣板;使用由第三值集合填充之第一使用者介面樣板產生(774)第二第三方應用程式的第二使用者介面;及將使得第二第三方應用程式之第二使用者介面能夠顯示於各別顯示器上(例如,展示於圖6C中之唱片庫應用程式155的使用者介面)之資訊發送(776)(或以其他方式提供)至各別顯示器。因此,在一些實施例中,當請求使用相同第一使用者介面樣板的不同第三方應用程式時,裝置重複請求來自第三方應用程式之值以填充第一使用者介面樣板的程序。此程序在此情形下重複,此係因為第一使用者介面樣板經設計或組態以由複數個不同之第三方應用程式使用。 In some embodiments, after transmitting information that enables the first user interface of the first third party application to be displayed on the respective display to the respective display (764), the device receiving (766) pair will be different from the first Second third party application of a third party application a second display request displayed on the respective display (eg, using an application associated with the respective display or a control associated with the electronic device to receive the application of the second third party application) The startup of the illustration). For example, while the user initially plays audio from the Internet streaming radio application 142 (e.g., using the user interface for the streaming Internet radio application shown in Figure 68), The user switches from the detached podcast application or the audiobook application to play the audio. In some embodiments, in response to receiving the second display request, the device requests (768) from the second third party application to populate one or more values of the first user interface template; in the second third party application Executing on the electronic device while receiving (770) a third set of values for populating the first user interface template from the second third party application; populating with the third set of values received from the second third party application (772) a first user interface template; generating, by the first user interface template filled with the third set of values, (774) a second user interface of the second third party application; and causing the second third party application to be second The user interface can be displayed (776) (or otherwise provided) to the respective displays on a respective display (eg, the user interface of the record library application 155 shown in FIG. 6C). Thus, in some embodiments, when requesting a different third party application using the same first user interface template, the device repeatedly requests a value from the third party application to populate the first user interface template. This procedure is repeated in this case because the first user interface template is designed or configured for use by a plurality of different third party applications.

在一些實施例中,在將資訊發送至使得第一第三方應用程式之第一使用者介面能夠顯示於各別顯示器上的各別顯示器(764)之後:裝置自第一第三方應用程式接收(778)用於填充第一使用者介面樣板的經更新之第一值集合。在一些實施例中,回應於接收到用於填充第一使用者介面樣板的經更新之第一值集合(780),裝置由接收自第一第三方應用程式的經更新的第一值集合填充(782)第一使用者介面樣 板;使用由經更新之第一值集合填充的第一使用者介面樣板產生(784)第一第三方應用程式的經更新之第一使用者介面;及將使得第一第三方應用程式之經更新的第一使用者介面能夠顯示於各別顯示器上之資訊提供(786)至各別顯示器。在一些實施例中,基於發生於第一第三方應用程式處之事件產生經更新之第一值集合(例如,對第一第三方應用程式之使用者介面的更新藉由第一第三方應用程式起始,而非藉由中介處理程序起始)。舉例而言,第三方應用程式為串流傳輸媒體應用程式,且裝置之資料連接停止起作用。回應於偵測到資料連接已停止起作用,第三方應用程式將資訊傳輸至裝置處之中介處理程序,從而指示先前標識為「可播放」的串流傳輸內容(例如,在存在工作中之資料連接時)狀態已改變,使得其為「不可播放的」(例如,因為資料連接不再可用)。在一些實施例中,當內容自「可播放」改變至「不可播放」時,第一第三方應用程式之第一使用者介面經更新以指示,內容「不可播放」(例如,藉由自可播放內容清單移除內容,或藉由減少表示之對比度或將「不可播放」圖示或符號文字顯示給內容之表示而改變內容之表示的外觀以指示內容當前不可播放)。舉例而言,在圖6B中,若裝置停止具有對展示於內容選擇視圖606中之串流傳輸網際網路無線電台的存取,則裝置將重新產生展示於圖6B中之使用者介面以反映串流傳輸網際網路無線電台的不可用性(例如,藉由顯示相鄰於不可用台之名稱的不可播放圖示,藉由減少之對比度(「灰化不可用台」),或藉由自內容選擇視圖606移除台)。 In some embodiments, after the information is sent to a respective display (764) that enables the first user interface of the first third party application to be displayed on the respective display: the device receives from the first third party application ( 778) An updated first set of values for populating the first user interface template. In some embodiments, in response to receiving the updated first set of values (780) for populating the first user interface template, the device is populated by the updated first set of values received from the first third party application (782) First user interface Generating (784) an updated first user interface of the first third party application using the first user interface template populated by the updated first set of values; and causing the first third party application to pass The updated first user interface can display (786) the information provided on the respective displays to the respective displays. In some embodiments, the updated first set of values is generated based on an event occurring at the first third party application (eg, updating the user interface of the first third party application by the first third party application) Start, not by the intermediary handler). For example, a third-party application is streaming a media application and the device's data connection stops functioning. In response to detecting that the data connection has ceased to function, the third party application transmits the information to the mediation handler at the device, thereby indicating the streamed content previously identified as "playable" (eg, in the presence of work data) When connected, the status has changed, making it "unplayable" (for example, because the data connection is no longer available). In some embodiments, when the content is changed from "playable" to "non-playable", the first user interface of the first third party application is updated to indicate that the content is "unplayable" (eg, by self- Play the content list to remove the content, or change the appearance of the representation of the content by reducing the contrast of the representation or displaying the "unplayable" icon or symbol text to the representation of the content to indicate that the content is currently unplayable). For example, in FIG. 6B, if the device stops having access to the streaming internet radio station displayed in the content selection view 606, the device will regenerate the user interface shown in FIG. 6B to reflect Streaming the unavailability of an internet radio station (for example, by displaying an unplayable icon adjacent to the name of the unavailable station, by reducing the contrast ("ashing the unavailable desk"), or by The content selection view 606 removes the station).

應理解,已描述圖7A至圖7I中之操作所採用的特定次序為實例,且並不意欲指示所描述次序係可執行操作採用的唯一次序。一般熟習此項技術者將認識到對本文中所描述之操作重新排序的各種方式。 It is to be understood that the specific order in which the operations in the FIGS. 7A through 7I have been described is an example and is not intended to indicate that the described order is the only order in which the operations can be performed. Those of ordinary skill in the art will recognize various ways of reordering the operations described herein.

根據一些實施例,圖8展示根據各種所描述實施例之原理而組態的第一電子裝置800之功能方塊圖。裝置之功能方塊視需要藉由硬體、軟體或硬體與軟體之組合來實施以進行各種所描述實施例的原理。熟習此項技術者應理解,視需要組合圖8中所描述之功能方塊或將其分離成子方塊以實施各種所描述實施例的原理。因此,本文中之描述內容視需要支援本文中所描述之功能方塊之任何可能組合或分離或進一步定義。 FIG. 8 shows a functional block diagram of a first electronic device 800 configured in accordance with the principles of various described embodiments, in accordance with some embodiments. Functional blocks of the device are implemented by hardware, software or a combination of hardware and software as desired to carry out the principles of the various described embodiments. Those skilled in the art will appreciate that the functional blocks described in FIG. 8 may be combined or separated into sub-blocks as needed to implement the principles of the various described embodiments. Accordingly, the description herein supports any possible combination or separation or further definition of the functional blocks described herein as needed.

如圖8中所展示,電子裝置800包括耦接至處理單元802之記憶體。在一些實施例中,電子裝置800亦包括通信介面單元804,其耦接至處理單元802且經組態以與各別顯示單元806通信。在一些實施例中,處理單元802包括接收單元807、獲得單元808、請求單元810、填充單元812、介面產生單元814、發送單元816、資訊提供單元818、判定單元820、索引產生單元822、語音提供單元824、偵測單元826,及數位助理單元828。處理單元802經組態以接收(例如,經由通信介面單元804藉由接收單元807)第一顯示請求以將第一第三方應用程式的使用者介面顯示於與電子裝置800通信的各別顯示單元(例如,藉由各別顯示單元806)上。處理單元802經進一步組態以回應於接收到第一顯示請求:獲得(例如,藉由獲得單元808)經組態以由複數個第三方應用程式使用的第一使用者介面樣板;且自第一第三方應用程式請求(例如,藉由請求單元810)用於填充第一使用者介面樣板的一或多個值。處理單元802經進一步組態以在第一第三方應用程式正於電子裝置上執行之同時自第一第三方應用程式接收(例如,藉由接收單元807或通信介面單元804)用於填充第一使用者介面樣板的第一值集合;由接收自第一第三方應用程式之第一值集合填充(例如,藉由填充單元812)第一使用者介面樣板;使用由第一值集合填充之第一使用者介面樣板產生(例如,藉由介面產生單元814)用於第一第三方應用程式的 第一使用者介面;及將使得第一第三方應用程式之第一使用者介面能夠顯示於各別顯示單元(例如,各別顯示單元806)上之資訊發送(例如,藉由發送單元816)至各別顯示單元。 As shown in FIG. 8 , the electronic device 800 includes a memory coupled to the processing unit 802 . In some embodiments, electronic device 800 also includes a communication interface unit 804 coupled to processing unit 802 and configured to communicate with respective display unit 806. In some embodiments, the processing unit 802 includes a receiving unit 807, an obtaining unit 808, a requesting unit 810, a filling unit 812, an interface generating unit 814, a transmitting unit 816, an information providing unit 818, a determining unit 820, an index generating unit 822, and a voice. The providing unit 824, the detecting unit 826, and the digital assistant unit 828. The processing unit 802 is configured to receive (eg, via the communication interface unit 804 via the receiving unit 807) a first display request to display the user interface of the first third party application to the respective display unit in communication with the electronic device 800 (for example, by separate display unit 806). Processing unit 802 is further configured to receive a first display request by obtaining (eg, by obtaining unit 808) a first user interface template configured for use by a plurality of third party applications; A third party application request (eg, by request unit 810) is used to populate one or more values of the first user interface template. The processing unit 802 is further configured to receive from the first third party application (eg, by the receiving unit 807 or the communication interface unit 804) for filling the first while the first third party application is executing on the electronic device a first set of values of the user interface template; a first user interface template populated by the first set of values received from the first third party application (eg, by the fill unit 812); A user interface template is generated (eg, by interface generation unit 814) for the first third party application a first user interface; and information transmission that enables the first user interface of the first third party application to be displayed on the respective display unit (eg, the respective display unit 806) (eg, by the transmitting unit 816) To each display unit.

在一些實施例中,處理單元802經進一步組態以:在第一第三方應用程式之第一使用者介面顯示於各別顯示單元(例如,各別顯示單元806)上之同時,自各別顯示單元之輸入裝置接收(例如,經由通信介面單元804藉由接收單元807)對應於第一使用者介面中選項之選擇的各別輸入,且回應於接收到各別輸入提供(例如,藉由資訊提供單元818)資訊至在電子裝置上執行的第一第三方應用程式,該電子裝置使得第一第三方應用程式對第一使用者介面中選項之選擇作出回應。在一些實施例中,處理單元802經進一步組態以自第一第三方應用程式接收(例如,經由通信介面單元804藉由接收單元807)來自第一第三方應用程式之對選項之選擇的回應;且將使得對選項之選擇的回應能夠提供至使用者之資訊發送(例如,藉由發送單元816)至各別顯示單元。 In some embodiments, the processing unit 802 is further configured to: display the first user interface of the first third party application on a separate display unit (eg, the respective display unit 806) The input device of the unit receives (eg, via the communication interface unit 804 via the receiving unit 807) a respective input corresponding to the selection of the option in the first user interface, and in response to receiving the respective input (eg, by information) The providing unit 818) information to the first third party application executing on the electronic device, the electronic device causing the first third party application to respond to the selection of the option in the first user interface. In some embodiments, processing unit 802 is further configured to receive (eg, via communication interface unit 804 via receiving unit 807) a response from the first third party application to the selection of options from the first third party application. And will enable the response to the selection of options to be provided to the user for information transmission (eg, by sending unit 816) to the respective display unit.

在一些實施例中,處理單元802經進一步組態以在第一第三方應用程式之第一使用者介面顯示於各別顯示單元(例如,各別顯示單元806)上之同時:接收(例如,經由通信介面單元804藉由接收單元807)指示第一使用者介面中各別選項之選擇的資訊;且回應於接收到指示第一使用者介面中各別選項之選擇的資訊:獲得(例如,藉由獲得單元808)不同於第一使用者介面樣板之第二使用者介面樣板;及自第一第三方應用程式請求(例如,藉由請求單元810)用於填充第二使用者介面樣板的一或多個值。在一些實施例中,處理單元802經進一步組態以在第一第三方應用程式正於電子裝置上執行之同時自第一第三方應用程式接收(例如,經由通信介面單元804藉由接收單元807)用於填充第二使用者介面樣板的第二值集合;由接收自第一第三方應用程式 之第二值集合填充(例如,藉由填充單元812)第二使用者介面樣板;藉由使用由第二值集合填充之第二使用者介面樣板產生(例如,藉由介面產生單元814)用於第一第三方應用程式的第二使用者介面;及將使得第一第三方應用程式之第二使用者介面能夠顯示於各別顯示單元(例如,各別顯示單元806)上之資訊發送(例如,藉由發送單元816)至各別顯示單元。 In some embodiments, processing unit 802 is further configured to: while the first user interface of the first third party application is displayed on a respective display unit (eg, individual display unit 806): receiving (eg, Information indicating the selection of the respective options in the first user interface via the communication interface unit 804 via the receiving unit 807); and in response to receiving the information indicating the selection of the respective options in the first user interface: obtaining (eg, And obtaining, by the obtaining unit 808, a second user interface template different from the first user interface template; and requesting (eg, by requesting unit 810) from the first third-party application to fill the second user interface template One or more values. In some embodiments, processing unit 802 is further configured to receive from the first third party application while the first third party application is executing on the electronic device (eg, via communication interface unit 804 via receiving unit 807) a second set of values for populating the second user interface template; received from the first third party application The second set of values is filled (eg, by the filling unit 812) the second user interface template; generated by using the second user interface template populated with the second set of values (eg, by the interface generation unit 814) a second user interface of the first third party application; and information transmission that enables the second user interface of the first third party application to be displayed on the respective display unit (eg, the respective display unit 806) For example, by transmitting unit 816) to each display unit.

在一些實施例中,處理單元802經進一步組態以在發送(例如,藉由發送單元816)資訊至使得第一第三方應用程式之第一使用者介面能夠顯示於各別顯示單元(例如,各別顯示單元806)上的各別顯示單元之後,接收(例如,藉由接收單元807或經由通信介面單元804)對將不同於第一第三方應用程式之第二第三方應用程式的使用者介面顯示於各別顯示單元(例如,各別顯示單元806)上的第二顯示請求。在一些實施例中,處理單元802經進一步組態以回應於接收到第二顯示請求而:自第二第三方應用程式請求(例如,藉由請求單元810)用於填充第一使用者介面樣板的一或多個值;在第二第三方應用程式正在電子裝置上執行之同時自第二第三方應用程式接收(例如,經由通信介面單元804藉由接收單元807)用於填充第一使用者介面樣板的第三值集合;用接收自第二第三方應用程式的第三值集合填充(例如,藉由填充單元812)第一使用者介面樣板;使用由第三值集合填充之第一使用者介面樣板產生(例如,藉由介面產生單元814)第二第三方應用程式的第二使用者介面;及將使得第二第三方應用程式之第二使用者介面能夠顯示於各別顯示單元(例如,各別顯示單元806)上之資訊發送(例如,藉由發送單元816)至各別顯示單元。 In some embodiments, processing unit 802 is further configured to transmit (eg, via transmitting unit 816) information such that the first user interface of the first third party application can be displayed on the respective display unit (eg, After the respective display units on the respective display unit 806), the user of the second third party application that will be different from the first third party application is received (eg, by the receiving unit 807 or via the communication interface unit 804) The interface displays a second display request on a respective display unit (eg, individual display unit 806). In some embodiments, the processing unit 802 is further configured to respond to the receipt of the second display request: from the second third party application request (eg, by the request unit 810) for populating the first user interface template One or more values; received from the second third party application while the second third party application is executing on the electronic device (eg, via the communication interface unit 804 via the receiving unit 807) for populating the first user a third set of values of the interface template; populating (eg, by populating unit 812) the first user interface template with a third set of values received from the second third party application; using the first use populated by the third set of values The interface template generates (eg, via the interface generation unit 814) a second user interface of the second third party application; and enables the second user interface of the second third party application to be displayed on the respective display unit ( For example, the information on the respective display unit 806) is transmitted (e.g., by the transmitting unit 816) to the respective display unit.

在一些實施例中,裝置包括複數個處理程序,該等處理程序包括用於執行第一第三方應用程式的第一第三方應用程式處理程序,及用於轉送各別顯示單元與第一第三方應用程式處理程序之間的資訊的 一或多個中介處理程序集合;用於填充第一使用者介面樣板之一或多個值的請求藉由來自一或多個中介處理程序集合的中介處理程序產生;且第一使用者介面藉由來自一或多個中介處理程序集合的中介處理程序產生。 In some embodiments, the apparatus includes a plurality of processing programs, the processing program including a first third party application processing program for executing the first third party application, and for forwarding the respective display unit with the first third party Application processing information between programs One or more mediation handler sets; a request to populate one or more values of the first user interface template is generated by an intermediary handler from one or more mediation handler sets; and the first user interface borrows Generated by an intermediary handler from one or more mediation handler collections.

在一些實施例中,第一值集合中之一或多個值係回應於對用於填充第一使用者介面樣板之一或多個值的請求而由第一第三方應用程式自遠端源擷取。 In some embodiments, one or more of the first set of values are from the remote source by the first third party application in response to the request to populate one or more values of the first user interface template Capture.

在一些實施例中,各別顯示單元(例如,各別顯示單元806)為可自車輛之駕駛員座位看見的車輛資訊顯示系統中的顯示單元;且第一使用者介面樣板為複數個預定使用者介面樣板中的一者,該等預定使用者介面樣板經組態以用以在各別顯示單元上產生防止駕駛員的分心的用於第三方應用程式的使用者介面。 In some embodiments, the respective display unit (eg, the respective display unit 806) is a display unit in the vehicle information display system viewable from the driver's seat of the vehicle; and the first user interface template is for a plurality of predetermined uses. In one of the interface templates, the predetermined user interface templates are configured to create a user interface for a third party application that prevents distraction of the driver on the respective display unit.

在一些實施例中,第一使用者介面樣板由包括第一第三方應用程式及第二第三方應用程式的複數個不同之第三方應用程式使用;由接收自各別第三方應用程式之值填充(例如,藉由填充單元812)第一使用者介面樣板包括將由各別第三方應用程式識別為屬於第一值類別的值插入至經提供至各別顯示單元的使用者介面中處於預定義字型大小的預定義區處;且對於第一使用者介面樣板:第一第三方應用程式將第一類型之資訊識別為第一值類別;且第二第三方應用程式將不同於第一類型之資訊的第二類型之資訊識別為第一值類別。 In some embodiments, the first user interface template is used by a plurality of different third party applications including the first third party application and the second third party application; the values are received by the values received from the respective third party applications ( For example, the first user interface template by the filling unit 812 includes inserting values recognized by the respective third party applications as belonging to the first value category into the user interface provided to the respective display unit in a predefined font type. a predefined area of size; and for the first user interface template: the first third party application identifies the first type of information as the first value category; and the second third party application will be different from the first type of information The second type of information is identified as the first value category.

在一些實施例中,對於第一使用者介面樣板而言:第一第三方應用程式將遠端產生之內容台的名稱識別為第一值類別;且第二第三方應用程式將預定播放清單之名稱識別為第一值類別。 In some embodiments, for the first user interface template: the first third party application identifies the name of the remotely generated content station as the first value category; and the second third party application will reserve the playlist The name is identified as the first value category.

在一些實施例中,對於第一使用者介面樣板而言:第一第三方應用程式將可經串流傳輸至裝置的內容名稱識別為第一值類別;且第二第三方應用程式將儲存於裝置上的內容名稱識別為第一值類別。 In some embodiments, for the first user interface template: the first third party application identifies the content name that can be streamed to the device as the first value category; and the second third party application is to be stored in The content name on the device is identified as the first value category.

在一些實施例中,第一第三方應用程式之值配置成樹型結構,該樹型結構包括具有預定特性之複數個節點,及與樹型結構中一或多個其他節點的樹型關係;且對用於填充第一使用者介面樣板之一或多個值的請求(例如,藉由請求單元810)包括以下各者中的一或多者:傳回對應於複數個節點中之各別節點之子節點清單之值的請求;傳回對應於複數個節點中之各別節點之特性清單的值的請求;提供由各別節點表示之內容的請求;提供與搜尋查詢匹配之節點清單的請求;及提供對於第三方應用程式特定之動作清單的請求,可在提供對與第一第三方應用程式相關聯之內容的存取之同時採取該等動作。 In some embodiments, the value of the first third party application is configured as a tree structure comprising a plurality of nodes having predetermined characteristics and a tree relationship with one or more other nodes in the tree structure; A request to populate one or more values of the first user interface template (eg, by request unit 810) includes one or more of: returning respective nodes corresponding to the plurality of nodes a request for the value of the child node list; a request to return a value corresponding to a list of characteristics of each of the plurality of nodes; a request to provide content represented by the respective node; a request to provide a list of nodes matching the search query; And providing a request for a third party application specific action list that can be taken while providing access to the content associated with the first third party application.

在一些實施例中,第一第三方應用程式係媒體呈現應用程式。在一些實施例中,裝置800包括係媒體呈現應用程式之第一方應用程式;第一方應用程式包括第一方使用者介面中,該第一方使用者介面具有用於請求媒體呈現操作之執行的複數個可選擇可視線索及第一方使用者介面中之各別位置處的一或多個內容呈現區;且產生(例如,藉由介面產生單元814)第一第三方應用程式之第一使用者介面包括產生使用者介面,該使用者介面包括功能及位置上對應於第一方使用者介面之可選擇可視線索及內容呈現區的可選擇可視線索及一或多個內容呈現區。 In some embodiments, the first third party application is a media presentation application. In some embodiments, the device 800 includes a first party application that is a media presentation application; the first party application includes a first party user interface having a request for media presentation operations. Executing a plurality of selectable visual cues and one or more content presentation areas at respective locations in the first party user interface; and generating (eg, by interface generation unit 814) the first third party application A user interface includes a user interface, the user interface including selectable visual cues and one or more content presentation areas corresponding to the selectable visual cues and content presentation areas of the first party user interface.

在一些實施例中,處理單元802經進一步組態以在將資訊發送至使得第一第三方應用程式之第一使用者介面能夠顯示於各別顯示單元(例如,各別顯示單元806)上的各別顯示單元之後:自第一第三方應用程式接收(例如,經由通信介面單元804藉由接收單元807)用於填充第一使用者介面樣板的經更新之第一值集合;及回應於接收到用於填充第一使用者介面樣板的經更新之第一值集合:由接收自第一第三方應用程式之經更新之第一值集合填充(例如,藉由填充單元812)第一使用者介面樣板;使用由經更新之第一值集合填充的第一使用者介面 樣板產生(例如,藉由介面產生單元814)第一第三方應用程式的經更新之第一使用者介面;及將使得第一第三方應用程式之經更新之第一使用者介面顯示於各別顯示單元上之資訊提供(例如,藉由資訊提供單元818)至各別顯示單元。 In some embodiments, processing unit 802 is further configured to transmit information to enable a first user interface of the first third party application to be displayed on a respective display unit (eg, respective display unit 806) After the respective display unit: received from the first third party application (eg, via the communication interface unit 804 via the receiving unit 807) for populating the updated first set of values of the first user interface template; and in response to receiving Up to an updated first set of values for populating the first user interface template: populating (eg, by populating unit 812) the first user by the updated first set of values received from the first third party application Interface template; using a first user interface populated with a first set of updated values The template generates (eg, via the interface generation unit 814) the updated first user interface of the first third party application; and causes the updated first user interface of the first third party application to be displayed in each The information on the display unit is provided (e.g., by the information providing unit 818) to the respective display unit.

在一些實施例中,裝置800包括具有語音辨識能力的數位個人助理處理程序(例如,數位助理單元828)。在一些實施例中,處理單元802經進一步組態以:基於來自第一第三方應用程式的對針對與填充使用者介面之使用者介面樣板用於各別顯示單元相關聯之值的第三方應用程式之複數個請求作出的回應而判定(例如,藉由判定單元820)第一第三方應用程式的能力;產生(例如,藉由索引產生單元822)第一第三方應用程式之能力的索引;及經由數位個人助理處理程序(例如,藉由數位助理單元828)提供(例如,藉由語音提供單元824)對第一第三方應用程式之能力的語音存取。 In some embodiments, device 800 includes a digital personal assistant process (eg, digital assistant unit 828) with speech recognition capabilities. In some embodiments, the processing unit 802 is further configured to: based on a third party application from the first third party application for values associated with the user interface template populating the user interface for the respective display unit Determining (eg, by decision unit 820) the capabilities of the first third party application by a plurality of requests for the program; generating an index of the capabilities of the first third party application (eg, by index generation unit 822); And providing voice access to the capabilities of the first third party application (e.g., by voice providing unit 824) via a digital personal assistant processing program (e.g., via digital assistant unit 828).

在一些實施例中,處理單元802經進一步組態以:偵測(例如,藉由偵測單元826)預定條件已被滿足;且回應於偵測到預定條件已被滿足:重新判定(例如,藉由判定單元820)第一第三方應用程式之能力;且重新產生(例如,藉由索引產生單元822)第一第三方應用程式之能力的索引。 In some embodiments, processing unit 802 is further configured to: detect (eg, by detecting unit 826) that the predetermined condition has been met; and in response to detecting that the predetermined condition has been met: re-determining (eg, The capability of the first third party application is determined by the determining unit 820; and an index of the capabilities of the first third party application is regenerated (e.g., by the index generating unit 822).

視需要藉由在諸如通用處理器(例如,如上文關於圖1A及圖3所描述)或特殊應用晶片的資訊處理設備中執行一或多個功能模組來實施上文所描述之資訊處理方法中的操作。 The information processing method described above is implemented as needed by executing one or more functional modules in an information processing device such as a general purpose processor (eg, as described above with respect to FIGS. 1A and 3) or a special application chip The operation in .

上文參看圖7A至圖7I描述之操作視需要藉由描繪於圖1A至圖1B或圖8中之組件來實施。舉例而言,接收操作702及712、請求操作710、填充操作722、產生操作730及發送操作736視需要藉由事件分類器170、事件組織器180及事件處理常式190來實施。事件分類器170中之事件監視器171偵測觸敏式顯示器112上之接觸,且事件分派器模組 174將事件資訊遞送至應用程式136-1。應用程式136-1之各別事件辨識器180比較事件資訊與各別事件定義186,且判定觸敏式表面上之第一位置處的第一接觸是否(或裝置之定向是否)對應於預定義事件或子事件(諸如,使用者介面上之物件之選擇,或裝置自一定向至另一定向的旋轉)。當偵測到各別預定義事件或子事件時,事件辨識器180啟動與事件或子事件之偵測相關聯的事件處理常式190。事件處理常式190視需要使用或調用資料更新程式176或物件更新程式177以更新應用程式內部狀態192。在一些實施例中,事件處理常式190存取各別GUI更新程式178以更新由應用程式顯示之內容。類似地,可基於圖1A至圖1B中描繪之組件實施其他程序之方式對於一般熟習此項技術者將為顯而易見的。 The operations described above with reference to Figures 7A through 7I are implemented as desired by the components depicted in Figures 1A-1B or 8. For example, receive operations 702 and 712, request operation 710, fill operation 722, generate operation 730, and send operation 736 are implemented by event classifier 170, event organizer 180, and event processing routine 190 as needed. The event monitor 171 in the event classifier 170 detects the contact on the touch-sensitive display 112, and the event dispatcher module 174 delivers event information to application 136-1. The respective event recognizer 180 of the application 136-1 compares the event information with the respective event definition 186 and determines whether the first contact at the first location on the touch-sensitive surface (or the orientation of the device) corresponds to a predefined An event or sub-event (such as the selection of an object on the user interface, or the rotation of the device from a certain direction to another orientation). When a respective predefined event or sub-event is detected, event recognizer 180 initiates an event processing routine 190 associated with the detection of an event or sub-event. The event processing routine 190 uses or invokes the data update program 176 or the object update program 177 to update the application internal state 192 as needed. In some embodiments, event processing routine 190 accesses respective GUI update programs 178 to update the content displayed by the application. Similarly, the manner in which other programs may be implemented based on the components depicted in Figures 1A-1B will be apparent to those of ordinary skill in the art.

出於解釋之目的,已參看特定實施例描述了上述描述內容。然而,上文之說明性論述並不意欲為詳盡的,或並不意欲將本發明限於所揭示之精確形式。鑒於以上教示內容,許多修改及變化係可能的。選定並描述該等實施例以便最佳地解釋本發明之原理及其實際應用,藉此使熟習此項技術者能夠最佳地使用本發明及具有如適合於所預期之特定用途之各種修改的各種所描述實施例。 The foregoing description has been described with reference to specific embodiments for purposes of explanation. However, the illustrative statements above are not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teachings. The embodiments were chosen and described in order to best explain the principles of the invention Various described embodiments.

700‧‧‧方法 700‧‧‧ method

Claims (20)

一種儲存一或多個程式之非暫時性電腦可讀儲存媒體,該一或多個程式包含指令,該等指令在由具有一或多個處理器及記憶體的一電子裝置執行時使得該裝置執行:接收將一第一第三方應用程式之一使用者介面顯示於與該電子裝置通信之一各別顯示器上的一第一顯示請求;回應於接收到該第一顯示請求:獲得一第一使用者介面樣板,其經組態以由複數個第三方應用程式使用;及自該第一第三方應用程式請求用於填充該第一使用者介面樣板的一或多個值;在該第一第三方應用程式正於該電子裝置上執行之同時自該第一第三方應用程式接收用於填充該第一使用者介面樣板的一第一值集合;由接收自該第一第三方應用程式之該第一值集合填充該第一使用者介面樣板;使用由該第一值集合填充之該第一使用者介面樣板產生用於該第一第三方應用程式的一第一使用者介面;及將使得用於該第一第三方應用程式之該第一使用者介面能夠顯示於該各別顯示器上之資訊發送至該各別顯示器。 A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions that, when executed by an electronic device having one or more processors and memory, cause the device Executing: receiving a first display request for displaying a user interface of a first third party application on a respective display in communication with the electronic device; in response to receiving the first display request: obtaining a first a user interface template configured to be used by a plurality of third party applications; and requesting, from the first third party application, one or more values for populating the first user interface template; Receiving, by the third-party application, a first set of values for populating the first user interface template from the first third-party application while being executed by the third-party application; receiving from the first third-party application The first set of values is populated with the first user interface template; the first user interface template populated by the first set of values is used to generate a first for the first third party application UI; and for the first user such that the first to third application of the interface can be transmitted to the respective display information on the display in the respective display. 如請求項1之媒體,其中該一或多個程式進一步包含指令,該等指令在由具有一或多個處理器及記憶體的一電子裝置執行時使得該裝置執行:在用於該第一第三方應用程式之該第一使用者介面顯示於該各別顯示器上之同時,自用於該各別顯示器之一輸入裝置接收 對應於該第一使用者介面中之一選項之選擇的一各別輸入;及回應於接收到該各別輸入,將資訊提供至在該電子裝置上執行的該第一第三方應用程式,該資訊使得該第一第三方應用程式能夠對該第一使用者介面中之該選項的選擇做出回應;自該第一第三方應用程式接收來自該第一第三方應用程式之對該選項之選擇的該回應;及將資訊發送至該各別顯示器,該資訊使得能夠將對該選項之選擇的該回應提供至該使用者。 The medium of claim 1, wherein the one or more programs further comprise instructions that, when executed by an electronic device having one or more processors and memory, cause the device to execute: for the first The first user interface of the third party application is displayed on the respective display while receiving from an input device for the respective display Corresponding to a respective input of a selection of one of the first user interfaces; and in response to receiving the respective input, providing information to the first third party application executing on the electronic device, The information enables the first third party application to respond to the selection of the option in the first user interface; receiving, from the first third party application, the selection of the option from the first third party application The response; and sending the information to the respective display, the information enabling the response to the selection of the option to be provided to the user. 如請求項1之媒體,其中該一或多個程式進一步包含指令,該等指令在由具有一或多個處理器及記憶體的一電子裝置執行時使得該裝置執行:在用於該第一第三方應用程式之該第一使用者介面顯示於該各別顯示器上之同時:接收指示該第一使用者介面中之一各別選項之一選擇的資訊;及回應於接收到指示該第一使用者介面中之該各別選項之該選擇的該資訊:獲得不同於該第一使用者介面樣板之一第二使用者介面樣板;及自該第一第三方應用程式請求用於填充該第二使用者介面樣板的一或多個值;在該第一第三方應用程式正於該電子裝置上執行之同時自該第一第三方應用程式接收用於填充該第二使用者介面樣板的一第二值集合;由接收自該第一第三方應用程式之該第二值集合填充該第二使用者介面樣板; 藉由使用由該第二值集合填充之該第二使用者介面樣板產生用於該第一第三方應用程式的一第二使用者介面;及將使得用於該第一第三方應用程式之該第二使用者介面能夠顯示於該各別顯示器上之資訊發送至該各別顯示器。 The medium of claim 1, wherein the one or more programs further comprise instructions that, when executed by an electronic device having one or more processors and memory, cause the device to execute: for the first While the first user interface of the third party application is displayed on the respective display: receiving information indicating selection of one of the individual options of the first user interface; and responding to receiving the indication of the first The selected information of the individual options in the user interface: obtaining a second user interface template different from the first user interface template; and requesting to fill the first third party application from the first user interface template One or more values of the user interface template; receiving, from the first third party application, the first third party application to load the second user interface template while the first third party application is executing on the electronic device a second set of values; the second user interface template is populated by the second set of values received from the first third party application; Generating a second user interface for the first third party application by using the second user interface template populated by the second set of values; and causing the first third party application to be used Information that the second user interface can display on the respective display is sent to the respective display. 如請求項1之媒體,其中該一或多個程式進一步包含指令,該等指令在由具有一或多個處理器及記憶體的一電子裝置執行時使得該裝置執行:在將使得用於該第一第三方應用程式之該第一使用者介面能夠顯示於該各別顯示器上之該資訊發送至該各別顯示器之後:接收將用於不同於該第一第三方應用程式之一第二第三方應用程式的一使用者介面顯示於該各別顯示器上的一第二顯示請求;回應於接收到該第二顯示請求,自該第二第三方應用程式請求用於填充該第一使用者介面樣板的一或多個值;在該第二第三方應用程式正於該電子裝置上執行之同時自該第二第三方應用程式接收用於填充該第一使用者介面樣板的一第三值集合;由接收自該第二第三方應用程式之該第三值集合填充該第一使用者介面樣板;使用由該第三值集合填充之該第一使用者介面樣板產生用於該第二第三方應用程式的一第二使用者介面;及將使得用於該第二第三方應用程式之該第二使用者介面能夠顯示於該各別顯示器上之資訊發送至該各別顯示器。 The medium of claim 1, wherein the one or more programs further comprise instructions that, when executed by an electronic device having one or more processors and memory, cause the device to execute: The first user interface of the first third party application can display the information displayed on the respective display to the respective display: the receiving will be used for one of the second third party applications different from the first third party application a second display request displayed by the user interface of the three-party application on the respective display; in response to receiving the second display request, requesting to fill the first user interface from the second third-party application One or more values of the template; receiving, from the second third party application, a third set of values for populating the first user interface template while the second third party application is executing on the electronic device Filling the first user interface template with the third set of values received from the second third party application; using the first user interface template filled with the third value set Generating a second user interface for the second third party application; and transmitting information for the second user interface for the second third party application to be displayed on the respective Individual monitors. 如請求項1之媒體,其中:該裝置包括複數個處理程序,該複數個處理程序包括用於執行該第一第三方應用程式的一第一第三方應用程式處理程序及 用於在該各別顯示器與該第一第三方應用程式處理程序之間轉送資訊的一或多個中介處理程序的一集合;對用於填充該第一使用者介面樣板之該一或多個值的該請求係藉由來自一或多個中介處理程序之該集合的一中介處理程序產生;且該第一使用者介面係藉由來自一或多個中介處理程序之該集合的一中介處理程序產生。 The medium of claim 1, wherein: the device comprises a plurality of processing programs, the plurality of processing programs including a first third party application processing program for executing the first third party application and a set of one or more intermediation handlers for forwarding information between the respective display and the first third party application handler; the one or more for populating the first user interface template The request for the value is generated by an intermediary handler from the set of one or more mediation handlers; and the first user interface is processed by an intermediary from the set of one or more mediation handlers The program is generated. 如請求項1之媒體,其中該第一值集合中之該等值中的一或多者係藉由該第一第三方應用程式回應於對用於填充該第一使用者介面樣板之一或多個值的該請求而自一遠端源擷取。 The medium of claim 1, wherein one or more of the values in the first set of values are responded to by the first third party application to one of the first user interface templates or The request for multiple values is retrieved from a remote source. 如請求項1之媒體,其中:該各別顯示器為可自一車輛之一駕駛員座位看見的一車輛資訊顯示系統中的一顯示器;且該第一使用者介面樣板為複數個預定使用者介面樣板中之一者,該等預定使用者介面樣板經組態以用以在該各別顯示器上產生防止駕駛員分心的用於該第一第三方應用程式的使用者介面。 The medium of claim 1, wherein: the respective display is a display in a vehicle information display system viewable from a driver's seat of a vehicle; and the first user interface template is a plurality of predetermined user interfaces In one of the templates, the predetermined user interface templates are configured to generate a user interface for the first third party application that prevents driver distraction on the respective displays. 如請求項1之媒體,其中:該第一使用者介面樣板由複數個不同之第三方應用程式使用,該等第三方應用程式包括該第一第三方應用程式及一第二第三方應用程式;由接收自一各別第三方應用程式之值填充該第一使用者介面樣板包括將由該各別第三方應用程式識別為屬於一第一值類別的值插入於提供至該各別顯示器之一使用者介面中的處於一預定字型大小的一預定區中;且對於該第一使用者介面樣板: 該第一第三方應用程式將一第一資訊類型識別為該第一值類別;且該第二第三方應用程式將不同於該第一資訊類型之一第二資訊類型識別為該第一值類別。 The medium of claim 1 wherein the first user interface template is used by a plurality of different third party applications, the third party application comprising the first third party application and a second third party application; Populating the first user interface template from values received from a respective third party application includes inserting, by the respective third party application, a value belonging to a first value category for insertion into one of the respective displays In a predetermined area of a predetermined font size in the interface; and for the first user interface template: The first third party application identifies a first information type as the first value category; and the second third party application identifies the second information type different from the first information type as the first value category . 如請求項8之媒體,其中對於該第一使用者介面樣板:該第一第三方應用程式將遠端產生之內容台的名稱識別為該第一值類別;且該第二第三方應用程式將預定播放清單之名稱識別為該第一值類別。 The medium of claim 8, wherein for the first user interface template: the first third party application identifies the name of the remotely generated content station as the first value category; and the second third party application The name of the predetermined playlist is identified as the first value category. 如請求項8之媒體,其中,對於該第一使用者介面樣板:該第一第三方應用程式將可串流傳輸至該裝置之內容的名稱識別為該第一值類別;且該第二第三方應用程式將儲存於該裝置上之內容的名稱識別為該第一值類別。 The media of claim 8, wherein, for the first user interface template: the first third-party application identifies a name of the content that can be streamed to the device as the first value category; and the second The three-party application identifies the name of the content stored on the device as the first value category. 如請求項1之媒體,其中:該第一第三方應用程式處之值配置成一樹型結構,其包括具有預定特性的複數個節點及與該樹型結構中一或多個其他節點的一樹型關係;且對用於填充該第一使用者介面樣板之一或多個值的該請求包括以下各者中的一或多者:傳回對應於該複數個節點中之一各別節點的子節點之一清單的值之一請求;傳回對應於該複數個節點中之一各別節點的一特性清單的值之一請求;提供由該各別節點表示之內容的一請求;提供與一搜尋查詢匹配之一節點清單的一請求;及 提供對於專門針對該第一第三方應用程式之一動作清單的一請求,可在提供對與該第一第三方應用程式相關聯之內容的存取之同時採取該等動作。 The medium of claim 1, wherein: the value of the first third party application is configured as a tree structure including a plurality of nodes having predetermined characteristics and a tree type with one or more other nodes in the tree structure And the request for populating the one or more values of the first user interface template includes one or more of: returning a child corresponding to each of the plurality of nodes Requesting one of the values of one of the list of nodes; returning a request for one of the values of a list of characteristics corresponding to one of the plurality of nodes; providing a request for the content represented by the respective node; providing Searching for a request to match a list of nodes; and Providing a request for an action list specific to the first third party application may take such action while providing access to the content associated with the first third party application. 如請求項1之媒體,其中:該第一第三方應用程式為一媒體呈現應用程式;該裝置包括係一媒體呈現應用程式的一第一方應用程式;該第一方應用程式包括一第一方使用者介面,該第一方使用者介面具有用於請求媒體呈現操作之執行的複數個可選擇可視線索及在該第一方使用者介面中之各別位置處的一或多個內容呈現區;且產生用於該第一第三方應用程式之該第一使用者介面包括產生一使用者介面,該使用者介面包括可選擇可視線索及一或多個內容呈現區,該等可選擇可視線索及該一或多個內容呈現區在功能及位置上對應於該第一方使用者介面的該等可選擇可視線索及內容呈現區。 The medium of claim 1, wherein: the first third party application is a media presentation application; the device comprises a first party application that is a media presentation application; the first party application includes a first a user interface, the first party user interface having a plurality of selectable visual cues for requesting execution of a media presentation operation and one or more content presentations at respective locations in the first party user interface And generating the first user interface for the first third party application includes generating a user interface, the user interface including a selectable visual cue and one or more content presentation areas, the selectable visual The cues and the one or more content presentation areas correspond to the selectable visual cues and content presentation areas of the first party user interface in function and location. 如請求項1之媒體,在將使得用於該第一第三方應用程式之該第一使用者介面能夠顯示於該各別顯示器上的該資訊發送至該各別顯示器之後:自該第一第三方應用程式接收用於填充該第一使用者介面樣板的一經更新之第一值集合;及回應於接收到用於填充該第一使用者介面樣板的該經更新之第一值集合:由接收自該第一第三方應用程式之該經更新之第一值集合填充該第一使用者介面樣板;使用由該經更新之第一值集合填充之該第一使用者介面樣板產生用於該第一第三方應用程式的一經更新的第一使用者 介面;及將使得用於該第一第三方應用程式之該經更新的第一使用者介面能夠顯示於該各別顯示器上之資訊提供至該各別顯示器。 The medium of claim 1, after the information for enabling the first user interface for the first third party application to be displayed on the respective display is sent to the respective display: from the first The third party application receives an updated first set of values for populating the first user interface template; and in response to receiving the updated first set of values for populating the first user interface template: by receiving Filling the first user interface template from the updated first value set of the first third party application; generating the first user interface template using the updated first value set An updated first user of a third-party application And an interface that enables the updated first user interface for the first third party application to be displayed on the respective display to be provided to the respective display. 如請求項1之媒體,其中:該裝置包括具有語音辨識能力的一數位個人助理處理程序;且其中該一或多個程式進一步包含指令,該等指令在由具有一或多個處理器及記憶體的一電子裝置執行時使得該裝置執行:基於來自該第一第三方應用程式的對該第一第三方應用程式對與填充用於該各別顯示器之使用者介面的使用者介面樣板相關聯之值的複數個請求的回應判定該第一第三方應用程式的能力;產生該第一第三方應用程式之該等能力的一索引;及經由該數位個人助理處理程序提供對該第一第三方應用程式之該等能力的語音存取。 The media of claim 1, wherein: the device comprises a digital personal assistant processing program having speech recognition capability; and wherein the one or more programs further comprise instructions having one or more processors and memories Executing, when executed by an electronic device, the device is executed based on the first third party application from the first third party application being associated with a user interface template populated with a user interface for the respective display The plurality of requested responses of the value determine the capabilities of the first third party application; generate an index of the capabilities of the first third party application; and provide the first third party via the digital personal assistant processing program Voice access for these capabilities of the application. 如請求項14之媒體,其中該一或多個程式進一步包含指令,該等指令在由具有一或多個處理器及記憶體的一電子裝置執行時使得該裝置執行:偵測一預定條件已被滿足;及回應於偵測到該預定條件已被滿足:重新判定該第一第三方應用程式的該等能力;及重新產生該第一第三方應用程式之該等能力的該索引。 The medium of claim 14, wherein the one or more programs further comprise instructions that, when executed by an electronic device having one or more processors and memory, cause the device to perform: detecting a predetermined condition has been And being responsive to detecting that the predetermined condition has been met: re-determining the capabilities of the first third party application; and regenerating the index of the capabilities of the first third party application. 一種方法,其包含:在具有一或多個處理器及記憶體的一電子裝置處:接收將一第一第三方應用程式之一使用者介面顯示於與該 電子裝置通信之一各別顯示器上的一第一顯示請求;回應於接收到該第一顯示請求:獲得一第一使用者介面樣板,其經組態以由複數個第三方應用程式使用;及自該第一第三方應用程式請求用於填充該第一使用者介面樣板的一或多個值;在該第一第三方應用程式正於該電子裝置上執行之同時自該第一第三方應用程式接收用於填充該第一使用者介面樣板的一第一值集合;由接收自該第一第三方應用程式之該第一值集合填充該第一使用者介面樣板;使用由該第一值集合填充之該第一使用者介面樣板產生用於該第一第三方應用程式的一第一使用者介面;及將使得用於該第一第三方應用程式之該第一使用者介面能夠顯示於該各別顯示器上之資訊發送至該各別顯示器。 A method comprising: at an electronic device having one or more processors and memory: receiving a user interface of a first third party application a first display request on a respective display of the electronic device communication; in response to receiving the first display request: obtaining a first user interface template configured to be used by a plurality of third party applications; Requesting, from the first third-party application, one or more values for populating the first user interface template; the first third-party application is executing on the electronic device from the first third-party application The program receives a first set of values for populating the first user interface template; populating the first user interface template with the first set of values received from the first third-party application; using the first value Collecting the first user interface template to generate a first user interface for the first third party application; and enabling the first user interface for the first third party application to be displayed on Information on the respective displays is sent to the respective display. 一種電子裝置,其包含:一或多個處理器;記憶體;及一或多個程式,其中該一或多個程式儲存於該記憶體中,且經組態以藉由該一或多個處理器來執行,該一或多個程式包括用於進行以下操作的指令:接收將一第一第三方應用程式之一使用者介面顯示於與該電子裝置通信之一各別顯示器上的一第一顯示請求;回應於接收到該第一顯示請求:獲得一第一使用者介面樣板,其經組態以由複數個第三方應用程式使用;及 自該第一第三方應用程式請求用於填充該第一使用者介面樣板的一或多個值;在該第一第三方應用程式正於該電子裝置上執行之同時自該第一第三方應用程式接收用於填充該第一使用者介面樣板的一第一值集合;由接收自該第一第三方應用程式之該第一值集合填充該第一使用者介面樣板;使用由該第一值集合填充之該第一使用者介面樣板產生用於該第一第三方應用程式的一第一使用者介面;及將使得用於該第一第三方應用程式之該第一使用者介面能夠顯示於該各別顯示器上之資訊發送至該各別顯示器。 An electronic device comprising: one or more processors; a memory; and one or more programs, wherein the one or more programs are stored in the memory and configured to be by the one or more Executing by the processor, the one or more programs include instructions for: receiving a first user interface of a first third party application to display on a respective display in communication with the electronic device Receiving a first display request in response to receiving the first display request: obtaining a first user interface template configured to be used by a plurality of third party applications; Requesting, from the first third-party application, one or more values for populating the first user interface template; the first third-party application is executing on the electronic device from the first third-party application The program receives a first set of values for populating the first user interface template; populating the first user interface template with the first set of values received from the first third-party application; using the first value Collecting the first user interface template to generate a first user interface for the first third party application; and enabling the first user interface for the first third party application to be displayed on Information on the respective displays is sent to the respective display. 如請求項17之裝置,其中該一或多個程式進一步包括用於進行以下操作的指令:在用於該第一第三方應用程式之該第一使用者介面顯示於該各別顯示器上之同時,自用於該各別顯示器之一輸入裝置接收對應於該第一使用者介面中之一選項之選擇的一各別輸入;及回應於接收到該各別輸入,將使得該第一第三方應用程式能夠對該第一使用者介面中的該選項之選擇做出回應之資訊提供至在該電子裝置上執行的該第一第三方應用程式;自該第一第三方應用程式接收來自該第一第三方應用程式之對該選項之選擇的該回應;及將使得對該選項之選擇的該回應能夠被提供至該使用者之資訊發送至該各別顯示器。 The device of claim 17, wherein the one or more programs further comprise instructions for: displaying the first user interface for the first third party application on the respective display while Inputting from one of the respective displays receives a respective input corresponding to a selection of one of the first user interfaces; and in response to receiving the respective input, the first third party application is caused The program can provide information corresponding to the selection of the option in the first user interface to the first third party application executing on the electronic device; receiving the first third party application from the first The third party application's response to the selection of the option; and the response that will enable the response to the selection of the option to be provided to the user to be sent to the respective display. 如請求項17之裝置,其中該一或多個程式進一步包括用於進行以下操作的指令:在用於該第一第三方應用程式之該第一使用者介面顯示於該 各別顯示器上之同時:接收指示該第一使用者介面中之一各別選項之一選擇的資訊;及回應於接收到指示該第一使用者介面中之該各別選項之該選擇的該資訊:獲得不同於該第一使用者介面樣板之一第二使用者介面樣板;及自該第一第三方應用程式請求用於填充該第二使用者介面樣板之一或多個值;在該第一第三方應用程式正於該電子裝置上執行之同時自該第一第三方應用程式接收用於填充該第二使用者介面樣板的一第二值集合;由接收自該第一第三方應用程式之該第二值集合填充該第二使用者介面樣板;藉由使用由該第二值集合填充之該第二使用者介面樣板產生用於該第一第三方應用程式的一第二使用者介面;及將使得用於該第一第三方應用程式之該第二使用者介面能夠顯示於該各別顯示器上之資訊發送至該各別顯示器。 The device of claim 17, wherein the one or more programs further comprise instructions for: displaying the first user interface for the first third party application Simultaneously on a respective display: receiving information indicative of a selection of one of the respective ones of the first user interface; and responding to receiving the selection indicating the respective one of the first user interfaces Information: obtaining a second user interface template different from the first user interface template; and requesting, by the first third party application, to fill one or more values of the second user interface template; Receiving, by the first third party application, a second set of values for populating the second user interface template from the first third party application; receiving from the first third party application The second set of values of the program populates the second user interface template; generating a second user for the first third party application by using the second user interface template populated by the second set of values The interface; and information that enables the second user interface for the first third party application to be displayed on the respective display to be sent to the respective display. 如請求項17之裝置,其中該一或多個程式進一步包括用於進行以下操作的指令:在將使得用於該第一第三方應用程式之該第一使用者介面能夠顯示於該各別顯示器上之該資訊發送至該各別顯示器之後:接收將用於不同於該第一第三方應用程式之一第二第三方應用程式的一使用者介面顯示於該各別顯示器上的一第二顯示請求;回應於接收到該第二顯示請求,自該第二第三方應用程式請 求用於填充該第一使用者介面樣板的一或多個值;在該第二第三方應用程式正於該電子裝置上執行之同時自該第二第三方應用程式接收用於填充該第一使用者介面樣板的一第三值集合;由接收自該第二第三方應用程式之該第三值集合填充該第一使用者介面樣板;使用由該第三值集合填充之該第一使用者介面樣板產生用於該第二第三方應用程式的一第二使用者介面;及將使得用於該第二第三方應用程式之該第二使用者介面能夠顯示於該各別顯示器上之資訊發送至該各別顯示器。 The device of claim 17, wherein the one or more programs further comprise instructions for enabling the first user interface for the first third party application to be displayed on the respective display After the information is sent to the respective displays: receiving a second display for displaying a user interface different from the second third party application of the first third party application on the respective display Requesting, in response to receiving the second display request, from the second third party application Searching for one or more values for populating the first user interface template; receiving, from the second third party application, the first third party application while the third third party application is executing on the electronic device a third set of values of the user interface template; populating the first user interface template with the third set of values received from the second third party application; using the first user populated by the third set of values The interface template generates a second user interface for the second third party application; and transmits information for enabling the second user interface for the second third party application to be displayed on the respective display To the respective display.
TW103119125A 2013-06-08 2014-05-30 Device and method for generating user interfaces from a template TWI515640B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US201361832841P 2013-06-08 2013-06-08

Publications (2)

Publication Number Publication Date
TW201506759A true TW201506759A (en) 2015-02-16
TWI515640B TWI515640B (en) 2016-01-01

Family

ID=51228624

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103119125A TWI515640B (en) 2013-06-08 2014-05-30 Device and method for generating user interfaces from a template

Country Status (6)

Country Link
CN (2) CN110083411B (en)
AU (1) AU2014100585B4 (en)
DE (1) DE202014004555U1 (en)
NL (1) NL2012965C2 (en)
TW (1) TWI515640B (en)
WO (1) WO2014197340A1 (en)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US10003938B2 (en) 2015-08-14 2018-06-19 Apple Inc. Easy location sharing
CN107924256B (en) * 2015-09-09 2021-03-26 苹果公司 Emoticons and preset replies
US10445425B2 (en) 2015-09-15 2019-10-15 Apple Inc. Emoji and canned responses
US20170124035A1 (en) * 2015-10-30 2017-05-04 Ford Global Technologies, Llc Layered user interfaces and help systems
CN105867931B (en) * 2016-04-07 2019-05-07 北京橙鑫数据科技有限公司 The variation and device at information displaying interface
US11138566B2 (en) * 2016-08-31 2021-10-05 Fulcrum Global Technologies Inc. Method and apparatus for tracking, capturing, and synchronizing activity data across multiple devices
DK180171B1 (en) 2018-05-07 2020-07-14 Apple Inc USER INTERFACES FOR SHARING CONTEXTUALLY RELEVANT MEDIA CONTENT
KR20230037704A (en) * 2018-05-07 2023-03-16 구글 엘엘씨 Methods, systems, and apparatus for providing composite graphical assistant interfaces for controlling connected devices
CN110401764B (en) * 2018-09-06 2023-10-27 上海有偶咨询策划有限公司 Simplified interaction logic, interaction method and electronic equipment
CN113273220A (en) * 2018-09-06 2021-08-17 上海伴我科技有限公司 Resource configuration method, user interface navigation method, electronic device and storage medium
US11734589B2 (en) 2018-11-07 2023-08-22 Industrial Technology Research Institute Virtual assistant negotiation system and method thereof
CN109600298A (en) * 2018-11-15 2019-04-09 安徽信果网络科技有限公司 A kind of mobile phone interface simulative display system based on wechat small routine
US11093715B2 (en) * 2019-03-29 2021-08-17 Samsung Electronics Co., Ltd. Method and system for learning and enabling commands via user demonstration
US11074408B2 (en) 2019-06-01 2021-07-27 Apple Inc. Mail application features
US11194467B2 (en) 2019-06-01 2021-12-07 Apple Inc. Keyboard management user interfaces
CN110837534A (en) * 2019-11-07 2020-02-25 北京字节跳动网络技术有限公司 Data list display method, device, equipment and storage medium
US11413531B2 (en) * 2020-03-03 2022-08-16 Sony Interactive Entertainment Inc. Game console application with action card strand
US11169665B2 (en) 2020-03-03 2021-11-09 Sony Interactive Entertainment Inc. Game console user interface with application previews
US11185758B2 (en) 2020-03-03 2021-11-30 Sony Interactive Entertainment Inc. Game console application with action cards
CN111985199B (en) * 2020-08-13 2023-10-27 黄石示界创信息科技有限公司 PPT generation method and system based on thought guide graph
TWI751653B (en) * 2020-08-14 2022-01-01 博橡科技股份有限公司 Human-machine interface development method, human-machine interface device and computer program product
CN112099872A (en) * 2020-09-09 2020-12-18 杭州朗澈科技有限公司 K8s resource creation system based on voice guidance
CN113095056B (en) * 2021-03-17 2024-04-12 阿里巴巴创新公司 Generation method, processing method, device, electronic equipment and medium
CN114153445B (en) * 2022-02-09 2022-05-20 中国电子信息产业集团有限公司 Method for rapidly generating connection relation through batch selection of components
WO2023235434A2 (en) * 2022-06-04 2023-12-07 Apple Inc. Synchronized rendering

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1378149A (en) * 2001-04-02 2002-11-06 钱跃良 Portable agriculture specialist system
JP4903054B2 (en) * 2003-12-31 2012-03-21 オープンピーク インコーポレイテッド Method, system and computer program product for automatically managing components in a controlled environment
US7509588B2 (en) * 2005-12-30 2009-03-24 Apple Inc. Portable electronic device with interface reconfiguration mode
US20090276730A1 (en) * 2008-03-04 2009-11-05 Alexandre Aybes Techniques for navigation of hierarchically-presented data
US8970647B2 (en) * 2008-05-13 2015-03-03 Apple Inc. Pushing a graphical user interface to a remote device with display rules provided by the remote device
US20090284476A1 (en) * 2008-05-13 2009-11-19 Apple Inc. Pushing a user interface to a remote device
US9870130B2 (en) * 2008-05-13 2018-01-16 Apple Inc. Pushing a user interface to a remote device
US8595371B2 (en) * 2008-09-19 2013-11-26 Samsung Electronics Co., Ltd. Sending a remote user interface
CN102193953B (en) * 2010-03-17 2017-04-12 日电(中国)有限公司 System and method for migrating desktop applications
US8386929B2 (en) * 2010-06-22 2013-02-26 Microsoft Corporation Personal assistant for task utilization
CN102455903B (en) * 2010-10-29 2014-12-10 卓望数码技术(深圳)有限公司 Method for generating user application interface
US8983995B2 (en) * 2011-04-15 2015-03-17 Microsoft Corporation Interactive semantic query suggestion for content search
US9104441B2 (en) * 2011-09-30 2015-08-11 Avaya Inc. Context and application aware selectors

Also Published As

Publication number Publication date
NL2012965A (en) 2014-12-09
CN104685470A (en) 2015-06-03
WO2014197340A1 (en) 2014-12-11
CN110083411B (en) 2022-02-01
DE202014004555U1 (en) 2014-09-18
TWI515640B (en) 2016-01-01
AU2014100585A4 (en) 2014-07-03
AU2014100585B4 (en) 2015-03-12
NL2012965C2 (en) 2015-03-10
CN104685470B (en) 2018-11-30
CN110083411A (en) 2019-08-02

Similar Documents

Publication Publication Date Title
TWI515640B (en) Device and method for generating user interfaces from a template
US10616416B2 (en) User interface for phone call routing among devices
US11692840B2 (en) Device, method, and graphical user interface for synchronizing two or more displays
AU2021229167B9 (en) Device, method, and graphical user interface for providing navigation and search functionalities
US20140365895A1 (en) Device and method for generating user interfaces from a template
TWI616801B (en) Continuity
TWI503737B (en) Methods,devices,and computer readable storage medium for configuring an electronic device to interpret key input signals from a keyboard
TWI602071B (en) Method of messaging, non-transitory computer readable storage medium and electronic device
JP2021007259A (en) Intelligent device identification
TWI753846B (en) Methods, systems, electronic devices, and computer readable storage media for electronic message user interfaces
CN109196455A (en) application program shortcut for CARPLAY
KR101962774B1 (en) Method and apparatus for processing new messages associated with an application
TW201346619A (en) Device, method, and graphical user interface for accessing an application in a locked device
US20170357388A1 (en) Device, Method, and Graphical User Interface for Managing Data Stored at a Storage Location
US10306047B2 (en) Mechanism for providing user-programmable button
US11128786B2 (en) Bending a circuit-bearing die
CN112433418A (en) Camera with buffer for buffering lateral movement