首页

H5之外部浏览器唤起微信分享

seo达人

最近在做一个手机站,要求点击分享可以直接打开微信分享出去。而不是jiathis,share分享这种的点击出来二维码。在网上看了很多,都说APP能唤起微信,手机网页实现不了。也找了很多都不能直接唤起微信。

总结出来一个可以直接唤起微信的。适应手机qq浏览器和uc浏览器。

下面上代码,把这些直接放到要转发的页面里就可以了:

html部分:


        
  1. <script src="mshare.js"></script>//引进mshare.js
  2. <button data-mshare="0">点击弹出原生分享面板</button>
  3. <button data-mshare="1">点击触发朋友圈分享</button>
  4. <button data-mshare="2">点击触发发送给微信朋友</button>

js部分:


        
  1. <script>
  2. var mshare = new mShare({
  3. title: 'Lorem ipsum dolor sit.',
  4. url: 'http://m.ly.com',
  5. desc: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quaerat inventore minima voluptates.',
  6. img: 'http://placehold.it/150x150'
  7. });
  8. $('button').click(function () {
  9. // 1 ==> 朋友圈 2 ==> 朋友 0 ==> 直接弹出原生
  10. mshare.init(+$(this).data('mshare'));
  11. });
  12. </script>

下面是mshare.js的代码分享,把这些代码新建一个js文件放进去,然后在页面中引进就ok了。


        
  1. /**
  2. * 此插件主要作用是在UC和QQ两个主流浏览器
  3. * 上面触发微信分享到朋友圈或发送给朋友的功能
  4. */
  5. 'use strict';
  6. var UA = navigator.appVersion;
  7. /**
  8. * 是否是 UC 浏览器
  9. */
  10. var uc = UA.split('UCBrowser/').length > 1 ? 1 : 0;
  11. /**
  12. * 判断 qq 浏览器
  13. * 然而qq浏览器分高低版本
  14. * 2 代表高版本
  15. * 1 代表低版本
  16. */
  17. var qq = UA.split('MQQBrowser/').length > 1 ? 2 : 0;
  18. /**
  19. * 是否是微信
  20. */
  21. var wx = /micromessenger/i.test(UA);
  22. /**
  23. * 浏览器版本
  24. */
  25. var qqVs = qq ? parseFloat(UA.split('MQQBrowser/')[1]) : 0;
  26. var ucVs = uc ? parseFloat(UA.split('UCBrowser/')[1]) : 0;
  27. /**
  28. * 获取操作系统信息 iPhone(1) Android(2)
  29. */
  30. var os = (function () {
  31. var ua = navigator.userAgent;
  32. if (/iphone|ipod/i.test(ua)) {
  33. return 1;
  34. } else if (/android/i.test(ua)) {
  35. return 2;
  36. } else {
  37. return 0;
  38. }
  39. }());
  40. /**
  41. * qq浏览器下面 是否加载好了相应的api文件
  42. */
  43. var qqBridgeLoaded = false;
  44. // 进一步细化版本和平台判断
  45. if ((qq && qqVs < 5.4 && os == 1) || (qq && qqVs < 5.3 && os == 1)) {
  46. qq = 0;
  47. } else {
  48. if (qq && qqVs < 5.4 && os == 2) {
  49. qq = 1;
  50. } else {
  51. if (uc && ((ucVs < 10.2 && os == 1) || (ucVs < 9.7 && os == 2))) {
  52. uc = 0;
  53. }
  54. }
  55. }
  56. /**
  57. * qq浏览器下面 根据不同版本 加载对应的bridge
  58. * @method loadqqApi
  59. * @param {Function} cb 回调函数
  60. */
  61. function loadqqApi(cb) {
  62. // qq == 0
  63. if (!qq) {
  64. return cb && cb();
  65. }
  66. var script = document.createElement('script');
  67. script.src = (+qq === 1) ? '//3gimg.qq.com/html5/js/qb.js' : '//jsapi.qq.com/get?api=app.share';
  68. /**
  69. * 需要等加载过 qq 的 bridge 脚本之后
  70. * 再去初始化分享组件
  71. */
  72. script.onload = function () {
  73. cb && cb();
  74. };
  75. document.body.appendChild(script);
  76. }
  77. /**
  78. * UC浏览器分享
  79. * @method ucShare
  80. */
  81. function ucShare(config) {
  82. // ['title', 'content', 'url', 'platform', 'disablePlatform', 'source', 'htmlID']
  83. // 关于platform
  84. // ios: kWeixin || kWeixinFriend;
  85. // android: WechatFriends || WechatTimeline
  86. // uc 分享会直接使用截图
  87. var platform = '';
  88. var shareInfo = null;
  89. // 指定了分享类型
  90. if (config.type) {
  91. if (os == 2) {
  92. platform = config.type == 1 ? 'WechatTimeline' : 'WechatFriends';
  93. } else if (os == 1) {
  94. platform = config.type == 1 ? 'kWeixinFriend' : 'kWeixin';
  95. }
  96. }
  97. shareInfo = [config.title, config.desc, config.url, platform, '', '', ''];
  98. // android
  99. if (window.ucweb) {
  100. ucweb.startRequest && ucweb.startRequest('shell.page_share', shareInfo);
  101. return;
  102. }
  103. if (window.ucbrowser) {
  104. ucbrowser.web_share && ucbrowser.web_share.apply(null, shareInfo);
  105. return;
  106. }
  107. }
  108. /**
  109. * qq 浏览器分享函数
  110. * @method qqShare
  111. */
  112. function qqShare(config) {
  113. var type = config.type;
  114. //微信好友 1, 微信朋友圈 8
  115. type = type ? ((type == 1) ? 8 : 1) : '';
  116. var share = function () {
  117. var shareInfo = {
  118. 'url': config.url,
  119. 'title': config.title,
  120. 'description': config.desc,
  121. 'img_url': config.img,
  122. 'img_title': config.title,
  123. 'to_app': type,
  124. 'cus_txt': ''
  125. };
  126. if (window.browser) {
  127. browser.app && browser.app.share(shareInfo);
  128. } else if (window.qb) {
  129. qb.share && qb.share(shareInfo);
  130. }
  131. };
  132. if (qqBridgeLoaded) {
  133. share();
  134. } else {
  135. loadqqApi(share);
  136. }
  137. }
  138. /**
  139. * 对外暴露的接口函数
  140. * @method mShare
  141. * @param {Object} config 配置对象
  142. */
  143. function mShare(config) {
  144. this.config = config;
  145. this.init = function (type) {
  146. if (typeof type != 'undefined') this.config.type = type;
  147. try {
  148. if (uc) {
  149. ucShare(this.config);
  150. } else if (qq && !wx) {
  151. qqShare(this.config);
  152. }
  153. } catch (e) {}
  154. }
  155. }
  156. // 预加载 qq bridge
  157. loadqqApi(function () {
  158. qqBridgeLoaded = true;
  159. });
  160. if (typeof module === 'object' && module.exports) {
  161. module.exports = mShare;
  162. } else {
  163. window.mShare = mShare;
  164. }

好了,这样就可以直接唤起微信进行分享啦

蓝蓝设计www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计  cs界面设计  ipad界面设计  包装设计  图标定制  用户体验 、交互设计、 网站建设 平面设计服务

calc的使用

seo达人

       有张页面是要求要一屏展示,我想到了媒体查询,也想到了vw和vh。我先用vw和vh来布局,分为上,中,下三部分。每块计算宽高,vw和vh可以实现响应式布局,所以就用上了。但媒体查询用上了却发现在这边不好用,这时使用上了calc()属性。因为上一个人引入了video.js并加上id:#myVideo ,这边也做相应的计算处理。



注意:要有空格



calc()能计算的计算表达式里,在加号(“+”)和减号(“-”)两边要留空格,而乘号(“”)和除号(“”)没有这个要求。 



.video_rel {

        height: calc(100% - 66px);

        width: calc(51.3% - 60px);

 

        #myVideo {

            width: 100%;

            height: 100%;

        }

    }

CSS3引入了一个有用的功能,就是calc()函数。在指定元素高度或宽度时,你可以基于计算设定,而不是简单的使用固定数值。这种功能在自适应网页布局设计中格外有用——针对不同尺寸的设备,你需要动态的调整元素的大小,产生适合屏幕大小的不同布局。

 

蓝蓝设计www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计  cs界面设计  ipad界面设计  包装设计  图标定制  用户体验 、交互设计、 网站建设 平面设计服务

App 设计系列之模态弹窗与非模态弹窗

涛涛

在手机app应用中各种格式的弹窗效果相信大家都看过,也可能反感过某些弹窗,本文就来谈谈关于app弹窗设计以及弹窗的适用情景。

一. 弹窗的定义

1. 弹窗作用

弹窗是为了让用户回应,需要用户与之交互的窗口。

非模态弹窗一般被设计成用来告诉用户信息内容,而模态弹窗除了告诉用户信息内容外还需要用户进行功能操作。

2. 模态弹窗

会打断用户的操作行为,强制用户必须进行操作,否则不可以进行其他操作。

(Alerts/dialog,Actionbar,Popover)

3. 非模态弹窗

不会影响用户操作,用户可以不与回应,通常有时间限制,出现一段时间就会自动消失。

(Toast/HUD,Snackbar)

二. 弹窗分类

以下将以各类弹窗的含义、作用、适用来进行浅析。

1. Alerts/Dialog:警告框与对话框

含义:英文意为警告、对话,跟弹窗属性非常吻合,就是紧急状况,打扰用户的行为。

剖析:iOS中警告框称之为Alerts,作用是用来传达重要信息,并伴随着需要用户进行操作。

iOS规范中,警告框包含的元素如下:标题(必选)、描述信息(可选)、输入框(可选)、按钮(必选)。

必须包含标题、包含一个或多个按钮。

Android规范中,弹窗交互按钮需结合实际情况,不用「是/否」原则进行设计。

作用:告知用户当前发生的状况,让用户主动选择回应。

适用:重要性较高的操作时,如退出、删除、清空等。

2. Actionbar(Sheets、Acitivity View):操作栏、操作列表、活动视图

含义:英译为工具栏、操作栏。

剖析:当用户激发一个操作的时候,出现此窗口。

一般会给用户提供更多的功能选择,一般可采用官方控件。

一般都设计有一个默认的「取消」按钮,点击取消可以关闭弹窗。

Aciton Sheets和Activity Views是iOS上特有的交互形式。

特性是用户触发、包含两个或以上的按钮。

△ 以上为今日头条、iOS系统相册

作用:操作列表提供一系列在当前情景下可以完成当前任务的操作,而这样的形式不会永久占用页面UI的空间。

适用:如分享功能。

3. Popover/Popup:浮出框/浮层弹窗

含义:英意为弹出窗口,浮动于顶层窗口,气泡。

△ 以上为微博、qq、微信

剖析:当用户点击某个控件或者某个区域时浮出的半透明或者不透明的弹窗窗口。

不会对用户所在位置进行跳转。

作用:可以在当前页面进行更多的操作行为,显示/隐藏页面中的折叠信息。

适用:首页位置呈现一些常用操作的快捷入口。

4. Toast/HUD:提示框(iOS没有Toast,只有HUD)

含义:Toast也被称为吐司提示,Toast是安卓系统的一个控件名词,现也应用于iOS系统中。

剖析:提示框属于一种轻量级的弹窗反馈形式,常以小弹框的形式出现,持续1-2秒自动消失,可以出现在屏幕任意位置,但是建议同一款产品尽量使用相同位置,让用户产生统一认知,成为习惯。

提示信息能给予用户及时反馈,确保用户知晓自己所处的状态,并可以做出相应的措施。

iOS用户更习惯于在顶部感知反馈信息,不干扰用户浏览主体内容。Toast出现在屏幕顶部不会遮挡主体内容。(如花瓣、有道云笔记)

Android正统的规范中Toast:

  • 出现在屏幕底部。
  • 只能放文字不能带图标,文字要精简不宜太长。
  • 不是模态的,可以通过Toast对其他控件进行操作。
  • 短时间后会自动消失。
  • 不能对Toast进行交互。
  • 优先适用于系统提示,不能手动操作让Toast主动消失。

△ 以上为今日头条、微博、即刻

HUD与Toast的区别:

  • HUD只出现在屏幕的中央,Toast则在底部。
  • HUD可以包含icon,Toast只能纯文字。
  • HUD一般是毛玻璃透明,Toast一般是灰黑或者黑色半透明。
  • HUD中内容可以变化(如调节音量时),Toast中内容不可变化。

△ iOS音量调节

优点:

  • 占用屏幕空间小。
  • 不会打断用户操作。
  • 使用简单,适用范围广。

缺点:

  • 出现时间短,在碎片化时代注意力不集中容易错过Toast提示。
  • 遮盖其他控件,但不能对Toast进行交互。

适用:提示不需要的反馈信息,如刷新后的成功状态。

5. Snackbar:底部弹窗

Android特有的交互形式,在Google的MD规范中,将Toast和Snackbars归为一类。有些时候也有应用在iOS系统中,也可以理解为加强版的Toast。

含义:英译为快餐、小吃。

剖析:Snackbars与toast一样是从屏幕底部向上出现,但是Snackbar不同的是可以经过用户进行其他操作而消失。

适用:较多适用于撤销操作。

三. 总结

通过分析和了解弹窗的类别、适用范围,才能更好的在设计中进行优化与改变。用户体验设计的重点,是一步步了解用户,然后设计出适合用户体验,满足用户心理需求的产品。把握好弹框设计规范,避免弹框设计的误区,能更好的帮助你完善产品。

但是,没有十全十美的产品,所以要根据设计趋势与用户需求不断地进行更新迭代,通过用户反馈,不断地改良产品体验,才是做出优秀产品的前提。

六、HTTP协议中的缓存

seo达人

一、缓存简介

缓存无处不在,浏览器端的缓存、服务器端的缓存、代理服务器的缓存、对象缓存、数据库也有缓存……HTTP中具有缓存功能的是浏览器缓存和代理服务器缓存。下面说一下缓存的优点:



1.减少冗余的数据传输,节省了传输时间



2.减少服务器的负担,大大提高了网站的性能



3.加快了客户端加载网页的速度



二、使用Fiddler如何查看缓存的Header

与缓存相关的内容放在Header中的Cache项里;Requests和Responses均是这样。如图:







三、缓存的新鲜度(通过什么方式判断其是否,如何刷新缓存)

Web服务器通过两种方式判断浏览器缓存是否:



(1)浏览器把缓存文件的最后修改时间通过Header“If-Modified-Since”项传递给Web服务器。



(2)浏览器把缓存文件的ETag通过Header“If-None-Match”项传递给Web服务器。



简单描述一下,浏览器端想请求一个文档,它首先检查本地缓存,发现存在这个文档的缓存,获取缓存文档的最后修改时间,发送请求,将值放在Header中的“If-Modified-Since”项传递给Web服务器。Web服务器接收到请求后,将服务器的文档修改时间(Last-Modified)与HTTP请求中的header中的“If-Modified-Since”值相比较,有两种情况,如下面图示:



1.缓存有效:







2.缓存无效:







截图举例:







上面说的是If-Modified-Since值对比的方式;下面说一下ETa'g;



四、ETag

ETag(Entity Tag):实体标签;是根据实体内容生成的一段hash字符串(类似MD5之后的结果),可以用来标识资源的状态(当资源发送变化时,ETag也会跟着改变);ETag是Web服务端产生的,然后通过response响应给浏览器。使用ETag,主要解决Last-Modified无法解决的情况:



(1.某些服务器不能得到文件的If-Modified-Since来判断文件是否更新;



(2.某些文件修改非常频繁,以小于秒的单元进行修改,而Last-Modified最单元为秒;



(3.有些文件最后修改时间变化了,但是内容并没有变化,所以我们不希望浏览器以为文件已变化了;







五、与缓存相关的header

字段名称 释义

Cache-Control:max-age=0 以秒为单位

If-Modified-Since:Fri, 11 Jan 2019 01:55:04 GMT 缓存文件的最后修改时间

If-None-Match:W/"5c37f778-732" 缓存文件的Etag的值

Cache-Control:no-cache 不使用缓存

Pragma:no-cache 不使用缓存

Cache-Control:public 响应被缓存,可以共享与多用户

Cache-Control:private 响应只能私有缓存,不可共享

Cache-Control:no-store 绝对禁止缓存(机密、敏感文件)

Cache-Control:max-age=60 60秒后缓存过期(相对时间)

Date:Fri, 11 Jan 2019 01:55:04 GMT 当前发送时间

Expires:Fri, 11 Jan 2019 01:55:04 GMT 缓存过期时间设置(绝对时间)

Last-Modified:Fri, 11 Jan 2019 01:55:04 GMT 服务器端文件的最后修改时间

Etag:W/"5c37f778-732" 服务器端文件的Etag值

六、关于缓存的常识

1.如何让浏览器不使用缓存?



答:【Ctrl+F5】快捷键强制刷新浏览器,让浏览器不使用缓存;此时Fiddler抓包所看到的请求Header中都会带有Cache-Control:no-cache;







2.如何让浏览器直接使用缓存,不请求服务器进行缓存验证?



答:第一次访问与第二次访问同一个网页;(注意:第二次访问时,输入网址,直接回车)浏览器会直接使用有效的缓存,而不会发生HTTP请求去服务器验证缓存,这种情况称之为缓存命中;



使用Fiddler抓包,现象:第一次访问,有70多个Session;第二次访问,仅40多个请求;



3.浏览器均可在设置中设置不使用缓存;



4.公有缓存、私有缓存的区别:一个可以多个不同的客户端使用,一个只可唯一的客户端使用;


蓝蓝设计www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计  cs界面设计  ipad界面设计  包装设计  图标定制  用户体验 、交互设计、 网站建设 平面设计服务

淘票票9.0改版背后的设计思考与体验度量

涛涛

Sandy现任阿里影业—淘票票体验设计专家,2015年加入阿里巴巴,深耕B端行业产品,服务于电影产业链中的投资、宣发等角色。2017年起接触C端用户产品,推行价值导向和问题导向。2019年开始实践线上线下全链路设计。

 

活动笔记:

阿里影业的服务涉及的面很广,涉及到b端与c端全流程的体验服务,包括面对片方的制作和宣发、发行、乃至面向用户的售卖与放映,在每个节点都有涉及。而淘票票,经历了四年的产品迭代,以一年一个版本的速度的进行优化。15年的理念是做一个好用的购票工具,16年新增了营销,17年加强营销,18年新赛道探索。到了2019年,改版应该进行新的思考:怎样做?做什么?怎么做?做对了吗?

此次淘票票9.0版本是根据用户现有的习惯与市场的变化,由设计师发起的一次自下而上推进的改版。以下是淘票票9.0的设计策略与设计目标:

  1. 内容设计赋能
    新服务,扩展观影决策节点,帮助用户发现好电影。
  2. 购票流程体验打磨
    新体验,解读用户行为,体验走查,打磨核心购票链路体验。
  3. 年轻化
    新用户,关注用户群体的变化,搜索年轻用户群的品牌认知,提升年轻用户满意度。

接下来将对三点设计策略进行逐一的讲解。

 

1. 新服务—内容的赋能

根据内容类型和场景进行划分,结合内容特点和用户喜好,打造全场景运营,例如提供影讯、通稿、片单、榜单、热点、解读、文章和活动等等多元化内容。通过提供不同的内容展现给用户,将内容进行解构、把触达的场景进行细化、优化设计的表达,从而达到帮助用户可以更好的理解电影的目的。

 

2. 新体验—打磨购票流程的体验设计

设计前,首先应当熟知两种设计思维导向:

  • A.当设计目标是帮助企业完成商业目标时,是以价值为导向。
  • B.当设计目标是为了提升用户体验,则是以思维为导向、问题为导向。

而这次9.0淘票票改版采用的是以问题为导向,期间经历了五个流程:

2.1 找问题

首先出去找问题,找问题的方法有很多,如:用户研究、定性、定量、业务数据和体验走查,收集业务、用户、客满不同视角的疑似问题。

  • 会通过支付宝、淘宝、百度糯米来比较价格高低,对比价格需要反复推出
  • 进入不同的影院和场次,不太方便
  • 希望看过的电影能够产生一些纪念价值
  • 不清楚80元和40元的座位有什么区别
  • 不明确片尾是否有彩蛋
  • 购票平台的评分对自己没有参考价值
  • 电影院的地址、停车场是否免费等信息不够准确
  • 买完票到取票之间,需要反复确认订单信息、分享订单信息,但是订单入口
  • 藏得有些深

2.2 看现象

找完问题之后,基于数据的支撑,去看用户有哪些习惯的变化,看到目前的现象后再进行数据解读。

  • 影院页和选座页返回率高
  • 越来越多的用户购买当日的电影票
  • 多数用户选择更短的买票路径
  • 大多数用户去过的电影院在3家以内

2.3 定位问题

基于使用场景和使用效率,进一步定位问题所在。

2.4 分析原因

分析出症结,以便推进最终的解题环节。

  • 症结1:平台服务与用户决策心理脱节
    现有的流程是线状的:选影片-选影院-选场次-选座-下单。但是用户实际的心理决策是网状的,用户可能在选时间的时候考虑影评好不好,会在选场次的时候考虑价格是不是合理的。
  • 症结2:认知过载
    理想状态是在传达信息后,在用户感知、接收和决策后,希望得到用户方的正反馈,但是现实往往是用户认为认知负担过重,反馈失效的情况。其中信息传达、颜色的设置最直观的感受是“乱”。决策流程上最直观的感受是“打扰”,提醒用户是否确定要买某时候的票、提醒用户确定退出选座页不保留刚才选的座位,所有的提示的设计,都是采用一种打扰的方式进行询问的。

 

2.5 解题

解题1:场景化探索。

以解决问题为目标,达到优化用户体验的目的,对场景进行预判、探索,把场景分为三个典型的场景:

  • 典型场景1:短时决策–例如距离开场时间较短,对价格不敏感,希望找到距离合适的影院,快速完成购票决定。
  • 典型场景2:追求体验–对影厅的要求较高,希望找到放映效果最好的影厅。
  • 典型场景3:价格敏感–找到符合自己价格预期的影院。

解决:针对第一种场景,选坐页可以快速找到选场次的功能,淘票票提供常去影院、附近影院的选择,减少用户决策时间。针对第二种场景,部分观影者不知道价格更高的IMAX厅、杜比厅的观影效果,价格比普通厅贵了50块钱,那么这个钱值在哪?淘票票使用视觉映射和科普的手段,例如当点击进入杜比厅后,下拉可以呼出信息,了解相关的影厅,给予科普;而且界面设计不同,更贵的影厅视觉效果好,界面上也提供用户更强的视觉冲击。

 

解题2:用户视角信息重构,进行信息降噪,减少认知负担

认知负担=信息呈现类型x信息量

以上公式可以看出,假设设认知负担为定值,当信息量增多的时候,需要减少信息呈现类型,适当进行信息降噪与信息结构化。降噪是把想要突出的信息更加突出;信息结构化是把同类型的信息以结构化的呈现出来,让用户自然对信息产生亲密性。

对于信息传达,改变之前比较打扰的提示弹窗,现在淘票票会把所有信息都放在页面中,用一种更轻量的方式提示用户,不再打扰用户。信息重构则是把需要用户确认的信息放在最头部,例如退票、改票,其次界面罗列的是优惠信息,最后才是影城卡营销和卖小食的信息区域。新旧改版对比图很好呈现出淘票票有效减少认知负担所做的优化。

 

3. 新用户—提升年轻用户群对品牌认知

基于调研,淘票票的用户群体趋近年轻化。改版中所制作情绪版、图标、元素、字号、空间结构等视觉语言,注重和品牌元素的结合,产生出新的视觉语言与品牌形象,从而更加贴近年轻人的心理与喜好。

 

4. 体验度量

根据heart模型进行设置,选出适合9.0版本的衡量维度:S,T,A。以体验目标出发,符合业务目标进行探索。不一样的体验目标使用不一样的度量方法。对于内容而言,需要衡量的是用户的接受度,用户需要看到它,接受它,并且需要知道用户是否觉得有用。而对于核心购票流程,该流程则是比较偏向工具,度量方式则是任务完成度、完成任务时所花费的时长、信息有没有被有效的传达给用户等来衡量的。最后对于视觉方向,用户的想法会比较主观,通过满意度和推荐度来衡量。

 

 

 

现场问答:

提问者1:观影者通常会在朋友圈、豆瓣和推荐来决定要看的影片,基本不会在淘票票上寻找值得看的影片,为什么淘票票会做这方面的探索?为什么要做内容决策这件事?

回答:从想看电影到下单的过程哪个地方淘票票是没有做好的、做到的,根据定性调研,发现一半以上用户都不会在淘票票上进行决策。但是淘票票还是希望尝试一下,希望用户可以在淘票票上完成完整的购票观影体验。从数据显示,用户心智还是不好但是有一些提升。而且豆瓣经历了10年从pc到app,保留了用户的历史等数据,没有办法让用户直接转到淘票票进行观影决策,这也不是淘票票希望看到的。淘票票也希望可以和竞品和合作方去提升观影决策,达到共赢的目的。

 

提问者2:淘票票改版之后,有一个衡量它的改版效果S、T、A的度,有没有考虑要做NPS?

回答:淘票票一直有在做,从这次改版之后来,淘票票所有用户群指标提升了应该有五个百分点,然后年轻用户的百分点在八个以上。NPS是一个非常关键的衡量用户满意度的指标。

追问:NPS是不是适合淘票票这个产品?还是适合于所以互联网产品?

回答:NPS在集团内它的重视度是很高,基本上阿里系所有的产品都会有指标。

 

提问者3:我之前是淘票票的用户,曾经用过淘票票做观影决策,看下面的电影评价,结果发现电影评价是虚高的,就是说其实电影没有那么好,但是评论会倾向性的选择一个好的评论放在下面,经过这次经验之后,就再也不用淘票票作为观影决策了。想了解现在淘票票的评论机制,它是怎么个呈现的方式?是不是会优先选择就是比较好的评论放在首评?或者是有一些什么样的计算方式?另一方面对于现在的评论失真的这种情况,有没有想到一些改进的措施?是最近有没有做过一些改版之类的,就是关于这种内容方面的?除了刚才讲的那些界面,视觉方面的,想了解内容方面有没有一些提升?

回答:第一点,用户群的不同。对于影评这个来决策,淘票票可能跟豆瓣用户群有非常大的差异,豆瓣是影迷聚集地,爱电影这帮人的一个粉丝聚集地,圈子比较小,想要进入这个圈子有一定的成本。但是像淘票票它服务的是大众场景,服务的有外卖小哥,也有大城市去打工的用户,也有三四线在国企里那种的员工,淘票票服务的用户是大众的,所以对于评分虚高这件事,不是说它好或者不好,也就是不能单纯的绝对说好还是不好,可能大众的心智就是这样的。用户不像一个资深影迷,看到速度与激情会认为是大烂片,可能反而觉得好,非常值得去看。第二点,关于这种影评的一个分发策略涉及到产品策略,不是很方便讲。但是淘票票在这方面一直有优化的,并且现在也是在持续优化,希望影评可以真正为用户去提供这个观影决策。第三点,淘票票的用户其实不只是c端用户,它还有还有影院还有片方,但是水军应该不会有,至少淘票票平台是非常不鼓励这种情况,而且会有一定的反作弊、返水的机制。

 

提问者4:因为是以设计推动的一次改版,想了解一下推动的过程?第一就是因为平时改版都是产品的来做的,那这一次由设计来去推动的话,那设计跟产品之间的这个协作关系是什么样的?然后改版历时半年,是淘票票的设计历程中是常态吗?如果不是的话,平常的这个改版的节奏是什么样的?

回答:第一点,设计要不断的去跟产品、运营沟通,去跟不同角色沟通,沟通可能是最重要的一点。当所有人都达成共识了,确实有这样的问题需要改,那全部门所有人就会去团结,去把这个事情搞出来。搞出来之后再去向上一层一层的去向上汇报。汇报的可能要经过很多轮,不断有反馈的意见下来,因为本身视角输入的也不够全,接受到的声音也没有上游接触的多,所以团队会去接受意见,然后重新的进行。一轮review下来大概三四个月的时间,然后再去跟开发团队沟通为什么要去升级设计语言,怎么样去帮开发提效?怎么在下一次10.0改版的时候更容易。第二点,团队第一次历时半年进行改版,之前没有停下脚步来去深耕用户体验,所以有一些坑或者一些弯路。平常的改版中基本上是两周发一个版本,非常小步快跑的。对于设计如何跟产品团队去协作?刚刚也有讲过,达成共识之后,然后把这个事儿做起来,提需求、进版本,从需求池里评估需求优先级进版本。交互设计跟产品经理这个角色没有绝对的一个边界,可能都是去不断的去触碰,只要去配合合作的好,把这个产品去做出来,不用管处在一个什么样的一个岗位。

 

提问者5:最开始的时候有问到淘票票和猫眼之间的一些对比,想了解在改版完之后和平时的工作中,是怎么会去了解和竞品?怎么去比较?有没有一些关注的量化的一些指标?

回答:不管服务于什么样的产品,都会做竞品调研。会关注市场的变化、竞品的变化。对于设计团队来说,其实主要的是关注的是用户行为、功能和视觉界面。包括上了哪些个新的功能?在不同的渠道是怎么样去运作的?运营思维是什么样子的?淘票票团队有在研究竞品,有在做竞品的一个分析,衡量的指标也主要是满意度、推荐度,因为没有办法去看竞品的数据,只能通过用户反馈去看竞品跟淘票票的差距。

 文章来源:uxren

JS中钩子函数与回调函数的区别

seo达人

测试代码

<!DOCTYPE html>

<html lang="en">

<head>

  <meta charset="UTF-8">

  <title>Title</title>

</head>

<body>

    <button id="btn">按钮</button>

    <script>

        let btn = document.getElementById("btn");

        btn.onclick = () => { // 钩子函数

            console.log('我是钩子函数');

        }

 

        btn.addEventListener("click",() =>{ // 回调函数

            console.log('我是回调函数');

        });

        // 这是给btn绑定了一个监听器,后面那个函数是它的回调函数,

        // 因为消息捕获的过程我们并不能参与,而在捕获执行完毕的时候,

        // 回调函数才会执行,我们可以把对消息的处理写在回调函数里。

    </script>

</body>

</html>

点击按钮后代码输出如下:







回调函数和钩子函数的区别根本上是

钩子函数在捕获消息的第一时间就执行,而回调函数是捕获结束时,最后一个被执行的。



什么是钩子函数

一般认为,钩子函数就是回调函数的一种,其实还是有差异的,差异地方就是:触发的时机不同。

钩子(Hook)概念源于Windows的消息处理机制,通过设置钩子,应用程序对所有消息事件进行拦截,然后执行钩子函数。 



什么是回调函数

回调函数其实是调用者将回调函数的指针传递给了调用函数,当调用函数执行完毕后,通过函数指针来调用回调函数。



钩子函数和回调函数都是事件处理函数


蓝蓝设计www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计  cs界面设计  ipad界面设计  包装设计  图标定制  用户体验 、交互设计、 网站建设 平面设计服务

需求评审后,产品经理要干的6件事

涛涛

有些产品经理会陷入这种误区——需求评审做完了,自己就可以放羊不管了。而本文则认为需求评审完,产品经理还要做这六件事。

需求评审完,产品经理还要干的6件事

1. 确认需求评审的遗留问题并同步各方

2. 制定详细&责任到人的项目计划

3. 完成文案设计

4. 按照项目计划,协同各方,往前推进,关键环节必须与各方确认。关键环节包括:

  • 1)交互评审
  • 2)视觉评审
  • 3)推进联调进度
  • 4)推进测试进度
  • 5)项目showcase
  • 6)项目发布

5. 准备项目review

6. 开始下个需求的方案设计和需求文档准备

这六件事具体怎么做?

产品经理A:需求终于评审完了。有种放飞的感觉,可以休假,去浪了!

产品经理B:你说真的吗?为什么我评审完,还一直在被开发、测试、法务、财务穷追不舍?

产品经理C:你说真的吗?为什么我评审完,从来都是我在穷追不舍开发、测试、法务、财务?

产品经理D:你们开玩笑的吧?就我这么惨!我不但要紧追不舍开发、法务、测试、法务、财务,还要被老板、被客户穷追不舍。

产品经理A、B、C:哥们,来讲讲,最喜欢听惨兮兮的故事了。你的伤痛最能抚平我的内心。

产品经理D:好吧。需求评审只讲清楚了产品的骨架、细节,让各方开始投资源。评审完,产品经理还有一堆事要推进,没法放羊。

要跟的事情主要有下面6件:

1. 确认需求评审的遗留问题并同步各方

需求评审总有一些遗留问题要进一步确认,而后同步给各方。我不是圣人,有时候有些问题或者细节没想到,评审的时候,大家提出来了,得赶快明确。

有时候需求评审中还有很大的bug没想到,必须快速解决,要在开发没动工前,都捋顺。要不然变成需求变更,或者上线后被推倒重来,欲哭无泪。

我这种求生欲这么强,也没人罩着的,必须狠命把需求做到95分以上。100分也不太敢说,毕竟众口难调。

2. 制定详细&责任到人的项目计划

产品经理还得身兼项目管理,项目管理从来都是事有轻重、事无巨细,难以假手他人。虽然我会尽可能调动大家的积极性,让大家自驱管理项目,但还得牵扯不少精力。

项目管理的关键点:明确项目计划、关键节点、每个关键节点的负责人、验收方案。

比如什么时候交互评审、视觉评审、联调、showcase、发布?分别是谁主要牵头负责,哪些人需要参与。

为了防止项目延期,每个节点都还得提前赶。真是操碎了心。

3. 完成文案设计

文案从来不是随便写写。文案是和客户交流的重要途径,整几个客户看不懂的文案上去,后面客户咨询搞死人!

文案设计除了客户视角之外,也不是自己想怎么写就怎么写,还要和法务、客服团队沟通。因为文案被客户投诉的案例,又不是没有。

还有啊,我的产品有3种语言,简体中文、繁体中文、英文,虽然每种语言有专门的文案设计师,但得跟他们说清楚,也要花不少时间、精力。

当然,也有很多产品经理,不管文案这种小事。可我觉得文案体现了产品经理最基本的素养,是产品的底子

4. 按照项目计划,协同各方,往前推进,关键环节必须确认

关键环节有6个:

1)交互评审

一般来说会由交互设计师发起,开发、测试、法务、财务都要参与。

这样能保证大家在说同一件事情,避免我要的是头牛,结果开发给了头驴。

如果设计师项目参与度低,交互评审还得我自己上。哪里缺人,我就得到哪补坑。

2)视觉评审

一般来说,交互和视觉评审会一起。

有时候项目很复杂,或者交互、视觉分工明确,那就得分开了。

通常由视觉设计师发起。同样,如果视觉设计师参与度低的话,我还是得补坑。

3)推进联调进度

联调是很容易扯皮的环节,大家来自不同域、不同职能团队,各有各的小九九,所以得盯着,避免联调成为坑王。

4)推进测试进度

进入到测试就意味着开发的七七八八了,当然有时候为了压缩项目周期,开发、测试会阶段性并行。

除了测试进度,还得关注测试发现的问题,可能开发还得返工,也可能会发现需求评审中大家都没有注意到的问题,得及时补救。

5)showcase

Showcase,说白了就是项目验收。

验收前,得先列出来要验收哪些内容,主流程、分支流程、逆向流程、重大关键节点。Showcase,也有可能发现新的问题,但基本上要避免在showcase环节发现重大问题,不然就得重大需求变更了。

showcase有时候由测试主导,有时候没资源,我得自己上。

6)项目发布

如果一路顺利,就该发布项目了。

项目发布计划虽然也是之前就定好的,但要考虑的方方面面也还挺多的,可以看之前的文章《项目发布要考虑的因素》。

总而言之,要和各方沟通好,要保证项目顺利发布呦。

5. 准备项目review

项目终于上线了,可我得天天得看客户反馈,看数据,跟客户聊,跟业务聊,准备复盘review。

产品狗似乎永远都在准备复盘、复盘中、复盘后反思的路上。

6. 开始下个需求的方案设计和需求文档

项目通常是并行的。在需求评审完后,我已经开始下一个需求的研究、设计了。

开发资源从上一个需求释放出来的时候,产品经理肯定得把下一个需求方案设计好,开始新的需求评审,妥妥的做好资源衔接。资源一旦释放出来,下次想要资源,难上加难啊。

产品也需要持续迭代,让客户感受到,我们的产品在成长、进步,给人希望。

文章来源:人人都是产品经理

以人为中心的设计指南(一)

鹤鹤

前言


《以人为中心的设计指南》是我翻译的第二本完整的设计书籍。在我开始广泛的阅览国外优秀的设计团队、设计公司的沉淀输出后,收获颇丰。我意识到很多年轻的设计师尤其是传统意义上的UI,苦于进阶无门,很难系统的去学习设计理论、设计方法以及设计流程,无法系统化梳理设计知识,就只能在有限的设计范围内修修补补,就像你在局限于视觉时没有意识到体验,在忠实于体验时又忽略了商业,总是无法全面的考虑和输出设计方案,这是源于没有系统化的学习。


国外的人机交互、体验设计领域的确发展较早,有着大量的理论和方法的沉淀,国内各大设计团队虽然也开始持续输出一些本土化的内容,但仍然摆脱不了系统化这个问题。因此我从今年开始,就有了翻译国外设计论论体系及对应的成熟可用的设计方法的冲动。如果你读了我往期的文章,你应该了解到了设计思维的五个步骤、了解了用户体验的七要素、可用性方法以及众多可操作的实践方法。


我翻译的内容既有各大设计机构无私分享的内容,也有我自费购买的设计课程,我希望为大家带来一些真正持续影响设计生涯的内容,要实现这一目标,软件技法做不到,只有思维方法、系统化知识可以做到。


本次翻译的《以人为中心的设计指南》是IDEO出产的一本设计工具书,包括具体的设计思路,规范的设计流程,以及各种关键设计原则。它将结合实例,教授设计师如何解决问题,如何以人为本的解决复杂问题。


本书内容量较大,共有四大模块,及73个小章节,我将以连载的形式发布译文,完整翻译后,为大家排版一份PDF格式的电子书,分享给读者,也分享给国内的所有设计师,每个人都可以尽一份力让国内的涉及环境变得更好。


本篇文章主要翻译介绍部分和第一模块的7个小节(标红部分),阐述了IDEO团队在设计过程中一直坚守的心态。下面开始正文。



介绍


以人为中心的设计师意味着什么?
拥抱以人为本的设计意味着相信所有的问题,即使是那些看似棘手的问题,比如贫困、性别平等。此外,这意味着相信每天面对这些问题的人是掌握答案的人。以人为本的设计为任何类型的问题解决者提供了与社区与用户一起设计的机会,深入了解我们所服务的人,构思各种想法,并根据人们的实际需求创造创新性的解决方案。
在IDEO,我们几十年来一直使用以人为中心的设计来创造产品、服务、体验和社会企业,这些产品、服务、体验和企业之所以被采纳和接受,是因为我们把人们的生活和诉求放在核心位置。社会各个领域的创新时机已经成熟,我们已经一次次证明我们的方法行之有效。作为一名以人为中心的设计师,你要相信,只要你坚持从别人身上学到的东西,你的团队就能找到世界需要的新解决方案。有了这份实地指南,你现在就拥有了将这种信念变为现实所需的工具。

接受不同的心态
以人为中心的设计师不同于其他的问题解决者——我们修修补补,不断测试,我们一开始就失败了,而且经常失败,我们花了大量的时间但可能仍然不知道问题的答案。然而,我们勇往直前。我们是乐观主义者和创造者,是实验者和学习者,我们感同身受,不断重复,我们在意想不到的地方寻找灵感。我们相信解决方案就在那里。
通过专注于我们的目标群体并提出正确的问题,我们将一起达成目标。我们会想出很多点子,有些行得通,有些行不通。我们把我们的想法具体化,这样我们就可以进行测试。


然后我们提炼它们。最终,我们的方法等同于疯狂的创造力,不断地推动创新并给予我们自信,它将我们引向我们开始时从未意识到的解决方案。现在,我们要分享我们的设计哲学和心态。
让我们与众不同的七种心态:同理心、乐观、迭代、创造自信、实践、接受不确定性,以及从失败中学习。

理解的过程
以人为中心的设计并不是一个完美的线性过程,每个项目都有自己的特点,但无论你面临什么样的项目,你都将经历三个主要阶段:灵感、构思和实现。通过依次采取这三个阶段,你将与你为之设计的用户产生深刻的理解;你会弄清楚如何将你学到的东西变成设计新解决方案的机会;在最终将你的产品正式上线之前,你会建立并测试你的想法。在IDEO,我们使用以人为中心的设计来处理大量的设计挑战,尽管我们的项目涵盖社会企业到传播活动到医疗设备各个领域,但这种创造性解决问题的特殊方法每次都能帮助我们度过难关。

灵感
在这个阶段,你将学习如何更好地理解别人。你会观察他们的生活,听到他们的诉求和愿望,并逐渐加深你对这个设计挑战的理解。
构思
在这里,你将理解你所了解的一切,产生大量的想法,确定设计的机会,并测试和改进您的解决方案。
实现
现在是你把你的解决方案带到现实中的机会。你将弄清楚如何把你的想法推向市场,以及如何最大限度地发挥它在世界上的影响力。


使用工具
虽然没有哪两个以人为中心的设计项目是完全相同的,但是我们使用相同的设计流程和工具为每个项目进行设计。


例如,为了与我们要服务的人建立深厚的同理心,我们总是对他们进行访谈。


为了保持创造力和活力,我们总是在进行团队协作。


为了使我们的思维更有创造力、更加敏锐,我们总是把我们的想法做成有形的原型,因为它帮助我们解决问题。


因为我们很少在第一次就成功,所以我们总是分享我们的产出,并根据我们得到的反馈进行迭代。


这本指南中的57种方法提供了一套全面的练习和活动,可以帮助你从制定设计挑战到将其推向市场。有些方法你会用两到三次,有些则不会。但是作为一个整体,他们会让你走上持续创新的道路,同时让你所设计的社区或用户成为你工作的中心。 



相信这个过程,即使它让你感到不舒服
以人为中心的设计是一种独特的解决问题的方法,这种方法有时会让人觉得很疯狂而不像一个方法——但如果你总是使用传统的解决方案,你就很少能找到创新的解决方案。这个过程的目的是让你直接从用户那里学习,敞开心扉,接受各种各样的创造可能性,然后专注于最理想、最可行的方案。你会发现自己在这个过程中频繁地推翻假设,当你完成它的三个阶段时,你会从具体的观察到高度抽象的思考快速变换,然后再回到原型的具体细节。我们称之为发散和收敛(菱形设计法则)。 


在构思阶段,通过更广泛的思考(大范围,多领域),我们想出了各种可能的解决方案。


但因为我们的目标是最具可行性的方案,所以我们必须确定,在这一系列的想法中,哪一个最有可能真正发挥作用。你会发散和收敛几次,每一次新的周期,你会越来越接近一个投放市场级别的解决方案。


创建真正可用的方案
以人为中心的设计是一种独特的定位,最终目的是达成解决方案的可取性(用户角度),技术可行性,商业可行性。
首先从用户开始,了解他们的希望、恐惧和诉求,我们很快就能发现什么是用户亟需的。一旦我们确定了一系列能够吸引用户的解决方案,我们就开始着手于在技术上可行的方案以及如何使解决方案在经济上的可行性。这是一个平衡的过程,但这对于设计成功且可持续的解决方案至关重要。

Image title


一:心态


1.创造性的信心

任何人都可以像设计师一样理解世界。作为一个问题解决者,解锁这种潜力所需要的只是创造性的信心。创造性的自信是指每个人都具有创造力的信念,而创造力不是绘画或构图或雕刻的能力,而是一种理解世界的方式。
创造性信心是以人为本的设计师在实现思维的飞跃,信任他们的直觉以及追求他们尚未完全弄清楚的解决方案时所依赖的品质。我们相信,您可以并且将会为问题提出创造性的解决方案,并且相信所有这一切都需要着手去实践且深入尝试。
它是一种自信,相信你所需要做的只是卷起袖子投入进去。创造性的自信会驱使你去做事情,去测试它们,去不断犯错,然后继续前进,确信你会到达你需要去的地方,并且你一定会一路持续创新。
建立创造性的自信需要时间,实现这一目标的部分原因是相信以人为中心的设计过程将向您展示如何以创造性的方式解决手头的任何问题。从微小的成功开始,然后建立一个更大的目标,你会看到你的创造性信心的增长,不久你就会发现自己变成了一个非常有创造力的人。


2.着手去做

作为以人为本的设计师,我们之所以这样做,是因为我们相信有形(实物、可视化)的力量。我们知道,把一个想法变成现实,可以揭示出许多仅仅靠理论所不能揭示的东西。当目标是将有效的解决方案投入使用时,您不能生活在抽象和理论中。你必须让它们成为现实。 以人为中心的设计师是实干家、修补匠、工匠和建设者。我们使用任何我们可以使用的东西,从纸板和剪刀到复杂的数字工具。我们建立我们的想法,这样我们就可以测试它们,在真正去做一些东西后,我们会发现以前从来没有想到的机会和复杂性。制作也是一种奇妙的思考方式,它有助于我们关注设计的可行性。此外,把想法变成现实是一种非常有效的分享方式。如果没有来自人们的反馈,我们将不知道如何进一步完善我们的想法。



3.从失败中学习


失败是一个非常强大的工具,设计实验原型、交互和测试他们是以人为本设计的核心。要知道并非所有这些能发挥作用,当我们想要解决一个大问题时,我们一定会失败,但如果我们保持良好的心态,我们就会从中受益。


以人为中心的设计是从一个不知道如何解决设计挑战的地方开始的。只有通过倾听、思考、构建和提炼我们的答案,我们才能得到对我们的用户有用的东西。“早失败,早成功”是IDEO的一个常见口号,它的力量之一就是允许出错。由于拒绝冒险,一些设计师实际上与真正的创新机会失之交臂。
托马斯·爱迪生说得好:“我没有失败。我刚刚发现了10000种行不通的方法。对于以人为中心的设计师来说,找出行不通的东西是找到有用的东西的一部分。
失败是以人为中心的设计中固有的一部分,因为我们很少在第一次尝试时就能取得成功。事实上,第一次尝试就做好并不是重点。关键是把一些东西创造出来,然后用它来不断学习,不断提问,不断测试。如果以人为本的设计人员最终取得成功,那是因为他们曾经失败了无数次。


4.同理心


同理心是指站在别人的立场上,理解他们的生活,并从他们的角度解决问题的能力。 
以人为本的设计是以同理心为前提的,你为之设计的用户是你通往创新解决方案的路标。你所要做的就是感同身受,理解他们,并在设计过程中把他们时刻挂在心里。


比如长期以来,国际发展界一直在设计解决贫困问题的方案,却没有真正同情和理解它所要服务的人民。但是,通过设身处地为我们的设计对象着想,以人为中心的设计师可以开始通过一个新的、强大的视角来看待这个世界,以及所有改善它的机会。
让自己沉浸在另一个世界中,不仅会为你打开新的创造可能性,而且它能让你抛开先入为主的理念和过时的思维方式。与你为之设计的用户产生共鸣是真正理解他们生活的背景和复杂性的最佳途径。但最重要的是,它将使你的设计过程完全围绕用户,从而产出对他们来讲真正有用的东西。

5.接受不确定性


以人为中心的设计师总是从不确定的问题开始。在一些注重于快速找到方案的公司文化中,这或许不是一个好的开始。但是从第一步开始,接受不确定性的设计人员会勇敢的走出去,追求很多不同的想法,甚至找到意想不到的解决办法。通过接受这种模糊性,并相信以人为中心的设计过程将引导我们走向一个创新的答案,我们实际上迸发出更强的创新能力。 


将以人为中心的设计师与其他设计师区别开来的一个特点是,我们相信总会有更多的创意。我们不再执着于自己的传统想法,因为我们知道我们会拥有更多新的想法。因为以人为中心的设计是一个如此富有创造力的过程,而且因为我们倡导团队合作构思,所以很容易抛弃不好的想法,保留一些一般的想法,并最终得到最好的想法。
虽然这似乎违反直觉,但这种不确定性实际上促使以人为中心的设计师进行创新。
如果我们一开始就知道答案,我们能学到什么呢?我们怎样才能想出创造性的解决方案呢?我们为之设计的人会在哪里指引我们?拥抱不确定性实际上解放了我们的创造力,鼓励我们去追求一个最初无法想象的答案,这让我们走上了持续性创新的道路

6.乐观

我们相信设计本身就是乐观的。 


为了迎接一个艰难的挑战,特别是像贫困这样巨大而棘手的挑战,我们必须相信,创新是唯一的方法。如果我们不这样做,我们甚至不会去尝试。乐观是对可能性的拥抱,即使我们不知道答案,但我们相信总会有一个方案等待我们去挖掘。
除了推动我们走向解决方案,乐观还使我们更有创造力,鼓励我们在遇到死胡同时继续前进,并帮助项目中的所有参与人员凝聚在一起。从解决问题的角度来处理问题,会给整个过程注入解决最棘手问题所需的能量和动力。
以人为中心的设计师总是专注于可能发生的事情,而不是可能遇到的无数障碍。这是我们的核心信念——每一个问题都是可以解决的——这就是以人为中心的设计师的乐观。

7.迭代

作为以人为中心的设计师,我们采用迭代的方法来解决问题,从我们的用户那里得到反馈是促使解决方案诞生的关键部分。通过不断地迭代、持续改进我们的工作,我们会有更多的想法,尝试各种各样的方法,不断释放我们的创造力,更快地找到成功的解决方案。


迭代使我们保持敏捷、反应灵敏,并训练我们一直专注于核心的想法,经过几次迭代后,每个细节都恰到好处。如果你每次建立一个原型或分享一个想法时都追求完美,那么你就会花很长时间去完善一些不一定有效的东西。但是,通过构建、测试和迭代,您可以不花费过多的时间和资源来推进您的想法,直到您确定它是正确的。


在项目早期,我们不断进行迭代,因为我们知道第一次不会得到正确的结果。迭代让我们有机会去探索,去犯错,去验证我们的直觉,最终会得到一个将被采纳的解决方案。我们进行迭代,因为它让我们不断学习。我们不是躲在工作室里,打赌某个想法、产品或服务会大受欢迎,而是迅速地走出去,让我们的用户成为我们的向导。



第一部分就到这里了,重新回顾下,在本篇文章中,你应该了解到IDEO在设计过程中一直坚守的7个心态。

他们分别是创造性的信心、着手去做、从失败中学习、同理心、接受不确定性、乐观、持续迭代。

日历

链接

个人资料

蓝蓝设计的小编 http://www.lanlanwork.com

存档