CN101739196A - 工作空间管理方法及工作空间管理系统 - Google Patents
工作空间管理方法及工作空间管理系统 Download PDFInfo
- Publication number
- CN101739196A CN101739196A CN200810181153A CN200810181153A CN101739196A CN 101739196 A CN101739196 A CN 101739196A CN 200810181153 A CN200810181153 A CN 200810181153A CN 200810181153 A CN200810181153 A CN 200810181153A CN 101739196 A CN101739196 A CN 101739196A
- Authority
- CN
- China
- Prior art keywords
- window
- windows
- work space
- stop
- unit
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Images
Abstract
本发明公开了一种工作空间管理方法和工作空间管理系统,所述工作空间管理方法和工作空间管理系统用于管理响应应用程序的启动而显示的作为用户界面的工作空间的多个窗口,所述方法包括:管理与所述多个窗口相关的管理信息;检测每个窗口的状态变化;在所述检测变化步骤中检测到其中一个窗口的移动的情况下,通过参照所述管理信息来检测与所述一个窗口邻近的或与所述一个窗口叠加的其他窗口;在所述检测其他窗口步骤中检测到其他窗口的情况下,分别在所述一个窗口和所述其他窗口中显示待停靠的停靠位置;以及在所述检测变化步骤中检测到所述一个窗口的移动停止的情况下,经由所述停靠位置使所述一个窗口与所述其他窗口停靠在一起。
Description
技术领域
本发明涉及一种工作空间管理方法和工作空间管理系统,其用于管理响应应用程序的启动而显示的作为用户界面的工作空间的窗口。
背景技术
近年来,信息更加多样化且信息量庞大。个人计算机(PC)也不例外。用户通过启动各种应用程序并且同时打开各种文档从而在PC上进行作业。当显示或编辑各种信息时,采用各种应用程序。运行方案随着目的或信息种类的不同而有所不同。例如,文字处理器用于文本语句,绘图工具用于绘制图表,以及网页浏览器用于查看网络上的文档。
在这种情形下,在PC上启动各种应用程序并且打开许多文档,对这些应用程序和文档进行管理是麻烦的。在作为通用OS(操作系统)的Windows(注册商标)中,将启动的应用程序和打开的文档图标化在称为任务栏的栏条上,从而允许用户纵览当前启动的应用程序和打开的文档(即窗口)。然而,如果窗口的数量增加,则会排列许多图标,从而难于在任务栏上查找到期望的图标。为了处理这个问题,在Windows中将同一应用程序(例如Microsoft word或Internet Explorer)中所打开的多个文档在任务栏上图标化为一个单元。
然而,存在这样一个问题。对于用户达到一定目的的动作(任务)不必与应用程序相对应。也就是说,一个任务并不总是在一个应用程序中完成。更确切地说,常常涉及两个或更多个应用程序来完成一个任务。例如,在撰写技术文章时,除了文字处理器以外,用户还同时(通过同时启动相应的应用程序)显示词典、他或她本人所阅读过的文章、他或她自己之前所撰写的文章以及用于绘制图表的绘图工具。此外,在编制程序时,同时采用用于编辑源代码的编辑器、用于编译或调试的环境、指南以及网页浏览器(用于根据需要而进行检索)。在创建邮件时,同时采用邮寄者、日历、时间表管理系统以及名单管理系统。此外,在这些任务中,根据用户的喜好将各应用程序或文档布置在桌面上以组成用户的作业空间。在本说明书中将这种与用户的任务相对应的作业空间称为“工作空间”。
通常,用户大多并行地执行多种任务。在阅读或书写邮件之后,用户阅读他人的文章,并且还撰写他或她自己的论文。此时,切换各任务的作业常常是麻烦的。会出现这样的问题:需要多次点击图标以激活多个应用程序或文档,否则不能将同一文档放置在不同工作空间的不同位置上。用户想要做的是切换各任务或各工作空间并且对其进行管理。应用程序的切换或管理仅对用户产生系统的便利性。根据用户的喜好灵活地布置各种应用程序或文档以使工作空间的构造更加容易,从而需要可以简单地进行对切换任务时产生的工作空间的切换。
作为用户构建工作空间以方便切换的技术,在后述的非专利文献1所披露的称为Rooms(房间)的系统中采用房间比喻来支持工作空间的切换。将应用程序或文档(即窗口)的布置保存为Room,从而概略地纵览Room或者利用Doors(门)来切换各Room(工作空间)。
作为通过将与非专利文献1的Rooms类似的概念引申为三维而实现的系统,在后述的非专利文献2中披露了Task Gallery(任务走廊)。在Task Gallery中,利用诸如在墙壁上放置特定的窗口组等三维空间存储器来实现任务管理。
此外,在如后述的非专利文献3所披露的称为Scalable Fabric(可扩展结构)的系统中,假定用户主要在大显示器的中心进行作业。可以同时移动多个窗口,其中如果跨越各窗口将某一窗口从中央工作空间移动到显示器的周边区域,则整个窗口缩小。如果位于侧部的窗口组(工作空间)再次移动到中心,则整个窗口放大,从而恢复先前的作业状态。这样,在某个任务的作业期间可以识别其他任务的存在(作为窗口图像的缩略图),从而便于切换工作空间。
作为对Windows(注册商标)的任务栏作出的发明,在后述的非专利文献4和非专利文献5中提出了称为GroupBar(分组栏)的系统。显示在桌面上的多个窗口的状态可以共同地保存为组并再现。此时,在任务栏上针对每组而不是针对每个窗口来显示图标,从而可以避免图标溢出任务栏的问题。此外,随着对应于组的图标的切换可以容易地切换工作空间。
在后述的非专利文献6所披露的Elastic Windows(弹性窗口)中,可以以嵌套方式显示多个窗口以分级管理各工作空间。自动地调节布置以使位于嵌套的下位结构中的多个窗口不会叠加,或者允许对多个窗口共同操作(关闭、移动、最小化、最大化)。
日本专利No.2715421提出了多个文档可以粘帖在虚拟板上并再现的架构。通过打开该板,电子板可以按关闭以前的状态再现。通过将板视为工作空间,可以简单地再现或切换工作空间先前的状态。
JP-A-1-76114(这里所用术语“JP-A”是指“未经审查已公布的日本专利申请”)提出了这样的系统:即,根据简单的指令按照尺寸或位置改变多个叠加的窗口,并且将其重新布置以使彼此不再叠加。最后,JP-A-2-28716提出了这样一种系统,该系统用于自动地控制窗口的位置以便在打开新窗口时不与其他窗口叠加。
[非专利文献1]S.K.Card and A.Henderson.″A multiple,virtual-workspace interface to support user task switching.″inProceedings of CHI,pp.53-59,1987.
[非专利文献2]G.Robertson,M.van Dantzich,D.Robbins,M.Czerwinski,K.Hinckley,K.Risden,D.Thiel,V.Gorokhovsky.″TheTask Gallery:A 3D window manager.″in Proceedings of CHI 2000,494-501,2000.
[非专利文献3]G.Robertson,E.Horvitz,M.Czerwinski,P.Baudisch,D.Hutchings,B.Meyers,D.Robins,G.Smith.″ScalableFabric:Flexible task management.″in Proceedings of AVI,pp.85-89,2004.
[非专利文献4]G.Smith,P.Baudisch,G.Robertson,M.Czerwinski,B.Meyers,D.Robbins,E.Horvitz,and D.Andrews.″GroupBar:The TaskBar evolved.″in Proceedings of OZCHI,′03,2003.
[非专利文献5]M.Czerwinski,E.Horvitz,and S.Wilhite.″Adiary study of task switching and interruptions.″in Proceedings of CHI,pp.175-182,2004.
[非专利文献6]E.Kandogan and B.Shneiderman.″ElasticWindows:Improved spatial layout and rapid multiple windowoperations.″in Proceedings of ACM Advanced Visual Interfaces(AVI),Gubbio,Italy,pp,29-38,1996.
根据三个评价基准对上述现有技术进行比较。
1.是否支持工作空间的构建或切换?
2.怎样调节窗口以消除窗口的叠加?
3.现存的应用程序是否可用?如果可用,使其可用的难易程度有多大?
表1
工作空间的构建和切换 | 窗口之间的位置调节 | 现存应用程序的利用 | |
Rooms(非专利文献1) | A | C | A |
Task Gallery(非专利文献2) | A | C | A |
Scalable Fabric(非专利文献3) | A | C | A |
GroupBar(非专利文献4和5) | A | C | A |
日本专利No.2715421 | A | C | A |
JP-A-1-76114 | C | B(仅当存在用户指 | A |
示时才调节) | |||
JP-A-2-28716 | C | B(仅在打开窗口的时刻才调节) | A |
Elastic Windows(非专利文献6) | A | A | C(在Elastic Windows的架构内从头构建应用程序) |
对于这些现有技术,存在将由本发明解决的两个问题。
1.关于工作空间的构建和切换的功能问题
2.关于利用现存应用程序的实现方法的问题
1.关于工作空间的构建和切换的功能问题
如表1所示,如先前所述的可以构建工作空间的现有研究包括Rooms(非专利文献1)、Task Gallery(非专利文献2)、Scalable Fabric(非专利文献3)、GroupBar(非专利文献4和非专利文献5)、日本专利No.2715421以及Elastic Windows(非专利文献6)。怎样容易地切换任务、怎样简单地恢复先前的任务状态以及怎样设计用户界面是这些技术的关键问题。
在允许构建工作空间的上述方案中,下面将说明工作空间的构建方法的相关技术问题。
在Rooms(非专利文献1)和日本专利No.2715421中,在布置窗口之前,需要准备好房间或板,并且在该房间或板上布置必要的窗口。也就是说,在构建工作空间之前,需要向系统宣布“我将要为××构建工作空间”。
在Task Gallery(非专利文献2)和GroupBar(非专利文献4和非专利文献5)中,需要进行这样的操作:即,布置窗口并且保存已布置窗口的状态。换句话说,在布置工作空间之后,需要向系统宣布“我将要将所构建的××保存为工作空间”。
在Scalable Fabric(非专利文献3)中,尽管布置窗口的动作直接导致工作空间的构建,但当前没有在作业的工作空间被存储到周边区域,从而存在作业空间被限制于显示器的中央部分的问题。
在Elastic Windows(非专利文献6)中,在布置窗口之前,需要在窗口中连续打开嵌套的新窗口。
这样,根据任一项现有技术,在构建工作空间时,除了布置窗口、放置在哪里以及放置什么的操作以外,还需要指明“什么形成工作空间”。否则存在显示区域无法得到有效利用的问题。期望有一个直观的用户界面,通过该用户界面布置窗口的动作可以直接导致工作空间的构建。期望通过有效地利用显示区域来实现这一点。
此外,根据除了Elastic Windows(非专利文献6)以外的现有技术,简单地将多个窗口的布置保存为工作空间,但是不调节工作空间内窗口的布置。通常,在执行一个任务时要参考多个窗口的信息。此时,优化窗口的布置以消除窗口的叠加或者去除浪费的空间对于用户而言是件困难的作业。这些技术不支持这项作业。期望存在这样的功能:即,在工作空间内自动地调节窗口位置以消除窗口的叠加或者去除浪费的空间。
2.关于利用现存应用程序的实现方法的问题
先前已经说明了自动调节窗口位置以使窗口在工作空间中不叠加的必要性。在JP-A-1-76114和JP-A-2-28716中,可以部分地解决这个问题。也就是说,一接收到来自用户的指令或者在打开窗口的时刻就调节窗口的布置以消除窗口的叠加。然而,当用户在此后移动窗口或改变窗口大小时,可能会隐藏其他的窗口。
为了解决上述有关窗口的布置的问题,在Elastic Windows(非专利文献6)中,分级管理窗口,并且随着用户移动窗口或改变窗口大小重新布置其他窗口。在此架构中,由于各窗口之间的关联比较紧密,因此无法使用现存的应用程序。问题在于仅可运行在ElasticWindows上初始构建的应用程序。
在工作空间管理系统中,期望的是也可以在架构上处理现存的应用程序(如果可能的话,不改变现存的应用程序,或者如果必要的话,尽可能少地改变现存的应用程序)。
发明内容
本发明的目的在于提供一种不会叠加窗口或浪费空间的构成工作空间的直观的用户界面。
此外,本发明的另一目的在于通过尽可能少地改变现存系统来再现多个窗口的布置从而构造工作空间,并且调节窗口的布置以使在每个工作空间中各窗口不会发生叠加。换句话说,本发明意在提供一种简单而直观的用户界面,其可通过尽可能少地改变现存系统来满足对现有技术的全部三个评价基准。
(1)根据本发明的第一方面,提供一种工作空间管理方法,其用于管理响应应用程序的启动而显示的作为用户界面的工作空间的多个窗口,所述方法包括:管理与所述多个窗口相关的管理信息;检测每个窗口的状态变化;在所述检测变化步骤中检测到其中一个窗口的移动的情况下,通过参照所述管理信息来检测与所述一个窗口邻近的或与所述一个窗口叠加的其他窗口;在所述检测其他窗口步骤中检测到其他窗口的情况下,分别在所述一个窗口和所述其他窗口中显示待停靠的停靠位置;以及在所述检测变化步骤中检测到所述一个窗口的移动停止的情况下,经由所述停靠位置使所述一个窗口与所述其他窗口停靠在一起。
窗口的停靠是指窗口的连接。在停靠位置的显示模式下,例如,改变窗口的侧边的形状,改变窗口侧边的颜色,或者同时改变窗口侧边的形状和颜色。例如,可以在窗口中显示边缘。也可以采用其他模式,只要用户可以直观地识别出停靠位置,或者也可以添加其他颜色或形状的图像。
所述多个窗口是利用不同的应用程序启动的。这意味着存在可以相同或可以不相同的多个应用程序。
(2)如第(1)项所述的工作空间管理方法,其中,所述多个窗口是利用不同的应用程序启动的。
(3)如第(1)项所述的工作空间管理方法,其中,所述窗口为矩形,所述一个窗口按照与所述其他窗口的一边的尺寸相适应的尺寸进行停靠,并且所述一个窗口和所述其他窗口是构成矩形的停靠窗口的多个子窗口。
(4)如第(1)项所述的工作空间管理方法,其中,所述显示停靠位置步骤包括分别在所述一个窗口的至少两边和所述其他窗口的至少两边上显示所述停靠位置。
(5)如第(1)项所述的工作空间管理方法,还包括:在所述检测变化步骤中检测到其中一个子窗口的尺寸变化的情况下,通过参照所述管理信息来改变所述其他子窗口的尺寸。
(6)如第(1)项所述的工作空间管理方法,还包括:在所述检测变化步骤中检测到停靠窗口的移动的情况下,整体地移动所述停靠窗口。
(7)如第(1)~(6)项中任一项所述的工作空间管理方法,还包括:取消停靠窗口的停靠。
(8)根据本发明的第二方面,提供一种工作空间管理方法,其用于管理响应应用程序的启动而显示的作为用户界面的工作空间的多个窗口,所述方法包括:在将其中一个窗口拖动至靠近其他窗口的情况下,显示所述一个窗口和所述其他窗口相停靠的位置;以及在显示停靠位置的状态下停止拖动所述一个窗口的情况下,使所述一个窗口与所述其他窗口停靠从而生成一个停靠窗口。
(9)提供一种工作空间管理系统,其用于管理响应应用程序的启动而显示的作为用户界面的工作空间的多个窗口,所述系统包括:窗口管理单元,其存储与显示在显示器上的所述多个窗口相关的管理信息;检测单元,其检测每个窗口的状态变化;窗口检测单元,在所述检测单元检测到其中一个窗口的移动的情况下,所述窗口检测单元通过参照所述管理信息来检测与所述一个窗口邻近的或与所述一个窗口叠加的其他窗口;呈现单元,在所述窗口检测单元检测到所述其他窗口的情况下,所述呈现单元呈现出所述一个窗口与所述其他窗口可以进行停靠(呈现所述一个窗口与所述其他窗口可以进行停靠的停靠位置);以及停靠单元,在所述检测单元检测到所述一个窗口的移动停止的情况下,所述停靠单元经由所呈现的停靠位置使所述一个窗口与所述其他窗口停靠在一起。
(10)如第(9)项所述的工作空间管理系统,其中,所述呈现单元包括显示单元,所述显示单元显示所述一个窗口与所述其他窗口相停靠的位置。
(11)如第(10)项所述的工作空间管理系统,其中,所述显示单元显示所述窗口上可区别于其他边的特定边。
(12)如第(9)项所述的工作空间管理系统,其中,所述检测单元周期性地监测激活窗口的状态以检测所述激活窗口的事件变化。
(13)如第(9)项所述的工作空间管理系统,其中,所述检测单元检测对所述窗口操作的事件的种类。
(14)如第(9)项所述的工作空间管理系统,其中,所述多个窗口是利用不同的应用程序启动的。
(15)如第(9)项所述的工作空间管理系统,其中,所述管理信息至少包括识别所述窗口的识别信息、所述窗口的位置信息以及所述窗口的尺寸信息。
(16)如第(9)项所述的工作空间管理系统,其中,所述窗口为矩形,所述一个窗口按照与所述其他窗口的一边的尺寸相适应的尺寸进行停靠,并且所述一个窗口和所述其他窗口是构成矩形的停靠窗口的多个子窗口。
(17)如第(10)项所述的工作空间管理系统,其中,在所述一个窗口靠近所述其他窗口的情况下,所述呈现单元分别在所述一个窗口的至少两边和所述其他窗口的至少两边上显示停靠位置。
(18)如第(9)项所述的工作空间管理系统,还包括:尺寸改变单元,在所述检测单元检测到其中一个子窗口的尺寸变化的情况下,所述尺寸改变单元通过参照所述管理信息来改变其他子窗口的尺寸。
(19)如第(9)项所述的工作空间管理系统,还包括:移动单元,在所述检测单元检测到停靠窗口的移动的情况下,所述移动单元移动所述停靠窗口。
(20)如第(9)项所述的工作空间管理系统,还包括:状态保存单元,其保存停靠窗口的状态;以及状态再现单元,其基于由所述状态保存单元保存的状态再现所述停靠窗口。
(21)根据本发明的第三方面,提供一种工作空间管理系统,其用于管理响应应用程序的启动而显示的作为用户界面的工作空间的多个窗口,所述系统包括:停靠单元,其使其中一个窗口与其他窗口停靠在一起从而生成包括所述一个窗口和其他窗口作为多个子窗口的的停靠窗口;使用历史保存单元,其保存对于所述停靠窗口的子窗口的操作历史信息;以及布置推荐单元,其基于所述操作历史信息推荐所述停靠窗口中的子窗口的布置。
(22)如第(21)项所述的工作空间管理系统,其中,所述布置推荐单元基于所述操作历史信息至少计算子窗口的使用频率和子窗口之间的相似度,并且基于由此得到的计算结果来确定所述子窗口的布置。
(23)根据本发明的第四方面,提供一种工作空间管理系统,其用于管理响应应用程序的启动而显示的作为用户界面的工作空间的多个窗口,所述系统包括:检测单元,其检测出其中一个窗口被拖动至靠近其他窗口;显示单元,其根据所述检测(所检测的结果)来显示所述一个窗口与所述其他窗口相停靠的停靠位置;以及停靠单元,在显示所述停靠位置的状态下停止拖动所述一个窗口的情况下,所述停靠单元使所述一个窗口与所述其他窗口停靠从而生成一个停靠窗口。
本发明可以达到下述效果。
(a)在使窗口与传统相比更直观和更简单的情况下构建工作空间的操作。
(b)通过自动布置工作空间中的窗口以简化窗口布置,从而可以有效地利用有限的显示空间而不会浪费空间。
附图说明
基于附图对本发明的示例性实施例进行详细说明,其中:
图1A示出将窗口B拖动到窗口A附近的状态,以及图1B示出窗口B与窗口A停靠的状态;
图2A~2B为示出在停靠窗口中子窗口的尺寸的变化的视图,其中,图2A示出子窗口B的尺寸的变化,以及图2B示出子窗口A的尺寸的变化;
图3A~3B为示出在由窗口A、B以及C停靠成的窗口中改变子窗口尺寸的状态的视图,其中,图3A示出子窗口A的尺寸的变化,以及图3B示出子窗口B和C的尺寸的变化;
图4A~4B为示出在由窗口A、B、C以及D停靠成的窗口中改变子窗口尺寸的状态的视图,其中,图4A示出子窗口A的尺寸的变化,以及图4B示出子窗口B、C以及D的尺寸的变化;
图5A~5B为示出嵌入式停靠的视图,其中,图5A示出窗口C与停靠窗口A和B停靠之前的状态,以及图5B示出停靠窗口C之后的状态;
图6为示出根据本发明实施例的工作空间管理系统中的事件检测方法的构造的框图;
图7为示出根据本实施例的事件检测单元的操作流程的流程图;
图8为示出根据本实施例的窗口管理单元在执行时的操作流程的流程图;
图9为示出根据本实施例的窗口管理单元在移动时的操作流程的流程图;
图10为示出根据本实施例的窗口管理单元在放开时的操作流程的流程图;
图11为示出根据本实施例的窗口管理单元在调节大小时的操作流程的流程图;
图12为邻近窗口单元的操作说明图;
图13A为边缘显示单元的操作说明图,以及图13B为停靠单元的操作说明图;
图14为示出根据本实施例的事件通知方法的构造的框图;
图15为示出窗口管理单元利用事件通知方法在退出时的操作流程的流程图;
图16为示出根据本实施例的用于存储和再现窗口状态/文档状态的系统构造的框图;
图17为示出根据本实施例的用于呈现停靠对象窗口候选者的系统构造的框图;
图18为示出通过候选文档呈现单元列举候选文档的实例的视图;
图19为示出根据本实施例的用于推荐窗口布置的系统构造的框图;
图20为示出根据本实施例的计算子窗口之间相似度的概念的视图;
图21为示出根据本实施例的用于进行嵌入式停靠的系统构造的框图;
图22A示出扩展式停靠的实例,以及图22B示出嵌入式停靠的实例;
图23A~23C为示出邻近子窗口检测单元的操作的视图;
图24为示出在窗口内划分区域的实例的视图;以及
图25为示出根据本实施例的用于执行工作空间管理系统、工作空间管理方法以及工作空间管理程序的处理装置的构造实例的示意图。
具体实施方式
下面将参照附图说明根据本发明的工作空间管理系统的基本思路。本发明的思路大致上分为两部分。
1.支持工作空间的构建和切换的用户界面
2.实现1的用户界面以尽可能简单地将现存应用程序合并入本发明的架构中的结构
1.用户界面及其操作
图1A示出了在显示器上显示出两个窗口A和B且将窗口B拖动到窗口A附近的状态。通过在计算机的操作软件上执行不同的应用软件从而在显示器上显示窗口A和B,其中利用诸如鼠标等输入设备选择窗口B并将其拖动(移动)。如果窗口A和窗口B在某种程度上更为接近,则在窗口A和B的相对侧显示出表明两个窗口可以停靠的锯齿状边缘10和12。如果在这种状态下放开(停止移动)窗口B,那么如图1B所示,两个窗口A和B停靠成一个窗口。此时,窗口B的尺寸调节为与显示出窗口A的边缘的一侧的尺寸相适应的尺寸。
这里,已停靠的窗口(下文称为停靠窗口)表现如同没有停靠的普通窗口(下文称为非停靠窗口)一样。
(a)停靠之后窗口的形状为矩形或正方形。
(b)停靠之后的各窗口一起移动。也就是说,通过拖动标题栏同时移动窗口A和B。
(c)可以同时关闭、最大化或最小化包含在停靠窗口中的各个子窗口。
此外,作为多个窗口的集合的停靠窗口与普通窗口的不同之处在于以下几点。
(a)通过改变特定子窗口的尺寸也改变其他子窗口(进一步囊括全体的停靠窗口)的尺寸。
(b)可以取消停靠。可以取消全体或者可以仅取消特定子窗口。
(c)如果需要,标题栏的显示可以不同于普通窗口的显示以表明停靠。
(c1)将“停靠取消”按钮添加到“最小化”、“最大化”以及“关闭”的普通按钮上。
(c2)将窗口的图标改为特定的图标。
(c3)改变标题栏的背景颜色。
接下来,下面将说明在改变子窗口的尺寸时的操作。图2A~2B示出了改变子窗口B的尺寸从而改变窗口A的尺寸且同时改变停靠窗口(包括窗口A和B)的整体尺寸。如图2A所示如果放大(增加高度和宽度)窗口B,则如图2B所示窗口A的高度改变。然而,窗口A的宽度并不改变。
图3A~3B示出了在由子窗口A、B以及C停靠成的窗口中怎样加宽窗口A。如果从图3A所示的状态增加子窗口A的宽度,则如图3B所示窗口B和C以相同的宽度比缩小。
图4A~4B示出了在由子窗口A、B、C以及D停靠成的窗口中怎样加宽窗口A。如果从图4A所示的状态放大子窗口A,则如图4B所示窗口C和D的宽度相应地减小。同时,窗口B的宽度扩大。
在本发明中,假定采用停靠窗口作为工作空间。在这个意义上,同义地使用停靠窗口和工作空间。
2.结构(实现方法)
为了实现本发明上述思路的架构(下文称为停靠窗口架构(DWF)),从下列观点来看如果可以简单地通过向操作系统(OS)添加功能来实现DWF是有利的。
(a)在不改变现存的应用程序(例如Microsoft Office的应用程序)的情况下可以获得DWF的优势。
(b)即使系统中存在缺陷,仅仅替换添加到OS中的模块就足够,并且不必替换每个应用程序。这对于系统的版本升级也是适用的。
然而,这种事情通常是困难的。因为难于从应用程序的外部知道在应用程序的窗口发生什么事情以及该窗口处于什么状态。这里,提出两种方法应对这个问题。这里,将用于管理添加到OS中的窗口的模块称为“管理器”。
方法A(事件检测方法):事件检测方法包括利用管理器周期性地检查所有窗口的状态,并且如果窗口状态存在变化则根据变化的种类来指定事件的种类。
方法B(事件通知方法):事件通知方法包括如果各窗口的窗口状态发生变化,则从窗口向管理器通知发生了事件。
事件检测方法允许在完全不用改变应用程序的情况下来实现DWF。然而,具有以下问题。
(a)由于管理器周期性地检查所有窗口的状态,因此会占用大量的计算机资源。
(b)由于通过周期性的检查来检测事件,因此从实际发生事件到检测到该事件存在时间迟延。这引起DWF的全体行为滞后。当然,尽管可利用较短的检查周期来缓解此问题,但是如果周期较短将会耗费更多的计算机资源。
对于事件通知方法,要求各应用程序侧执行“在必要时刻通知管理器存在事件”的处理。也就是说,要求改变各应用程序。当然,变化越少越好。由于在每次改变管理器中的功能时改变所有的应用程序是麻烦的,因此期望安装到各应用程序上的功能是通用的(对于改变功能是健壮的)。于是,作为设置在应用程序侧的最小化功能,提出“如果发生特定事件就向管理器通知该特定事件”。这里重要的是应用程序侧仅将事件的发生通知给管理器,但不执行任何其他的事情(包括与管理器的双向通信),其中如果应用程序仅进行通知,则管理器处理其他所有的事情。如实施例中所详细说明的,待发送的事件的种类如下作为最小化构造。
应用程序的启动“执行(Execute)”
应用程序的结束“退出(Exit)”
激活窗口“激活(Active)”
移动窗口“移动(Move)”
放开窗口(结束移动)“放开(Drop)”
窗口尺寸改变“调节大小(Resize)”
实际上,将与执行相对应的退出添加到列表中,但退出不是绝对必要的。如果存在退出,则操作比较灵活,但退出不是必不可少的。更具体而言,如果不检测退出,那么在关闭窗口时无法从桌面上删除该窗口,从而使窗口变得更大,这将增加处理。此外,为了处理窗口的“最大化”、“最小化”以及“恢复”,可以再细分调节尺寸事件。为了参考,可以利用管理器自动检测这些事件中的一些事件,并且从应用程序通知其他事件。
(停靠的种类)
以这样的形式执行如图1A~1B所示的停靠:即,将窗口B粘附到待停靠的窗口A的外侧(从A向外延伸出B)。将这种停靠称为“扩展式停靠”。相反,以这样的形式执行如图5A和图5B所示的停靠:即,在窗口A和窗口B的停靠窗口中将窗口C并入窗口B的区域。将窗口并入现存窗口的形式的停靠称为“嵌入式停靠”。
下面将另外说明“扩展式停靠”与“嵌入式停靠”之间的区别。第一,在“扩展式停靠”中在停靠前后窗口的尺寸改变,而在“嵌入式停靠”中在停靠前后窗口的尺寸不改变。第二,在“扩展式停靠”中,仅在每个窗口的一侧显示“边缘”,而在“嵌入式停靠”中,在每个窗口的两侧或更多侧显示“边缘”。如图5A所示,在窗口A和B所停靠的各侧显示边缘14a和14b,并且在窗口C的左端和上端显示边缘16。
本发明的最大特征在于通过对单独可用的应用程序的停靠操作来构造工作空间的能力。不是传统地保存窗口的布置,而是布置操作本身导致构造工作空间。也就是说,工作空间的创建是直观的,且可以立刻获得结果的反馈。在实现时的特征在于通过对现存的应用程序不做改变或做少许改变来管理工作空间的能力。
此外,可以以下述方式应用本发明的工作空间管理系统。
(与停靠窗口的相互作用)
(a)增加或减少工作空间中的特定窗口。相对地,减少或增加其他窗口。这对应于放大或缩小,而不是最大化或最小化。
(b)缩小工作空间中的特定窗口。相对地,增大其他窗口。
(c)可以保存和再现停靠窗口的状态(子窗口与应用程序的位置关系)。
(d)可以保存和再现停靠窗口中文档的状态(除了窗口状态以外,在每个窗口中所打开的文档,滚动位置和光标位置)。
(系统自动搜索构成工作空间的窗口且呈现候选者)
当用户最初使用利用本发明的架构时,可将该架构用作构建工作空间的支持,或者当在正常使用时停靠窗口时,可以自动地推荐可以成为候选者的另一个窗口。可以用以下方式收集停靠候选者的应用程序或文档。
(a)文档的日期和时间属性(创建、更新、参考)比较接近。
(b)以前已经一起使用过的文档
(c)在另一工作空间中一起使用的文档
(系统呈现工作空间中窗口布置的最佳布置方法)
(a)分析激活的子窗口怎样按照用户在工作空间中的行为进行转变并且推荐适当的窗口布置
(a1)期望操作的移动或眼线的移动较小
(a2)期望从左向右或从上向下移动操作
(a3)期望在操作中频繁切换的子窗口是邻近的
(实施例)
下面将说明根据本发明实施例的工作空间系统。例如可以通过在安装在个人计算机上的OS上可执行的应用软件或合并入OS中的程序来执行根据实施例的工作空间系统。
在下面的说明中,首先将说明两个事件处理方法即1.事件检测和2.事件通知。作为其扩展,给出3.用于保存和再现窗口状态和文档状态的示例性系统。此外,给出4.用于自动呈现待停靠的窗口候选者的示例性系统和5.用于呈现工作空间中最佳窗口布置的示例性系统。最后,给出6.嵌入式停靠的实例。在这些实例中,将扩展式停靠预设为停靠方法。最后将说明嵌入式停靠。注意到将扩展式停靠简称为停靠。
1.事件检测方法
在事件检测方法中,不必对单个应用程序改变窗口,并且管理器执行所有操作。此外,在事件检测方法中,不检测退出事件。
图6为示出事件检测方法的构造的框图。如图6所示,用于执行事件检测方法的管理器100包括用于停靠窗口的停靠单元110、用于显示待停靠窗口上的边缘的边缘显示单元120、用于检测停靠对象的邻近窗口的邻近窗口检测单元130、事件检测单元140以及窗口管理单元150。
(事件检测单元)
首先,将说明事件检测单元140。事件检测单元140通过周期性地获取激活窗口的状态并且在参考事件表格的同时对激活窗口的状态与先前的窗口状态进行比较从而检测事件。
表2示出了窗口事件表格的数据结构。窗口事件表格具有下列各栏。
“窗口ID”保存窗口的标识符。
“位置”保存窗口左上方的坐标。
“尺寸”保存窗口的宽度和高度。
“激活”保存表明窗口当前是否为激活的标记。
“事件”保存激活窗口之前刚刚发生的事件。
表2
窗口ID | 位置 | 尺寸 | 激活 | 事件 |
W001 | (10,10) | 120×200 | ||
W002 | (220,40) | 300×200 | 1 | 移动 |
W003 | (300,50) | 200×200 |
图7示出了事件检测单元的操作流程。如图7所示,事件检测单元140周期性地获取激活窗口W的窗口ID(id)、位置(Position)以及尺寸(Size)(步骤S10)。进而检查是否已在窗口事件表格中记录有该激活窗口W(步骤S11)。
如果在表格中没有记录有激活窗口W,则知道该窗口第一次变为激活的,其中,事件为“执行”。检测出事件“执行”(步骤S12),并且将其作为激活窗口W的项目添加到窗口事件表格中,从而结束处理。
如果激活窗口W已经存在于表格中,则需要根据表格获取窗口W是否为激活的(步骤S13)。如果表格中的窗口W不是激活的,则通过此时的检查使窗口W变为激活的,从而检测出事件“激活”(步骤S14)。并且改写表格(步骤S15),从而结束处理。
如果表格中的窗口W已经是激活的,则知道至少在此时之前窗口W是激活的。然后,从表格中获取先前的尺寸“size_old”,并且与激活窗口W的当前尺寸“size”进行比较以检查尺寸是否改变(步骤S16)。如果“size”和“size_old”不同,则知道激活窗口W的尺寸改变,从而检测出事件“调节大小”(步骤S17)。并且改写表格,从而结束处理。
如果“size”和“size_old”为相同值,则知道尺寸没有改变。此时,从表格获取先前的位置“position_old”,并且与激活窗口W的当前位置“position”进行比较以检查位置是否改变(步骤S18)。
如果“position”和“position_old”不同,则知道窗口位置改变,从而检测出事件“移动”(步骤S19)。如果“position”和“position_old”相同,则知道不存在移动。在这种情况下,从表格获取先前的事件,并且检查先前的事件是否为“移动”(步骤S20)。在是“移动”的情况下,由于知道通过此时的检查结束移动,因此检测出事件“放开”(步骤S21)。
如果以上述方式检测事件,则要求改写窗口事件表格,是否检测到事件(步骤S22)。首先,全部清除表格中的“激活”栏和“事件”栏。然后,检查“激活”栏中W的行。此外,如果检测到事件,则将所检测到的事件写入W的“事件”栏中。
(窗口管理单元)
“窗口管理单元”从各窗口的事件发送单元接收事件信息,并且通过参照“窗口表格”和“停靠表格”来对必要的窗口执行操作。首先,下面将说明窗口表格和停靠表格的数据结构,然后说明窗口管理单元的行为。
“窗口表格”在执行过程中管理所有的窗口。表3示出了数据结构。窗口表格具有以下各栏。
“窗口ID”保存窗口的ID。
“位置”保存各窗口左上方的坐标。
“尺寸”保存各窗口的宽度和高度。
“停靠ID”,如果窗口停靠,则此栏保存所停靠窗口的一组窗口ID。如果窗口没有与任何窗口停靠,则此栏为空。
表3
窗口ID | 位置 | 尺寸 | 停靠ID |
W001 | (10,10) | 120×200 | |
W002 | (220,40) | 300×200 | |
W003 | (300,50) | 200×200 | D001 |
W004 | (500,50) | 100×200 | D001 |
W005 | (900,400) | 200×150 | D002 |
W006 | (1100,400) | 120×150 | D002 |
W007 | (900,550) | 320×100 | D002 |
在表3中,当前在PC上打开七个窗口,其中,表明这些窗口之中的W003与W004发生停靠(停靠信息位于停靠表格的行D001中),并且W005、W006以及W007也发生停靠(停靠信息位于停靠表格的行D002中)。
“停靠表格”在执行过程中管理所有的停靠窗口。表4示出了数据结构。窗口表格具有以下各栏。
“停靠ID”保存停靠窗口的ID。
“位置”保存各停靠窗口左上方的坐标。
“尺寸”保存各停靠窗口的宽度和高度。
“停靠组”保存所停靠窗口的一组窗口ID。
表4
停靠ID | 位置 | 尺寸 | 停靠组 |
D001 | (300,50) | (300,200) | W003,W004 |
D002 | (900,400) | (320,250) | W005,W006,W007 |
在表4中,在执行过程中当前存在两个停靠窗口,其中一个停靠窗口由两个子窗口组成以及另一个停靠窗口由三个子窗口组成。
返回到窗口管理单元,窗口管理单元从窗口W(下面简称“W”)的事件发送单元接收事件信息,并且根据所接收事件的种类通过参照“窗口表格”和“停靠表格”对必要的窗口执行要求的操作。下面将给出每个事件的操作。
(执行)
图8示出了在检测执行事件时的操作流程。该操作随着W是否是停靠窗口而有所不同。检查W是否是停靠窗口(步骤S20)。如果W是停靠窗口,则从停靠表格获取W的位置和尺寸(步骤S21),将W的信息(ID、位置、尺寸、一组子窗口)添加到停靠表格中(步骤S22),从窗口表格获取子窗口的位置和尺寸(步骤S23),并且将子窗口的信息添加到窗口表格中(步骤S24)。在W是非停靠窗口的情况下,获取W的尺寸(步骤S25),并且简单地将W的信息添加到窗口表格中(步骤S26)。
(移动)
图9示出了检测移动事件时的操作流程。首先,获取W的位置(步骤S30),并且在窗口表格中更新W的信息(步骤S31)。检查W是否发生停靠(步骤S32)。如果W发生停靠,则通过搜索与W停靠的另一窗口来重新计算窗口位置(步骤S33)。然后,对于与W停靠的另一窗口,更新窗口表格中的位置信息和停靠表格中的相应信息(步骤S34)。此外,邻近窗口检测单元通过参照窗口表格检测是否存在任何邻近窗口(步骤S35)。如果存在邻近窗口,则边缘显示单元显示边缘(步骤S36)。如果不存在邻近窗口,边缘显示单元不显示边缘(步骤S37)。
(放开)
图10示出了检测放开事件时的操作流程。首先,获取W的位置和尺寸(步骤S40)。然后,利用邻近窗口检测单元搜索W的邻近窗口(步骤S41)。如果不存在邻近窗口,则不用执行任何事情而结束处理。如果存在邻近窗口W′(步骤S42),则利用停靠单元重新计算W和W′的位置和尺寸,设定窗口位置并将两个窗口停靠(步骤S43)。此外,在窗口表格中更新W和W′的位置和尺寸的信息(步骤S44),并且还更新停靠表格中的信息(步骤S45)。
(调节大小)
图11示出了检测调节大小事件时的操作流程。首先,获取W的位置(步骤S50),并且在窗口表格中更新W的信息(步骤S51)。检查W是否与另一窗口停靠(步骤S52)。如果W未发生停靠,则结束处理。如果W与另一窗口停靠,则重新计算除了W以外的另一停靠窗口的位置和尺寸并且设定窗口位置(步骤S53)。此外,在窗口表格中更新除W以外的另一停靠窗口的信息(步骤S54),并且在停靠表格中更新W的位置和尺寸的信息(步骤S55)。
(邻近窗口检测单元)
下面将说明在窗口W正移动时(检测到W的事件“移动”)“邻近窗口检测单元”的操作。如图12所示,为了表示窗口四边的位置,将上边称为顶部(Top),将下边称为底部(Bottom),将左边称为左部(Left),并且将右边称为右部(Right)。
如果窗口的位置关系为下列各组的任一组,则两个窗口可以停靠。
右部(Right)?左部(Left)
顶部(Top)?底部(Bottom)
也就是说,在下列情况下窗口W可以与窗口X停靠。
W的右部(Right)与X的左部(Left)
W的左部(Left)与X的右部(Right)
W的顶部(Top)与X的底部(Bottom)
W的底部(Bottom)与X的顶部(Top)
将距离窗口位置的距离小于预定阈值的窗口X称为W的邻近窗口。这里,在查找W的邻近窗口时,首先,从停靠表格中搜索W的邻近窗口。如果有,则返回邻近窗口。如果没有,则此时从窗口表格中搜索邻近窗口。这样,对于停靠窗口或未停靠的单个窗口仅搜索到一个邻近窗口。
(边缘显示单元)
对于正被移动的W,如果邻近窗口检测单元检测到邻近窗口X,则边缘显示单元在W和X的两侧显示出表明“W与X可以停靠”的边缘。如果X为W的邻近窗口并且W的左部(Left)与X的右部(Right)比较靠近,则如图13A所示,边缘显示单元在窗口X上显示出边缘20且在窗口W上显示出边缘22。在边缘显示模式下,例如改变窗口侧边的形状、改变窗口侧边的颜色或者同时改变窗口侧边的形状和颜色。除此之外,只要用户可以直观地识别出停靠位置也可采用其他模式,或者也可以添加其他颜色或形状的图像。
(停靠单元)
如果从窗口W检测到放开事件,则窗口管理单元搜索W的邻近窗口。如果存在W的邻近窗口X,则“停靠单元”实际上对W和X执行停靠处理。
在停靠处理中,操作随着W的哪一边是停靠对象(将此边的位置称为“停靠位置”)而有所不同。
如果W的停靠位置为左部(Left),
则使W的高度与X的高度相等并且W移动到X的右侧以与X接触(见图13B)。
如果W的停靠位置为右部(Right),
则使W的高度与X的高度相等并且W移动到X的左侧以与X接触(见图13B)。
如果W的停靠位置为顶部(Top),
则使W的宽度与X的宽度相等并且W移动到X的底侧以与X接触。
如果W的停靠位置为底部(Bottom),
则使W的宽度与X的宽度相等并且W移动到X的顶侧以与X接触。
2.事件通知方法
在本实施例中,预先假定窗口之间的数据或定时的交换为事件驱动的,尽管本实施例并不仅限于事件驱动。可以经由存储器或文件来执行事件驱动。无论如何,通过某些单元从各窗口向管理器发送信息。
图14示出了本实施例中的事件通知方法的系统构造。如图14所示,事件通知方法对于每个窗口具有事件发送单元200。此外,用于管理窗口的管理器210包括窗口管理单元220、邻近窗口检测单元250、边缘显示单元240以及停靠单元230。
与前述实施例的区别在于每个窗口另外具有“事件发送单元”而管理器不具有“事件检测单元”。因此,在本实施例中将说明事件发送单元200的操作和窗口管理单元220的区别点。
(事件发送单元)
事件发送单元200在其本身的窗口发生下列操作时向窗口管理单元220发送事件。尽管在前述的实施例中没有检测退出事件,但在本实施例中也从每个窗口发送退出事件。
表5示出了事件发送单元200向窗口管理单元220所发送的事件信息的数据结构。在表5中,表示从具有窗口ID W001的窗口发送移动事件。
“源窗口”保存发送事件的窗口的窗口ID。
“事件种类”表明待发送事件的种类。
表5
源窗口 | W0001 |
事件种类 | 移动 |
(窗口管理单元)
窗口管理单元220基本上与事件检测方法中的相同。然而,新添加了对退出事件的管理,下面将仅说明其区别。
如果窗口管理单元220接收到除退出之外的任何其他事件,则操作与事件检测方法中的相同。下面将说明在接收到退出事件时的操作。
(退出)
图15示出了在检测到退出事件时的操作流程。该操作根据W是否为停靠窗口而有所不同。检查W是否为停靠窗口(步骤S60)。如果W为停靠窗口,则从窗口表格中删除W的子窗口的相关信息(步骤S61),并且从停靠表格中删除W的信息(步骤S62)。如果W为非停靠窗口,则简单地从窗口表格中删除W的信息(步骤S63)。
接收退出事件并且如先前所述从窗口表格和停靠表格中删除所关闭的窗口,从而缩小表格的尺寸。这将导致更高效率的处理。
3.用于保存和再现窗口状态/文档状态的系统
首先,清晰地说明在保存窗口的状态时存在两种保存形式。
(保存窗口状态)
在保存窗口状态时,保存下列信息。
各窗口的应用程序
各窗口的位置和尺寸
(保存文档状态)
在保存文档状态时,除了窗口状态以外,还保存下列信息。
在各窗口中所打开的文档
各窗口中的滚动位置
各窗口中的光标位置
由于保存文档状态的构造包括保存窗口状态的构造,因此下面将说明文档状态的保存和再现。此外,这里将以事件通知系统为基础说明本实施例。
图16为示出用于保存和再现窗口状态/文档状态的系统构造的框图。将状态保存单元300和状态再现单元310的模块添加到前述实施例中窗口管理器212侧。此外,窗口表格的数据结构与前述结构不同。这里,将仅说明其区别。
(窗口表格)
如表6所示扩展包括在窗口管理单元220中的窗口表格的数据结构。尽管“窗口ID”、“位置”、“尺寸”以及“停靠ID”与表3中的相同,但在表6中扩展有以下各栏。
“文档”表明在窗口中所打开的文档的路径或URL。如果没有指定文档,则该栏为空。
“滚动位置”保存文档的滚动位置(与文档长度的比率)。如果“文档”栏为空,则不必进行滚动,从而此栏也为空。
“光标位置”保存文档中的光标位置(从顶端开始的字符数)。如果“文档”栏为空,则不放置光标,从而此栏也为空。
表6
窗口ID | 位置 | 尺寸 | 停靠ID | 文档 | 滚动位置 | 光标位置 |
W001 | (10,10) | 120×200 | ||||
W002 | (220,40) | 300×200 | ||||
W003 | (300,50) | 200×200 | D001 | C:\work\paper.doc | 57 | 1922 |
W004 | (500,50) | 100×200 | D001 | http://www.google.co.jp | ||
W005 | (900,400) | 200×150 | D002 | C:\work\report.txt | 10 | 310 |
W006 | (1100,400) | 120×150 | D002 | http://citeseer.ist.psu.edu/ | ||
W007 | (900,550) | 320×100 | D002 |
在表6的窗口W003中,表明文档“C:\work\paper.doc”被打开并且滚动到全部的57%的位置,并且光标位于从文档顶端开始第1922个字符处。
(状态保存单元)
如果指定对具有停靠ID D001的停靠窗口的保存,则状态保存单元300将包括有从表6中提取的关于D001的部分的信息(见表7)的结构化数据保存在用户所指定的或预先指定的文件中。
表7
窗口ID | 位置 | 尺寸 | 停靠ID | 文档 | 滚动位置 | 光标位置 |
W003 | (300,50) | 200×200 | D001 | C:\work\paper.doc | 57 | 1922 |
W004 | (500,50) | 100×200 | D001 | http://www.google.co.jp |
(状态再现单元)
状态再现单元310读取文件并且基于以上数据结构再现停靠窗口。首先,利用所指定的应用程序打开子窗口并且确定窗口的位置和尺寸。此外,打开指定的文档,并且设定滚动位置和光标位置。4.用于呈现停靠对象窗口候选者的系统
图17示出了用于呈现停靠对象窗口候选者的系统构造。这里,在窗口管理器214侧将候选文档检索单元400、候选文档通知单元410、候选文档呈现单元420以及窗口生成单元430添加到如上所述的事件通知系统中。
候选文档检索单元400在以下时刻自动地从用户PC检索停靠对象的文档。
当用户停靠窗口时
当用户指示检索候选文档时
考虑下列检索方法。
(a)检索日期属性(创建日期和时间、更新日期和时间、参考日期和时间)与当前激活窗口中所显示的文档比较接近的文档。如果激活窗口为停靠窗口,则检索日期属性与子窗口中所显示的文档比较接近的文档。
(b)检索曾经与当前激活窗口中所显示的文档一起使用过的文档。如果激活窗口为停靠窗口,则检索曾经与子窗口中所显示的文档一起使用过的文档。为了执行此检索,要求将迄今为止文档的使用保存为历史。
(c)检索在另一工作空间(停靠窗口)中与当前激活窗口中所显示的文档一起使用过的文档。如果激活窗口为停靠窗口,则检索在另一工作空间中与子窗口中所显示的文档一起使用过的文档。为了执行此检索,要求将文档在停靠窗口中的使用保存为历史。
这里,窗口管理器为在OS执行过程中总是激活的常驻应用程序。这里,假定窗口管理器居于Windows(注册商标)的任务托盘(位于任务栏的右侧,其中显示有常驻应用程序的图标)中。
如果通过候选文档检索单元的检索确定存在候选文档,则候选文档通知单元410改变窗口管理器在任务托盘中的图标状态,并且通知用户存在该文档的候选文档。
如果用户看到窗口管理器的图标状态的改变而点击该图标,则候选文档呈现单元420列举出候选文档。在图18中示出了此实例。如图18所示,如果用户点击图标,则显示出菜单并且列举出候选文档,如果选择文档,则文档打开并准备拖动。
如果用户在所列举出的菜单中选择特定文档,则窗口生成单元430利用对应的应用程序打开文档。并且使所生成的窗口准备好被拖动。从而,用户可以迅速地找到待停靠的文档,并且立即使其与另一窗口停靠。这是支持生成工作空间的方案。
5.用于推荐工作空间中的最佳窗口布置的系统
图19示出了用于推荐窗口布置的系统构造。在窗口管理器216侧将使用日志获取单元500、使用日志分析单元510以及布局呈现单元520添加到事件通知系统的实施例中。
(使用日志获取单元)
使用日志获取单元500获取对于停靠窗口中的子窗口的操作的日志并且将历史存储在使用日志表中。使用日志表为保存有停靠窗口的操作历史的表格。表8示出了数据结构的一个实例。该表具有下列各栏。
“日期和时间”保存发生操作时的日期和时间。
“停靠ID”保存其中执行操作的停靠窗口的ID。这里,对于停靠窗口的每次激活,停靠ID不是不同的。
“窗口ID”保存停靠窗口中的子窗口的窗口ID。这里,对于每次激活,窗口ID不是不同的。
“操作种类”保存用户进行什么操作。尽管暂时保存诸如激活、滚动、点击或输入等操作,但其中激活是最重要的。在使用日志分析单元的下列算法中,分析激活的历史以做推荐。
表8
时间和日期 | 停靠ID | 窗口ID | 操作的种类 |
2006/09/2015:22:14 214 | D001 | W003 | 激活 |
2006/09/2015:22:15 412 | D001 | W003 | 滚动 |
2006/09/2015:22:20 888 | D001 | W003 | 点击 |
2006/09/2015:22:23 377 | D001 | W003 | 输入 |
2006/09/2015:25:32 532 | D001 | W005 | 激活 |
2006/09/2015:25:35 114 | D001 | W004 | 激活 |
2006/09/2015:25:35 114 | D002 | W032 | 激活 |
使用日志分析单元510分析使用日志DB 530,并且搜索停靠窗口中子窗口的最佳布置。
这里,作为一个实例,给出用于推荐停靠窗口D中的子窗口的最佳布置的系统。首先,引入两个指标。
(a)子窗口的使用频率
(b)子窗口之间的相似度
计算子窗口之间的相似度作为同时(在相对短的时间内)使用不同的子窗口的可能性高度。以每个固定的时间间隔T划分时间段。并且生成矩阵,其中子窗口为行,而用长度T划分的时间为列,以子窗口在该时间内变为激活的次数作为元素。将子窗口A与B之间的相似度定义为与A和B相对应的行向量的余弦。结果,在固定时间间隔内一起使用的次数越多的窗口之间的相似度越高。图20概念性地示出了矩阵与相似度之间的关系。
首先,认为存在仅向用户呈现此阶段的指标(即,子窗口的使用频率和子窗口之间的相似度)的效果。这是因为用户可能会在他或她自己的工作空间中注意到这样的问题:即,具有高使用频率的子窗口位于难于使用的位置或者具有较高的被一起使用的频率的两个子窗口分开布置。
接下来,将说明利用以上两个指标来推荐工作空间中的子窗口的布置的系统。实际上,这个算法是复杂的,因为要求考虑窗口的尺寸。这里,引入非常简单的方法。
(1)将具有最高使用频率的子窗口放置在最左边。
(2)将与放置在最左边的子窗口具有较高相似度的窗口放置在左数第二的位置上。
(3)将还没有确定其布置的子窗口之中与左数第二个子窗口具有较高相似度的窗口放置在左数第三的位置上。
(4)重复步骤(3)以确定所有子窗口的布置(按照从左向右的顺序)。
(5)按照宽度与子窗口的初始面积成比例的方式确定子窗口的尺寸。
通过按照以上方法确定布置,使可能一起使用的窗口相邻布置。尽管子窗口的初始形状发生改变,但仍保持其面积比率。
布局呈现单元520向用户呈现布局的样本。用户在观看样本的同时自己改变子窗口在工作空间中的布局。
不仅可以推荐子窗口的布置,还可以推荐从工作空间中去除很少使用的子窗口或缩小尺寸。
6.嵌入式停靠
如上所述,嵌入式停靠在操作中具有下列特征。停靠前后不改变窗口(在放开一侧)的总体尺寸。在窗口的多个侧边显示“边缘”。
这里,将说明以事件通知单元的实施例的扩展形式进行的嵌入式停靠的实现方法。图21示出了嵌入式停靠的系统构造。
在管理器211侧将邻近子窗口检测单元600添加到事件通知方法的系统构造图中。此外,邻近窗口检测单元250、边缘显示单元240以及停靠单元230的操作不同于事件通知方法。这些将在下面进行说明。
(邻近窗口检测单元)
除了仅为左部(Left)与右部(Right)或顶部(Top)与底部(Bottom)的关系的两个窗口之外,在本实施例中事件通知方法的邻近窗口检测单元250还检测两个叠加的窗口。
扩展式停靠与嵌入式停靠之间的区别在于:如果如图22A所示窗口不叠加则进行扩展式停靠,而如果如图22B所示窗口发生叠加则进行嵌入式停靠。在图22A~22B中,绘制窗口外轮廓的粗实线30表示边缘。在两个窗口不叠加的扩展式停靠中,不需要邻近子窗口检测单元,而可以用与前述相同的方式来执行处理。
(邻近子窗口检测单元)
如果邻近窗口检测单元判断为嵌入式停靠,则邻近子窗口检测单元600确定停靠窗口中将被推开的子窗口和重新停靠窗口的位置。概念上,如图23A~23C所示执行此操作。
邻近子窗口检测单元600执行下列两个步骤。
(1)检测将被推开的子窗口
(2)检测将被推开的子窗口的推开位置
这里,如图23A~23C所示给出在由两个窗口A和B停靠而成的停靠窗口AB中的某处嵌入式地停靠新窗口C的实例。
在步骤(1)中,检测出将被推开的子窗口。计算A的重心(窗口的矩形中心)和B的重心。计算从A的重心和B的重心分别到C的重心的距离,具有较近距离的窗口为将与窗口C停靠的窗口。这里,假定B为停靠对象。
在步骤(2)中,确定窗口B中将被推开的位置。首先,如图24所示,用两条对角线将B的窗口区域分成四个子区域。然后,计算从B的四个子区域的各重心到C的重心的距离。具有最近距离的子区域为C嵌入B的位置。例如,如果C的重心较接近B的左部子区域的重心(图23C的实例),则将C嵌入到B的右部位置并停靠。
(边缘显示单元)
边缘显示单元240在由邻近子窗口检测单元600检测到的子窗口(在先前实例中为B)的嵌入位置(在先前实例中到左侧)和被拖动的窗口(在先前实例中为C)的对应位置上显示边缘。这里,对应位置是指如图23A、23B以及23C所示的由于停靠而与其他子窗口接触的各边40B、40C、42B、42C、44B以及44C。
(停靠单元)
停靠单元230将新窗口(在先前实例中为C)停靠在由边缘显示单元240所显示的边缘部分。
图25为示出根据本实施例的用于执行工作空间管理方法的处理装置的一个实例的示意图。根据本实施例的处理装置700包括:输入单元702,其包括键盘、鼠标、触摸面板、图像扫描仪以及其他输入设备;外部接口(I/F)704,其可以与外部网络进行信息的发送和接收;显示单元706;诸如打印机等的输出单元708;存储单元710,其能够存储各种数据;存储器712,其用于存储OS、程序以及应用软件;以及CPU(中央处理单元)714,其可以根据程序来控制各部分的操作。
CPU 714执行存储在存储器712中的应用程序以在显示单元706上显示用户界面窗口从而给用户提供工作空间。将本实施例的工作空间管理系统合并入OS和/或应用软件从而实现如上所述的窗口停靠。用户经由诸如鼠标等输入单元702对显示在显示单元706上的窗口进行操作。
尽管上面已经对本发明的优选实施例进行了详述,但本发明并不限于这些特定实施例,而是在不背离权利要求书所限定的本发明的精神或范围的情况下可以做出多种变型和修改。
出于解释和说明的目的提供了本发明的示例性实施例的上述说明。其本意并不是穷举或将本发明限制在所公开的确切形式。显然,对于本技术领域的普通技术人员可以进行许多修改和变型。选择和说明上述示例性实施例是为了更好地解释本发明的原理及其实际应用,因此使得本技术领域的其他技术人员能够理解本发明所适用的各种实施例并预见到适合于特定应用的各种修改。目的在于通过所附权利要求书及其等同内容限定本发明的范围。
Claims (23)
1.一种工作空间管理方法,其用于管理响应应用程序的启动而显示的作为用户界面的工作空间的多个窗口,所述方法包括:
管理与所述多个窗口相关的管理信息;
检测每个窗口的状态变化;
在所述检测变化步骤中检测到其中一个窗口的移动的情况下,通过参照所述管理信息来检测与所述一个窗口邻近的或与所述一个窗口叠加的其他窗口;
在所述检测其他窗口步骤中检测到其他窗口的情况下,分别在所述一个窗口和所述其他窗口中显示待停靠的停靠位置;以及
在所述检测变化步骤中检测到所述一个窗口的移动停止的情况下,经由所述停靠位置使所述一个窗口与所述其他窗口停靠在一起。
2.如权利要求1所述的工作空间管理方法,其中,
所述多个窗口是利用不同的应用程序启动的。
3.如权利要求1所述的工作空间管理方法,其中,
所述窗口为矩形,
所述一个窗口按照与所述其他窗口的一边的尺寸相适应的尺寸进行停靠,并且
所述一个窗口和所述其他窗口是构成矩形的停靠窗口的多个子窗口。
4.如权利要求1所述的工作空间管理方法,其中,
所述显示停靠位置步骤包括分别在所述一个窗口的至少两边和所述其他窗口的至少两边上显示所述停靠位置。
5.如权利要求1所述的工作空间管理方法,还包括:
在所述检测变化步骤中检测到其中一个子窗口的尺寸变化的情况下,通过参照所述管理信息来改变所述其他子窗口的尺寸。
6.如权利要求1所述的工作空间管理方法,还包括:
在所述检测变化步骤中检测到停靠窗口的移动的情况下,整体地移动所述停靠窗口。
7.如权利要求1到6中任一项所述的工作空间管理方法,还包括:
取消停靠窗口的停靠。
8.一种工作空间管理方法,其用于管理响应应用程序的启动而显示的作为用户界面的工作空间的多个窗口,所述方法包括:
在将其中一个窗口拖动至靠近其他窗口的情况下,显示所述一个窗口与所述其他窗口相停靠的位置;以及
在显示停靠位置的状态下停止拖动所述一个窗口的情况下,使所述一个窗口与所述其他窗口停靠从而生成一个停靠窗口。
9.一种工作空间管理系统,其用于管理响应应用程序的启动而显示的作为用户界面的工作空间的多个窗口,所述系统包括:
窗口管理单元,其存储与显示在显示器上的所述多个窗口相关的管理信息;
检测单元,其检测每个窗口的状态变化;
窗口检测单元,在所述检测单元检测到其中一个窗口的移动的情况下,所述窗口检测单元通过参照所述管理信息来检测与所述一个窗口邻近的或与所述一个窗口叠加的其他窗口;
呈现单元,在所述窗口检测单元检测到所述其他窗口的情况下,所述呈现单元呈现出所述一个窗口与所述其他窗口可以进行停靠;以及
停靠单元,在所述检测单元检测到所述一个窗口的移动停止的情况下,所述停靠单元经由所呈现的停靠位置使所述一个窗口与所述其他窗口停靠在一起。
10.如权利要求9所述的工作空间管理系统,其中,
所述呈现单元包括显示单元,所述显示单元显示所述一个窗口与所述其他窗口相停靠的位置。
11.如权利要求10所述的工作空间管理系统,其中,
所述显示单元显示所述窗口上可区别于其他边的特定边。
12.如权利要求9所述的工作空间管理系统,其中,
所述检测单元周期性地监测激活窗口的状态以检测所述激活窗口的事件变化。
13.如权利要求9所述的工作空间管理系统,其中,
所述检测单元检测对所述窗口操作的事件的种类。
14.如权利要求9所述的工作空间管理系统,其中,
所述多个窗口是利用不同的应用程序启动的。
15.如权利要求9所述的工作空间管理系统,其中,
所述管理信息至少包括识别所述窗口的识别信息、所述窗口的位置信息以及所述窗口的尺寸信息。
16.如权利要求9所述的工作空间管理系统,其中,
所述窗口为矩形,
所述一个窗口按照与所述其他窗口的一边的尺寸相适应的尺寸进行停靠,并且
所述一个窗口和所述其他窗口是构成矩形的停靠窗口的多个子窗口。
17.如权利要求10所述的工作空间管理系统,其中,
在所述一个窗口靠近所述其他窗口的情况下,所述呈现单元分别在所述一个窗口的至少两边和所述其他窗口的至少两边上显示停靠位置。
18.如权利要求9所述的工作空间管理系统,还包括:
尺寸改变单元,在所述检测单元检测到其中一个子窗口的尺寸变化的情况下,所述尺寸改变单元通过参照所述管理信息来改变其他子窗口的尺寸。
19.如权利要求9所述的工作空间管理系统,还包括:
移动单元,在所述检测单元检测到停靠窗口的移动的情况下,所述移动单元移动所述停靠窗口。
20.如权利要求9所述的工作空间管理系统,还包括:
状态保存单元,其保存停靠窗口的状态;以及
状态再现单元,其基于由所述状态保存单元保存的状态再现所述停靠窗口。
21.一种工作空间管理系统,其用于管理响应应用程序的启动而显示的作为用户界面的工作空间的多个窗口,所述系统包括:
停靠单元,其使其中一个窗口与其他窗口停靠在一起从而生成包括所述一个窗口和其他窗口作为多个子窗口的停靠窗口;
使用历史保存单元,其保存对于所述停靠窗口中的子窗口的操作历史信息;以及
布置推荐单元,其基于所述操作历史信息推荐所述停靠窗口中的子窗口的布置。
22.如权利要求21所述的工作空间管理系统,其中,
所述布置推荐单元基于所述操作历史信息至少计算子窗口的使用频率和子窗口之间的相似度,并且基于由此得到的计算结果来确定所述子窗口的布置。
23.一种工作空间管理系统,其用于管理响应应用程序的启动而显示的作为用户界面的工作空间的多个窗口,所述系统包括:
检测单元,其检测出其中一个窗口被拖动至靠近其他窗口;
显示单元,其根据所述检测来显示所述一个窗口与所述其他窗口相停靠的停靠位置;以及
停靠单元,在显示所述停靠位置的状态下停止拖动所述一个窗口的情况下,所述停靠单元使所述一个窗口与所述其他窗口停靠从而生成一个停靠窗口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810181153.5A CN101739196B (zh) | 2008-11-25 | 2008-11-25 | 工作空间管理方法及工作空间管理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810181153.5A CN101739196B (zh) | 2008-11-25 | 2008-11-25 | 工作空间管理方法及工作空间管理系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101739196A true CN101739196A (zh) | 2010-06-16 |
CN101739196B CN101739196B (zh) | 2015-04-08 |
Family
ID=42462737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810181153.5A Active CN101739196B (zh) | 2008-11-25 | 2008-11-25 | 工作空间管理方法及工作空间管理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101739196B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136053A (zh) * | 2011-11-24 | 2013-06-05 | 三星电子株式会社 | 控制不同进程中产生的窗口的便携式终端的装置和方法 |
CN103197842A (zh) * | 2013-04-15 | 2013-07-10 | 广州博冠信息科技有限公司 | 一种应用程序窗口的控制方法及装置 |
CN103941963A (zh) * | 2014-04-29 | 2014-07-23 | 福建星网视易信息系统有限公司 | 一种自动调整页面布局的方法及其装置 |
CN104516723A (zh) * | 2013-09-26 | 2015-04-15 | 联想(北京)有限公司 | 窗口部件处理方法及装置 |
CN106293718A (zh) * | 2016-08-01 | 2017-01-04 | 北京金山安全管理系统技术有限公司 | 批量移动相邻窗口的方法和系统 |
CN106339211A (zh) * | 2016-08-12 | 2017-01-18 | 北京领通科技有限公司 | 一种智能终端远程服务中显示不一致的监控方法和装置 |
CN106537317A (zh) * | 2014-07-31 | 2017-03-22 | 微软技术许可有限责任公司 | 应用窗口的自适应大小调整和定位 |
CN106605197A (zh) * | 2014-09-16 | 2017-04-26 | 日本电气株式会社 | 信息处理设备及其控制方法和控制程序 |
CN108255560A (zh) * | 2018-01-12 | 2018-07-06 | 北京金堤科技有限公司 | 一种信息框的布局方法、装置和用户终端 |
CN108319491A (zh) * | 2010-10-19 | 2018-07-24 | 苹果公司 | 管理用户界面中的工作空间 |
US10592080B2 (en) | 2014-07-31 | 2020-03-17 | Microsoft Technology Licensing, Llc | Assisted presentation of application windows |
US10678412B2 (en) | 2014-07-31 | 2020-06-09 | Microsoft Technology Licensing, Llc | Dynamic joint dividers for application windows |
WO2021068412A1 (zh) * | 2019-10-09 | 2021-04-15 | 广州视源电子科技股份有限公司 | 智能交互平板的交互方法、装置、终端设备和存储介质 |
US11150780B2 (en) | 2010-10-19 | 2021-10-19 | Apple Inc. | Updating display of workspaces in a user interface for managing workspaces in response to user input |
-
2008
- 2008-11-25 CN CN200810181153.5A patent/CN101739196B/zh active Active
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108319491B (zh) * | 2010-10-19 | 2022-08-09 | 苹果公司 | 管理用户界面中的工作空间 |
US11150780B2 (en) | 2010-10-19 | 2021-10-19 | Apple Inc. | Updating display of workspaces in a user interface for managing workspaces in response to user input |
CN108319491A (zh) * | 2010-10-19 | 2018-07-24 | 苹果公司 | 管理用户界面中的工作空间 |
CN103136053A (zh) * | 2011-11-24 | 2013-06-05 | 三星电子株式会社 | 控制不同进程中产生的窗口的便携式终端的装置和方法 |
CN103197842A (zh) * | 2013-04-15 | 2013-07-10 | 广州博冠信息科技有限公司 | 一种应用程序窗口的控制方法及装置 |
CN104516723A (zh) * | 2013-09-26 | 2015-04-15 | 联想(北京)有限公司 | 窗口部件处理方法及装置 |
CN103941963A (zh) * | 2014-04-29 | 2014-07-23 | 福建星网视易信息系统有限公司 | 一种自动调整页面布局的方法及其装置 |
CN106537317B (zh) * | 2014-07-31 | 2020-02-28 | 微软技术许可有限责任公司 | 应用窗口的自适应大小调整和定位 |
CN106537317A (zh) * | 2014-07-31 | 2017-03-22 | 微软技术许可有限责任公司 | 应用窗口的自适应大小调整和定位 |
US10678412B2 (en) | 2014-07-31 | 2020-06-09 | Microsoft Technology Licensing, Llc | Dynamic joint dividers for application windows |
US10592080B2 (en) | 2014-07-31 | 2020-03-17 | Microsoft Technology Licensing, Llc | Assisted presentation of application windows |
CN106605197A (zh) * | 2014-09-16 | 2017-04-26 | 日本电气株式会社 | 信息处理设备及其控制方法和控制程序 |
CN106293718A (zh) * | 2016-08-01 | 2017-01-04 | 北京金山安全管理系统技术有限公司 | 批量移动相邻窗口的方法和系统 |
CN106293718B (zh) * | 2016-08-01 | 2019-12-17 | 北京金山安全管理系统技术有限公司 | 批量移动相邻窗口的方法和系统 |
CN106339211B (zh) * | 2016-08-12 | 2020-01-17 | 北京领通科技有限公司 | 一种智能终端远程服务中显示不一致的监控方法和装置 |
CN106339211A (zh) * | 2016-08-12 | 2017-01-18 | 北京领通科技有限公司 | 一种智能终端远程服务中显示不一致的监控方法和装置 |
CN108255560B (zh) * | 2018-01-12 | 2021-06-22 | 北京金堤科技有限公司 | 一种信息框的布局方法、装置和用户终端 |
CN108255560A (zh) * | 2018-01-12 | 2018-07-06 | 北京金堤科技有限公司 | 一种信息框的布局方法、装置和用户终端 |
WO2021068412A1 (zh) * | 2019-10-09 | 2021-04-15 | 广州视源电子科技股份有限公司 | 智能交互平板的交互方法、装置、终端设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101739196B (zh) | 2015-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101739196B (zh) | 工作空间管理方法及工作空间管理系统 | |
US8607157B2 (en) | Workspace management method, workspace management system, and computer readable medium | |
CN100517271C (zh) | 利用虚拟地址栏的用户界面控件及显示系统和方法 | |
KR20100056594A (ko) | 워크스페이스 관리 방법, 워크스페이스 관리 방식 및 컴퓨터 판독 가능한 기억매체 | |
Florins et al. | Graceful degradation of user interfaces as a design method for multiplatform systems | |
EP2487869B1 (en) | Computer system for providing aggregated KPI values | |
JP5136228B2 (ja) | 作業環境自動保存復元システム、作業環境自動保存復元方法および作業環境自動保存復元プログラム | |
KR100972722B1 (ko) | 그래픽 사용자 인터페이스에서의 소프트웨어애플리케이션을 관리하기 위한 시스템 및 방법 | |
CN102282533B (zh) | 触摸敏感的计算设备和方法 | |
US20120162265A1 (en) | Computer-implemented method for specifying a processing operation | |
CN101957730A (zh) | 信息处理设备和信息处理方法 | |
US20100192066A1 (en) | Method and system for a graphical user interface | |
US5594847A (en) | System and method for selecting free form objects associated with a selection region displayed by a computer | |
CN102301346A (zh) | 文件夹管理装置、文件夹管理方法以及文件夹管理用程序 | |
CN101263488A (zh) | 在文档中集成图表 | |
CN102368212A (zh) | 消息队列管理 | |
KR20120135243A (ko) | 공유가능한 사용자 인터페이스를 이용해 정보를 구성하는 방법 및 시스템 | |
JP2008152585A (ja) | 表示画像制御装置及びその制御方法 | |
CN102929856A (zh) | 合并的正交向导创建 | |
US7546317B1 (en) | Low-overhead integrated support for personal project management | |
CN102687110A (zh) | 扩展应用的查看功能 | |
CN102446094A (zh) | 用于有效地实现系统和桌面配置增强的装置和方法 | |
CN101201721B (zh) | 信息处理设备及其控制方法 | |
JP2004072428A (ja) | 会議支援用共用端末、会議支援プログラム、記憶媒体、会議支援方法及び会議室支援システム | |
WO2013128850A1 (ja) | 情報処理装置及び情報処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: Tokyo Patentee after: Fuji film business innovation Co.,Ltd. Address before: Tokyo Patentee before: Fuji Xerox Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |