即时消息传递的制作方法

文档序号:11892484阅读:367来源:国知局
即时消息传递的制作方法与工艺

即时消息传递提供了在两个或更多个用户之间经由通信系统的实时通信。该通信主要是基于文本的,但是还会涉及到基于文件传输和能够选择的超链接等的通信。为了参与即时消息传递,每个用户执行通信系统中的用户设备处的客户端。该客户端是分布到用户的一块软件,其在通信系统中的用户设备处执行时使用户能够参与通信系统上进行的即时消息传递。用户能够参与通信系统上进行的即时消息传递对话,其中即时消息在用户之间传送。用户的各用户设备之间的即时消息传递通信会话可以被建立,并且在即时消息传递通信会话中可以经由通信系统的通信网络在用户设备之间传送消息。即时消息传递对话可以包括两个或更多个的用户,即时消息传递通信会话可包括两个或更多个的用户设备。

作为示例,在第一用户设备处执行第一客户端的第一用户可以参与与在第二用户设备处执行第二客户端的第二用户的即时消息传递对话。消息能够沿两个方向在第一设备与第二设备之间的即时消息传递通信会话中在第一客户端与第二客户端之间传送。所传送的消息构成了消息的时间序列。第一用户能够将文本消息输入到在他的用户设备处执行的第一客户端,并且第一客户端能够将文本作为消息传送到第二用户设备处的第二客户端。第二客户端能够解释即时消息并且将文本消息显示给第二用户。

在对话期间,第一用户还能够选择由第一客户端呈现的将文件传输到第二用户的选项,并且第一客户端能够在即时消息传递通信会话中传送通知消息以将文件传输通知给第二用户。文件可以是媒体文件,诸如音频文件、视频文件或(静态/静止)图像文件。文件本身的传送可以自动地开始或者可以响应于第二用户选择接受文件传输的选项而开始。一旦传送,第二用户可以选择保存或打开传送的文件的选项,例如,在第二设备上执行的媒体应用中播放媒体文件的选项。

在即时消息传递通信会话中通过通信系统传送仅包含文本的消息所花费的时间足够短(例如,≤2秒)以使得用户将通信视为实时发生的并且能够维持交互式对话;包含媒体文件的消息会由于它们增加的比特大小而花费较长的时间。在第一用户设备和第二用户设备处的客户端能够存储在对话期间已经传送(以及接收)的即时消息。通过这种方式,第一客户端能够将第一用户已经参与的对话中所发送的即时消息的对话历史保存在第一用户设备处。这允许第一用户从第一用户设备处先前的对话中取回即时消息。类似地,第二客户端能够将第二用户已经参与的对话中所发送的即时消息的对话历史保存在第二用户设备处。这允许第二用户从第二用户设备处先前的对话取回即时消息。通过顺序地显示所传送和接收的消息(即,根据消息被传送和接收的时间次序),可以显示对话历史。对话历史可以包括在过去和当前的即时消息传递通信会话中发生的文件传输。



技术实现要素:

在下文中,用户设备包括:显示器,其具有可用显示区域,以及用于访问计算机存储设备的访问组件、网络接口,以及一个或多个处理器。网络接口被配置为在即时消息传递通信会话中在用户设备与通信网络之间传送和接收消息。消息构成了用户设备的用户通过响应于通信会话中接收到的消息的接收而发起新消息的传送而参与其中的消息的序列。计算机存储设备被配置为存储传送和接收的消息。一个或多个处理器被配置为运行具有用户接口的客户端应用。该用户接口被配置为在对话模式中操作以便在可用显示区域中按顺序显示传送和接收的消息中的至少一些。客户端应用被配置为响应于模式切换指令而访问计算机存储设备以便自动地标识出存储的消息中的最近期接收到的消息以及修改客户端用户接口以在参与模式下操作从而显示至少所标识的消息。在参与模式下所显示的每个消息占据了比对话模式中大的可用显示区域的相应的比例。

还公开了通过所述客户端应用执行的对应的方法,以及构成计算机程序产品的被配置为存储所述客户端应用的计算机可读介质。

提供该发明内容以便以简化的形式来引入下面的具体实施方式中进一步描述的概念的选择。该发明内容不旨在确定所要求保护的主题的关键特征或主要特征,也不旨在用于限定所要求保护的主题的范围。所要求保护的主题也不限于解决在

背景技术:
部分所提到的任意或全部缺点的实现方式。

附图说明

为了更好的理解本主题以及显示出如何将其实施,现在将通过示例的方式参考附图,在附图中:

图1是通信系统的示意性图示;

图2是用户设备的示意性框图;

图3是用于即时消息传递通信方法的示意性的流程图;

图4A是在对话模式下操作的通信客户端用户接口的示意性的图示;以及

图4B是根据第一实施例在参与模式下操作的通信客户端用户接口的示意性图示;

图4C是根据第二实施例在参与模式下操作的通信客户端用户接口的示意性图示。

具体实施方式

现在将仅通过示例的方式来描述实施例。

在所描述的实施例中,运行于用户设备上的通信客户端具有客户端接口,该客户端接口将即时消息传递通信会话的传送和接收到的消息显示在显示器的可用显示区域中。传送的消息构成了存储在用户设备处的消息的时间序列。客户端用户接口能够在至少两种模式中的一种模式下操作。第一模式是对话模式,其中传送和接收的消息中的每个(或至少一些)以类似于已知通信客户端的方式按顺序显示。第二模式是参与模式,其中仅经由客户端用户接口显示序列中的仅一个接收到的消息,以及序列中的至多一个附加消息(例如,序列的最近期传送的消息),而不显示序列中的任何其它消息。也即,在参与模式下显示序列中的至少一个而不多于两个的传送和/或接收到的消息。

显示的消息在参与模式中相对于在对话模式中被放大;也即,序列的最近期接收到的消息和序列的附加消息(在显示时)与它们在对话模式中占据的相比在参与模式中占据了较大的可用显示区域的相应部分,从而在参与模式中显示的每个消息分别占据了与在对话模式中显示时该消息所占据的相比较大的可用显示区域的相应比例。

参与模式因此非常适合显示与在对话模式中没有显示的一个传送的消息和一个显示的消息有关的附加“丰富媒体”内容。例如,诸如图像或视频的媒体内容能够从那些消息本身中提取,可以在参与模式下(而不是在对话模式中)经由客户端用户接口显示,和/或诸如本地存储的图像和/或视频(诸如图标、图形和各种字体)的本地媒体内容可被选择以补充那些消息且在参与模式中(而不是在对话模式中)显示。

首先参考图1,图1示出了基于分组的通信系统100。通信系统的第一用户102(用户A或“Alice”102)操作用户设备104,显示该用户设备104连接到通信网络106。通信网络106可以例如是互联网。用户设备104可以是例如移动电话(例如,智能手机)、个人数字助理(“PDA”)、个人计算机(“PC”)(包括例如,WindowsTM、Mac OSTM和LinuxTM PC)、游戏设备、平板计算设备或其它能够连接到网络106的嵌入式设备。用户设备104被布置成接收来自设备的用户102的信息以及输出信息到设备的用户102。用户设备104包括诸如屏幕的显示器以及诸如键板、操纵杆、触摸屏、键盘、鼠标、麦克风和/或网络摄像机的输入设备。

注意,在可替代的实施例中,用户设备104能够经由图1中未示出的另外的中间网而连接到通信网络106。例如,如果用户设备104是移动设备,则其能够经由蜂窝移动网络(图1在未示出),例如GSM或UMTS网络,连接到通信网络106。

用户设备104正在运行由与通信系统100相关联的软件提供商所提供的通信客户端108。通信客户端108是在用户设备104中的本地处理器上执行的软件程序,其允许用户设备104通过网络106来参与通话以及即时消息传递通信会话。

图1还示出了第二用户110(用户B或“Bob”),该第二用户具有用户设备112,用户设备112执行客户端114从而通过网络106按照用户设备104执行客户端108而通过网络106通信的相同的方式来通过网络106进行通信。因此,用户A和B(102和110)能够通过通信网络106彼此通信。可以有更多的用户连接到通信网络106,但是为了清晰起见,在图1中仅示出了两个用户102和110连接到网络106。

每个通信客户端实例104、112具有登录/认证设施,其将用户设备104、112与其相应的用户102、110关联,例如,通过用户在客户端处输入用户名和口令,针对通信系统100的服务器(或类似设备)处所存储的用户账户数据进行校验,作为认证程序的部分。用户可以具有与相同的登录/注册细节相关联的其它设备上运行的通信客户端实例。

在具有特定的用户名的同一用户能够同时登录到不同设备上的同一客户端应用的多个实例的情况下,后端服务器120被布置成将用户名(用户ID)映射到那些多个实例中的全部,而且将单独的子标识符(子ID)映射到每个特定的单个实例。因此,通信系统能够在不同实例之间进行区分,同时仍维持通信系统内的用户的一致的身份。

用户102作为“用户A”在设备104的客户端108处登录(经认证)。用户112作为“用户B”在设备114的客户端114处登录(经认证)。

图2示出了客户端108在其上执行的用户设备104的详细视图。用户设备104包括中央处理单元(“CPU”)202,连接到该中央处理单元202的是诸如屏幕的显示器204、诸如键板(或键盘)206的输入设备、以及用于捕获视频数据的照相机208。显示器204可以包括用于输入数据到CPU 202的触摸屏。输出音频设备210(例如,扬声器)和输入音频设备212(例如,麦克风)连接到CPU 202。显示器204、键板206、照相机208、输出音频设备210和输入音频设备212集成到用户设备104中。在可替代的用户设备中,显示器204、键板206、照相机208、输出音频设备210和输入音频设备212中的一个或多个可以不集成到用户设备104中,而是可以经由相应的接口连接到CPU 202。该接口的一个示例是USB接口。CPU 202连接到网络接口226,诸如用于与通过通信系统100通信的通信网络106通信的调制解调器。网络接口226可以集成到用户设备104中,如图2所示。在可替代的用户设备中,网络接口226不集成到用户设备104中。

图2还示出了在CPU 202上执行的操作系统(“OS”)214。运行于OS 214之上的是用于客户端108的软件栈216。软件栈显示出客户端协议层218、客户端引擎层220和客户端用户接口层(“UI”)222。每层负责具体的功能。因为每层通常与两个其它层通信,所以它们被视为布置在如图2所示的栈中。操作系统214管理计算机的硬件资源并且处理经由网络接口226传送到网络或者从网络传送的数据。客户端软件的客户端协议层218与操作系统214通信且管理通过通信系统100的连接。需要更高层处理的过程被传递到客户端引擎层220。客户端引擎220还与客户端用户接口层222通信。客户端引擎220可以布置为控制客户端用户接口层222以将信息经由客户端的用户接口呈现给用户以及经由用户接口从用户接收信息。

现在将参考作为方法的流程图的图3来描述即时消息传递通信方法。还将参考图4A、图4B和图4C,这些图示出了在各实施例中呈现为该方法的部分的示例性的客户端用户接口。

在步骤S302,用户102、110(Alice和Bob)参与即时消息传递对话,由此在即时消息传递通信会话中在第一用户设备104与第二用户设备112之间传送和接收消息。消息构成了用户102、110通过响应于接收到通信会话中接收到的消息而发起新消息的传送而参与其中的对话的消息的序列。消息沿两个方向(即,从第一用户设备104到第二用户设备110,且反之亦然)传送,Alice 102响应于接收到来自Bob 110的接收到的消息而发起新消息的传送,且反之亦然。即时消息传递对话可以包括多于两个用户,且即时消息可以在对话中的任意用户之间传送。

例如,即时消息传递通信会话可以,通过Alice和Bob登录到他们相应的客户端108、114上并且Alice和Bob中的一者向另一者发起初始消息的传送而在用户设备104、112之间建立,以及然后通过那些用户中的一者或两者登出他们相应的客户端108、114和/或在建立的即时消息传递通信会话中在用户设备104、112之间没有消息被传送的预定的消息不活跃时间段后终止。

通信会话中的消息通过网络106来传送。这些消息可以经由连接到网络106的服务器在第一用户设备104与第二用户设备112之间传送。可替代地或者另外地,通信会话的消息可以在第一用户设备104与第二用户设备112之间的点对点路径(即,不经由通信系统100中的任何服务器的路径)上传送,这是本领域公知的。为了使得第一用户102将消息经由点对点路径传送给第二用户110,第一用户设备104从通信系统100的服务器或者从网络106中的另一节点(诸如另一用户设备)取回第二用户设备112的互联网协议地址(IP地址)。第一用户设备104随后可以在即时消息传递会话中将消息直接发送到第二用户设备112的IP地址,而不经由任何服务器发送即时消息。

消息能够包含一个用户在他们的用户设备处输入以便传送到另一用户设备的文本。客户端用户接口能操作以便在参与模式和对话模式二者中显示用户102(Alice)输入的以待在即时消息传递通信会话的消息中传送但尚未传送的文本。具体地,客户端108经由客户端用户接口显示消息字段(图4A,图4B和图4C中的410),Alice利用键板206将文本405输入到消息字段中。客户端用户接口显示可选发送选项412,Alice能够在输入了该文本后选择该可选发送选项。作为回应,客户端108创建包含输入文本的消息且将创建的消息经由网络106发送到Bob的用户设备112。Bob随后以类似方式对Alice的消息做出回应,或者在Bob没有对Alice较早的消息做出回应的情况下Alice可以通过类似的方式发起另一消息的传送。

在该实施例中,除了传送基于文本的消息之外,媒体消息也能够在即时消息传递通信会话中在设备104、110之间传送和接收。媒体消息是包含了音频数据和/或图像数据的消息,包括视频数据和静态图像数据,作为文本的替选或者附加。例如,Alice能够通过将媒体文件从另一应用或者从操作系统314显示的窗口“拖放”到消息字段410中来选择媒体文件以用于在即时消息传递通信会话的媒体消息中传送,或者客户端108可以经由客户端用户接口来显示可选的媒体内容选项(图4A,图4B,图4C中没有显示),可选的媒体内容选项可被选择从而选出用于在即时消息传递通信会话的媒体消息中传送的媒体内容。

除了媒体文件之外的文件也能够被选择以便在即时消息传递通信会话中的消息中传送。

所传送和接收的消息被存储在用户设备104的存储器(计算机存储设备)212中。每个存储的消息具有关联的时间戳,指示传送的时间和/或接收的时间。在该实施例中,传送时间时间戳针对每个消息在传送之前生成且作为该消息的部分来传送。在可替代的实施例中,接收时间时间戳可针对每个消息在接收时生成且与对应消息相关联地存储。

在步骤S304,客户端108的用户接口在对话模式中操作,在对话模式中传送和接收的消息按顺序显示。也即,在即时消息传递通信会话中从用户设备104传送的消息以及在用户设备104处接收到的消息按它们相对于彼此传送和接收的时间顺序显示。在图4A中示出了示例性的对话模式,显示出当客户端用户接口在对话模式中操作时用户设备104的显示器204。图4A显示出在Alice的显示器204上显示的在示例性的日期2014年12月20日发生于Alice 102与Bob 110之间的即时消息传递会话的接收和传送的消息。客户端用户接口显示内容——包括传送的和接收的消息——于显示器204的可用区域400中。如图4A,图4B和图4C中所描绘的,显示器的可用区域是显示器整体。然而,可设想,显示器的可用区域(即,客户端108可用的区域)可仅构成显示器的一部分,例如,显示器的其余部分由操作系统和/或执行于其上的其它应用使用来显示其它内容。在该实施例中,朝向可用显示区域400的顶部显示较旧的消息,而朝向可用显示区域400的底部显示较新的消息,但是在可替代的实施例中,这可以相反,即,朝向可用显示区域400的顶部显示较新的消息,而朝向显示器的底部显示较旧的消息。

在对话模式中,每个消息连同其对应的时间戳以及有关该消息所源起的参与者(即,Alice或Bob)(即,发送者)的指示一起显示,如图4A所示。例如,源自于特定的参与者的消息可以针对独属于该参与者的背景颜色或图像以及结合发送者的标识符诸如用户名来显示(如图4A所示)。在图4A的示例中,时间戳显示在可用显示区域400的右手侧(格式化为“小时:分钟,秒”),也显示日期报头以便根据传送或接收的日期来对显示的消息进行分区。

当传送或接收的消息包含文本时,通过显示该消息的该文本来显示该消息。当传送或接收的消息包含诸如音频文件的媒体文件或者表明用户410希望发送媒体文件即视频文件或图像文件的通知消息时,显示图标406以与媒体文件的文件名(诸如图4A中的“cat.mov”)相结合地表示该文件从而通知用户104。将意识到,这仅仅是一个示例,存在许多将包含媒体文件的消息(或期望媒体文件传送的通知)在对话模式中表示在显示器上的方式。在消息包含除了媒体文件之外的文件的情况下,可以通过类似的方式显示该消息,但是可显示除了图标406之外的图标以将非媒体文件与媒体文件区分开。

媒体文件可以响应于用户102选择一个响应于来自用户设备110的通知消息而接受文件传输的选项而从用户设备110传送到用户设备104,或者文件可以简单地传送给用户设备104,而无需咨询用户102。

在图4A的示例中,在2013年12月20日时间19:06.27传送最近期传送的消息402(由Alice 102传送给Bob 110);在2013年12月20日时间19:07.02接收最近期接收到的消息402(由Alice从Bob接收)。在该示例中,最近期传送的消息(由Alice传送)包含了在Alice选择将该文本传送给Bob的发送选项412之前由Alice输入到消息字段410中的以供发送的文本;最近期传送的消息402通过显示该文本而在对话模式中显示在Alice的显示器上。最近期接收到的消息(从Bob接收)包含了视频文件“cat.mp4”,其在该示例中是Bob的新的猫的视频,由Bob作为与Alice的对话的部分而发送;最近期接收的消息404通过以上述方式显示图标404以及文件名“cat.mp4”而显示在Alice的显示器上。

最近期接收的消息(由Alice接收)和最近期传送的消息(由Bob传送)可能在时间上不相邻,即,其它消息可以在最近期传送的消息和最近期接收的消息之间传送或接收。当即时消息传递通信会话的传送和接收的消息在对话模式中按顺序显示时,这些其它消息显示在最近期接收的消息与最近期传送的消息之间。如果最近期接收的消息在消息序列中位于最近期传送的消息之前(如图4A的示例中那样),其它消息,诸如图4A中的消息403,可以由Alice在最近期传送的消息的传送与最近期接收的消息的接收之间的时间接收。如果最近期传送的消息在消息序列中位于最近期接收的消息之后,其它消息可以在最近期传送的消息的传送与最近期接收的消息的接收之间的时间由Bob传送。

图4A的示例示出了“草稿”消息405(的部分)。也即,已经由Alice响应于Bob的上一消息406输入到消息字段410中的文本,对该文本的传送尚未由Alice选择发送选项412而发起(即,尚未传送到Bob的文本)。

在步骤S306,发起模式切换指令以将客户端用户接口的模式从对话模式改变成“参与模式”。参与模式将在下文更详细描述。消息在参与模式下以调整成在即时消息传递对话中高级的用户参与(即,调整成用户102密切关注对话且不受其它事件干扰的情形)的方式来显示。

在一些实施例中,通过Alice 102手动地发起模式切换指令。也即,模式切换指令响应于用户设备104处的用户输入而发起。用户输入可以例如是用户设备的输入设备检测到的滑动或姿势。输入设备可以是例如用户设备104的触摸屏、照相机208或者诸如基于红外的深度传感器或类似设备的另一传感器。例如,用户输入可以是基于触摸的夹捏姿势。可替代地或者另外地,客户端108可以经由客户端用户接口(未示出)而显示模式切换选项,响应于该模式切换选项的选择,客户端将模式从对话变成参与。

在实施例中,操作系统214接收并处理来自输入设备的(较低级)用户输入数据且将(较高级)经处理的用户输入数据供给客户端应用108。客户端108随后执行存储器228中的最近期接收的消息402的自动标识以及响应于(较高级)经处理的输入数据而将客户端用户接口修改成参与模式。因此,是客户端应用,而不是客户端应用在其中运行的操作系统,发起对客户端用户接口的修改(与比如操作系统仅通过响应于不会涉及到客户端应用或者不会由客户端应用引起的用户输入而放大显示器上当前所显示的输出图像的区域而“放大”形成对比)。

在其它实施例中,通过客户端108自动地发起模式切换指令。例如,在一个实施例中,模式的变化是通过在用户设备104处分析Alice的活动而自动地发起的。更具体地,分析Alice的行为以便检测指示在与Bob的对话中Alice的参与级别的条件,Alice的参与级别是Alice集中于与Bob的对话而不受其它事件干扰的程度。响应于客户端108判定出Alice在对话中的参与级别足够高以使得确保该切换,而发起模式切换指令。

该条件可以例如基于即时消息传递通信会话的消息在Alice与Bob之间传送和接收的当前频率。也即,检测到的条件可以是消息在用户设备与通信网络之间传送和接收的检测频率。在该情况下,假设越高频率的消息交换指示在对话中越高级别的用户参与,而假设越低频率的消息交换指示在对话中越低级别的用户参与。也即,对于较高频率的消息交换,相比于较低频率的消息交换,假设Alice的注意力更集中于对话(而且她不太受除了对话之外的事件干扰)。因此,条件可以是消息交换频率中的一个,如果超过上限阈值频率则被视为表明Alice的足够高的参与级别(因此,当消息交换频率超过该阈值时,客户端用户接口切换到参与模式)。

可替代地或者另外地,该条件可以基于用户102(Alice)的存在(或状况)指示符。如本领域已知的,用户的存在指示符提供了该用户当前情形(即,当前用户状态)的指示,并且可以尤其提供他们的当前可用性的指示。存在指示符可以例如取“在线”、“离开”、“忙碌”等值,分别表明例如用户当前在线和空闲,用户在线但是可能离开他们的用户设备,用户在线但是忙于其它。这可以通过客户端108自动地确定,例如,如果在一定量的时间内没有在用户的用户设备处检测到用户活动,则用户的存在指示符可以自动设定成“离开”,然后在检测到恢复的用户活动时返回到“在线”;类似地,当检测到用户在他们的用户设备处活跃但是当前正与除了客户端108之外的运行于OS 214上的应用进行交互时和/或如果其它应用例如当前在全屏模式(例如,当前显示全屏视频的视频应用),则指示符可设定成“忙碌”,而随后当用户开始与客户端108交互时和/或当他们退出全屏模式时,返回“在线”。因此,该条件可以是用户存在状况中的一个,如果例如是“在线”而非“离开”或“忙碌”则被视为表明足够高级别的参与。

也即,在检测条件是用户的存在状况的实施例中,存在状态表明用户的当前状态。客户端可被配置为通过分析用户设备处的用户活动而自动地设定存在状况。用户存在状况可以表明,用户是在线、离开还是忙碌。

可替代地或者另外地,该条件可以基于历史用户数据。例如,客户端108可以基于应用于已经发生在Alice和Bob之间的历史对话的适当的交互计量而确定Alice和Bob是“好”朋友。也即,标识Alice与Bob之间的预先存在的关系的、关于Alice与Bob之间的历史交互的信息存储在用户的用户设备的存储器中;客户端108访问存储器以标识预先存在的关系且作为响应来切换模式。例如,计量可以是在过去例如几个月内参与彼此的语音或视频通话等而在即时消息传递通信会话中交换的消息的次数(例如,天数)的函数。因此,条件可由当前计量值给出,如果超过一定的上限阈值则被视为表明足够高的用户参与级别。例如,在计量被定义为Alice与Bob之间的历史交互数的情况下,则如果超过历史交互数的上限阈值则条件可以被认为表明足够高级别的用户参与。

也即,在实施例中,关于用户与另一用户之间的至少一个先前交互的信息存储在用户设备处,存储的信息标识用户与另一用户之间的关系。即时消息在用户设备与关联另一用户的至少另一设备之间的即时消息传递会话中经由通信网络传送和接收。客户端被配置为访问计算机存储设备以根据存储的信息而标识用户与另一用户之间的关系,响应于此客户端修改客户端用户接口而在参与模式下操作。

此外,自动切换可以基于用户的过去的手动切换行为。也即,客户端可进一步操作以响应于用户设备处的用户输入而进入和/或退出所述模式中的至少一种(即,客户端可以实现手动切换以及自动切换)。关于用户先前如何频繁地选择进入和/或退出该模式的信息存储在存储器228中,并且该信息(显式地或者本质上地)标识出用户的模式偏好。因此,例如,如果在过去用户已经选择退出[resp.enter](相应地,进入)参与模式(例如,在客户端已经自动进入该模式后)一次或多次,则客户端可以增加[resp.decrease](相应地,减小)参与阈值(例如,消息交换频率阈值),在该参与阈值以上,发生到参与模式的切换(即,客户端会变得更不愿[resp.willing](相应地,愿意)自动进入参与模式),因为该信息本质上标识出用户的偏好倾向于朝向[resp.away from](相应地,远离)对话模式以及远离[resp.towards](相应地,朝向)参与模式。在固有的或显式的用户模式偏好表明极其厌恶一种模式的情况下,客户端可以完全禁止自动切换到该模式(但是仍可以根据所上述适当地自动切换到其它模式)。

因此,客户端应用可以响应于用户设备处的用户输入而使得用户能够控制用户接口;用户设备可以包括用于访问被配置为存储关于用户对用户接口的先前控制的信息的计算机存储设备的访问组件,存储的信息标识出用户的用户接口模式偏好;客户端可被配置为访问计算机存储设备以根据存储的信息来标识用户的用户接口模式偏好,响应于此客户端修改客户端用户接口以在另一模式(对话模式或参与模式中的一个)下操作。

将意识到,条件可以是由多个子条件构成的多因素条件。例如,条件可以是用户的当前状况和消息交换频率中的一个,如果用户既“在线”且消息交换频率在上限阈值之上,则该条件被视为表明Alice 102足够高级别的参与而提示模式改变。

在步骤S308,响应于模式切换指令,客户端108修改其用户接口而在参与模式下操作。在参与模式下,在Alice与Bob之间发送的消息序列中的最近期接收的消息在存储器228中由客户端108自动地标识出且显示出;也显示出序列的至少一个附加的消息(例如,序列的最近期传送的消息),不显示该序列的其它消息。

根据第一实施例的示例性的参与模式图示在图4B中,该图示出了根据第一实施例,当客户端用户接口操作于参与模式时,用户设备104的显示器204。在第一实施例中,显示最近期接收的消息,显示序列的附加消息,附加消息是该第一实施例中的最近期传送的消息。在该实施例中,附加的消息和最近期接收的消息在参与模式下显示在可用显示区域400的毗邻部分中。

在根据第一实施例的参与模式中,显示出最近期接收的消息402(由Alice从Bob)。与从Bob的用户设备112接收到的消息中的每个相关联地,根据存储在存储器228中的时间戳,客户端108在存储器228中自动地标识出该接收的消息。最近期传送的消息404(从Alice到Bob)也被显示出。同样,与从Alice的用户设备104传送的消息中的每个相关联地,根据存储在存储器228中的时间戳,客户端108在存储器228中自动地标识出该传送的消息。

当接收(相应地,传送)新消息而用户接口操作于参与模式时,将当前显示的接收消息404(相应地,当前显示的传送消息402)替换成该新接收(相应地,新传送)的消息。从当前显示转换到新显示的消息可以做成动画(例如,通过平移、旋转或淡入淡出动画效果)。

仅显示出这两个消息,不显示该序列的其它传送和接收的消息。两个显示的消息402、404分别在参与模式下比在对话模式下占据了可用显示区域400的更大的相应的部分。也即,与当在对话模式中显示时相比,当在参与模式下显示时,最近期传送的消息402占据了可用显示区域400的较大部分,并且与当在对话模式中显示时相比,当在参与模式中显示时,最近期接收的消息404占据了可用显示区域400的较大的部分。当在参与模式下显示的消息包含文本时,与在对话模式中相比,在参与模式中,该文本可以例如以较大的文本尺寸显示。

在参与模式下显示的消息402、404被显示为“丰富媒体”消息。通过在参与模式下显示在对话模式中没有显示的属于一个消息的诸如视频和/或图像的附加的媒体,该消息被显示为“丰富媒体”消息。附加的媒体例如是从该消息本身提取的和/或基于对该消息的处理来本地地存储和选择。这促进了在参与模式下适当的期望视觉效果的产生,因为与对话模式相比存在专用于显示消息402、404的显示区域的较大部分。

例如,附加媒体的至少部分可以存储在存储器228中。例如,对于包含文本的消息,客户端108可以从存储在Alice的用户设备104的本地存储器228中的媒体中选择媒体(例如,音频和/或视频)并且与消息文本本身相结合地显示选定的媒体。例如,在图4B的示例中,客户端选择了附加媒体元素409’和414’,其在参与模式下(而不是在对话模式下)与最近期传送的消息402的文本相结合地显示。这些可以是(静态)图像元素或视频元素。在参与模式下,媒体元素409’被显示为与消息410的文本并排的图形(动态的或静态的);媒体元素414’被显示为出现在消息文本和图形409’后面的背景图像或视频。

在该实施例中,客户端被配置为处理至少一个消息以及访问计算机存储设备以基于所述处理来选择存储的附加媒体。例如,在图4B中,媒体元素408’,409’是由客户端108基于消息402的文本来选择的,从而补充该文本,例如,通过客户端108对消息的文本执行文本识别程序,由此该文本的某些预定词语和/或字符被视为映射到存储器228中的相应的对应媒体元素,并且那些媒体元素由客户端108来选择以便在参与模式下与消息文本相结合地显示。

通过使用除了用于在对话模式下显示该文本的之外的字体和/或不同的字体样式(粗体、斜体、下划线等)和/或文本颜色(红色、绿色、蓝色等)在参与模式下显示该文本(使得使用与在对话模式中所使用的那些不同的字体图像来在参与模式下表示该文本的相应的字符),包含文本的消息可以替选地或者另外地显示为丰富媒体消息,如图4B中针对从Alice发送给Bob的最后的消息402所示的。此外,消息文本会在参与模式下服从在对话模式中未使用的文本效果。例如,在参与模式下的消息文本中的一些或全部可以在显示之前服从图形处理,例如,创建文本呈现动画效果(例如,平移和/或旋转运动)或者文本呈现图形效果(例如,3D效果,诸如浮凸、阴影等,或者2D效果,诸如镜头眩光、渐变颜色等)。

作为另一示例,通过在参与模式下提取并显示在对话模式中没有显示的该消息的媒体内容的一些或全部,例如在媒体消息包含静态图像的情况下,在对话模式下没有显示的那些图像中的一个或多个可以在参与模式下显示;在媒体消息包含视频的情况下,在对话模式中没有显示的那些视频的一个或多个或者其至少一个或多个(静态)视频帧可以在参与模式下显示,媒体消息(即,包含诸如静态图像和/或视频文件的媒体的消息)可以显示为“丰富媒体”消息。例如,在图4B的示例中,最后接收到的消息404(由Alice从Bob处接收)包含了Bob的新来的猫的视频“cat.mp4”,通过显示从该视频提取的静态视频帧406’(使用静态视频帧来在参与模式下表示该视频,而不是在对话模式下用于表示该视频的图标406),在参与模式下显示消息406’。还与视频帧406’相结合地显示可选播放选项408’,响应于对可选播放选项408’的选择,客户端108开始经由客户端用户接口来播放视频406,例如在与用于显示视频帧406基本相同的可用显示区域400的部分中。也即,通过客户端108本身,而不是通过运行于OS 214上的单独的应用来播出视频。

当媒体文件包含音频文件时,通过显示该音频的波形表示以及可选播放选项,该音频文件可以在参与模式下例如被显示丰富媒体消息,响应于对可选播放选项的选择,客户端108经由扬声器210播出音频。

根据第二实施例的示例性的参与模式图示于图4C中,该图示出了,根据第二实施例当客户端用户接口操作于参与模式时,用户设备104的显示器204。

在该实施例中,最近期接收的消息404由客户端108自动地标识且如第一实施例那样在参与模式下显示。然而,如图4C中所示,不必显示已经传送和接收到的消息的序列的附加消息(例如,最近期传送的消息402);相反,草稿(即,尚未传送)消息405反而被显示(即,Alice尚未通过选择发送选项412而发起传送的、Alice已经输入的要传送给Bob的任意文本405反而被显示出)。草稿消息的输入文本在参与模式下相对于对话模式被放大,也即,在第二实施例中,草稿消息的文本在参与模式下占据了比在对话模式下大的可用显示器区域400的部分。

根据第二实施例,当没有草稿消息要显示时(例如,因为自从将消息序列中的上一消息从Alice传送给Bob起Alice尚没有输入任何新的要传送给Bob的文本),作为替代最近期传送的消息可以可选地显示出。同样,当如此显示时,最近期传送的消息如第一实施例那样显示,在参与模式下占据了比在对话模式下大的可用显示区域400的部分。

因此,将参与模式调整成Alice高度参与同Bob的对话的情形,使得Alice更可能在对话中的每个接收的消息一到达时就观看每个接收的消息,并且快速地回应而使得对话在较短时间间隔内发生。因此,在该事件中Alice对于如对话模式中所示的线性对话历史具有较少的需求,因为她更可能将对话保存在她自己的脑海中。相反,对话模式被调整成Alice不高度参与对话的情形,其中她不太可能在每个接收的消息一到达时就观看每个接收的消息,并且在较长时间后做出回应而使得对话在较长的时间间隔内发生。因此,Alice在该事件中对于如对话模式中所显示的线性对话历史具有较大的需求,因为她不太可能将对话保存在她自己的脑海中。

客户端108能操作以响应于进一步的模式切换指令而从参与模式返回对话模式。该变化可以是自动的,例如,当Alice的参与级别被检测为足够低而确保切换回对话模式时,或者响应于来自Alice的用户输入。

在第一实施例和第二实施例二者中,在如所述的参与模式下显示的消息(传送/接收的消息以及还有“草稿”消息)代表了“缺省”消息,因为它们在进入参与模式时自动地显示,这不排除客户端随后自动地做出不同消息的选择和/或在参与模式下手动地做出不同消息的选择,以便替代在参与模式下缺省地显示的两个消息中任一个或二者而显示。

应当注意,上述的“草稿”消息——其是由用户输入以供在通信会话的消息中传送但是尚未传送的文本——不被视为传送和接收的消息的序列的部分(因为在那时该“草稿”消息还没有传送)。

将意识到,虽然上文参考具体的实施例描述了主题,但是这些是示例性的,可设想变型例。例如,虽然在上文中显示的消息的全部在参与模式下被显示为丰富媒体消息,可替代地,没有消息或者仅一个消息可被显示为丰富媒体消息。此外,虽然在实施例中(诸如上述第一实施例中)序列中的最近期接收的消息和一个附加消息在参与模式下显示在显示区域的基本毗邻的部分中,但是在其它实施例中它们可以显示在可用显示区域的非毗邻部分中。

此外,虽然在所述的第一实施例中序列的最近期接收的消息在参与模式下显示在附加消息的上方,可替代地,序列的附加消息可以在参与模式下显示在最近期接收的消息的上方。类似地,虽然在所述的第二实施例中,序列的最近期接收的消息在参与模式下显示在草稿消息的上方,可替代地,草稿消息可以在参与模式下显示在最近期接收的消息的上方。此外,虽然在上述的第一实施例中,序列中的最近期接收的消息和附加消息在参与模式中显示为使得在显示器上一个位于另一个之上,但是在可选的实施例中,这些可以并排显示。类似地,虽然在第二实施例中,序列的最近期接收的消息和草稿消息显示为一个在另一个之上,但是这些可以可替代地并排显示。此外,虽然在上述的第一实施例中,所传送和接收的消息的序列中的附加消息是最近期传送的消息,但在序列的附加消息被显示的可选的实施例中,该消息可以不是最近期传送的消息并且作为替代可以是另一消息。

此外,虽然在上文中即时消息传递会话在两个用户设备之间,可替代地,即时消息传递会话可以在多于两个用户设备之间。并且,虽然在上文中即时消息传递对话是在两个用户之间进行的,但是多于两个的用户可以参与即时消息传递对话。在通信会话中可以存在比对话中的用户多的用户设备,例如,在一个或多个参与的用户正在使用多于一个的用户设备而参与对话的情况下。

此外,虽然在上文中主题是通过主要专用于使得用户能够彼此进行通信事件的通信客户端应用的形式的客户端应用来实现的,但是客户端可以替选地是诸如网络浏览器(例如,InternetChromeTM等)的应用,并且该相同(或相似)功能可以实现在该浏览器内,例如,通过适当的浏览器插件的方式来实施。

此外,虽然在上文中,在参与模式下传送序列中的至少两个传送和/或接收的消息,但是一般地,这可以或者可以不是这样的情况,在参与模式下可以显示序列的多于两个的传送和/或接收的消息。例如,在n路(n=2,3,4,5…)途径消息传递方案中,在参与模式下可以显示三个消息,每个参与者一个。一般地,可以或者可以不在参与模式下显示比在对话模式下显示的更少的消息。而且,在其它实施例中,可以仅整体地显示序列的消息的数量(例如,1或2),但是序列的一个或多个其它附加消息可以仅部分地显示(使得仅显示这些消息中的每个消息的一些内容)。例如,在整体地接收到最近期接收的消息的情况下,还可以显示次近期消息的部分(例如,文本的最后一行),例如,以比最近期接收的消息低的不透明度从而产生表明较早接收的消息的存在的视觉效果。

此外,虽然在上文中,传送和接收的即时消息(以及可能地用于在参与模式下显示的媒体和/或历史用户数据)本地地存储在用户设备处,这些消息(和/或媒体和/或历史数据)中的一些或全部可以替选地或者另外地存储到用户设备之外,例如,在网络106的一个或多个服务器和/或数据中心中。在该情况下,客户端可以远程地访问那些消息。应当注意,用户设备的“用于访问计算机存储设备的访问组件”涵盖了远程和/或本地访问功能——也即,访问组件可以用于访问用户设备处的本地计算机存储设备和/或用于例如经由网络访问远程的计算机存储设备。

此外,虽然上面考虑了其中显示的每个消息占据了比其在对话模式中占据的大的可用显示区域的比例的参与模式,本公开还考虑可能是这种情况或者不是这种情况的替选的参与模式。在该情况下,客户端可被配置为,通过在参与模式下显示没有在对话模式中显示的属于该消息的附加媒体,在参与模式下将至少一个消息显示为丰富媒体消息(并且该丰富媒体消息可以或者可以不在参与模式中相对于对话模式中放大)。还设想出对应的替选方法和计算机程序产品。

也即,本公开考虑替选的用户设备,该用户设备包括:显示器;网络接口,其被配置为在即时消息传递通信会话中在用户设备与通信网络之间传送和接收消息,所述消息构成了用户设备的用户通过响应于接收在通信会话中接收到的消息而发起新消息的传送而参与其中的消息序列;以及一个或多个处理器,其被配置为运行具有用户接口的客户端应用,该用户接口被配置为在对话模式下操作以显示所述消息中的一个或多个,所述客户端应用被配置为响应于模式切换指令而修改客户端用户接口以便在参与模式下操作从而显示所述消息中的一个或多个,由此,通过在参与模式中显示出在对话模式中没有显示的属于该消息的附加媒体,消息中的至少一个在参与模式中显示为丰富媒体消息。

一般地,本文所述的任意功能能够利用软件、固件、硬件(例如,固定逻辑电路系统)或这些实现方式的组合来实现。如本文所使用的术语“模块”、“功能”、“组件”和“逻辑”通常表示软件、固件、硬件或其组合。在软件实现方式的情况下,模块、功能或逻辑表示当在处理器(例如,一个或多个CPU)上执行时执行规定任务的程序代码。程序代码能够存储在一个或多个计算机可读存储器设备中。下文所描述的技术的特征是平台独立的,意思是该技术可以实现在具有各种处理器的各种商业计算平台上。

例如,用户设备还可以包括使得用户设备的硬件执行操作(例如图3的方法步骤)的实体(例如,软件),例如处理器功能块等。例如,用户设备可以包括被配置为维护使得用户设备以及更具体地用户设备的操作系统和关联硬件执行操作的指令的计算机可读介质。因此,指令起到了配置操作系统和关联硬件执行操作并且以此方式得到操作系统和关联硬件的转换而执行功能的作用。指令可通过计算机可读介质经由各种不同的配置来提供给用户设备。

计算机可读介质的一个这样的配置是信号承载介质,并且因此被配置为将指令(例如,作为载波)例如经由网络传送到计算设备。计算机可读介质还可以配置为计算机可读存储介质并且因此不是信号承载介质。计算机可读存储介质的示例包括随机存取存储器(RAM)、只读存储器(ROM)、光盘、闪速存储器、硬盘存储器以及其它可以使用磁、光和其它技术来存储指令和其它数据的其它存储器设备。

虽然用特定于结构特征和/或方法行为的语言描述了主题,但应当理解的是,限定在随附权利要求中的主题不必限于上文所述的具体的特征或行为。而是,上述的具体的特征和行为被公开作为实现权利要求的示例的形式。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1