从事前端开发到目前为止已经有4年多的时间了,从一个小菜鸟一路依靠自学,到目前总算一个老菜鸟了。当然了,从事前端的工作,是免不了要对产品以及用户体验有些许了解的。最近谈论起这方面的内容,就按照自己的想法,对UX相关的内容做个总结。大家可多多评论一起探讨。
先说一下几个概念(职位):
PM:Product Manager 的简写,即产品经理,就是企业中专门负责产品管理的职位,产品经理负责调查并根据用户的需求,确定开发何种产品,选择何种技术、商业模式等。并推动相应产品的开发组织,他还要根据产品的生命周期,协调研发、营销、运营等,确定和组织实施相应的产品策略,以及其他一系列相关的产品管理活动。
UX :User Experience 的简写,即用户体验,更贴切的解释应该为使用者对于产品的体验,而对于 UX designer 来说,其主要的工作是研究用户对产品使用的体验,研究用户的习惯,研究用户的心理模型,从而使产品能够更好的适合用户的使用,适用于用户的体验,甚至引导用户的体验与习惯。那么其目标即为使用户对产品的综合体验达到一个比较高比较好的层次。
所以,由此来看,UX 应该包含有更多的概念,因此下面的概念应该都是为UX来服务的。
ID:Interaction Design 的简写,即交互设计,这个职位更多的着眼于如何将自己的工作体现在用户界面(UI)的信息表现中,体现在用户操作的流程上,体现在用户如何与网站、app 等产品的交互上。使用户和网站等的交互上有一个流程,有一个明确的可视化的流程,从而使开发人员之间,开发人员和产品之间能够有更有效的交流。也使得 PM UX 能够从更清晰的角度来把控用户的体验。即在 PM 看来,用户在使用产品的时候,会有一个明确的使用流程和交互流程。也更利于整个网站、App,甚至整个公司产品的体验的统一。从而能够更好地从更高的角度来改善产品的交互以及体验。
UI : User Interface 的简写,即用户界面,其实就是设计漂亮的界面嘛,用户喜欢就好了,当然是要在上面几个工作的基础之上才可以。
其余的还包括,用户研究员,视觉设计等,对于不同的公司,可能有不同的职位,即便相同的职位,也可能偏重的有所不同,例如UX ,在有些公司可能一个人兼任ID UI 甚至还要用户研究,但是有些公司各种职位可能就分的比较细了,但是总的来说,这些职位可能没有,但是工作都仍旧要做。
那么下面我就再将自己对于这些职位的工作流程的理解,简单的总结下。
1. 老板或者公司层面有一个点子,我们要做一个产品 A。
2. PM 在老板的这个思路下,开始做一些具体产品的考虑,例如有哪些模块,为什么有这么些模块,这些模块为什么而服务。某个模块中的一些内容是大概用什么样子的展现方式来展现的。同时,要考虑使用某种商业模式,未来盈利方式如何,以及市场上如何推广等。
3. 对于展现方式,可能有A/B/C等各种展现方式,那么用哪种展现方式更合适呢?
4. 用户研究员 开始出现了,利用已有的用户研究的数据,或者自己设计使用场景,自己设计调查问卷,对潜在的用户群体进行使用行为以及使用心理进行研究,形成具有说服力的数据报表,什么情况下使用A方案更好,具体比例高多少,在调整到某个方案后,这个方案能带来更好的方面是什么,影响的方面是什么。
5. 在用户研究员确定了使用某种更好的方案之后,此时 “交互设计师” 该上场了。
6. 由于一个页面并不是静态的,需要用户和页面进行交互才能完成整个过程,那么通过哪种交互方式对用户来说是更容易接受,且接受后有更正面的体验呢?这就是交互设计师应该做的工作。例如,注册表单页面,有最少三个输入框,当然了,在目前这种用户体验下,输入内容,点击提交,页面刷新,通过服务器验证此表单填写的内容是否合法,这种方式已经是老古董了,应该被丢进博物馆了。但是,都是前端验证并提示,也有各种不同的交互方式。例如输入错误,提示用户,在一个地方统一提示?还是在每个输入框的下面或者右边提示;提示的时候,在错误的输入框聚焦时是否提示信息要消失?是否所有信息都填写正确时确定按钮才可点击,还是任何时候都可以点击?点击之后是刷新页面之后给提示,还是直接进入,还是不刷新登录成功直接跳转呢?等等这些,都应该算作交互设计师的工作范畴。
7. 等这些所有的工作都确定了,视觉设计师开始出场了。此时,需要通过视觉设计师来完成最终的和用户直接接触的页面的效果图了,但是美不美,丑不丑这种跟个人有关的主观性的东西,只能靠设计师个人对设计趋势,流行设计风格的把握以及自己的能力来体现了。当然了,决策者喜欢的风格也是对结果有很大的影响的。
8. 此时,所有工作都结束了,就开始进入到实际的开发工作中了,但是在实际的开发工作中,上面这一系列步骤,还会不断重复,但是这种重复越少越好,谁都不愿返工,不是吗?
9. 看了这个流程,不知道大家有没有一个想法,交互设计师和用户研究都是在 A/B 这种选择的情况下才出现的,那么这种选择从哪里来呢?PM。来源都是PM,此时可以不用考虑老板或者公司和PM之间的沟通。那么PM 是否可以一人兼职这么多呢,回答是当然可以,如果公司有力量,有资源,那么更细分的工作,可以带来更好的效果,如果公司资源不允许,那么一个人完全可以兼职这么几个 title,只不过我们需要更多的时间和成本来试错了。
10. 各个流程都有了,那么是否有什么标准来判断工作做得好坏呢?那最好就是各个人员的产出物了,例如PM应该是PRD,产品需求文档,当然,在这之前还应该有 商业需求文档(BRD)和市场需求文档(MRD),所以PM不仅要关注产品本身,还要关注商业以及市场,因为这个产品整个生命周期都应该PM负责,而不仅仅是开发的部分。而用户体验和用户研究,就应该使用各种方式来研究用户最终形成一个类似于一个研究报告,要有实际的数据来指导开发以及PM做决策,而交互设计师应该和PM一起,产出一个交互原型,如果是高保真的最好啦。 那UI/视觉设计,就应该产出效果图了。
11 最终,到开发之前,需要有 草图/线框图,交互原型,视觉效果图以及其他的很多辅助的文档。
12. 当然了,上面所说的所有的产出物以及开发前需要的产出物都是不固定的。都要结合自己公司以及产品的实际情况进行取舍,但是不要为了取舍找借口,该取得取,该舍弃的舍弃。
这是我自己的一些理解,可能很多理解不到位甚至错误的地方。请大家不吝指出。
最后,再贴一张 UX 和 UI 的对比图
一个老菜鸟所理解的UX及产品流的更多相关文章
-
一个老菜鸟的年度回忆 &; 智能工厂奋斗的第三年,可能有你值得借鉴的
岁月蹉跎,寒冬的夜晚仍伏案疾书,见论坛中有诸多大神已经开始了一年的总结,突然安奈不住心中的躁动,也想为这今年的奋斗留下只言片语,没有年初的目标总结,没有未来的展望,就想作为一篇日记记录今年项目精力,为 ...
-
【Unity Shaders】游戏性和画面特效——创建一个老电影式的画面特效
本系列主要参考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同时会加上一点个人理解或拓展. 这里是本书所有的插图.这里是本书所需的代码和资源 ...
-
一个故事带你理解if __name__ == &#39;__main__&#39;
如果你刚刚接触python,相信会在看别人的程序的时候会遇到if __name__ == '__main__'酱紫的语法,如果当时没看懂现在也一知半解的话,看下去,本文可以帮你解决这个问题. 大家都知 ...
-
剑指Offer的学习笔记(C#篇)-- 二叉树的下一个节点(好理解版本)
题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回.注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针. 一 . 理解题意 该题目我们可以借鉴一个非常影响不好的 ...
-
一个老程序员PHP程序员说的话(用来提醒自己)
我,一个老程序员,也是一个学生,把玩过甚多语言,大多不精.我既非名牌学校,也不是高学历,仅代表一部分比较蛋疼的人.接触PHP也是很早了,从04年的OFSTAR开始的,到现在六年了,期间也接触过不少的语 ...
-
javascript编写一个简单的编译器(理解抽象语法树AST)
javascript编写一个简单的编译器(理解抽象语法树AST) 编译器 是一种接收一段代码,然后把它转成一些其他一种机制.我们现在来做一个在一张纸上画出一条线,那么我们画出一条线需要定义的条件如下: ...
-
AI 的下一个重大挑战:理解语言的细微差别
简评:人类语言非常博大精妙,同一句话在不同的语境下,就有不同的含义.连人类有时候都不能辨别其中细微的差别,机器能吗?这就是人工智能的下一个巨大挑战:理解语言的细微差别.本文原作者是 Salesforc ...
-
一个老IT产品管理者对于产品经理工作的经验总结
一个老IT产品管理者对于产品经理工作的经验总结 1. 任何行业,包括IT行业,所谓产品管理.产品经理,其核心应该是企业产品管理制度,也就是说,只有企业存在相应的.合理的产品管理体系和制度,产品管理.产 ...
-
Python:通过一个小案例深入理解IO多路复用
通过一个小案例深入理解IO多路复用 假如我们现在有这样一个普通的需求,写一个简单的爬虫来爬取校花网的主页 import requests import time start = time.time() ...
随机推荐
-
LINUX下的拨号利器:wvdial和pppd —— 转载
wvdial是LINUX下的智能化拨号工具,利用wvdial和ppp可以实现linux下的轻松上网.在整个过程中wvdial的作用是拨号并等待提示,并根据提示输入相应的用户名和密码等认证信息:ppp的 ...
-
iOS事件处理之七种手势
手势在开发中经常用到,所以就简单通俗易懂的说下, 话不多说,直接看代码: // 初始化一个UIimageView UIImageView *imageView = [[UIImageView allo ...
-
dig out deledted chat messages
One of my friends asked me to do a favor for her. She said her friend deleted some important chat me ...
-
Linux 安装Nginx详细图解教程
进入:/usr/java/nginx位置 下载nginx: wget http://nginx.org/download/nginx-1.8.0.tar.gz 下载openssl : wget htt ...
-
Jquery 对话框确认
$("#aa").click(function(){ if(confirm("是否继续")){ $(#aa).fadeOut(500); } })
-
Linux基本符号
Linux环境下一些常用的符号 ; 多个命令的分隔符 / 根目录或路径分隔符 > 重定向,数据沿箭头方向流动,原来文件内容会被丢弃 >> 追加重定向,在原来文件结尾追加内容 .. 上 ...
-
mysql数据库的三范式的设计与理解
一般的数据库设计都需要满足三范式,这是最基本的要求的,最高达到6NF,但是一般情况下3NF达到了就可以 一:1NF一范式的理解: 1NF是关系型数据库中的最基本要求,就是要求记录的属性是原子性,不可分 ...
-
Java并发编程之ThreadGroup
ThreadGroup是Java提供的一种对线程进行分组管理的手段,可以对所有线程以组为单位进行操作,如设置优先级.守护线程等. 线程组也有父子的概念,如下图: 线程组的创建 public class ...
-
python之旅六【第六篇】模块
json和pickle 用于序列化的两个模块json,用于字符串 和 python数据类型间进行转换pickle,用于python特有的类型 和 python的数据类型间进行转换 json模块提供了四 ...
-
解决svn检出后不显示图标的问题
解决svn检出后不显示图标的问题: 此文经过个人验证,可以解决TortoiseSVN图标显示异常问题: 问题出现原因:Windows Explorer Shell 支持 Overlay Icon 最多 ...