CN108139949A - 用于在计算机程序内呈现实时信息并允许用户选择重定向的消息功能区用户接口 - Google Patents

用于在计算机程序内呈现实时信息并允许用户选择重定向的消息功能区用户接口 Download PDF

Info

Publication number
CN108139949A
CN108139949A CN201680056576.7A CN201680056576A CN108139949A CN 108139949 A CN108139949 A CN 108139949A CN 201680056576 A CN201680056576 A CN 201680056576A CN 108139949 A CN108139949 A CN 108139949A
Authority
CN
China
Prior art keywords
message
computer
graphical user
application program
application
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
Application number
CN201680056576.7A
Other languages
English (en)
Other versions
CN108139949B (zh
Inventor
K·D·哈维
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hexagon Technology Center GmbH
Original Assignee
Hexagon Technology Center GmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hexagon Technology Center GmbH filed Critical Hexagon Technology Center GmbH
Publication of CN108139949A publication Critical patent/CN108139949A/zh
Application granted granted Critical
Publication of CN108139949B publication Critical patent/CN108139949B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/321Display for diagnostics, e.g. diagnostic result display, self-test user interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0483Interaction with page-structured environments, e.g. book metaphor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1895Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for short real-time information, e.g. alarms, notifications, alerts, updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/75Indicating network or usage conditions on the user display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/024Multi-user, collaborative environment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Quality & Reliability (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

一种计算机程序产品生成非模态图形用户控制元素作为在应用程序内使用的功能区的一部分,以提供关于该应用程序的实时状态信息。计算机代码包括:用于在图形地显示在所述应用程序内的功能区上生成所述非模态图形用户控制元素的计算机代码。另外,所述计算机代码包括:用于从所述应用程序接收预定义类别的状态消息并且在所述非模态图形用户控制元素上可视地放置所述状态消息的计算机代码。接收与所述状态消息相关联的应用特有位置信息并且响应于所述图形用户控制元素的用户选择,所述应用程序切换成与所述应用特有位置信息相关联的计算机代码。

Description

用于在计算机程序内呈现实时信息并允许用户选择重定向的 消息功能区用户接口
相关申请的交叉引用
本专利申请要求2015年9月29日提交的题名为“Message Ribbon User Interfacefor Presenting Real-time Information and allowing User-selected Redirectionwithin a Computer Program”的美国专利申请No.14/869488的权益,其全部内容通过引用并入于此。
技术领域
本发明涉及现用计算机应用内的消息传送,并且更具体地,涉及具有用户可选程序重定向的消息功能区(ribbon)。
背景技术
传统上,复杂计算机程序可以包括消息传送系统以向计算机程序的用户通知状态变化,诸如错误、警告或信息性消息。复杂计算机程序的一些例子包括3D CAD程序、多用户计算机编程环境、或者涉及多个用户和关于项目或工作流的协作的任何其它计算机程序。在计算机程序的多个用户从事于共同项目的复杂计算环境中,一个用户的行为可能会影响另一个用户的行为,并且该信息需要发送给可能同时从事该项目的一个或更多个其他用户。
如图1所示,这种复杂计算机程序依赖于模态消息传送。在出现生成消息的触发时,该消息通过计算机程序的环境被分发给正在对生成工作流的项目操作的计算机程序的每个用户。这些通信通过创建新窗口或弹出要求用户交互来中断用户的工作流。该分发系统在防止错误通过项目传播方面非常有效,然而,项目和用户数量越大,用户被从工作流中断并被迫与模态消息传送系统进行交互就越频繁。
可以想象从事大型政府建设项目,在用户的工作流期间,警告和错误消息将不断出现在计算机画面上并中断用户的工作流,其中特定消息不需要用户立即关注。例如,涉及施工中建筑物内的管道问题的警告消息可能对用户的忙于电气系统的工作流几乎没有直接意义。用户可能能够继续进行该工作流而不发生致命错误。
发明内容
根据本发明的一个实施方式,描述了一种具有非暂时性计算机可读介质的计算机程序产品,该非暂时性计算机可读介质上具有与计算机处理器一起使用的计算机代码,该计算机程序产品用于生成非模态图形用户控制元素作为在应用程序内使用的功能区的一部分,以提供关于该应用程序的实时状态信息。所述计算机代码包括:
用于在图形地显示在所述应用程序内的功能区上生成所述非模态图形用户控制元素的计算机代码;
用于从所述应用程序接收预定义类别的状态消息并且实时地在处于与所述预定义类别相关联的位置处的所述非模态图形用户控制元素上可视地放置所述状态消息的计算机代码;
用于接收与所述状态消息相关联的应用特有位置信息的计算机代码;以及
响应于用户选择处于针对所述预定义类别的位置处的所述非模态图形用户控制元素,使所述应用程序切换成与所述应用特有位置信息相关联的代码的计算机代码。
在本发明的某些实施方式中,所述应用特有位置信息可以在所述应用程序内识别生成所述状态消息的对象。在本发明的其它实施方式中,使所述应用程序切换成与所述应用特有位置信息相关联的代码还使得呈现与应用特有位置信息相关联的图形用户接口。
所述应用特有位置信息可以是识别与所述应用程序内的多个图形用户接口之一相关联的参数。所述计算机程序可以包括:用于在所述应用程序内生成针对第二预定义类别的第二非模态图形用户控制元素的计算机代码,其中,所述第一非模态图形用户控制元素和所述第二非模态图形用户控制元素形成功能区。在某些实施方式中,所述实时状态信息指示所述应用程序内的错误或警告,但不停止执行所述应用程序。而且,当接收到预定义类别内的第二实时状态消息时,将新图形用户控制元素可视地堆叠呈现在所述预定义类别内的第一实时状态消息上。
本发明的实施方式还可以包括:响应于用户交互用于在所述预定义类别内的堆叠状态消息之间移动的计算机代码。在一些实施方式中,所述状态消息在预定义时段之后或者在所述应用中出现事件之后从所述非模态图形用户控制元素中被去除。
在本发明的实施方式中,所述应用可以是具有与项目数据相关联的多个项目的复杂计算机程序,并且所述计算机程序产品还包括用于根据项目识别所述状态消息并且如果用户正从事所述项目则仅显示与活动有关的状态消息的计算机代码。所述状态消息可以落入多个类别中的一个类别中,包括:错误消息、警告消息、成功消息或者指令消息。错误消息指示所述应用程序中的错误已经出现,并且可以指示数据验证错误。消息功能区允许用户选择消息并在计算机代码中重定向。例如,用户可以被重定向至与当前呈现的图形用户接口不同的图形用户接口。与该消息相关联的该新图形用户接口将允许用户采取与该消息相关联的一个或更多个动作。另外,在用户选择消息功能区并且重定向时,可以向用户提供附加信息或单独计算机程序、脚本或插件模块。附加信息可以包括关于存在什么错误以及如何纠正错误的指示。
本发明的实施方式可以在单个计算机上操作或者可以在诸如客户端服务器环境的分布式环境中操作。在客户端服务器配置中,应用程序的一部分将由服务器提供给客户端装置,允许用户输入数据/信息并将其发送到服务器,其中,应用程序的其余部分是可操作的。另外,在这种配置中,服务器将有权访问一个或更多个项目,这些项目可能会被多个用户共享并同时通过工作流进行工作。
附图说明
结合附图,通过参照下面的详细描述将更容易理解实施方式的前述特征,其中:
图1示出了可以实现本发明的实施方式的示例性环境;
图2示出了复杂计算机程序中的示例性用户工作流;
图3A至图3C示出了示例性消息功能区,该消息功能区用于在工作流内向用户通知一个或更多个消息而不需要用户与消息进行交互,同时允许用户选择性地与消息交互并且在计算机程序内被重定向至该计算机程序内生成消息的位置;
图3A是工作流的示例性画面截图;
图3B是向用户呈现用于输入与订单有关的信息的图形用户接口的工作流的示例性画面截图;
图3C示出了在用户已经使用输入装置并且在消息功能区中选择了错误消息之后的图形用户接口的示例性画面截图;
图4示出了具有消息框并包括用于在不同消息类型之间进行选择的多个图形控制元素的示例性消息功能区;
图5示出了消息功能区与计算机程序(诸如复杂计算机程序)之间的逻辑信息流、以及实现该消息功能区所需的各个计算模块;
图5A示出了用于计算机程序和对应对象层次结构的示例性用户接口;
图6A示出了错误消息被堆叠的示例性消息功能区;
图7A至图7C示出了消息功能区的示例。
图7A示出了示例性消息功能区,其中,消息功能区包括用于不同消息类型的多个图标,其中,每个图标包括针对该类型消息的数量的计数器;
图7B示出了用户选择错误消息进行交互的示例性消息功能区;
图7C示出了将用户重定向至经确认电子邮件地址与最初输入的电子邮件地址不匹配的输入画面的消息功能区;
图8示出了来自计算机程序的示例性画面,其中,消息功能区已经根据图7C将用户重定向至与错误消息相关联的图形用户接口;以及
图9示出了基于由消息对象生成消息来向复杂计算机程序的多个用户分发消息的示例性计算机系统。
具体实施方式
定义。如本说明书和所附权利要求中所使用的,除非上下文另有要求,否则下列术语应具有所指示的含义:
“复杂计算机程序”是由多个用户使用的计算机程序,多个用户可以同时从事于数据集(例如,CAD图、计算机程序编码块、系统计划(施工文档)、VLSI(超大规模集成))以开发项目。
“工作流”是针对项目执行的活动模式,其通过将计算机资源系统性地组织到多个处理中来实现。项目由多个工作流组成,这些工作流产生成品,其中成品可由数据表示。例如,3D CAD图、一组数字蓝图、计算机软件程序等可能是由项目产生的产品。
“功能区”是图形地显示在正在执行的计算机程序内的工具栏或其它图形接口。与所显示的计算机程序相比,功能区驻留在画面的较小子集上。因此,在执行计算机程序的操作期间,功能区将占用显示器的一部分。
“图形控制元素”是定位在复杂计算机程序内的功能区上的位置处的图形图标,其提供与所接收消息有关的状态信息,并允许用户选择该图形控制元素,使该复杂计算机程序被重定向至该复杂计算机程序内的与生成状态消息相关联的新位置;
“类”是数据类型,并且在一些计算机语言中是接口的超集。
“接口”是计算机程序用来与许多相似类进行通信的方法,每个接口都具有不同语义。接口为访问许多类似行为的对象提供公共基础。一般而言,接口将具有至少一个抽象方法。
“合约”表示如何使用函数/类/接口,并且通常不能用任何语言完全表示。这是针对类或接口的隐含协议,诸如先决条件和后置条件。针对返回值或变元的规范也可以是合约的一部分。
“对象”是类类型的实例。
图2示出了可以实现本发明的实施方式的示例性环境。该环境包括实现复杂计算机程序的一个或更多个服务器210和连网计算机201A-F。服务器存储与一个或更多个项目有关的信息,并为用户工作流提供所组织的一组服务,以便利用复杂计算机程序实现项目的定义部分。系统的用户可以通过连网计算机201A-F登录至服务器210,输入帐户信息,并提供对该复杂计算机程序的一部分的访问以实现工作流。本发明的实施方式包括消息功能区,该消息功能区以不中断方式向复杂计算机程序的用户提供状态/消息,而不需要在一个或更多个用户的连网计算装置上停止该复杂计算机程序。消息功能区是复杂计算机程序的主要部分,而不是次要应用。消息功能区与复杂计算机程序之间的所有通信发生在消息堆栈内的复杂计算机程序内部。
消息功能区可以被设计成占用用于该计算机程序的显示画面的最小量,以允许用户继续该计算机程序内的工作流的操作,同时仍通知消息已被消息功能区发送和接收。尽管本发明可应用于具有不同用户的复杂计算机程序,但消息功能区可以被用在常规计算机程序中。例如,消息功能区可以与所呈现的网页一起使用,其中网页可以生成与数据验证相关联的错误消息(例如,用户输入dd/mm/yyyy,而正确数据格式是mm/dd/yyyy)。在这种情况下,会生成错误消息,并且消息功能区中的消息图标会通过添加至计数器来指示已收到错误消息,但不会阻止用户在表单的其它部分输入附加信息。然后,用户可以点击针对该错误消息的图标,并将其定向至针对该计算机程序的图形用户接口中的与该消息相关联的位置(即,定向至表单的正在填写的部分,指示插入了针对日期的错误格式)。可以向用户提供附加信息作为消息功能区计算机代码的一部分,该附加信息指示用户如何修复与该消息相关联的错误。
图3A至图3C示出了复杂计算机程序中的示例性用户工作流。在图3A中,呈现工作流的示例性画面截图。向用户呈现输入画面并且出现在装运详情标签310A上。用户在装运日期输入框300A中输入无效装运日期。在图3B中,用户已经选择了订单详情标签330B并且被呈现有该订单详情的图形用户接口。然后用户更新订单详情标签中的信息并使用输入装置选择保存335B。该应用在客户端装置上本地或者通过将保存的数据发送至服务器来检查装运日期,其中,通过日期检查算法传递数据。日期检查算法确定装运日期无效。生成错误消息并将该错误消息呈现在消息功能区340B上。装运日期未呈现在所呈现的图形用户接口上,并且从用户的角度来看隐藏在装运详情标签中。图3C示出了在用户已经使用输入装置并且在消息功能区中选择了错误消息之后的图形用户接口。该计算机程序被重定向至与生成错误消息相关联的图形用户接口,该接口是装运详情标签图形用户接口310A。然后用户可以通过用有效日期信息替换该日期信息来纠正该问题。计算机代码可以将输入的信息与实际日历数据进行比较,并且还可以将输入的信息与一系列标准进行比较。例如,装运日期可能绝对不会在星期天。甚至可以在图形用户接口内向用户呈现需要纠正350C的位置的突出显示或其它标记。另外,可以向用户提供关于生成消息的错误以及如何纠正错误的附加信息。在本发明的其它实施方式中,在选择消息功能区之后,另一计算机程序、插件(add-on)模块或脚本可以被发起,其可以关于所生成的消息帮助用户。
图4示出了用于在复杂计算机程序内的工作流内向用户通知一个或更多个消息而不需要用户与消息进行交互的示例性消息功能区400,同时允许用户选择性地与消息交互并且在计算机程序内被重定向至该计算机程序内的生成消息的位置。如图所示,消息功能区是提供包括消息计数器401的实时状态信息的工具栏。消息计数器允许将相同类型的消息堆叠在彼此之上,并且允许用户知道未被查看的特定类型的消息的数量。在图4中,存在用于由不同消息图标402表示的不同消息类型的三个消息计数器。而且,消息功能区包括用于呈现最新接收消息的文本空间。在某些实施方式中,当复杂计算机程序的用户与消息功能区交互并选择不同消息图标中的一个时,文本空间才变为活动的。该选择使消息功能区选择并显示最新的或最前面的消息(其中消息可以根据某一标准集进行排序)。
当消息由消息功能区计算机软件接收时,消息功能区将在接收到的消息类型图标上放置标记,以指示已经接收到该新消息并且与该消息相关联的文本可以被放置在消息文本部分403中。在某些实施方式中,消息功能区的消息文本部分可以保留为空,直到用户通过诸如光标的输入装置与消息功能区进行交互为止。用户可能被要求将光标悬停在希望消息类型上,以在要显示在消息功能区的消息文本部分403中的消息堆栈中显示该类型的最新消息。
消息功能区软件是可以添加至计算机程序中以使得向用户呈现不需要即时模态交互的消息的软件代码。因此,用户可以决定如何继续查看和寻址消息。如图5中更详细说明的,用户可以与消息功能区进行交互并且可以选择消息,并且可以使得在计算机代码内进行与在复杂计算机程序内生成消息的代码有关的图形用户输入。因此,用户可以被重定向至项目内可能存在潜在问题的地方。另外,消息功能区软件还可以将用户定向至与计算机程序相关联的其它计算机程序或软件模块,其可以帮助用户进行与消息相关联的动作。例如,如本领域普通技术人员将明白的那样,可以响应于用户选择与消息相关联的图形控制元素来发起“向导”程序,以引导用户识别错误并提供纠正该错误的帮助。同样可以发起其它模块或计算机程序。例如,可以执行电子邮件应用,以便允许用户与针对他们正在从事的项目的另一团队成员进行通信。在一个实施方式中,电子邮件应用可以自动关联导致产生错误消息的另一用户的地址,以使两位同事可以就该错误进行沟通并进行纠正。
图5示出了消息功能区计算机程序500与计算机程序510(诸如复杂计算机程序)之间的逻辑信息流、以及为实现该消息功能区所需的各个计算模块。在一些实施方式中,消息功能区计算机程序500可以是作为插件模块被添加至计算机程序510的计算机代码。消息功能区计算机程序包括计算模块,诸如表示消息功能区的各个方面的对象。如图5所示,虚线表示消息功能区计算机代码500与计算机程序510中的实现消息功能区程序的计算机代码之间的划分。
计算机程序的开发人员可以将生成消息对象(501)的一个或更多个实例的代码包括在计算机程序内。消息对象501可以向计算机程序的最终用户传送要提供并显示的不同类型的信息。消息功能区中提供的所有消息都是非模态消息。立即需要用户交互(模态消息)的错误消息不会成为消息功能区的一部分。该消息对象可以指示在执行计算机程序期间发生了非致命错误。其它消息类型可能包括警告消息、成功消息、信息性消息以及指导性消息。下面将更详细地讨论每个消息对象类型。
因为消息对象501由底层计算机程序生成,消息功能区计算机代码500接收每个消息对象501,并使用消息对象的内容向用户显示消息。每个消息对象包括UIElement属性502,计算机程序的开发人员可以将引用、指针或静态ID指配给UI(用户接口)对象层次结构509中的元素。消息对象可以提供一个或更多个变量和方法。UI对象层次结构509是表示用于计算机程序510的用户接口的数据结构。用户接口可以是单个图形用户接口或者可以具有用于计算机程序内的不同部分或事件的多个用户接口。包括一个或更多个图形用户接口的计算机程序的例子包括3D CAD应用、网页浏览器、软件开发工具、标准Windows OS UI、标准OSX Apple操作系统UI、或Linux UI。
计算机程序的开发人员利用MessageSource属性503将每个Message对象501指配给MessageRibbon对象507。MessageRibbon控件是用于一个或更多个Message对象的容器。在一个简单单屏用户接口应用中,只需要单个MessageRibbon控件。在更复杂的多屏应用中,多个MessageRibbon控件可以放置在各个窗口中。MessageSource属性503是将消息对象501递送给MessageRibbon控件507的属性。MessageSource 503属性用作双向通信信道(双向数据绑定)以中继对数据源与MessageRibbon控件507中的Message对象501之间的每个Message对象所作出的更改。这允许MessageRibbon507组织并向用户显示消息。MessageRibbon对象507提供接口类(INavigation)511,该接口类向开发人员提供他们可以用来编码理解如何导航UI对象层次结构509的Navigator类508的合约。MessageRibbon控件可以在具有与不同类型的数据结构相关联的消息的不同应用中使用。因为这种灵活性,MessageRibbon计算机代码500为开发人员提供了接口(合约)来实现。该合约包括MessageRibbon控件507用于导航到Message的源的一组属性和功能。例如,3D-CAD应用的开发人员可以使用MessageRibbon来显示彼此冲突的3D对象的警告消息。因为开发人员使用INavigation接口,所以MessageRibbon可以执行开发人员所提供的功能,并且在运行时,当用户在MessageRibbon图形显示器上选择该Message时,将用户自动导航至3D模型中的3D对象。MessageRibbon对象也可能导致发起计算机软件模块、脚本或单独计算机程序。
开发人员利用UINavigator属性505将对Navigator类508的引用指配给MessageRibbon对象507。利用Navigator类508与MessageRibbon 507之间的这种链接,MessageRibbon 507具有导航至UI对象层次结构509中的UI元素的能力。
当用户查看与UI对象层次结构509中的UTElement 502相关联的Message时,MessageRibbon 507将调用Navigator类508的NavigateTo()方法506,传递与该Message相关联的UIElement 502。Navigator类508将导航至适当UI元素并将其引入到用户的视野中以查看。因此,消息功能区提供了通过计算机程序导航至生成消息对象的计算机程序的用户接口的方式。
图5A在左侧示出用于计算机程序的示例性用户接口500A并且在右侧示出对应对象层次结构510A。用户接口500A由可以根据操作系统和平台而改变的对象层次结构510A来表示。在图5A所示的示例中,Navigator类遍历对象层次结构,直到找到ShipmentDateInput控件520A为止,并将该控件设定成无效状态。另外,Navigator类将键盘焦点设定成文本框530A。键盘焦点可以通过改变框的颜色或突出显示文本框来表示。
不同类型的消息包括:错误、警告成功、信息以及指示。如果出现错误消息,那么提供指示问题已经发生。错误消息可以被用于数据验证或服务器侧验证。如果数据被输入并且不是预定义格式,那么错误消息可以被生成并被呈现在计算机程序的消息功能区中。举例来说,用户可以将信息输入到表单中,诸如网页上,并且可以输入所请求的百分比而不使用小数位。错误消息将从计算机程序生成,并且与该错误消息关联的图标递增。类似地,当整个表单正被提交给服务器时,服务器侧验证可能产生错误消息,其中服务器指示表单内的信息不正确。
在一些复杂计算机程序中,数据验证可能太复杂,而无法在客户端装置上完成,因为用户正在与用户接口进行交互。在这种情况下,输入数据将被传递至服务器。数据然后可以经历复杂计算,并接着与希望输出值进行比较以验证该数据。服务器然后可以向显示图形用户接口的客户端装置发送确认,确认数据的有效性或者指示数据中存在错误。例如,用户可以在CAD/CAM计算机程序中验证3D模型中的管道的应力和压力水平。用户可以对3D模型进行改变并向计算机程序指示应当保存这些改变(例如,点击保存按钮)。这些数据可以被传递至中央服务器,在那里执行复杂计算和模拟以确定应力和压力水平。可以将公差与管道相关联,并且如果压力水平被超过,则错误消息可以被生成并被发送至客户端装置的图形用户接口。该错误消息将被传递至消息功能区,并且消息功能区将指示存在需要纠正的错误。
每个消息都有其自己的图标,并且可以具有与该图标相关联的识别颜色。如图6A所示,错误消息可以堆叠。其中,在选择错误消息图标601时,这表明6条错误消息位于消息功能区的队列中,并因此被堆叠。针对每个错误消息的错误消息文本在选择时被呈现在文本框603中。在图6A中,呈现了6个单独文本框,并且用户可以选择错误消息中的一个。消息功能区将计算机程序重定向至与生成错误消息相关联的图形用户接口。然后用户可以纠正该错误并解除(dismiss)消息功能区中的该错误消息。如图6B所示,消息功能区现在指示仅有5条错误消息,并且在文本框604中不呈现文本。
图7A至图7C示出了消息功能区的示例。在图7A中,消息功能区包括用于不同消息类型的多个图标,其中每个图标包括针对该类型消息的数量的计数器。当用户通过利用画面上光标和输入装置点击错误消息图标来选择错误消息图标701时,向用户呈现尚未被解除的当前活动错误消息。然后用户可以选择错误消息来与之交互,如图7B所示。用户再次将光标置于希望错误消息上并利用输入装置进行单击。消息功能区通过UINavigator与计算机程序和用户接口层次结构进行交互,将用户接口重定向至计算机程序内的与错误消息相关联的位置。如图7C所示,消息功能区将用户重定向至经确认电子邮件地址与最初输入的电子邮件地址不匹配的输入画面(即,计算机程序内的生成错误信息的点)。除了重定向以外,消息功能区还可以提供文本框,该功能框提供有关错误类型以及可以如何纠正该错误的信息。本领域普通技术人员应当认识到,计算机程序的开发人员可以确定用户将被重定向至计算机程序的图形用户接口中的何处。另外,利用消息功能区计算机编程代码的计算机程序的开发人员除了使重定向至与错误消息的生成或源相关联的图形用户接口之外,还可以使针对该计算机程序的其它程序(例如,电子邮件程序)、脚本或插件计算机软件模块被执行。因此,如果在与图形用户接口的第二画面相关联的对象中生成错误消息,那么消息功能区应用可以基于适当和最佳实践将用户定向至图形用户接口的第一画面。本领域普通技术人员应当明白,开发人员在使用消息功能区计算机编程代码时,可以确定在计算机代码内用户将被重定到何处,而不仅仅限于将用户重定向至计算机代码内或计算机程序的图形用户接口内的生成该消息的位置。
图9示出了基于由消息对象生成消息来向复杂计算机程序的多个用户分发消息的示例性计算机系统。在图9中,用户910正在客户端装置920上操作并访问复杂3D图形程序和共享3D模型的工作流项目。用户910在客户端装置920上对共享3D模型进行改变。例如,用户910可以将数据输入到指示参数应当从2m增加至2.5m的表单。将用户910做出的改变从客户端装置920发送至应用服务器930以进行验证。应用服务器930验证用户的改变,这导致产生错误(例如,新输入的/改变的参数超过公差或者值高于或低于阈值)。然后将该错误消息分发给连接至应用服务器930的所有用户,这些用户正主动从事于该共享3D模型。在第二用户950的客户端装置940处,该错误消息被呈现在消息功能区中。第二个用户可以选择消息功能区中的消息,并且客户端装置上的计算机程序将被重定向至与错误相关的图形用户输入画面。如图9所示,第二用户被定向至3D模型,并且突出显示其参数从2m改变成2.5m的管道,指示存在与管道相关联的错误。应该认识到,第二用户可能会选择继续从事于该3D模型而无需查看错误消息,因为该错误消息是非致命错误消息。因此,用户可以控制何时以及用户是否将查看错误消息。
图8示出了来自计算机程序的示例性画面,其中消息功能区已经根据图7C将用户重定向至与错误消息相关联的图形用户接口。在该示例中,弹出的消息包括由最终用户通过拖动弹出窗口改变其布局的属性。在该示例中,弹出窗口已经被拖动至远离反映错误的输入区域(即,电子邮件输入和确认窗口)的画面右侧。假若弹出消息被生成为消息功能区计算机代码的一部分,用户可能会循环通过错误并在计算机程序中被重定向。如图8所示,用户可以选择“<”来移动至当前错误之前的错误,并且用户将被重定向至计算机程序的与先前错误相关联的图形用户接口。类似地,用户可以选择“>”来移动至堆叠消息列表内的下一个错误消息。一般来说,消息将根据消息功能区接收消息的时间被堆叠。在其它实施方式中,堆栈中的消息的排序可以基于某一其它标准或变量。例如,错误消息可能具有关联优先级编号,并因此,具有较高优先级编号的错误消息将被放置在堆栈顶部。在另一示例中,在复杂计算机程序中,用户可以被组合在一起作为一个团队,并且作为团队中的另一成员的结果产生的消息可以被赋予更高优先级并且相应地被放置在堆栈中。
警告消息警告用户将来可能会导致问题的情况。警告消息使用户意识到状况或潜在问题,但用户不需要立即解决潜在问题。例如,3D-CAD应用中可能会出现警告消息,该应用会动态地计算如添加至3D模型的管道的应力和压力。该应用可能产生关于模拟应力和压力的警告,这些警告可能或可能不是正确的和超出阈值水平。然后,该警告消息被分发并填充到正与该应用交互的每个用户的消息功能区上。然后,由用户/工程师来评估警告并确定是否应该采取行动或者警告是否可以忽略。
信息消息仅仅是传达与用户当前活动、工作流或组有关的相关信息的事实陈述。在本发明的一个实施方式中,消息功能区包含信息图标,并且在接收到信息消息时,将该信息消息被自动显示在与消息功能区相关联的文本框中。用户可以通过选择诸如传统“X”图标的解除图标来解除该信息消息。成功消息传递关于在复杂计算机程序的计算机程序内成功完成的动作或条件的信息。例如,成功消息可以通知用户他们的工作已经成功保存。(“你的文档,SalesResults2015已成功保存”)。另一个类型的消息是指令消息。该指令消息与用户的当前工作流相关联。指令性消息协助并引导用户通过任务中的一个或更多个步骤。该消息将出现在消息功能区的文本部分中。这种类型的消息只有在用户完成呈现该指示的任务后才能被解除。因此,该消息基于任务完成而被自动解除,并且不需要任何用户交互来解除来自消息功能区的指令性消息。
在本发明的一个实施方式中,堆叠某些消息类型不发生,使得只有该类型的当前消息。信息性、成功、以及指令性消息通常可以限于单个消息,其中消息将被解除并且被更多当前接收到的特定消息类型的消息(即,信息性、成功或指示性)取代。
还应注意到,逻辑流程可以在这里被描述以展示本发明的各个方面,并且不应被解释为将本发明限于任何特定逻辑流程或逻辑实现。所描述的逻辑可以被划分成不同逻辑块(例如,程序、模块、功能或子例程),而不改变整体结果或另外脱离本发明的真实范围。通常,逻辑元素可以被添加、修改、省略、以不同次序执行,或者利用不同逻辑构造(例如,逻辑门、循环基元、条件逻辑以及其它逻辑构造)来实现,而不改变整体结果或另外脱离本发明的真实范围。
本发明可以按许多不同形式来具体实现,包括但决不限于:用于与处理器(例如,微处理器、微控制器、数字信号处理器或通用计算机)一起使用的计算机程序逻辑、用于与可编程逻辑器件(例如,现场可编程门阵列(FPGA)或其它PLD)一起使用的可编程逻辑、离散组件、集成电路(例如,专用集成电路(ASIC))、或者包括其任何组合的任何其它装置。实现所述功能中的一些或全部的计算机程序逻辑通常被实现为转换成计算机可执行形式的计算机程序指令集,其本身被存储在计算机可读介质中,并且在操作系统的控制下通过微处理器来执行。实现所述功能中一些或全部的基于硬件的逻辑可以使用一个或更多个适当配置的FPGA来实现。
实现本文先前所述功能中的全部或部分的计算机程序逻辑可以按各种形式来具体实现,包括但决不限于:源代码形式、计算机可执行形式、以及各种中间形式(例如,由汇编程序、编译器、链接器或定位器生成的形式)。源代码可以包括以用于与各种操作系统或操作环境一起使用的各种编程语言(例如,对象代码、汇编语言、或诸如Fortran、C、C++、JAVA、或HTML的高级语言)中的任一种实现的一系列计算机程序指令。该源代码可以定义和使用各种数据结构和通信消息。该源代码可以采用计算机可执行形式(例如,经由解释器)或者该源代码可以被转换成(例如,经由翻译器、汇编器或编译器)计算机可执行形式。
实现本文先前所述功能中的全部或部分的计算机程序逻辑可以按不同时间在单个处理器上执行(例如,并发地),或者可以按相同或不同时间在多个处理器上执行,并且可以在单个操作系统处理/线程下或者在不同操作系统处理/线程下运行。因此,术语“计算机处理”总体上指执行一组计算机程序指令,而不管是否在相同还是不同处理器上执行不同的计算机处理,并且不管不同计算机处理是否在相同操作系统处理/线程还是不同操作系统处理/线程下运行。
该计算机程序可以为任何形式(例如,源代码形式、计算机可执行形式或中间形式)永久性地或者暂时性地固定在有形存储介质中,诸如半导体存储器装置(例如,RAM、ROM、PROM、EEPROM或闪速可编程RAM)、磁存储器装置(例如,磁盘或固定盘)、光学存储器装置(例如,CD-ROM)、PC卡(例如,PCMIA卡)、或其它存储器装置。计算机程序可以以任何形式固定在可利用各种通信技术中的任一种传送至计算机的信号中,包括但决不限于:模拟技术、数字技术、光学技术、无线技术(例如,蓝牙)、连网技术以及网际互连技术。该计算机程序可以按任何形式分布为具有附随打印或电子文档(例如,收缩包装软件)的可去除存储介质,利用计算机系统预先加载(例如,预先加载在系统ROM或固定盘上),或者通过通信系统(例如,互联网或万维网)从服务器或电子公告板分发。
实现本文先前所述功能的全部或部分的硬件逻辑(包括用于与可编程逻辑装置一起使用的可编程逻辑)可以利用传统手工方法来设计,或者可以利用各种工具(诸如计算机辅助设计(CAD)、硬件描述语言(例如,VHDL或AHDL)或PLD编程语言(例如,PALASM、ABEL,或CUPL))电子地设计、捕捉、仿真或文档化。
可编程逻辑可以永久性地或者暂时性地固定在有形存储介质中,诸如半导体存储器装置(例如,RAM、ROM、PROM、EEPROM或闪速可编程RAM)、磁存储器装置(例如,磁盘或固定盘)、光学存储器装置(例如,CD-ROM)、或其它存储器装置。该可编程逻辑可以固定在可利用各种通信技术中的任一种传送至计算机的信号中,包括但决不限于:模拟技术、数字技术、光学技术、无线技术(例如,蓝牙)、连网技术、以及网际互连技术。可编程逻辑可以分发为具有附随打印或电子文档(例如,收缩包装软件)的可去除存储介质,利用计算机系统预先加载(例如,预先加载在系统ROM或固定盘上),或者通过通信系统(例如,互联网或万维网)从服务器或电子公告板分发。当然,本发明的一些实施方式可以被实现为软件(例如,计算机程序产品)和硬件的组合。本发明的另一些实施方式被全部实现为硬件,或全部实现为软件。
重要的是,应注意到,本发明的实施方式可以采用常规组件,诸如常规计算机(例如,现成的PC、大型机、微处理器)、常规可编程逻辑器件(例如,现成的FPGA或PLD)、或者常规硬件组件(例如,现成的ASIC或离散硬件组件),其在被编程或配置成执行本文所述非常规方法时,生成非常规装置或系统。因此,这里描述的发明没有任何常规性,因为即使利用常规组件来实现实施方式,所得到的装置和系统(例如,在此描述的卡处理装置、图像捕获装置、以及后端处理系统)必然是非常规的,因为缺少特殊编程或配置,常规组件无法固有地执行所描述的非常规方法。
上述本发明的实施方式仅仅是示例性的,许多变型例和修改例对于本领域技术人员将是明显的。所有这种变型例和修改例都在如任何所附权利要求中限定的本发明的范围内。
权利要求书(按照条约第19条的修改)
1.一种具有非暂时性计算机可读介质的计算机程序产品,所述非暂时性计算机可读介质上具有用于与计算机处理器一起使用的计算机代码,所述计算机代码用于生成非模态图形用户控制元素作为在应用程序内使用的功能区的一部分,以提供关于所述应用程序的实时状态信息,所述计算机代码包括:
用于在图形地显示在所述应用程序内的功能区上生成所述非模态图形用户控制元素的计算机代码;
用于从所述应用程序接收预定义类别的状态消息并且实时地在处于与所述预定义类别相关联的位置处的所述非模态图形用户控制元素上可视地放置所述状态消息的计算机代码;
用于接收与所述状态消息相关联的应用特有计算机代码位置信息的计算机代码;以及
响应于用户选择处于针对所述预定义类别的所述位置处的所述非模态图形用户控制元素使所述应用程序切换成被重定向至与所述应用特有计算机代码位置信息相关联的代码的计算机代码,其中,所述计算机代码位置信息涉及关于生成所述状态消息的计算机代码的图形用户输入。
2.根据权利要求1所述的计算机程序产品,其中,所述应用特有位置信息能够是所述应用程序内的生成所述状态消息的对象的识别。
3.根据权利要求1所述的计算机程序产品,其中,使所述应用程序切换到与所述应用特有位置信息相关联的代码使得呈现与应用特有位置信息相关联的图形用户接口。
4.根据权利要求1所述的计算机程序产品,其中,所述应用特有位置信息能够是与所述应用程序内的多个图形用户接口中的一个图形用户接口相关联的参数的识别。
5.根据权利要求1所述的计算机程序产品,所述计算机程序产品还包括:
用于在所述应用程序内生成针对第二预定义类别的第二非模态图形用户控制元素的计算机代码,其中,所述第一非模态图形用户控制元素和所述第二非模态图形用户控制元素形成功能区。
6.根据权利要求1所述的计算机程序产品,其中,所述实时状态信息指示所述应用程序内的错误或警告,但不停止执行所述应用程序。
7.根据权利要求1所述的计算机程序产品,其中,当接收到预定义类别内的第二实时状态消息时,将新图形用户控制元素可视地堆叠呈现在所述预定义类别内的第一实时状态消息上。
8.根据权利要求6所述的计算机程序产品,所述计算机程序产品还包括:
响应于用户交互用于在所述预定义类别内的堆叠状态消息之间移动的计算机代码。
9.根据权利要求1所述的计算机程序产品,其中,所述状态消息在预定义时段之后从所述非模态图形用户控制元素中被去除。
10.根据权利要求1所述的计算机程序产品,其中,在所述应用中出现事件之后,所述状态消息从所述非模态图形用户控制元素中被去除。
11.根据权利要求1所述的计算机程序产品,其中,所述应用是具有多个项目的复杂计算机程序,每个项目都与项目数据相关联,并且所述计算机程序产品还包括用于根据项目识别所述状态消息并且如果用户正从事所述项目则仅显示状态消息的计算机代码。
12.根据权利要求1所述的计算机程序产品,其中,所述状态消息的类别是错误消息、警告消息、成功消息、或者指令消息。
13.根据权利要求1所述的计算机程序产品,其中,所述状态消息是指示所述应用程序中的错误已经出现的错误消息。
14.根据权利要求10所述的计算机程序产品,其中,所述错误消息指示数据验证错误。
15.一种计算机实现方法,所述计算机实现方法用于生成非模态图形用户控制元素作为在应用程序内使用的功能区的一部分,以按客户端服务器架构提供关于所述应用程序的实时状态信息,所述方法包括以下步骤:
在客户端装置上接收用于操作存储在服务器处的具有项目数据的应用程序的计算机代码;
在客户端装置上生成图形地显示在所述客户端装置上的所述应用程序内的功能区上的所述非模态图形用户控制元素;
在所述客户端装置处从在所述服务器上操作的所述应用程序接收预定义类别的状态消息并且实时地在处于与所述预定义类别相关联的位置处的所述非模态图形用户控制元素上可视地放置所述状态消息;
接收与所述状态消息相关联的应用特有计算机代码位置信息;
响应于用户选择处于针对所述预定义类别的所述位置处的所述非模态图形用户控制元素,使所述应用程序切换成被重定向至与所述应用特有计算机代码位置信息相关联的代码,其中,所述计算机代码位置信息涉及关于生成所述状态信息的计算机代码的图形用户输入。
16.根据权利要求15所述的计算机实现方法,其中,所述应用特有位置信息能够是所述应用程序内的生成所述状态消息的对象的识别。
17.根据权利要求15所述的计算机实现方法,其中,使所述应用程序切换到与所述应用特有位置信息相关联的代码使得在所述客户端装置上呈现与应用特有位置信息相关联的图形用户接口。
18.根据权利要求15所述的计算机实现方法,其中,所述应用特有位置信息能够是与所述应用程序内的多个图形用户接口中的一个图形用户接口相关联的参数的识别,并且其中,所述位置信息确定所述图形用户接口中的所述一个图形用户接口向所述客户端装置发送。
19.根据权利要求15所述的计算机实现方法,所述计算机实现方法还包括:
在所述客户端装置上生成在所述应用程序内的针对第二预定义类别的第二非模态图形用户控制元素,其中,所述第一非模态图形用户控制元素和所述第二非模态图形用户控制元素形成功能区。
20.根据权利要求15所述的计算机实现方法,其中,所述实时状态信息指示所述应用程序内的错误或警告,但不停止在所述客户端装置上执行所述应用程序。
21.根据权利要求15所述的计算机实现方法,其中,当接收到预定义类别内的第二实时状态消息时,在所述客户端装置上将新图形用户控制元素可视地堆叠呈现在所述预定义类别内的第一实时状态消息上。
22.根据权利要求21所述的计算机实现方法,所述计算机实现方法还包括:
响应于用户交互,在所述预定义类别内的堆叠状态消息之间选择,以使所选堆叠状态消息呈现在所述客户端装置上的所述图形用户接口上。
23.根据权利要求15所述的计算机实现方法,所述计算机实现方法还包括:在所述应用中出现事件之后,从所述非模态图形用户控制元素中去除消息。
说明或声明(按照条约第19条的修改)
原始权利要求1和15被修改为表明所阐述的位置信息是“计算机代码”位置信息。另外,权利要求被修改以澄清“所述计算机代码位置信息涉及关于生成所述状态消息的计算机代码的图形用户输入”。这些修改被反映在所附权利要求列表中。

Claims (23)

1.一种具有非暂时性计算机可读介质的计算机程序产品,所述非暂时性计算机可读介质上具有用于与计算机处理器一起使用的计算机代码,所述计算机代码用于生成非模态图形用户控制元素作为在应用程序内使用的功能区的一部分,以提供关于所述应用程序的实时状态信息,所述计算机代码包括:
用于在图形地显示在所述应用程序内的功能区上生成所述非模态图形用户控制元素的计算机代码;
用于从所述应用程序接收预定义类别的状态消息并且实时地在处于与所述预定义类别相关联的位置处的所述非模态图形用户控制元素上可视地放置所述状态消息的计算机代码;
用于接收与所述状态消息相关联的应用特有位置信息的计算机代码;以及
响应于用户选择处于针对所述预定义类别的所述位置处的所述非模态图形用户控制元素使所述应用程序切换成与所述应用特有位置信息相关联的代码的计算机代码。
2.根据权利要求1所述的计算机程序产品,其中,所述应用特有位置信息能够是所述应用程序内的生成所述状态消息的对象的识别。
3.根据权利要求1所述的计算机程序产品,其中,使所述应用程序切换到与所述应用特有位置信息相关联的代码使得呈现与应用特有位置信息相关联的图形用户接口。
4.根据权利要求1所述的计算机程序产品,其中,所述应用特有位置信息能够是与所述应用程序内的多个图形用户接口中的一个图形用户接口相关联的参数的识别。
5.根据权利要求1所述的计算机程序产品,所述计算机程序产品还包括:
用于在所述应用程序内生成针对第二预定义类别的第二非模态图形用户控制元素的计算机代码,其中,所述第一非模态图形用户控制元素和所述第二非模态图形用户控制元素形成功能区。
6.根据权利要求1所述的计算机程序产品,其中,所述实时状态信息指示所述应用程序内的错误或警告,但不停止执行所述应用程序。
7.根据权利要求1所述的计算机程序产品,其中,当接收到预定义类别内的第二实时状态消息时,将新图形用户控制元素可视地堆叠呈现在所述预定义类别内的第一实时状态消息上。
8.根据权利要求6所述的计算机程序产品,所述计算机程序产品还包括:
响应于用户交互用于在所述预定义类别内的堆叠状态消息之间移动的计算机代码。
9.根据权利要求1所述的计算机程序产品,其中,所述状态消息在预定义时段之后从所述非模态图形用户控制元素中被去除。
10.根据权利要求1所述的计算机程序产品,其中,在所述应用中出现事件之后,所述状态消息从所述非模态图形用户控制元素中被去除。
11.根据权利要求1所述的计算机程序产品,其中,所述应用是具有多个项目的复杂计算机程序,每个项目都与项目数据相关联,并且所述计算机程序产品还包括用于根据项目识别所述状态消息并且如果用户正从事所述项目则仅显示状态消息的计算机代码。
12.根据权利要求1所述的计算机程序产品,其中,所述状态消息的类别是错误消息、警告消息、成功消息、或者指令消息。
13.根据权利要求1所述的计算机程序产品,其中,所述状态消息是指示所述应用程序中的错误已经出现的错误消息。
14.根据权利要求10所述的计算机程序产品,其中,所述错误消息指示数据验证错误。
15.一种计算机实现方法,所述计算机实现方法用于生成非模态图形用户控制元素作为在应用程序内使用的功能区的一部分,以按客户端服务器架构提供关于所述应用程序的实时状态信息,所述方法包括以下步骤:
在客户端装置上接收用于操作存储在服务器处的具有项目数据的应用程序的计算机代码;
在客户端装置上生成图形地显示在所述客户端装置上的所述应用程序内的功能区上的所述非模态图形用户控制元素;
在所述客户端装置处从在所述服务器上操作的所述应用程序接收预定义类别的状态消息并且实时地在处于与所述预定义类别相关联的位置处的所述非模态图形用户控制元素上可视地放置所述状态消息;
接收与所述状态消息相关联的应用特有位置信息;
响应于用户选择处于针对所述预定义类别的所述位置处的所述非模态图形用户控制元素,使所述应用程序切换成与所述应用特有位置信息相关联的代码。
16.根据权利要求15所述的计算机实现方法,其中,所述应用特有位置信息能够是所述应用程序内的生成所述状态消息的对象的识别。
17.根据权利要求15所述的计算机实现方法,其中,使所述应用程序切换到与所述应用特有位置信息相关联的代码使得在所述客户端装置上呈现与应用特有位置信息相关联的图形用户接口。
18.根据权利要求15所述的计算机实现方法,其中,所述应用特有位置信息能够是与所述应用程序内的多个图形用户接口中的一个图形用户接口相关联的参数的识别,并且其中,所述位置信息确定所述图形用户接口中的所述一个图形用户接口向所述客户端装置发送。
19.根据权利要求15所述的计算机实现方法,所述计算机实现方法还包括:
在所述客户端装置上生成在所述应用程序内的针对第二预定义类别的第二非模态图形用户控制元素,其中,所述第一非模态图形用户控制元素和所述第二非模态图形用户控制元素形成功能区。
20.根据权利要求15所述的计算机实现方法,其中,所述实时状态信息指示所述应用程序内的错误或警告,但不停止在所述客户端装置上执行所述应用程序。
21.根据权利要求15所述的计算机实现方法,其中,当接收到预定义类别内的第二实时状态消息时,在所述客户端装置上将新图形用户控制元素可视地堆叠呈现在所述预定义类别内的第一实时状态消息上。
22.根据权利要求21所述的计算机实现方法,所述计算机实现方法还包括:
响应于用户交互,在所述预定义类别内的堆叠状态消息之间选择,以使所选堆叠状态消息呈现在所述客户端装置上的所述图形用户接口上。
23.根据权利要求15所述的计算机实现方法,所述计算机实现方法还包括:在所述应用中出现事件之后,从所述非模态图形用户控制元素中去除消息。
CN201680056576.7A 2015-09-29 2016-06-30 计算机程序产品和计算机实现方法 Active CN108139949B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/869,488 US10324607B2 (en) 2015-09-29 2015-09-29 Message ribbon user interface for presenting real-time information and allowing user-selected redirection within a computer program
US14/869,488 2015-09-29
PCT/US2016/040439 WO2017058324A1 (en) 2015-09-29 2016-06-30 Message ribbon user interface for presenting real-time information and allowing user-selected redirection within a computer program

Publications (2)

Publication Number Publication Date
CN108139949A true CN108139949A (zh) 2018-06-08
CN108139949B CN108139949B (zh) 2022-03-08

Family

ID=56413899

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680056576.7A Active CN108139949B (zh) 2015-09-29 2016-06-30 计算机程序产品和计算机实现方法

Country Status (5)

Country Link
US (1) US10324607B2 (zh)
EP (1) EP3356940B1 (zh)
KR (1) KR102364396B1 (zh)
CN (1) CN108139949B (zh)
WO (1) WO2017058324A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10114519B2 (en) * 2016-05-03 2018-10-30 Microsoft Technology Licensing, Llc Contextual content presentation based on microenvironment interactions
USD841673S1 (en) * 2017-01-06 2019-02-26 Honda Motor Co., Ltd. Display screen with graphical user interface
US10678406B1 (en) * 2018-02-05 2020-06-09 Botsociety, Inc. Conversational user interface design
CN111694626A (zh) * 2019-03-15 2020-09-22 Oppo广东移动通信有限公司 应用跳转方法、装置、终端及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010011995A1 (en) * 1998-09-14 2001-08-09 Kenneth Hinckley Method for providing feedback responsive to sensing a physical presence proximate to a control of an electronic device
US20020051017A1 (en) * 2000-07-13 2002-05-02 Clayton Wishoff Notification device for a graphical user environment
CN1513154A (zh) * 2001-06-07 2004-07-14 �ʼҷ����ֵ������޹�˾ 允许根据新信息的到达再考虑一个医学学习的系统
US20070192689A1 (en) * 2005-12-30 2007-08-16 Johnson Clare C User interface messaging system and method permitting deferral of message resolution
CN101034350A (zh) * 2007-04-17 2007-09-12 珠海金山软件股份有限公司 一种快速查找计算机程序功能入口的装置和方法
US20070220590A1 (en) * 2006-02-23 2007-09-20 Microsoft Corporation Non-intrusive background synchronization when authentication is required
US20070264956A1 (en) * 2006-05-12 2007-11-15 Sandra Bicker System Events and Messages in a Computing System
CN102314347A (zh) * 2010-09-08 2012-01-11 微软公司 通知栏用户界面控件
US20120084707A1 (en) * 2010-09-30 2012-04-05 Research In Motion Limited System and method for controlling event notifications
US20120204191A1 (en) * 2011-02-07 2012-08-09 Megan Shia System and method for providing notifications on a mobile computing device

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5617526A (en) 1994-12-13 1997-04-01 Microsoft Corporation Operating system provided notification area for displaying visual notifications from application programs
US5673404A (en) * 1995-12-20 1997-09-30 At&T Global Information Solutions Company End-user customizable feedback display for windowed applications
AU2001236474A1 (en) * 2000-01-21 2001-07-31 Ibrite, Inc. Unique architecture for handheld computers
US7743340B2 (en) 2000-03-16 2010-06-22 Microsoft Corporation Positioning and rendering notification heralds based on user's focus of attention and activity
US7024626B2 (en) 2001-11-30 2006-04-04 Apple Computer, Inc. System and method of producing user interface information messages
KR101716401B1 (ko) * 2008-01-30 2017-03-14 구글 인코포레이티드 모바일 디바이스 이벤트의 통지

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010011995A1 (en) * 1998-09-14 2001-08-09 Kenneth Hinckley Method for providing feedback responsive to sensing a physical presence proximate to a control of an electronic device
US20020051017A1 (en) * 2000-07-13 2002-05-02 Clayton Wishoff Notification device for a graphical user environment
CN1513154A (zh) * 2001-06-07 2004-07-14 �ʼҷ����ֵ������޹�˾ 允许根据新信息的到达再考虑一个医学学习的系统
US20070192689A1 (en) * 2005-12-30 2007-08-16 Johnson Clare C User interface messaging system and method permitting deferral of message resolution
US20070220590A1 (en) * 2006-02-23 2007-09-20 Microsoft Corporation Non-intrusive background synchronization when authentication is required
US20070264956A1 (en) * 2006-05-12 2007-11-15 Sandra Bicker System Events and Messages in a Computing System
CN101034350A (zh) * 2007-04-17 2007-09-12 珠海金山软件股份有限公司 一种快速查找计算机程序功能入口的装置和方法
CN102314347A (zh) * 2010-09-08 2012-01-11 微软公司 通知栏用户界面控件
US20120084707A1 (en) * 2010-09-30 2012-04-05 Research In Motion Limited System and method for controlling event notifications
US20120204191A1 (en) * 2011-02-07 2012-08-09 Megan Shia System and method for providing notifications on a mobile computing device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
高秀慧等: "基于事件交互图的算法与研究", 《计算机工程》 *

Also Published As

Publication number Publication date
CN108139949B (zh) 2022-03-08
KR102364396B1 (ko) 2022-02-17
EP3356940B1 (en) 2022-02-23
US10324607B2 (en) 2019-06-18
US20170090737A1 (en) 2017-03-30
WO2017058324A1 (en) 2017-04-06
KR20180061186A (ko) 2018-06-07
EP3356940A1 (en) 2018-08-08

Similar Documents

Publication Publication Date Title
US10001975B2 (en) Integrated system for software application development
CN108139949A (zh) 用于在计算机程序内呈现实时信息并允许用户选择重定向的消息功能区用户接口
US9064220B2 (en) Linear visualization for overview, status display, and navigation along business scenario instances
CN112579226A (zh) 用户界面逻辑视图和执行视图导航和转换
US20060015478A1 (en) Context and action-based application design
US20060015479A1 (en) Contextual navigation and action stacking
Beaverstock et al. Applied simulation
WO2013055521A1 (en) Drawing automation in computer aided design systems
US8448143B2 (en) System and method for message choreographies of services
CN104881231A (zh) 用于流程模拟器中的流连接的触摸手势
Raneburger et al. Strategies for automated GUI tailoring for multiple devices
Guerrero-García Evolutionary design of user interfaces for workflow information systems
EP3839846A1 (en) Service cost calculation device, method, and program
Navarre et al. A Formal Description Technique for the Behavioural Description of Interactive Applications Compliant with ARINC 661 Specification
CN109189370B (zh) 软件组件的生成方法、装置、设备及计算机可读存储介质
Raneburger et al. Automated WIMP-UI behavior generation: Parallelism and granularity of communication units
KR101156132B1 (ko) 항공기의 임무데이터 생성 장치 및 방법
CN111176631B (zh) 一种基于Unity的交互系统和交互方法
Raneburger et al. A case study in automated GUI generation for multiple devices
JP7285584B2 (ja) 画面共有時における同一性を共有者に検知させるシステムと入力された回答欄に関する情報を共有者に検知させるシステム
Wirfs-Brock et al. The art of writing use cases
JP7002164B1 (ja) 画面共有時における同一性を共有者に検知させるシステムと入力された回答欄に関する情報を共有者に検知させるシステム
EP4345602A1 (en) Presentation design to automation device binding
Mammar et al. An event-b-based approach to model and verify behaviors for component-based applications
Park et al. The Blanket Application Model of Reference Information for Effective Manufacturing Execution System Management

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant