自适应手势教程的制作方法

文档序号:6360713阅读:158来源:国知局
专利名称:自适应手势教程的制作方法
技术领域
本公开大体上涉及计算设备界面领域,更具体地涉及计算设备所支持的输入手
势。
背景技术
移动计算设备众所周知。移动计算设备采用包括键盘和指向装置的不同输入机制。随着移动计算设备支持更多特征,提供一种简单直观的用户界面来获取所支持的特征的需要变得更加迫切。一种此类界面是触摸屏界面或检测用户所输入的手势的其它界面。输入手势,例如手指从左滑向右或指示笔或触控笔的笔划,对应于用户所理解的特定功能以及用户所使用的特定设备上的操作系统或应用程序。当用户开始使用新的设备,例如使用之前设备的替换设备时,用户的新设备可说明与之前设备不同的手势。另外,新设备可支持之前设备不支持的附加手势。新设备可提供其支持的所有手势的教程,但用户不可能看完呈现所有支持的手势的长篇教程。此外,这种教程不解释对于用户是已知的手势和用户使那些手势与之相关联的功能。


所公开的实施例具有其它优点和特征,这些优点和特征根据具体实施方式
、所附权利要求以及附图(或图)将更加明显。以下是附图的简要介绍。图Ia图示移动计算设备处于第一位置状态的一个实施例。图Ib图示移动计算设备处于第二位置状态的一个实施例。图2图示移动计算设备的体系结构的一个实施例。图3图示用于确定并在移动计算设备上呈现手势教程的系统的一个实施例。图4图示教程服务器的体系结构的一个实施例。图5图示移动计算设备上的教程管理器的体系结构的一个实施例。图6图示用于确定并在移动计算设备上呈现手势教程的方法的一个实施例。图7图示用于追踪移动计算设备的用户所掌握的手势的方法的一个实施例。
具体实施例方式附图和下面的描述涉及仅作为说明的优选实施例。应当注意,根据下面的论述,本文中公开的结构和方法的可替代实施例在不背离所要求权利的原理的情况下将容易被视为可以使用的可行方案。将详细地参考若干个实施例,在附图中示出了这些实施例的示例。需注意的是,只要可行,类似或相同的附图标记可以在附图中使用,并且可以表示类似或相同的功能。附图仅为了说明目的而示出所公开的系统(或方法)的实施例。本领域的技术人员根据下面的描述将容易认识到,本文中图示的结构和方法的可替代实施例在不背离本文中描述的原理的情况下可以被使用。
公开的系统(或装置、或方法、或计算机可读存储介质)的一个实施例包括用于确定并呈现关于使用(或应用)对于用户可能是新的或用户可能不经常使用的手势的手势教程的指令,呈现方式例如为图形呈现、音频呈现和/或视频呈现。为了确定呈现哪一种教程,在一个实施例中,系统确定用户的手势指令集,该手势指令集包括关于用户已掌握手势的信息,已掌握手势例如为在用户的计算设备上或用户与之交互的另一计算设备上被检测到预定次数的手势。然后该系统确定与用户的计算设备相关联的、未在手势指令集中表示的手势。之后,该系统确定与所确定的手势对应的教程,并将所确定的待呈现的教程传输至用户。示例移动计算设备图Ia和图Ib图示了移动计算设备110的一个实施例。图Ia图示了具有电话功能的移动计算设备110 (例如移动电话或智能手机)的第一位置状态的一个实施例。图Ib图示了具有电话功能的移动计算设备110 (例如移动电话、智能手机、上网本或笔记本电脑)的第二位置状态的一个实施例。移动计算设备110被配置为管理和执行用于拨打和接听电话呼叫的电话应用程序。需注意的是,为了便于理解,本文中公开的原理是在具有电话功能的移动计算设备110在移动电信网中运行的示例环境下。然而,本文中公开的原理也可以适用于其他双工(或多工)电话环境中,例如具有被配置为与公共交换电话网络(PSTN)和/或具有互联网协议传输语音(VoIP)功能的数据网络直接交互的电话功能的设备。同样地,移动计算设备110仅作为示例,而其功能的原理适用于其它的计算设备,例如平板计算机、台式计算机、月艮务器计算机、媒体设备等等。在这些配置的每种配置中,例如移动计算设备110的特定计算设备均包括为触敏屏幕的屏幕,如下文进一步描述的。移动计算设备110包括第一部分I IOa和第二部分110b。第一部分I IOa包括用于·显示信息(或数据)的屏幕,并且可包括导航装置。下文中将进一步描述第一部分IlOa的这些方面。第二部分IlOb包括键盘,在下文中也将进一步描述第二部分110b。移动计算设备110的第一位置状态可以被称为“打开”位置,在“打开”位置中,移动计算设备的第一部分IlOa沿使移动计算设备110的第二部分IlOb暴露的第一方向滑动(或者从移动角度来说第二部分IlOb沿使第一部分IlOa暴露的方向滑动)。移动计算设备110在第一位置状态下或第二位置状态下仍然工作。移动计算设备110被配置为具有便于握在用户的手里的形状因素,例如个人数字助理(PDA)或智能手机形状因素。例如,移动计算设备110可具有长度在7. 5厘米到15. 5厘米范围之间、宽度在5厘米到15厘米范围之间、厚度在O. 5厘米到2. 5厘米范围之间的尺寸并且具有50克和250克之间的重量。移动计算设备110包括扬声器120、屏幕130和可选的导航区140,如第一位置状态中所示。移动计算设备110还包括键盘150,键盘150在第二位置状态下露出。移动计算设备还包括话筒(未示出)。移动计算设备110还可包括一个或多个开关(未示出)。一个或多个开关可以是按钮开关、滑块开关或摇转开关,并且可以是机械的或固态(例如触敏固态开关)。移动计算设备110 的屏幕 130 是例如 240X240、320X320、320X480 *640X480的触敏(包括手势)显示屏。屏幕130可以由例如玻璃、塑料、薄膜或复合材料构成。触敏屏幕可以是半透半反式液晶显示(LCD)屏。在可替代实施例中,在不背离本说明书中公开的发明特征的原理的情况下,高宽比和分辨率可以不同。作为示例,屏幕130的实施例包括有源矩阵液晶显示器(AMIXD)、薄膜晶体管液晶显示器(TFT-IXD)、有机发光二极管(OLED)、干涉测量调节器显示器(IMOD)、液晶显示器(IXD)或者其它适合的显示设备。在实施例中,显示器显示彩色图像。在另一实施例中,屏幕130进一步包括包含用于从用户接收输入数据、命令或信息的数字转换器的触敏显示器(例如,压敏的(电阻的)、电敏的(电容的)、声敏的(SAW或表面声波)、光敏的(红外))。用户可以使用指示笔、接触笔、手指或另一适合输入设备来输入数据,例如从菜单中进行选择或输入文本数据。可选的导航区140被配置为控制在移动计算设备110中运行的应用程序的并且通过屏幕130可视的功能。例如,导航区包括提供光标控制、选择及类似功能的X向(X是整 数,例如5)导航环。此外,导航区可以包括用于选择通过用户界面显示在屏幕130上的功能的选择按钮。此外,导航区还可以包括关于多种功能(例如日程表、网页浏览器、电子邮件客户程序或主屏幕)的专用功能按钮。在该示例中,导航环可以通过机械开关、固态开关、拨号盘或它们的组合来实现。在可替代实施例中,导航区140可被配置为专用手势区,该专用手势区考虑通过在屏幕130上显示的用户界面示出的功能和操作的手势交互和控制。键盘区150可以是数字键盘(例如拨号盘)或与字母键盘或字母数字键盘或字符键盘150集成一体的数字键盘(例如具有位于诸如DVORAK键盘或双字节字符键盘等的键盘上的连续键Q-W-E-R-T-Y、A-Z-E-R-T-Y或其它相当的一组键的键盘)。虽然未示出,但是应当注意,移动计算设备110还可以包括扩展槽。扩展槽被配置为容纳和支持扩展卡(或媒体卡)。存储器形状因素或媒体卡形状因素的示例包括CF卡(COMPACTFLASH)、SD卡、XD卡、记忆棒、多媒体卡、SDIO等等。示例移动计算设备体系结构概述接下来参照图2,框示了具有电话功能的移动计算设备110的体系结构的一个实施例。作为示例,将关于图Ia和图Ib的移动计算设备描述图2所示的体系结构。移动计算设备110包括中央处理器220、电源240和无线电子系统250。中央处理器220的示例包括基于下列体系结构的处理芯片和系统,例如ARM (包括由微处理器制造商制造的内核)、ARM XSCALE, AMD 速龙(ATHLON)、闪龙(SEMPR0N)或羿龙(ΡΗΕΝ0Μ)、英特尔 ATOM、XSCALE、赛扬(CELERON)、酷睿(CORE)、奔腾(PENTIUM)或安腾(ITANIUM)、IBM CELL、POWERARCHITECTURE、SUN SPARC 等等。中央处理器220被配置为与计算机操作系统一起运行。操作系统是硬件和应用程序之间的接口,用户一般与操作系统交互。操作系统负责活动的管理和协调以及负责移动计算设备110的资源共享。操作系统为在移动计算设备110上运行的应用程序提供宿主环境。作为宿主,操作系统的用途之一是处理移动计算设备110的操作的细节。操作系统的示例包括PALM OS和WEB0S、微软视窗(包括视窗7 (WINDOWS 7)、视窗CE (WINDOWS CE)和视窗移动版(WINDOWS MOBILE))、塞班(SYMBIAN)操作系统、RIM黑莓(BLACKBERRY)操作系统、苹果操作系统(包括MAC OS和IPHONE OS)、谷歌安卓(GOOGLE ANDROID)和LINUX。中央处理器220与音频系统210、图像采集子系统(例如照相机、摄像机或扫描仪)212、闪存214、RAM存储器216和短距离无线电模块218 (例如蓝牙、无线保真(WiFi )组件(例如IEEE 802. 11 通信。中央处理器通过数据线(或总线)278通信地联接这些不同组件或模块。电源240为中央处理器220、无线电子系统250和显示驱动器230 (其可以是接触敏感的或感应敏感的)供电。电源240可对应于直流源(例如电池组,包括可充电电池组)或交流(AC)源。电源240通过电源线(或总线)279向不同组件供电。中央处理器通过操作系统220a与在移动计算设备110内运行的应用程序通信。此夕卜,例如窗口管理器模块222、屏幕管理器模块226、教程管理器228以及输入管理器229的中间组件,提供中央处理器220和操作系统220与系统组件(例如显示驱动器230)之间的附加通信信道。在一个实施例中,窗口管理器模块222包括软件(例如与操作系统整合的软件)或固件(驻留在用于代码的并且用于与特定硬件(例 如处理器220)交互的特定存储器的底层代码)。窗口管理器模块222被配置为对可存储在RAM 216和/或闪存214中的虚拟显示空间进行初始化。虚拟显示空间包括用户当前正运行的一个或多个应用程序和所运行的应用程序的当前状态。窗口管理器模块222从用户输入或从软件进程或固件进程接收请求来显示窗口,并且确定所请求的窗口的初始位置。此外,窗口管理器模块222接收改变窗口(例如调整窗口大小、移动窗口)的命令或指令或者改变窗口的外观或位置的任何其它命令,并且相应地改变窗口。屏幕管理器模块226包括软件(例如与操作系统整合的软件)或固件。屏幕管理器模块226被配置为管理将在屏幕130上显示的内容。在一个实施例中,屏幕管理器模块226监视并控制显示于屏幕130上的数据的物理位置以及屏幕130上显示哪些数据。屏幕管理器模块226改变或更新屏幕130上所观察的数据的位置。改变或更新是响应于来自中央处理器220和显不驱动器230的输入,该输入改变在屏幕130上显不的外观。在一个实施例中,屏幕管理器226还被配置为监视并控制屏幕亮度。此外,屏幕管理器226被配置为向中央处理器220传输用于改变屏幕130的电源使用的控制信号。输入管理器229包括例如与操作系统整合或者被配置为与操作系统一起运行的应用程序的软件。在某些实施例中,输入管理器229可包括例如存储在闪存214中的固件。输入管理器229从键盘150、触敏屏幕130或通信联接至或集成在移动计算设备110内的其它输入设备接收用户输入。输入管理器229将所接收的输入转换为可由移动计算设备110内的各模块解释的信号,然后将这些信号传输至适当的模块。例如,当屏幕管理器226正在屏幕130上显示与手势教程有关的窗口时,输入管理器229从屏幕130接收用户输入、转换输入并将输入传输至教程管理器228。教程管理器228包括例如与操作系统整合或者被配置为与操作系统一起运行的应用程序的软件。在某些实施例中,教程管理器228可包括例如存储在闪存214中的固件。教程管理器228接收关于用户概况的信息、基于所接收的用户信息确定或接收用于向用户讲解各个手势的教程,以及通过移动计算设备110将教程呈现给用户。在一个实施例中,教程管理器228基于存储在移动计算设备110内的信息确定教程。在另一实施例中,教程管理器228基于从远程服务器接收的或者从远程数据库中检索的信息确定教程。在下文中,将在图5的描述中更具体地描述教程管理器。需注意的是,在一个实施例中,中央处理器220对应于运行通过例如导航区140或开关170交互的应用程序,运行逻辑操作(例如作为编制程序、代码或指令)。需注意的是,对于计算设备200的硬件体系结构,多种其它组件和变型是可能的,因此例如图2所示的实施例仅说明实施例的一种实现。无线电子系统250包括无线电处理器260、无线电存储器262和收发器264。收发器264可以是用于传输信号和用于接收信号的两个分离的组件,或者可以是既用于传输信号又用于接收信号的单个组件。在任一种情况下,其均被称为收发器264。收发器264的接收器部分与设备110的无线电信号输入(例如天线)通信地联接,在无线电信号输入处从已建立的呼叫(例如已连接的呼叫或进行中的呼叫)接收通信信号。所接收的通信信号包括从该呼叫接收的并且由无线电处理器260处理以通过扬声器120 (或184)输出的语音(或其它声音信号)。收发器264的发射器部分与设备110的无线电信号输出(例如天线)通信地联接,在无线电信号输出处通信信号被传输至已建立的(例如已连接(或联接)的或活动的)呼叫。待传输的通信信号包括例如通过设备HO的话筒160接收的语音(或其它声音信号),该语音(或其它声音信号)由无线电处理器260处理,以通过收发器264的发射器传输至已建立的呼叫。在一个实施例中,使用所描述的无线电通信的通信可以经由语音网络或数据网络。语音网络的示例包括全球移动系统(GSM)通信系统、码分多址(CDMA系统)以及通用 移动电信系统(UMTS)。数据网络的示例包括通用分组无线服务(GPRS)、第三代(3G)移动(或3G后)、高速下行分组接入(HSDPA)、高速上行分组接入(HSUPA)以及全球微波互联接入(WiMAX)0尽管其它组件可以具有无线电子系统250,但是示出的基本组件提供移动计算设备的执行射频通信(包括电话通信)的能力。在实施例中,当建立电话呼叫(例如连接或进行中)时,无线电子系统250不要求即使不是全部也是大部分的组件受中央处理器220控制。无线电处理器260可以利用数据线(或总线)278与中央处理器220通信。卡接口 224适合于以无线方式或有线方式与外部附件(或外围设备),例如插入扩展槽(未示出)内的媒体卡通信。卡接口 224在中央处理器和附件(例如联接到扩展槽内的扩展卡或媒体卡)之间传输数据和/或指令。卡接口 224还将来自中央处理器220的控制信号传输至扩展槽来配置附件。需注意的是,卡接口 224是关于扩展卡或媒体卡描述的;卡接口 224还可以在结构上被配置为与设备110的其它类型外部设备,例如用于电源240的感应充电站或者打印设备联接。示例教程系统概述现在参照图3,图3图示了用于确定并在移动计算设备上呈现手势教程的系统的一个实施例。系统300包括注册服务器304、用户数据库306、教程服务器308以及移动计算设备llOa-c。所有这些实体通过网络302彼此通信联接。此外,注册服务器304、用户数据库306以及教程服务器308为执行下文描述的功能的硬件、软件或固件实现。通常在首次使用移动计算设备IlOa-C时,注册服务器304从设备110a_c接收注册信息。在一个实施例中,响应于移动计算设备IlOa-C接收指示移动计算设备IlOa-C的用户想注册设备llOa-c的选择,注册服务器304接收注册信息。注册信息包括与移动计算设备llOa-c的用户相关联的用户标识符和与移动计算设备llOa-c相关联的设备标识符。可替代地,注册信息包括多个用户标识符,每个用户标识符对应于使用相同的移动计算设备llOa-c的不同用户。在一个实施例中,注册信息还包括与移动计算设备llOa-c上的操作系统对应的操作系统标识符。可替代地,操作系统标识符还指示移动计算设备llOa-c上的操作系统的版本。注册服务器304接收注册信息、基于所接收的信息进行用户注册以及将所接收的注册信息存储在用户数据库306中。用户数据库306存储关于移动计算设备llOa-c以及关于与移动计算设备110a_c相关联的用户的信息。用户数据库306存储从注册服务器304接收的注册信息。另外,用户数据库304还从移动计算设备llOa-c接收关于用户的指令集的信息。用户指令集信息包括关于被确定为用户所掌握的手势的标识符。可替代地,用户指令集信息还包括与手势相关联的功能。在一个实施例中,用户指令集信息还包括在用户正在掌握手势时接收来自用户的手势的移动计算设备llOa-c的标识符。类似地,在另一实施例中,用户指令集信息包括移动计算设备llOa-c上的应用程序或移动计算设备llOa-c上的操作系统的标识符,其中移动计算设备llOa-c在用户正在掌握手势时接收来自用户的手势。例如,用户指令集信息可包括关于从右到左的直线形手势以及指导与该手势相关联的应用程序或操作系统在屏幕上从右向左显示的相关联功能的标识符。另外,示例用户指令集信息可包括关于移动计算设备llOa-c (例如奔迈(PALM) PRE或摩托罗拉DR0ID)的标识符、关于操作系统(例 如奔迈(PALM)WEBOS、谷歌安卓(GOOGLE ANDROID)或WINDOWS MOBILE 7)的标识符,或者在用户正在掌握手势时接收手势的应用程序的标识符。因此,每当用户注册新的设备或掌握新的手势时,用户数据库306都将存储关于新的设备或用户所掌握的新的手势的信息。以此方式,用户数据库306积存了关于用户所掌握的各种手势以及用户所使用的各种移动计算设备llOa-c的信息。如下文所论述的,这样积存的设备历史和手势历史有利地使系统300能够制作用于向用户讲解与用户的当前移动计算设备llOa-c相关联的新的可利用手势的用户详细教程。教程服务器308创建用于向移动计算设备llOa-c的用户讲解对于用户来说是新的或用户在过去已经很少使用的各种手势的手势教程。手势教程是向用户讲解如何使用一个或多个手势的视觉(例如图形的或视频的)呈现和/或音频呈现。在设备注册之后,教程服务器308从注册服务器304接收指示用户已经注册新的移动计算设备308的信号。可替代地,教程服务器308重复轮询用户数据库306新的注册。无论教程服务器308如何确定用户已注册新的设备110a-C,教程服务器308都从用户数据库306中检索注册信息、设备历史以及与用户相关联的手势历史。基于检索到的该信息,教程服务器308制作专门为用户制作的手势教程,并将该手势教程传输至用户的移动计算设备110a-C。在下文将关于图4进一步描述教程服务器308。网络302是通过各种通信信道彼此通信联接的计算机、路由器和其它数字设备的集合。网络302便于数字数据在连接至网络302的各设备之间的传输。在上文中,关于图la、图Ib和图2描述了移动计算设备IIOa-C。教程服务器参照图4,图4图示了教程服务器308的一个实施例。教程服务器308包括用户设备历史模块402、用户指令集模块404、教程制作模块406、教程更新模块408、教程呈现模块410以及教程数据库405。所有这些模块和数据库均为执行下述各种任务的硬件、固件或软件实现。用户设备历史模块402从教程制作模块406接收用户标识符、询问用户数据库306以及确定用户之前注册的各种移动计算设备110a-C。可替代地,用户设备历史模块402还询问用户数据库306,以确定之前注册的计算设备llOa-c所支持的各种手势或之前注册的计算设备llOa-c上的应用程序。另外,用户设备历史模块402还从用户数据库306中检索与所支持的手势对应的功能。用户设备历史模块402将确定的该信息传输至用户指令集模块 404。用户指令集模块404从教程制作模块406接收用户标识符、询问用户数据库306以及确定与所接收的用户标识符相关联的用户指令集信息。用户指令集模块404将所确定的用户指令集信息传输至教程制作模块406。用户指令集模块404还从用户的当前移动计算设备llOa-c接收用户最近已掌握手势的标识符。在一个实施例中,用户指令集模块404反复接收当前操作系统和对应的移动计算设备llOa-c最近所接收的作为来自用户的输入的手势的标识符。用户指令集模块404反复保存最近所接收的手势标识符,并且根据最近所接收的手势标识符确定用户已使用预定次数的手势。用户指令集模块404将这种手势识别为用户所掌握的手势,并且以新掌握的手势的标识符更新用户数据库306中的用户指令集信息。在一个实施例中,用户指令集模块404询问用户设备历史模块402,并且确定在当前移动计算设备llOa-c中与该手势相关联的功能。用户指令集模块404然后以与新掌握 的手势对应的功能更新用户数据库306中的用户指令集信息。可替代地,用户指令集模块404还询问用户数据库306,并且确定在当前设备llOa-c中与用户掌握的手势相关联的功能中的任何功能是否不同于对应于用户掌握的与用户之前的设备llOa-c相关联的手势的功能。如果不同,则用户指令集模块404通过从用户掌握的手势列表中除去这种手势而更新用户指令集信息。随后,用户指令集模块404将更新的用户指令集信息传输至教程制作模块406。教程数据库405存储各个移动计算设备llOa-c的标识符、移动计算设备110a_c的操作系统所支持的手势的列表,以及可替代地与移动计算设备llOa-c相关联的各应用程序所支持的手势的列表。另外,教程数据库405存储用于向用户讲解如何使用移动计算设备llOa-c上的手势的教程,即音频呈现和/或视觉呈现。教程的示例包括呈现文件(例如MICROSOFT POWERPOINT 或 ADOBE FLASH 文件)、视频文件(例如 MPEG-4 或 APPLE QUICKTIME文件)或音频文件(例如WINDOWS MEDIA AUDIO、APPLE iTUNES或MP3文件),这些文件均包括关于手势的指令或信息。教程数据库405通过客户应用程序(未示出)或另一接口(未示出)收集这些教程。在一个实施例中,由移动设备制造商以教程更新教程数据库405。在另一实施例中,由应用程序开发人员或操作系统开发人员以教程更新教程数据库405。教程制作模块406确定用户已注册移动计算设备110a-C,并且因此,教程制作模块406为用户制作手势教程。教程制作模块406通过反复轮询用户数据库306或通过接收来自注册器304的信号来确定用户已注册移动计算设备110a-C。可替代地,教程制作模块406接收来自移动计算设备llOa-c的请求手势教程的信号。在一个实施例中,移动计算设备llOa-c响应于接收来自用户的请求而传输该请求。在另一实施例中,移动计算设备llOa-c响应于移动计算设备llOa-c上的操作系统或应用程序的更新或安装而传输该请求。响应于确定新的注册或接收教程请求,教程制作模块406从用户指令集模块404中检索用户指令集信息,并且基于检索到的信息制作手势教程。教程制作模块406询问用户设备历史模块402,并且确定与用户的标识符相关联的当前移动设备110a-C,以及确定与当前移动设备llOa-c相关联的手势。教程制作模块406然后询问用户指令集模块404,并且确定包括用户已掌握手势列表的用户指令集信息。之后,教程制作模块406将与当前移动设备llOa-c相关联的手势列表与用户已掌握手势列表相比较。然后教程制作模块406从教程数据库405中检索与当前移动设备llOa-c相关联、但尚未被当前移动设备110a_c的用户掌握的手势列表的教程。在一个实施例中,教程制作模块406检索未被用户掌握且被其它用户常用的预定数量的手势的教程。以此方式,教程制作模块406有利地限制了教程中向用户讲解的手势的数量,因此增加了用户记住教程中讲解的手势的机会。在一个实施例中,教程制作模块406然后将检索到的教程合并为一个教程。例如,如果对于确定的手势,教程包括FLASH呈现,则教程制作模块406将一个或多个确定手势的FLASH呈现合并。可替代地,教程制作模块406分开保存确定手势的教程。教程制作模块406然后将合并或分开的教程传输至教程呈现模块410。教程呈现模块410从教程制作模块406中检索制作的教程,并将列表传输至用户的当前移动设备llOa-c。在一个实施例中,教程呈现模块410将教程的开始部分传输至当前移动设备llOa-c,并且然后在接收来自移动计算设备llOa-c的要求下一部分的请求之·后传输下一部分教程。在另一实施例中,教程呈现模块410将教程以一个或多个部分传输至移动计算设备llOa-c,而无需接收要求教程的各部分的任何中间请求。例如,制作的多个手势的教程包括每个手势的多个FLASH幻灯片。教程呈现模块410可传输每个手势的幻灯片作为一部分、每个幻灯片作为一部分或整个FLASH呈现作为一个部分。在一个实施例中,所传输的教程应教程的各部分要求提示用户输入,并且将接收的用户输入保存为教程反馈。教程更新模块408从移动计算设备llOa-c接收教程反馈,并基于所接收的反馈对教程进行更新。例如,如果教程反馈指示用户在最初的教程呈现之后未掌握如何使用手势,则教程更新模块408创建新的教程或修改之前传输的教程,以讲解该手势。教程更新模块408将创建或修改的教程传输至移动计算设备I IOa-C。教程管理器参照图5,图5图示了移动计算设备llOa-c上的教程管理器228的一个实施例。教程管理器228确定并呈现用户的当前移动计算设备llOa-c上的一个或多个手势的教程。在一个实施例中,教程管理器228与教程服务器308通信,以为用户确定教程。在另一实施例中,教程管理器228在没有教程服务器308的帮助下确定教程。在下文中将进一步描述这两个实施例。教程管理器228包括设备教程呈现模块502、设备教程存储模块506以及设备手势模块510。可替代地,教程管理器228还包括设备教程反馈模块504和设备教程修改模块506。所有这些模块和存储器均是执行下述各种任务的硬件、固件、软件或混合实施。设备教程呈现模块502从教程服务器308中的教程呈现模块410接收教程,并且设备教程呈现模块502将接收的教程存储在设备教程存储器508中。设备教程呈现模块502然后向移动计算设备llOa-c的用户呈现所存储的教程。在一个实施例中,教程管理器228不从教程服务器308接收教程。在该实施例中,设备教程呈现模块502包括用户设备历史模块402、用户指令集模块404以及教程呈现模块406的所有功能或某些功能。因此,设备教程呈现模块502确定新用户的注册,或者从输入管理器229接收指示用户已请求教程的信号。之后,设备教程呈现模块502确定与用户的当前移动设备llOa-c相关但仍未被用户掌握的一列手势的教程。上面已参照教程制作模块406描述了这种确定过程。教程呈现模块502将所确定的教程存储在设备教程存储器508,并且然后向用户呈现所确定的存储器。设备教程反馈模块504从用户接收关于教程呈现的反馈,并将反馈传输至教程更新模块408。如必要的话,再次利用所传输的反馈来创建更新的教程。在一个实施例中,教程呈现包括用于确定用户是否已掌握该呈现中所讲解的手势的测试。设备教程反馈模块504接收用户对测试作出的回答,并将所接收的回答作为反馈传输至教程更新模块408。在一个实施例中,教程管理器228不从教程服务器308接收教程,并且设备教程反馈模块504不将反馈传输至教程管理器228中的教程更新模块408。相反,设备教程反馈模块504将反馈传输至设备教程修改模块506。设备教程修改模块506从设备教程反馈模块504接收反馈,并且基于所接收的反馈创建新的教程或修改现有教程。为了向用户呈现,设备教程修改模块506然后将创建的 或修改的教程传输至教程呈现模块502。设备教程存储器508从设备教程呈现模块502接收并存储教程呈现。在一个实施例中,教程管理器228不从教程服务器308接收教程。在该实施例中,设备教程存储器508还存储由移动计算设备llOa-c的操作系统支持并且可替代地由与移动计算设备llOa-c相关联的各种应用程序支持的一列手势。另外,设备教程存储器508存储用于向用户讲解如何使用移动计算设备llOa-c上的手势的教程,例如音频呈现和/或视觉呈现。此外,教程格式的示例已在上面描述,并且包括关于手势的指令或信息。此外,在其中教程管理器228不从教程服务器308接收教程的实施例中,设备教程存储器508以与上面针对教程数据库
405所描述的相同方式收集教程。另外,在该实施例中,设备教程呈现模块502基于在设备教程存储器508中存储的教程为用户确定教程。此外,在一个实施例中,设备教程存储器508还从设备教程修改模块510接收并存储教程呈现。设备手势模块510反复从输入管理器229接收用户所输入的手势。设备手势模块510保存所接收的手势的标识符,并且根据保存的手势标识符确定用户已使用预定次数的手势。设备手势模块510将这种手势识别为用户已掌握的手势,并且将已掌握手势的标识符传输至教程服务器308中的用户指令集模块404。此外,教程服务器308利用该接收的信息来向用户创建教程呈现。在一个实施例中,教程服务器308不创建教程呈现,并且教程管理器228不从教程服务器308接收教程。在该实施例中,设备手势模块510将已掌握手势的标识符传输至用于创建教程呈现的设备教程呈现模块502。设备教程呈现模块502以与教程服务器308类似的方式利用所接收的信息来创建教程呈现。示例教程创建和呈现方法参照图6,图6图示了用于确定并在移动计算设备llOa-c上呈现手势教程的方法的一个实施例。该方法开始于移动计算设备llOa-c接收来自用户的注册信息(步骤602)。移动计算设备llOa-c将所接收的信息传输至注册服务器304 (步骤604)。随后,注册服务器304利用所接收的信息对用户或移动计算设备llOa-c进行注册(步骤606),并且将注册信息传输至用户数据库306 (步骤608)。用户数据库306存储所接收的信息(步骤610),并且向注册服务器304传输指示用户信息已更新的信号(步骤612)。在一个实施例中,跳过步骤612,并且注册服务器304假设用户信息在注册服务器304将信息传输至用户数据库306之后已更新。之后,注册服务器304向教程服务器308传输指示用户已注册的信号(步骤614)。从而,教程服务器308询问用户数据库306,并从用户数据库306接收与注册的移动计算设备llOa-c或与注册的移动计算设备llOa-c相关联的用户有关的信息。基于所接收的信息,教程服务器308创建手势教程(步骤620),并且将创建的教程传输至移动计算设备llOa-c(步骤622)。移动计算设备llOa-c向用户呈现所接收的教程(步骤624),并接收来自用户的与教程有关的反馈(步骤626)。移动计算设备然后将所接收的反馈传输至教程服务器308(步骤628),并且教程服务器308基于所接收的反馈修改之前存在的教程(步骤630)或者创建新的教程(步骤630)。教程服务器308然后将修改的或新创建的教程传输至移动计算设 备llOa-c(步骤632),并且移动计算设备110a_c向用户呈现所接收的教程(步骤634)。在一个实施例中,反复执行步骤628-634,直到所接收的反馈指示用户已掌握教程中所讲解的手势或用户希望退出教程。上述方法图示了响应于移动计算设备IlOa-C的注册而制作和呈现教程。本领域普通技术人员将理解,响应于类似更新安装或新安装移动计算设备llOa-c的应用程序或操作系统的附加事件,可执行步骤620-634。另外,在一个实施例中,上述方法用于为相同移动设备llOa-c的不同用户制作不同的教程。在该实施例中,用户登录到移动计算设备llOa-c内,教程服务器308接收用户登录,并且制作所接收的用户登录所特有的教程。此夕卜,在图示方法中,教程服务器308制作并修改教程。如上所述,在一个实施例中,由移动计算设备llOa-c代替制作或修改教程。参照图7,图7图示了用于追踪移动计算设备llOa-c的用户所掌握的手势的方法的一个实施例。该方法开始于移动计算设备llOa-c接收手势(步骤702)并且存储所接收的手势的标识符(步骤704)。之后,移动计算设备llOa-c确定移动计算设备110a_c已接收并存储相同手势的标识符的次数。如果移动计算设备llOa-c已从用户接收相同手势预定次数,则移动计算设备llOa-c确定用户已掌握该手势(步骤704)。从而,移动计算设备llOa-c将该手势标记为已掌握手势,并且向教程服务器308传输已掌握手势的标识符(步骤706)。教程服务器308将所接收的标识符传输至用户数据库306 (步骤708),并且用户数据库306存储所接收的已掌握手势的标识符(步骤710)。在一个实施例中,移动计算设备llOa-c不与教程服务器308通信,因此不在步骤706将已掌握手势的标识符传输至教程服务器308。相反,移动计算设备llOa-c直接将标识符传输至用户数据库306。以此方式,用户数据库存储用户所掌握的手势的标识符,并且教程服务器308或移动计算设备llOa-c利用该存储的信息,来确定用户未掌握的手势的教程。所公开的实施例有益地考虑了用于说明用户已掌握的手势的用户特定教程的创建。从而,所创建的教程不重复对于用户是已知的信息,因此在长度上更可能较短,并且更可能引起用户的关注。上述描述的某些部分描述了在算法和信息操作的符号表示方面的实施例,例如,如参照图6和图7图示且描述的。数据处理领域的技术人员常常使用这些算法描述和表示,来向本领域的其它技术人员有效传达他们的工作的要点。这些操作,当在功能上、计算上或逻辑上进行描述时,理解为通过计算机程序或等同的电路、微码等实现。此外,还证实了将这些操作布置称为模块在有时候是方便的,不失一般性。所描述的操作和它们相关的模块可嵌入在软件、固件、硬件或它们的任意组合中。如在本文中所使用的,“一个实施例”或“实施例”的任何引用表示结合该实施例描述的特定要素、特征、结构或特性包括在至少一个实施例中。短语“在一个实施例中”在说明书中的出现不一定全部指代相同的实施例。可利用表达“联接”和“连接”以及它们的衍生词来描述某些实施例。例如,可利用术语“连接”描述某些实施例,来表示两个或更多元件相互直接物理接触或电接触。在另一示例中,可利用术语“联接”描述某些实施例,来表示两个或更多元件直接物理接触或电接触。不过,术语“联接”还可表示两个或更多元件互相不直接接触,但仍然互相合作或彼此交互。实施例不限于此情况。如在本文中使用的,术语“包括”、“包含”、“具有”或它们的其它任何变体旨在涵盖非排它性的包含。例如,包括一列元件的过程、方法、商品或装置不一定只限于那些元件,而可以包括未特别列出的或者这种过程、方法、商品或装置所固有的其它元件。此外,除非另有相反说明,否则“或”表示包含的或,而不是排它的或。例如,以下条件中的任何一种满足 条件A或B :A为真(或存在)且B为假(或不存在);A为假(或不存在)且B为真(或存在);A和B均为真(或存在)。另外,“一个”的使用用于描述本文中的实施例的元件和部件。这样仅仅是为了方便的目的,并且给出本发明的一般意义。这种描述应理解为包括一个或至少一个,并且单数形式还包括复数形式,除非其显而易见地指代其它。此外,关于移动计算设备的大量细节是为了图示的目的而描述的,而实现权利要求系统和方法并不要求这些细节。例如,移动计算设备、类似移动计算设备中的扬声器和键盘的部件的实际大小被图示,但并不要求。这些图示的细节的目的是为了提供与上下文有关的描述,而对于实现所要求保护的系统和方法来说不是必要的。因此,这些细节不应理解为限制所要求保护的系统和方法。另外,在利用移动计算设备的情境中图示了确定和呈现用户特定手势教程的方法。本领域普通技术人员应理解,所公开的系统和方法还可以用于确定和呈现计算设备所支持的用户特定手势教程,该计算设备可能不被视为移动设备,但其具有被设计为接收手势交互的操作系统和屏幕。在阅读该公开时,本领域技术人员还将意识到用于通过本文公开的原理创建为特定用户定制的手势教程的系统和过程的附加可替代结构设计和功能设计。因此,尽管图示且描述了特定实施例和应用程序,但应理解的是,所公开的实施例不限于本文公开的精确结构和部件。本领域技术人员将明白,在不背离所附权利要求所定义的精神和范围的情况下,可对本文公开的方法和装置的布置、操作和细节进行各种修改、改变和更动。
权利要求
1.一种用于为计算设备的用户确定教程呈现的计算机执行的方法,所述方法包括 确定与计算设备相关联的用户的手势指令集,所述手势指令集表示与在所述计算设备上或在与所述用户相关联的另一计算设备上检测到预定次数的手势相关联的手势信息;确定与所述计算设备相关联的手势,其中所确定的手势未表示在所述手势指令集中;确定与所确定的手势对应的教程呈现;以及 将所确定的教程呈现传输至所述计算设备中的呈现模块,以呈现给所述用户。
2.根据权利要求I所述的方法,进一步包括 接收指示所述用户未掌握所确定的手势的反馈; 基于所接收的反馈,修改所确定的教程呈现或创建新的教程呈现;以及 传输经修改或新创建的教程呈现。
3.根据权利要求I所述的方法,进一步包括接收关于包括在所述手势指令集中的已掌握手势的信息,所述已掌握手势对应于在所述计算设备上检测到预定次数的手势。
4.根据权利要求I所述的方法,其中与所述计算设备相关联的手势由所述计算设备上的操作系统或应用程序支持。
5.根据权利要求I所述的方法,其中响应于所述计算设备上的操作系统的安装或更新向所述用户呈现所述教程呈现。
6.根据权利要求I所述的方法,其中确定所述教程呈现进一步包括响应于所述计算设备上的应用程序的更新或安装确定所述教程呈现。
7.根据权利要求I所述的方法,其中多个用户与所述计算设备相关联,所述方法进一步包括 接收与所述多个用户中的一个用户相关联的标识符;以及 其中确定所述手势指令集包括确定与所接收的与所述多个用户的一个用户相关联的标识符相关的手势指令集。
8.一种其上存储有指令的计算机可读存储介质,一个或多个处理器所执行的所述指令促使所述处理器执行以下操作 确定与计算设备相关联的用户的手势指令集,所述手势指令集表示与在所述计算设备上或在与所述用户相关联的另一计算设备上检测到预定次数的手势相关联的手势信息;确定与所述计算设备相关联的手势,其中所确定的手势未表示在所述手势指令集中;确定与所确定的手势对应的教程呈现;以及 将所确定的教程呈现传输至所述计算设备中的呈现模块,以呈现给所述用户。
9.根据权利要求8所述的计算机可读存储介质,进一步包括所述一个或多个处理器所执行的指令促使所述处理器执行以下操作 接收指示所述用户未掌握所确定的手势的反馈; 基于所接收的反馈,修改所确定的教程呈现或创建新的教程呈现;以及 传输经修改或新创建的教程呈现。
10.根据权利要求8所述的计算机可读存储介质,进一步包括所述一个或多个处理器所执行的指令促使所述处理器接收包括在所述手势指令集中的已掌握手势,所述已掌握手势对应于在所述计算设备上检测到预定次数的手势。
11.根据权利要求8所述的计算机可读存储介质,其中与所述计算设备相关联的手势由所述计算设备上的操作系统或应用程序支持。
12.根据权利要求8所述的计算机可读存储介质,其中响应于所述计算设备上的操作系统的安装或更新向所述用户呈现所述教程呈现。
13.根据权利要求8所述的计算机可读存储介质,其中确定所述教程呈现进一步包括响应于所述计算设备上的应用程序的更新或安装确定所述教程呈现。
14.根据权利要求8所述的计算机可读存储介质,其中多个用户与所述计算设备相关联,进一步包括所述处理器所执行的指令促使所述处理器执行以下操作 接收与所述多个用户中的一个用户相关联的标识符;以及 其中确定所述手势指令集包括确定与所接收的与所述多个用户中的一个用户相关联的标识符相关的手势指令集。
15.一种用于为计算设备的用户确定教程呈现的计算机执行的方法,所述方法包括 接收教程呈现,所述教程呈现包括关于使用不包括在手势指令集中的手势的使用说明,所述手势指令集表示与在所述计算设备上或在与所述用户相关联的另一计算设备上检测到预定次数的手势相关的手势信息; 存储所接收的教程呈现;以及 响应于所述计算设备的注册或者所述计算设备上的应用程序或操作系统的安装或更新而呈现所接收的教程。
16.根据权利要求15所述的方法,进一步包括 传输指示所述用户未掌握所述教程呈现中所讲解的手势的反馈; 基于所传输的反馈接收经修改的教程呈现或新的教程呈现;以及 向所述用户呈现经修改的或新创建的教程呈现。
17.根据权利要求15所述的方法,进一步包括 确定与在所述计算设备上检测到预定次数的手势对应的已掌握手势;以及 传输包括在所述手势指令集中的已掌握手势的标识符。
18.根据权利要求15所述的方法,其中所述教程呈现中的手势由所述计算设备上的操作系统或应用程序支持。
19.根据权利要求15所述的方法,其中响应于所述计算设备上的操作系统的安装或更新向所述用户呈现所述教程呈现。
20.根据权利要求15所述的方法,其中接收所述教程呈现进一步包括响应于所述计算设备上的应用程序的更新或安装接收所述教程呈现。
全文摘要
公开一种系统和方法,该系统和方法用于确定和呈现关于用户不经常使用的手势的手势教程,包括音频和/或视频呈现。为了确定教程,系统确定用户的手势指令集,该手势指令集包括关于用户已掌握手势的信息,例如在用户的计算设备上或在与用户相关联的另一计算设备上被检测到预定次数的手势。该系统确定与用户的计算设备相关联的、未在手势指令集中表示的手势。该系统确定关于所确定的手势的教程,并传输所确定的教程,以呈现给用户。
文档编号G06F15/16GK102918498SQ201180026224
公开日2013年2月6日 申请日期2011年5月13日 优先权日2010年5月27日
发明者大卫·D·肯佩 申请人:惠普发展公司有限责任合伙企业
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1