具体实施方式
概览
分层结构在许多上下文中提供结构。一类经常遇到的分层结构是文件、文件夹、驱动器、网络连接以及计算机用户通过文件管理器探查和与其进行交互的其他项的集合。文件管理器有时叫做,例如,文件浏览器、文件探查器(file explorer)、目录编辑器,或文件查找器。存在各种文件管理器,并以各种方式分类文件管理器。这里所讨论的类别只是示例;其他分类也是可以的。取决于文件管理器和所使用的类别,给定文件管理器可以不属于任何类别,属于一个类别,或属于多个类别。
作为示例类别,基于命令的文件管理器具有用户可以在其中输入文本命令的命令行。导航文件管理器具有当前视图和/或用于向用户显示文件系统内的一个或多个位置的其他机制;可以使用按钮和/或其他机制来改变位置。空间文件管理器使用文件抽屉、盒子和/或其他比喻,以便用户以类似于与物理文件的物理交互的方式与数字文件进行交互,例如,在任何时间至多有文件夹的一个副本被打开。一些文件管理器界面主要是或者只是文本,而其他的文件管理器使用图形界面,例如,通过将文件显示为图标,并将文件夹-文件关系显示为连接文件系统项图标的线。具体而言,3D文件管理器使用看起来像三维的图形。
此处所描述的一些实施例提供了促进使用鼠标、笔、触摸屏或类似的机制来快速导航的轨道可视化模型,以帮助用户遍历目录结构和库,或其他分层结构。因此,一些实施例可以被表征为导航文件管理器。一些实施例使用看起来像三维的图形,如此,可以被描述为3D文件管理器,或3D导航文件管理器(或导航3D文件管理器)。就在实施例内集成了命令行解释器来说,也可以将实施例分类为基于命令的文件管理器。
可以使用一些实施例中所使用的轨道可视化模型,例如,来浏览现有的目录结构。在某些实施例中,项出现椭圆中,当选择一个项时,该项以及其兄弟向外旋转,并扩展为更大的距离的轨道,而较新的内层轨道看来似乎显示所选择的位置的内容;这可以被称为“内翻外(inside-out)导航”。在其他实施例中,使用颠倒的方向性模型,围绕子文件夹的父,有子文件夹轨道;这可以被称为“外翻内(outside-in)导航”。即,一些实施例从内向外展开目录,而其他实施例从外向内展开。在某些实施例中(内翻外和/或外翻内),用户可以使用每一轨道环的正面和背面部分来进行微/宏浏览。
在某些实施例中,轨道显示表示可以通过诸如文件探查器之类的另一文件管理器来查看的相同文件结构。本地驱动器、附加驱动器、链接的驱动器以及库可以在模型的最高目录层表示。在某些实施例中,轨道穿过三个不同位置:当前查看的轨道(初始视图/子文件夹),扩展为较高层(活动目录),扩展为历史轨道。可以使用历史来沿着活动目录结构路径反向导航。
除作为节点的文件和目录之外,或作为其替代方案,可以使用轨道显示模型来表示诸如计算机网络、组织图、系谱等等之类的其他分层结构。
现在将参考诸如附图中所示出的那些示例性实施例,并使用特定语言来对其进行描述。但是,对于相关领域的普通技术人员以及阅读本文的人员来说,对此处所示出的本发明的特点的更改和进一步的修改、如此处所示出的本发明的原理的其他的应用都应该被视为在权利要求的范围内。
在本发明中阐明了术语的含义,如此,应该仔细阅读权利要求书。给出了具体示例,但是,相关领域的普通技术人员将可以理解,其他示例也可以落在所使用的术语的含义范围内,并在一个或多个权利要求的范围内。术语不一定具有与它们在一般用途中、在特定行业的用途或在特定词典或词典集中拥有的相同含义。参考编号可以与各种措词一起使用,以帮助显示术语的广度。从给定文本片段中省略参考编号不一定意味着没有通过文本讨论图形的内容。发明人声明并行使他们对他们自己的词典的权限。这里在详细描述中和/或在申请文件的别处显式地或隐式地定义了术语。
如此处所使用的,“计算机系统”可包括,例如,一个或多个服务器、主板、处理节点、个人计算机(无论是否是便携式的)、个人数字助理、蜂窝或移动电话、和/或提供至少部分地通过指令控制的一个或多个处理器的设备。指令可以是存储器和/或专门电路中的软件的形式。具体而言,虽然许多实施例在工作站或膝上型计算机上运行,但是,其他实施例也可以在其他计算设备上运行,任何一个或多个这样的设备都可以是给定实施例的一部分。
“多线程”计算机系统是支持多执行线程的计算机系统。术语“线程”应该被理解为包括能够或接受同步的任何代码,还可被称为另一名称,如“任务”、“进程”或“协同例程”。线程可以并行地,按顺序,或以并行执行(例如,多处理)和按顺序执行(例如,时间分片)的组合运行。多线程环境是以各种配置设计的。执行线程可以并行地运行,或者线程可以被组织为并行执行,但是实际轮流按顺序执行。例如,可以通过在多处理环境中的不同的核上运行不同的线程,通过对单一处理器核上的不同的线程进行时间分片,或者通过时间分片和多处理器线程的某种组合,来实现多线程。可以,例如,通过内核的线程调度器,通过用户空间信号,或通过用户空间和内核操作的组合,启动线程上下文开关。线程可以轮流对共享数据进行操作,或者,例如,每一线程都可以对其自己的数据进行操作。
“逻辑处理器”或“处理器”是单一独立硬件线程处理单元。例如,每个核运行两个线程的超线程四核芯片具有八个逻辑处理器。处理器可以是通用的,或者针对特定用途,如图形处理、信号处理、浮点算术处理、加密、I/O处理等等,对它们进行定制。
“多处理器”计算机系统是具有多个逻辑处理器的计算机系统。多处理器环境存在各种配置。在给定配置中,所有处理器都在功能上是相等的,而在另一配置中,由于具有不同的硬件能力、不同的软件任务,或者两者,某些处理器可能不同于其他处理器。取决于配置,处理器可以在单一总线上彼此紧密耦合,或者它们可以是松散耦合的。在某些配置中,处理器共享中央存储器,在某些配置中,它们中的每一个都具有它们自己的本地存储器,而在某些配置中,存在共享的存储器和本地存储器两者。
“内核”包括操作系统、系统管理程序、虚拟机,以及类似的硬件接口软件。
“代码”表示处理器指令,数据(包括常数、变量,以及数据结构),或者指令和数据两者。
“自动地”表示通过使用自动化(例如,通过软件为此处所讨论的特定操作而配置的通用计算硬件),与没有自动化相反。具体而言,“自动地”执行的步骤不是手工在纸上执行的或在人的心里执行的;它们是利用机器执行的。
“分层结构”表示其中节点是以分层结构组织的结构,链接表示节点中的父子关系。分层结构常常被表示和实现为树,在每一个子和其父之间有链接(例如,指针或其他存储器寻址值),如在如图14所示的结构中。然而,即使某些子节点没有到其父节点的直接链接,而是通过某些兄弟节点链接到父节点,如在如图15所示的结构中,结构也可以是分层结构。即使结构包含父子链接之外的链接,例如,堂兄节点之间的链接,该结构也可以是分层结构。给定分层结构中的节点可以全部都是相同类型(例如,如果每一个节点都表示网络中的计算机,并且所有计算机都是使用单一类型的节点表示的),或者,节点也可以是不同类型的(例如,文件、文件夹,以及驱动器可以通过三种相应的节点类型来表示)。
如此处所使用的“轨道曲线”包括,例如,一般是圆形的(即,圆形的、椭圆形的或卵形的)曲线,或者以其他方式看起来像闭合的平滑曲线,以及轨道曲线的弧形部分。一般而言圆形的轨道曲线可以被显式地绘制,或者,它们也可以通过节点沿着曲线的移动而暗示。许多轨道曲线都是缺乏尖角的平滑曲线;用数学语言表述,如果在曲线的每一内点,其来自左侧的切线等于其来自右侧的切线,则该曲线是平滑的。曲线可以利用点或虚线来绘制,通过允许内插暗示点或虚线之间的曲线取消显示的部分,曲线在外观上仍是平滑的。同样,曲线不必将一个凸的区域封闭为轨道曲线;砂漏的轮廓可以是轨道曲线。同样,轨道曲线可以交叉其本身;8形状的曲线是轨道曲线。某些轨道曲线是不平滑的;可以将三角形、正方形或其他多边形用作轨道曲线,如果它是显式地绘制的,而并非只通过节点移动暗示的。
在整个本文档中,可选的复数“(s)”的使用表示存在所指出的特征中的一个或多个。例如,“节点(s)”表示“一个或多个节点”或等效地,“至少一个节点”。
在整个本文档中,除非明确地声明,任何对过程中的步骤的引用都假设,步骤可以由感兴趣的一方直接执行和/或由该方通过中间机制和/或中间实体间接地执行,仍属于该步骤的范围内。即,由感兴趣的一方直接执行该步骤不是必需的,除非直接执行是明确地声明的必要条件。例如,涉及由感兴趣的一方执行的动作的步骤,如“传输到”、“发送到”、或“将传送到”目的地,可能涉及中间动作,如某个另一方执行的转发、复制、上传、下载、编码、解码、压缩、解压缩、加密、解密等等,仍被理解为直接由所感兴趣的一方直接执行。类似的考虑也适用于“接收”步骤,以及“响应于”某些事件而发生的步骤;中间动作可能存在。
每当引用数据或指令时,应该理解,这些项配置计算机可读取的存储器,从而将它转换为特定制品,而不是简单地例如存在于纸上,在人的脑子里,或作为线路上的瞬时的信号。
操作环境
参考图1,用于一个实施例的操作环境100可包括计算机系统102。计算机系统102可以是多处理器计算机系统,或者,也可以不是。操作环境在给定计算机系统中可包括一个或多个机器,它们可以是集群化的,以客户端-服务器方式联网的,和/或以对等方式联网的。
人用户104可以通过使用显示器、键盘,及其他外围设备106,与计算机系统102进行交互。系统管理员、开发人员、工程师以及最终用户中的每一个都是特定类型的用户104。代表一个或多个人操作的自动化代理也可以是用户104。在某些实施例中,存储设备和/或联网设备可以被视为外围设备。图1中未示出的其他计算机系统可以与计算机系统102进行交互,或者,例如通过网络接口设备使用到网络108的一个或多个连接与另一系统实施例进行交互。
计算机系统102包括至少一个逻辑处理器110。计算机系统102,与其他合适的系统一样,还包括一个或多个计算机可读的非瞬时的存储介质112。介质112可以是不同的物理类型。介质112可以是易失性存储器、非易失性存储器、被安装就位的介质、可移动介质、磁性介质、光学介质,和/或其他类型的非瞬时的介质(而不是诸如只传播信号的线路之类的瞬时的介质)。具体而言,当被插入或以其他方式安装,使其内容可被访问供处理器110使用时,诸如CD、DVD、记忆棒、或其他可移动非易失性存储器介质之类的配置的介质114可以在功能上变为计算机系统的一部分。可移动的配置的介质114是计算机可读存储介质112的示例。计算机可读存储介质112的某些其他示例包括内嵌的RAM、ROM、硬盘,及其他不能被用户104轻松地移走的存储设备。
介质114被配置有可由处理器110执行的指令116;“可执行程序”此处从广义来讲包括例如机器代码、可解释的代码,以及在虚拟机上运行的代码。介质114还被配置有被创建、修改、引用和/或以其他方式供指令116的执行使用的数据118。指令116和数据118配置它们所在的介质114;当该存储器是给定计算机系统的一个功能部件时,指令116和数据118还配置该计算机系统。在某些实施例中,数据118的一部分代表了诸如产品特征、库存、物理测量值、设置、图像、读数、目标、卷等等之类的现实的世界的项。也可以如此处所讨论的,例如,通过可视化、导航、分组、绑定、部署、执行、修改、显示、创建、加载和/或其他操作,转换这样的数据。
浏览器、资源管理器、管理器、应用程序和/或其他软件120使用用户界面122。软件120访问和/或修改分层结构124,或以其他方式与其进行交互,分层结构124即至少部分地是以分层结构组织的数据结构。分层结构124包括在分层结构中通过链接128彼此相关的节点126。在文件系统分层结构的特定示例中,节点可以表示目录130,例如,文件和文件夹。图中所示出的软件120、分层结构124,及其他项可以部分地或完全地驻留在一个或多个介质112内,从而配置那些介质。操作环境也可以包括诸如例如显示器132、总线、电源,以及加速器之类的其他硬件。
给定操作环境100可包括给开发人员提供协调的软件开发工具集的集成开发环境(IDE)134。具体而言,对于一些实施例的一些合适的操作环境包括或帮助创建被配置成支持程序开发的Microsoft
Visual Studio
开发环境(微软公司的标志)。一些合适的操作环境包括Java
环境(SunMicrosystems股份有限公司的标志),一些包括使用诸如C++或C#(“C-Sharp”)之类的语言的环境,但是,此处的原理适用于各种编程语言、编程模型和程序,以及使用文件系统和/或其他分层结构124的软件开发本身的领域以外的尝试。
在图1中以概括形式示出了一个或多个项以强调,它们不一定是所示出的操作环境的一部分,但是,可以与操作环境中的项进行交互操作,如此处所讨论的。不在略图里的项在任何图或任何实施例中也不一定是必需的。
系统
图2示出了适合与一些实施例一起使用的体系结构的各方面。显示器132可以通过轨道排列202来配置,该轨道排列202具有表示所感兴趣的分层结构124的节点126的节点图标204。此处在轨道排列中可以引用“节点”作为“节点图标”的简称。例如,“旋转节点”是表示“旋转节点图标”的更简洁的方式。
节点图标的屏幕位置(显示器132位置)隐式地定义轨迹206,该轨迹206例如取决于实施例,可以显示,或者,也可以不显示。在某些实施例中,轨迹至少是轨道曲线,并可以一般是圆形的,如在上面定义的那些术语。闭合的轨道曲线具有内部位置208,即,被曲线封闭的位置。轨迹具有轨道位置210,即,由轨道节点图标204占据的位置。
用户界面可以在显示器132上显示轨道排列202。另外,用户界面中的一些实施例显示或以其他方式定义不在轨迹上因此补充轨道位置的停放位置212。例如,一些实施例允许用户将节点图标,或节点图标的副本停放在选择托盘214中(也被称为选择托盘区域)。类似地,一些实施例自动地将节点图标,或节点图标的副本停放在用户选取历史216(也简称为历史216)。
除选择托盘和/或历史中的轨道位置210、以及停放位置212之外,一些实施例还显示控件作为用户界面的一部分。例如,一些实施例提供排序控件218,允许用户根据时间、名称和/或其他标准,让系统对节点进行排序。一些实施例提供外观控件220,允许用户更改节点图标的外观和/或节点的其他可视方面,如默认缩略图大小、图标图像与名称,等等。
一些实施例包括接收并响应于导航命令224和相关数据的工具222,所述相关数据诸如指定特定节点126的用户选取226。工具222可包括用户界面122中的图形组件、诸如应用程序编程接口之类的其他接口组件、和/或用于将用户动作(例如,手指挥动、鼠标点击)转换为分层结构中的导航和/或探查(例如,旋转文件以浏览它们,打开文件夹并显示其文件)的代码。一些实施例包括自然用户界面(“NUI”)硬件和/或软件。例如,在某些实施例中,用户可以选择节点、选取节点、打开节点、关闭节点、重新定位节点、输入值和/或以其他方式使用触摸屏、另一触敏设备、口头命令或另一NUI手势与实施例进行交互。
给定节点126可以在不同的时间和/或在不同的上下文中扮演不同的角色。例如,取决于文件系统分层结构内的被作为当前位置的位置,可以将给定节点126视为父节点228、子节点230、或视为兄弟节点232。此外,给定节点126在一个时间点可以是选取的节点234,因为用户最近点击、触摸或以其他方式选取了该节点,而在某一其他时间是非选取的节点。同样,给定节点126可以是在一个时间选择的节点236,因为用户将该节点放在选择托盘214中,而在某一其他时间是非选择的节点,因为它当前不在选择托盘中。
参考图1和2,一些实施例给计算机系统102提供了通过电路、固件和/或软件配置的逻辑处理器110和存储器介质112,以促进对分层结构124的导航,如此处所描述的。例如,一些实施例包括逻辑处理器110、可操作地与逻辑处理器进行通信的存储器112、以及至少部分地驻留在存储器中的节点126的分层结构124。通过子节点图标和父节点图标的轨道排列202,配置了也可操作地与逻辑处理器进行通信的显示器132。子节点图标204表示父节点228的相应的子节点230;父节点图标204表示父节点。子节点和父节点是分层结构124的一部分。
在某些实施例中,显示器132被配置成示出至多在父节点和任何一个子节点之间绘制的一个线性连接(链接128图标)。在这一方面,至少,文件管理器实施例中的这样的显示器不同于另一文件管理器(例如,图16或图17),其中,在屏幕上,通过将父图标图像或父目录名称连接到该目录内的文件的每一个子图标图像或文件名的线,示出了所有父子关系。
可以理解,实施例不仅局限于只示出了轨道排列;实施例也可以示出其他显示器。例如,以前示出了轨道排列的显示器全面或以窗口的形式存在的显示器可能在其他时候主要或完全被给定打开的文件的内容填充,例如,被照片或文本文档填充。类似地,这样的显示器可能有时示出以网格或列表排列的文件名或其他节点图标,而并非以一般圆形的轨道排列。
在某些实施例中,显示器中没有在父节点和任何一个子节点之间绘制的任何线性连接。在某些实施例中,显示器不仅显示轨道排列202,而且还没有显示父节点和子节点的任何径向布局图。在某些实施例中,显示器中没有显示父节点和子节点的任何树布局图。
和轨道排列大不相同,径向布局图和树布局图包括连接父节点与它们的相应的子节点的线。树布局图常常在屏幕的顶部具有根,以及在根的下面连续地进一步向下示出的连续的后代,如此,与根相隔的代数量较少的节点趋向于在屏幕上具有较高的位置。径向布局图常常类似于平化为一张纸的树,示出了某些根节点,从该根节点到其子的线,从每一个子到其子的线等等。径向布局图有一个节点在中心处,有线辐射到该节点的后代和祖先。在径向布局中,与选取的节点相隔的代数量较少的节点趋向于在屏幕上更靠近选取的(中心)节点。
在某些实施例中,显示器配置有历史216,显示根据被选取的时间排列的用户选取的节点234。在某些实施例中,显示器配置有选择托盘214,显示用户选择的节点,例如,显示至少三个选择的节点236。
在某些实施例中,显示器配置有下列各项中的至少一项:用于根据时间先后参数(例如,创建日期、修改日期)对节点进行排序的控件218、用于根据节点名称参数(例如,字母顺序)对节点进行排序的控件218、用于根据大小参数(例如,文件大小、子的数量)对节点进行排序的控件218、用于根据节点类型参数(例如,文件类型、文件所有者、文件系统权限)对节点进行排序的控件218、用于改变节点图标大小(例如,缩略图大小)的控件220。
在某些实施例中,诸如人用户I/O设备之类的外围设备106(屏幕、键盘、鼠标、平板计算机、麦克风、扬声器、运动传感器等等)将可操作地与一个或多个处理器110和存储器进行通信。然而,实施例也可以深深地嵌入在系统中,以便没有人用户104直接与实施例进行交互。软件进程可以是用户104。
在某些实施例中,系统包括通过网络连接的多个计算机。联网接口设备可以使用诸如例如将存在于计算机系统中的分组交换网接口卡、无线收发器或电话网接口之类的组件,提供对网络108的访问。然而,实施例也可以通过直接存储器访问、可移动非易失性介质、或其他信息存储-检索和/或传输方法进行通信,或者,计算机系统中的实施例可以不与其他计算机系统进行通信即可操作。
过程
图3以流程图300示出了一些过程实施例。在某些实施例中,图中所示出的过程可以自动地执行,例如,通过用户界面脚本或模仿或以其他方式生成到实施例的输入的其他试验台自动地执行。除非另外指明,过程也可以部分自动地而部分手动地执行。在给定实施例中,可以重复过程的零个或多个所示出的步骤,利用不同的参数或数据来操作。实施例中的步骤也可以以与图3中展示的从顶部到底部的顺序不同的顺序来执行。步骤可以按顺序地、以部分重叠的方式、或完全并行地执行。遍历流程图300以指出在过程中执行的步骤的顺序可以在过程的一种执行与过程的另一执行之间不同。流程图遍历顺序也可以在一个过程实施例与另一过程实施例之间不同。也可以省略、组合、重命名、重组步骤,或以其他方式偏离所示出的流程,只要所执行的过程是可操作的,并符合至少一个权利要求。
此处提供了帮助示出技术的各方面的示例,但是,在本文档内给出的示例并未描述所有可能的实施例。实施例不仅限于此处所提供的特定实现、排列、显示、特征、方法或情况。给定实施例可包括,例如,附加的或不同的特征、机制和/或数据结构,并可以以其他方式偏离此处所提供的示例。
在轨道显示步骤302,实施例在轨道曲线中显示节点(例如,作为节点图标)。可以理解,“以轨道方式显示”节点允许但是不要求完整的轨道曲线在屏幕上是可见的。可以使用,例如,图形用户界面、文件系统和/或适用于获取节点信息并如此处所讲述的将它可视化的其他机制,来完成步骤302。
在选取(choice)接收步骤304,实施例从用户那里接收节点选取(choice)226。可以使用鼠标、触摸屏、用户界面垫片、和/或用于向如此处所讲述的那样配置的用户界面提供输入的其他熟悉的机制,来完成步骤304。
术语“选取(choice)”和“选择(selection)”,如此处所使用的,不等效;“选取(choice)”是包含“选择(selection)”的含义更广泛的术语。将节点移动到选择托盘中的节点选择(selection)是节点选取(choice)的一个示例。但是,也可以由于其他原因而选取节点,如打开/关闭文件夹,在节点的圆形列表中旋转,跳到节点历史中的一个点,显示节点特征(名称、大小、日期、所有者、类型等等)等等。
还应注意,可以从用户角度或从系统角度来查看此处所讨论的许多步骤,包括步骤304。从用户角度来看,用户将对节点的选取发送给系统;从系统角度来看,系统接收指出节点的选取。类似地,取决于所使用的角度,可以认为用户或者系统移动节点,使用特定类型的节点等等。
在取消显示步骤306,实施例取消显示节点,例如,在步骤304中没有被选取的节点。通常从视图中删除了取消显示的节点;在大多数实施例中,可见的节点是可选取的节点。然而,遵循在某些熟悉的文件管理器或菜单系统中所采取的惯例,在某些实施例中,通过以变灰或轮廓形式而并非正常的完全形式显示节点图标,来取消显示节点。响应于用户输入,作为系统角度的步骤,自动地执行步骤306。
在停放/离开步骤308,实施例将一个节点移向停放位置/从该位置离开;通过节点的图标的移动,在显示器上反映移动308。例如,目录节点可以自动地被停放在历史中,作为用户打开该目录的结果。作为用户双击、双敲击、拖动或以其他方式使用一个机制将节点的图标移动到显示器的选择托盘区域/移开该区域的结果,可以将节点停放在选择托盘中。
在内部移动步骤310,实施例将一个节点移向轨道排列的内部位置/移开该内部位置。例如,在具有一般圆形轨道曲线的轨道排列中,节点可能首先出现中心附近的内部位置208(太阳将在太阳系中),然后,向外移向轨道曲线上的轨道位置210,远离初始中心内部位置几个节点直径。与诸如步骤308、312-316之类的其他移动步骤一样,可以使用适用于提供如此处所讲述的移动和排列的熟悉的图形用户界面机制,来完成移动步骤310。
在选择移动步骤312中,实施例将节点移到选择托盘214中/移离该选择托盘214,相应地更新显示器中的节点的图标和内部选择托盘数据结构(例如,指向选择的节点236的指针的列表)。
在历史移动步骤314中,实施例将节点移到历史216中/移离该历史216,相应地更新显示器中的节点的图标和内部历史数据结构(例如,指向选取的节点234的指针的列表)。
在节点旋转步骤316中,实施例通过沿着轨道曲线移动它们的图标,来旋转节点,例如,以看到隐藏在其他节点图标背后的节点名称。
在动画化步骤318中,实施例使一个或多个节点的移动动画化。即,实施例还以沿着开始位置和结束位置之间的某种轨迹的中间位置的序列示出了节点,而不是只示出开始位置和结束位置处的节点的图标以指出节点移动。例如,步骤318可以是步骤308-316中的任何一个步骤的一部分。可以使用适用于如此处讲述的支持在分层结构中的轨道导航的熟悉的图形用户界面和动画化机制,来完成步骤318。
在节点显示步骤320中,实施例通过显示节点图标204和/或诸如节点类型、节点所有者、节点大小等等之类的其他节点信息,来显示节点126。可以使用适用于如此处讲述的支持在分层结构中的轨道导航的熟悉的图形用户界面,来完成步骤320。
在目录使用步骤322中,实施例(从系统角度)或用户(从用户角度)使用特定类型的节点,即,目录。虽然术语“目录”在某一时候在别处用来表示文件夹或其他容器,但是,此处“目录”更包含地用来表示文件夹或文件。
在无-父-子-连接显示步骤324,实施例显示节点的排列,而不显示连接子节点与它们的相应的父节点的线或其他显式的指示符。显示步骤324在显示图4-11时执行。相比之下,诸如如图16所示的那样的显示将不会作为步骤324的一部分出现,因为在父节点MYDIR以及其子节点FILE1、FILE2之间显示了连接。类似地,类似于如图17所示的那样的显示将不会作为步骤324的一部分出现,因为在父节点TOP以及其子节点MID1、MID2之间显示了连接,还在父节点MID1、MID2以及它们的子节点之间显示了连接。
在无-径向-布局显示步骤326,实施例显示302了节点的轨道排列,而不显示径向布局图。
在无-树-布局显示步骤328,实施例显示302了节点的轨道排列,而不显示树布局图。
在排序控件显示步骤330,实施例在显示器上示出了排序控件218,例如,通过使用符合此处的原理的熟悉的图形用户界面机制。
在排序控件使用步骤332中,用户使用排序控件218,例如,来使实施例对显式地选取的节点234进行排序,或对隐式地选取的(当前显示的)子节点230进行排序。
在外观控件显示步骤334中,实施例在显示器上示出了外观控件220,例如,通过使用符合此处的原理的熟悉的图形用户界面机制。
在外观控件使用步骤336中,用户使用外观控件220,例如,使实施例更改显式地选取的节点234或隐式地选取的(当前显示的)节点的缩略图节点图标大小。
在存储器配置步骤338,通过轨道排列202、通过轨道导航工具222,或以其他方式与如此处所讨论的对分层结构的轨道导航和/或探查一起,配置存储介质112。
在显式的路径显示步骤340,实施例在屏幕上画一个圆、椭圆或其他轨道曲线,或者其弧形部分,显式地交叉也在屏幕上示出的节点图标。
下面将参考各实施例比较详细地讨论前面的步骤和它们的相互关系。
一些实施例提供用于在分层结构内导航节点的过程。该过程使用具有与至少一个存储器112可操作地进行通信的至少一个逻辑处理器110的设备。该过程包括以轨道方式显示302多个兄弟节点232,并接收304对以轨道方式显示的兄弟节点中的一个的选取226。响应于该选取,过程取消显示306没有被选取的兄弟节点,并以轨道方式显示302所选取的兄弟节点的多个子节点230。可以理解,包含各种节点的分层结构124至少在所感兴趣的位置处,包含如所示出的多个兄弟节点和多个子节点。还可以理解,多个节点的存在只是说明性的,因为也可以使用类似的过程以轨道方式导航分层结构的其他部分,及其他碰巧具有唯一兄弟/子节点的分层结构。
在某些实施例中,过程包括使将所选取的兄弟节点到停放位置212的移动动画化318。可以将所选取的节点停放在历史中、选择托盘中、或者两者中。
在某些实施例中,过程包括响应于来自用户的导航命令224,以轨道方式旋转316节点中的至少一个。
在某些实施例中,过程包括在所选取的兄弟节点的子节点的轨道排列相邻的位置(例如,在相同窗口或在相同页面)显示320所选取的兄弟节点。例如,可以在历史中显示或在选择托盘中显示所选取的节点。
在某些实施例中,过程包括进一步的导航。例如,响应于对其中一个显示的子节点的选取,过程可以取消显示306没有被选取的子节点,并以轨道方式显示所选取的子节点的多个后代节点。事实上,如此,用户在分层结构中导航了更深的一个级别。作为另一个示例,响应于对显示的子节点的父节点的选取,过程可以取消显示306子节点,还以轨道方式显示302父节点和父节点的任何兄弟。在此情况下,用户向回导航了层次结构中的一个级别。
在某些实施例中,过程在选择托盘区域显示320多个选择的节点236。在某些情况下,所选择的节点中的至少两个彼此间不是兄弟。即,在某些实施例中,选择托盘中的节点不必是兄弟。例如,在如图18所示的层次结构中,可以创建只保留节点E和H的选择托盘。此特征不一定排除将兄弟放入选择托盘中。相反地,在某些实施例中,用户不仅限于选择兄弟用于选择托盘。
在某些实施例中,过程显示320历史216,其中示出了根据它们被选取的时间排列的节点。例如,一个实施例显示至少三个用户所选取的节点。在给定实施例中,通过在屏幕上显示,可以显示320节点,带有重叠图标或带有不重叠的图标。
一些实施例专门针对包括目录130的文件系统及其他分层结构。例如,一些实施例提供用于在分层结构内导航目录的过程,包括在第一轨道排列202中显示302多个兄弟目录,并接收304对显示的兄弟目录中的一个的选取。响应于该选取,过程在第一轨道排列的外面的一个位置(例如,停放位置212)显示320所选取的兄弟目录,并在第二轨道排列202中显示302所选取的兄弟目录的多个子目录。
在某些实施例中,在轨道排列202中没有显式地绘制轨迹;路径206只是通过节点的移动来暗示。在其他实施例中,过程显式地显示340和第二轨道排列中的目录交叉的轨迹。例如,图4-7和9-12中每个都示出了至少一个显示的340路径。图10示出了三个显示的340路径206,而图12示出了五个显示的340路径206。然而,图8没有示出任何显示的路径。
在某些实施例中,过程使子目录中的至少一个到第二轨道排列中的移动动画化318。例如,在一个实施例中,随着所选取的节点移到历史中,轨道排列旋转并展开,取消显示非所选取的兄弟。作为另一个示例,一些过程使子目录从第二轨道排列的内部位置208到第二轨道排列的相应的轨道位置的移动动画化318,从而示出了从中心运动着的子文件夹,因为当它们的父被打开时,暴露了它们。
一些实施例响应于来自用户的导航命令,以轨道方式旋转316目录;在旋转过程中可以使用动画化。在其他实施例中,使用不同的动画化,或不使用动画化。例如,在用户选取之后,一些实施例简单地利用新的位置处的目录重绘显示。
至于附加的导航,在某些实施例中,过程包括取消显示没有被选取的子目录,并响应于用户对显示的其中一个子目录的选取,以轨道方式显示所选取的子目录的至少一个后代目录。在某些实施例中,过程包括取消显示子目录,还响应于用户对显示的子目录的父目录的选取,以轨道方式显示父目录以及父目录的任何兄弟。
配置的介质
一些实施例包括已配置的计算机可读存储介质112。介质112可包括盘(磁盘、光盘,或其他)、RAM、EEPROM或其他ROM,和/或其他可配置的存储器,特别包括非瞬时的计算机可读介质(而不是有线和其他传播信号介质)。已配置的存储介质可以是诸如CD、DVD或闪存之类的可移动存储介质114。可以是可移动的或不可移动的、并且可以是易失性的或非易失性的通用存储器,可以被配置到一实施例中,该实施例使用诸如轨道排列202和轨道导航工具222(执行此处所描述的过程)之类的项来形成已配置的介质,所述轨道排列202和轨道导航工具222是以从可移动介质114和/或诸如网络连接之类的另一源中读取的数据118和指令116的形式。已配置的介质112能够使计算机系统执行如此处所公开的通过对分层结构的轨道导航转换数据的过程步骤。如此,图1到3帮助示出了已配置的存储介质实施例和过程实施例,以及系统和过程实施例。具体而言,图3中所示出的或此处以其他方式讲述的过程步骤中的任何一个可以被用来帮助配置存储介质以形成已配置的介质实施例。
补充示例
下面提供了更多细节和设计考虑。如同此处的其他示例,在给定实施例中,所描述的特征可以分别地使用和/或组合地使用,或根本不使用。
本领域的技术人员将理解,实现细节可以涉及诸如特定API和特定示例程序之类的特定代码,如此,不必出现在每个实施例中。本领域的技术人员还将理解,在讨论细节时所使用的程序标识符和某些其他术语是实现特定的,如此,不必涉及每个实施例。尽管如此,虽然它们不一定需要出现在这里,但是,提供了这些细节,因为它们通过提供上下文可以帮助一些读者,和/或可以示出此处所讨论的技术的许多可能的实现中的一些。
图4示出了已经简化为注意力聚焦于轨道导航特征的图的屏幕快照。轨道排列202包括位于沿着围绕内部402的轨迹的轨道位置处的目录130。列出了目录,但是,是以圆形视图的方式,而并非以文本列举的方式。
在所示出的方案中,目录图标不重叠,它们围绕轨道基本上均匀地间隔。然而,在备选方案中,节点图标204可以不均匀地间隔。例如,节点可以在轨道的背后(远离用户)彼此重叠,并在轨道的前面彼此间隔,以便在后面进行宏浏览,在前面进行微浏览。类似地,给定轨道中的节点图标可以相对于彼此以不同的速度移动。
图5示出了用户选取图4的目录中的一个。在此示例中,使用利用鼠标或轨迹球控制的箭头光标来指出所选取的节点;在替换实施例中,使用笔或触摸屏,不一定使用光标。同样,在此图示中,使用部件号来命名节点,但是,可以理解,在一个实施例中,节点名称不一定作为节点图标的一部分来显示;相反,例如,可以显示内容的缩略图。同样,用于其他实施例中的节点名称不必遵循用于附图中的节点命名约定。
图6示出了图5的选取的中间结果,一个动画内的快照。所选取的目录130D旋转到一个位置,以停放在显示器的左上角中的历史中(在以后附图中,示出了历史)。同时,兄弟目录的圆(椭圆等等)旋转并展开,而非选取的目录消失。
图7示出了停放在历史中的选取的目录130D。已经打开了选取的目录130D,选取的目录130D的子目录被示为在它们的轨道位置。在一个实施例中,打开的目录的子出现在视图中,在它们的最终的轨道排列的中心位置208附近(例如,在两个图标204直径内),然后,向外移向它们的轨道位置210。
图8示出了图7轨道排列的替换实施例,其中,没有显式地绘制轨迹206。
图9示出了图7中的情况的附加的导航。已经旋转316了目录节点130D的子,在步骤304中由用户选取了它们中之一。
图10示出了图9导航的结果。被选取的目录130J被停放在历史中,在以前选取的目录130D的前面。每一历史节点被轨道曲线的弧形部分交叉。在轨道排列中显示了最近选取的目录130J的子。历史退回箭头1000允许用户通过关闭目录130J来逆转导航。
图11示出了图9的替换方案,其中,选取了父目录130D。在某些实施例中,选取较高级别的目录中的一个图标将导致其轨道收缩并移到注意力的中心。诸如和历史中一个节点交叉的外层轨道如此可以变为内层轨道。在某些实施例中,以前的内层轨道会消失。例如,轨道节点可以移回中心位置208,并消失。
图12是进一步示出了历史的简化屏幕图像。节点被描绘为在轨道上,最近打开的节点(目录130Z)被示为在最里边的/最小的/显然最近的轨道上。在某些实施例中,历史节点默认地被示为在这样的不相重叠的位置中,而在其他实施例中,点击历史控件会在历史的此展开图和其中历史节点的节点图标被重叠和/或较小的比较紧凑的视图(较小的屏幕区域)之间切换。
图13是示出了一个示例实施例中的多个屏幕区域的主要功能的屏幕布局图。在其他实施例中可以使用其他布局,并可以在屏幕上示出不同的或附加的特征。除上文所讨论的示例布局的各方面之外,在某些实施例中,打开的文件1300重叠在轨道排列202上。在某些实施例中,选取选择托盘图标将打开当前在选择托盘214中的节点的网格或其他描绘。
结论
虽然此处作为过程、作为配置的介质,或作为系统显式地示出和描述了特定实施例,但是,可以理解,对一种类型的实施例的讨论也一般性地延伸到其他实施例类型。例如,参考图3到13对过程的描述也帮助描述已配置的介质,并帮助描述类似于参考图1和2所讨论的那些的系统和产品的操作。对一个实施例的限制也不一定适用于另一个实施例。具体而言,过程不一定仅限于在讨论诸如已配置的存储器之类的系统或产品时呈现的数据结构和方案。
不是图中所示出的每一项都需要存在于每个实施例中。相反,实施例可以包含图中未显式地示出的项。虽然这里具体示例在文本和图形中示出了一些可能性,但是,实施例可以偏离这些示例。例如,可以省略、重命名、以不同的方式分组、重复、以不同的方式以硬件和/或软件实例化一个示例的特定特征,或者,这些特定特征也可以是在两个或更多示例中出现的特征的混合。在某些实施例中,也可以在不同的位置处提供在一个位置处示出的功能。
通过参考编号,参考了附图。在附图或文本中,与给定参考编号相关联的措词中的任何显而易见的不一致性,应该被理解为简单地扩大该编号所引用的内容的范围。
如此处所使用的,诸如“一个”和“所述”之类的术语是包括所指出的项或步骤中的一个或多个。具体而言,在权利要求书中,对一个项的引用一般表示至少一个这样的项存在,并且对一个步骤的引用表示执行该步骤的至少一个实例。
标题只是为了方便;有关给定主题的信息可以在其标题指出该主题的部分外面找到。
所提出的所有权利要求都是本说明书的一部分。
尽管在附图中示出了并在上文描述了示例性实施例,但是,对于本领域的技术人员来说显而易见的是,在不偏离权利要求书中所阐述的原理和概念的情况下,可以进行很多修改。尽管用结构特征和/或过程动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于权利要求书上面所描述的具体特征或动作。不一定在给定定义或示例中标识的每一个手段或方面都在每个实施例中存在或使用。相反,所描述的具体特征和动作是作为供当实现权利要求书时考虑的示例来公开的。
落入权利要求书的等效方案的含义和范围内的所有改变应在法律允许的最大可能的范围内被权利要求书的范围所涵盖。