用于应用实体的3D用户接口的制作方法与工艺

文档序号:12039329阅读:156来源:国知局
用于应用实体的3D用户接口的制作方法与工艺
用于应用实体的3D用户接口

背景技术:
为了帮助用户管理和访问安装在计算设备上的应用,各种类型的用户接口被设计出来。典型地,采用图标来表示应用。所述图标显示在文件夹、屏幕和其它二维版式中。用户常常能够移动图标、消除图标、指定图标位置等等。当应用被安装或添加到shell(壳)或环境中时,该应用的图标或图形通常按照简单的原则来放置,例如文件夹中的下一个可用的地方、列表中按照字母顺序的方位、用户指定的位置等。这样的有时被称作shell或环境的用户接口可能会缺乏效率、便利性和美感。例如,二维图形shell可以显示应用图标的页面。但可能不会提示当前页附近的内容、所表示的应用可以具有什么页面或要素、或者应用可以具有什么显示要素。同样考虑到,各种导航操作可能会是生硬的。例如,为了浏览下一页或应用图标的集合,可能要呈现整个新页面。新显示的图标可能与之前显示的图标没有任何关系,需要用户对新的信息完全重新定位。最终,组织可能会被限制在对诸如文件夹之类的容器费力的手动构造和安排中。下文将讨论涉及三维用户接口,特别是涉及管理和访问计算设备中的应用的技术。

技术实现要素:
包含下面的发明内容仅仅是为了介绍之后的详细描述中讨论的某些概念。本发明内容并不是全面的,也不是出于描绘要求保护的主题的范围的目的,要求保护的主题的范围将在最后出现的权利要求中加以阐明。实施例涉及用于管理和访问应用的三维用户接口。应用被存储在设备的存储器中。用户接口显示在显示器上。该用户接口包含多个可交互式旋转的三维结构,每个三维结构包括多个区域,每个区域显示表示对应应用的图形,该应用可以通过与三维结构之间的交互作用被激活。应用能够被手动地或者自动地分配给结构(体结构(volume))。该三维结构可以被旋转,以及以其它方式被用户输入操纵。许多伴随的特征将在下文中通过参考结合了附图的下列详细描述加以解释。附图说明下面的按照附图阅读的详细描述将使当前的描述变得更加容易理解,其中在随附的描述中类似的附图标记用于指定类似的部分。图1示出了三维用户接口的一些实例。图2示出了可以被用于实现此处所描述的实施例的设计。图3示出了其上可以实施此处描述的实施例的计算设备。图4示出了元数据的实例。图5示出了向立方体和面分配应用和子应用的过程。图6示出了处理与三维用户接口之间交互作用的过程。图7示出了第一个用户接口的详细视图。图8示出了第二个用户接口的详细视图。图9示出了第二个用户接口的另一种实现方式。图10示出了用于分层次嵌套和导航的实施例。具体实施方式图1示出了三维用户接口的一些实例100、102、104、106。此处使用的基本概念是具有面的三维体结构。体结构或它的面可以对应于其应用或要素(子应用),并在其上显示适当的图标或图形表示。体结构可以是任何三维体形状,例如金字塔、立方体、任何多面体等。当被显示时,该体结构可以具有图形化的面和边缘,或可替换地,具有透明的或半透明的面和/或边缘(或者没有边缘)。例如,图标可以被安排为“漂浮”在与十二面体的面对应的三维位置上,但是实际的面可以被示出,或者可以不被示出。体结构同样可以是作为单个结构单元被显示和操纵的平面区域的群组(可能是不规则的或非对称的,划定出三维空间边界)。由于“体结构”的含义已被理解,为了解释的目的,此处将使用示例性的体结构——立方体。在术语“立方体”被使用的地方,术语“体结构”也同样被认为是可适用的。简而言之,体结构的形状和外观可以不同,这对于此处描述的实施例并不重要。图1示出了第一个立方体100。第一个立方体100具有显示图标110的面108。虚线箭头指示出第一个立方体100通过用户输入被交互式旋转的能力。环绕第一个立方体100的盒子表示窗口、包含立方体的面、显示区、显示器等。第一个立方体100的实例是立方体对应单个应用、图标110表示该应用的离散要素的情况。这些离散要素(此处被称作“子应用”)例如可以是接口对话、对应于该应用的文件、菜单、相关数据(例如呼叫记录)、配置设置等。例如,如果该应用是万维网浏览器,一个面108可以包含用于“喜爱的”统一资源定位符(URL)集合的图标、一个面108可以具有表示带有用于页面的标签的主窗口的图标等。图1中的第二个立方体102是体结构的面含有多个应用(表示应用的图标/图形)的实例。第二个立方体102同样可以与之交互、被旋转和作为启动其上表示的应用的点来使用。正如之后参考图10描述的,假定第一个立方体100的应用对应于第二个立方体102上表示的应用(例如“App1”),用户可以在第一个立方体100和第二个立方体102之间来回导航。用于“App1”的图标可以在第二个立方体102上被用户选择,这导致图形转变到第一个立方体100上。相反地,用户命令可以导致用户接口从第一个立方体100图形转变到第二个立方体102。转变可以涉及示出了立方体上被选择的面移动占据当前视图的动画,或者被取消选择的面在视图中被其立方体取代的动画。Shell或用户接口同样可以显示立方体更高层次的复合视图。第一个用户接口104包括可以与第一个立方体100和/或第二个立方体102相似的立方体(或甚至类似于第二个用户接口106中所示的立方体)。正如之后参考图10描述的,用户可以在用户接口104和第一个立方体100(或第二个立方体102)之间来回导航。例如,当第一个立方体100在第一个用户接口104中被选择时,该用户接口从显示第一个用户接口104图形转变到显示第一个立方体100。用户可以向后导航至第一个用户接口104。第一个用户接口104的细节将在下文中参考图7加以讨论。在另一个实施例中,复合视图其本身是一个立方体,如第二个用户接口106所示。应当指出的是第二个用户接口106中的图标可以用体结构代替,如图9所示。图2示出了可以被用于实现此处所描述的实施例的设计。假定具有处理器、存储器和显示器的计算设备,用户接口120(或视图)被显示在显示器上。控制过程122通过处理器被执行。元数据124(或模型)通过控制过程122被存储和使用。用户接口或视图120可以是此处描述的任何实施例。控制过程122可以完成多种功能,例如处理用户输入、实现用户接口逻辑、管理向立方体和面分配应用和子应用、响应来自用户接口要素的事件等等。元数据124可以是关于用户接口或视图120的状态和配置的信息、关于应用的信息、用户偏好和设置等。图3示出了其上可以实施此处描述的实施例的计算设备140。计算设备140可以具有其上显示了用户接口120和其用户接口要素144(例如立方体、面、弹出菜单、动画、按钮等)的显示器142。计算设备140同样具有处理器146来执行控制过程122和安装在操作系统150上的应用148。除了存储操作系统150和应用148外,存储器152还存储元数据124。图4示出了元数据124的实例。尽管以表格形式示出,但是元数据124可以被存储为小型数据库、XML(可扩展标记语言)文件、序列化对象等。元数据124可以具有识别应用的识别符(例如“1”),若有子应用,则同样可以具有识别子应用的识别符(例如“1.1”)。应用可以与多种标签相关联来描述应用的属性,尽管关于应用的属性和信息可以从其它来源得到。分配数据可以指示应用或子应用与哪些立方体或面相关联。应用或子应用可以具有多于一个的关联,可以被手动地或自动地分配。手动分配可以涉及当安装应用时指示目标立方体或面、拖动应用图标或其副本到目标面或立方体等等。当进行手动分配时,在元数据124中进行对应的更新。自动分配可以以若干方式完成。如果立方体或面具有一个或更多标签,具有匹配标签的应用或子应用可以被相应地分配。一些标签可以具有更高的优先级。例如,如果有立方体被加以“照片”标签,被标记为“照片”或关于“照片”的应用可以被分配给该立方体。如果应用不具有标签,其它数据可以被用于自动分配,例如安装日期、哪些立方体/面具有开放空间等。应当指出的是,用户评级可以被分配给应用,应用可以被分配以便归组到立方体上从而反映用户的偏好应用。在一个实施例中,手动用户分配优先,而在另一个实施例中,应用被表示在任何其被分配到的立方体或面上,不论是被自动分配还是被手动分配。图5示出了向立方体和面分配应用和子应用的过程。首先,在步骤170,存在有呈现、刷新或实例化三维用户接口的请求。在步骤172访问元数据124和关于哪些应用被安装(应用识别符)以及存在哪些立方体和面的信息(例如立方体框架或软件对象)。在步骤174该过程可以执行自动分配的算法。关于该应用的标签和其它信息被用于自动分配。如果使用子应用,则在步骤176子应用可以被类似地分配到应用面。自动分配可以被记录在存储的元数据124中。当确定了分配时,包含可能地确认来自元数据的手动分配,该用户接口能够通过其中具有相对应地分配的应用图标的一个立方体或多个立方体显示出来。图6示出了处理与三维用户接口之间交互作用的过程。在步骤200接收到输入,输入采用例如击打键盘、敲击、声音命令、倾斜计算设备(假定存在有陀螺仪、加速度计)、点击鼠标或按钮等形式。在步骤202根据当前用户接口的状态来分析该输入,并确定合适的动作。在步骤204该动作被执行。现在将对实例输入和动作进行描述。立方体的旋转能够由敲击输入起动;例如敲击面的角或边缘可以导致立方体在对应的平面上旋转从而将一个或更多新的面带到视图中。旋转可以在对应划动或拖动的方向上并在最接近的平面内或在任意平面内被起动。旋转的方向可以根据划动手指的数量,而与手指划动的方向无关,例如,两个手指则上下旋转,三个手指则左右旋转。可以使用任何类型的输入。该用户接口可以具有不同的输入模式。第一个输入模式可以将用户输入引导到旋转操作,而第二个模式可以将用户输入引导到导航操作,例如选择父立方体或孩子立方体、选择面、激活应用图标等等。第三个输入可以将用户输入引导到应用本身。输入的持续时间可以影响旋转的程度。由于立方体的旋转,立方体可以卡入多种预定的方位中。在一个通常或总是同时显示体结构的多个面的实施例中,旋转可以移动多个面离开和进入视图中。在立方体的情况下,用户设置或特定输入可以导致立方体旋转两次。在另一个实施例中,用户输入调用“翻转”动作,该动作将立方体或体结构旋转180度。在立方体的情况下,如果同时显示了三个面,翻转导致后面的三个面变成前面的三个面。在另一个实施例中,旋转可以部分根据设备的方位来确定。而在另外的一个实施例中,可以调用随机自旋(spin)(例如通过摇晃运动传感设备);旋转的方向或程度都可以是随机的。如果显示了多个立方体,不同立方体可以在不同方向上自旋,并持续不同的时间(旋转角度)。图7示出了第一个用户接口104的详细视图,它是立方体100/102的复合视图。上述的交互作用(例如旋转、导航)同样能够应用于用户接口104。也就是说,用户可以一同操纵多个立方体,就像操纵个别立方体一样。例如,如果用户提供用于“向左旋转”动作的输入,所有的立方体100/102都协调一致地向左旋转或转动。可替换地,用户可以选择立方体100/102的子集旋转,例如,通过选择具有指定特质或标签的立方体、拖动用户接口的区域等。当显示多个立方体时,用户接口可以允许用户添加新的立方体、拖曳立方体、移动立方体、复制立方体、删除立方体、固定/取消固定立方体、归组或取消归组立方体。可以提供搜索工具来允许用户搜索应用,在这种情况下立方体可以自动旋转来示出具有与搜索匹配的应用的面。具有匹配的应用的立方体同样可以被拖曳到用户接口的顶部或复制到结果立方体中。在一个实施例中,能够被包含在一个面(或立方体)上的应用或子应用的数量对于用户是可配置的。因此,能够主动包含应用或子应用的面的数量在设定阶段是可配置的,或是动态可配置的。图8示出了第二个用户接口106的详细视图,是另一个复合视图。在该实施例中,父立方体或容器立方体在每个面上都包含多个应用图标110。图标110可以在面和/或其它立方体(如果存在多个立方体)之间被移动、拷贝等。图标可以被激活,从而导致或者直接转变到对应的应用(二维),或者转变到对应的应用立方体。图9示出了第二个用户接口106的另一种实现方式。在该实施例中,父立方体220充当在其面上或接近其面的地方具有孩子立方体222的容器。父立方体220可以作为如上所述的立方体被旋转和操纵。所包含的子立方体同样可以在该更大的立方体旋转时同步地旋转,因此允许产生一种效应,例如在更大的包含立方体旋转时,保持子立方体相同的面面向用户。孩子或子立方体222可以作为一个整体或单独地被旋转和与之交互作用。图10示出了用于分层次嵌套(hierarchicalnesting)和导航的实施例。可以假定提供立方体层次安排(嵌套)(容器-内容物关系的层次)的信息得到了维持。例如,第一个用户接口104充当根视图,其中包含有立方体100/102(根视图同样可能是此处描述的另一种类型的复合视图)。应当指出的是,用户接口104可能是另一个复合视图的孩子而非根视图。用户通过第一个输入250向下导航该层次来选择立方体252。之后立方体252被转变到视图中(例如通过放大并使所选择的立方体252居中的动画)。当面254被第二个输入256选择时,对应的应用258变为活跃视图。类似地,用户接口能够向上往回导航该层次。第三个输入260将视图从应用258的视图转变到立方体252,第四个输入262将视图从立方体252转变为第一个用户接口104。使用对应的用户输入,导航同样可以从立方体到立方体。例如,用户可以依次从一个立方体导航到逻辑上的下一个立方体,具有对应的图形转变。在一个实施例中,可能的交互作用深度可以改变。换句话说,用户能够与之交互作用的实体可以改变。例如,应用的图标可以是实际应用的微型化缩略图,用户能够通过其图标直接将输入引导到潜在的应用。不论应用的图标是显示在单个立方图视图中还是显示在立方体复合视图中,都可以使用该方法。在另一个实施例中,如果应用只具有一个用户接口要素,例如主窗口(无子应用),该应用在普通的二维样式中显示。如果该应用在执行时碰巧创建了子应用,用户接口能够自动地转变到具有用于该子应用的新的面的立方体视图。关于立方体和面的动态添加,可以使用体结构的面的数量动态变化的实施例。当体结构变形为新的多面体或其它形状时可以添加面。同样,立方体可以动态地增长和收缩来适应应用或子应用的新的图标。而且,立方体或它们的面可以由用户手动改变尺寸。尽管已经讨论了面和立方体之间拖动或拷贝图标的行为,用户接口同样可以被设计为允许用户在立方体之间移动/拷贝立方体的面本身。尽管导航通常是由用户输入来控制的,例如来电、软件更新、警报和其它的设备事件也能够触发导航事件以便将特定的面或立方体带到前面。另一个实施例可以涉及将一个或更多立方体的状态保存到例如云、万维网服务等的网络资源中。立方体的状态和它对应的应用状态能够被捕捉并存储在网络资源中。状态可以包含关于哪些应用或子应用与哪些立方体和/或立方体的面相关联、应用处于什么状态、什么文件或其它应用数据处于使用中等等的信息。存储在网络云中的立方体状态同样可以被装载到另一个设备中,因此允许将立方体从一个设备映像或再现到另一个设备。在进一步的实施例中,用户与立方体的交互作用同时控制与该立方体相关联地执行的应用。例如,视频应用的立方体可以具有在相应表面上播放的视频片段。当用户从一个面旋转到另一个面时,只有当前面向前方或活跃的面上的视频片段被播放,而在其它面上的视频片段进入缓冲状态。在另一个实例中,映射(mapping)程序可以具有根据该面是否在焦点上或当前是否被显示而处于活跃和休眠状态的面。结论以上讨论的实施例和特征能够以存储在易失性或非易失性计算机或设备可读存储介质中的信息的形式加以实现。正如此处所使用的,“介质”或“媒介”应被视作排除了能量、信号、载波和类似物。这些术语应该被视作至少包含例如光学存储器(例如压缩光盘只读存储器(CD-ROM))、磁性介质、闪存只读存储器(ROM)的介质,或任何目前或将来利用物理材料存储数字信息的手段。存储的信息的形式可以是机器可执行指令(例如编译后的可执行二进制代码)、源代码、字节码或任何其它能够用于使得计算设备能够或配置计算设备完成上述多个实施例的信息。这同样应被视作至少包含易失性内存,例如随机存取存储器(RAM)和/或操作系统虚拟内存,在执行实现实施例的程序时其存储了诸如中央处理单元(CPU)指令之类的信息,同样包括非易失性介质,其存储允许程序或可执行指令被装载和执行的信息。实施例和特征能够在任何类型的计算设备中完成,包括便携式设备、工作站、服务器、移动无线设备等等。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1