CN100458686C - 基于显示状态和/或单元的用户界面提供方法和装置 - Google Patents

基于显示状态和/或单元的用户界面提供方法和装置 Download PDF

Info

Publication number
CN100458686C
CN100458686C CNB018186920A CN01818692A CN100458686C CN 100458686 C CN100458686 C CN 100458686C CN B018186920 A CNB018186920 A CN B018186920A CN 01818692 A CN01818692 A CN 01818692A CN 100458686 C CN100458686 C CN 100458686C
Authority
CN
China
Prior art keywords
user interface
definition
display unit
show state
user
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.)
Expired - Fee Related
Application number
CNB018186920A
Other languages
English (en)
Other versions
CN1688969A (zh
Inventor
S·纳卡吉马
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.)
UI Evolution Inc
Original Assignee
UI Evolution Inc
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 UI Evolution Inc filed Critical UI Evolution Inc
Publication of CN1688969A publication Critical patent/CN1688969A/zh
Application granted granted Critical
Publication of CN100458686C publication Critical patent/CN100458686C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72427User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting games or graphical animations

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)

Abstract

根据本发明的第一方面,由客户设备提供用户界面并确定用户界面的下一显示状态,以及根据对应于预定显示状态的一个或多个显示状态定义提供用户界面的下一实例,所述显示状态定义规定用于所确定的显示状态的用户界面的构成内容。在一个实施例中,所述一个或多个显示状态定义中每一个包括针对用户与用户界面的各种交互的显示状态变迁规则。根据本发明的第二方面,客户设备这样提供用户界面:根据规定显示单元构成内容的显示单元定义生成用户界面的第一实例的第一部分,以及根据还规定用户界面的第二实例的第二显示单元的构成内容的显示单元定义生成用户界面的第二实例的第二部分。

Description

基于显示状态和/或单元的用户界面提供方法和装置
技术领域
本发明涉及数据处理领域。更具体地讲,本发明涉及用户界面(interface)的提供。
背景技术
随着集成电路、微处理器、联网和通信技术的发展,越来越多的设备、尤其是数字计算设备(以无线或有线方式)连成网络。作为互联日益增多的趋势的结果,基于客户机/服务器和与网络相关的应用越来越多地被采用,这些基于客户机/服务器和与网络相关的应用的例子包括但不限于电子邮件、网络电话、万维网和各种类型的电子商务。
在基于客户机/服务器和与网络相关的应用中,瘦客户机结构可能因为其在客户机侧“容易实现”而特别流行,该结构也称为万维网客户机体系结构。一般说来,该体系结构仅仅涉及客户机侧的“用户代理”、如万维网浏览器或者WAP(无线接入协议)浏览器。客户机无需安装任何专用程序。专用逻辑在服务器侧运行,且客户机只需运行“用户代理”以再现用户界面(其中每个实例通常称为“页”或者“网页”)。对于用户界面的每个实例,“用户代理”从服务器中检索关于该特定实例的一组描述,并按检索的描述所规定的那样在显示屏上再现该实例。所作检索是对用户与用户界面当前实例的交互、如点击超链接或者填表作出的响应。无需“用户代理”作出任何决定,针对各种可能的交互为“用户代理”规定(作为所述描述的一部分)要进行的检索。描述(包括系列检索规定)一般用“用户代理”特定的语言来编写,这些语言包括例如用于万维网浏览器的HTML(超文本标记语言)、用于WAP浏览器的HDML/WML(手持设备标记语言或者无线标记语言)。
尽管这种瘦客户机体系结构允许应用程序员实现各种应用,但用户经验一般比用户对其它传统内容丰富的客户机应用(例如可从Redmond,WA的Microsoft购买的Office软件)的经验少。原因之一是因为通过网络实时检索每个下一组定义时涉及的等待时间。在有限连网/通信以及服务器带宽的局限下进行检索期间,用户经常不得不等待,这可能要用数秒以上或者更多的时间。这个问题通常称为“用户界面等待时间”问题。
为了解决这个问题,引入了用于HTML和WAP浏览器的“脚本”。脚本启用的“用户代理”允许瘦客户机应用的作者嵌入一些用脚本语言(例如JavaScript或WMLScript)描述的程序(一系列可执行指令),这些程序向“用户代理”提供关于如何处理用户输入的指令,无需访问服务器,并检索下一组用户界面描述。
尽管“脚本”是某些用户交互(例如在将数据向服务器提交之前验证用户已添好某字段)集的合理解决办法,但是它显著增加了瘦客户机应用的开发复杂度。当需要复杂计算(例如确定象棋比赛中对用户移动的响应)时,脚本也不适合,因为客户设备上的资源有限以及脚本语言自身有局限性。
HDML(及其后继者WML)引入了“卡片和卡片叠”的概念,这使“用户代理”可以在单个来回中检索多组用户界面描述。每个卡片描述包括要提供给用户的信息的单次交互以及关于用户输入的指令。用户实质上交互或者浏览一系列卡片。多个卡片可以组成卡片叠,这等效于HTML页。尽管在某些方案集中,它减少了来回次数,但是由于它需要针对每个可能的用户交互集的一个卡片,当可能的交互次数很大或者接近无限时,用户界面描述的数目和它们相应的检索内容很大或者接近无限,就无法应用这种技术。例如,如果用户界面有100个可能的用户交互集,100个卡片的描述必须在一个来回中检索,或者这些描述必须分成多个卡片叠并分别检索。这样,或者因为一个来回中要传输的巨大数据量,或者因为要进行多次来回,用户仍旧经历延迟。
因此,需要提供用户界面的新方法,它在解决可能的大量用户响应中更有效,并允许该解决方案基于客户机(从而消除等待时间),而没有现有技术的局限和缺点。
发明内容
根据本发明的第一方面,用户界面由客户设备提供,客户设备在本地确定该用户界面的下一显示状态,并且该用户界面的下一实例由客户设备根据一个或多个显示状态定义提供,所述定义对应于所确定的显示状态,规定所确定的显示状态的用户界面的构成内容。在一个实施例中,一个或多个显示状态定义中的每一个包括关于各种用户与用户界面的交互的显示状态变迁(transition)规则。
根据本发明的第二方面,用户界面由客户设备提供,该客户机根据规定显示单元构成内容的显示单元定义生成用户界面的第一实例的第一部分,以及根据还规定了第二实例的第二部分的显示单元构成内容的该显示单元定义生成用户界面的第二实例的第二部分。也就是说,显示单元定义可以规定多个显示状态的显示单元。在一个实施例中,显示状态是多维的。
另外,在一个实施例中,显示状态变迁规则是在显示单元级规定的。在一个实施例中,显示单元还可从另一显示单元继承构成内容。显示单元甚至可以是伪显示单元。
在一个实施例中,应用服务器配备了结合基于状态和/或单元的用户界面提供方法的用户界面提供功能。应用服务器响应远程客户设备对用户界面的请求,向远程客户设备发送基于状态和/或单元的定义和用于用户界面的不同实例的构成内容。在一个实施例中,提供服务器来容纳具有本发明的用户界面提供功能的应用服务器。
在一个实施例中,用户代理配备了结合基于状态和/或单元的用户界面提供方法的用户界面提供功能。在一个实施例中,提供从至少包括无线电话、掌上型计算设备和笔记本型计算设备的设备组中选择的客户设备来容纳具有本发明的用户界面提供功能的用户代理。
附图说明
本发明通过附图中所示的示例性实施例而不是限制来描述,图中类似的参考标号表示类似的要素,图中:
图1说明根据一个实施例的本发明的概况;
图2a-2d说明示例应用的用户界面的不同实例;
图3说明根据一个实施例的适合于实现本发明的客户机和服务器设备的示例网络;
图4说明图3中的示例网络环境中实现本发明的方法视图;
图5a-5b说明根据一个实施例的图3的用户代理的相关方面的操作流程图;以及
图6说明根据一个实施例、适合于用作实现本发明的客户机或服务器设备的示例计算设备的结构视图。
具体实施方式
在以下描述中将说明本发明的各方面。但是,对于本领域的技术人员,显然本发明可以仅用本发明的一些或所有方面来实践。为了说明,给出具体的数字、材料和配置,以便提供对本发明的彻底理解。然而,本领域的技术人员还应当明白,不用这些具体细节也可实现本发明。在其它实例中,省略或简化了众所周知的特征,以免影响对本发明的说明。
描述部分将使用诸如用户界面、按钮等本领域技术人员常用的术语来陈述,以便向本领域的其它技术人员传达其工作实质。描述部分将按照计算设备所执行的操作来陈述,使用诸如点击、确定、再现等术语。正如本领域的技术人员所理解的,这些量和操作采取能够被存储、传送、组合以及通过数字系统的机械和电气部件处理的电、磁、或光信号的形式。术语数字系统包括通用以及专用的计算设备、系统等,它们是独立的、附属的或者嵌入式的。
将以最有助于理解本发明的方式依次描述各种操作,但是,描述顺序不应当理解成这些操作意味着必须是顺序相关的。而且,将重复使用短语“在一个实施例中”,但是,该短语不一定指的是同一实施例,尽管可能如此。
参考图1,其中表示出根据一个实施例、说明本发明概况的框图。如图所示,根据本发明的一个方面,通过使用由显示状态定义106定义的显示状态来提供用户界面102。各显示状态定义106包括:关于用户界面102、例如102a和102b等实例(或其部分)的构成内容(未示出)的说明108;以及显示状态变迁规则110,规定在发生用户与所显示内容的交互时,用户界面102的下一显示状态(或实例)。
根据本发明的另一方面,通过使用由显示单元定义104相应定义的显示单元来提供用户界面102。各显示单元定义104包括关于显示单元的构成内容(未示出)的说明108。显示单元可以在用户界面的不同实例(或状态)中显示。也就是说,显示单元定义可以规定用于一个或多个显示状态的显示单元。
对于所示实施例,本发明的两方面都实现了。更具体地讲,各显示状态定义108包括显示单元定义104中可适用的一些,而每个显示单元定义104包括显示状态变迁规则的说明110,规定在用户与定义的再现显示单元104交互的情况下、用户界面102的下一显示状态(或实例)。正如下面要详述的那样,本发明有利地允许显示状态是一维或多维的。而且,显示单元可以从另外的显示单元继承其构成内容,该显示单元可以是伪显示单元。总之,这些特征有利地提供了一种简单得多的定义用户界面不同实例的方法。
虽然图1说明了“嵌套的”实施例,其中各显示状态定义106包括一个或多个显示单元定义104,而从显示单元定义104中选出的多个显示单元定义中的每一个包括显示状态变迁规则110,本发明设想的是,在备选实施例中,显示状态、显示状态变迁规则以及显示单元都可以独立定义并且交叉引用(或者其中一些组合),这与图1中的“嵌套”方法相反。
这样,根据本发明,可以由客户设备提供用户界面的各实例102a、102b等,客户设备根据规定实例的相应显示单元的构成内容的相应显示单元定义,生成该实例的不同部分。在一个实施例中,显示状态定义106(包括具有显示状态变迁规则110的显示单元说明106)以及这些显示单元的构成内容由服务器侧向客户机侧“预提供”。该客户机侧在本地确定用户界面102的下一显示状态,并且下一实例、例如102a或102b由客户机根据所确定的显示状态的“显示状态定义”提供。
[注意:“预提供”可以分阶段进行,例如,首先提供初始的定义和内容,在初始实例正在再现以及在初始实例“构思”期间,并行提供随后的定义和内容。也可以实现其它类型的分阶段“预提供”。]
这样,本发明有利地允许客户设备在本地确定和再现用户界面的不同实例,而无需在用户界面实例之间从应用服务器作通常耗时的实时检索。而且,如前面间接提到的,这些优点可以非常简洁的方法实现。正如在以下描述中更为明显的,本发明的基于状态和/或单元的规定用户界面不同实例的方法是高度可缩放的,而且因为其简洁,在解决可能有相对较大数量的用户交互的情况时更为灵活。
现在参考图2a-2d,说明本发明的一个示例应用。图中所示的是纸牌游戏的用户界面的四个实例,在游戏中用户从三个显示的纸牌中选一个。根据该选择,用户将会或者赢、或者输、或者平局。该示例应用特意地保持简单以便于理解。但是,对于本领域的普通技术人员,已充分说明本发明的关键原理。
图2a说明该纸牌游戏的用户界面的初始实例102aa,其中再现了三个纸牌的背面206连同游戏标题202以及给游戏者的指示204a。图2b说明纸牌游戏的用户界面的第二实例102ab,其中再现了(用户所选的)第一纸牌的正面208a、剩余两张纸牌的背面206、连同游戏标题202以及给游戏者的“赢”消息204b。
图2c说明该纸牌游戏的用户界面的第三实例102ac,其中再现了(用户所选的)第二纸牌的正面208b、剩余两张纸牌的背面206、连同游戏标题202以及给游戏者的“输”消息204c。最后,图2d说明该纸牌游戏的用户界面的第四实例102ad,其中再现了(用户所选的)第三纸牌的正面208c、剩余两张纸牌的背面206、连同游戏标题202以及给游戏者的“平局”消息204c。
这样,根据本发明,用户界面102aa-102ad的各种实例、再现它们的条件以及这些实例之间的变迁可以有利地使用以下说明来规定:
(1)四个显示状态s1到s4,其中s1是初始″作出选择″状态,s2是在选择了第一纸牌时的显示状态(即″赢″状态),s3是在选择了第二纸牌时的显示状态(即″输″状态),s4是在选择了第三纸牌时的显示状态(即″平局″状态);
(2)三个变迁规则,规则1-在选择第一纸牌时从状态s1变到状态s2,规则2-在选择第二纸牌时从状态s1变到状态s3,规则3-在选择第三纸牌时从状态s1变到状态s4;以及
(3)十一个显示单元,
a.用于游戏标题的单元1(在所有状态中都可见),
b.用于游戏指示的单元2(在状态1中可见),
c.用于第一纸牌背面的单元3(在状态1、3和4中可见),
d.用于第二纸牌背面的单元4(在状态1、2和4中可见),
e.用于第三纸牌背面的单元5(在状态1、2和3中可见),
f.用于第一纸牌正面的单元6(在状态2中可见),
g.用于第二纸牌正面的单元7(在状态3中可见),
h.用于第三纸牌正面的单元8(在状态4中可见),
i.用于“赢”消息的单元9(在状态2中可见),
j.用于“输”消息的单元10(在状态3中可见),以及
k.用于“平局”消息的单元11(在状态4中可见)。
另外,根据所示实施例,采用多个单元定义(其中分布地定义显示状态和显示状态变迁规则)作出这些说明。下面列举(其中省略了某些细节、例如位置说明)以XML编写的这类说明的一个实例:
<States default=″S=1″>
    <State id=″Title″>
        <Cell type=″text″>Card game</Cell>
    </State>
    <State id=″S=1″inherit″Title″>
          <Cell type=″text″>Select a Card</Cell>
          <Cell type=″img″src=″back.jpg″onSelect=″S=2″/>
          <Cell type=″img″src=″back.jpg″onSelect=″S=3″/>
          <Cell type=″img″src=″back.jpg″onSelect=″S=4″/>
    </State>
    <State id=″S=2″inherit″Title″>
          <Cell type=″text″>You win</Cell>
          <Cell type=″img″src=″eight.jpg″/>
          <Cell type=″img″src=″back.jpg″/>
          <Cell type=″img″src=″back.jpg″/>
    </State>
    <State id=″S=3″inherit″Title″>
          <Cell type=″text″>You lose</Cell>
          <Cell type=″img″src=″back.jpg″/>
          <Cell type=″img″src=″six.jpg″/>
          <Cell type=″img″src=″back.jpg″/>
    </State>
    <State id=″S=4″inherit″Title″>
          <Cell type=″text″>Draw</Cell>
          <Cell type=″img″src=″back.jpg″/>
          <Cell type=″img″src=″back.jpg″/>
          <Cell type=″img″src=″nine.jpg″/>
    </State>
</States>
应当指出,在以上列举的例子中,还引入了伪显示状态和继承的概念,以便于在用户界面的各个实例中规定标题“纸牌游戏”的显示。规定了一个伪显示状态“标题”,其构成内容(“纸牌游戏”)被其它各个显示状态继承。伪显示状态是不再现其内容以形成用户界面实例的显示状态。结果,用户界面可以用更为简洁的方式规定,从而减少检索该用户界面所需的传输时间和带宽。
为了便于理解,上述例子在单维内说明四个显示状态,即赢、输或者平局的维。然而,本发明明确认为,显示状态可以是多维的。
考虑例如在上述示例纸牌游戏中加入新的“打赌”维,其中可以下$1、$5或者$10的赌注。沿着这个“打赌”维,纸牌游戏可以说成处于未下赌注的状态T0、下注$1的状态T1、下注$5的状态T2、下注$10的状态T3。因此,可以说各种用户界面实例与11个“二维”显示状态(T0,x)、(T1,S1)、(T2,S1)、(T3,S1)、(T1,S2)、(T2,S2)、(T3,S2)、(T1,S3)、(T2,S3)、(T3,S3)、(z,S4)对应。[假定该游戏在未下注时不允许赢、输或平局状态,也不允许选择纸牌。这样,(T0,S1)、(T0,S2)、(T0,S3)和(T0,S4)是“非法的”或者“不可能的”状态。此外,只要显示状态处于赢、输或平局维中的平局状态,所下注多少就无关紧要。]
还假定:游戏开始时,给用户(玩家)$100,可以通过以下扩展XML说明来规定用户界面的各种实例:
<States default=″T=0″>
    <State id=″Title″>
        <Cell type=″text″>Card game</Cell>
    </State>
    <State id=″T=0″inherit″Title″>
        <Cell type=″text″>You have a$100</Cell>
        <Cell type=″text″>Choose your bet</Cell>
    <Cell type=″text″on Select=″S=1T=1″>$1</Cell>
    <Cell type=″text″on Select=″S=1T=2″>$5</Cell>
    <Cell type=″text″on Select=″S=1T=3″>$10</Cell>
</State>
<State id=″T1″>
    <Cell type=″text″>Your bet:$1</Cell>
</State>
<State id=″T2″>
    <Cell type=″text″>Your bet:$5</Cell>
</State>
<State id=″T3″>
    <Cell type=″text″>Your bet:$10</Cell>
</State>
<State id=″S=1″inherit″Title″>
    <Cell type=″text″>Select a Card</Cell>
    <Cell type=″img″src=″back.jpg″onSelect=″S=2″/>
    <Cell type=″img″src=″back.jpg″onSelect=″S=3″/>
    <Cell type=″img″src=″back.jpg″onSelect=″S=4″/>
</State>
<State id=″S=2″inherit″Title″>
    <Cell type=″text″>You win</Cell>
    <Cell type=″img″src=″eight.jpg″/>
    <Cell type=″img″src=″back.jpg″/>
    <Cell type=″img″src=″back.jpg″/>
</State>
<State id=″S=3″inherit″Title″>
    <Cell type=″text″>You lose</Cell>
    <Cell type=″img″src=″back.jpg″/>
    <Cell type=″img″src=″six.jpg″/>
    <Cell type=″img″src=″back.jpg″/>
</State>
<State id=″S=4″inherit″Title″>
        <Cell type=″text″>Draw</Cell>
        <Cell type=″img″src=″back.jpg″/>
        <Cell type=″img″src=″back.jpg″/>
        <Cell type=″img″src=″nine.jpg″/>
        <Cell type=″text″>You have:$100</Cell>
    </State>
    <State id=″T=1&&S=2″>
        <Cell type=″text″>You have:$101</Cell>
    </State>
    <State id=″T=2&&S=2″>
        <Cell type=″text″>You have:$105</Cell>
    </State>
    <State id=″T=3&&S=2″>
        <Cell type=″text″>You have:$110</Cell>
    </State>
    <State id=″T=1&&S=3″>
        <Cell type=″text″>You have:$99</Cell>
    </State>
    <State id=″T=2&&S=3″>
        <Cell type=″text″>You have:$95</Cell>
    </State>
    <State id=″T=3&&S=3″>
        <Cell type=″text″>You have:$90</Cell>
    </State>
</States>
在刚讲述的上例中,假定如果显示状态值仅对一维作了规定,则关于其它维的显示状态值是“无关的”。这样,只要显示状态值对应在指定的维中,就会再现所指定的显示单元。例如,对于为显示状态“S=2″指定的显示单元,对于显示状态(T1,S2)、(T2,S2)以及(T3,S2)再现该显示单元。换言之,本发明还认为,可以为用于一个或多个单或多维显示状态的显示单元规定显示单元定义,从而进一步提高本发明的用户界面定义或提供的简洁性,并因此有利于等待时间减少。
现参考图3,其中表示了适用于实现本发明的客户和服务器设备的示例网络。如图所示,客户设备312通过网际互连结构330连接到万维网站点302。万维网站点302包括根据本发明的理论构造的万维网应用304。也就是说,万维网应用304的用户界面简洁地根据本发明的基于状态和/或单元的方法来构造。万维网应用304意在表示本领域中已知的各种各样的应用。万维网站点302还包括万维网服务器308,它也旨在表示本领域中已知的各种各样的这类服务器,所述服务器用于向相连的客户设备312发送“页面”或者“网页”,只是在本例中,万维网服务器308包括用户界面提供功能(未示出),用来“预提供”采用如上所述的基于状态和/或单元的形式简洁地定义的用户界面的实例。
每个客户设备312包括用户代理314,该用户代理结合了本发明的基于状态和单元的用户界面再现引擎320。用户代理314,具体来讲是基于状态和单元的用户界面再现引擎320,如前所述地再现基于状态和/或单元的用户界面304’的实例。用户代理314可以是浏览器、操作系统等。客户设备312旨在表示本领域中已知的各种各样的此类设备,包括但不限于无线电话、掌上型个人数字助理(PDA)、笔记本型计算机、台式计算机、机顶盒等。
尽管为了便于理解,图中仅表示了一个万维网站点302和两个客户设备312,本领域的技术人员应当理解,本发明可以采用一个或多个万维网站点302实现,具有选择的任意数目的客户设备312的组合,这些客户设备采用根据本发明构造和再现的用户界面访问应用。
参考图4,其中表示了根据一个实施例的本发明的方法视图。如图所示,在块402,客户设备向远程应用服务器请求一种应用。该应用的用户界面有利地根据本发明的基于状态和/或单元的方法来构造。作为响应,在块404,应用服务器把针对用户界面的各种(单或多维)显示状态的简洁定义的显示单元定义、连同显示单元的构成内容一起提供给客户设备。
在块406,客户设备的(“用户代理”的)用户界面再现引擎确定“下一个”状态,并且根据“下一个”显示状态定义以及使用所提供的构成内容,再现用户界面的“下一个”实例。[注意,只要一提供“初始”定义和相应内容,客户设备的(“用户代理”的)用户界面再现引擎就可再现用户界面的“初始”实例。因此,本发明还可有利地通过服务器首先提供“初始”定义和相应内容来实现]。在块408,用户与用户界面的当前实例交互。作为响应,该处理又继续回到块406,也就是说,客户设备的(“用户代理”的)用户界面再现引擎确定“下一个”显示状态,并且根据“下一个”显示状态的定义以及使用所提供的构成内容,再现该用户界面的“下一个”实例。
重复执行块406和408,直到最后用户采取某些行动,致使不再需要用户界面。
正如本领域的技术人员会理解的,由于用户界面可以简洁地提供给远程客户设备这一事实,开始可以用较少等待时间提供用户界面。另外,此后,因为无需访问远程服务器就可提供随后的用户界面实例,所以可以在明显减少等待时间的前提下提供这些实例,从而显著改善用户的感受。
图5a-5b说明图3中用户代理314的用户界面再现功能的相关方面的操作流程图。图5a说明再现各种实例的全过程,而图5b说明再现具体实例的过程。
如图5a所示,一经调用,在块502,用户界面再现功能根据所确定的当前显示状态的显示状态定义再现用户界面的当前实例。此后,在块504,用户界面再现功能等待用户输入、即用户与已再现显示单元之一的交互。在检测到用户交互时,在块506,用户界面再现功能根据为已再现的用户与之交互的显示单元规定的显示状态变迁规则,设置显示状态。接着,该过程继续回到块502。
如图5b所示,在块512,用户界面再现功能再现用户界面的当前实例,每次再现一个显示单元。在块514,该过程继续,直到已经再现了为显示状态规定的所有显示单元。
图6说明根据一个实施例、适用于把本发明作为客户设备或服务器设备实现的示例计算设备。如图所示,客户机/服务器600包括一个或多个处理器602和系统存储器604。所使用的处理器数量和存储器容量一般取决于示例计算设备600是用作客户机还是用作服务器。例如,如果用作服务器,则可能使用多个高性能的处理器。另一方面,如果用作无线电话,则可能改为使用较低性能的微控制器。
此外,设备或系统600包括大容量存储器606(诸如盘、硬盘驱动器、CDROM等,这也取决于其是用作客户机还是服务器)、GPIO(通用输入输出)608(用于与I/O设备如键盘、鼠标控制器等接口)以及通信接口610(诸如网络接口卡、调制解调器等)。这些部件通过表示一条或多条总线的系统总线612互相连接。如果是多条总线,它们通过一个或多个总线桥(未示出)来桥接。
这些部件中每一个执行其本领域已知的常规功能。具体来讲,系统存储器604和大容量存储器606用于存储工作拷贝和实现万维网服务器(在服务器设备的情况下)或者用户代理(在客户设备的情况下)的编程指令的永久拷贝。
除了部件602-614用于容纳新颖的万维网服务器或用户代理以外,这些部件的构造是众所周知的,因此不作进一步描述。
因此,已经描述了基于状态和/或单元的用于提供用户界面的方法和装置。虽然本发明已经按照上述实施例作了描述,但是本领域的技术人员会明白,本发明不限于所述实施例。本发明可以在所附权利要求的精神和范围之内加以修改和替换而实现。这样,本描述应视为说明性的而不是限定本发明的。

Claims (12)

1.一种用于提供用户界面的方法,包括:
客户设备从远程服务器接收多个显示状态定义,所述定义为用户界面的多个相应显示状态定义应用的用户界面的多个实例,每个显示状态定义具有对应地定义用户界面的实例的一个或多个显示单元的一个或多个显示单元定义,其中每个显示单元定义规定相应显示单元的内容,而且至少一个显示单元定义具有定义当用户与显示单元的内容交互时用户界面要变迁到的下一个显示状态的变迁规则;
客户设备在本地确定用户界面的下一个显示状态,该确定至少部分基于其内容被用户交互过的显示单元的显示单元定义的变迁规则;以及
客户设备根据与所确定的下一个显示状态相关的一个或多个显示状态定义提供所述用户界面的下一个实例,包括根据与所述下一个显示状态相关的所述一个或多个显示状态定义其中之一的显示单元定义而生成用户界面的下一个实例的显示单元。
2.如权利要求1所述的方法,其特征在于:所述提供还包括由所述客户设备根据与所述下一个显示状态相关的所述一个或多个显示状态定义中同一个或另一个的另一显示单元定义而生成用户界面的下一个实例的另一显示单元。
3.如权利要求1所述的方法,其特征在于:所述提供包括由所述客户设备生成用户界面的下一个实例的一部分,其构成内容是从用户界面的伪显示状态继承的。
4.如权利要求1所述的方法,其特征在于:所述下一个显示状态是多维的。
5.一种用于提供用户界面的方法,包括:
服务器向远程客户设备发送多个显示状态定义,所述定义为用户界面的多个相应显示状态定义应用的用户界面的多个实例,每个显示状态定义具有对应地定义用户界面的实例的一个或多个显示单元的一个或多个显示单元定义,其中每个显示单元定义规定相应显示单元的内容,而且至少一个显示单元定义具有定义当用户与显示单元的内容交互时用户界面要变迁到的下一个显示状态的变迁规则;以及
服务器向所述远程客户设备发送所述显示单元的构成内容,用来根据一个或多个显示状态定义在所述远程客户设备上再现所述用户界面的实例。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
所述服务器向所述远程客户设备发送所述用户界面的伪显示状态的附加构成内容,该附加构成内容是在所述再现期间继承的。
7.一种适用于提供用户界面的客户设备,包括:
用于从远程服务器接收多个显示状态定义的装置,所述定义为用户界面的多个相应显示状态定义应用的用户界面的多个实例,每个显示状态定义具有对应地定义用户界面的实例的一个或多个显示单元的一个或多个显示单元定义,其中每个显示单元定义规定相应显示单元的内容,而且至少一个显示单元定义具有定义当用户与显示单元的内容交互时用户界面要变迁到的下一个显示状态的变迁规则;
用于在本地确定用户界面的下一个显示状态的装置,该确定至少部分基于其内容被用户交互过的显示单元的显示单元定义的变迁规则;以及
用于根据与所确定的下一个显示状态相关的一个或多个显示状态定义提供所述用户界面的下一个实例的装置,包括用于根据与所述下一个显示状态相关的所述一个或多个显示状态定义其中之一的显示单元定义而生成用户界面的下一个实例的显示单元的装置。
8.如权利要求7所述的客户设备,其特征在于:所述用于根据与所确定的下一个显示状态相关的一个或多个显示状态定义提供所述用户界面的下一个实例的装置还包括用于生成具有从用户界面的伪显示状态继承的构成内容的用户界面的下一个实例的一部分的装置。
9.如权利要求7所述的客户设备,其特征在于:所述下一个显示状态是多维的。
10.如权利要求7所述的客户设备,其特征在于:所述客户设备是从包括无线电话、掌上型计算设备以及笔记本型计算设备的组中选择的一种设备。
11.一种适用于发送用户界面的实例的服务器,包括:
用于向远程客户设备发送多个显示状态定义的装置,所述定义为用户界面的多个相应显示状态定义应用的用户界面的多个实例,每个显示状态定义具有对应地定义用户界面的实例的一个或多个显示单元的一个或多个显示单元定义,其中每个显示单元定义规定相应显示单元的内容,而且至少一个显示单元定义具有定义当用户与显示单元的内容交互时用户界面要变迁到的下一个显示状态的变迁规则;以及
用于向所述远程客户设备发送所述显示单元的构成内容以根据一个或多个显示状态定义在所述远程客户设备上再现所述用户界面的实例的装置。
12.如权利要求11所述的服务器,其特征在于:还包括用于向所述远程客户设备发送在所述用户界面的实例的所述再现中继承的所述用户界面的伪显示状态的构成内容的装置。
CNB018186920A 2000-09-14 2001-07-17 基于显示状态和/或单元的用户界面提供方法和装置 Expired - Fee Related CN100458686C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/661,598 US7350151B1 (en) 2000-09-14 2000-09-14 Display state and/or cell based user interface provision method and apparatus
US09/661,598 2000-09-14

Publications (2)

Publication Number Publication Date
CN1688969A CN1688969A (zh) 2005-10-26
CN100458686C true CN100458686C (zh) 2009-02-04

Family

ID=24654283

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB018186920A Expired - Fee Related CN100458686C (zh) 2000-09-14 2001-07-17 基于显示状态和/或单元的用户界面提供方法和装置

Country Status (7)

Country Link
US (1) US7350151B1 (zh)
EP (1) EP1461691A2 (zh)
JP (1) JP2004530175A (zh)
KR (1) KR100805197B1 (zh)
CN (1) CN100458686C (zh)
AU (1) AU2001275963A1 (zh)
WO (1) WO2002023335A2 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6976259B1 (en) * 2000-09-29 2005-12-13 Microsoft Corporation Method for abstract state transitions without requiring state machine knowledge
US20080313282A1 (en) 2002-09-10 2008-12-18 Warila Bruce W User interface, operating system and architecture
CN1770097B (zh) * 2004-11-05 2010-05-05 腾讯科技(深圳)有限公司 一种用户交互界面系统及其扩展方法
KR20070052645A (ko) * 2005-11-17 2007-05-22 삼성전자주식회사 사용자 인터페이스를 관리하는 장치 및 방법
BRPI0921978A2 (pt) * 2008-11-26 2019-01-15 Calgary Scient Inc método de fornecimento de acesso remoto a estado de programa de aplicativo e meios de armazenamento.
US10055105B2 (en) 2009-02-03 2018-08-21 Calgary Scientific Inc. Method and system for enabling interaction with a plurality of applications using a single user interface
US9741084B2 (en) 2011-01-04 2017-08-22 Calgary Scientific Inc. Method and system for providing remote access to data for display on a mobile device
CA2734860A1 (en) 2011-03-21 2012-09-21 Calgary Scientific Inc. Method and system for providing a state model of an application program
JP6164747B2 (ja) 2011-08-15 2017-07-19 カルガリー サイエンティフィック インコーポレイテッド 協働環境におけるフロー制御のためのおよび信頼性のある通信のための方法
AU2012296247B2 (en) 2011-08-15 2017-06-22 Calgary Scientific Inc. Non-invasive remote access to an application program
JP6322140B2 (ja) 2011-09-30 2018-05-09 カルガリー サイエンティフィック インコーポレイテッド 協働遠隔アプリケーションの共用および注釈のための双方向デジタル表層を含む非連結アプリケーション拡張
WO2013076554A1 (en) 2011-11-23 2013-05-30 Calgary Scientific Inc. Methods ans systems for collaborative remote application sharing and conferencing
US9602581B2 (en) 2012-03-02 2017-03-21 Calgary Scientific Inc. Remote control of an application using dynamic-linked library (DLL) injection
US9729673B2 (en) 2012-06-21 2017-08-08 Calgary Scientific Inc. Method and system for providing synchronized views of multiple applications for display on a remote computing device
EP3075111B1 (en) 2013-11-29 2017-12-20 Calgary Scientific Inc. Method for providing a connection of a client to an unmanaged service in a client-server remote access system
US20160071303A1 (en) 2014-09-04 2016-03-10 Home Box Office, Inc. Styleable transitions
KR20170110612A (ko) 2015-01-30 2017-10-11 캘거리 싸이언티픽 인코포레이티드 고 확장가능한, 고장 저항력이 있는 원격 액세스 아키텍처 및 접속 방법
US10015264B2 (en) 2015-01-30 2018-07-03 Calgary Scientific Inc. Generalized proxy architecture to provide remote access to an application framework

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999052032A1 (en) * 1998-04-08 1999-10-14 Geoworks Corporation Wireless communication device with markup language based man-machine interface
CN1238495A (zh) * 1998-05-11 1999-12-15 国际商业机器公司 分布式计算环境中应用程序可用性和响应的监控与报告
CN1239253A (zh) * 1998-06-17 1999-12-22 微软公司 根据历史使用情况调整用户界面元素的方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4393463T1 (de) * 1992-07-17 1995-05-11 Komatsu Mfg Co Ltd Intelligente graphische Bedienungstafel und Highlighting-Steuerverfahren
JPH06231077A (ja) * 1993-02-05 1994-08-19 Nec Software Ltd データ入力方式
US5483651A (en) * 1993-12-03 1996-01-09 Millennium Software Generating a dynamic index for a file of user creatable cells
US6178432B1 (en) * 1996-09-30 2001-01-23 Informative Graphics Corp. Method and apparatus for creating interactive web page objects
US6222537B1 (en) * 1997-07-29 2001-04-24 International Business Machines Corporation User interface controls for a computer system
US6778992B1 (en) * 1999-12-21 2004-08-17 Lockstream Corporation Flexible and hierarchical user interfaces defined using a data definition language

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999052032A1 (en) * 1998-04-08 1999-10-14 Geoworks Corporation Wireless communication device with markup language based man-machine interface
CN1238495A (zh) * 1998-05-11 1999-12-15 国际商业机器公司 分布式计算环境中应用程序可用性和响应的监控与报告
CN1239253A (zh) * 1998-06-17 1999-12-22 微软公司 根据历史使用情况调整用户界面元素的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Developing Highly-Responsive User Interfaces with DHTMLand Servlets. Katherine Betz et al.PERFORMANCE, COMPUTING, AND COMMUNICATIONS CONFERENCE. 2000
Developing Highly-Responsive User Interfaces with DHTMLand Servlets. Katherine Betz et al.PERFORMANCE, COMPUTING, AND COMMUNICATIONS CONFERENCE. 2000 *

Also Published As

Publication number Publication date
KR20030072325A (ko) 2003-09-13
JP2004530175A (ja) 2004-09-30
CN1688969A (zh) 2005-10-26
US7350151B1 (en) 2008-03-25
WO2002023335A3 (en) 2004-05-21
EP1461691A2 (en) 2004-09-29
KR100805197B1 (ko) 2008-02-21
WO2002023335A2 (en) 2002-03-21
AU2001275963A1 (en) 2002-03-26

Similar Documents

Publication Publication Date Title
CN100458686C (zh) 基于显示状态和/或单元的用户界面提供方法和装置
JP5089684B2 (ja) サービス・プログラムを生成する技術
US7793300B2 (en) System and method for abstracting state transitions without requiring client knowledge
US20060020883A1 (en) Web page personalization
US20030023641A1 (en) Web page authoring tool
US20030084115A1 (en) Facilitating contextual help in a browser environment
US7480921B1 (en) Method, system, and apparatus for customizing web parts
US7051015B1 (en) System and method for implementing a flexible data-driven target object model
Haller et al. RaUL: RDFa User Interface Language–A data processing model for web applications
US7366732B2 (en) Fully capable minimally inflatable object model system for multidimensional applications
Zhou et al. Enhancing mobile web access using intelligent recommendations
Zhong et al. A design for an online RSS reader based on AJAX
WO2001033388A2 (en) Method and system for multi-user access of a database over a network
EP2144160B1 (en) Method and computer system for providing stateful favorites
Su et al. On design of browser-Oriented data extraction system and the plug-ins
Beccerra et al. On Categories of Interactive Computational Web Tools
Estrada Take Me Back: A Study of the Back Button in the Modern Internet
Rajiv et al. An Introduction to Node. js
Kollias et al. Jylab: A System for Portable Scientific Computing over Distributed Platforms
Harris et al. Lightweight object-oriented shared variables for cluster computing in Java
Williams WS://IM: A Software Framework for Multimodal Web Interaction Management
Davis Visual C#. Net Programming
Elbaga et al. Dreamweaver and Dynamic Sites
Moroney Web Forms with ASP. NET
Kopec et al. Hangman

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: 20090204

Termination date: 20170717