用户界面的绘制的制作方法

文档序号:7633948阅读:300来源:国知局
专利名称:用户界面的绘制的制作方法
技术领域
本发明涉及用户界面的绘制,特别涉及用于通信设备的用户界面的绘制。
背景技术
通信装置,举例来说,诸如移动电话和PDA,包含尺寸和分辨率日益提高的显示屏。在给定这些设备的处理功率的限制的情况下,合乎需要的是为用户提供便于设备的使用和提供对用户输入的快速响应的吸引人的用户界面。对于某些设备,诸如移动电话,提供能够由用户和/或网络运营商简便容易地更新以便能够将用于更新用户界面的内容部署给用户的用户界面引起了人们极大的兴趣。已知的方法倾向于缺乏所需的灵活度或者需要可观的和不合需要的水平的处理功率。

发明内容
根据本发明的第一方面,提供了一种绘制用于设备的用户界面的方法,该方法包括以下步骤提供多个执行者,该多个执行者中的每个与用户界面元素相关联,并包括定义相应的执行者的一个或多个属性;提供绘制器以从多个执行者中的一个或多个接收一个或多个属性;以及根据接收到的属性来绘制用户界面。
根据本发明的第二方面,提供了一种包括用于执行上述方法的计算机可执行代码的数据载体。
根据本发明的第三方面,提供了一种设备,包括用户界面,该用户界面包括一个或多个用户界面元素;多个执行者,该多个执行者中的每个与用户界面元素相关联,并包括一个或多个属性;和绘制器,该绘制器被配置成,在使用中,解释与多个执行者中的一个或多个相关联的属性,并相应地绘制用户界面。


图1示出了结合本发明的系统的示意图;图2更详细地示出了服务器100的结构和操作;图3示出了用于移动设备300的软件400的示意图;图4示出了内容工具箱200的示意图;和图5示出了根据本发明的一个实施例的包括用户界面的设备的示意图。
具体实施例方式
现将关于附图,仅通过举例的方式,对本发明进行说明,其中图1示出了包括服务器100、内容工具箱200、移动设备300、运营支持系统(OSS)700、内容供给500和用户界面(UI)源600的系统的示意图。在使用中,服务器100将内容数据和UI数据传递给移动设备300、301、…,其中每个移动设备都包括软件包400。服务器100通过接口与OSS 700连接,该OSS是传统上被用于运营移动网络(例如记帐、计费管理等)的那些OSS。服务器100还通过接口与内容工具箱200连接该内容工具箱从UI源600、601、…接收数据,并将UI数据打包,以便服务器能够将打包的UI数据发送给移动设备300内包含的软件包400。服务器从多个内容供给接收数据,并且该数据经过处理和打包,以便它能够被发送给软件包400或者以便移动设备300能够使用软件包400来访问该数据。
可以设想将该系统分成三个分离的域运营商域50包括由移动网络运营商(MNO)运营的系统和装备;用户域60包括多个移动设备,而第三方域70包括可由许多不同的实体控制或操作的内容供给和UI供给。
图2更详细地示出了服务器100的结构和操作。服务器100包括发布组件110和内容服务器组件150。发布组件包括数据库111、输入队列112、内容工具箱接口113、用户界面114及目录115。在运行中,发布组件在内容工具箱接口从内容工具箱接收内容。该内容以包括一个或多个Trig或者一个或多个Triglet的包210a、210b、…(见下文)的形式呈现。Trig是用于诸如移动电话的移动设备的用户界面,而Triglet是能够用于扩展或改变trig的数据文件。如果包包括多于一个trig,则这些trig中的一个可以是主要trig,其它trig是从该主要trig导出的。
图3示出了用于移动设备300的软件400的示意图,该软件400包括标记语言绘制器410,更新管理器420,网络通信代理425,资源管理器430,虚拟文件系统435,执行者管理器440,多个执行者445a、445b、…,本地UI绘制器450,支持管理器460,trig管理器465和标记语言分析器470。
软件可使用TrigML(该TrigML是XML应用程序)来运行,并且标记语言绘制器410绘制用于显示在移动设备300上的TrigXML代码。标记语言绘制器还使用TrigML分析器来分析TrigML资源,在设备屏幕上显示内容,并控制送受话器上的内容的替换和视图。本地UI绘制器用于显示不使用TrigML就能显示的UI组件,并用于显示错误消息。
软件400以设备特定的方式被提供和安装。同样,以设备特定的方式来处理软件升级。可以更受限制的格式来提供软件,作为仅绘制其内置内容的自含式应用程序即,用内置trig来提供软件,但是之后不能添加额外的trig。所提供的trig可以通过空中进行升级。
trig管理器465向资源管理器430和标记语言绘制器提供接口。通常,它负责trig管理。这包括持续获知使用中的trig,改变当前trig,选择启动时的trig,选择另一个trig作为用于损坏的trig的备用(fallback),维持所安装的trig的集合,识别特定trig被安装到资源管理器中的位置,以及读取trig的更新信道定义和适当地配置更新管理器。
资源管理器提供设备上的持久存储的抽象概念,即,将文件存储为真实文件,或者存储为数据库中的记录。资源管理器向标记语言绘制器和更新管理器提供文件系统接口。它负责处理文件路径逻辑,辨别真实资源文件和执行者属性,将关于trig的路径映射到绝对路径上,与trig管理器通过接口连接,并向更新管理器提供修改接口。
资源管理器还负责确保持久存储中存储的资源的完整性,特别是在面对不可预测的中断(诸如,设备断电)时。资源管理器不知道当前使用的trig。它的接口是线程安全的(因为它可由来自不同线程的更新管理器和绘制器二者使用)。
更新管理器处理Trig和Triglet的接收和应用。更新管理器向绘制器和trig管理器提供接口,并负责当受到绘制器指示时启动手动更新;当由trig管理器如此配置时控制和实施自动更新信道;指示手动更新的进度并在网络连接和/或设备功率意外中断之后恢复更新。更新分组格式可被定义为XML模式的二进制串行化。
支持管理器提供用于其它组件的接口,以报告事件或错误的发生。取决于错误的严重性,支持管理器将把事件记入日志和/或提供错误消息弹出菜单。
XML是用于定义更新分组格式以及TrigML内容的便利的数据格式化语言。出于带宽和存储效率的原因,文本XML被串行化为二进制表示。更新分组和TrigML片段都由相同的组件—标记语言分析器来分析。软件中对XML的任何其它使用都必须使用二进制XML编码,因此必须重新使用分析器。
执行者管理器440监督软件中提供的执行者445的集合。当内容是发送给执行者的事件时,执行者管理器440由绘制器使用;执行者管理器440还由想要通知属性值已经改变的执行者和想要发射事件的执行者使用(见下文)。
软件可包括最少运行两个线程的多线程应用程序,取决于包括多少和什么种类的执行者,可能会运行更多线程。软件主要在称为主线程的—个线程中运行。主线程被用于运行与其它组件同步通信的绘制器。执行者始终具有对绘制器的同步接口。如果执行者由于其功能性而需要额外线程,则执行者负责管理线程间的通信。可使用光消息框架(light messaging framework)来避免在很多执行者需要线程间通信情况下的不必要的代码重复。应该理解的是,也可以使用单线程操作来实现该软件。
除主线程之外,更新管理器运行网络线程。网络线程用于下载更新分组,并从主线程中被分离出来以允许绘制器在分组到达之前继续不受影响。更新管理器负责处理线程间的消息接发,以便更新管理器在应用更新分组中定义的改变时,与绘制器和资源管理器同步通信。
软件的存储分配策略是平台特有的。在MIDP平台上,软件仅使用系统堆和无用单元收集程序来满足其所有存储需求。无论何时发生内容替换事件,无用单元的收集都被强制进行,以试图保持无用单元的收集可预测和不遭受操作中的意外中止的影响。假定任何存储分配都可能失败,在这种情况下,软件将删除其所有对对象、无用单元收集的引用(reference),并重新启动—假设软件已经成功启动并绘制了第一页。
在基于C++的平台上,将从系统堆中进行预先分配和按需分配的混合。启动所需要的所有内存是在启动期间按需分配的,这里任何失败都会导致退出(如有可能,伴有消息)软件。成功启动之后,预先分配绘制内容文件模型所需的内存。如果内容是使用少于定义的限制而创建的,则确保其能够绘制。另外利用RAM用于软件的快速操作所需的各种高速缓存。在低内存条件的情况下,将从软件中释放这些导致绘制性能慢的高速缓存。
严重到足以破坏软件正常操作的错误,必须导致弹出对话框。该对话框包含少量的国际化错误消息中的一个(可在编译时,将这些字符串的国际化译本编辑到软件中,要显示的错误字符串的版本是由设备上的相关语言设置的确定的)。为了将消息的数量保持最小,只涵盖几个一般问题。
为了虑及支持状况,错误对话框还显示错误代码,作为4位数(16-bit)十六进制字符串。每个错误代码与能由支持人员使用以用软件来确定问题实质的说明文本相关联。发生在软件中的并且严重程度没有足以中断其操作的错误,可由支持管理组件记入日志。键入特定键序的用户能够查询支持管理器。支持管理器还可经由HTTP GET或者POST方法将其错误日志提供给服务器。
绘制器接收关于键入的信息。如果在编译时没有配置按键行为,则将其作为TrigML内容事件而发送给当前焦点元素。然后,该内容事件如TrigML的正常事件处理逻辑所定义的那样被处理。
例如,如果按键被按下,‘按键(keypress)’事件连同设置为它们相关的按键的参数被传递给绘制器。当释放按键时,‘!按键’事件被传递给绘制器。如果将按键按下延长的时间段,则‘!长按键(longkeypress)‘事件被传递给绘制器。在释放时,‘!长按键’和‘!按键’事件都被传递给绘制器。
无论何时启动软件,它都执行下面的操作
·检查被中断的更新处理,并继续进行被中断的更新处理;·检查驻留在文件系统中的更新,并处理该更新(或者是预先存储的,或者是由一些其它装置安装到文件系统的);·如果已知,则启动当前trig(其可以是最近运行的trig);·如果没有设置当前trig,则可启动已被标记为‘默认(default)’trig的trig。
·默认trig不存在,则将选择按名称的字母顺序的第一个有效trig。
通过加载定义的资源名称启动/默认(start-up/default)来启动trig。启动/默认中定义的TrigML作为内容根节点的新内容被分析。
在trig安装之后,软件第一次运行trig时,通过加载资源名称启动/首次(startup/firsttime)来启动trig。软件可在位于用于该trig的顶层文件夹中的文件中记录该trig是否已被运行。取决于移动设备使用的平台,可将软件的自动启动设置为编译时间配置选项。此外,将软件置于自动启动之后的背景中也可以是编译时间配置选项。
启动器可出现在用户面前,作为应用程序图标,并且选择该启动器,将会导致启动带有由该启动器指定的trig(该trig可由启动器图标和/或名称来指示)的软件。当使用启动器来启动trig时,可以指定‘入口点(entry point)’参数。该参数是在‘启动’文件夹中发现的文件的资源名称。如果该trig先前从未被运行过,则不使用该文件,在这种情况下使用被称为‘首次’的文件作为替代。
软件使用设备上的虚拟文件系统中存储的内容资源文件。该文件系统被描述为虚拟的,是因为它可以不作为传统的文件系统来实现,而是,所有对资源的引用都是文件路径,好像被存储在文件夹和文件的分层系统中一样。
下面在附录A中给出关于本发明的一个实施例的文件系统布置的细节。此外,软件存储下面的一些或者全部信息使用统计;活动用户数;Trig管理器状态;TrigML片段和更新信道定义(串行化为二进制XML);PNG图像;纯文本,编码为UTF-8 OTA,然后以平台特定的编码方式存储;其它平台特定的资源,例如,铃声文件、背景图片等。
当执行者属性值改变时,或者当文件由triglet替换时,文件系统中的文件可以改变。当/attrs目录中的文件改变时,绘制器立刻得到通知,并且内容树的相关分支被更新和刷新。当图像和文本资源改变时,绘制器就像受影响的资源被立刻重新加载那样工作(可刷新整个内容树,或者只刷新受影响的分支)。当TrigML片段改变时,绘制器表现为好像它没有得到通知那样,并继续显示其当前的可能过期的内容。这是为了避免使软件需要保持当前内容的<include(包括)>元素和<load(加载)>历史。
软件400以设备特定的方式被提供给移动设备。一个或多个Trig可作为安装的一部分来提供,例如,存储为未压缩的更新分组。在启动时,分组可被扩展并安装到文件系统中。
执行者445是发布属性值并处理和发出事件的组件。执行者与绘制器同步通信。如果执行者需要异步运行,则执行者负责管理和与绘制器的主线程外部的线程通信。
执行者属性可以作为文件引用被读取。该属性是以下四种类型之一单独的简单值;简单值的矢量;字段的单独结构,每个字段具有简单值;或者结构矢量。可以使用类似于许多面向对象编程语言的object.meber表示法,用表达式来引用属性<image res=”signallevels/{protocol.signalstrenght}”/>
当需要作为文件时,属性是经由/attrs文件夹访问的。
<text res=”/attr/network/name”>
可通过向执行者发送带有<throw>元素的事件来通知执行者。执行者发出的事件可作为内容事件被传递到内容树这些可以被送到一个元素Id或者‘顶端(top)’。对执行者的接口由执行者接口定义文件定义。这是定义属性、类型、字段名、输入事件(events-in)和参数、以及输出事件(event out)的XML文档。执行者的集合在编译时是可为软件配置的。附录B给出了可以使用的一些执行者的示例性列表,以及相关联的功能或变量。
更新包括新的trig(新的或者替换UI)或者triglet(对现有trig的修改),并且可以被看作对软件文件系统的修改。更新管理器通过读取分组来确定文件系统中的什么需要改变。更新分组可由软件400使用HTTP或其它适合的传输机制通过空中下载,可以设备特定的包格式来打包,或者可通过安装软件本身来预先提供。
更新可以通过许多方式来触发,包括·软件在启动时检查中断的更新处理·软件在启动时检查预先安装的更新分组·如更新信道配置的那样自动地·用户启动·设备接收专用SMS为了成功地绘制移动设备的用户界面,标记语言必须具有下列性质简明的页定义,一致的布局规则,可在紧凑型绘制器中实现,提供多层和任意重叠内容、事件模型,仅需要重新绘制UI各页之间必须改变的显示器区域,包括到用于读取属性值、接收事件和发送事件的平台的异常分支(hook),可扩展,并且图形表示灵活。TrigML提供这些特征,并且附录C给出了提供所需功能的元素和属性的综述。
合乎需要的是,使重新标记UI和产生持续更新流的成本最小。这可以通过提供来自创造性处理经由数据传输到达用户的高效信息流来实现。
被称作包的容器,用于UI、UI更新、以及用于第三方介入(3rd partyinvolvement)的模板。包包含第三方产生、测试和传递标记的UI和更新所需的所有信息。图4示出了内容工具箱200的示意图,该内容工具箱200包括脚本环境220、测试和仿真环境230以及维护环境240。
包处理包括五个处理阶段1)脚本环境220提供设计用于一个或多个UI的模板的手段,并基于该模板提供用于UI的更新策略。
2)维护环境240在可向外输出资源给内容提供商的具有良好控制和引导的环境下提供快速的UI和更新的产生。
3)维护环境240‘预检(pre-flight)’功能允许部署管理员检查和调谐他们从第三方接收到的UI和更新。
4)发布组件110在部署点处提供对UI和更新的管理,包括新版本的登台(staging)。
5)发布组件110使得能够从即时内容供给自动生成更新。
许多不同的UI能从共同的基础导出。典型地,该共同的基础本身会实现界面的大部分,从它导出的Trig会实现关于它的小改变,诸如标记。Triglet能从Trig导出,并且它能够覆盖它所选择的来自父Trig的任何资源(可选地,它可引入它自身的资源)。注意“资源”在这里也指TrigML,所以Trig的行为和布局能由Triglet修改,和它替换单独的图像或文本块一样容易。
包可以包括一个或多个基本Trig,从基本Trig导出的多个Trig,从任何一个trig导出的多个triglet,和从其它triglet导出的多个triglet。
图5示出了根据本发明的一个实施例的包括用户界面的设备800的示意图。该设备包括显示用户界面815的显示器810,和使用户能够与用户界面815交互的用户界面装置820。处理器830执行存储在一个或多个存储装置840内的软件,并且可以设置一个或多个无线通信接口850,以使得能够与其它设备和/或通信网络进行通信。可以容纳一个或多个电池860来为设备供电,该设备还可包括接口来接收电功率和/或通信电缆。
这些组件和接口的实质将取决于设备的实质。应理解的是,这样的用户界面可实现在移动或者蜂窝电话送受话器内,但是也可将其应用到其它便携式设备,诸如数码相机、个人数字组织管理器、数字音乐播放器、GPS导航设备、便携式游戏控制台等。而且,也可将其应用于包括用户界面的其它设备,诸如膝上型计算机或台式计算机。
用户界面装置可包括多个按钮,诸如,数字键盘或字母数字混合键盘,或者触摸屏或类似部件。一个或多个存储设备可包括某种形式的非易失性存储器,诸如存储器卡,以便所存储的数据在断电的情况下不会丢失。可提供ROM存储器装置来存储不需要更新或改变的数据。一些RAM可被设置用于暂时存储器,因为更快速的响应时间支持频繁访问的数据的高速缓存。该设备还可容纳用户可拆卸存储器卡,可选地,硬盘驱动器可以用作存储装置。所使用的存储装置将通过平衡设备大小、功率消耗、所需存储器容量等的不同需求来确定。
这种设备可实际上结合任何无线通信网络(例如,第二代数字移动电话网络(即,GSM、D-AMPS),所谓的2.5G网络(即,GPRS、HSCSD、EDGE),第三代WCDMA或者CDMA-2000网络,以及这些和类似网络的改进和衍生物)来实现。在建筑物和校园内,也可使用其它技术,诸如蓝牙、IrDa或无线LAN(不管基于无线还是光学系统)。可为与其它设备的数据同步和/或电池充电来提供USB和/或火线连接。
用于实现如上所述的方法和/或用于配置如上所述的设备的计算机软件可提供在数据载体(诸如,软盘、CD-ROM、DVD、非易失性存储卡等)上。
该申请要求2004年2月19日提交的UK专利申请第0403709.9号的优先权,其内容被引用在此作为参考。
附录A对于以‘/’开始的文件路径

不以‘/’开头的文件路径被认为是关于当前trig,即,每个tirg都存储在来源于单独文件夹的其自己的文件夹分层结构中。


附录B




附录C








































权利要求
1.一种绘制用于设备的用户界面的方法,所述方法包括以下步骤提供多个执行者,所述多个执行者中的每个与用户界面元素相关联,并包括定义相应的执行者的一个或多个属性;提供绘制器以从所述多个执行者中的一个或多个接收一个或多个属性;和根据所述接收到的属性来绘制所述用户界面。
2.如权利要求1所述的方法,其中,如果执行者属性被更新,则所述更新由所述绘制器接收,并且所述用户界面被相对应地更新。
3.如权利要求2所述的方法,其中,执行者属性响应用户更新而被更新。
4.如权利要求2所述的方法,其中,属性的所述更新使用户界面元素的格式改变。
5.如权利要求2所述的方法,其中,属性的所述更新使用户界面元素在所述用户界面内移动。
6.如前述权利要求中任一项所述的方法,其中,所述执行者属性包括标记语言,并且所述绘制器是标记语言绘制器。
7.一种数据载体,包括用于执行权利要求1至6中任一项所述的方法的计算机可执行代码。
8.一种设备,包括用户界面,所述用户界面包括一个或多个用户界面元素;多个执行者,所述多个执行者中的每个与用户界面元素相关联,并包括一个或多个属性;和绘制器,所述绘制器被配置成,在使用中,解释与所述多个执行者中的一个或多个相关联的所述属性,并相对应地绘制所述用户界面。
9.如权利要求8所述的设备,其中,所述设备还包括用于显示所述用户界面的显示装置。
10.如权利要求8或9所述的设备,其中,所述设备还包括用于接收供绘制所述用户界面使用的另外的执行者的通信接口。
11.如权利要求8至10中任一项所述的设备,其中,所述设备还包括配置成存储所述多个执行者的存储装置。
12.如权利要求8至11中任一项所述的设备,其中,所述设备还包括配置成操作所述绘制器的处理装置。
全文摘要
本发明提供了一种由多个执行者和与执行者相关联的属性定义的用户界面。绘制器被用于根据执行者的属性来绘制用户界面。执行者属性的改变,例如,响应按键,使得用户界面被更新。
文档编号H04M1/725GK1922609SQ200580005555
公开日2007年2月28日 申请日期2005年2月21日 优先权日2004年2月19日
发明者S·G·布特林, N·H·克拉里, J·B·布劳克夫, N·C·布鲁克 申请人:高通剑桥有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1