Archives

  • 表单设计之交互感的传达

    先看一下新蛋的订单的收货信息确认模块

    再看一下淘宝的订单的收货信息确认模块

    用户的行为习惯:
    扫描到有表单元素的地方进行填写和确认,比如单选框、多选框、输入框等。同样在订单的第一模块,新蛋的这个模块里没有表单元素,用户认为这里不存在交互内容,非常容易忽略它,而淘宝因为存在单选框,用户会对此信息进行确认。
    用户的现实情况:
    购物群体以大城市里的年轻人为主,对于这批年轻人来说,公司地址和家庭地址对他们同等重要,需要在每次订单时进行确认,所以,你可以给出默认地址,但这个默认地址经常并不是年轻人希望投递的地址,这里需要较强的交互感传达,引导用户进行更改的。
    结论:
    新蛋的收获地址模块很容易被忽略,淘宝的方案胜出。
    实际案例:
    我本人在淘宝买过这么多东西,从来没有弄错过收货地址。新蛋买第二次东西,默认用了上次的家庭地址,而实际我想用公司地址的。订单提交后,收货地址不允许自己更改,还得打客服电话,体验相当差,回想起来,感觉订单里根本没有和我确认过收货地址。

    Jul 18th, 2010 | Filed under web design
  • Do it once a day

    有时候需要网站对用户当天仅第一次打开网站时做点什么。典型的是在用户当天第一次访问首页的时候弹一次公告或者广告。很自然,我们会用cookie来控制。用户访问的时候,去看看ta的cookie,发现没弹过的就弹一下,然后写入cookie表示弹过了。利用cookie本身的expire特性,都不需要记录具体的时间,直接用cookie的expire设置为一天即可。

    if (document.cookie.indexOf(’doItOnceADay’) == -1) {
    doIt();
    var expires = new Date((new Date()).getTime() + 24 * 60 * 60 * 1000).toGMTString();
    document.cookie = ‘doItOnceADay=1;path=/;expires=’+expires;
    }
    function doIt() {
    alert(’do it!’);
    }

    很简单也很好用,但是我们还可以再进一步。
    我有一次真实的经历,那天我实现了类似的功能,但是需求方跑过来问我很奇怪有几天不弹呢?一开始以为是cookie逻辑有bug,仔细了解情况后,发现了有这种情况:如果她第一天在9:30打开过首页,那么当她第二天9:00来访问首页的时候,广告就不会弹出,因为一整天还没到,cookie还没消失。那如何解决这个问题呢?
    先看下魔兽世界是如何处理类似问题的。魔兽世界里有些专业技能有冷却(cool down)时间,比如裁缝可以把一块普通的布加上一些材料转化成一块更高级的布,这需要跑到一个特定的地图上,并且有4天的cd。由于每次过去转化并不可能做到正好掐到点上,都会有一段时间的延迟才能到达目的地转化,导致每次时间都往后拖,原来23:00转化好下线睡觉的,几个循环后可能需要等到24:00才能释放CD进行转化,再过几个循环,可能直接放弃,等第二天再说了。
    魔兽世界在2.4.2的补丁里改进了这一点:
    # 所有冷却时间为23小时的专业技能,现在统一改为20小时冷却时间。
    # 所有冷却时间为4天的专业技能,现在统一改为3天零20小时冷却时间。
    这里有点小奇怪,不知道最初设计师为什么没把4天CD像1天CD那样设计成3天零23小时。
    这样的设置,对于绝大部分玩家来说,每天差不多的时间点上线,还是只能4天产出一块布,除非有24小时挂线上的宅男,掐着点的话能真正以3天零20小时为周期产出。
    再回到网站行为,如果我们把过期时间设置为20-23小时左右,也就更完美的解决了需求方遇到的问题。对于一般的用户来说,不会让ta一天之内弹出两次,也可以让ta每天都能在第一次访问网站时接收到广告。仅仅把24修改成23即可:

    if (document.cookie.indexOf(’doItOnceADay’) == -1) {
    doIt();
    var expires = new Date((new Date()).getTime() + 23 * 60 * 60 * 1000).toGMTString();
    document.cookie = ‘doItOnceADay=1;path=/;expires=’+expires;
    }
    function doIt() {
    alert(’do it!’);
    }

    Oct 11th, 2009 | Filed under web design
Archive for the ‘web design’ Category