在线应用窗口一致化分析

虽说互联网的革命总觉得势不可挡,大家都期待着,某一天,只需要一个浏览器,就可以完成平常用客户端才能完成的任务。虽然,HTML5与Chrome一度让我们看到浏览器代替操作系统的希望(via&">nbsp;1,2,3,4,5),但目前来看,用户同时保持两种平台的使用的状况,要持续很长一段时间。

想让用户无缝地从客户端应用转移到在线应用,我们还面临很多问题。

从逻辑上说,在线应用属于操作系统中浏览器客户端应用内运行的一套程序,很多交互上依然还是要依赖上层应用(浏览器客户端),这就如同在Mac OS内跑一个Windows的虚拟机的那种差别。

这样的环境,就给在线应用带来一个很严重且无法避免的问题:体验不一致。在线应用没法提供和客户端应用一样的体验环境,用户如果如果想好好使用在线应用,得需要重新学一次,成本过高。尤其是对于那些生产力应用,而这种不一致,无疑是致命的打击。

生产力应用指的是可以完成那些对具体信息的组织与处理的任务。用户通过生产力应用可以创造并处理信息。比如Outlook,Photoshop,Word,AutoCAD。

这些体验的不一致在UI上的表现主要包括以下几点:

键盘快捷键 ——只有少部分在线应用支持快捷键,这些快捷键难以发现且不支持
复杂的组合。鼠标右键 —— 只有少部分在线应用支持,而且无法和浏览器右键菜单并存。(新版Flickr的交叉显示做法不错。)信息交换 —— 把本地照片拖进Photoshop内即可打开,把Flickr照片能拖进Photoshop.com内编辑吗?

如有其他,欢迎补充。但我个人认为,最大的不一致,是在于页面的渐进变化,窗口深度变化以及模态化转变。因为这种不一致,用户很容易就在一个在线应用中迷失而困惑,因此,“首页”链接成为点击最高,最救火的链接。

观察一:多样的
对话

在浏览器中,用户一共会遇到4种类型的对话窗口,分别是:

浏览器对话框——由浏览器驱动的对话框窗口,模态对话框(相对于浏览器,Opera除外。)如下图左上角,删除对话框。内建对话框——由在线应用提供的对话框窗口,如下图左下角,为QQ邮箱写信提示,模态(只相对于当前浏览器标签页内。)小弹窗——非模态的小浏览器窗口,用于完成一些在线应用的子任务。如下图中部,为Gmail添加其他邮箱帐号的小弹窗。通用对话框——由操作系统所提供的模态窗口,如上传文件,保存文件,指定文件夹等对话框。

了解更多对话框的分类,请参考Windows user Experience Interaction Guildelines > windows

观察二:页面的流动差异化

同样的页面,即使他们的功能与内容相同,但在客户端与在线应用,也存在着较大的差异。

客户端中,使用窗口的模态叠加,给予用户导航,同时,Windows平台还提供了任务栏,帮助用户管理自己的窗口。对于用户而言,后退至上一步,只需关闭当前窗口,返回操作流程的原点,清除掉任务栏的窗口的占位即好。

在在线应用内,由于窗口的模态叠加存在实现难度,而且效果也不佳。同时,也不会有任务栏这样的控件去管理用户在网页端内的窗口(Firefox Panorama也不过是对浏览器的标签管理提供了解决方案而已),即使存在面包屑与导航,也难以避免导航迷失,用户难以在页面中快速找到准确的后退路径,不得不直接选择“回到首页”的方式,快速逃离。

窗口和页面流动

上图看起来比较复杂,但通过窗口的叠加,有效的记录到了用户的整个操作流程。用户在回退时,都可以采用点击窗口的X,或者Cancel退回上一步。

而对于在线应用,虽然有面包屑,但是他表现的不是用户操作流程,而是信息的分类。

页面模态的差异化

同样的内容(设置),在客户端内,使用模态的对话框,并且会新开一个窗口;而在线应用中,这就变成非模态了,且不会新开窗口。

网页端后退操作行为过多

网页上的元素五花八门,在未点击之前,你根本不知道下一步会怎样,也许是新开窗口,也许是一个内建对话框,也许是一个小弹窗,也许是一个浏览器对话框。而且,存在与一些容易误导用户的视觉元素:如上图,虽然看起来是选项卡的外观,让我很容易以为点击之后,我将继续保留在这个页面内,而事实上我都会跳到一个新窗口。

并且在线应用内,你可以通过多种的方式后退,关闭内建对话框,关闭小弹窗,关闭新标签窗口,点击浏览器后退导航按钮。

在客户端,永远只有一种,点击X按钮。

网页端体验案例讨论

10大可用性准则中,其中就包括的两点:给予用户控制权;一致性与标准化。但在线应用中,很多时候,却不得不面临两难的情况。

我将对比在相同的功能中,网易邮箱与QQ邮箱的设计对比,来表现这个问题。

在QQ邮箱内,如果需要彻底删除一封邮件,将有对话框让用户进行再确认。这是一个浏览器对话框。

问题出现了,虽然这个对话框只是针对当前标签页,可它相对于浏览器而言,是模态的,你无法切换到浏览器其他标签内。限制了用户的控制权,且它的外观,难以和邮箱内建对话框取得统一,如果是MAC系统的话,OK按钮在还会出现在对话框最右下角的位置。操作体验不一致。

网易邮箱则使用了内建对话框,看似是解决了问题,但实际上并未:

源地址:http://www.userkon.com/to……standard.html

时间: 2024-10-20 18:11:03

在线应用窗口一致化分析的相关文章

汇编教程之窗口子类化

在这一讲,我们将学习什么是窗口子类化和怎样按你所想要的方式方便地使用它. 理论: 如果你曾经在 Windows 环境下编过程序,有时候就会发现:有一个现成的窗口,几乎有你所需要的全部功能,但还不完全一样(否则就没有必要讲这一节了).你曾遇到过这样的处境吗,如果你需要一个具有过滤特殊字符功能的 Edit 控件.当然最直接的方法就是自己用代码来实现,但这的确是一个费时又很困难的任务,而窗口子类化就可以用来做这种事情. 窗口子类化允许你接管被子类化的窗口,使你对它有绝对的控制权.举个例子了来阐明一下:

利用窗口子类化隐藏系统图标

窗口子类化是一种非常有用的技术,通常它用在Windows GUI编程方面,我们用这种技术来创建新的控件,比如让SubClassing一个Edit控件添加一些消息处理让它变成MaskEdit控件等等.反过来想想如果我们SubClassing一个有ES_PASSWORD风格的窗口控件,得到它的密码是难是吗?很简单,不过是一句CallWindowProc调用,只不过在NT等系统上需要Inject一个DLL到目标进程来SubClassing一个进程中的窗口或是子窗口. 用Spy++看了一下,资源管理器里

各种窗口最小化快捷键详解

  一.ALT+Esc 可以使当前窗口最小化. 二.Win+D 最小化所有窗口,再按一下就可以还原窗口. 三.Windows+M 最小化所有窗口 . 四.Windows+Shift+M 还原最小化的窗口. 五.Alt+空格+N 最小化当前窗口(和浏览器的最小化一样) 六.ALT+TAB 这个是切换窗口的按钮,切换到另外一个窗口,这个窗口自然也可以最小化.

dockablepane-mfc mdi窗口最小化状态恢复后没有自动刷新

问题描述 mfc mdi窗口最小化状态恢复后没有自动刷新 程序刚运行时的界面 最小化恢复以后界面 可能是垂直工具条加上以后导致的,之前好像没有这种情况 垂直工具条时用CDockablePane里面嵌一个CMFCToolbar做的,代码为 #include "stdafx.h" #include "ToolboxPane.h" #include "resource.h" CToolboxPane::CToolboxPane(void) { } CT

.net 主窗口最小化后屏幕区域出现影像错乱

问题描述 .net 主窗口最小化后屏幕区域出现影像错乱 用vb.net写了一个监控程序,在tablelayoutpanel 中加入了多个模块化的自定义控件,自定义控件带有timer定时刷新,平时最大化应用没出现过什么问题,但是当有其他窗口覆盖或者当该程序最小化之后,原来的自定义控件区域(此时该区域应该不存在焦点之类的问题)就会出现匪夷所思的影像错乱,若果点击该区域的图标位置也会出现失焦. 如图,此时监控程序最小化,同时打开我的文档(为当前活动窗口),黑块部分是原监控程序最大化时tablelayo

诸葛io围绕用户的场景化分析 驱动数据价值释放

将数据誉为新的"石油"还是比较恰当的.随着信息化在传统企业的日益普及,各家公司内部都蕴藏着丰富的石油资源.但是如果不掌握挖掘手段的话,这些石油就是一堆腐烂的有机质.实际上大多数实体商业本身的数据隐藏在大一堆相互独立的系统内,无法加以利用,而看到数据商机,挖掘数据价值则是企业的明智之选. 此前分享了一些行业的背景和展望(原文<「场景化」增长的践行者:探寻大数据时代的商业变革>)今天以诸葛io的分析模型为例,探讨如何分析用户. 打通数据源,整合用户数据 "用户-触点-

窗口子类化-实例应用

所谓窗口子类化:改变一个已经存在的窗口实例的性质:消息处理与其他实例属性.   通常在SDK中所谓的窗口子类化就是改变一个窗口函数(如GetWindowLong()和SetWindowLong())通过这两个函数来设置窗口的属性等:   而今天我们主要内容是介绍MFC中的子类化,它跟SDK中的子类化不太一样: 所有MFC窗口有相同的窗口函数,由该窗口函数根据窗口句柄查找窗口实例,在把消息映射到该窗口类(class)得消息处理函数上.为了利用MFC的消息映射机制,不宜改变窗口函数(名),MFC也把

C#窗口最小化后还原窗口时TableLayoutPanel画屏

问题描述 如题所示,C#窗口最小化后还原窗口时TableLayoutPanel里面所有的东西都花了盼望大神指点. 解决方案 解决方案二:自己顶一下,求大神指点解决方案三:控件放多了吧.导至刷不过来了.解决方案四:如图所示,就那么几个,不至于太多吧最下面那个表格还是另一个自定义空间呢解决方案五:什么花?是闪烁吗?http://www.cnblogs.com/wuhenke/archive/2012/09/26/2704081.html解决方案六:引用4楼ajianchina的回复: 什么花?是闪烁

关于窗口最小化后、还原的问题

问题描述 需求:我自己写的一个程序(暂且叫From1),来调用第三方程序(aaa.exe)第三方程序的主画面的某个button按下后会呼出一个popUp画面,此时主画面关闭,只剩下popUp画面.然后popUp画面上按下最小化按钮.此时,在任务栏上有个矩形的"图标按钮"(别理解错了,不是指托盘图标).问题:在我的程序上怎么实现,让这个第三方程序的popUp画面显示成最小化按钮按下前popUp画面显示的状态.这里有个神奇的现象,如果你按任务栏上的"图标按钮"进行最小化