Recently in 技术便签 Category

怎样分析产品的用户体验

| | 回复 (0) | 引用通告 (0)
转自:http://www.uxhome.com/info/research/2008-07-31/62.html一般来讲,产品(不仅仅是产品,一套服务也是如此)的用户体验包括这么几个部分:架构、导航、交互、呈现。架构是最早一个产品设计就应该考虑的东西,它将是整个体验里面站得最靠底层的东西,用户一般不会直接接触到它。但是它却会最大程度上影响一个产品的体验(统计数字是80%的相关问题会由这个产生)。这个架构不同于软件工程里面的架构,它解决的问题无非包括这么几类:1、西红柿是水果还是蔬菜? 就是归类的问题。2、西红柿应该放在桌子(desktop)上,还是放在桌子上的篮子里?就是信息的层级深度问题。3、桌子上放几个篮子?信息的广度问题当然具体起来,架构还包括很多其他的东西,但这三个问题解决了,大的方面也就解决了。导航是架构的傀儡,他背后是架构,导航听架构的指使来引导(有可能是误导)用户。用户通过导航来了解系统的架构,建立心理模型。导航解决这么几个问题:1、怎样从上海到杭州?“怎么去的问题”是火车呢,还是汽车呢,还是飞机呢。有明确而熟悉的提示。2、路上到了嘉兴,有没有牌子指示一下呢?“我在哪里的问题”导航是分层级的,有系统级的,有任务级的,但所有的层级无非都是基本解决上面两个主要的问题。交互是指系统和用户的对话,这里面包含的内容就比较多了,可以想象成你和另外一个人对话,谈的话题可能有很多种:1、是打手势,还是抛媚眼? 最基本的输入和输出方式的问题,比如键盘、触摸屏、把手、屏幕、声音等都是这个层级的选择问题。2、该哭就哭,该笑就笑,千万不要假装。 解决一个affordance的问题,一直比较觉得比较难翻译这个词,今天突然发现,可以用“直观性”来表示。什么意思呢,就是你做一个控件(或者操作的暗示),必须它的行为和模样对应。按钮应该长得像按钮、把手就应该像把手,穿着西装出现在垃圾场,是不是不协调。待续先....昨天碰上开会,没能写完。今天继续完成这四块。交互部分除了1、输入输出方式;2、操作的直观性之外;还有合适控件的选择、帮助信息的呈现方式、错误信息的提示等多个部分,内容包括多个模块,但是如果综合起来分析的话,我们可以把它分成交互流程和每个流程环节的具体实现方式两个部分,这样就比较清晰易懂了。呈现,就是化妆啦。不过这里的化妆不仅仅是为了好看,也就是说不仅仅是目前很多人讲的GUI,化妆还有一个基本的作用,就是让别人认出你的鼻子和眼睛,不要搞混了。产品的呈现方面从大到小包括多个方面,比较高层次就是,眼霜和口红的区分,把口红涂满全脸,用户看到肯定晕菜,但是现在很多网站都是这样,Flash、大图片满天飞。这个层次主要就是决定一个页面的布局层次,这个层次需要从颜色、大小、组块等各个方面一起来支持,不可或缺。布局好了之后,接下来要考虑的就是注意力的分配问题,基本的原则是要记住的:看一个脸首先看的是眼,其次是鼻子,然后是其他....一 个页面也有类似的规律,首先看的是动的、然后是图片、然后是大的文字。大小、红色、动态、新颖等也会在这里面起到不同的作用。当然,还有一个需要非常注意 的是,虽然你可以把内容的主要程度按照这个规律来排列,但是切记现在用户因为广告的负面效应,很多动态的效果虽然会被第一时间注意到,但是会被马上屏蔽为 不重要内容。这些因素之外,还需要考虑的就是文字的字体、大小、可读性等多个比较琐碎的因素。这些工作中有一些是需要交互设计师和GUI一起来完成的,需要有一套规范来指导,不能仅凭主观感受。这四个因素简略讲起来,就是这样,但在实际产品中,可能需要在每个因素下面又分为很多细的东西。最 后,理顺一下这四个方面的关系:架构和交互可以说是一个剧本,一个导演,都是电影里不能直接看不到的,需要琢磨的,但是他们作用极大,可以决定一个电影的 大部分质量;导航和呈现是主角和群众演员,没有导航,电影根本没法演,群众一个两个演的不好,会有问题,但是不会有太大问题,但是如果一群都配合不好,别 人都在哭,他却在笑,也会使得电影变成马戏团。.........

read more

dojo data 接口详解

| | 回复 (0) | 引用通告 (0)
dojo/data 主要定义了dojo/data的接口结构,以及最基本的几个util 1. dojo/data/api 定义接口结构 1.1. Read.js 1.1.1. 依赖 dojo.require("dojo.data.api.Request"); 1.1.2. 成员函数 getValue: function( /* item */ item, /* attribute-name-string.........

read more

Javascript之文件操作 (IE)

| | 回复 (0) | 引用通告 (0)
转自: http://www.jb51.net/article/7905.htm一、功能实现核心:FileSystemObject 对象      要在javascript中实现文件操作功能,主要就是依靠FileSystemobject对象。 二、FileSystemObject编程  使用FileSystemObject 对象进行编程很简单,一般要经过如下的步骤: 创建FileSystemObject对象、应用相关方法、访问对象相关属性 。  (一)创建FileSystemObject对象  创建FileSystemObject对象的代码只要1行:  var fso = new ActiveXObject("Scripting.FileSystemObject");  上述代码执行后,fso就成为一个FileSystemObject对象实例。  (二)应用相关方法  创建对象实例后,就可以使用对象的相关方法了。比如,使用CreateTextFile方法创建一个文本文件:  var fso = new ActiveXObject("Scripting.FileSystemObject");  var f1 = fso.createtextfile("c:\\myjstest.txt",true");  (三)访问对象相关属性  要访问对象的相关属性,首先要建立指向对象的句柄,这就要通过get系列方法实现:GetDrive负责获取驱动器信息,GetFolder负责获取文件夹信息,GetFile负责获取文件信息。比如,指向下面的代码后,f1就成为指向文件c:\test.txt的句柄:  var fso = new ActiveXObject("Scripting.FileSystemObject");  var f1 = fso.GetFile("c:\\myjstest.txt");  然后,使用f1访问对象的相关属性。比如:  var fso = new ActiveXObject("Scripting.FileSystemObject");  var f1 = fso.GetFile("c:\\myjstest.txt"); .........

read more

Dojo openapi js (EN)

| | 回复 (0) | 引用通告 (0)
1. Summary:This is a Javascript api file based on DOJO framework. Since EEEE-works supply a open(free) database & data manipulate.........

read more

Dojo openapi js

| | 回复 (0) | 引用通告 (0)
if (window.showTocToggle) { var tocShowText = "显示"; var tocHideText = "隐藏"; showTocToggle(); } 依赖关系 dojo.require("dojo.io.script"); //用于跨域ajax GET请求dojo.require("dojo.io.iframe"); //用于跨域 ajax.........

read more

IE对表单enctype修改时的bug

| | 回复 (0) | 引用通告 (0)
在IE 6.0下,form的enctype无法通过javascript的.enctype修改和控制。比如:        我要写一个提交文件用的form <form id='ie' method='post' action="http://10.62.136.44/web/file/ReceiveFile.php" target="_blank"><input type="file" name="dynamic1" /><input type="submit" name="submit" value="submit"></form>    然后使用脚本将enctype修改为 "multipart/form-data"    document.getElementById("ie").enctype = "multipart/form-data";或者    document.getElementById("ie").setAttribute("enctype","multipart/form-data");这时,你会发现,form的enctype类型已经变了,但是,之后如果点击submit,同时抓header包,可以看到,发出的post还是“application/x-www-form-urlencoded”.........

read more

Rich Client Side BBS

| | 回复 (0) | 引用通告 (0)
最近使用OPENAPI做了一个“富客户端”,几近0服务器端的BBS(留言版)测试地址见: http://carriezh.cn/1214/创建步骤大概分为数据库和应用程序两部分:    1,数据库部分主要工作是在原有API的基础上,创建自己BBS所需要的一写model,view等    2,应用程序部分,就是编写这个BBS所有可能用到操作的执行和响应动作。数据库部分注册用户:    使用API提供的用户注册方法注册BBS的主人,通过这个用户,你可以创建多个角色,以便对于不同角色使用不同的安全控制机制。    默认情况下,系统会分配你每个新注册用户一个Admin角色和一个Public角色,Admin角色需要密码进行登录。创建Model:    目的:Model的概念类似于数据库中的表,他用来存储你的BBS数据,    方法:向API接口发POST请求,在POST的内容中规定model的名称和字段等属性。    注意:创建Model之前,需要先以Admin角色登录你之前注册的用户,该Model将生成在这个用户下面。创建View:    目的:View的概念类似于数据集合,根据特定条件创建View后,可以在应用程序中根据执行的指定View来返回各种不同需求的结果数据。    方法:向API创建View的接口发送POST的请求,POST的内容中包括这个View的名称,以及这个View被访问时等效的数据库查询语句。    注意:创建View之前,需要先以Admin角色登录你之前注册的用户,该View将生成在这个用户下面。    在这里,也可以使用访问数据库存储过程的方法来使View更加灵活的生成想要的数据,或者执行复杂的操作。创建角色:    目的:规范使用你应用程序的用户群,使不同类型的用户具有不同权限,比如对于发帖的人需要通过验证码(水印)校验,或者建立自己的BBS用户登录系统等等。    方法:向API创建角色的接口发送POST请求,POST的内容是角色名称及描述。若要给已经存在的角色添加可以做哪些事情(可以发送的API请求),需要通过POST向那个角色下面添加可执行操作的名称,以及相应操作要使用的请求地址。这个地址可以是访问一个View的名称等。应用程序部分应用程序中包括html、javascript和css三部分,其中javascript是数据交互的重点:其中包含两个主要类:Comment.js 和 CommentManager.js。Comment.js定义了对于每个单独的帖子(或留言)所要具备的一些属性和方法;CommentManager.js 是一个负责调配、展示、存取数据的管理类,其中包括设置API访问的接口,展现的帖子数量、展现位置、发查询的动作、在页面上画出返回的相应数据等。Comment类:    Comment.populateComment():根据页面中相应字段(输入框等)的值组装一个Comment对象。    Comment.populateScreen():根据对象的各个属性的值,填充到页面的相应字段中。   .........

read more

JavaScript tutorial - Window size and scrolling

| | 回复 (0) | 引用通告 (0)
转自:http://www.howtocreate.co.uk/tutorials/javascript/browserwindowWindow size and scrolling function alertSize() { var myWidth = 0, myHeight = 0; if( typeof( window.innerWidth ) == 'number'.........

read more

使用 dojo.data (0.9+)

| | 回复 (0) | 引用通告 (0)
什么是dojo.data dojo.data 是一个统一的数据访问层,他屏弃了数据库驱动和唯一数据格式的概念。所有的数据都展现为一个元素(item)或元素的一个属性(attribute)。具有这样表现形式的数据,可以通过一种标准方式来访问。有新意的是,dojo.data提供了基本的ItemFileReadStore,来读取特定格式的JSON数据。DojoX项目提供了更多存储方法(例如,一个简单的XmlStore,CsvStore,以及OpmlStore)可以适用于那些输出相应格式数据的服务器。另外,dojo.data也是一个其他用户可以写入的API,所以你可以写为某个指定数据格式写一个存储方法,作为整个dojo.data API的一个子集,或者是任何其他的你想要使用的指定数据集合的处理服务。在拥有了属于你自己的可以通过一个datastore来访问的特定数据格式之后,可以不用学习任何新的API就能够存取你的数据了。   最后,dojo.data的目标,是提供一个可扩展的API集合,作为一个可以添加任何datastore的接口。那些融入标准接口的存储方法,应该可以在更广泛多样的应用程序、窗口小部件等可交互程序中使用。本质上来说,API暗含了特定的数据结构,可能是JSON, XML, CSV或其他格式,并提供了访问元素和元素中属性的方法。This also allows optimizations on data access to be placed where they are.........

read more

DOM:Storage (mozilla&firefox)

| | 回复 (0) | 引用通告 (0)
刚刚翻译完的:http://developer.mozilla.org/cn/docs/DOM:Storage 摘要 DOM Storage,就是在Web Applications 1.0 specification中介绍的那些存储相关特性集合的名称。相比较在cookies中存储信息来说,DOM Stroage更大、更安全、更易于使用的。目前它只在基于Moziila的浏览器中可以使用,从Firefox2开始。 Note: DOM Storage 与 mozStorage (Mozilla对于SQLite的XPCOM接口)和Session store API(扩展使用的一个XPCOM存储).不同 描述 DOM Storage机制是一种通过字符串形式的名/值对来安全地存储和使用的方法。这个附加功能的目标是提供一个更全面的、可以创建交互式应用程序的方法(包括那些高级功能,例如可以离线工作一段时间)。 目前,只有基于Mozilla的浏览器提供了DOM.........

read more

About this Archive

This page is a archive of recent entries in the 技术便签 category.

翻译 is the previous category.

难得原创 is the next category.

Find recent content on the main index or look in the archives to find all content.


Powered by Movable Type 4.01rc1
    follow me on Twitter