首页

玩转Axure:如何制作验证码倒计时?

博博

玩转Axure:如何制作验证码倒计时?

人人都是产品经理 2018-08-10 15:41:33

如果您想订阅本博客内容,每天自动发到您的邮箱中, 请点这里

注册模块是每个产品必不可少的一部分,也是大部分产品经理着手设计一个产品时遇到的基础部分,在这里通过这个教程分享如何使用Axure中的动态面板实现获取验证码倒计时功能。

玩转Axure:如何制作验证码倒计时?

在开始前我们需要把梳理下思路,简单的把任务流程理出来,帮助我们理解制作过程中的原理。

先来看看效果:

下图中左边为使用倒计时功能时的任务流程,右边为流程对应的四大部分,每部分有具体的小步骤,接下来会根据每个小步骤进行具体的描述。

玩转Axure:如何制作验证码倒计时?

1

从元件库中拖入一个主要按钮放入画布空白处,命名为“获取按钮”(可以随意命名)

玩转Axure:如何制作验证码倒计时?

然后再拖入一个动态面板放入画布中,命名为“循环面板”,并且双击该动态面板,添加一个状态2“State2”,这里就可以看成‘初始’和‘结束’的“容器”

玩转Axure:如何制作验证码倒计时?玩转Axure:如何制作验证码倒计时?

接下来创建一个全局变量对该“容器”进行记录。

玩转Axure:如何制作验证码倒计时?玩转Axure:如何制作验证码倒计时?

为“获取按钮”这个元件添加一个交互样式,该按钮「禁用」时,填充颜色为灰色。

玩转Axure:如何制作验证码倒计时?

2

为“获取按钮”元件添加用例,当「鼠标单击时」,设置动作为「设置面板状态」在动态面板“循环面板”上,选择状态「Next」,勾选「向后循环」,「循环间隔」为‘1000’毫秒,取消勾选「首个状态延时延时1000毫秒切换」。

玩转Axure:如何制作验证码倒计时?

添加第二个动作「禁用」,选择“当前元件”。

玩转Axure:如何制作验证码倒计时?

3

为动态面板“循环面板”的「状态改变时」添加第一个用例,并给该用例添加条件,条件设置为「变量值」「TimeValue」“>”「1」。

玩转Axure:如何制作验证码倒计时?

继续添加全局变量中的「设置变量值」,勾选「TimeValue」,更改值为[[TimeValue-1]]。

玩转Axure:如何制作验证码倒计时?

添加第三个动作「设置文本」,勾选“获取按钮”,更改值为[[TimeValue]]秒后可重新获取。

玩转Axure:如何制作验证码倒计时?

4

为「改变状态时」添加第二个用例,设置当不满足第一个用例所设定条件时执行的动作。此处有4个动作,分别是:

第1个动作是「设置文本」为“获取按钮”的文字值是“重新发送验证码”。

玩转Axure:如何制作验证码倒计时?

第2个动作是设置全局变量中的「设置变量值」,勾选「TimeValue」,更改值为“60”

玩转Axure:如何制作验证码倒计时?

第3个动作「启用」,勾选“获取按钮”。

玩转Axure:如何制作验证码倒计时?

第4个动作为「设置面板状态」与动态面板,勾选“循环面板”,选择「停止循环」。

玩转Axure:如何制作验证码倒计时?

以上就是所有的制作步骤,最终的效果就像文章开头中所示的样子,在这个过程中,我们其实已掌握了两个重要的知识点:一个是动态面板的循环实现方式,第二个是通过全局变量来设定时间值

这两个点在其它地方也会经常用到,掌握后能够更加灵活运用在其它地方。

希望大家能够尝试多练习几次,几次尝试后就会理解其中的关键点,也希望大家能够养成一种习惯,在进行练习前对任务流程进行梳理,这样对理解逻辑更有帮助。

本文由 @ 杰森 原创发布于人人都是产品经理。未经许可,禁止转载

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


社交电商只有拼团和砍价?口袋咖啡给你答案

博博

社交电商只有拼团和砍价?口袋咖啡给你答案

人人都是产品经理 2018-08-10 17:41:58

如果您想订阅本博客内容,每天自动发到您的邮箱中, 请点这里



这两年来,咖啡业不甘寂寞,和互联网碰撞出的火花越来越多。瑞幸咖啡异军突起,连咖啡微信关系链玩得风生水起,星巴克也牵手阿里巴巴准备收复失地。今天我们就来关注一下连咖啡最近做的一波营销活动“口袋咖啡馆”。

社交电商只有拼团和砍价?口袋咖啡给你答案

“口袋咖啡馆”是连咖啡小程序内新上线的一个功能,据公开报道的数据:

上线首日PV超过420万,累计开出咖啡馆超过52万个,相当于一天有52万人开了线上咖啡馆。

体验“口袋咖啡馆”之后,我总结成功之处有以下几点:

1. 情怀切入和个性化展示,实现破冰

相信很多爱喝咖啡的人都曾经有个不成熟的梦想叫做“我要开一个咖啡店”,文艺的音乐,明媚的阳光,飘香的咖啡,过此余生。但是因为资金压力,生存压力,咖啡店对大部分人只能说这是一个梦想,或是情怀。

而在线上开一个咖啡店,不用店租,不用进货囤货,甚至不会做咖啡业不要紧,把开店的行为压缩为装饰店铺和朋友圈卖咖啡,实现情怀是不是变得毫无压力和简单了?

先不管“口袋咖啡”背后利用社交渠道卖咖啡,让店主成为分销商的本质,首先“口袋咖啡”抓住了大部分用户的情感需求,简化用户行为,获得了第一波流量。

“口袋咖啡”可以让用户自主地去装修自己的线上店铺,让用户尽可能地发挥自己的想象,各种奇思妙想发酵,用户装修好了,很可能迫不及待地先分享店面给好友。好友一看,有意思,我也玩,这样就把第一波流量给动起来了,带入新的流量。

社交电商只有拼团和砍价?口袋咖啡给你答案

这两个设计是抓住了用户的情怀圆梦需要和展示个性化自我的需要,从而获得最初的流量并开始传播。

2. 低价单品,获取流量

光靠情怀和个性化展示,应该是无法保证更大的流量获取。

口袋咖啡店铺里的咖啡都是有折扣的,与官方价格相差10多元,甚至还做了一款9元的美式咖啡。分享的文案上也突出了下单9元起的字样,通过价格对比,突出低价来吸引更多的流量,而且新用户购买,首单立减9元。

这就将“低价爆款”+“新用户下单减”结合起来,对于大部分用户来说,工作日时候不会对咖啡太过挑剔,价格有优惠,我买谁的不是买呢?

而且还是微信好友“开的”咖啡馆,情感+好奇心的加持,吸引了又一波流量。

社交电商只有拼团和砍价?口袋咖啡给你答案

3. 游戏化的任务激励,环环相扣

“口袋咖啡”设计了一套游戏任务进阶提现,通过这样的模式保持用户的粘性,让用户投入更多的时间和社交关系。这套体系由成长咖啡和网红指数为目标,设计了一系列的任务让用户完成以提高这两个目标。

成长咖啡相当于货币,可以积攒兑换咖啡,获得的方法是每卖出一杯咖啡获得0.1杯,攒满1整备成长咖啡就可去免费兑换。这里对于用户来说,目标是获得免费兑换咖啡,而规则就是卖咖啡,为了达到目标,用户就会去分享,去安利,可能带来更多的流量;

而网红指数相当于积分,积分的价值在于解锁特权,包括更多的商品、装饰等。以及获得更高的排名。而这些特权则是可间接有助于提高用户销量的,有助于用户完成“免费兑换咖啡”,获得网红指数的方法则是一系列的任务。

目前的任务较少,不知道后续是否会放出更多玩法。

社交电商只有拼团和砍价?口袋咖啡给你答案

回过头来,你会发现“口袋咖啡”这一系列打法都是相关联的,都指向了同一个目标获得免费咖啡(背后其实是卖出更多咖啡),彼此是有承接关系,形成了有效的循环。

4. 社交互动带动裂变和变现

连咖啡一直都在尝试做“基于人际关系链”的产品,他们认为这是获取流量最的工具。在“口袋咖啡”里则明显地提现这一点。

4.1 土豪榜和点赞榜,记录好友和你的互动

社交电商只有拼团和砍价?口袋咖啡给你答案

口袋咖啡有两个榜单,分别是土豪榜和点赞榜,前者记录谁买过了你的咖啡,点赞榜则记录了谁给你点过赞。交易和点赞,一个是实际的消费,一个是情感的激励,会给用户产生更大的正向刺激。

4.2 让用户产生更多的互动行为

如果用户在一个产品之上产生的互动行为越多,则用户和产品的粘性越紧密,用户主动推荐这个产品的可能性也越大。

如何让用户产生更多的互动行为?如何撬动更多的社交链条呢?

口袋咖啡准备了3个手段,分别是明星馆、附近的馆、我去过的馆。

明星馆,邀请了一些流量明星入驻,有佘诗曼、秦岚、李诞等,而且佘诗曼、秦岚还是目前热播的《延禧攻略》的主演,抓住眼下的新闻热点,结合明星自带粉丝的流量,粉丝通过点赞和购买咖啡行为的与明星发生互动。

开一下脑洞,这是不是可以成为另一种形式的明星榜单,各家粉丝通过点赞,买咖啡为自己的爱豆打榜,互相攀比,搞不好可能会成为一个固定的大流量入口。

粉丝组织+明星效应+群体攀比效应=大流量?

这个需要拭目以待。

社交电商只有拼团和砍价?口袋咖啡给你答案

附近的咖啡馆,和微信本身附近的人异曲同工。利用用户的好奇心驱动,看看附近都有谁在开咖啡馆,会不会又好玩的小哥哥小姐姐,点个赞,买个咖啡,也是不错的。

店主一看有人给我光顾我了,看一眼就在附近,来而不往非礼也,也过去点个赞。一来一往,用户就在线上咖啡馆之间互相流动起来。如果后面官方围绕这一块继续做网站,比如:解锁特权可以给附近的人推送自己的咖啡,完成某个任务看店主的微信等等,有可能会产生新的兴奋点。

当然社交电商里,电商还是初心和本质,社交到底要到什么样的程度,才能有利于电商而不是起副作用,这个度需要团队把控。

社交电商只有拼团和砍价?口袋咖啡给你答案

我去过的,则是将我访问过的咖啡馆沉淀下来,便于后续的访问,也可以看成团队为后续的社交互动埋下的伏笔。

连咖啡的一系列动作,个人觉得最终目的是希望把咖啡变成货币,不再是人来买咖啡,而是咖啡主动触达到人。不仅仅依靠传统的商品-货币的交易模式,而是希望代入更多的情感因素、社交元素,通过人与人的关系链去获得更多的流量,并且带动更大的交易额。

而近期包括送礼,运动步数换购小程序的崛起,越来越的商家开始关注用社交关系来获客,此前对社交电商的关注更多局限于微商这样的朋友圈叫卖、拼团、砍价、求复活满天飞,容易让用户产生反感和厌倦。

那么如何让用户不反感甚至是主动地贡献自己的社交关系,则是下一步互联网公司们重要的课题。

#专栏作家#

肥寒,微信公众号:chanpingdog,人人都是产品经理专栏作家。九年产品经理。做过数字阅读,电商,社区,目前致力于在线教育。

本文由 @肥寒 原创发布于人人都是产品经理。未经许可,禁止转载。

题图来自 unsplash,基于 CC0 协议

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

15个消费心理学理论,为你拨开营销的迷雾

博博

15个消费心理学理论,为你拨开营销的迷雾

人人都是产品经理 2018-08-09 16:42:43

如果您想订阅本博客内容,每天自动发到您的邮箱中, 请点这里

如何推广产品,提升销量的“套路”,我们能在互联网上翻到很多,而这其中的底层逻辑,始终是依据消费者行为和心理来做调整。本文总结了15个消费心理学的理论,希望对你有帮助~

15个消费心理学理论,为你拨开营销的迷雾

同志们,好久不见!一个好的产品,加上强大的市场策略,等于“BOOM”!

如何推广产品,提升销量的“套路”,我们能在互联网上翻到很多,而这其中的底层逻辑,始终是依据消费者行为和心理来做调整。在消费者做出购物决策的时候,一定会存在“认知偏见”,太客观的事情不会很多。

  • “认知偏见”,是一个系统性的偏离轨迹,它相对于判断中的标准、合理性。这种偏离可能来自其他人、特定场景。人们从他们自己的洞察中,创造出自己的“主观事实”。
  • “认知偏见”,消费者在做决策的时候很容易受到它的影响。例如,以下15个消费心理学理论,就是重要的影响因子。

1.模糊效应(Ambiguity effect):人们倾向于避免选择未知的选项,似乎每个人都喜欢确定的选项。比如,一个用户不明白你的产品,或者某个特定的功能,他将不会选择它。

2.沉锚效应(Anchoring effect):人们在对某物/人做判断的时候,容易受第一印象,或第一次获得的信息支配,就像沉入海底的锚一样,把人们的思想固定在某处。比如,某消费者第一次看到某产品的价格,那么这个第一印象的价格,将对该消费者产生巨大的影响。

假如,第一次的价格显示为90元,第二次再见是45元,那么这个45元的价格对该消费者来说,是特别便宜的,他很有可能购买,相反,如果价格一直是45元,那么该消费者并不会感到便宜实惠。

前段时间,我看到一家青年公寓的海报上写着“······房间天天特价!”这是“沉锚效应”的错误应用,这时候的“天天特价”实际上在消费者心里变成了“并不是很特价”,因为对比起来,天天都是一样的价格,似乎今天也没有特别优惠。

可怜的是,这张海报估计已展示数月。

3.注意力偏见(Attentional bias):我们的看法,受我们重复的认识所影响。所以我们常常有这个结论,一个消费者越频繁地看见你的广告、消息,他越有可能从你这里产生购买。比如,我们使用“访客找回”技术在互联网上投广告;让CTA按钮贯穿整个引导页面;在线上线下特定区域内,轰炸广告。

15个消费心理学理论,为你拨开营销的迷雾

4.可利用性法则(Availability heuristic):在很多时候,人们只是简单地根据事情已有的信息,包括回忆、简单的计算、简单的总结来确定事情发生的可能性。

比如,由于1929年股市大崩盘的痛苦记忆,许多投资者在灾后一直不敢入市,担心再次蒙受巨损,从而高估股价下跌的概率,等到股价上窜的时候,觉得“这股价虚高,还会跌的”,接着,股价仍然上窜并到高位,投资者们心乱了。

比如,路边上的“江南皮革厂倒了,老板跟小姨子跑了········”,3折甩卖皮具,想买真皮具的消费者并不会围观上去,因为他们很容易简单地推测出来,这是假的。而上去围铺的人多是大妈,只是想买一个便宜包,并不真觉得“皮包如此便宜”。

5.可利用性叠加(Availability cascade):在一个群体中,如果大部分人主动或者被动相信一个信念、事情,那么这个信念、事情就会变得越来越合理。一句话说就是,只要长时间重复一件事,这件事就会变成事实。

当我们的网站、品牌、产品反复地被讨论,我们就成功一半了,即便有存在消极的声音,也是无害的。三个人,有两个人赞美,一个人贬损,那么结果等于赞美;三个人,有两个人贬损,一个人赞美,结果等于贬损。

6.逆火效应(Backfire effect):当一个错误的信息被更正后,如果正确的信息与原本的看法相违背,它反而会加深人们对原本错误信息的信任,最终导致,把自己的看法认为成理所当然。当大脑接受一个信息后,便会本能的捍卫它不被其他与之相斥的信息侵犯。

7.基础概率谬论(Base rate fallacy):人们要么总是忽略事物的基础信息,要么总是忽略事物的特别信息。推广产品,一定不要仅仅展示一堆无聊的信息(型号、数据、功能等),还要展示你的产品在特定的情况下是如何特别工作的,运用案例说明也好,运用用户评论也好。

8.偏见盲点(Bias blind spot):人们总是认为自己比别人会更少地受到偏见的影响,或者有能力识别认知偏见。面对自己的愚蠢,人们总是不易察觉。

9.啦啦队效应(Cheerleader effect):“群体”“大量”总是对人们更有吸引力,展示产品的时候,尽量多堆数量,堆积如山的产品给消费者的感觉是很好的,且更容易激起购买欲。

10.支持选择偏误(Choice-supportive bias):人们倾向于对自己已作出的决定持积极的态度,哪怕这个决定并不是多优秀。

如果你的消费者作出了一个选择,鼓励他,然后他们将会长时间地认为他们做了一个优秀的选择。在消费者购买产品以后,总是发短信/邮件表示祝贺购买。

11.聚类错觉(Clustering illusion):人们倾向于将随机事件中不可避免的小样本归结为某种有意义的规律。

比如,棋牌中的连续胜利,我们归结为“这是运气”,连续输归结为“这是手背”,实际上,连续一段时间的输/赢,在长时间赌博中是必然存在的,没有运气与手背之言。

如果你想说服你的用户,请将你的信息、数据放在大数据、大背景、大趋势之下,这样,用户会很容易相信你的陈词。我们会认为人工智能产品是未来的主流产品,而不会认为低科技含量的产品是未来的主流产品。

12.诱饵效应(decoy effect):它是在消费品的选择中被发现的,现在已经被证明是相当普遍的现象。消费者在作出决策时,很少不做对比而直接购买,这时候,商家为了消费者更好更快地做出购买决策,往往会为目标产品提供一个“诱饵”,以促使消费者购买。

比如1,在《经济学人》杂志的销售广告上:

电子版订阅的价格是59元/期;

印刷版订阅的价格是125元/期。

是的,这都是很正常的价格,接下来的操作,运用了“诱饵效应”,电子版订阅+印刷版订阅,你猜多少钱?

依然125元/期。

15个消费心理学理论,为你拨开营销的迷雾

比如2,前段时间我去逛ME&CITY,大家知道,一般同一时间在同一家服装店,很难同时卖给一个顾客两件商品,尤其是对于男顾客,所以ME&CITY店做了一个活动:

“购买任意一件衣服,再加一元,可获得纯棉袜子一双!”

这是“诱饵效应”的运用,衣服是目标销售产品,“1元钱购袜子”是诱饵。类似的操作还有,卖场里的帽子和毛衣是摆放在一起的,标签上标出的价格分别是:帽子49元,毛衣299元。但是,值得思索的是最后一行字:帽子+毛衣=299元。

13.曝光效应(The exposure theory ):它是一种心理现象,指我们会偏好自己熟悉的事物,我们把这种只要经常出现就能增加喜欢程度的现象叫做曝光效应。

扎荣茨(Zajonc)曾经做过一个有趣的实验。他让一群人观看某校的毕业纪念册,并且肯定受试者不认识毕业纪念册里出现的任何一个人。

看完毕业纪念册之后再请他们看一些人的相片,有些照片出现了二十几次,有的出现十几次,而有的则只出现了一两次。之后,请看照片的人评价他们对照片的喜爱程度。

结果发现,在毕业纪念册里出现次数愈高的人,被喜欢的程度也就愈高;他们更喜欢那些看过二十几次的熟悉照片,而不是只看过几次的新鲜照片。

也就是说,看的次数增加了喜欢的程度。ps. 对方实在太丑的情况除外。

14.框架效应(Framing effects):指同一个问题通过两种不同的表达,会导致不同的决策判断。

一项相关研究,面向同一群人提出问题:现在,美国正准备对付一种罕见的亚洲疾病,但因为资源有限,所以只能救治一部分人,现有两种拯救方案可供选择。

(1)200人将被救治。

(2)600个人中,只有1/3的人能被救治。

问,你愿意选择方案1还是方案2?结果大部分人倾向选择方案1,因为方案1给人的感觉是“拯救机会”;方案2给人的感觉是“舍弃”。“舍弃”意味着死亡的风险,面对风险,人们是厌恶的。

因此,在日常文案中,我们即使不能给予用户“获得感”,也不要展示出“风险感”给用户。

15.The Adrenaline effect(ps. 抱歉呀,这个理论我不知道怎么翻译成中文)大概意思指,用户对某产品有意图,但并不一定会想购买,只有当用户的肾上腺素被激发时,短时间内,迫使用户做出购买决策。

在销售中创造出紧迫性,是非常有必要的,创造紧迫性就等于在限定时间内激起用户的肾上腺素。

该理论建议,在营销过后的销售环节,要创造出紧迫性,促使用户下单,比如,限时折扣、限时抢购、定时开团、倒计时拼单等。

最后,说了这个么多个理论,是不是感觉有点凌乱了,Guys!

通常情况下,消费者在作购买决策的时候,都需要经过3大层面的思考。是的,这是最后一段提纲挈领的话了。

  • 技术层面:这个产品是否能满足我特定的需求?
  • 经济层面:这个产品能满足我的特定需求,但是,我有足够的钱来购买吗?
  • 实惠层面:这个产品能满足我的特定需求,我也有足够的钱来购买,但是,它在我的选择决策中,是实惠的吗?

#专栏作家#

朱小磊,微信公众号“非主流朱(ID:feizhuliupig)”,人人都是产品经理专栏作家,营销顾问,曾17岁独立策划了一个游戏平台,月盈利近20万。擅长以青年消费者为目标群体的市场营销分析策划。目前已服务过多个企业,涉及教育产品、营养品、快消品等。

本文原创发布于人人都是产品经理。未经许可,禁止转载。

题图来自Unsplash,基于CC0协议

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

用户调研 | 如何更好的了解你的用户

ui设计分享达人

您对用户的了解程度如何?怎么能真正受到人们的启发呢?我怎么能进入他们的想法,我怎么能感受到他们的感受?在这里,你不仅需要了解是什么触发了它们,而且还需要找到如何设计说服的方法。

黄金圈法则:怎样识别真需求和伪需求?

资深UI设计者


如果您想订阅本博客内容,每天自动发到您的邮箱中, 请点这里

做产品,绕不开「需求」二字。很多产品从0到1需要团队付出很多努力,但如果在把握用户需求的时候出了错误,再好的团队、再牛的执行力、再牛逼的技术也阻止不了项目的失败,所以,分辨用户需求就成了产品的关键。


需求有「真需求」,也有「伪需求」,「真需求」可以实现用户的强关联,从而实现产品的稳定增长,而「伪需求」要么无法获得用户,要么昙花一现。比如魔漫相机,超级课程表这类曾经的「现象级」产品,在短暂的疯狂后迅速被用户抛弃,其实都是因为没有正确识别用户需求。

那么,如何找到买家真正的需求呢?

一、思维工具——「黄金圈法则」

「黄金圈法则」是西蒙·斯涅克在《从为什么开始》中提出的一种思维方法。

他用三个同心圆来描述人的思维模式,黄金圈从外到内依次是:做什么(what)、怎么做(how)以及为什么(why)。

  • 思维模式处在最外层的人,他们知道自己想要做什么,但很少去思考怎么做才更好;
  • 处在中间层的人知道如何更好地去完成任务和目标,却很少思考做这件事情的原因;
  • 而处在最中心圈的人则是以「为什么」为出发点,他们拥有内在动机,能够实现自我激励,而只有这样的人才能成为伟大的领导者,才能激励和影响到身边的人。

黄金圈思维可以让人们穿破事物的现象,看到事物的本质,从而做出最佳决策。

它不仅可以用于自我激励和成长,同时也可以应用于营销、管理与沟通等领域,而我们今天要重点讨论如何用它来识别真需求及伪需求。

二、分辨用户需求的「黄金圈」模型

what(用户反馈)、how(用户行为)、why(真正的需求):

  • 用户告诉你的需求是what,比如你通过问卷调查或者买家评价与反馈所收集到的信息等。
  • 用户表现出来的需求是how,即用户在使用产品、选择产品时的动作和结果,它可以对用户的需求进行行动表达上的证伪。
  • 用户内心真正的需求是why,即用户一系列动作背后的原因,为什么要使用该产品而不使用其他产品等。

通过这三个层面,我们可以发现需求、验证需求,进一步挖掘需求,最终识别出用户真正的消费动机,从而找到有效的解决方案。这三个步骤形成了一个「需求验证漏斗」:

三、在「what」层发现需求

what层面是用户评价和用户痛点,它让你「发现可能的机会」,但这个机会不一定会形成需求。

比如你要做零售产品创新,那就可以直接去淘宝,看同类产品的买家评价。尤其是差评,就是等待你解决的「痛点」。

身边的朋友都抱怨淘宝上买东西经常要找好半天,找不到自己喜欢的,那么「产品多、筛选难」就是个待解决的「痛点」。

隔壁养金毛狗的女孩经常抱怨狗粮太重快递又不送上楼,减肥成功的男士原来的衣服都不合身了,这些我们平时很容易发现的抱怨类的信息,就是用户使用产品过程中的痛点,也都有可能成为新产品的机会。

发现机会,并不代表我们要立刻开始寻求解决方案,因为需求可能只是伪需求,或者根本就不具备任何可行性。

1. 需求本身是「伪需求」,用户对问题表述「错误」或者缺乏对解决方案的「想象力」。

就像乔布斯说的那样:「不要问客户他需要什么,因为他们根本不知道。」在平板电脑出来之前,用户并不知道自己需要一台完全没有键盘的电脑。

2. 项目不具备可行性

比如消费人群不够大,对这类「硬造性场景」感兴趣的都是小众,无法落实到真实的大众生活里去,产品无法扎根;就像现在的O2O上门服务,大多都是伪需求,上门洗车、上门美容都属于这一类,消费频次太低,而且家对于多数人来说是个非常私密的地方,并不希望陌生人到访。

四、观察「how」验证需求

What层面会呈现出的「需求」,我们并不能马上开始基于这个层面去寻求解决方案,而是要通过「how」来进行进一步验证。

「how」就是「用户行为」。用户反馈可以说谎,但行动不会。

一个女生说我选老公的标准是:这个人要孝顺,帅气,结果她选择了一个有钱人;

一个男生说我选择老婆的标准是:要善良,结果他选择了一个漂亮身材好的人;

小岛居民经常说他们讨厌穿鞋子,因为鞋子会经常进沙子,但实际上他们依然在穿鞋。

也就是说,用户经常「说一套、做一套」。

比如你问用户喜欢什么颜色,十个人中可能有五个告诉你他喜欢绿色,但如果你真的生产一堆绿帽子然后就没有然后了。

还有我们一开始提到的「魔漫相机」,你如果采访用户的话,十个人可能有八个告诉你他非常喜欢这个应用,但实际上他们玩一次之后就把它抛弃了,因为「烂大街」了,用户只是在跟风,他本身根本没有这个需求。

因此,判断需求不能只是听用户怎么说(what),一定要通过看他怎么做(how)来验证。

那如果验证了之后发现用户「言行不一」,是不是需求就不存在了呢?也不是,我们要跳出用户的思维,从主动的角度,也就是「why」这个角度去挖掘用户的真正需求,开发解决方案。

五、在「why」层挖掘真实需求

Why是用户反馈及用户行动背后的原因,找到这个原因,才能最终验证需求是否是真需求,也决定了用户最后是否会为你的解决方案买单。

我们先拿「小岛居民的鞋子」来举例:

小岛居民鞋子很容易进沙子,这就是一个痛点,也就是what层面的需求。

如果要解决这一痛点,是不是就提倡大家不穿鞋呢?这要从how这个层面来判断,也就是用户如何表现,结果发现虽然鞋里经常进沙子,大家依然在穿鞋。

最后经过调查我们发现,沙滩里面有很多碎贝壳,不穿鞋会划伤脚,所以,「不能划伤脚」比起「进沙子」的需求显然是更为迫切,因此,用户的真实需求是「舒适地行走在沙滩上」,那么解决方案不是提倡大家「不穿鞋」,而是提供一双舒适的、不会积沙的鞋子。

再说一个我身边一位朋友创业的真实案例:

朋友安妮是个喜欢喝奶茶的女孩子,她几乎每天都要喝上一杯。在某天和同事讨论奶茶的时候,她们开始吐槽奶茶的各种不好,尤其是「不健康」,奶茶的主要成分是植脂末和茶粉、淀粉,不仅不健康,而且容易长胖。安妮上网搜索了一下相关信息,发现很多买家都对奶茶的不健康有所担心。

于是,安妮决定开个店铺,专门做「健康的奶茶」。

但实际上她的店铺开张后生意却非常冷清,除了一开始有些熟人会过去捧场,大多数时间店里都是门可罗雀。

安妮的奶茶确实做到了健康,完全用纯牛奶和新鲜的茶叶冲泡,糖都是用的上等的果糖。

但为什么大家现在反而不喝呢?

因为「需求」把握错误。

消费者在抱怨奶茶不健康的时候,他不是想要健康的奶茶,而是想要口味不变、价格不变、包装漂亮、环境舒适的情况下,更为健康的奶茶。

我们如果再向why层面进行探索,就会发现问题的实质:

为什么大家要喝奶茶,如果想要追求健康,为什么不是果汁、酸奶、牛奶、咖啡?

因为奶茶好喝,口感丰富、有层次、有趣味,这是其他饮品无法比拟的。

到此为止,我们会发现,用户的真实需求其实是「好喝而有趣的饮料」。

对于大多数饮食类产品,口味绝对是第一位的,牺牲口味而满足用户的其他需求一概是伪需求。

在「七宗罪」中有一条是「贪食」,喜欢美味的食物是人的天性,大多数人只有在真的生病之后才会在乎健康,在这之前,他愿意为了绝妙的口感冒第二天中风的危险。

由此可见,由发现需求到验证需求,是要经历「how」层面直接的验证,同时追索到「why」层面进行分析才能最终确认。


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


VUE,创建组件的方式

seo达人

如果您想订阅本博客内容,每天自动发到您的邮箱中, 请点这里

方式一

 <!--1.1使用Vue.extend来创建全局的Vue组件--> var tem1 = Vue.extend({
      template:'<h3>这是使用 Vue.extend 创建的组件</h3>' //指定组件要展示的HTML结构
    }); <!--1.2使用Vue.component('组件名称',创建出来的组件模板对象)--> Vue.component('myTem1',tem1);

    /* <!--注意--> 使用 Vue.component() 定义全局组件的时候,
        组件名称使用 驼峰命名,则在引用组件的时候,需要把大写改为小写,并且用 '-'将单词连接
        组件名称不适用驼峰命名,则直接拿名称来使用即可
     */ <!--组合方式--> Vue.component('myTem1',Vue.extend({
        template : '<h3>这是使用 Vue.extend 创建的组件</h3>'
    })) <div id="app"> <!-- 如果要使用组件,直接把组件的名称以 HTML 标签的形式,引入到页面中--> <my-tem1> </my-tem1> </div> 
    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

方式二

直接使用Vue.component()

 Vue.component('mycom2',{
        template : '<h3>这是使用 Vue.component 创建的组件</h3>' }) 
    
  • 1
  • 2
  • 3

但是这样写会有一个问题:

<!--在h3标签后紧接一个span标签的话就会出问题了--> <h3>这是使用 Vue.component 创建的组件</h3> <span>123</span> 
    
  • 1
  • 2


这个问题是在 组件template属性指向的模板内容,必须有且只能有唯一的一个根元素 
所以修改代码如下:

Vue.component('mycom2',{
        template : 
            '<div> <h3>这是使用 Vue.component 创建的组件</h3> <span>123</span> </div>'
}) 
    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

运行结果如下:

这里写图片描述

不过这种方式也有一个瑕疵,就是template 属性的值是HTML标签,而在软件中,并没有智能提示,容易出错,若使用这种方式,需要仔细,避免出错

方式三

<!--1.定义组件:--> Vue.component('mycom3',{
            template : '#tem1'
     }); <!--2.在被控制的 #app 外面使用 template 元素,定义组建的HTML模板结构--> <div id="app"> <!--3. 引用组件 --> <mycom3></mycom3> </div> <template id="tem1"> <div> <h1>这是 template 元素</h1> <span>这种方式好用</span> </div> </template>  
    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

运行结果如下:

这里写图片描述

这是Vue创建组件(全局)的3种方式,其实相差不多,希望对大家有所帮助


网页设计中的布局

ui设计分享达人

上下布局是最常见的布局方式,基本上都会在最上方有一个导航,下方是内容区,有的官网还会有页脚footer,站酷就是上下布局。左右布局在后台类、TO B类产品中比较常见,一般左侧为侧边栏,右侧为内容区。国字形布局和T字形布局其实算作上下布局,只不过比较典型,可以单拎出来作为一种布局类型。

$.ajax()方法详解

seo达人

如果您想订阅本博客内容,每天自动发到您的邮箱中, 请点这里

1.url
要求为String类型的参数,(默认为当前页地址)发送请求的地址。

2.type
要求为String类型的参数,请求方式(post或get)默认为get。注意其他http请求方法,例如put和delete也可以使用,但仅部分浏览器支持。

3.timeout
要求为Number类型的参数,设置请求超时时间(毫秒)。此设置将覆盖$.ajaxSetup()方法的全局设置。

4.async
要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为false。注意,同步请求将锁住浏览器,用户其他操作必须等待请求完成才可以执行。

5.cache
要求为Boolean类型的参数,默认为true(当dataType为script时,默认为false),设置为false将不会从浏览器缓存中加载请求信息。

6.data
要求为Object或String类型的参数,发送到服务器的数据。如果已经不是字符串,将自动转换为字符串格式。get请求中将附加在url后。防止这种自动转换,可以查看  processData选项。对象必须为key/value格式,例如{foo1:"bar1",foo2:"bar2"}转换为&foo1=bar1&foo2=bar2。如果是数组,JQuery将自动为不同值对应同一个名称。例如{foo:["bar1","bar2"]}转换为&foo=bar1&foo=bar2。

7.dataType
要求为String类型的参数,预期服务器返回的数据类型。如果不指定,JQuery将自动根据http包mime信息返回responseXML或responseText,并作为回调函数参数传递。可用的类型如下:
xml:返回XML文档,可用JQuery处理。
html:返回纯文本HTML信息;包含的script标签会在插入DOM时执行。
script:返回纯文本JavaScript代码。不会自动缓存结果。除非设置了cache参数。注意在远程请求时(不在同一个域下),所有post请求都将转为get请求。
json:返回JSON数据。
jsonp:JSONP格式。使用SONP形式调用函数时,例如myurl?callback=?,JQuery将自动替换后一个“?”为正确的函数名,以执行回调函数。
text:返回纯文本字符串。

8.beforeSend
要求为Function类型的参数,发送请求前可以修改XMLHttpRequest对象的函数,例如添加自定义HTTP头。在beforeSend中如果返回false可以取消本次ajax请求。XMLHttpRequest对象是惟一的参数。
            function(XMLHttpRequest){
               this;   //调用本次ajax请求时传递的options参数
            }
9.complete
要求为Function类型的参数,请求完成后调用的回调函数(请求成功或失败时均调用)。参数:XMLHttpRequest对象和一个描述成功请求类型的字符串。
          function(XMLHttpRequest, textStatus){
             this;    //调用本次ajax请求时传递的options参数
          }

10.success:要求为Function类型的参数,请求成功后调用的回调函数,有两个参数。
         (1)由服务器返回,并根据dataType参数进行处理后的数据。
         (2)描述状态的字符串。
         function(data, textStatus){
            //data可能是xmlDoc、jsonObj、html、text等等
            this;  //调用本次ajax请求时传递的options参数
         }

11.error:
要求为Function类型的参数,请求失败时被调用的函数。该函数有3个参数,即XMLHttpRequest对象、错误信息、捕获的错误对象(可选)。ajax事件函数如下:
       function(XMLHttpRequest, textStatus, errorThrown){
          //通常情况下textStatus和errorThrown只有其中一个包含信息
          this;   //调用本次ajax请求时传递的options参数
       }

12.contentType
要求为String类型的参数,当发送信息至服务器时,内容编码类型默认为"application/x-www-form-urlencoded"。该默认值适合大多数应用场合。

13.dataFilter
要求为Function类型的参数,给Ajax返回的原始数据进行预处理的函数。提供data和type两个参数。data是Ajax返回的原始数据,type是调用jQuery.ajax时提供的dataType参数。函数返回的值将由jQuery进一步处理。
            function(data, type){
                //返回处理后的数据
                return data;
            }

14.dataFilter
要求为Function类型的参数,给Ajax返回的原始数据进行预处理的函数。提供data和type两个参数。data是Ajax返回的原始数据,type是调用jQuery.ajax时提供的dataType参数。函数返回的值将由jQuery进一步处理。
            function(data, type){
                //返回处理后的数据
                return data;
            }

15.global
要求为Boolean类型的参数,默认为true。表示是否触发全局ajax事件。设置为false将不会触发全局ajax事件,ajaxStart或ajaxStop可用于控制各种ajax事件。

16.ifModified
要求为Boolean类型的参数,默认为false。仅在服务器数据改变时获取新数据。服务器数据改变判断的依据是Last-Modified头信息。默认值是false,即忽略头信息。

17.jsonp
要求为String类型的参数,在一个jsonp请求中重写回调函数的名字。该值用来替代在"callback=?"这种GET或POST请求中URL参数里的"callback"部分,例如{jsonp:'onJsonPLoad'}会导致将"onJsonPLoad=?"传给服务器。

18.username
要求为String类型的参数,用于响应HTTP访问认证请求的用户名。

19.password
要求为String类型的参数,用于响应HTTP访问认证请求的密码。

20.processData
要求为Boolean类型的参数,默认为true。默认情况下,发送的数据将被转换为对象(从技术角度来讲并非字符串)以配合默认内容类型"application/x-www-form-urlencoded"。如果要发送DOM树信息或者其他不希望转换的信息,请设置为false。

21.scriptCharset
要求为String类型的参数,只有当请求时dataType为"jsonp"或者"script",并且type是GET时才会用于强制修改字符集(charset)。通常在本地和远程的内容编码不同时使用。

案例代码:

$(function(){

    $('#send').click(function(){
         $.ajax({
             type: "GET",
             url: "test.json",
             data: {username:$("#username").val(), content:$("#content").val()},
             dataType: "json",
             success: function(data){
                         $('#resText').empty();   //清空resText里面的所有内容
                         var html = ''; 
                         $.each(data, function(commentIndex, comment){
                               html += '<div class="comment"><h6>' + comment['username']
                                         + ':</h6><p class="para"' + comment['content']
                                         + '</p></div>';
                         });
                         $('#resText').html(html);
                      }
         });
    });
});

22.顺便说一下$.each()函数:
$.each()函数不同于JQuery对象的each()方法,它是一个全局函数,不操作JQuery对象,而是以一个数组或者对象作为第1个参数,以一个回调函数作为第2个参数。回调函数拥有两个参数:第1个为对象的成员或数组的索引,第2个为对应变量或内容。

学会这3招,轻松做出复古风格的字体!

资深UI设计者


如果您想订阅本博客内容,每天自动发到您的邮箱中, 请点这里

每个时代都有特定的印迹,我们感受比较直接的或许是每个时代的穿着打扮变化,其实人、事、物都会有时代特征,字体也不例外。但是如何将字体穿越到过往呢?今天要从字型变化和字体效果两个方面聊聊如何把字体打造成我们口中所说的怀旧与复古。


举个我们最熟悉的例子,电话从转盘拨号到功能机再到智能机一直都在更新换代,单从外观看是变得越来越简洁,其实衣食住行我们都可以找到相类似的变化。从过去到现在每一天都在变,我们是否可以从千丝万缕中总结出一些大趋势,为字体所用?

上图是书法字体中篆书、隶书、行书和楷书,依序也是书法的演变过程,如果对此无感的话可以想一想繁体字到简体字的变化,从中不难总结由繁至简的变化规律。那么说仅仅是把文字造型做的「繁杂」就能够成功「穿越」吗?当然不是,下面用几个实例分享几个具体的方法。

一、古为今用

字体设计中的很多形变要有根有据,比如我们要设计一款有年代的古风字体其实就可以借阅古时书法中的一些写法,其中最具代表性的当属篆书。

篆书具有文字形体的象形性特征,虽然当下已失去实用性质但是我们可以根据自身的需求做一定的优化,以达到古为今用的目的。

下面以「诗画集」三字做分解。上图文字是从网络中搜寻的「诗画集」的篆书写法,一眼望去是不是非常的「繁杂」,甚至同一字会有多种不同的写法,结构变化也是很多样,那么在众多的文字中我们又应该如何挑选适合的呢?

一般来讲大家可以注意以下三个规律:

  • 辨识度低的首要排除,如图中第一个字对于大部分人来说都很难辨识;
  • 有取有舍学会拼接简化,遇到没有完整可用的,这时我们要有一定的取舍,比如图中第一行的「诗」字,结构左边的言字旁还好识别,但是右边的部分变化就有些「过」了,不太符合我们的需求,所以就要做一定的简化处理;
  • 善于抓特征,古为今用不是照搬不动,而是要实用可识别为基本诉求最大化保留所借鉴的文字特征。

如上图是我选出比较中意的三个字,按照上面提出的几个标准很显然第一个字会被淘汰,但是我更看重的是左边「言」字旁的笔法,右边当然要舍弃重做。

第一步就是依据上面的字用线条勾勒出结构框架,最后一个字相比前面的字是比较扁平一些的在做的过程中要进行拔高以保持三个字的统一。

前面说了这种方法不是完全照搬,我们一起看看有哪些地方做了调整:

  • 诗字右边的结构换成简体字的形式,保持文字的辨识度;
  • 笔画由曲变直,比如原字中横笔都是带有一定的弧度的,先全部变成直线段,这样做是为了让整体更有条理性,当然有例外比如「画」字的左右两个竖笔。
  • 相较以前的结构是要更加高挑,尤其是最后一个字的变化最明显,高矮胖瘦这个要根据你所做的字体含义做相对应的调整。

仅仅完成了结构的搭建肯定还是不充分的,细节的处理一定少不了。等线的笔画本身是比较直接的,可适当添加一些圆角处理,这也更符合篆书的字体特征。如上图,第一个字未做任何处理,第二个字笔画折角由原来的直角变为圆角处理。第三个字又从前面基础上增加内部的圆角,如此一来笔画有了些许顿挫感,更加耐看。

色彩和版式也是细节的一部分,最后选用深蓝色并配红色印章点缀,一组比较复古但又符合现代人审美的文字设计就完成了。这种古为今用的方法看下来很简单,但是除了上面讲的注意事项,字体的空间配置均匀有序也是至关重要的一环,任何字都如此。

二、旧字新用

就像电视剧布景一样,尽可能还原当时的场景,拍出来的影片才能有更强的代入感;而我们要设计有年代感的字体最直接有效的方式就是还原那个年代的字体特征。和第一种方式原理类似,但实际还是有些许不同。下面我们由古代穿越到近代,还是「诗画集」三字。

网络上有很多关于老字体的图片,平时遇见了要保存一下,说不定什么时候会用得到,另外没有保存也不要紧,我们字体学堂公众号会不定期更新收集的老字,方便大家学习参考。

老字的年代感除了纸张的斑驳更重要的是字型的特征,大概分类的话一个是宋体字另一种是有一些几何形态的应用变化,另外由于老字多由手工绘制,有很强的随意性,这也是老字的一大特征。

第一步是常规笔画的提取,由于年代久远又加上拍摄等因素,很多字体细节是模糊不确定的,不要把客观因素造成的字体细节变化也原封不动的照搬过来,而应该是边提取边优化。

有一些我们所需的笔画可能老字当中并没有,这个时候就要根据老字的风格做笔画扩展;另外老字中的笔画转角不会很锐利,通常会有一点圆角,笔画的线条也不是笔直,这些都可以在后期统一添加,勿从初始笔画添加。

基础笔画搞定下一步就可以进行结构搭建了,除了笔画的借用结构空间特征我们也可以参阅,「三防常识」这几个字整体是扁平的,内部空间比较紧,这是本组字结构上的特点要抓住。

基础笔画可不是一成不变,像是「集」字横笔居多,如果保持原来的横笔粗细的话空间上会变得非常挤也不美观,所以将横笔减细处理;同一笔画在不同的字体中都会有所差异,这一点就要求大家对字形结构要了解的更透,做字要「活」。

最后如上图,其实基础结构搭建出来到最后的确定字型,你看到的结果只是两步带过,期间是有很多细碎反复的调整,好字多磨!

这种方法会上瘾,以「汽水」两字再来一组。过程同上就不再复述,直接看结果。

今天选的这两组老字笔画上还不算最有特点的,还有一些个性更突显,大家不妨动手一试,看看是不是真如你所看到的这样简单。

三、纹理来凑

如果平时来不及设计想快速「穿越」这种情形也是有的,所以字体效果营造出表面的年代感还是要讲一下,因为是软件的基础操作所以就不很细致咯。

1. 纹理叠加

最简单常用的肯定是各种纹理叠加,甚至这是很多同学做年代感的文字必备选项。如上图,左边是常规字体,右边以此为基础叠加纹理。说两个注意点:一是纹理不在多,要避免纹理抢风头;二是纹理也有虚实对比,不可做的太平均。

2. 粗糙轮廓

使用同样的字库字,利用 Ai 软件中的「粗糙化」实现字体轮廓的粗糙处理,要掌握好粗糙化中的两个数值大小的变化,另外还可以通过路径位移制造字体内部的纹理变化,使之更有岁月斑驳感。

总结

以上分享你会发现,年代感的字体设计由内及外是相对复杂化,同时要善于抓特征,几个思路帮大家梳理一遍,有没有收获一点呢?


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


移动设计之视觉设计

蓝蓝设计的小编

作为一个直接响应式的功能平台,第一个手机网站只是一个“试验品”,而不是“成品”。在今天,如此多的智能设备的确给了我们机会去做更多的视觉设计,但这不仅能激发和吸引用户,而且增加了用户体验。当然伴随着机会就以为着更多的挑战。

日历

链接

个人资料

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

存档