2006年04月29日

前一阵子一直在研究Ajax和Prototype库,有点感触,正好又看到国外的一篇blog(2005年的……),就翻了一下,希望对那些正在用或者考虑使用Ajax的同仁们有点帮助,少走一些弯路。

    这篇文章写的是Ajax设计中的10个常见错误。

 

 

1.  在点击部件后不即时提供视觉线索

如果我点击的某个部件会引发Ajax行为,那你最好给我一点视觉线索让我知道有些工作正在进行中。一个例子就是Gmail右上角的loading button:当我在Gmail里做了什么之后,右上方的红色小方块就会显示网页正在读取,以此来补足在网页读取时Ajax不会引发正常的网页UI变化(注:应该是只诸如ie右上角飘动的旗子那类UI部件)

 

 

2.  破坏了“后退”按钮

在标准网站用户界面中(注:应该值的还是浏览器),“后退”按钮是一个很有用的功能。不幸的是,后退按钮和Javascript不能很好的配合。保持“后退”按钮的功能正是不采用纯Javascript网络应用程序的一个主要理由。

 

 

3.  用链接来改变状态(Get请求)

正如我在以前的帖子里提到的,Ajax应用程序为那些认为GET操作不改变状态(注:服务器状态)的用户带来了很多问题。改变状态的链接不仅仅给(注:搜索引擎)的机器人带来了许多问题,还使那些习惯于链接驱动的浏览的用户在面对改变状态的链接时变得困惑。

 

 

4.  出乎意料的闪烁或改动网页的某些部分

Ajax中的第一个A代表了Asynchronous-不同步。不同步信息的问题是当它们出乎用户意料地弹出时,这些信息将使用户非常困惑。网页的不同步改变应该只限于有限的被定义区域,而且应该被明智地使用;那些在我并不想注意的地方出现的闪动的信息使我回想起那段使用HTML blink tag的日子。

 

 

5.  不使用能被我发送给朋友或是加紧书签的链接

网站的另一个很好的功能就是我可以把URL发送给别人,使他们可以看到我正在看的东西。我还可以把网站首页加进我的标签,以后再回来浏览。Javascript,或者进一步Ajax应用程序,可能会给这种使用方式带来很多问题。由于是Javascript在动态生成网页而不是服务器,URL就被从这个过程中剥离了,也不能再用来作为浏览的索引了。失去这个功能是很不幸的,这也正是很多Ajax网站中特别设立永久链接的原因。

 

 

6.  过多的程序代码造成浏览器变慢

Ajax带来了一种制造更加有趣的javascipt应用程序的方法,但不幸的是,有趣通常意味着更多的程序代码正在运行。更多的代码运行给浏览器带来了更多的工作,这意味着对于一些大量使用javascript的网站,特别是程序编的不太好的那些,你需要一个强大的CPU来保证功能可以迅速地运行。事实上,CPU的问题以前确实是javascript功能的一个限制,仅仅因为现在的电脑快了很多并不表示这个问题已经不存在了。

 

 

7.  发明新的用户界面惯例

使用Ajax常犯的一个重大错误是:“点击这个不明显的东西来获得另一个不明显的结果”。当然,用户在使用一个网站一段时间以后可能会意识到如果在这个div上点击并且拖拽的话,他们可以把它移到另外一个位置,但是由于这不是一个常规的用户体验,你还是增加了学习你的网页所需的时间和难度,这对任何一个应用程序来说都是负面的。

 

 

8.  局部的改变不能影响网页的其它部分

由于Ajax/Javascript给了你对网页内容的特殊控制,你会很容易变得对某个部分过度专注以至于丧失了大局观。这方面的一个例子就是Backpackit的标题。如果你改变了一个Backpackit的网页标题,他们会立刻替换掉旧标题,并且会记住改变右边的标题,但是他们确不该变HTML Head中的标题(注:这段翻译的有点模糊,有兴趣的可以参考一下那个网站)。在使用Ajax时,你需要估计到全局即使改变只是局部的。

 

 

9.  不同步地进行批处理

有了Ajax你可以使很多对表单输入的改变立刻生效,但那可能会造成很多麻烦。比如当我勾选了很多会异步发送信息到服务器的check box时,我将会丧失对checkbox整体状态改变的明晰,而且那些涌现出来的checkbox改变提示也会很讨厌并且分散注意力。

 

 

10. 页面滚到造成难以定位

在一个网页中弹出文本会造成的另一个问题是这些文本可能导致页面滚动。我可能正在开心地读着某篇文章或者在一个超常的列表中查找信息,而这时异步javascript请求决定把一个位置位于远远高于我的阅读位置的段落删掉,因此打断了我的阅读。这绝对是令人反感的,而且还会我还要浪费时间来重新定位。

 

 

 

 

对原文有兴趣的朋友可以看这里。还有另外一个关于Ajax应用误区的网站,也值得Ajax开发人员关注一下。

2006年04月14日

昨天网上最热的新闻:Google成了“谷歌”。据我观察,大部分人对此名称持不屑态度,小部分持不置可否态度。赞赏的,基本没有。不过,keso提到了在发布会上众人对此名号还是“赞不绝口”的,虽然有些人把门口的IE首页设成了百度……

 

 

 

    谷歌这个名字据说是“山谷之歌”的意思。很空灵的一个名字。如果是一位民族歌手的艺名,那么他/她可能已经铺垫好了家喻户晓的基础。但是这个名字用在Google身上,只“空”不“灵”。

 

 

 

    就像我置疑百度时会用Google来支持自己一样,这次数落“谷歌”也不能不拿百度来说说事。Google在中国与百度的竞争中略负一酬的原因是众所周知的,除了那些不便言传的,最大的原因可能就是对于中文的“理解”问题。百度来源于“众里寻她千百度”,这个“寻”正好呼应百度的搜索业务(当然, “百度”某种程度上也暗示了“找一百次也不一定找得着”,还是需要“蓦然回首”的)。反过来再看“谷歌”,实在看不出和搜索有甚关系。在名字的选择上,Google又败了一酬。

 

 

 

    当然了,这Google本就是个舶来品,取个名字不一定要多有意义,只要读音上接近就好了。但就算这样,“谷歌”实在也算不上是一个“称职”的音译。那么Google为什么要选如此一个中文名呢?在我看来原因如下:

1.  Keso说28%的人曾经叫Google“狗狗”。可惜,这名字现在已经名花有主了。

2.  其次,还有13%的人称“Google”为“古狗”。这名子现在也不好用了,因为已经有了“搜狗”了。而且“搜狗”还真的去搜索狗来做代言了。要是Google真叫了古狗,难道要去找一只老狗来代言?

3.  其他的音译。Google乍一听像是“股沟”。这个更没法用,谁知到是腹股沟还是p股沟……

 

 

 

所以我觉得Google不是不想取个响亮的名字,而是受其英文名所累而选不到好的名字。

 

 

 

写到最后忽然对Google的中文名有了点想法。Google本身就是个数学家自创的词,代表了1后边跟100个0这个数,基本上就是非常大的数,那么它的中文名为什么不再从这个意思上入手呢?叫个“无穷”之类的不是更好。要不从音译入手,“顾”这个字是个不错的选择,至少有“看”的意思,引申一下也能有点“寻找”的以为。最不济就估个“估够”,取其意于“不管你搜什么,第一页的结果估计就够你用的了!”

2006年04月13日

应朋友要求做个简短的调查,各位看客要是有空就回一句“yes”或“no”。谢谢了!

------------------------------------------------

在您的经济条件允许的情况下,你是否愿意通过中介的服务去国外的医院进行疑难杂症的治疗?如果您愿意,您希望为此付出的费用是多少?

2006年04月08日

    故事发生在不远的未来……

    有人的地方就有网络,网络之上,则有江湖。

    自从CERN的Tim Berners-Lee在一九八九年编出网络江湖英雄录-World Wide Web,这世间便再无宁日。经过十几年的风雨,十几年的纷争,江湖中终于呈现出三家鼎立的局面,这就是人们口中的“江湖三世家”:

    -人称Microsoft的微家。这微家乃是江湖第一世家,家主姓比名尔门,本是专门给人纳鞋底的一名鞋匠。人在江湖漂,哪能不穿鞋?这微软家就靠着纳鞋底(也叫操作系统,operating system)敛得无数财宝,更在机缘巧合下练成绝食兵器-视窗(江湖人口中的windows)。自此,微软家便拥有了两大绝世神功:纳鞋底,打补丁(patch)。

    -人称Amazon的亚家。亚家乃是江湖中最为诡异的一批人。其家人多以卖书为生,但是暗中却掌握着令江湖中人闻风丧胆的“个人化自动推荐系统”(automated personalize recommendations)。寻常人等只要中了此系统,三炷香之内必定在亚马逊家的书店狂买打折书以至囊空兜破,钱尽人亡。

    -人称Google的古家。三大家中,古家的历史最短,但其却拥有天下最毒之虫-spider和人间至快之剑-pagerank。靠着这一虫一剑,古家一跃成为江湖第一名捕。但因其行事刚正不阿,江湖中人竟纷纷以被古家逮捕为荣。甚至有未被捕者大白天杀人越货只为求古家一捕(SEO)。

   

    话说两千零四年,曾经的江湖第一美女-信息的妹妹-定制信息,初入江湖。此女一入江湖便受到江湖中一种年青侠客的追捧,其间引发了无数刀光剑影、腥风血雨。三大家族的族长更是当仁不让,纷纷祭出杀手锏。古家最先发难,其家族子弟TiVo、Blogger、GMail、GoogleNews等于两千零六年练成当时江湖中最强的the Google Grid阵,并以此阵败敌无数。微家不甘示弱,于两千零七年铸成神兵-Newsbogster,以此应对古家的绝食奇阵。

    经过一年的僵持,古家暗使合纵连横之计,与三大家族中的亚家结成同盟,以the Google Grid阵搭配“个人化自动推荐系统”,奇阵奇功合而为一,人称Googlezon!

    微家此时已呈败像。终于两零一零年被Googlezon击败,从此与武林美女无缘……

    再说这Googlezon,在微家之后便已成为天下单磕无敌手,但其丝毫不为俗名所累,终于在两零一四年练成惊天地泣鬼神的EPIC-Evolving Personalized Information Construct,江湖中人皆俯首称臣。

    江湖自此一统。

 

―――――――――――――――――――――――――――――――――――――――

    以上内容系本人午夜梦呓。人称物称,如有雷同,纯属巧合。

    内容改编自媒体历史博物馆所出的短片《EPIC》 。英文对白见此