不可见控件
背景
移动设备具有从消费内容(例如,文本和视频内容)到执行各种任务(例如,执行搜索、组成电子邮件等)的许多使用。然而,大多移动设备的小形式因素提供了有限的屏幕可操作区域用于显示内容。在触摸屏设备的情况下,由于内容必须与用于同该内容进行交互的控件共享屏幕,因此屏幕可操作区域甚至更为有限。例如,为了促进导航和对移动应用的使用,移动应用一般包括诸如允许用户导航和操纵该移动应用中显示的内容的按钮和菜单的控件。然而,这些控件占据了原本可用于显示移动应用的内容的空间。
同样,由于移动设备的小显示尺寸,用户可发现难以使用移动设备来执行任务和/或在多个移动应用之间进行导航。例如,如果用户在网站上读了电影评论并想要租赁该电影,则用户可能需要导航到电影租赁网站或打开电影租赁应用并键入该电影的名称。或者,如果用户正在使用电影租赁应用并期望执行与电影相关的搜索,则该用户可能不得不打开web浏览器并输入搜索查询。这些场景是耗时的,并且可能需要用户在多个web浏览器和/或应用之间往返以寻找有关该电影的信息。
概述
本概述介绍了将在以下详细描述中进一步描述的可用于更改客户机设备的操作模式的控件的简化概念。本概述并不旨在标识所要求保护的主题的必要特征,也不旨在用于确定所要求保护的主题的范围。
本申请描述了更改客户机设备的操作模式的技术。在一个实施例中,客户机设备可提供被设置在客户机设备的显示器的边框的至少一部分周围的不可见控件。不可见控件可包括例如对用户不可见的软按钮。用户可相对于客户机设备的显示器的边框的至少一部分执行选择姿势以激活不可见控件。不可见控件的激活可更改客户机设备或客户机设备的应用的操作模式。在此还描述了其他类型的可见和不可见控件以及激活技术。
例如,响应于接收到选择姿势,客户机设备可以将与客户机设备相关联的当前操作模式改变成新操作模式(例如,从浏览模式到搜索模式)。在从当前操作模式切换到新操作模式时,客户机设备可禁用与显示在客户机设备的显示器中的对象的至少一些交互。在接收到应用于已禁用对象和/或与已禁用对象相关联的数据的后续姿势后,客户机设备可根据新操作模式来应用预先确定的动作。例如,在浏览模式中,某姿势会进行了平移或缩放,而在搜索模式中,该姿势可用于标识要搜索的主题。
在某些实施例中,客户机设备可取决于选择姿势所针对的显示器的边框的位置来激活不同的操作模式。另外地或另选地,不同的姿势可用于激活不同的操作模式。
附图简述
参考附图阐述详细描述。在附图中,附图标记最左边的数字标识该附图标记首次出现的附图。在不同附图中使用相同的附图标记指示相似或相同的项。
图1示出了包括客户机设备的示例不可见控件***的示例环境。
图2更详细地示出了图1的示例不可见控件***。
图3A-3D示出了发起或启动示例不可见控件***中的某不可见控件的示例姿势。
图4示出了使用示例不可见控件***来激活多个不可见控件模式中的一不可见控件模式的示例。
图5示出了使用示例不可见控件***来发起或启动多个不可见控件中的一不可见控件模式的另一示例。
图6示出了可用于向用户通知不可见控件已被激活的示例指示符。
图7A-7C及图8A和8B示出了使用示例不可见控件***中的一不可见控件的示例使用场景。
图9示出了与示例不可见控制***交互的示例方法。
详细描述
概览
如上所述,移动应用的开发商常常被迫在提供有用的控件(例如,诸如后退按钮之类的导航控件、诸如搜索按钮之类的专用控件等)和为将内容显示在移动设备的显示器上提供更多空间之间进行折衷。一方面,提供更多控件促进更好的功能性(例如,导航和操纵移动设备上所显示的内容)。另一方面,移动应用中提供的控件越多,则可用于呈现内容的空间越少。此外,包括多个不同的控件可使用户界面变得混乱,从而使得与用户界面的交互对于用户是易混淆和复杂的。
例如,用户可以使用他/她移动设备的应用(诸如,web浏览器)来查看视觉内容(例如,电影评论网站中关于某电影的信息)。在查看视觉内容时,用户可能想要获得附加信息(例如,具有可用于租赁的电影的位置)。然而,视觉内容(即,本示例中的网站)的内容提供商可能不包括用户感兴趣的任何附加信息。在那种情况下,用户将需要打开另一应用(例如,电影租赁应用)或web浏览器的另一实例来查找附加信息(例如,来定位电影租赁站点)。然而,在给定他或她移动设备的小显示尺寸和小键盘的情况下,用户可发现使用他/她的移动设备来执行该搜索是麻烦的。
本申请描述了包括不可见控件的***,该不可见控件是不可见的,表示它并非显式地存在或作为诸如按钮、图标、菜单等控件被显示给用户。相反,不可见控件是隐藏在客户机设备的显示器和/或客户机设备的应用的预先确定的区域中的软按钮(即,显示屏上呈现的软件生成按钮),并可响应于在预先确定的区域上检测或接收到预先定义的姿势而被激活。由于不可见控件是不可见的,因此它并不占用任何屏幕可操作区域,由此最大化了客户机设备的显示器上可显示的内容量。
不可见控件的激活可以改变客户机设备和/或应用的操作模式。例如,不可见控件的激活可以从浏览操作模式改变成搜索操作模式,在浏览操作模式中,特定姿势导致所显示的内容平移或滚动,而在搜索操作模式中相同或类似的姿势用于标识要搜索的主题。在另一示例中,不可见控件的激活可以从图像查看操作模式改变成图像编辑操作模式,在图像查看操作模式中,特定姿势导致平移、滚动、或缩放以查看某图像,而在图像编辑模式中,相同或类似的姿势导致选择或编辑该图像。这些只是在激活不可见控件后如何改变操作模式的两个示例。尽管以下给出了其他示例,但这些也仅是说明性的,不可见控件可被用于在任何两个或更多个操作模式之间改变。在某些示例中,不可见控件可类似于键盘上的控制、alt或功能键用于将输入的操作从第一模式改变成另一模式。
在某些示例环中,不可见控件可通过检测到相对于客户机设备的显示器的预先确定区域的姿势而被激活,并在该姿势被移除时被停用(所谓的推压抬离实施例)。在某些示例环中,不可见控件可通过在客户机设备的显示器的预先确定区域中检测到姿势而被激活,并通过检测到该姿势的第二实例而被停用(所谓的推压推离实施例)。
在某些示例中,不可见控件的激活可导致菜单、列表、表格或其他选择界面被呈现。选择界面可包括多个不同的动作或操作模式,通过该选择界面,用户可以选择所需的动作或操作模式。在另一示例中,对不可见控件的选择可导致随时间(例如,每半秒钟、或每秒钟)循环通过多个不同的动作或操作模式的界面被呈现。在又一示例中,通过使用不同的姿势(例如,按压和保持、轻击、滑动、旋转等)和/或在显示器上的不同位置(例如,不同边、中心等)处使用姿势来激活不可见控件,可发起不同的动作或操作模式。在所有这些示例中,不可见控件的激活可以允许用户从多个不同的操作模式中进行选择。
在此描述的不可见控件可以从客户机设备的任何应用中被使用。作为示例而非限制,这种应用可包括但不限于:客户机设备的操作***(例如, 等)、软件程序(诸如web浏览器应用、搜索应用、视频播放器应用、电子邮件客户机、日历应用、文字处理应用、电子表格应用、相片查看和/或编辑应用、游戏等)等。为了便于从任何应用中应用不可见控件,应用编程接口可(例如,作为软件开发套件的一部分)被提供给开发商,使得开发商可开发出能够利用不可见控件的应用。
在某些实施例中,用户可能想要使用不可见控件来操纵应用或与该应用相关联的数据(例如,该应用中显示的内容、和/或诸如一个或多个过去会话中的历史用户数据之类的元数据等),或使用不可见控件来与该应用或与该应用相关联的数据进行交互。在一个实施例中,用户可通过在客户机设备或应用的预先确定区域上应用选择姿势来实现这个。作为示例而非限制,预先确定区域可以包括但不限于:客户机设备的显示器的边框或边的全部或部分、框住应用的窗口框架的边框或边的全部或部分、客户机设备的显示器的一个或多个角、框住应用的窗口框架的一个或多个角、客户机设备的显示器的中点、框住应用的窗口框架的中心等。
在一个实施例中,选择姿势可包括:例如,使用定点设备(诸如,鼠标、指示笔或手指等)来按压并保持在客户机设备或应用的预先确定区域、在预先确定的时间段内轻击客户机设备或应用的预先确定区域达预先确定次数(例如,一秒钟两次)、上下滑动、沿着客户机设备或应用的预先确定区域快速连续地上下滑动、以顺时针或逆时针方向沿着客户机设备或应用的预先确定区域移动。然而,这些姿势仅是说明性的,任何其他所需姿势可用于激活不可见控件。例如,在某些实施例中,搜索姿势可包括用户的身体或身体部位(诸如,手指、手、头和/或手臂)的运动。客户机设备可通过相机、其他图像捕捉设备或客户机设备的任何运动检测组件来检测身体运动。用户的运动可被解释成选择姿势,并且在朝着或相对于不可见控件的区域被执行时可激活不可见控件以改变客户机设备的操作模式。此外,在具有触摸屏显示器的客户机设备的情况下,姿势可包括单触摸姿势(使用单个定点设备)或多触摸姿势(使用多个定点设备或内容点)。在此描述的针对触摸屏的姿势中的任何一个姿势也可在运动检测组件所检测到的身体运动的上下文中被转换和应用。
响应于接收或检测到选择姿势,客户机设备可激活不可见控件和/或与不可见控件相关联的预先确定动作。预先确定动作可包括但不限于可应用于应用或该应用的内容的操作。作为示例而非限制,预先确定动作可包括禁用与应用或应用的内容的交互、将应用的当前操作模式改变成新操作模式、对应用和/或应用的内容执行一个或多个操作等。
在一个实施例中,与不可见控件相关联的预先确定动作可以由应用的开发商、提供应用的内容的内容提供商和/或客户机设备的用户来预先定义或预先编程。另外地或另选地,应用可以为用户提供用户界面以从预先确定的动作集中选择动作。
尽管此处的许多实施例描述了被隐藏以免用户查看的不可见软按钮控件,在其他实施例中其他类型的控件可用于改变客户机设备的操作模式和/或禁用客户机设备的对象。例如,在某些实施例中,控件可采取以下形式:设置在客户机设备上的物理按钮(例如,专门的搜索按钮或操作模式改变按钮)、设置在客户机设备之内或之上的电容或其他触摸传感器(例如,围绕客户机设备的框或框架的边框的至少一部分)、在客户机设备的显示器上的某处显示的可视软按钮控件、或语音激活的控件(例如,“输入搜索模式”或“改变操作模式”)等等。在一个特定实施例中,控件可包括透明的或半透明的软按钮,使得内容仍可透过该控件被看见,但该控件的轮廓在显示器上对用户是不可见的。在此描述的应用于“不可见控件”的技术中的任何一个技术还可被应用于这些其他类型的可视和不可视控件中的任何一个控件。为了简洁的目的,本申请没有描述使用这些不同类型的控件中的每一个控件的特定示例
在此描述的技术允许应用提供不占据显示空间(或在可视软件按钮控件的情况下,占据有限显示空间)的控件,由此释放出更多空间来用于显示用户感兴趣的内容。此外,这些技术允许开发商和/或内容提供商定制控件和/或相关联的功能以供用户与要提供在客户机设备的应用中的内容进行交互或操纵该内容。
示例性体系结构
图1示出了可用于实现不可见控件***的示例性环境100。环境100包括用户102、客户机设备104和可用于实现不可见控件107的不可见控件***106。仅出于说明的目的,不可见控件107在此被示为围绕客户机设备104的显示屏的边框的虚线。在实践中,不可见控件107不会对用户可见,并且可被设置为围绕整个边框(如图所示)、边框的一部分(例如,显示屏的一个或多个边)、或在显示屏上的另一位置处。
客户机设备104可以被实现为各种常规计算设备中的任一种,包括例如,个人计算机、笔记本或便携式计算机、手持式设备、上网本、因特网设备、便携式阅读设备、电子书阅读器设备、图形输入板或平板计算机、电视机、机顶盒、游戏控制台、移动设备(例如,移动电话、个人数字助理、智能电话等)、媒体播放器等、或其组合。在此描述的不可见控件***106对于具有有限屏幕大小的客户机设备(诸如,移动设备)可能特别有用。然而,不可见控件***106并不限于移动设备,并可以与任何客户机设备一起使用。例如,客户机设备104可以是具有相机的游戏设备或其他运动检测接口的游戏设备(诸如被配置为具有KinectTM运动检测***的游戏控制台),这两者都可以从华盛顿州雷蒙德市的微软公司处得到。客户机设备104可接收或解释图像或信号以确定用户102正在执行什么运动。不可见控件***106可以将在预先确定不可见控件附近的或指向预先确定不可见控件的运动解释成用于激活该不可见控件以便执行某动作或改变客户机设备的操作模式(例如,触发搜索和/或定义搜索的范围)的选择姿势。在诸如图1中示出的移动设备的某些示例中,客户机设备可具有内置显示器,而在诸如游戏控制台示例的其他示例中,客户机设备可采用外置显示器(例如,电视机或投影仪)。如本申请中所使用的,内置显示器和外置显示器两者都被认为是客户机设备的显示器。
在一个实施例中,客户机设备104可包括耦合到存储器110的一个或多个处理器108。存储器110可包括一个或多个应用112(例如,操作***、web浏览器应用、搜索应用、视频播放应用、音乐播放器应用、电子邮件客户机、日历应用、文字处理应用、电子表格应用、相片查看和/或编辑应用、游戏等)及其他程序数据114。在某些实施例中,客户机设备104还可包括一个或多个有线和/或无线网络接口116和输入/输出接口118。一个或多个处理器108被配置成执行从网络接口116接收的、从输入/输出接口118接收的、和/或存储在存储器110中的指令。
存储器110可包括诸如随机存取存储器(RAM)等易失性存储器形式的和/或诸如只读存储器(ROM)或闪速RAM等非易失性存储器形式的计算机可读存储介质。存储器110是计算机可读介质的示例。计算机可读介质包括至少两种类型的计算机可读介质,即计算机存储介质和通信介质。
计算机存储介质包括以用于存储如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于,相变存储器(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存或其他存储器技术、光盘只读存储器(CD-ROM)、数字多功能盘(DVD)或其它光存储、磁带盒、磁带、磁盘存储或其它磁存储设备、或可用于存储由计算设备访问的信息的任何其他非传输介质。
相反,通信介质可在诸如载波之类的已调制数据信号或其他传输机制中体现计算机可读指令、数据结构、程序模块或其他数据。如本文所定义的,计算机存储介质不包括通信介质。
在某些实施例中,环境100还可包括网络120、一个或多个网站122、和/或一个或多个搜索引擎124。网络120可以是无线或有线网络,或其组合。网络120可以是彼此互连并用作单个大型网络的各单独网络的集合(例如,因特网或内联网)。这样的单独网络的示例包括但不限于,个域网(PAN)、局域网(LAN)、广域网(WAN),以及城域网(MAN)。此外,各单独网络也可以是无线或有线网络,或其组合。
在一个实施例中,不可见控件***106可以与客户机设备104集成在一起。作为示例而非限制,不可见控件***106的部分或全部可以例如作为安装在客户机设备104中的软件和/或硬件而被包括在客户机设备104中。在其他实施例中,客户机设备104和不可见控件***106可以是分开的***。例如,不可见***106可被安装在与客户机设备104分开的计算设备(未示出)上,并例如通过网络118执行客户机设备104上的一个或多个功能。
图2更详细地示出了不可见控件***106。在一个实施例中,不可见控件***106可包括程序模块202和程序数据204。程序模块202和程序数据204可以被存储在例如客户机设备104的存储器110中。
一般来说,用户102可以使用客户机设备104或客户机设备104的应用112来消费内容。该内容可包括文本、图像、视频和/或音频。在一个实施例中,客户机设备104和/或应用112可包括不可见控件***106可操作和/或可管理的一个或多个不可见控件。
作为示例而非限制,用户102可以在客户机设备104和/或应用112的预先确定区域上应用选择姿势以激活不可见控件107。在一个实施例中,预先确定区域可包括但不限于,客户机设备104的显示器的边框或边的全部或部分、框住应用112的窗口框架的边框或边的全部或部分。一般来说,客户机设备104或应用112的预先确定区域可以没有任何可视地向用户显示的任何可视控件(诸如,按钮、图标、图形、或菜单等)。
在某些实施例中,在检测或接收到选择姿势之前,不可见控件***106可以不向用户102提供存在供激活的不可见控件的任何指示。然而,在其他实施例中,在检测或接收到选择姿势之前,不可见控件***106可以向用户102提供存在供激活或启动的不可见控件的指示。例如,不可见控件***106可以通过在用户第一次使用该设备是呈现向导、通过周期性地提供提示或建议、通过(例如,在应用的开始处和/或此后周期性地)简要示出不可见按钮的视觉表示等来向用户102提供指示。
另外地或另选地,不可见控件***106可包括显示模块206,以响应于检测到不可见控件107的激活而向用户102提供指示。即,一旦用户激活了不可见控件107,显示模块106可使图标发亮或以其他方式向用户指示该不可见控件107被激活了。显示模块206可例如在没有选择姿势被检测到的情况下和/或在选择姿势从预先确定区域被移除后,将指示保持为对用户102隐藏或不可见。
另外地或另选地,不可见控制***106可包括查找模块208。查找模块208可以向用户102提供描述不可见控件***106所提供的一个或多个不可见按钮(例如,专用于客户机设备104和/或应用112的一个或多个不可见按钮)的查找装置(例如,查找表、查找列表、菜单、气泡、标注等)。在将选择姿势应用于预先确定区域之前,可允许用户102确定由不可见控件***106通过查找模块208提供的一个或多个不可见按钮。
在某些实施例中,不可见控件***106可以在客户机设备104的显示器或者应用112的窗口框架的同一位置和/或同一边上向用户102提供多个不可见控件。在一个实施例中,一个以上的不可见控件可以在客户机设备104的显示器和/或应用112的窗口框架的同一位置或同一边上(即,在客户机设备104和/或应用112的同一预先确定区域上)被提供。在那种情况下,不可见控件***106可以呈现用户102可从其选择的不可见控件的菜单。
另外地或另选地,不可见控件***106可以循环通过多个不可见控件,并将每一个不可见控件循环地呈现给用户102。作为示例而非限制,响应于接收来自用户102的选择姿势,不可见控件***106可以在循环到多个不可见控件中的下一个不可见控件之前,将下一个不可见控件呈现达预先确定的时间间隔(例如,半秒钟、一秒钟等),直到用户102选择了所需的不可见控件或直到用户102将他/她的选择姿势从客户机设备104或应用112的预先确定区域处移除。
另外地或另选地,不可见控件***106可响应于检测到用户102沿着预先确定区域(例如,沿着客户机设备104的显示器或应用112的边或边框)移动他/她的定点设备或手指,而呈现多个不可见控件中的一不同的不可见控件。
在一个实施例中,不可见控件***106可以按以下次序来一个接一个地呈现多个不可见控件:在一个或多个过去会话或在当前会话中,专用于应用112或客户机设备104的不可见控件的使用频率的降序次序。在某些实施例中,不可见控件***106可以按以下次序来一个接一个地呈现多个不可见控件:专用于应用112或客户机设备104的不可见控件的使用新近程度的降序次序。在其他实施例中,不可见控制***106可通过以下方式来允许用户102定制呈现多个不可见控件的次序:为用户102提供例如用于定义需要作为最早的不可见控件来被呈现的一个或多个最喜欢不可见控件(这些控件专用于应用112或客户机设备104)的界面。
在一个实施例中,响应于在预先确定区域(例如,客户机设备104的显示器的边框或边)上检测到选择姿势,显示模块206可以向用户102提供关于可被激活或启动的任何不可见控件的信息。例如,响应于检测到或接收到选择姿势,不可见控制***106的确认模块210可以向用户102提供用户已激活了不可见控件的确认。该确认可包括例如将可见的指示符(诸如,可见的线、边框等)显示在预先确定区域上、改变预先确定区域的颜色、改变与对象相关联的图形(诸如,图标、按钮等)的颜色、使与对象相关联的图形发亮、改变与对象相关联的框架的颜色、和/或播放预先确定的音频信号等。
不可见***106还可包括确定模块212,以用于确定其中检测到该选择姿势的预先确定区域的位置或部分(例如,客户机设备104的显示器的边框的哪一边或框住应用112的窗口框架的边框的哪一边)。
在一个实施例中,响应于确定其中检测到该选择姿势的预先确定区域的位置或部分,确定模块212还可基于预先确定区域的所确定位置或部分来确定要采取的预先确定动作。确定模块212可以通知激活模块214激活预先确定的动作和/或为来自用户102的进一步输入或姿势作准备。在某些实施例中,预先确定区域的不同位置或部分可以与不同的预先确定动作相关联。在其他实施例中,预先确定区域的某些位置或部分可以与同一预先确定动作相关联。在其他实施例中,预先确定区域的某些位置或部分可以与同一预先确定动作相关联,但具有不同的幅度(诸如,例如快进、慢进、正常播放视频)。
作为示例而非限制,预先确定的动作可包括禁用与客户机设备104上显示的对象的交互。一个或多个预先确定的交互可包括但不限于,移动/平移、重设大小、放大或缩小所显示的对象等。在某些实施例中,这些交互还可包括在对象中禁用超链接、单选按钮、和可交互式域。在一个实施例中,不可见控制***106可持续禁用所显式的对象,直到选择姿势(例如,按压和保持)被释放。
另外地或另选地,预先确定的动作可包括将与客户机设备104或对象相关联的当前操作模式(例如,阅读模式)改变成新操作模式(例如,搜索模式)。
另外地或另选地,预先确定的动作可包括但不限于,可应用于客户机设备104或与客户机设备104相关联的数据(包括客户机设备104的显示器中显示的内容和/或与客户机设备104相关联的元数据等)的操作。另外地或另选地,预先确定的动作可包括可应用于客户机设备104上显示的对象及与所显示的对象相关联的数据的操作。所显示的对象可包括:例如,在检测到或接收到选择姿势之前不久处于活动视图中的应用112。例如,预先确定的动作可包括对与客户机设备104相关联的数据(诸如,内容和/或元数据等)和/或与对象相关联的数据(诸如,内容和/或元数据)执行一个或多个操作。
在预先确定的动作要被激活的情况下,动作激活模块214可基于预先确定区域的所确定位置或部分来激活预先确定动作。类似于前述描述,预先确定区域的不同位置或部分可以与不同的预先确定动作相关联、与同一预先确定动作相关联、或与同一预先确定动作相关联但具有不同的幅度。预先确定动作可包括以上在前述描述中描述的各操作。
在某些实施例中,不可见控制***106还可检测或接收来自用户102的一个或多个后续姿势。在一个实施例中,用户102可以将一个或多个后续姿势应用于所显示的对象或与所显示的对象相关联的数据。作为示例而非限制,用户102可选择与所显示的对象相关联的数据的一个或多个不接合的或分离的部分。在一个特定实施例中,对不可见控件的选择可指示搜索模式,并且后续姿势可标识(例如,环绕、部分环绕、重叠、触摸、指向等)用户想要执行搜索的主题。
响应于检测到或接收到一个或多个后续姿势,动作激活模块214可基于该一个或多个后续姿势来启动预先确定动作(该预先确定动作已响应于接收到或检测到选择姿势而被激活)。在搜索操作模式的情况下,在接收到第二或后续姿势后,激活模块214可基于由第二或后续姿势所标识出的主题而自动地发起搜索。
不可见控件***106还可包括定义模块216。定义模块216可提供允许不可见控件***106根据不同的不可见控件来识别不同的姿势。这些姿势可以是(例如,由设备制造商、应用提供商、内容提供商等)预先定义的,或者可以是用户定义的。在某些实施例中,定义模块216可提供应用编程接口(API),该应用编程接口允许用户102、应用112的应用产商、和/或提供要在应用112中提供的内容的内容提供商等开发和定制不可见控件***106可支持的不可见控件。另外地或另选地,定义模块216可提供用户102、应用112和/或应用112的内容可采用或选择的预先定义的不可见控件或不可见控件定义。
示例性使用场景
图3A-3D示出了可用于发起或启动不可见控件***106的不可见控件的示例姿势。例如,图3A示出了用户102可触摸、轻击、或触摸并保持302客户机设备102的显示器的边或边框,以激活不可见控件***106的不可见控件。如上所述,可根据所谓的推压抬离实施例来激活不可见控件,在推压抬离实施例中,不可见控件仅在触摸或其他输入被维持时被激活。或者,可根据所谓的推压推离实施例来激活不可见控件,在推压推离实施例中,不可见控件由第一姿势来打开,并由同一或不同姿势的第二实例来关闭。
或者,用户102可通过沿着客户机设备104的显示器的边或边框上下滑动(或左右滑动)304来激活不可见控件***106的不可见控件,如图3B所示。在某些实施例中,用户102可另选地通过沿着客户机设备104的显示器的边或边框快速连续地上下滑动(或左右滑动)306来激活不可见控件***106的不可见控件,如图3C所示。在图3D中示出的其他实施例中,用户102可通过以顺时针或逆时针方向沿着客户机设备104的显示器的边框移动308来激活不可见控件***106的不可见控件。虽然手指被描述为用于发起或启动不可见控件***106的不可见控件,但另外地或另选地任何定点设备(诸如,指示笔、鼠标等)可用于在客户机设备104上发起或启动不可见控件***106的不可见控件。同样,尽管单输入姿势被示出,但使用多个接触或输入点的多触摸姿势也可被使用。
图4示出了从不可见控件***106的多个可用不可见控件中选择一不可见控件的第一示例。作为示例而非限制,用户102可通过以下方式来执行选择姿势:在客户机设备104的预先确定区域(例如,如图4所示的显示器406的边404上的某个位置)上触摸402达预先确定的时间段(例如,半秒钟、一秒钟等)。响应于接收到选择姿势,不可见控制***106可呈现选择后可以激活的不可见控件(诸如,不可见控件A408)的表示(例如,标注、气球等)。在一个实施例中,不可见控件***106可以基于接收到选择姿势的边404上的位置来呈现不可见控件(诸如,不可见控件A408)的表示。由此,用户102可通过在不可见控件的表示上点击、或将手指(或者定点设备,如果被使用的话)从显示器406的边404处移除等来选择该不可见控件。
在某些实施例中,用户102可选定不选择不可见控件A408,并可将他/她的手指(或定点设备,如果被使用的话)移动412到客户机设备106的显示器406的边404的新位置处。响应于在新位置处接收到用户姿势,不可见控件***106可基于客户机设备104的显示器406的边404上的新位置而呈现新不可见控件(诸如,不可见控件B410)的新表示或指示,以供用户102进行选择。当用户102沿着客户机设备104的显示器406的边404移动时,不可见控件***106可基于用户102的手指(或定点设备,如果被使用的话)的地点或位置来呈现一个或多个其他不可见控件的表示,以供用户102进行选择。
图5示出了从不可见控件***106的多个可用不可见控件中选择一不可见控件的第二示例。在该示例中,用户102可以在客户机设备104或应用112的预先确定区域上按压并保持,并且不可见控件***106可以循环的方式呈现多个不可见控件。用户102可以在客户机设备104的显示器506的边504上按压并保持502。响应于接收到来自用户102的这个姿势,不可见控件***106可呈现不可见控件(诸如,不可见控件1)可在用户选择后激活的确认或指示。不可见控件***106可立即或在预先确定的时间段后呈现该确认或指示。
在某些实施例中,如果用户102没有选择不可见控件,则不可见控件***106可以在预先确定的时间间隔(例如,半秒钟、一秒钟)之后一个接一个地循环通过各不可见控件(例如,不可见控件1、之后为不可见控件2、之后为不可见控件3并以此类推)。不可见控件***106可继续循环地呈现各后续不可见控件(一直到N的任何数量的不可见控件模式),直到用户102选择了不可见控件,或者用户102将他/她的手指(或定点设备,如果被使用的话)从客户机设备104的显示器506的边504处移除。各个不可见控件可对应于任何所需操作模式或动作。例如,不可见控件1可对应于“Ctrl”按钮被按压时的键盘操作,不可见控件2可对应于“Alt”按钮被按下时的操作,且不可见控件3可对应于某“功能”按钮被按下时的操作。在另一示例中,不可见控件1可对应于用于浏览内容的操作,不可见控件2可对应于用于搜索内容的操作,且不可见控件3可对应于用于编辑内容的操作。
图6、图7A-7B及图8A和图8B示出了可能使用不可见控件的各种使用场景。为方便起见,参考图1的示例环境100描述了使用场景。然而,使用场景不限于与图1的示例环境100一起使用。
图6示出了用户102在客户机设备104上激活不可见控件***106的不可见控件的示例。客户机设备104可以将内容呈现在客户机设备104的显示器上。所呈现的内容可包括文本、图像、诸如表示应用的图标之类的图形、搜索框、和音频和/或视频内容的表示等。在某些实施例中,用户102可能正在使用客户机设备104的应用(诸如,应用112)。
用户102可以在客户机设备104的显示器606的边606上应用选择姿势606(如在前述描述中描述的),如图6所示。响应于确定选择姿势,不可见控件***106可以向用户102提供不可见控件***106的不可见控件被激活的确认。例如,不可见控件***106可沿着在其上应用了选择姿势的显示器的边呈现可见线608。另外地或另选地,不可见控件***106可改变应用的窗口框架610的颜色、改变在应用中显示的图形612(诸如,按钮或图标)的颜色、显示框住应用的内容的边框614、使图标或区616发亮或“发光”、和/或播放618预先确定的音频信号。在一个特定实施例中,不可见控件的激活会激活搜索操作模式,其中用户可以画圆圈、突出显示或以其他方式来指示要搜索的主题。在这个实施例中,不可见控件的激活还可以导致搜索框(诸如,搜索框616)被显示以供输入文本搜索查询。在这个实施例中,搜索框616可以用于向用户通知不可见控件被激活的附加目的。
图7A-7C示出了其中用户102正在使用客户机设备104的应用(例如,为web浏览器应用的应用112),并想要基于应用112中显示的内容的部分或全部来执行搜索的示例。内容可包括但不限于,文本、图像、和视频和/或音频内容的表示。在这个示例中,用户102可以通过在客户机设备104或应用112的预先确定区域上(例如,在客户机设备104的显示器706的边704上)应用选择姿势702来激活不可见控件。另外地或另选地,不可见控件可以通过语音控制(例如,“改变操作模式”、“搜索模式”、或“执行动作A”等)来激活。在其他实施例中,替代不可见控件,可见控件可用于改变操作模式或执行预先定义的动作。可见控件的示例包括但不限于,客户机设备的物理按钮、电容式或其他触敏控件(例如,被设置在客户机设备的框或框架的边框周围)、和/或客户机设备的显示器上显示的软按钮或图标。在图7A的示例中,可见控件按钮可被添加到浏览器(例如,紧邻功能区中的home按钮或打印按钮),或者“实况搜索”框可用作在被用户选择时使得客户机设备进入搜索模式的可见控件。
响应于接收到选择姿势或语音命令,不可见控件***106可禁用或冻结与客户机设备104的显示器中显示的内容的部分或全部的交互。例如,不可见控件***可阻止对象平移、滚动和/或缩放。另外地或另选地,响应于接收到选择姿势,不可见控件***106可以禁用或冻结与应用112或应用112中提供的相应内容的交互。另外地或另选地,不可见控件***106可禁用客户机设备104的显示器中显示的内容的部分或全部的一个或多个超链接、单选按钮、和/或交互区。
另外地或另选地,不可见控件***106可以将当前操作模式(例如,允许用户102移动、重设大小、和/或缩放等的模式)改变成被配置成允许用户标识出要搜索的内容的新操作模式(例如,搜索模式)。例如,在搜索模式中,用户可被允许画圆圈、突出显示、重叠或以其他姿势来标识出要搜索的主题。用户也可被允许在搜索框中输入文本查询和/或经由客户机设备的话筒来输入语音查询。
在某些实施例中,用户102还可输入一个或多个后续姿势(例如,姿势708和710)来选择在客户机设备104的显示器706中显示的一个或多个对象(例如,721和714),如图7B所示。尽管该图中后续姿势被示为由用户的不同的手作出,但在其他情况下,后续姿势可以由与激活不可见控件相同的手来作出。用户102可以应用一个或多个后续姿势以标识出要搜索的主题。作为示例而非限制,一个或多个所选对象可包括但不限于,应用112中提供的内容的部分或全部。所选的内容可包括但不限于,文本、图像、或视频和/或音频内容的表示。此外,一个或多个所选对象可包括彼此分开和不接合的分离对象。在一个实施例中,一个或多个后续姿势可包括但不限于将一个或多个所选对象框住或基本框住。姿势的其他示例可包括绘制与要搜索的主题相交或重叠的姿势、突出显示要搜索的主题、绘制检查标记或字母、或标识要搜索的主题的任何其他姿势。
响应于接收到一个或多个后续姿势,不可见控件***106可以基于一个或多个所选对象来应用预先确定的动作。在一个实施例中,不可见控件***106可基于一个或多个所选对象(例如,标识出的主题)来表述搜索查询。另外地,不可见控件***106还可基于与一个或多个所选对象和/或应用112相关联的上下文来表述搜索查询。
在一个实施例中,与一个或多个所选对象和/或应用112相关联的上下文可包括但不限于,在一个或多个所选对象附近的内容、具有其部分在一个或多个所选对象中的段落、具有其部分在一个或多个所选对象中的句子、具有其部分在一个或多个所选对象中的图像、具有其部分在一个或多个所选对象中的音频记录的表示、和/或具有其部分在一个或多个所选对象中的视频。上下文可附加地或另选地包括与显示一个或多个所选对象、客户机设备104的位置数据、和/或与一个或多个所选对象相关联的元数据有关的信息。在用户102的任何位置数据或其他个人可标识的数据被捕捉或传送到搜索应用或引擎之前,用户102可被提示他/她是否想要共享这样的信息。
在一个实施例中,响应于一个或多个后续姿势的完成,不可见控件***106和/或客户机设备104可自动地导致要至少部分地基于标识出的主题来执行的搜索。在另一实施例中,不可见控件***106可向用户102呈现经表述的搜索查询并允许用户102编辑、修改和/或确认经表述的搜索查询。响应于从用户102接收到经确认的搜索查询,不可见控件***106可基于经确认的搜索查询来执行该搜索。
在某些实施例中,不可见控件***106可将经表述的搜索查询提交给本地搜索应用或远程搜索引擎(诸如,一个或多个搜索引擎124)。不可见控件***106可以从本地搜索引擎或远程搜索引擎接收搜索结果,并向用户102呈现这些搜索结果。
在一个实施例中,响应于接收到搜索结果,不可见控件***106可将搜索结果呈现于覆盖在应用112中提供的原始内容之上的浮动窗口716中,如图7C所示。在另一实施例中,不可见控件***106可将搜索结果呈现在可能部分透明(例如,40%、50%、60%透明)并覆盖在应用112的原始内容之上的浮动窗口716中。在某些实施例中,不可见控件***106可向用户102呈现搜索结果的概述(诸如,搜索结果的标题),但可响应于接收到用户102对搜索结果的选择(例如,触摸搜索结果的标题)而扩展搜索结果。
另外地或另选地,如果多个对象被选择,则不可见控件***106可比较一个或多个所选对象并向用户102呈现比较结果。
图8A和8B示出了使用不可见控件***106来最大化用于呈现应用的内容的空间的示例。在一个实施例中,不可见控件***106可被应用(诸如,应用112)用来隐藏该应用中包括的(标准和/或专用)控件的部分或全部。客户机设备104可因此使其显示空间中的大多数或全部专用于显示应用112的内容,同时使用较少空间或不使用空间来显示应用的控件(诸如,菜单、图形、按钮、图标等)。如果用户102想要使用应用112的特定控件,则用户102可通过如前述描述中所描述的在客户机设备102或应用112的预先确定区域上应用选择姿势来调出被隐藏的控件,并选择所需的控件以供此后使用。
在一个示例中,客户机设备104可使用客户机设备的整个显示区域来显示应用112的内容。即,客户机设备104可隐藏应用112的任何控件(例如,菜单、图形、图标、按钮、滑动条、滚动条、和/或信息条等)。在其他实施例中,客户机设备104可隐藏应用112的任何部分,而非与应用112的内容相对应的区域。
在一个实施例中,不可见控件***106还可为应用112的应用厂商提供用于将那些控件、滑动条、信息条等链接到不可见控件***106可操作和/或可管理的一个或多个不可见控件的规范。例如,不可见控件***106可以用可扩展标记语言(XML)来定义规范或模式。应用112的应用厂商可遵循该规范或模式,并将应用112的任何控件链接到不可见控件***106所提供的一个或多个不可见控件。类似于前述实施例,用户102可通过在客户机设备104或应用112的预先确定区域上执行选择姿势来激活不可见控件。
图8A示出了使用不可见控件***106的web浏览器应用的示例。诸如用于导航和操纵web浏览器应用的内容的可见控件、或用于与web浏览器应用进行交互的可见控件均不会被显示在客户机设备104的显示器802上。在用户102想要导航或操纵web浏览器应用的内容时,用户102可以如在前述描述中描述的在客户机设备104的显示器802的边806上应用选择姿势804,以查看或激活不可见控件***106的一个或多个不可见控件。
图8B示出了响应于接收到来自用户102的选择姿势而呈现不可见控件的菜单的示例。响应于接收到选择姿势,不可见控件***106可向用户102呈现不可见控件的菜单808以供选择。菜单808可以是:包括描述各不可见控件的功能的文本的菜单、和/或包括表示各不可见控件的功能的图形的菜单等。在一个实施例中,如果用户102在不同的边上应用了选择姿势,则不可见控件***106可向用户102呈现不可见控件的不同菜单。
示例性方法
图9是描绘了与示例不可见控件***106进行交互的示例方法900的流程图。图9的方法可以但不必在图1的环境中使用图2的***来实现。为便于解释,方法900参考图1和图2来描述。然而,方法900可替代地在其他环境和/或使用其他***来实现。
方法900在计算机可执行指令的一般上下文中描述。一般而言,计算机可执行指令可包括执行特定功能或实现特定的抽象数据类型的例程、程序、对象、组件、数据结构、过程、模块、功能等。这些方法还能在其中功能由通过通信网络链接的各远程处理设备执行的分布式计算环境中实现。在分布式计算环境中,计算机可执行指令可以位于包括存储器存储设备在内的本地和/或远程计算机存储介质中。
这些示例性方法被示出为逻辑流程图中框的集合,这表示可用硬件、软件、固件、或其组合来实现的一系列操作。描述各方法的次序并不旨在解释为限制,并且任何数量的所述方法框都可以按任何次序组合以实现各方法或实现替换方法。另外,可从方法中省略各个框,而不背离此处所述的主题的精神和范围。在软件的上下文中,各个框表示在由一个或多个处理器执行时执行既定操作的计算机指令。
参考回图9,在框902,不可见控件***106可在客户机设备104或应用112的预先确定区域上接收选择姿势。选择姿势可包括但不限于,使用定点设备在预先确定区域上按压并保持、在预先确定的时间段内轻击预先确定区域达预先确定次数、沿着预先确定区域上下滑动、沿着预先确定区域快速连续地上下滑动、以顺时针或逆时针方向沿着预先确定区域旋转等。在一个实施例中,预先确定区域可包括:例如客户机设备104的边框或边、或者框住应用112的窗口框架的边框或边。
在框904,响应于接收到或检测到选择姿势,不可见控件***106可确定其中接收到或检测到该选择姿势的预先确定区域的位置或部分。在一个实施例中,预先确定区域的每一位置或部分可以与一预先确定动作相关联,该预先确定动作不同于与预先确定区域中的其他位置或部分相关联的预先确定动作。在另一实施例中,与预先确定区域中的某位置或部分相关联的预先确定动作可以与该预先确定区域的某些其他位置或部分相同,并具有不同的幅度或相同的幅度。
在框906,响应于确定不可见控件***106需要启动预先确定动作,不可见控制***106基于预先确定区域的所确定位置或部分来启动该预先确定动作。在一个实施例中,不可见控件***106可以启动预先确定动作,并将该预先确定动作应用于客户机设备104中显示的对象或与该对象相关联的数据。该对象可包括但不限于,由客户机设备104所显示的内容的部分或全部、应用112、或在接收到选择姿势时处于活动视图的应用112中提供的内容的部分或全部。与该对象相关联的数据可包括但不限于,该对象中显示的内容,诸如与该对象相关联的历史数据之类的元数据等。
在框908,响应于确定不可见控件***106需要启动预先确定操作模式,不可见控制***106基于预先确定区域的所确定位置或部分来启动该预先确定操作模式。在激活了预先确定操作模式后,不可见控件***106可等待接收来自用户102的进一步的输入或姿势。
在框910,不可见控件***106可接收到或检测到来自用户102的后续姿势。在一个实施例中,不可见控件***106可接收后续姿势,该后续姿势被应用于客户机设备104的显示器中显示的对象或与对象相关联的数据。
在框912,响应于接收到或检测到后续姿势,不可见控件***106可以将预先确定动作(其已响应于接收到或检测到选择姿势而被激活)应用于对象和/或与对象相关联的数据。与对象相关联的数据可包括例如对象中显示的内容和/或与对象相关联的元数据等。
可选地,不可见控件***106还可提供向用户102指示不可见控件以被激活的指示。另外地或另选地,不可见控件***106可响应于接收到或检测到来自用户102的选择姿势和/或后续姿势而向用户102提供确认。
此处描述的方法的任何动作都可至少部分地由处理器或其他电子设备基于存储在一个或多个计算机可读介质上的指令来实现。作为示例而非限制,此处描述的任何方法的任何动作可在用可执行指令配置的一个或多个处理器的控制下实现,这些可执行指令可被存储在诸如一个或多个计算机存储介质等一个或多个计算机可读介质上。
结语
虽然已经用对结构特征和/或方法动作专用的语言描述了本发明,但是应该理解,在本发明不必限于所述的具体特征或动作。相反,这些具体特征和动作是作为实现本发明的示例性形式而公开的。