CN1661553A - 交互式无线应用程序***和方法 - Google Patents

交互式无线应用程序***和方法 Download PDF

Info

Publication number
CN1661553A
CN1661553A CN2005100524489A CN200510052448A CN1661553A CN 1661553 A CN1661553 A CN 1661553A CN 2005100524489 A CN2005100524489 A CN 2005100524489A CN 200510052448 A CN200510052448 A CN 200510052448A CN 1661553 A CN1661553 A CN 1661553A
Authority
CN
China
Prior art keywords
screen
control
condition
user interface
application program
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
CN2005100524489A
Other languages
English (en)
Other versions
CN100437478C (zh
Inventor
布莱恩·R·戈林
迈克尔·申菲尔德
卡门·B·维塔诺夫
菲拉·比布尔
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.)
BlackBerry Ltd
Original Assignee
Research in Motion Ltd
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 Research in Motion Ltd filed Critical Research in Motion Ltd
Publication of CN1661553A publication Critical patent/CN1661553A/zh
Application granted granted Critical
Publication of CN100437478C publication Critical patent/CN100437478C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/40Circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Abstract

将无线应用程序GUI描述为原子屏幕组件的集合。通过如XML、HTML或XHTML等结构语言来定义应用程序屏幕并将其表达为内嵌布局和UI控制的集合。通过使用提供用于屏幕表示、管理和用户交互的服务集合的智能设备运行时刻框架,便于这些可视组件的表示。指定屏幕组件提供了交互和动态UI,并用于将一些用户接口管理分配给智能设备运行时刻框架。所述屏幕组件利用无线应用程序定义中的条件控制。条件控制是通过满足特定条件来确定其外观或行为的动态屏幕元素。条件控制包括所谓的驱动(主要)和从属(辅助)控制,用于修改应用程序运行时刻屏幕行为。

Description

交互式无线应用程序***和方法
技术领域
本申请涉及应用程序在无线设备的用户接口上的表示。
背景技术
今天,所使用的终端设备的数量持续增加,如移动电话、具有无线通信能力的PDA和双向寻呼机等。运行在这些设备上的软件应用程序增加了其功能性。例如,移动电话可以包括检索城市范围的天气的应用程序,或者PDA可以包括允许用户购买杂货的应用程序。这些软件应用程序利用对网络的连接性,以便向用户提供及时有用的服务。但是,由于一些设备的受限资源,以及向设备传递大量数据的复杂性,开发针对多种设备的软件应用程序仍然是困难而耗时的任务。
目前,将设备配置为通过基于因特网的浏览器和/或本地应用程序与网络服务进行通信。本地应用程序具有针对设备平台的类型专门研发的优点,从而针对每次运行时刻的环境,提供了相对优化的应用程序。但是,本地应用程序具有以下缺点:非平台无关,必需开发相同应用程序的多个版本,以及尺寸相对较大,从而给设备的存储器资源造成了严重的负担。此外,应用程序开发商需要使用如Java和C++等编程语言的经验,以便构建这些硬编码本地应用程序。存在对能够运行在客户端设备上的应用程序的需要,其具有各种运行时刻环境,以及具有对设备资源的减少的消耗。
需要在定义用于管理无线设备的用户接口(UI)上的应用程序表示的无线应用程序的组件屏幕时,提供最大的灵活度。其他需要包括:向无线应用程序的用户和开发者提供信息的有效表示,提供交互和动态UI,以及将大多数用户接口管理分配给智能设备运行时刻(Device Runtime)。在设计针对无线应用程序的屏幕时所遇到的典型场景在于:一个控制的外观或值可能会受到屏幕内的另一控制的影响。提供该特征允许对具有丰富功能的更为复杂的屏幕的定义,然而还可能会增加复杂度,并因而增加应用程序对无线设备的存储需求。
这里所公开的***和方法提供了一种条件控制环境,以排除或消除上述缺点中的至少一些。
发明内容
在无线应用程序的设计屏幕中所遇到的典型场景在于:一个控制的外观或值可能会受到屏幕内的另一控制的影响。提供该特征允许对具有丰富功能的更为复杂的屏幕的定义,然而,还可能会增加复杂度并因而增加了无线设备上的应用程序的存储需求。与当前的表示***和方法相反,将无线应用程序GUI描述为原子屏幕组件的集合。通过如XML、HTML或XHTML等结构语言来定义应用程序屏幕并将其表达为内嵌布局和UI控制的集合。通过使用提供用于屏幕表示、管理和用户交互的服务集合的智能设备运行时刻框架,便于这些可视组件的表示。指定屏幕组件提供了交互和动态UI,并用于将一些用户接口管理分配给智能设备运行时刻框架。所述屏幕组件利用无线应用程序定义中的条件控制。条件控制是通过满足特定条件来确定其外观或行为的动态屏幕元素。条件控制包括所谓的驱动(主要)和从属(辅助)控制,用于修改应用程序运行时刻屏幕行为。
根据本发明,提出了一种具有用于执行无线应用程序的智能执行框架的无线设备,所述应用程序具有以结构定义语言表达的原子屏幕组件,所述设备包括:框架的屏幕管理器,用于根据屏幕组件产生屏幕模型,所述屏幕模型配置用于对包括具有至少一个主要控制和至少一个辅助控制的条件控制集合的屏幕表示进行建模;用户接口,用于提供设备用户和应用程序之间的交互环境;以及框架的用户接口服务,用于向用户接口提供屏幕表示;其中在应用程序的执行期间,用户与显示在用户接口上的条件控制进行交互。
根据本发明的另一方面,提出了一种通过无线设备的智能执行框架来执行无线应用程序的方法,所述应用程序具有以结构定义语言表达的原子屏幕组件,所述方法包括以下步骤:从存储器中提取屏幕组件,所述屏幕组件包括具有至少一个主要控制和至少一个从属控制的条件控制集合;根据包括条件控制的屏幕组件来创建屏幕模型,所述屏幕模型配置用于对显示在设备的用户接口上的屏幕表示进行建模,以便提供设备用户和应用程序之间的交互环境;以及根据屏幕模型来产生屏幕表示,所述屏幕表示配置用于反映与应用程序的执行状态相对应的用户接口条件的当前值;其中在应用程序的执行期间,用户与显示在用户接口上的条件控制进行交互。
根据本发明的另一方面,提出了一种计算机程序产品,用于配置具有用于执行无线应用程序的智能执行框架的无线设备,所述设备具有用于在设备用户和应用程序之间提供交互环境的用户接口,所述应用程序具有以结构定义语言表达的原子屏幕组件,所述计算机程序产品包括:计算机可读介质;存储在计算机可读介质上的框架的屏幕管理模块,用于根据屏幕组件产生屏幕模型,所述屏幕模型配置用于对包括具有至少一个主要控制和至少一个辅助控制的条件控制集合的屏幕表示进行建模;以及存储在框架的计算机可读介质上的用户接口服务模块,用于向用户接口提供屏幕表示;其中在应用程序的执行期间,用户与显示在用户接口上的条件控制进行交互。
根据本发明的另一方面,提出了一种具有用于执行无线应用程序的智能执行框架的无线设备,所述应用程序具有以结构定义语言表达的原子屏幕组件,所述设备包括:从存储器中提取屏幕组件的装置,所述屏幕组件包括具有至少一个主要控制和至少一个辅助控制的条件控制集合;根据包括条件控制的屏幕组件创建屏幕模型的装置,所述屏幕模型配置用于对显示在用于在设备用户和应用程序之间提供交互环境的设备的用户接口上的屏幕表示进行建模;以及根据屏幕模型产生屏幕表示的装置,所述屏幕表示配置用于反映与应用程序的执行状态相对应的用户接口条件的当前值;其中在应用程序的执行期间,所述用户接口与显示在用户接口上的条件控制进行交互。
附图说明
参考仅作为示例的附图,在以下详细描述中,这些和其他特征将变得更加明显,其中:
图1是无线设备的方框图;
图2是图1所示的设备的设备运行时刻框架的方框图;
图3是图2所示的框架的屏幕管理服务的另一视图;
图4是应用程序在图1所示的设备的用户接口上的示例屏幕表示;
图5是图1所示的应用程序的条件控制的示例实现;
图6是图1所示的应用程序的条件控制的另一示例实现;
图7是图1所示的应用程序的条件控制的另一示例实现;
图8是图1所示的应用程序的条件控制的另一示例实现;
图9是图1所示的应用程序的条件控制的另一示例实现;
图10是图1所示的应用程序的条件控制的另一示例实现;
图11是图1所示的应用程序的条件控制的另一示例实现;
图12示出了提供初始屏幕表示的图3所示的屏幕管理器的操作;以及
图13示出了提供作为用户事件的结果的屏幕更新的图3所示的屏幕管理器的操作。
具体实施方式
设备环境
参照图1,当与无线网络104进行通信时,设备100分别请求/响应消息105。设备100可以通过使用消息报头信息和关联数据内容形式的请求/响应消息105,作为与网络104相连的网络服务(未示出)的网络客户进行操作,例如,从在线贸易商那里请求和接收产品价格和可用性。网络服务是由设备100的智能运行时刻环境框架206执行的客户端应用程序302通过无线网络104与之相互作用、以便向设备100的用户提供实用性的***的示例。设备100的应用程序302可以使用网络服务的商业逻辑,类似于调用与对象有关的方法(或函数)。应当意识到,可以经由网络104,将客户端应用程序302直接下载/上载到设备100。还应当意识到,设备100可以通过网络104与一个或多个网络服务进行通信。
无线应用程序302在于作为原子屏幕组件(atomic screencomponent)402(见图3)的集合来描述应用程序GUI。通过如XML、HTML或XHTML等结构定义语言来定义用户接口202上存在的应用程序屏幕,并且将其表达为内嵌布局和UI控制500(见图4)的集合,下面将进一步描述。通过使用提供屏幕表示、管理和用户交互的服务304的集合的智能设备运行时刻框架206,有利于这些可视组件402的表示。
通信设备
再次参考图1,设备100是如但并不局限于移动电话、PDA、双向寻呼机或双模式通信设备。所述设备100包括网络连接接口200,例如无线收发机,通过连接218与设备基础设施204相连。在设备100的操作期间,连接接口200可通过无线链路(例如RF、IR等)与如无线网络102等网络104相连,这使设备100能够通过网络104与其他设备100和与外部***(如网络服务)进行通信,并且协调客户端应用程序302和外部***之间的请求/响应消息105。网络104支持设备和外部***之间的请求/响应消息105的数据传输,所述外部***与网络104相连。网络104还可以支持设备100和网络104外部的设备100之间的电话呼叫的语音通信。无线网络104可以使用无线数据传输协议,例如但并不局限于DataTAC、GPRS或CDMA。
再次参考图1,设备100还具有通过连接222与设备基础设施204相连的用户接口202以便与用户(未示出)进行交互。用户接口202可以包括一个或多个用户输入设备,如但并不局限于QWERTY键盘、小键盘、跟踪轮、铁笔、鼠标、麦克风和用户输出设备(例如LCD屏幕显示器)和/或扬声器。如果屏幕是对触摸敏感的,则还可以将所述显示器用作由设备基础设施204控制的用户输入设备。由设备100的用户采用用户接口202来协调网络104上的请求/响应消息105,以及通过用户接口执行设备100上的应用程序302。
再次参考图1,由设备基础设施204启动设备100的操作。所述设备基础设施204包括计算机处理器208和相关存储模块210。计算机处理器208通过执行由操作***和位于存储模块210中的客户端应用程序302提供的相关指令,控制通信设备100的网络接口200、用户接口202和框架206的操作。此外,应该意识到,设备基础设施204可以与处理器208相连的计算机可读存储介质212,用于向处理器提供指令和/或加载/更新存储模块210的客户端应用程序302。所述计算机可读存储介质212可以包括硬件和/或软件,仅作为示例,例如磁盘、磁带、可光学读取的介质(例如CD/DVD ROM)和存储卡。在每一种情况下,计算机可读介质212可以采用小型盘、软盘、盒式磁带、硬盘驱动器、固态存储卡或RAM的形式,设置在存储模块210中。应该注意,以上所列出的计算机可读介质212可以或者单独使用或者组合使用。
设备框架
参考图1和2,设备100的框架206通过连接220与设备基础设施204相连。客户运行时刻环境设备100由框架206提供,并且优选地,能够根据元数据定义,产生、主持和执行客户端应用程序302(其中包括原子屏幕/表示组件402,如下所示,以结构定义语言来表达-见图3)。设备运行时刻可以被认为是提供基本服务集合304以管理和执行典型应用程序302行为(例如持续、消息传递、屏幕导航和显示)的智能软件框架206。因此,框架206为客户端应用程序302提供本地客户运行时刻环境,并且是与处理器208的设备100功能的接口,并且是设备基础设施204的相关操作***。框架206通过优选地在设备100上提供受控、安全和稳定的环境来提供运行时刻环境,其中执行应用程序302。所述框架206还具有屏幕管理器306,能够根据与应用程序302相关地产生的元数据定义为管理屏幕模型350的服务(见图3)。所述屏幕管理器306还通过用户接口202(见图1)处理由应用程序所使用的所有条件控制和布局的建模,并且根据从UI服务308中接收到的事件来更新(或者连续或者周期性地)模型350。
参考图2,在特定服务并未被包括作为应用程序302的一部分或者被接收为作为组件应用程序302的一部分的单独组件(未示出)的情况下,框架206向客户端应用程序302提供框架服务304(标准普通服务集合astandard set of generic service)。应用程序302具有与框架服务304的通信214,如所需要的。框架206的框架服务304通过连接220来协调与设备基础设施204的通信。因此,为了访问设备基础设施204,可以由框架206和相关服务304向客户端应用程序302提供用户接口202和网络接口200。应该意识到,设备基础设施204的操作***的一部分(见图2)可以表示任意框架服务304。
框架服务304可以包括如但并不局限于通信服务306、UI服务308、持续***310、访问服务312、提供服务314和实用服务316。所述通信服务306管理组件应用程序302和外部***10之间的连接,例如消息105和代表应用程序302发送/接收的与网络服务有关的相关数据。当在用户接口202的输出设备(见图1)上输出其时,所述UI服务308管理应用程序302的表示,如由屏幕管理器306所提供的。持续***310允许应用程序302将数据存储在设备基础设施204的存储模块210(见图1)中。访问服务312提供对通信设备100上所存在的其他软件应用程序的组件应用程序302访问。提供服务314管理在通信设备100上对软件应用程序的提供。应用程序提供可以包括请求和接收新的和更新的应用程序302;配置用于访问可通过网络104访问的服务的应用程序302;修改应用程序302和服务的配置;以及删除应用程序302和服务。实用服务316用于实现各种通用任务,例如执行在串到各种格式的转换中的数据操作。
应该意识到,通信设备100的框架服务304可以向应用程序302提供功能,包括上述服务。此外,所述框架服务304可以与应用程序302集成在一起,而非设置为单独的框架304。在任何情况下,组件应用程序302能够通过集成和/或单独框架服务304来访问通信设备100的功能,下面将进一步描述。
参考图3,下面进一步描述的执行条件(驱动和从属)控制500的能力(见图4)通过使用智能设备运行时刻框架206与应用程序302连接。所述框架206负责通过用于表达应用程序的结构定义语言(例如但并不局限于基于XML的语言)如上所述建模和表示屏幕。框架206还管理与应用程序302的用户的交互并作为用户交互202事件的结果,处理对当前屏幕模型350的改变。所述框架206可以具有应用程序存储器356,用作针对应用程序302定义和所产生的数据的设备100储存库。如上所述,UI服务308在设备100的本地UI框架206中提供应用程序302的屏幕表示352的可视性。UI服务308还将用户事件从用户接口202提供给屏幕管理器306。框架206还具有脚本解释器354,用于执行应用程序302的脚本部分(例如但并不局限于ECMAScript),并且能够通过与屏幕管理器306的交互来操作当前屏幕模型350。
条件控制500
参考图4,条件控制500的概念包括在应用程序302定义中。条件控制500是用户接口202的动态屏幕元素,通过满足特定的条件来确定其外观或行为。所述条件控制500包括主要或驱动控制502和从属或辅助控制504,通过于屏幕管理器306的交互来修改应用程序302运行时刻屏幕行为。通常,驱动或主要控制502是UI控制器500,其值会影响另一控制(从属/辅助控制504)的值或外观。从属控制是UI控制500,其值或外观根据另一控制(驱动/主要控制502)的值来确定。下面将进一步描述驱动502和从属控制504之间的关系。
高度理想的是,能够根据以下方式来定义屏幕组件402,其动态地行动且提供使处理和表示逻辑符合智能设备运行时刻框架206的最大能力。再次返回到图3和4,最基本的应用程序屏幕表示352由按照相同方式在用户接口202上显示的布局506和嵌套控制500的静态配置构成,而于运行时间因子无关。该方法对于基本应用程序302而言是令人满意的。为了产生根据动态变化标准改变的更为复杂的屏幕表示352,可以通过屏幕组件402将条件控制500包括在应用程序302定义中。通过由屏幕管理器306在应用程序302中定义的屏幕组件402的屏幕模型350中引入条件控制500,可以使屏幕表示352在用户接口202上的精确外观/行为符合由智能设备运行时刻206管理的运行时刻标准。
存在两种专门的条件控制500,即:
·从属控制504,以及
·驱动控制502,
其中,通常,控制500可以是如但并不局限于UI型控制,例如按钮、编辑框、标签、菜单项或布局型控制。除了影响来自脚本元素的控制500和布局506的可视性之外,下面将描述驱动502和从属控制504之间的关系、以及如何确定屏幕表示352在接口202上的运行时刻表示。
从属/辅助控制504是根据另一控制500(包括主要控制502和其他链接的辅助控制504)的变化来评估其状态的控制。所述从属控制504状态可以包括:
·控制值;
·外观;以及
·可视性。
从属控制504指定确定其特性的验证条件。这些条件可以通过脚本(例如ECMA脚本)和/或通过应用程序302结构定义语言(例如XML)来表达。驱动/从属控制502是其状态会影响链接的从属控制504的属性的控制。驱动控制502的状态变化会触发从属控制504的验证条件的评估。所述驱动控制502状态可以包括:
·控制值;
·外观;以及
·可视性。
关于屏幕表示352的各种链接屏幕的条件导航,指定了屏幕导航的控制500还可以被指定为从属控制504。在本申请中,该说明书的结果效果在于动态导航路径的效果。非常好地适合于该任务的两种类型的控制是:
·屏幕上按钮;以及
·菜单项。
存在三种一般方法来指定驱动/从属控制500:
·屏幕定义元数据,通过使逻辑符合设备运行时刻框架206的能力的屏幕元数据(例如XML)来描述驱动/从属关系;
·驱动控制脚本/代码,将客户脚本元素与驱动控制关联并且能够通过脚本代码来指定从属控制外观;
·扩展屏幕元数据/从属脚本/代码,通过屏幕元数据来定义条件关系,从而使从属控制504评估10脚本以确定外观;以及
·从属脚本/代码条件,其中不存在驱动控制502,从而控制504通过脚本指定其自身条件以便显示。
应该意识到,可以将脚本(代码/元素)指定为应用程序302结构定义语言内的不同元素,或者可以散置着屏幕组件402定义。在任一情况下,屏幕管理器306监视从应用程序定义中的元数据/脚本的提取并通过对从应用程序302中作为屏幕组件402获得的屏幕元数据/脚本的处理来产生屏幕模型350。
示例A:屏幕元数据定义驱动/从属关系(以XML)
可以通过应用程序302的XML(结构定义语言)专门指定驱动502和从属控制504的外观。在图5所示的示例XML码中,目的是提供根据用户已经声称其处于美国还是加拿大来显示美国的州或加拿大的省的能力。粗体所示的驱动控制502是选择控制choiceCountry。当choiceCountry控制改变时,对从属控制504进行链接和重新评估。如图所示,与加拿大的选择相关联的元素表示加拿大省。当确定choiceCountry值为美国时,显示美国的州。该方法具有以下优点:通过屏幕管理器306对屏幕组件402的解释,实现外观所需的所有逻辑符合智能设备运行时刻框架206。
示例B:驱动控制脚本
参考图6,操作条件控制500的可选方法通过附加到应用程序302上的客户脚本部分600来实现。在示例A中如上所述的示例应用程序中,当发生选择改变时,驱动502选择控制choiceCountry指定要评估的可执行脚本(这里显示为ECMA脚本片段,仅作为示例)。在该配置中,从属关系与被称为localizeControls的脚本相关。当被调用时,根据choiceCountry的当前状态,脚本确定使接口202上的屏幕的哪一个控制500对用户可视(见图4)。该脚本机制示出了链接驱动502和从属控制504的可选方法,其中由应用程序302的应用程序开发者来执行显示逻辑。
示例C:扩展屏幕元数据/从属脚本
图7所示的以下示例示出了驱动控制502如何能够影响从属控制504的重新评估,由此,从属控制504指定其自身的显示标准。该标准可以被指定为单独代码部分,或如该示例中所示,作为内嵌评估。在示例应用程序302中,passwordEntry编辑框表示驱动控制502。编辑框的变化触发对通过XML指定的条件控制的重新评估。从属控制504的规范还通过评估布尔型条件对应用程序302行为进行提炼。在所提供的示例中,在添加用于过渡到接口202上显示的屏幕表示的下一页的菜单项之前,确定口令长度具有最小长度(见图1)。满足最小长度条件的故障会强制由用户接口202来显示警告标签。
示例D:从属脚本条件
在图8所示的该示例中,不存在所指定的任何驱动控制502。在该实例中“从属”控制504指定其自身脚本以进行评估。脚本元素的评估将选通控制504的显示。该脚本可以被称为应用程序302 XML本地的功能,或者可以是内嵌脚本。如图所示,将discount标签并不依赖于任何驱动控制502。discount标签ECMA脚本片段800,确定是否选择最少项数以符合附加折扣。
示例E:通过XML的条件导航
在前面的示例中,通过应用定义从属504和驱动502控制的表达来示出条件导航。在图9所示的示例导航中,通过选择驱动502 userOptions选项来确定对下一商业页面的导航。当该选择改变时,可以显示两个从属504按钮之一。当不需要用户验证时,示出了gotoCatalogue按钮504。当选择了“商店在线”时,以validateUser按钮504来表示用户。通过从属控制504的规范,通过用户选择动态改变应用程序302能够显示的屏幕表示352的下一屏幕(见图4)。
条件布局506
参考图4,布局506可以是影响从属UI控制504的配置的特殊控制500。应该意识到,布局506还可以是由驱动条件控制502影响的从属控制504。布局506的以下属性可以是条件性的,如但并不局限于:
·可视性;
·布局类型;以及
·风格和颜色。
由于布局对于包含UI控制504的布局或从属布局506而言是父驱动控制502,存在以嵌入控制500来解决状态冲突的规则。例如,可能会出现将条件布局506确定为可视而将布局506内的内嵌控制504是可视的情形。在该情形下,所述规则是当兼容时,从属控制504观察其驱动控制502可视性(如表1中的总结)。
  从属控制   驱动控制   显示从属
   不可视    不可视      否
   不可视    可视      否
   可视    不可视      否
   可视    可视      是
表1:确定内嵌控制的可视性
Bryan,该表是否正确?
示例F:通过应用程序XML的从属布局控制
参考图4,可以将布局506指定为按照与UI控制500相同的方式来从属于驱动控制502。参考以上所给出的示例A,通过从属条件布局506,经由嵌入控制500的从属布局506的可视性控制来重新处理根据国家选择状态来显示美国的州或加拿大的省的能力。
参考图10,在该示例F中,驱动控制502 choiceCountry影响将在用户接口202上显示两个相关布局506中的哪一个的决定(见图1)。每一个布局506与choiceCountry驱动控制502链接并指定控制其显示的自身数值属性。每一个布局506的从属控制504不会通过条件来指定其自身可视性状态,从而假定为可视。根据表1所示的规则,任何可视从属控制504符合驱动控制可视性状态。内嵌效果在于将只显示内嵌控制的两个集合之一。
示例G:对布局506属性的基于脚本的操作
在图11所示的该示例G中,修改了布局506的一些附加属性,包括风格和布局类型。无论何时当choiceCountry控制502发生改变时,触发附加到驱动控制502 choiceCountry上的脚本520的评估。根据该控制502的当前值,为了在用户接口202上的惟一观看960,通过脚本来定制布局506属性(见图1)。该示例示出了具有布局506和控制502、504的XML定义的示例应用程序302,并且ECMA脚本950进行localizeControls。该示例中,“加拿大”选择引起了标签和省选择设置的流程布局506配置。操作背景和前景颜色。当国家选择是“USA”时,布局506定向以垂直配置来设置从属控制504。
实现条件控制的屏幕管理器的操作
通过使用智能设备运行时刻框架206来提供处理针对应用程序302的条件(驱动和从属)控制502、504的能力。参考图3和4,框架206负责通过屏幕模型350对控制500和布局506进行建模,并向用户接口202展示由模型350产生的结果屏幕表示(见图1)。通过作为从应用程序302的定义中提取的屏幕组件402的应用程序302元数据/脚本来描述屏幕模型350。框架206还通过用户接口202来管理与应用程序302的用户的交互,并且作为UI 202事件的结果,处理对当前屏幕模型350的改变。
参考图12,操作1000描述了由UI服务308将屏幕表示352加载到用户接口202上的结果初始屏幕(在步骤1002处)。首先,在步骤1004,由屏幕管理器306从应用程序存储器356中提取应用程序屏幕组件402,作为应用程序元数据/脚本,然后产生屏幕模型350(在步骤1006处),着提供了参考屏幕元数据/脚本表示。然后,屏幕管理器302从屏幕模型350中推断当前屏幕表示352(在步骤1008处),包括所有当前字段值,并且设置和反映屏幕条件的当前状态以便显示在用户接口202上。然后,所述屏幕管理器306将当前屏幕表示352传递到UI服务308(在步骤1010处),以便通过步骤1002在接口上可视。
参考图13,将操作1050用于由于在接口202上的当前屏幕表示352的一个或多个屏幕本地控制500(通过用户)的改变导致的交互。如果该改变是针对链接驱动控制502的,则这可能会导致对任何从属控制504的重新评估(见图4)。在步骤1052处,由UI服务308来注解控制500的改变。在步骤1154处,由UI服务308向屏幕模型350通知改变事件。在步骤1056处,屏幕模型350在由屏幕组件402提供的内部屏幕元数据表示上验证事件的特性,并利用完全通过应用程序302元数据指定的任何条件控制关系,来检测作为UI事件的结果影响的任何驱动/从属控制500。在步骤1058处,屏幕模型350检测UI改变是否需要出现任何脚本处理。这可能会由指定所需脚本处理的驱动控制502或从属控制504产生。如果是这样,则在步骤1060处,脚本解释器354修改脚本中所指定的屏幕模型350。在步骤1162处,由屏幕管理器306根据更新的屏幕模型350来更新屏幕表示352。在步骤1064处,将更新的表示352传递到UI服务308以便在步骤1066对用户可视。
尽管已经对一个或多个典型***和方法进行了公开,但是许多变体对本领域的技术人员是显而易见的,这样的变体在本申请的范围内。例如,尽管在所提供的示例中使用了XML和ECMA脚本的子集,但也可以使用其他语言和语言变体来定义应用程序302。

Claims (42)

1.一种具有用于执行无线应用程序的智能执行框架的无线设备,所述应用程序具有以结构定义语言表达的原子屏幕组件,所述设备包括:
框架的屏幕管理器,用于根据屏幕组件产生屏幕模型,所述屏幕模型配置用于对包括具有至少一个主要控制和至少一个辅助控制的条件控制集合的屏幕表示进行建模;
用户接口,用于提供设备用户和应用程序之间的交互环境;以及
框架的用户接口服务,用于向用户接口提供屏幕表示;
其中在应用程序的执行期间,用户与显示在用户接口上的条件控制进行交互。
2.根据权利要求1所述的设备,其特征在于由用于识别关于条件控制的用户事件的框架来监视用户接口上的屏幕表示的行为。
3.根据权利要求2所述的设备,其特征在于根据预定的运行时刻标准来执行所述监视。
4.根据权利要求2所述的设备,其特征在于所述屏幕管理器根据由用户接口服务通信的用户事件来更新屏幕模型。
5.根据权利要求4所述的设备,其特征在于从包括基于XML的语言、HTML和XHTML的组中选择所述结构定义语言。
6.根据权利要求5所述的设备,其特征在于所述条件控制包括从包括屏幕按钮、屏幕编辑框、屏幕标签、屏幕菜单项和屏幕布局类型的组中选择的内嵌布局和用户接口控制。
7.根据权利要求2所述的设备,其特征在于还包括包含有用于描述屏幕表示的屏幕组件的代码部分。
8.根据权利要求8所述的设备,其特征在于还包括框架的脚本解释器,用于执行屏幕组件的代码部分。
9.根据权利要求2所述的设备,其特征在于所述条件控制通过满足预定屏幕条件来确定其状态。
10.根据权利要求9所述的设备,其特征在于从包括外观、控制值、可视性和行为的组中选择所述状态。
11.根据权利要求9所述的设备,其特征在于所述主要控制的状态影响所述辅助控制的状态。
12.根据权利要求11所述的设备,其特征在于所述辅助控制的状态根据所述主要控制的状态来确定。
13.根据权利要求12所述的设备,其特征在于所述条件控制的状态配置用于根据用户事件来改变。
14.根据权利要求2所述的设备,其特征在于还包括根据结构定义语言指定的屏幕组件中的条件控制。
15.根据权利要求2所述的设备,其特征在于还包括根据代码元素指定的屏幕组件中的条件控制。
16.根据权利要求15所述的设备,其特征在于所述代码元素是脚本元素。
17.根据权利要求15所述的设备,其特征在于还包括根据结构定义语言和代码元素的组合指定的屏幕组件中的条件控制。
18.根据权利要求15所述的设备,其特征在于还包括按照所述辅助控制根据代码元素来指定其自身状态的方式来指定的屏幕组件中的条件控制。
19.根据权利要求2所述的设备,其特征在于还包括包含条件布局的条件控制。
20.根据权利要求19所述的设备,其特征在于将所述条件布局配置为针对布局中所包含的辅助控制的主要控制。
21.一种通过无线设备的智能执行框架来执行无线应用程序的方法,所述应用程序具有以结构定义语言表达的原子屏幕组件,所述方法包括以下步骤:
从存储器中提取屏幕组件,所述屏幕组件包括具有至少一个主要控制和至少一个从属控制的条件控制集合;
根据包括条件控制的屏幕组件来创建屏幕模型,所述屏幕模型配置用于对显示在设备的用户接口上的屏幕表示进行建模,以便提供设备用户和应用程序之间的交互环境;以及
根据屏幕模型来产生屏幕表示,所述屏幕表示配置用于反映与应用程序的执行状态相对应的用户接口条件的当前值;
其中在应用程序的执行期间,用户与显示在用户接口上的条件控制进行交互。
22.根据权利要求21所述的方法,其特征在于还包括步骤:由用于识别关于条件控制改变的用户事件的框架来监视用户接口上的屏幕表示的行为。
23.根据权利要求22所述的方法,其特征在于还包括步骤:修改屏幕模型以反映条件控制中的变化。
24.根据权利要求23所述的方法,其特征在于根据相关的主要控制的状态变化来修改辅助控制的状态。
25.根据权利要求23所述的方法,其特征在于由与改变的条件控制相关的代码部分来指导屏幕模型的修改。
26.根据权利要求23所述的方法,其特征在于所述屏幕管理器根据由用户接口服务通信的用户事件来更新屏幕模型。
27.根据权利要求26所述的方法,其特征在于从包括基于XML的语言、HTML和XHTML的组中选择所述结构定义语言。
28.根据权利要求27所述的方法,其特征在于所述条件控制包括从包括屏幕按钮、屏幕编辑框、屏幕标签、屏幕菜单项和屏幕布局类型的组中选择的内嵌布局和用户接口控制。
29.根据权利要求22所述的方法,其特征在于所述条件控制通过满足预定屏幕条件来确定其状态。
30.根据权利要求29所述的方法,其特征在于从包括外观、控制值、可视性和行为的组中选择所述状态。
31.根据权利要求29所述的方法,其特征在于所述主要控制的状态影响所述辅助控制的状态。
32.根据权利要求31所述的方法,其特征在于所述辅助控制的状态根据所述主要控制的状态来确定。
33.根据权利要求32所述的方法,其特征在于所述条件控制的状态配置用于根据用户事件来改变。
34.根据权利要求22所述的方法,其特征在于根据结构定义语言指定屏幕组件中的条件控制。
35.根据权利要求22所述的方法,其特征在于根据代码元素指定屏幕组件中的条件控制。
36.根据权利要求35所述的方法,其特征在于所述代码元素是脚本元素。
37.根据权利要求35所述的方法,其特征在于根据结构定义语言和代码元素的组合指定屏幕组件中的条件控制。
38.根据权利要求35所述的方法,其特征在于按照所述辅助控制根据代码元素来指定其自身状态的方式来指定屏幕组件中的条件控制。
39.根据权利要求22所述的方法,其特征在于还包括步骤:将条件布局包括在屏幕模型的条件控制中。
40.根据权利要求39所述的方法,其特征在于将所述条件布局配置为针对布局中所包含的辅助控制的主要控制。
41.一种计算机程序产品,用于配置具有用于执行无线应用程序的智能执行框架的无线设备,所述设备具有用于在设备用户和应用程序之间提供交互环境的用户接口,所述应用程序具有以结构定义语言表达的原子屏幕组件,所述计算机程序产品包括:
计算机可读介质;
存储在计算机可读介质上的框架的屏幕管理模块,用于根据屏幕组件产生屏幕模型,所述屏幕模型配置用于对包括具有至少一个主要控制和至少一个辅助控制的条件控制集合的屏幕表示进行建模;以及
存储在框架的计算机可读介质上的用户接口服务模块,用于向用户接口提供屏幕表示;
其中在应用程序的执行期间,用户与显示在用户接口上的条件控制进行交互。
42.一种具有用于执行无线应用程序的智能执行框架的无线设备,所述应用程序具有以结构定义语言表达的原子屏幕组件,所述设备包括:
从存储器中提取屏幕组件的装置,所述屏幕组件包括具有至少一个主要控制和至少一个辅助控制的条件控制集合;
根据包括条件控制的屏幕组件创建屏幕模型的装置,所述屏幕模型配置用于对显示在用于在设备用户和应用程序之间提供交互环境的设备的用户接口上的屏幕表示进行建模;以及
根据屏幕模型产生屏幕表示的装置,所述屏幕表示配置用于反映与应用程序的执行状态相对应的用户接口条件的当前值;
其中在应用程序的执行期间,所述用户接口与显示在用户接口上的条件控制进行交互。
CNB2005100524489A 2004-02-27 2005-02-28 交互式无线应用程序***和方法 Expired - Fee Related CN100437478C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP04251156A EP1569094A1 (en) 2004-02-27 2004-02-27 System and method for interactive wireless applications with conditional UI controls
EP04251156.8 2004-02-27

Publications (2)

Publication Number Publication Date
CN1661553A true CN1661553A (zh) 2005-08-31
CN100437478C CN100437478C (zh) 2008-11-26

Family

ID=34746124

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100524489A Expired - Fee Related CN100437478C (zh) 2004-02-27 2005-02-28 交互式无线应用程序***和方法

Country Status (9)

Country Link
EP (1) EP1569094A1 (zh)
JP (3) JP2005327251A (zh)
KR (1) KR100755253B1 (zh)
CN (1) CN100437478C (zh)
AU (1) AU2005200847B2 (zh)
CA (1) CA2498724A1 (zh)
MX (1) MXPA05002271A (zh)
SG (2) SG114769A1 (zh)
TW (1) TWI265680B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100576162C (zh) * 2006-05-18 2009-12-30 三星电子株式会社 根据成像设备的打印能力使用装置打印内容的方法和***
CN101763282A (zh) * 2009-12-25 2010-06-30 中兴通讯股份有限公司 动态管理应用程序的方法及终端
CN102158596A (zh) * 2011-02-25 2011-08-17 宇龙计算机通信科技(深圳)有限公司 一种移动终端中应用程序的管理方法及移动终端
CN101211260B (zh) * 2006-12-26 2012-06-13 佳能株式会社 Gui生成设备和用于生成gui的方法
CN104126186A (zh) * 2011-12-23 2014-10-29 爱尔斯特里普Ip控股有限责任公司 开发用于计算设备的多平台应用的***和方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100951837B1 (ko) 2007-08-31 2010-04-12 성균관대학교산학협력단 인터페이스 생성 방법 및 장치
TWI362013B (en) 2008-12-29 2012-04-11 Ind Tech Res Inst Ubiquitous proxy mobile service method and system, and computer recordable storage medium
TWI417781B (zh) * 2009-11-23 2013-12-01 Giga Byte Tech Co Ltd 電子裝置及其使用者介面顯示方法
US9244698B2 (en) * 2010-09-14 2016-01-26 Microsoft Technology Licensing, Llc Download bar user interface control
CA3147125A1 (en) * 2019-07-21 2021-01-28 Hamid Hatami-Hanza Methods and systems for state navigation

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE452386B (sv) * 1985-10-07 1987-11-23 Hasselblad Ab Victor Anordning vid apparater for astadkommande av en elektrisk signal representerande en bild
CA2095452C (en) * 1993-05-04 1997-03-18 Phillip J. Beaudet Dynamic hierarchical selection menu
JPH09223062A (ja) * 1996-02-16 1997-08-26 Fuji Xerox Co Ltd サービス提供形態のカスタマイズ方法およびその方法の実施に使用可能なサーバ装置
JP3647967B2 (ja) * 1996-03-28 2005-05-18 東京電力株式会社 画面遷移システム
JPH09284784A (ja) * 1996-04-12 1997-10-31 Sony Corp カラー撮像装置
JPH10320390A (ja) * 1997-05-16 1998-12-04 Hitachi Ltd 文書の自己再生産に基づくビュー変更法
JP2001243042A (ja) * 2000-02-29 2001-09-07 Fujitsu Ltd 処理装置
JP4099927B2 (ja) * 2000-05-22 2008-06-11 富士ゼロックス株式会社 表示装置
JP2001067418A (ja) * 2000-06-30 2001-03-16 Hitachi Ltd 電子モールシステム
JP4358414B2 (ja) * 2000-08-10 2009-11-04 株式会社エクサ アプリケーション構築方法及び実行方法並びにアプリケーション構築装置及びアプリケーション実行システム並びにアプリケーション構築方法を記録した記録媒体及びアプリケーション実行方法を記録した記録媒体
KR20020014039A (ko) * 2000-08-14 2002-02-25 주식회사 인포웨어 인터넷을 통해 사이트를 구축하는 방법
JP2002366352A (ja) * 2001-06-11 2002-12-20 It Forest Corp Webアプリケーション開発支援装置
JP2003015870A (ja) * 2001-06-28 2003-01-17 Hitachi Software Eng Co Ltd Webアプリケーション開発方法および開発支援装置
US20030011638A1 (en) 2001-07-10 2003-01-16 Sun-Woo Chung Pop-up menu system
JP2003090778A (ja) * 2001-09-20 2003-03-28 Pentax Corp 画像検査装置
JP3726892B2 (ja) 2001-10-15 2005-12-14 ソニー株式会社 携帯端末装置およびその表示制御プログラム
JP4043251B2 (ja) * 2002-02-12 2008-02-06 富士通株式会社 サーバプログラム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100576162C (zh) * 2006-05-18 2009-12-30 三星电子株式会社 根据成像设备的打印能力使用装置打印内容的方法和***
CN101211260B (zh) * 2006-12-26 2012-06-13 佳能株式会社 Gui生成设备和用于生成gui的方法
CN101763282A (zh) * 2009-12-25 2010-06-30 中兴通讯股份有限公司 动态管理应用程序的方法及终端
WO2011076023A1 (zh) * 2009-12-25 2011-06-30 中兴通讯股份有限公司 动态管理应用程序的方法及终端
CN102158596A (zh) * 2011-02-25 2011-08-17 宇龙计算机通信科技(深圳)有限公司 一种移动终端中应用程序的管理方法及移动终端
CN104126186A (zh) * 2011-12-23 2014-10-29 爱尔斯特里普Ip控股有限责任公司 开发用于计算设备的多平台应用的***和方法
CN104126186B (zh) * 2011-12-23 2019-07-19 爱尔斯特里普Ip控股有限责任公司 开发用于计算设备的多平台应用的***和方法

Also Published As

Publication number Publication date
AU2005200847B2 (en) 2008-05-22
JP2005327251A (ja) 2005-11-24
TW200612682A (en) 2006-04-16
KR20060042390A (ko) 2006-05-12
CN100437478C (zh) 2008-11-26
SG114769A1 (en) 2005-09-28
SG137866A1 (en) 2007-12-28
EP1569094A1 (en) 2005-08-31
JP2011248918A (ja) 2011-12-08
MXPA05002271A (es) 2013-07-12
KR100755253B1 (ko) 2007-09-05
JP2009070411A (ja) 2009-04-02
TWI265680B (en) 2006-11-01
CA2498724A1 (en) 2005-08-27
AU2005200847A1 (en) 2005-09-15

Similar Documents

Publication Publication Date Title
CN1661553A (zh) 交互式无线应用程序***和方法
US20210034336A1 (en) Executing a process-based software application in a first computing environment and a second computing environment
JP5809328B2 (ja) ウィジェットフレームワーク、リアルタイムサービス統合およびリアルタイムリソース集約
CN102221993B (zh) 复杂用户界面状态变更的声明性定义
CN101373431B (zh) 增强型小组件合成平台
CN105787123B (zh) 提供最小下载和模拟页面导航特征的服务器计算机和方法
US20050086587A1 (en) System and method for presenting computerized interactive forms to respondents using a client-server-systems technology based on web standards
US20080046557A1 (en) Method and system for designing, implementing, and managing client applications on mobile devices
US9218324B2 (en) Method of encapsulating diverse user interface components while consistently enforcing external constraints
CN1922572A (zh) 为组件应用程序建立混合模式执行环境的***和方法
CN102495735A (zh) web 端UI组件应用框架***
CN1761943A (zh) 通过使用图形用户界面控件来组合Web服务的程序创建
CN101382889B (zh) 使用ui储存库的公共ui组件执行无线应用程序的***和方法
CN102567839A (zh) 混合式的任务板和基于关键路径方法的项目应用
CN1661554A (zh) 用于构建无线应用程序的***和方法
CN101246424A (zh) 一种基于文件的菜单自动生成***和方法
CN1662011A (zh) 使用元数据定义映射来构建组件应用程序的***和方法
US20050193370A1 (en) System and method for interactive wireless applications with conditional UI controls and screen navigation
CN105359104A (zh) 状态信息的同步点
JP6002302B2 (ja) Webアプリケーション生成システム、Webアプリケーション生成システムの制御方法、Webアプリケーション生成システムのプログラム、Webアプリケーション生成装置、Webアプリケーション生成装置の制御方法、およびWebアプリケーション生成装置のプログラム
CN102622213A (zh) 一种生成一键升级工具***及制作方法
US20180335940A1 (en) Universal graphical user interface objects
CN101251912A (zh) 一种采用多维度配置对变形产品管理的方法
US20240118877A1 (en) System and method for decomposing monolith applications into software services
Droegehorn et al. Front-End Development for Home Automation Systems using JavaScript Frameworks

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20081126

Termination date: 20150228

EXPY Termination of patent right or utility model