CN1650262A - 交互设计系统 - Google Patents

交互设计系统 Download PDF

Info

Publication number
CN1650262A
CN1650262A CN03810100.9A CN03810100A CN1650262A CN 1650262 A CN1650262 A CN 1650262A CN 03810100 A CN03810100 A CN 03810100A CN 1650262 A CN1650262 A CN 1650262A
Authority
CN
China
Prior art keywords
model
user
user interface
task
information
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
CN03810100.9A
Other languages
English (en)
Other versions
CN100390731C (zh
Inventor
M·A·雷蒙
T·P·卡彭特
C·A·米勒
D·V·C·赖辛
L·-M·基夫
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.)
Honeywell Inc
Honeywell International Inc
Original Assignee
Honeywell International 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 Honeywell International Inc filed Critical Honeywell International Inc
Publication of CN1650262A publication Critical patent/CN1650262A/zh
Application granted granted Critical
Publication of CN100390731C publication Critical patent/CN100390731C/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
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Landscapes

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

Abstract

一种可以由设计者使用来方便设计用户界面的交互设计系统(12)。该设计者向交互式设计提供:领域模型(22),包含表征领域中的应用的信息;用户模型(24),包含表征用户界面的用户的信息;任务模型(26),包含表征要在用户界面和用户之间执行的任务原语以及任务原语所需信息类型的信息;以及装置模型(28),包含表征交互递送装置的信息,所述交互递送装置可以用来递送所述用户界面。所述交互设计系统(10)然后将装置模型(28)中的交互递送装置与任务原语所需的信息类型、与表征用户的信息相匹配,将展示对象(30)与任务原语并且与领域模型(22)的信息相匹配,并且根据所述匹配(32)来生成用户界面。

Description

交互设计系统
相关申请
本申请要求于2002年3月7日申请的60/362,507号美国临时申请的权益。
发明的技术领域
本发明涉及一种交互式系统,所述系统用于帮助设计者设计并生成用户界面。例如,所述交互式系统可以用于帮助设计者设计并生成多个装置(例如蜂窝电话、互联网浏览器、个人数字助理)的用户界面。
发明背景
已经创建了许多工具来帮助人们设计产品。例如,已经开发了计算机辅助设计(CAD)、计算机辅助工程(CAE)和计算机辅助制造(CAM)系统来帮助人们设计并且制造各种产品。然而,这些工具并不是可以容易地适应变化着的环境。也就是说,相对于这些工具可以设计的产品的技术改变很快使这些工具过时。这些工具也是不灵活的。也就是说,这些工具的每一个都通常被局限在它应用到的特定领域中,而无法适应其他领域。例如,许多帮助设计者设计集成电路的CAD系统无法帮助设计者设计汽车引擎。此外,这些工具对所设计的产品或者系统与产品或者系统的用户之间的界面设计、最多只提供了有限的能力。
据此,人们对开发一种可以帮助人们设计更加复杂环境下的用户界面的设计工具充满兴趣。这种设计工具不应该限制于其所能应用的领域,也不应该限制于能作为设计工具的输出而提供的用户界面。由此,所述设计工具例如应该允许基于以下几个方面来设计用户界面:(i)将在其内使用用户界面的领域,(ii)用户想要相对于所述用户界面执行的任务,(iii)可以用于将用户界面递送(delivery)给用户的交互递送装置,(iv)使用所述用户界面的一个或多个用户的角色、偏好和局限性,和/或(v)在使用所设计的用户界面期间、用于向一个或多个用户显示输入输出信息的展示(presentation)元件(即,显示对象)。
已有的设计工具没有将需要这些领域、任务、可用的交互递送装置、用户和展示元件考虑因素集成到灵活的交互式设计工具中,所述交互式设计工具为信息展示和交互提供综合方案,使设计者能够在多种环境中和跨各式各样的任务很快地获得并且处理信息,使设计者从各种交互递送装置中进行选择以完成任务,通过使用通用模型增强集成和信息传播的一致性和准确度,适应变化的设备需求和/或提供用户专用的适合设备的交互。此外,已有的设计工具无法就上述的领域、任务、交互递送装置、用户和/或展示元件考虑因素执行任何推理。
本发明克服了一个或多个这些或者其他问题。
发明内容
依照本发明的一个方面,交互地设计用户界面的方法包括以下步骤:接收领域模型、用户模型、任务模型以及装置模型,其中所述领域模型表征所述用户界面将要用于其的应用,其中所述用户模型表征将与所述用户界面交互的用户,其中所述任务模型表征要在用户界面和用户之间执行的任务,并且其中所述装置模型表征交互递送装置,所述交互递送装置可以用来递送所述用户界面;并且,匹配领域模型、用户模型、任务模型和装置模型中的特征,以便构造用户界面。
依照本发明的另一方面,交互地设计用户界面的方法包括以下步骤:创建领域模型,其中所述领域模型包含表征设计者在其已选领域中选择的应用的信息;创建用户模型,其中所述用户模型包含表征用户界面的用户的信息;创建任务模型,其中所述任务模型包含将在用户和用户界面之间执行的任务原语,并且其中所述任务模型还包含任务原语需要的信息类型;创建装置模型,其中所述装置模型包含表征交互递送装置的信息,所述交互递送装置可以用来递送所述用户界面;并且将领域模型、用户模型和任务模型中包含的信息与装置模型中包含的信息进行匹配,并且与展示元件中包含的展示元件进行匹配,以便构造所述用户界面,其中所述展示元件包括用于将信息展示给用户的用户界面的对象。
依照本发明的另一方面,交互地设计用户界面的方法包括以下步骤:  在计算机可读存储器中存储领域模型,其中所述领域模型包含表征在由设计者指定的领域中的应用的数据、概念和关系的的信息;在计算机可读存储器中存储用户模型,其中所述用户模型包含表征用户界面的用户的角色和偏好的信息;在计算机可读存储器中存储任务模型,其中所述任务模型包含要在用户和用户界面之间执行的任务原语,所述任务原语需要的信息,以及任务原语的序列;在计算机可读存储器中存储装置模型,其中所述装置模型包含形式表征交互递送装置的信息,所述交互递送装置可以用来递送所述用户界面;将装置模型中的所述交互递送装置与任务原语需要的信息匹配,并且与表征用户的信息进行匹配,以便识别支持信息需求和用户的交互递送装置;将展示元件与任务原语和领域模型的数据、概念和关系进行匹配,以便识别支持任务原语和领域模型的数据、概念和关系的展示元件;并且,根据识别出的交互递送装置和识别出的展示元件生成所述用户界面。
依照本发明的又一方面,交互地设计系统的方法包括以下步骤:在计算机可读存储器中存储领域模型、用户模型、任务模型以及装置模型,其中所述领域模型表征系统将用于其的应用,其中所述用户模型表征将使用所述系统的用户,其中所述任务模型表征将在系统和用户之间执行的任务,并且其中所述装置模型表征用于支持所述系统的装置;并且,匹配领域模型、用户模型、任务模型和装置模型中的特征,以便构造所述系统。
附图简述
当结合附图阅读本发明的详细描述时,这些及其他特征和优点将变得更加明显,在附图中:
图1示出了用于实现依照本发明实施例的交互设计系统的计算机;
图2示出了依照本发明实施例的交互设计系统的体系结构;以及
图3A和3B示出了可以用于图2的推理引擎的程序流程图。
详细描述
图1示出了可用于实现依照本发明实施例的交互设计系统12的计算机10。如图1所示,计算机10包括一个或多个输入装置14,诸如键盘、鼠标和/或调制解调器,设计者可以使用这些装置来提供交互设计系统12需要的各种输入,以便设计和生成用户界面。例如,设计者可以使用输入装置14的键盘来向驻留在计算机10上的交互设计系统12提供这些输入。作为选择,可以远程地生成这些输入的一个或多个,并且将其经由输入装置14的调制解调器提供给驻留在计算机10上的交互设计系统12。作为另一个选择,设计者可以在任何适当的机器上创建下面将讨论的模型和/或库,在存储装置上保存设计者已经创建的模型和/或库,并且在适当的时间将存储装置的内容载入计算机10中。
计算机10包括一个或多个输出装置16,诸如打印机、显示器和调制解调器,设计者可以使用它们与正在计算机10上执行的交互设计系统12进行交互。通用调制解调器可以用作输入装置14的其中一个,还能用作输出装置16的其中一个。可以将在计算机10上执行的交互设计系统12设计并生成的用户界面、作为依照XML的文件提供给设计者,由此设计者或者其他人能由此继而在交互设计系统12所选择的交互递送装置上加载所述XML文件,以便向用户递送(可视地、可听见地和/或其他方式显示)用户界面。
计算机10还包括存储器18,其可以是随机存取存储器的形式,诸如软盘驱动器和/或硬盘驱动器以及只读存储器。存储器18存储交互设计系统12,计算机10执行所述交互设计系统12以便设计并生成用户界面,并且在它执行期间可以由交互设计系统12使用。存储器18还可以用于存储各种输入(模型和库),所述输入可以是由设计者创建的,以及在其执行期间由交互设计系统12使用来设计并生成用户界面。
最后,计算机10包括用于执行由存储器18存储的交互设计系统12的处理器20。
图2示出了交互设计系统12的体系结构。所述交互设计系统12包括在设计和生成用户界面过程中交互设计系统12使用的各种输入。这些输入包括领域模型22、用户模型24、任务模型26以及装置模型28。此外,所述交互设计系统12包括展示元件库30,用于存储各种展示元件(对象)以及每个展示元件的一组特征。可以将每个展示元件的特征与设计者创建的输入相匹配,以便允许交互设计系统12的推理引擎32就展示元件库30的相应展示元件以及装置模型28的交互递送装置的能力进行定性判断,以便支持用户界面需要的各种交互的性能,并且支持这些交互需要的信息的输入和输出。
由此,交互设计系统12的推理引擎32就存储在展示元件库30中的展示元件以及装置模型28的交互递送装置的能力进行定性判断,以便(i)支持设计者在领域模型22中所指定的应用和领域,(ii)与设计者在用户模型24中所定义的用户进行交互,(iii)支持设计者在任务模型26中所规定的任务原语(即,用户界面和用户之间执行的动作),以及(iv)设计者在任务模型26中所规定的任务原语所需要的信息。
如上所指出的,设计者创建领域模型22作为交互设计系统12的输入。更具体地说,设计者创建领域模型22作为给予用户界面的相关领域属性的机器可解释的领域专用表示。这些属性包括与正在为其设计的用户界面的应用和领域有关的数据、信息、概念和/或关系。领域表示的形式应该与作为输入而创建的其他模型一致,以便交互设计系统12可以将装置模型28的交互递送装置和展示元件库30的展示元件的特征和规范与领域模型22、用户模型24和任务模型26中提供的特征和规范正确地匹配。所述领域模型22应该是应用和领域专用的。
在创建所述领域模型22的过程中,设计者会早已考虑特殊领域中的特殊应用。例如,设计者可能希望设计并生成用于医学领域中开(ordering)配(filling)处方药应用的用户界面。然后,设计者必须为此应用建立数据、信息、概念和/或关系的模型。例如,在开配处方药的应用中,设计者可以确定用户界面将处理各种信息项,诸如医生、病人、药剂师、药物、数量、显示这些实体的每一个所需要的字符串长度等等,以及这些各个实体之间的关系。
领域模型22例如可以是具有三层的层次结构,在所述层次结构中领域是顶层,在下面的下一层是领域元件,而领域数据是底层。在开配处方药的应用示例中,所述领域是开配处方药,领域元件是医生、病人、护士等等,领域数据是数量/数值、标签/名称、诸如领药(pick-up)时间之类的时间、字符串长度等。
在开发领域模型22的过程中,设计者例如开发元本体论,其规定表征指定领域的知识的一般需求结构和词汇,设计用于正设计的用户界面的所选应用的专用模式,然后利用与这一模式有关的专用信息、关系和概念填充(populate)所述模式。可以使用资源描述框架(RDF)标记法(notation)来创建模式并且填充它,不过也可以为这些目的而使用任何其他的模式专用标记法。附录A公开了示范性的类层次结构,其可以构建用于这种框架的领域独立的体系结构。
所述RDF规范在文献“Resouce Description Framework(RDF)Model and Syntax Specification:W3C Recommendation 22(1999年2月22日)”中以及“KDF/XML Syntax Specification(修正):W3CWorking Draft(2003年1月23日)”中有所描述,将它们引入于此,以供参考。将设计者创建的领域模型22存储在存储器18中,以便当其在计算机10上执行期间可以为交互设计系统12所用。
以下是用于在开配处方药应用中的领域模型22的RDF模式的简略示例:
<rdfs:Class rdf:about=″Presciption″/>
<rdfs:Class rdf:about=″Medication″/>
<rdfs:Class rdf:about=″Pharmacy″/>
<rdf:Property rdf:about=″specifiesMedication″/>
    <rdfs:domain rdf:resource=″Presciption″/>
    <rdfs:range rdf;about=″Medication″/>
<rdf:Property>
<rdf:Property rdf:about=″soldBy″/>
    <rdfs:domain rdf.resource=″Medication″/>
    <rdfs:range rdf;resource=″Pharmacy″/>
<rdf:Property>
正如能看到的那样,此RDF模式只是开配处方药应用的局部模式,并且应该被扩大为包括用于实际领域模型的其他领域元件和领域数据。
在设计者创建的用户模型24中,所述设计者捕获用户的用户偏好、角色和能力(或者限制),所述用户被设计者视为正设计的用户界面的用户。可以使用诸如RDF之类的灵活标记法来捕获用户的偏好、角色和能力。用户的偏好、角色和能力例如包括:角色描述、交互递送装置偏好、形式(modality)(诸如可视的或者听得见的)偏好、正设计的用户界面的用户面临的物理难题等。因此,设计者有责任了解用户和应用需求,以便设计者可以创建用户模型24以使他们可以定义用户和应用之间的关系。
在上述开配处方药示例中,开配处方药界面的用户可以是以下的任意一个或多个:医生、病人、护士、可由病人指定来领药的人等。在创建用户模型24中,所述设计者应该记住所有这些人的偏好、能力以及角色。将设计者创建的用户模型24存储在存储器18中,以便当其在计算机10上执行期间可以为交互设计系统12所用。
以下是用于开配处方药应用中的用户模型24的RDF模式的简略例子:
<rdfs:Class rdf:about=″Person″/>
<rdfs:Class rdf:about=″Physical Abilities″/>
<rdfs:Class rdf:about=″VisualAcuity″>
    <rdfs:subClassOfrdf:resource=″PhysicalAbilities″/>
</rdfs:Class>
<rdf:Property rdf:about=″VisualRating″>
    <rdfs:domain rdf:resource=″VisualAcuity″/>
    <rdfs:range rdf:resource=″Literal″/>
    <allowedValues>0</allowedValues>
    <allowedValues>1</allowedValues>
    <allowedValues>2</allowedValues>
<rdf:Property rdf:about=″vision″>
    <rdfs:domain rdf:resources″Person″/>
     <rdfs:range rdf:resources″VisualAcuity″/>
</rdf:Property>
正如能看到的那样,此RDF模式只是开配处方药应用的局部模式,并且应该被扩大为包括使用正被设计的界面的用户的其他偏好、角色和能力。
在创建任务模型26中,设计者捕获当使用正设计的用户界面时要由用户执行的动作,当使用正设计的用户界面时要由用户达到的目标,以及执行所述动作和达到所述目标需要的信息。所述任务模型26用于捕获对用户而言所述界面意指给予或者支持的什么动作。所述任务可以使用诸如RDF之类的灵活标记法来捕获,所述RDF包括流程顺序(order-of-flow)、名词(即:任务需要的信息)以及待执行的任务。据此,设计者有责任了解应用内的任务需求,并且有责任应用所述建模的标记法来捕获专用任务需求。
在任务建模过程中,设计者将将由用户执行的每个任务或交互分解为:任务原语、来自每个任务原语的流程顺序和任务原语需要的信息类型。所述任务原语可以包括设计者在用于相关领域的相关应用的用户和用户界面之间很可能需要的任何动作。例如,任务原语可以包括:接收、实例化、比较、监视、声明、选择、控制、取消、改变、检测、指示注意、导航、调节等。浏览、倾听、观察和评定可以是任务原语接收的同义词。配置可以是实例化的同义词。观察和观看可以是任务原语监视的同义词。设置、进入、输入、记录和宣布可以是任务原语声明的同义词。拾取和从集合选择项(select-item-from-set)可以是任务原语选择的同义词。维护、指示和命令可以是任务原语控制的同义词。撤消和撤回可以是任务原语取消的同义词。修改、更新、编辑和修改可以是任务原语改变的同义词。识别、捕获和注意可以是任务原语检测的同义词。聚焦可以是任务原语指示注意的同义词。移动可以是任务原语导航的同义词。配置可以是任务原语调节的同义词。
同样,如上所指出的,设计者获取流程顺序。流程顺序指的是任务原语之间的优先次序,并且可以通过应用于任务模型26的标记法中的连接和链接来指定。这种连接例如可以包括同步或者异步的AND、OR和XOR连接。例如,链接可用来表明动作B在动作A完成以前不启动,动作A必须继之以动作B,动作B必须放在动作A之前,动作A和B两个都需要等。
此外,任务模型26还包括正建模的任务的任务原语所需的信息。例如,所述任务原语接收需要信息由用户接收。设计者在任务模型26中为此任务原语定义信息类型。作为另一例子,任务原语实例化要求将信息实例化。设计者在任务模型26中为此任务原语实例化定义信息类型。作为又一个例子,任务原语比较要求将确定的信息与确定的其他信息相比。设计者在任务模型26中为此任务原语比较定义信息类型。其他任务原语也需要信息确定类型、并且设计者还为用于任务模型26中的每个此任务原语定义信息类型。将设计者创建的任务模型26存储在存储器18中,以便当其在计算机10上执行期间可以为交互设计系统12所用。
在上述开配处方药示例中,将要执行的任务可以包括指导用户在所显示的备用药品集合中选择,选择是否重配处方,指定人来取药,表明处方将从一个药房移动到另一个等。
以下是用于在开配处方药应用中的任务模型26的遵循IDS RDF模式的RDF文档的简略例子:
<userTask rdf:about=″idsTask_00025″
    identifier=″tskFillPrescription″
    name=″Fill Prescription″
    primitive=″NONPRIMITIVE″
    rdfs:label=″tskFillPrescription″>
    <tasks rdf:resource=″idsTask_00026″/>
    <entryTask rdf:resources″idsTask_00026″/>
    <tasks rdf:resource=″idsTask_00027″/>
    <tasks rdf:resource=″idsTask_00028″/>
    <exifcTask rdf:resource=″idsTask_00029″/>
    <tasks rdf;resource=″idsTask_00029″/>
    <tasks rdf:resource=″idsTask_00032″/>
    <matchRequirements rdf:resource=″idsTask_00036″/>
</userTask>
<junction rdf:about=″idsTask_00026″
    identifier=″AND1″
    operator=″AND″
    primitive=″JUNCTION″
    rdfs:label=″AND1″>
    <parent rdf:resource=″idsTask_00025″/>
    <mate rdf:resource=″idsTask_00029″/>
    <followingRelations rdf:resource=″idsTask_00030″/>
    <followingRelations rdf:resources″idsTask_00034″/>
</junction>
<userTask rdf:about=″idsTask_0 0027″
    classElenient=″medication″
    identifier=″tskSelectMedication″
    name=″Select Medication″
    primitive=″SELECT″
    rdfs:label=″tskSelectMedication″>
    <parent rdf:resource=″idsTask_00025″/>
    <precedingRelations rdf:resource=″idsTask_00030″/>
    <followingRelationsrdf:resources″idsTask__00031″/>
    <matchRequirements rdf:resource=″idsTask_00036″/>
</userTask>
……
<relation rdf:about=″idsTask_0 0030″
    identifier=″relation1″
    relationship=″PRECEDENCE″
    rdfs:label=″relationi″>
    <source rdf:resource=″idsTask_00026″/>
    <destination rdf:resource=″idsTask_00027″/>
</relation>
正如能看到的那样,此RDF文档只是开配处方药应用的局部例子,并且应该扩大为包括用户当使用正设计的界面时将执行的其他任务。
在装置模型28中,设计者捕获交互递送装置的规范和特征,当为其设计的应用调用这些用户界面时,所述交互递送装置可以用来递送正设计的用户界面。这些规范应该包括可用的交互递送装置支持并且与所述应用相关的能力和形式。所述能力例如可以包括带宽、存储器、屏幕、显示器行、显示宽度、照明等,而所述形式例如可以包括可视的、可听到的等。
交互递送装置的这些规范和特征可以使用诸如RDF之类的灵活标记法来捕获,所述RDF包括用于描述交互递送装置的专用输入和输出形式和能力的机制。设计者有责任了解交互递送装置的规范,并且应用交互递送装置描述标记法来生成装置模型28。将设计者创建的装置模型28存储在存储器18中,以便当其在计算机10上执行期间可以为交互设计系统12所用。
在上述开配处方药示例中,交互递送装置可以包括网页浏览器、个人数字助理、电话的交互递送装置等。这些交互递送装置是现有的交互递送装置,其可用于向用户递送用户界面。在音频交互递送装置的实例中,这种交互递送装置的能力可以仅仅包括音调数目、字速率、语音音调比较等。在可视的交互递送装置的情况下,这种交互递送装置的能力可以包括行数、每行字符数、更新速度等。在硬件按钮的情况下,所述能力可以包括是/否/选择对没有、数字对没有、上/下对没有、左/右对没有、字母对没有、输入速率等。
以下是用于在开配处方药应用中的装置模型28的RDF模式的简略例子:
<rdfs:Class rdf:about=”InteractionDevice”>
    <rdfs:subClassOf rdf:resources″Domainltem″/>
</rdfs:Class>
<rdfs:Class rdf:about=″DeviceSignature″>
    <rdfs:subClassOf rdf:resources″NounSignature″>
</rdfs:Class>
<rdfs:Class rdf:about=″AudioDisplayCharacteristics″/>
<rdfs:Class rdf:about=″HardwareButtonCharacteristcs″/>
<rdf:Property rdf:about=″supportedDeviceSignature″>
    <rdfs:range rdf:resource=″DeviceSignature″/>
    <rdfs:domain rdf:resource=″InteractionDevice″/>
</rdf:Property>
<rdf:Property rdf:about==″audioDisplay″>
      <rdfs:range
rdf:resources″AudioDisplayCharacteristics″/>
    <rdfs:domain rdf:resources″DeviceSignature″/>
</rdf:Property>
<rdf:Property rdf:about=″speechOutput″
      ids:range=″boolean″>
    <rdfs:domain
rdf:resources″AudioDisplayCharacteristics″/>
    <rdfs:range rdf:resources″& rdfs;Literal″/>
</rdf:Property>
正如能看到的那样、此RDF模式只是用于描述交互装置的局部模式,并且应该扩大为包括可以向用户递送用户界面的交互递送装置的其他交互递送装置的规范。
展示元件是用于向正设计的用户界面的用户展现信息或者从中捕获信息的显示对象。在将网页浏览器用作交互递送装置的环境中,展示元件可以是弹出式菜单、下拉菜单、对话框、按钮等。
存储在展示元件库30中的每个展示元件包含一组功能和可用性特征,在表示过程中,相应的展示元件或者支持或者需要校正应用。功能和可用性特征描述了可以在给定显示对象的给定功能和可用性特征的情况下能够达到的交互质量。每个展示元件的功能和可用性特征都应该具有一种形式,以致推理引擎32可将它们与其他输入进行匹配,以致推理引擎32可以就展示元件支持要在用户和用户界面之间交换的数据的输入和输出的能力来进行定性判断。
在开配处方药应用中,展示元件的例子包括下拉菜单、对话框、窗口、按钮等。
以下是在开配处方药应用中、XML设计者(composer)为展示元件库30采用Java编写的简略例子;
private String createXML(final Presentation presentation){
//获得该任务的名字
  String taskName=″name=″+″\″″+
  presentation.getInteractionRequirement().getTask().getNam e()+″\″″;
    //获得该任务的标识符
    String taskIdentifier=″identifiers=″+″\″″+
    presentation.getInteractionRequirement().getTask().getIdentifier()+″\″″;
    //获得该领域元件内容
    output=presentation.getInteractionRequirement()-
         .getDomainItem().getContent(presentation-
         .getInteractionRequirement().getTask());
    //创建outer<texfcbox>元件标签
    String preFix=″<textBox″+taskName+″″+taskIdentifier+″>″;
    preFix=preFix+″<label><text>″+
    presentation.getInteractionRequirement(),getTask().getName()+-
    ″</texfcx/label>″;
    //把内容夹在开和结束标签之间output=preFix+output-
    +″</fcextBox>″;
    return output;
}
正如可能看到的那样,此XML创作器只是一个例子,并且应该扩大为包括可以用于交换用户和应用之间信息的其他展示元件,所述所述用户界面为用户和应用而设计。
如图2所示,领域模型22、用户模型24、任务模型26以及装置模型28组合起来以便定义正设计的用户界面的交互需求。每个交互需求是任务原语以及任务原语所需信息的组合,所述任务原语受到用户、应用和领域的特征的影响,其中所述用户界面正为这些用户、应用和领域而设计。由此,用户界面典型地包含了定义用户与正定义的用户界面进行交互的方式的全体的多种交互需求。
将领域模型22、用户模型24、任务模型26、装置模型28以及展示元件库30存储在存储器18中,以便为推理引擎32的执行作准备。根据领域模型22、用户模型24、任务模型26、装置模型28以及展示元件库30,推理引擎32就展示元件和交互递送装置之间的最佳配合进行定性判断,以便经由设计者想要的用户界面与用户交互。
图3A和3B中示出了可以用于推理引擎32的程序流程图。一旦创建了领域模型22、用户模型24、任务模型26、装置模型28且由设计者输入并存储在存储器18中,并且一旦已经利用所述展示元件填充了展示元件库30,就可以执行推理引擎32。
因此,块40根据在任务模型26中定义的任务原语的信息需求、以及在用户模型24中定义的用户的角色、偏好和能力,来过滤装置模型28的交互递送装置,以便形成这些可用的交互递送装置、信息需求和用户特征之间的交集。因此,作为在任务模型26中由设计者建模的任务原语的信息需求,在用户模型24中由设计者建模的用户的角色、偏好和能力,以及在装置模型28中由设计者建模的交互递送装置的特征规范和能力得以匹配,并且只保存那些可以支持那些信息需求和用户特征的可用交互递送装置,以便进一步处理。因此,这些保存的交互递送装置是块40的过滤过程的过滤输出。
作为一个例子,如果用户将调用一种界面来改变房间温度,那么交互设计系统12的块40就应当考虑任何那些可用来改变温度且满足指定用户的偏好、角色和能力的交互式传送装置。
根据任务模型26的任务原语以及领域模型22的信息、概念和关系的特征,块42对存储在表示库30中的展示元件进行过滤,以便形成存储在展示库30中的展示元件、任务模型26的任务原语和领域模型22的领域特征之间的交集。因此,匹配展示元件、任务原语和领域特征,并且只保存那些可以支持任务原语和领域特征的展示元件,以便进一步处理。因此,这些保存的展示元件是块42的过滤过程的过滤输出。
作为一个例子,如果任务是SELECT原语,并且假定用户选择一数值作为领域特征,那么块42就认为那些展示元件支持数字列表的SELECT。
块44创建这样一个展示,它包括作为块42的处理结果而保存的每个展示元件,还包括作为块40的处理结果而保存且支持相应的展示元件的交互递送装置。据此,块44匹配由块40保存的交互递送装置和由块42保存的展示元件,并且为每个保存的展示元件创建展示,并匹配交互递送装置。
应该理解的是,并不是要求每个展示元件都支持所有的交互递送装置。同样,也并不要求每个交互递送装置都支持所有的展示元件。然而,由块42保存的任意给定的展示元件将匹配由块40保存的一个以上的交互递送装置,这也是可能的。因此,展示元件可以被包含在一个以上的展示中。每个展示都包括作为匹配对的展示元件和交互递送装置。位于块44的输出的展示形成了可用性或者交互能力的完全解集合(fully-resolved set)。
块46根据产生了块40保存的交互递送装置的匹配质量以及根据产生了块42保存的展示元件的匹配质量、为每个展示分配评分。此评分是对展示(展示元件/交互递送装置对)在多大程度上满足领域模型22的领域特征、在用户模型24中定义的用户的角色、偏好和能力、以及在任务模型26中定义的任务原语和相应信息需求的定性判断。
例如,如果展示元件将执行任务原语接受,以便可以向用户显示诸如当前温度的信息,那么就可以考虑诸如数字读出、圆的图形以及自动调温器图形之类的各种展示元件。这些展示元件的每一个均可以被分配一组值,诸如DisplayScope(DS)、DisplayResolution(DR)、DisplayBandwidth、DisplayBandwidth(DB)、Displaylmportance(DI)、DispalyObtrusiveness(DO)、ControlScope(CS)、ControlResolution(CR)、ControlBandwidth(CB)和/或Controllmporfcance(CI),这些值用于描述展示元件的特征。同样,还可以为此展示元件的信息请求分配一组值,诸如DisplayScope(DS)、DisplayResolution(DR)、DisplayBandwidth、DisplayBandwidth(DB)、Displaylmportance(DI)、DispalyObtrusiveness(DO)、ControlScope(CS)、ConfcrolResolution(CR)、ControlBandwidth(CB)和/或Confcrollmportance(CI),这些值用于描述展示元件的特征。一些展示元件基本上只是显示,示出信息,(因此使用词语“显示”)。其他展示元件允许输入或者操纵(因此使用词语“控制”)。另外的展示元件可以是显示和控制。在任何情况下,需要将DS-CI的一组值分配给展示元件,以致图3A和3B的推理器可以推理。可以比较这些值,并且可以生成表明信息需求和展示元件的值是多么匹配的评分。块46将这些评分用于相应的展示。还能够为每个交互递送装置生成类似的评分,以表明交互递送装置的特征与存储在用户模型24和任务模型26中的特征有多么近得匹配。块46可以被设置为能组合展示元件评分和交互递送装置评分,以形成相应表示的合成评分。
然后,块48按照评分将所述展示排序。对于如领域模型22、用户模型24、任务模型26和装置模型28所定义而设计的用户界面的每个交互需求,块50选择具有最佳评分的展示。对于每个这种交互需求,块52将一展示从最佳评分列表中选出。如果设计者不满意由块54表明的展示集合,那么该设计者可以在块56改变一个或多个所述模型的特征和/或需求,直到该设计者对作为结果产生的用户界面表示满意为止。作为选择或者另外的方案,在块52处设计者可以令交互设计系统12选择展示的不同组合。据此,用户界面的设计是设计者和交互设计系统12之间的迭代过程,并且此过程继续,直到设计者对设计的用户界面表示满意为止。
块58生成XML文件,作为所述展示,并且块60将所述交互递送装置的XSL应用于由块58生成的XML。应注意的是,块60的结果不包括所选交互递送装置和正为其涉及用户界面的应用之间的必要专用应用通信。相反,一旦适当的应用使用户界面可以为用户所使用,块60的结果就是适合于交互递送装置交互。
装置模型28和展示元件库30可以从用户界面设计到另一用户界面设计保持不变。另一方面,设计者可以改变装置模型28和/或展示元件库30,从而为一个或多个用户界面的设计作准备。领域模型22、用户模型24和/或任务模型26可能从一设计到另一设计发生改变,不过并非必须如此。交互设计系统12的其中一个优点在于:它可以通过只在领域模型22、用户模型24、任务模型26、装置模型28和/或展示元件库30中存储适当信息,来适应于新的领域,新的应用、新的任务、新的交互递送装置、新的展示元件和新的用户需求。
上文已经描述了本发明的确定的修改。本领域的技术人员也可以想到本发明的其他修改。例如,尽管本发明是按照设计和生成用户界面来具体描述的,但是本发明也可以适用于帮助设计者设计和生成不同于用户界面的产品、系统和结构。
此外,图3A和3B的流程图(特别涉及块40-56)是在生成XML文件之前、依照为所有交互需求生成所有展示而描述的。相反,可以每次向XML文件添加一个交互需求,直到将所有交互需求设计到用户界面中。
因此,应将本发明的描述视作为仅仅是例证性的,并且是教导本领域技术人员实施本发明的最佳方式。在不脱离本发明的精神的情况下,可以大量地改变细节,并且保留在所附权利要求书范围内的所有修改的专属使用。

Claims (41)

1.一种交互地设计用户界面的方法,包括:
接收领域模型、用户模型、任务模型以及装置模型,其中所述领域模型表征所述用户界面将要用于其的应用,其中所述用户模型表征将与所述用户界面交互的用户,其中所述任务模型表征要在用户界面和用户之间执行的任务,并且其中所述装置模型表征交互递送装置,所述交互递送装置可以用来递送所述用户界面;以及
匹配领域模型、用户模型、任务模型和装置模型中的特征,以便构造用户界面。
2.如权利要求1所述的方法,其中所述匹配特征包括:形成领域模型、用户模型、任务模型和装置模型之间的交集。
3.如权利要求1所述的方法,其中所述匹配特征包括:
将交互递送装置与任务模型中定义的信息需求、与用户模型中定义的用户进行匹配,以便识别支持所述信息需求和所述用户的交互递送装置;并且
将展示元件与任务模型的任务原语、与领域模型中提供的特征进行匹配,以便识别支持所述任务原语和所述领域特征的展示元件,其中所述展示元件包括显示对象。
4.如权利要求3所述的方法,其中所述匹配特征包括:为每个所识别的展示元件以及一个匹配的所识别的交互递送装置创建展示。
5.如权利要求4所述的方法,其中所述匹配特征包括:评分和排序所述展示,并且其中所述匹配特征包括选择具有最佳评分的展示。
6.如权利要求5所述的方法,其中所述匹配特征包括根据所选展示来生成用户界面。
7.如权利要求5所述的方法,其中所述选择展示包括:为用户和用户界面之间的所有交互选择具有最佳评分的展示。
8.如权利要求7所述的方法,其中所述匹配特征包括根据所选展示来生成用户界面。
9.如权利要求4所述的方法,其中所述匹配特征包括根据所述展示来生成用户界面。
10.一种交互地设计用户界面的方法,包括:
创建领域模型,其中所述领域模型包含表征设计者在所设计的所选领域中选择的应用的信息;
创建用户模型,其中所述用户模型包含表征用户界面的用户的信息;
创建任务模型,其中所述任务模型包含要在用户和用户界面之间执行的任务原语,并且其中所述任务模型还包含任务原语需要的信息类型;
创建装置模型,其中所述装置模型包含表征交互递送装置的信息,所述交互递送装置可以用来递送所述用户界面;以及
将领域模型、用户模型和任务模型中包含的信息与装置模型中包含的信息进行匹配,并且与展示元件中包含的展示元件进行匹配,以便构造所述用户界面,其中所述展示元件包括用于将信息展示给用户的用户界面的对象。
11.如权利要求10所述的方法,其中所述领域模型、用户模型、任务模型和装置模型使用一致的标记法来创建。
12.如权利要求11所述的方法,其中所述标记法遵循资源表述框架规范或者其他专用知识技术标记法。
13.如权利要求10所述的方法,其中将所述领域模型、用户模型、任务模型和装置模型存储在计算机可读存储器中。
14.如权利要求10所述的方法,其中所述匹配信息包括形成展示元件和领域模型、用户模型、任务模型、装置模型和展示元件库中包括的信息之间的交集。
15.如权利要求10所述的方法,其中所述匹配信息包括:
将所述交互递送装置与任务原语需要的信息类型匹配,并且与表征用户的信息进行匹配,以便识别支持信息需求和用户的交互递送装置;并且
将展示元件与任务原语并且与表征设计者在其所选领域中选择的应用的信息进行匹配,以便识别支持任务原语和领域信息的展示元件。
16.如权利要求15所述的方法,其中所述匹配信息包括:为每个所识别的展示元件创建展示,其中所述展示元件匹配至少一个所识别的交互递送装置。
17.如权利要求16所述的方法,其中所述匹配信息包括:评分和排序所述展示,并且其中所述信息匹配包括:选择具有最佳评分的展示。
18.如权利要求17所述的方法,其中所述匹配信息包括根据所选展示来生成用户界面。
19.如权利要求17所述的方法,其中所述选择展示包括:为将由用户界面执行的所有交互选择具有最佳评分的展示。
20.如权利要求19所述的方法,其中所述匹配信息包括根据所选展示来生成用户界面。
21.如权利要求10所述的方法,其中所述领域模型、用户模型、任务模型和装置模型使用一致的标记法来创建,并且其中所述匹配信息包括:
将所述交互递送装置与任务原语需要的信息类型匹配,并且与表征用户的信息进行匹配,以便识别支持信息需求和用户的交互递送装置;并且
将展示元件与任务原语并且与表征在专用领域中的专用应用的信息进行匹配,以便识别支持任务原语和领域信息的展示元件。
22.如权利要求21所述的方法,其中所述匹配信息包括创建展示,并且其中每个展示包括一个展示元件和一个交互递送装置的一个匹配对。
23.如权利要求22所述的方法,其中所述匹配特征包括:为将在用户界面和用户之间执行的每个交互选择一个展示。
24.一种交互地设计用户界面的方法,包括:
在计算机可读存储器中存储领域模型,其中所述领域模型包含表征在由设计者指定的领域中的应用的数据、概念和关系的信息;
在计算机可读存储器中存储用户模型,其中所述用户模型包含表征用户界面的用户的角色和偏好的信息;
在计算机可读存储器中存储任务模型,其中所述任务模型包含将在用户和用户界面之间执行的任务原语,所述任务原语需要的信息类型,以及任务原语的序列;
在计算机可读存储器中存储装置模型,其中所述装置模型包含形式表征交互递送装置的信息,所述交互递送装置可以用来递送所述用户界面;
将装置模型中的所述交互递送装置与任务原语需要的信息类型匹配,并且与表征用户的信息进行匹配,以便识别支持信息需求和用户的交互递送装置;
将展示元件与任务原语和领域模型的数据、概念和关系进行匹配,以便识别支持任务原语和领域模型的数据、概念和关系的展示元件;并且
根据识别出的交互递送装置和识别出的展示元件生成所述用户界面。
25.如权利要求24所述的方法,其中所述生成用户界面包括在匹配的所识别的展示元件与所识别的交互递送装置之间创建展示。
26.如权利要求25所述的方法,其中所述生成用户界面包括:评分和排序所述展示,并且其中所述生成用户界面包括选择具有最佳评分的展示。
27.如权利要求26所述的方法,其中所述生成用户界面包括根据所选展示来生成用户界面。
28.如权利要求26所述的方法,其中所述选择展示包括:为将由用户界面执行的所有交互选择具有最佳评分的展示。
29.如权利要求28所述的方法,其中所述生成用户界面包括根据所选展示来生成用户界面。
30.如权利要求29所述的方法,还包括使用一致的标记法来创建所述领域模型、用户模型、任务模型和装置模型。
31.如权利要求30所述的方法,其中所述标记法遵循资源描述框架规范或者其他专用知识技术标记法。
32.如权利要求30所述的方法,其中所述生成用户界面包括在匹配的所识别的展示元件与所识别的交互递送装置之间创建展示。
33.如权利要求32所述的方法,其中所述生成用户界面包括:为将在用户界面和用户之间执行的每个交互选择一个展示。
34.如权利要求33所述的方法,其中所述生成用户界面包括根据所选展示来生成用户界面。
35.如权利要求24所述的方法,其中所述生成用户界面包括在匹配的所识别的展示元件与所识别的交互递送装置之间创建展示。
36.如权利要求35所述的方法,其中所述生成用户界面包括:为将在用户界面和用户之间执行的每个交互选择一个展示。
37.如权利要求36所述的方法,其中所述生成用户界面包括根据所选展示来生成用户界面。
38.一种交互地设计系统的方法,包括:
在计算机可读存储器中存储领域模型、用户模型、任务模型以及装置模型,其中所述领域模型表征系统将要用于其的应用,其中所述用户模型表征将使用所述系统的用户,其中所述任务模型表征将在系统和用户之间执行的任务,并且其中所述装置模型表征用于支持所述系统的装置;并且
匹配领域模型、用户模型、任务模型和装置模型中的特征,以便构造系统。
39.如权利要求38所述的方法,其中所述匹配特征包括:形成领域模型、用户模型、任务模型和装置模型之间的交集。
40.如权利要求39所述的方法,还包括使用一致的标记法来创建所述领域模型、用户模型、任务模型和装置模型。
41.如权利要求40所述的方法,其中所述标记法遵循资源描述框架规范或者其他专用知识技术标记法。
CNB038101009A 2002-03-07 2003-03-06 交互设计用户界面的方法 Expired - Fee Related CN100390731C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US36250702P 2002-03-07 2002-03-07
US60/362,507 2002-03-07

Publications (2)

Publication Number Publication Date
CN1650262A true CN1650262A (zh) 2005-08-03
CN100390731C CN100390731C (zh) 2008-05-28

Family

ID=27805185

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB038101009A Expired - Fee Related CN100390731C (zh) 2002-03-07 2003-03-06 交互设计用户界面的方法

Country Status (5)

Country Link
US (1) US20050091601A1 (zh)
EP (1) EP1485796A4 (zh)
CN (1) CN100390731C (zh)
AU (1) AU2003213747A1 (zh)
WO (1) WO2003077124A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040027377A1 (en) * 2002-08-06 2004-02-12 Grace Hays User interface design and validation including dynamic data
US20040027378A1 (en) * 2002-08-06 2004-02-12 Hays Grace L. Creation of user interfaces for multiple devices
US7657417B2 (en) * 2002-09-19 2010-02-02 Microsoft Corporation Method, system and machine readable medium for publishing documents using an ontological modeling system
US7418666B2 (en) * 2002-10-21 2008-08-26 Bentley Systems, Incorporated System, method and computer program product for managing CAD data
US10572856B2 (en) 2005-03-09 2020-02-25 Jda Software Group, Inc. Custom application builder for supply chain management
US20080250316A1 (en) * 2007-04-04 2008-10-09 Honeywell International Inc. Mechanism to improve a user's interaction with a computer system
US7979805B2 (en) 2007-05-21 2011-07-12 Microsoft Corporation Button discoverability
US8839192B2 (en) * 2008-03-12 2014-09-16 International Business Machines Corporation System and method for presentation of cross organizational applications
US20090319958A1 (en) * 2008-06-18 2009-12-24 Microsoft Corporation Machine Readable Design Description for Function-Based Services
CN103995858B (zh) * 2014-05-15 2017-06-30 北京航空航天大学 基于任务分解的个性化知识主动推送方法
WO2016099539A1 (en) * 2014-12-19 2016-06-23 Hewlett Packard Enterprise Development Lp Model-driven architecture for user-centered design
CN106205248B (zh) * 2016-08-31 2019-01-18 北京师范大学 一种表征学习者在特定领域知识学习掌握状态的在线学习认知地图生成系统及方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8621061D0 (en) * 1986-09-01 1986-10-08 Hewlett Packard Ltd User interface simulation
US5704017A (en) * 1996-02-16 1997-12-30 Microsoft Corporation Collaborative filtering utilizing a belief network
US5754173A (en) * 1996-02-28 1998-05-19 Sun Microsystems, Inc. Method and system for creating user interface independent programs with a user interface provider
CA2201254C (en) * 1997-03-27 2002-08-20 John Wright Stephenson A system for automated interface generation for computer programs operating in different environments
US6208345B1 (en) * 1998-04-15 2001-03-27 Adc Telecommunications, Inc. Visual data integration system and method
US6405159B2 (en) * 1998-06-03 2002-06-11 Sbc Technology Resources, Inc. Method for categorizing, describing and modeling types of system users
US6243713B1 (en) * 1998-08-24 2001-06-05 Excalibur Technologies Corp. Multimedia document retrieval by application of multimedia queries to a unified index of multimedia data for a plurality of multimedia data types
US6556219B1 (en) * 1999-05-18 2003-04-29 Gateway, Inc. Method and system for peripheral device user interface construction
US7086007B1 (en) * 1999-05-27 2006-08-01 Sbc Technology Resources, Inc. Method for integrating user models to interface design
US6760902B1 (en) * 1999-08-31 2004-07-06 James Alan Ott Method and apparatus for implicitly generating and supporting a user interface
US6510411B1 (en) * 1999-10-29 2003-01-21 Unisys Corporation Task oriented dialog model and manager
US6925609B1 (en) * 2000-01-31 2005-08-02 International Business Machines Corporation Hybrid task and file oriented user interface
US6971086B2 (en) * 2000-03-16 2005-11-29 Silicon Graphics, Inc. Common user interface development toolkit for a system administration program
US7024631B1 (en) * 2000-05-12 2006-04-04 National Instruments Corporation System and method for enabling graphical program polymorphism
AU2001294555A1 (en) * 2000-09-14 2002-03-26 Bea Systems Inc. Xml-based graphical user interface application development toolkit
WO2002044897A1 (en) * 2000-11-29 2002-06-06 Fourbit Group, Inc. Generating a declarative user interface
US6622136B2 (en) * 2001-02-16 2003-09-16 Motorola, Inc. Interactive tool for semi-automatic creation of a domain model
US7017145B2 (en) * 2001-05-09 2006-03-21 Sun Microsystems, Inc. Method, system, and program for generating a user interface
US7234111B2 (en) * 2001-09-28 2007-06-19 Ntt Docomo, Inc. Dynamic adaptation of GUI presentations to heterogeneous device platforms
US20030097486A1 (en) * 2001-11-16 2003-05-22 Eisenstein Jacob R. Method for automatically interfacing collaborative agents to interactive applications

Also Published As

Publication number Publication date
US20050091601A1 (en) 2005-04-28
CN100390731C (zh) 2008-05-28
AU2003213747A1 (en) 2003-09-22
EP1485796A4 (en) 2006-10-25
WO2003077124A1 (en) 2003-09-18
EP1485796A1 (en) 2004-12-15

Similar Documents

Publication Publication Date Title
CN1218265C (zh) 数据库检索装置及方法
CN1280716C (zh) 计算机处理方法、分布式计算方法和网络计算方法
CN100338573C (zh) 设计用户界面样式的方法以及具有自适应用户界面的设备
CN1130656C (zh) 对一个存储文件的若干文件拷贝进行协调的方法
CN1627257A (zh) 用于创建模块化web应用的框架
CN1969272A (zh) 自动生成内容的导入
CN100351835C (zh) 信息处理设备及用于信息处理设备的方法
CN1442803A (zh) 评价网页的装置和方法
CN101052948A (zh) 对象过程图应用程序开发系统
CN1711522A (zh) 图形用户接口建模系统
CN1530860A (zh) 使用全局唯一标识符的数据搜索系统和数据搜索方法
CN1667609A (zh) 文档信息管理系统和文档信息管理方法
CN1811702A (zh) 开发门户应用和自动部署门户应用的系统和方法
CN1615480A (zh) 网络设备间配置文件的翻译
CN1606295A (zh) 元数据分配管理系统、装置和方法及其计算机程序
CN1591425A (zh) 用于产生网站导航的方法
CN1650262A (zh) 交互设计系统
CN1773508A (zh) 把源文档转换成目标网页文件的方法
CN1862698A (zh) 信息处理系统、信息生成装置及方法、信息处理装置及方法、程序
CN1750004A (zh) 信息处理装置和方法,记录媒体,以及程序
CN1682217A (zh) 媒体资料合成
CN1379882A (zh) 将二维数据转换为标准形式的方法
CN1533149A (zh) 图像处理系统
CN1763750A (zh) 人力资源登记和检索系统、设备、方法、程序和存储介质
CN1527225A (zh) 信息关联性显示方法、程序、存储介质和装置

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

Granted publication date: 20080528