July,2nd,2009

window.location.hash的应用及浏览器的支持测试

location是javascript里边管理地址栏的内置对象,比如location.href就管理页面的url,用location.href=url就可以直接将页面重定向url。而location.hash则可以用来获取或设置页面的标签值。比如http://ued.alimama.com#admin的location.hash=”#admin”,利用这个属性值可以实现很多效果。

case one:锚点触发iframe的url更换
html代码:

<dl id=”tbk_help_list”>
<dt>==成为淘宝客==</dt>
<dd><a href=”#faq_1_1″>什么是淘宝客推广?什么是淘宝客?</a></dd>
<dd><a href=”#faq_1_2″ id=”aaaa”>如何注册成为淘宝客?</a></dd>
<dt>==获取推广代码==</dt>
<dd><a href=”#faq_1_5″>获取单件商品推广代码</a></dd>
<dd><a href=”#faq_1_6″>获取一类商品推广代码</a></dd>
<dd><a href=”#faq_1_7″>获取推广组推广代码</a></dd>
<dd><a href=”#faq_1_8″>获取店铺推广代码</a></dd>
</dl>
<iframe src=”faq_1_1.html” frameborder=”0″ allowtransparency=”yes” scrolling=”auto” width=”700px” id=”contentFrame” name=”contentFrame” height=”600px”></iframe>

javascript代码:

<script type=”text/javascript” src=”http://static.alimama.com/js/mootools.js”></script>
<script type=”text/javascript”>
//锚点触发iframe的url更换
var help_dd_a = $(”tbk_help_list”).getElements(”a”);
function geturl(hs){
var hash = hs ? hs : window.location.hash;
if(hash && hash.length >2){
hash = hash.substr(1);
}
var url = hash + “.html”;
window.frames['contentFrame'].location  = url;
}
help_dd_a.each(function(el){
el.addEvent(”click”,function(){
var str = this.href.substr(this.href.lastIndexOf(”#”));
geturl(str);
});
});
</script>

案例截图,图1-1:hashdemo
case two:各种浏览器对window.location.hash的“前进”、“后退”功能是否支持
说明:通过hash调整地址栏的地址,使得浏览器里边的“前进”、“后退”按钮能正常使用(实质上欺骗了浏览器)。然后再根据hash值的不同来显示不同的面板(用户可以收藏对应的面板了),这就使得Ajax页面的浏览趋于传统化了,但是,是否所有浏览器都支持hash的“前进”、“后退”功能呢?
测试说明:点击图1-1中左栏目菜单,看地址栏的变化和iframe的url的变化来判断浏览器是否支持hash的“前进”、“后退”功能。

浏览器 iframe的url是否改变 地址栏hash值是否改变 是否支持
Mozilla Firefox3.0 改变 改变 支持
Google Chrome2.0 改变 改变 支持
IE6 改变 不改变 不支持
IE7 改变 不改变 不支持
IE8 改变 改变 支持

ps:文中“所有浏览器”指列入测试范围的浏览器
结果:除ie6及以下浏览器、ie7不支持外,其他浏览器都支持hash的“前进”、“后退”功能,同时看客们也发现所有浏览器iframe的url都改变了,那是因为所有浏览器都支持iframe的url缓存,这与hash的缓存不是一个概念,所以排除iframe的url的数据干扰。

June,24th,2009

实用可用性测试

5月份有幸参加了人因国际的实用可用性测试,主讲人是董建明博士,曾在IBMEbay等公司从事了10多年用研工作。目前国内用研行业尚在兴起阶段,很多大公司已相继成立相关的部门或开设专职,但论经验值几乎为零。大家都知道跟用户打交道是一门很高深的学问,除了靠知识、技术和先进的仪器外,长期实践累积的经验尤为宝贵。现将培训中个人认为重要的部分,结合我们在工作中的实际情况与大家做一个分享,以供需要的同学参考。

我想可能大部分人都听说过可用性测试这一名词,在此就不详解了,首先来说下可用性测试的两种类型和方法。

形成性测试

总结性测试

1.在产品或网站的开发过程中进行

2.用来发现设计的可用性问题

 

例子:在应用中,用户能否找到和使用“按揭计算器”,来顺利输入贷款贴息?

1.在开发后期进行

2.用来确认某个产品已经实现预期的目标

 

例子:新的应用有没有按预期的比率提高了转换率?

                                                        

小规模定性

大规模定量

1.提供许多观察的机会

2.基于专业知识和判断

3.专家观察,解释,决定

4.可以使用小样本

1.定量尺度是重点

2.结果可推广到更大范围的人群

3.需要大样本

如图,形成性测试大多采用小规模定性的方式,目的是为了通过测试研究形成新的东西并对现有的方案进行改进,而总结性测试一般采用大规模定量的方式,在产品完成后做测试,一般不对其进行修改,只是通过测试和研究以得到该产品好与否的结果。笼统的说,定性测试是想知道“为什么”,定量测试是想知道“有多少”。在明白了这两点之后,在拿到需求的时候,我们就可以通过产品本身的进行程度和需求方希望得到的结果来判断采用什么样的可用性测试了。

在实际的操作过程中需求方经常会提一个问题,6-8名被试人就能代表所有用户的问题了吗?其实我们会发现,测试到6名用户的时候遇到的问题已经大同小异,几乎重要的问题都是同样几个,新的问题产生几率已经变的很小。原则一:被试越多,产生的结果越可靠;原则二:被试越多,产生的新结果越少。被试多不能代表结果多,据维茨1992和尼尔森1993的统计表明,通过5名用户就能发现某产品中约80%的可用性问题了。弗克纳2003发现,测试5名用户平均发现85%的可用性问题,而测试10名用户平均发现95%的可用性问题,从6名到第10名用户新增问题几率只为10%,所以一般用户群测试均为6-8名被试。如果需要一个大的样本,可以考虑进行多次小测试,而非一次性测试许多被试人,这是原则三。

我们通常会要求在测试期间不要太多人参与旁听,以免打扰到用户的思路,可能有很多部门的同事不理解这样的举措,甚至认为用户测试看似很简单的事,不需要搞得那么谨慎和神秘,而我们通常最大限度只能允许相关人员在测试结束后才能进行提问,在试中我们要求旁听者留给用户绝对的安静环境。在这里,就为什么测试需要在这样的环境下进行做一个简单的、仅限于个人见解的说明。

作为产品的策划者或运营者,都有希望用户能最大程度接受该产品的主观的愿望,在愿望的驱使下,如果直接让相关人员提问则可能造成对用户的导向性,最终容易得出并不真实的结果。这其实跟用户的心态也有关系,作为被邀请的一方,用户一般会抱着配合的心态来完成测试,同时在操作中用户也会尽量掩饰自己不懂不明白的问题。作为用研人员在过程中要懂得分辨什么是真实的用户情况,而非假象。在这样观察与被观察,询问与被询问的环节中一旦受到干扰,用户的思路会瞬间被打断,从而影响到测试的结果和真实性。

接下来我们来了解下完整的可用性测试步骤

1、准备测试启动会

在该步骤中需求方和用研将进行详细的沟通,用研人员充分理解测试目标,定义用户群和方位,了解技术环境。

2、进行测试启动会

在会议中需要确定测试任务、测试形式、招募被试的标准等相关要素。

3、招募被试

可以根据产品需要来划分多个纬度进行筛选被试,目前我们的被试人员纬度一般由用研决定,需求方直接提供被试人员名单。

4、准备测试材料

材料分为文档部分、工具部分和礼品部分,文档部分一般要准备测试大纲、任务书、知情同意书、测试情景、问卷、记录表等,工具部分为测试电脑、录音、手表等,礼品部分自然是对被测的赠礼,也可以现金代替。这些准备工作一般由需求方和用研共同完成。

5、组织测试设备和角色

这个步骤包含测试环境的安排既测试房间,各种测试用设备安排,角色为测试主持者、参与者,以及被试接待人员的安排。

6、在以上环节做完后就可以进入测试了。

以上的步骤是根据培训和工作中的实际情况结合而成的产物,仅供参考!我们一般做测试基本都是按照以上步骤来走,这些还只是提要,如果详细的将每一个步骤展开,相信很多人都不会轻松地说用户测试很简单了,呵呵。

今天整理的也不少了,大段的文字怕大家看了眼花(估计已经花了),就此先告一个段落吧,结束前突然想起我们老大说的一句话,他之前做了一个项目,在被测前他不太相信可用性测试的作用,结果出来后,他意味深长的对我说,“我想到的问题,用户都想到了,我没想到的问题,用户也想到了,看来用户测试还真是会带来意想不到的效果啊”。。。。。

May,31st,2009

CSS清除浮动常用方法小结

说明:使用xhtml+css布局经常性地会使用到float,很多邪门的事儿都有可能是浮动在作怪,那么清除浮动就是必须要做的,而且随时性地对父级元素清除浮动的做法也被认为是书写CSS的良好习惯之一。


常用的清除浮动的方法有以下三种:

此为未清除浮动源代码,运行代码无法查看到父级元素浅黄色背景。

<style type=”text/css”>
<!–
*{margin:0;padding:0;}
body{font:36px bold; color:#F00; text-align:center;}
#layout{background:#FF9;}
#left{float:left;width:20%;height:200px;background:#DDD;line-height:200px;}
#right{float:right;width:30%;height:80px;background:#DDD;line-height:80px;}
–>
</style>
<div id=”layout”>
<div id=”left”>Left</div>
<div id=”right”>Right</div>
</div>

未清除浮动前如图所示:

未清除浮动图片


三种清除浮动方法如下:


1、使用空标签清除浮动。
我用了很久的一种方法,空标签可以是div标签,也可以是P标签。我习惯用<P>,够简短,也有很多人用<hr>,只是需要另外为其清除边框,但理论上可以是任何标签。这种方式是在需要清除浮动的父级元素内部的所有浮动元素后添加这样一个标签清除浮动,并为其定义CSS代码:clear:both。此方法的弊端在于增加了无意义的结构元素。

ps:<br clear=”all”/>也可以实现效果,但不清楚使用哪个比较好。呵呵

<style type=”text/css”>
<!–
*{margin:0;padding:0;}
body{font:36px bold; color:#F00; text-align:center;}
#layout{background:#FF9;}
#left{float:left;width:20%;height:200px;background:#DDD;line-height:200px;}
#right{float:right;width:30%;height:80px;background:#DDD;line-height:80px;}
.clr{clear:both;}
–>
</style>
<div id=”layout”>
<div id=”left”>Left</div>
<div id=”right”>Right</div>
<p class=”clr”> </p>
</div>


2、使用overflow属性。
此方法有效地解决了通过空标签元素清除浮动而不得不增加无意代码的弊端。使用该方法是只需在需要清除浮动的元素中定义CSS属性:overflow:auto,即可!overflow:auto;是让高度自适应, zoom:1;是为了兼容IE6,也可以用height:1%;的方式来解决,注意,zoom不符合W3C标准.

<style type=”text/css”>
<!–
*{margin:0;padding:0;}
body{font:36px bold; color:#F00; text-align:center;}
#layout{background:#FF9;overflow:auto;zoom:1;}
#left{float:left;width:20%;height:200px;background:#DDD;line-height:200px;}
#right{float:right;width:30%;height:80px;background:#DDD;line-height:80px;}
–>
</style>
<div id=”layout”>
<div id=”left”>Left</div>
<div id=”right”>Right</div>
</div>


3、使用after伪对象清除浮动。
after伪对象非IE浏览器支持,所以并不影响到IE/WIN浏览器。具体写法可参照以下示例。使用中需注意以下几点。一、该方法中必须为需要清除浮动元素的伪对象中设置height:0,否则该元素会比实际高出若干像素;二、content属性是必须的,但其值可以为空,蓝色理想讨论该方法的时候content属性的值设为”.”,但我发现为空亦是可以的。

<style type=”text/css”>
<!–
*{margin:0;padding:0;}
body{font:36px bold; color:#F00; text-align:center;}
#layout{background:#FF9;}
#layout:after{display:block;clear:both;content:”";visibility:hidden;height:0;}
#left{float:left;width:20%;height:200px;background:#DDD;line-height:200px;}
#right{float:right;width:30%;height:80px;background:#DDD;line-height:80px;}
–>
</style>
<div id=”layout”>
<div id=”left”>Left</div>
<div id=”right”>Right</div>
</div>

清除浮动后如图所示:

清楚浮动后的图片

此三种方法各有利弊,使用时应择优选择,多次实践发现,第三种方法更为可取,既不用添加多余无意义的标签,又实用有效 。

May,31st,2009

博客换肤这些事儿

2月13日,阿里妈妈UED的博客换肤项目正式启动,博客对于团队宣传的重要性可想而知,而博客皮肤就像人的外表,没人不希望自己的漂亮些,何况这皮肤是可以主观改变的。翻着这些资料和草稿,我们今天抖一抖,回顾一下换肤的过程吧。

既然要换肤当然得有个目标,作为UED团队,视觉上拉风抢眼,操作上良好的交互性是团队成员一致认同的。

OK,做事从收集情报资料开始。我们首先收集了一些国内比较有名的设计类交互类团队博客的截图,就皮肤的视觉效果和交互性上做了一定分析。从视觉上来看团队博客在设计上特别拉风的并不多,大多是选用稳重干净的颜色与质感。这时矛盾产生了,同样作为团队博客,妈妈到底是要拉风抢眼的外观还是随大流。先不管那么多,两条路都走走,于是有这样一些草稿。


01第一稿,只做到了头部设计,似乎有那么些思路,但又没完全放开。

02第二稿可以说是第一稿的延续,想法也较为简单,拉风嘛,顶部如果有一幅插话就好了,大致用素材摆弄了一下,如果这稿要深入下去顶部插话至关重要。颜色方便没有过多的考虑,并没选用阿里常用的橙色。

03往集团颜色上靠一靠。但似乎一切的一切和UED团队没什么关系,这个思路PASS掉。

04 继续拉风着,拉风导航,试验一下罢了。

 05阿里妈妈文化衫中大鱼吃小鱼概念的引入,把这样有故事的图案放在博客顶部,博客在设计上会有一些阿里妈妈的味道在。

06 念念不舍异性导航条,将其简化一下再加入小鱼概念,整体感觉“妈妈”了。


07 抛弃异性导航,纯色简化版小鱼皮肤。

08接下来是在白板小鱼的大框架下做了一个小调整的草稿。主要在于导航,标题栏背景以及各标签之间排列的一些尝试。

09橙色微玻璃质感,和谐型设计。

10干练的橙色风

11 紫色版,由于色彩的原因被PASS掉,最终版选用了他的框架结构。

12

最终版,还是选用了稳重的色彩,顶部的小鱼LOGO显出妈妈团队特质,局部的结构上做了些小创新。

May,26th,2009

互联网产品的用户体验看着“很美”

互联网产品的用户体验看着“很美”

这几年来,我们这个行业一直都在谈用户体验,以用户为中心的设计。用户体验是指用户访问网站的界面、功能、相关信息的可读性、操作的方便性,交互性等方面的过程中建立起来的心理感受,用户在产品服务过程中的印象和感觉是否满意等。大家都知道用户体验在产品中的重要性,我们集团各子公司也都建立了UCD流程。借用阿里软件的1UCD流程图:
12031

但真正做产品的都有体会,固然大家都知道用户体验很重要,但如果按上图的流程在项目中从头到尾实施起来还是有很多制约瓶颈。特别在互联网行业,互联网产品开发时间短,变化快,高速发展无标准是其特点。项目中时间摆在那,商业利益摆在那,如果不计成本的做下来,项目的pmpd想必早跳脚了。这让设计师有时候不得不感叹用户体验看着“很美”。左边是用户,右边是商业,设计师需要去保持两边的平衡。当商业需求与用户体验发生冲突的时候,用户体验设计师有时不得不做取舍——用户体验有时必须先满足商业需求,或者屈尊于技术可行性。这就是用户体验设计师不得不面对的现实。。。。。  

 

 

之前我们部门的分享会上大家讨论过这个话题,怎么去做互联网产品的用户体验?如何尽量好的去达到用户,商业,技术三者的统一?如何快速迭代的开发产品?这边我先抛砖谈谈看法。

首先用户体验师必须去学着了解产品背后的商业背景、读懂BRD,PRD,将产品规划中必须达到的目标和你认为有碍于用户体验的点抽取出来,去挖掘需求背后的目的。

其次UCD流程中一些影响到产品发展的关键点应该尽量去实行。

在概要阶段:用户体验师要把PD需求文档中抽象的功能转化为用户需求。通过选择通过做概念图、信息架构(建立层次逻辑关系)、建立用户场景(了解服务的人群,更好审视产品)等方法来定产品的大方向。

在详细设计阶段:设计有完善交互流程的原型demo(这个阶段如果条件允许可以进行低保真demo的可用性测试,把产品交互上一些问题尽早的暴露出来。)在原型评审后跟进视觉设计。在前端完成页面后,最好进行次高保真的可用性测试,确保不会在开发好后才发现产品有大问题。

 

12345e589afe69cac

 

由于很多项目时间紧急,可能都没法进行可用性测试,设计师首先要会审视自己的设计哦!

下面介绍一些基本的可用性原则和规则:

7±2 原则

由于人类大脑处理信息的能力有限,它会将复杂信息划分成块和小的单元。根据乔治A米勒(George A. Miller)的研究,人类短期记忆一般一次只能记住5-9个事物。这一事实经常被用来作为限制导航菜单选项到7个的论据;然而关于神奇的“7,加2或者减2”还是引起了激烈的讨论。因此目前还不清楚是否7±2原则能、可能或应该应用到web中。米勒的研究

 

2秒原则

一个松散的原则,即用户没有必要对某些系统响应等待2秒以上的时间,比如应用程序转换和开始的响应时间。选择2秒有点武断,但确是一个合理的数量级。可靠的原则就是:用户等待时间越少,用户体验越好。[可用性优先]

 

3次点击原则

根据这个原则,如果用户在3次点击中无法找到信息和完成网站功能时,用户就会停止使用这个网站。换句话说,这个原则强调明确的导航,逻辑架构和后续站点的层次结构。在大多数情况下,点击的次数是无关紧要的;真正重要的是,游客总是能知道他们现在在哪,他们去过哪,他们接着将会去哪。如果用户感觉他们对该系统如何运作有个充分的了解的话,甚至10次点击,用户都会觉得OK

 

80/20原则(帕累托原则)

帕累托原则(也被称为重要少数法则和因素稀疏原则)指出,80%的效应来自20%的原因。这是商业中的基本经验法则(“80%的销售额来自20%的顾客”),但也可以应用于设计和可用性。举例来说,我们可以通过确定那些贡献80%利润的20 %的用户、客户、活动、产品或程序,并最大限度地注意对他们适用,来显著提高效应。[帕累托原则在维基百科]

 

8个接口设计的金科玉律

作为接口设计研究的成果, Ben Shneiderman提出并收集了一些从经验中启发而来,适用于大多数交互系统的原则。这些原则适用于用户接口设计,也适用于网页设计。

1. 争取保持一致性

2. 为老用户提供可用的快捷方式

3. 提供有益的反馈

4. 设计结束功能的对话框

5. 提供简单的错误处理

6. 允许简单的逆转功能

7. 提供控制感。支持内部控制点

8. 减少短期记忆

 

费茨定律

由保罗费茨(Paul Fitts)发表于1954年,费茨定律模拟了人类活动,以目标距离和目标规模大小为函数,预测了迅速移动到目标区所需时间。该法通常应用到鼠标的移动,访客就必须从A点移动到B点。例如,这个规则对于如何放置内容区域,以更实用的方式,最大化内容可及性和提高内容点击率,是非常重要的。

 

倒金字塔

倒金字塔是一种在文章开头表达总结文字的写作风格。这种方式使用了新闻业中著名的“瀑布效应”,新闻作者试图让他们的读者即时知道他们的报道的主题。文章以总结开头,接着是关键点,最后那些次要的细节,如背景资料。由于网络用户需要即时的满足,这种倒金字塔写作风格,对于网络写作和更好的用户体验是非常重要的。就像尼尔森的支持

 

满意

网络用户不喜欢用最佳方式找到他们寻找的信息。他们对最合理和最健全的解决问题方案不感兴趣。相反,他们永远扫描他们认为“足够好”的quick’n'dirty解决方案。在网络中,这种方式准确地描述了用户的满意:用户使用一个“足够好”的方案解决问题——即时在长远看来一些替代方案能够更好地满足他们的要求。

July,22nd,2008

阿里妈妈帮助页面上线!~


页面功能采用流行的搜索查询答案样式!在内容部分采用伸缩方式改变,浏览方式,很多时候解决办法多是一两句话,才用这样的方式更为简单易用!

July,2nd,2008

妈妈1周年快乐^V^


阿里妈妈已经一年了!一年的收获,一年的成长,在这里见证妈妈的点点滴滴!

July,2nd,2008

阿里妈妈文化T恤


阿里妈妈文化T恤,经过威客创意投稿,经过内部投票,经过设计师修正,创意搞终于有些眉目了!

May,23rd,2008

阿里妈妈一年时间首页改版8次

这次改版已经是阿里妈妈自成立一年来的第8次改版,很多人觉得阿里妈妈为什么要这样改,每次改版处于什么目的,
  
阿里妈妈正处于高速的发展阶段,公司每一个月都有大型产品上线,每一星期多有用户关切功能改进,每一天都有着很多的变化和改进!

每次的改动多希望能通过首页来体现阿里妈妈的变化,所以对于阿里妈妈来说,不变的永远是变化!

这次改版的体现:
1、阿里妈妈“测试版”去掉,一个标志性的意义、也说明阿里妈妈网站日渐成熟

2、版面有更多的内容来吸烟和针对用户需求,增加了
  (1、全国联播
  (2、最新成交
  (3、广告推荐细化显示
  (4、社区热贴
  (5、广告类目细化显示
  (6、成交能力排行
  (7、站长信用排行
  8、站长信息发布、等用户较关心的版块,也满足运营部门对首页资源的需求

3、类目改版,这次尝试性对广告类目的展示形式做了竖排的样式,更清爽,更容易阅读的方式来表现!这超传统的排列方式希望大家喜欢*v*

May,14th,2008

阿里妈妈翻页效果

阿里妈妈翻页效果,5月14日上线!大家look look

查看效果http://www.alimama.com/membersvc/buyadzone/search_zone.htm