嘟嘟老窝

上帝给了我一双黑色的眼睛,我却用它来翻白眼......

导航

« 今天你勃了吗?——关于BLOG和性 [收藏]我收集的网页调色板 »

再论AJAX下的WEB UI设计的七宗罪

昨天写了篇AJAX的七宗罪,有人专门给我发了mail,也有人专门写了文章指出我所说观点的弊端。今天无力也没必要再一一加以论证了,我就单独以WEB UI的眼光来看看AJAX。

AJAX有三大特点:异步交互(Asynchronous),基于JavaScript 脚本,和XML封装数据。这三点包括了AJAX运行的全部特征,从客户端用javascript开始request数据后传到server,server用xml做接口用异步方式response数据,javascript在通过parseXML后最终进行UI处理。整齐干净利落的流水线工作,看起来毫无瑕疵,但是大家都忽略了其中的一个关键就是javascript。以下我一一罗列什么样的用户在访问AJAX时会碰到问题:

  • 1、早期的浏览器,如IE4
  • 2、关闭了浏览器的javascript脚本或者IE下完全禁用ActiveX
  • 3、使用了企业级的防火墙、一些安全防护软件和IE里安全级别设置较高
  • 4、一些非主流或者冷僻的浏览器,如盲人浏览器、手机浏览器
  • 5、在IE或者FireFox里用了第三方浏览器插件或者使用了广告拦截
  • 6、搜索引擎的爬行蜘蛛,一些基于http方式的软件,如离线浏览
  • 7、一些浏览器安全软件(插件)的正常监控

列表中1、4估计情况还好点,起码部分的javascript能正常运行,这就给了UI设计者喘息之气,起码可以从页面底部显示一个本站推荐1024*768的分辨率下访问类似的提示信息或者跳转页面(跳转到无AJAX的页面——两手准备)的机会,但是像2、3、5情况,javascript根本不能运行就谈不上分析是不是支持AJAX了。我的Maxthon默认打开了软件本身的所有广告拦截设置,并且在每打开一个页面时运行一个叫做“清除烦恼”的第三方插件,这两个强强联手让我访问一些AJAX高级应用的web时普遍都出错。

还有一个我认为是很不爽的就是在AJAX下推崇的是无刷新,号称是大大提高了人机交互,在我看来恰得其反。http://www.standards-schmandards.com/exhibits/ajax/是一个纯AJAX制作的计算器的sample,输入数字后点击ADD,页面不用刷新酷酷的通过server端计算数据并传回结果。这个计算器曾经是大家相互link和学习的好例子,现在却成了基于AJAX下WEB UI的一个疑问。那就是点击ADD后用户不知道什么时候数据是更新了,也许你们也和我一样,输入6+3后然后开始等待,当value变成9的时候就知道运算结束了。晕,既然我知道结果是9那我算它干什么啊。当然,在屏幕上显示一个像"Loading"或者"正在计算中,请稍候..."这样的提示是个好主意,但是这同样需要用户去用眼睛盯着看结果的变化,而且并不知道数据的运算或者数据的传输进行到怎样一个情况,普通的submit表单起码还能看见一个进度条显示页面下载情况。还要注意的是这只是一个计算器,如果屏幕上有很多个计算器在进行同时的异步运算,不管是显示N个"Loading",还是其他的方式的提示都是不尽人意的UI设计。

我还是坚持我的观点,AJAX在目前的web下最适合的就是企业级应用,大家在开发B/S系统时经常碰到的二三级联动或者树型目录的节点加载,用AJAX来实现简直太easy和完美了。而且在企业级应用不会出现以上所说的javascript问题,开发商完全有理由毫不犹豫地要求客户:我们的系统应用了最新最酷的web技术,所以要求系统用户的浏览器必须是IE6……

  • 该日志的引用地址:
  • http://www.duduwolf.com/cmd.asp?act=tb&id=119
  • AJAX 的壞處(引用)
  • Alex's Blog
  • AJAX,很早前聽過,一直沒去了解,今天突然想到,<br>看了一些評論和介...
  • 2006-3-3 1:13:22
  • AJAX的七原罪(引用)
  • Alex's Blog
  • AJAX,很早前聽過,一直沒去了解,今天突然想到,<br>看了一些評論和介...
  • 2006-3-3 1:39:06
  • 1.令狐虫 | (home)
  • 在网站开发这个领域里,我是十足的外行。:P

    随便说两句吧。当时在写那个看法的时候,我对Ajax的观点并没有十分的明晰。经过和你还有其他人的一些讨论之后,现在稍微有了一点自己的看法。其实我的看法和你的并没有本质的冲突,只是强调的重点不同 :P

    我现在觉得,Ajax只是为标准化放出的一个看起来不错的诱饵而已(可以得到不需要插件的好的用户交互体验)。如果你想你的网站“Ajax Ready”,你必然需要对你的网站做一些符合标准化的重构。而重构完成之后,需不需要在客户端用Ajax实现那么酷的效果,已经不重要了-_-||

    那么Ajax是不是就完全没有用处呢,我觉得也不是。这要看应用的类型。比如,我认为dux2005.org那种就是为了Ajax而Ajax,并不可取。但是现在有一些网页即时贴应用,就是Ajax发挥特长的最好场所。

    总之Ajax是一种方法一种态度,如果你觉得你需要Ajax,Just do it;如果不需要,Let it be。但是Ajax观念普及,对网站整体的标准化是有好处的。这就像css vs table一样,你觉得用表格好尽管用表格,但是知道css是怎么回事绝对是有好处的。

    胡说一气,莫笑莫笑 ^_^
  • 2005-5-19 9:11:09
  • 2.duduwolf | (home)
  • 楼上的说得好,加你为友情链接了,有时间在一起探讨Tease
  • 2005-5-19 10:16:15
  • 3.rocksun | (home)
  • 不过有了Ajax的用户体验非常棒!对GMAIL的感觉就是这样,欲罢不能,让我完全放弃了下载邮件的习惯!
  • 2005-5-25 10:17:01
  • 4.沧蓝 | (home)
  • duduwolf你好!:) 通过朋友介绍来到你的blog。因为自己本身也对网站技术(包括AJAX)非常感兴趣,所以你的blog我很喜欢。

    不过对于你对AJAX的观点我不赞同。

    比如,批评微软的人很多,因为微软是一个商业公司,他总是试图制定自己的标准。这就是为什么现在好多网站都在宣传使用Firefox的原因。因为他们受不了微软的霸气和强权。

    可是,事实真的是这样吗?制定web标准的是W3C委员会,可是,现在的网络标准和若干年前的网络标准有何很大的不同?似乎没有。

    xhtml 2 是现在比较期待的W3C标准,通过它可以进一步实现web与用户的互动。

    AJAX也是一样的道理,在一些新的标准未被制定前,聪明的开发者们用现有的技术,组合成一个新的互动方式。AJAX就是一种。

    另外我完全看不懂你举的计算器的例子以及你说的web UI。在我看来,AJAX才是接近GUI应用程序的模式,即,event-driven。另外在你上一则七宗罪里,对于history的描述也有问题。试想一下,windows中我们对应用程序建立快捷方式,可是,我们能对应用程序里的某个特定部分建立快捷方式吗?

    我觉得您还是把自己的思维模式禁锢在“传统”当中。web不应该是现在这样的,它应当更动态,更容易与用户互动。然而现在的传统方式(即不断的reload/redirect转向页面等)根本就是在制造麻烦。Too much overhead, wastes bandwidth.

    Innovation,即创新、革命,是需要不断的开拓和实践的,AJAX是一个非常好的实现方式。如果大家都不思进取,那么这个web将会是死气沉沉的。:)

    另外您说的AJAX只适合企业级的网站,在我看来是目光短浅(请勿生气哦!),互联网络的发展是非常迅速的。几年前的“普通”网站(例如163等)如今都晋级成为了企业级/门户级的网站了。那么若干年后呢?;)

    以上是想到什么写什么,请duduwolf君多包涵哟。:D
  • 2005-9-19 21:11:18
  • 5.刘乾坤 | (home)
  • 如果把Ajax应用到个人门户怎样呢?譬如star.com。最近一直在关注个人门户的发展,不完全同意你对个人门户的看法,尤其是你后来又退回去了,将其与个人知识管理系统相提并论。为什么不是个人信息门户和网络操作系统呢。Ajax显然是一个草根开发的应用工具,关键是怎么应用。在我看来,个性化的网络应用正是其天然牧场。
    个人主页+Ajax会怎样呢?好多问题正在探索中。
    我对技术一窍不通。方便请加我msn:peruson@vip.sina.com。车前子便是在下。
  • 2005-9-21 9:07:12
  • 7.York | (home)
  • 我赞同文章中的部分观点。不过,每项技术都有所长有所短,就像没有银弹一样。发挥其长,避免其短。
  • 2006-1-7 16:55:23
  • 8.sdav | (home)
  • 我赞同文章中的部分观点。特别在企业应用开发当中,这些问题会变成杀手;
  • 2006-9-22 22:11:08
  • 9.sdav | (home)
  • 我还是坚持我的观点,AJAX在目前的web下最适合的就是企业级应用,大家在开发B/S系统时经常碰到的二三级联动或者树型目录的节点加载,用AJAX来实现简直太easy和完美了。而且在企业级应用不会出现以上所说的javascript问题,开发商完全有理由毫不犹豫地要求客户:我们的系统应用了最新最酷的web技术,所以要求系统用户的浏览器必须是IE6……
    ------------------------------------------
    我认为你这个观点是错误的,如果做企业应用,特别是如果我们做的是一个商品化的东西,那么我们就必须得面对各种情况的发生。那时,这些条件才会成为杀手。
  • 2006-9-22 22:14:26

反向链接列表

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

<< 2008·11 >>

Sun

Mon

Tue

Wen

Thu

Fri

Sat

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

Search

Powered By Z-Blog 1.4 SP1 Build 50824 - modify by duduwolf

Copyright 1999-2005 duduwolf.com Some Rights Reserved.