购物车(Shopping cart) —— B2C网站核心产品设计 (二)
购物车是做什么的?
我们先来看一下现实超市中的购物车,一个带四个轱辘的铁筐子,客人推来推去,看到什么东西喜欢,就扔进去,觉得东西差不多了,就推到收银台。
那B2C网站中的购物车又是一个什么东西呢?
从广义上说,购物车在B2C网站里无处不在,当客人进入一个B2C网站时,他就相当于推着购物车开始逛超市了,只是客人暂时看不到购物车,直到进入购物车(Shopping cart page)页面,然后去结算,下单成功。本文讨论的购物车是狭义的购物车,是指客人在点商品页面的“加入购物车”(Add to cart)按钮,到进入下“去结算”(Check out)之间的过程。
设计购物车(Shopping cart)时会存在哪些逻辑?
第一个当然是入口逻辑,即从哪些地方可以点击“加入购物车(Add to cart)”按钮,解决的是什么东西可以扔到购物车(Shopping cart)的事情。常见的入口包括:产品列表页、单产品页,另外,在促销活动页面、购物车页面中的推荐产品部分也是常见的入口,根据不同的网站情况还会有其他七七八八的入口。当在不同的入口点击“加入购物车”可能会产生不同的事件。所以我们首先要定义在那那些页面什么情况下可以有“加入购物车)”的按钮。强调一点,千万不要小看定义入口,他可能会对后面的每一步都产生影响,尤其是一些隐性入口,如我们常见的在用户的历史订单中常常会有“再下一单”(Re-order)的功能,这个时候很有可能会有诸如看看这些商品还有没有库存之类的复杂逻辑处理,不关心购物车入口的设计几乎一定是不合格的购物车产品设计。
第二个是添加商品逻辑,解决的是怎么把商品扔到购物车(Shopping cart)的事情。从页面展现来看可能会出现两种情况,一种直接是进入购物车页面,还有一种是提示你“商品已经加入购物车”然后在原页面让你继续购物,这两种表现的结合体就是那种弹出一个小框框问你去购物车页面还是继续购物。无论是那种跳转情况,都会存在一个看不到的逻辑,那就是把放入购物车的商品记录下来了。产品经理必须清楚的知道根据自己网站的实际情况究竟需要记录什么东西。最直接需要记录的,旸仔认为包括两部分,一是什么商品,另一个是添加了多少个商品。可能有人会认为为什么不记录商品的价格呢?旸仔认为,产品的价格应该有单独的计算模块(价格计算器),只要知道什么东西,我们就可以随时获得价格,所以不应该在这里记录。就像我们在超市卖东西,当我把一个东西放到车里的时候,直到结算之前,我们只用知道车里有几个东西,有什么东西就可以了,甚至我们都可以忘记车里有什么东西,反正结算的时候也会知道。
第三个就是购物车的商品处理和页面展现逻辑。就像于我们在超市购物,正式付款之前,需要看看买了哪些东西,一共要花费多少钱。当进入购物车页面时,首先要把我们购物车里的东西计算一下价格,旸仔比较倾向的产品处理方法是,在购物车页面显示之前,将购物车里的东西统一扔到一个价格处理器里,价格处理器计算各种促销活动、打折等等的事情,这个价格处理器就像收银台上的条码枪,把每一个产品的价格返还回来,无论是促销装还是普通商品最终会给商品一个正确的价格。举个例子,买一罐可乐3元,买两罐可乐5元(即单价2.5元),用户当初只是把可乐扔到购物车(相当于我们说的添加商品逻辑),条码枪一扫,如果有一罐可乐,就显示单价3元,如果有两罐可乐就显示单价2.5元。这一部分的重点是价格处理器要和页面展现分离,他对于页面展现或者对于购物车相当于一个黑盒的东西,购物车只要告诉价格处理器有什么东西、数量几个,价格处理器就给出相应的价格,最终显示在购物车页面上。现在我们再说一下展现逻辑的重点,购物车页面的真正作用在于两个:一个是让用户尽快的结算成功下单;另一个是尽可能的让用户再多买点东西(Continue shipping)。关于让用户尽快结算成功,我们只要做好一件事情,让用户在页面一眼就看到“去结算”(Check out)按钮,这件事情说起来很简单,做起来也不难,但确实有很多人都没有做好,包括一些小有名气的网站,我见过一个网站如果买了十几样东西的话,如果想看到“去结算”(Check out)按钮要滚动鼠标3、4下。旸仔的建议是,把“去结算”(Check out)按钮放到右上角,使用和谐而醒目的颜色,同时,在购物车页面尽量不要写太多的文字,如果必须要写,也要离“去结算”(Check out)按钮远一些。
让用户尽可能的再多买点东西,就像我们在超市收银台看到的口香糖、电池之类的一样,所以有一个非B2C网站核心功能的功能就很重要了,今后如果有时间的话,我们也可以单独的讨论商品推荐的产品设计方法。让用户尽可能再多买东西还有一个按钮也很重要,就是“继续购物”(Continue shipping)。在购物车展现页面,有一个重要的问题需要产品经理来思考,就是自己的网站“继续购物”(Continue shipping)更重要还是”去结算”(Check out)更重要,每个产品经理都必须找到自己网站“继续购物”和“去结算”(Check out)的平衡点,在页面显示逻辑上表现出来。旸仔见过的大多数网站仿佛“去结算”(Check out)更为重要,毕竟马上就可以下单,老板一下可以看到钱了。
最后就是离开购物车的逻辑,B2C网站一定要想好,哪些离开购物车页面是正确的,哪些是错误的,旸仔认为只有用户因为点击“继续购物”(Continue shipping)和“去结算”(Check out)按钮离开购物车(Shopping cart)才是正确的,其他的离开除非有足够充分的理由,否则都是产品设计的愚蠢和混乱导致的。如果用户点击“继续购物”关键的逻辑是在回到那个页面,这个就和前面提到的入口逻辑有很紧密的联系了,产品经理应该视具体情况具体分析。而用户点击“去结算”(Check out),逻辑很简单,就是进入结算流程,具体结算流程的设计今后会专门讨论。
购物车(Shopping cart)基本的产品设计思想说完了,可能缺少细节的东西,旸仔想说的是,细节会根据每个网站的不同会有不同,但核心的产品设计思想是共性的,他才是产品经理应该放在心中的道。
补充说明:千万不要把购物车产品设计等同于购物车页面,购物车页面只是购物车产品设计中主要的页面表现部分。
购物车(Shopping cart) —— B2C网站核心产品设计 (二)的更多相关文章
- C#集合Collections购物车Shopping Cart
这篇是对象与集合操练,物件的创建,集合的一些基本功能,如添加,编辑,删除等功能. 对象,即是网店的商品物件,Insus.NET只为其添加2个属性,物件的ID的Key和名称ItemName以及2个构造函 ...
- 常见B2C网站购物车的设计
对于大部分B2C网站来说,购物车是网站的咽喉之地,订单是白花花的银子,所有银子都必然流经购物车,购物车不能有失.优秀的购物车设计至少需要完成两项使命:一是方便用户多买货多掏银子:二是帮用户保管好待购的 ...
- 产品设计中先熟练使用铅笔 不要依赖Axure
在互联网产品领域,Axure已成为产品经理.产品设计师以及交互设计师的必备工具,从某种程度讲,Axure帮助我们建立低保真模型,便于与用户的需求验证,也帮助我们构思交互细节,使前端和开发人员更容易理解 ...
- 产品设计教程:利用“系列位置效应”优化UI
任何博得人们喜欢的产品都在一定程度上契合了用户的心理需求.设计和心理学息息相关,掌握一些基本心理学知识,设计师的作品更能在潜意识中抓住用户的心. 系列位置效应 “系列位置效应”(The Serial ...
- shopping cart
#Author:Kevin_hou #定义产品列表 product_list =[ ('HUAWEI',5999), ('Watch',500), ('Nike',800), ('Toyota',20 ...
- 深入浅出Hive企业级架构优化、Hive Sql优化、压缩和分布式缓存(企业Hadoop应用核心产品)
一.本课程是怎么样的一门课程(全面介绍) 1.1.课程的背景 作为企业Hadoop应用的核心产品,Hive承载着FaceBook.淘宝等大佬 95%以上的离线统计,很多企业里的离线统 ...
- 大型B2C网站高性能可伸缩架构技术探秘
大型B2C网站高性能可伸缩架构技术探秘 2010-07-21 08:51 狂放不羁 JavaEye 字号:T | T 向您介绍大型B2C网站高性能的网站架构技术,包括缓存的使用.应用程序和数据库的拆分 ...
- 年轻的心与渐行渐近的梦——记微软-斯坦福产品设计创新课程ME310
作者:中国科学技术大学 王牧 Stanford D. School 2014年6月,沐浴着加州的阳光,在斯坦福大学(下文简称Stanford)完成汇报后,历时一年的创新设计课程ME310的项目结束 ...
- 浅谈 jQuery 核心架构设计
jQuery对于大家而言并不陌生,因此关于它是什么以及它的作用,在这里我就不多言了,而本篇文章的目的是想通过对源码简单的分析来讨论 jQuery 的核心架构设计,以及jQuery 是如何利用javas ...
随机推荐
- 用VB把xlsx转换为xls
Sub Test()Dim wb As Workbook, mPath As String, f As StringApplication.DisplayAlerts = FalseApplicati ...
- kinect2 body joints 的25个点
JointType_SpineBase = 0, JointType_SpineMid = 1, JointType_Neck = 2, J ...
- wakeup_train运行遇到的问题记录
运行前需要更改的地方: 1.matlab安装的路径以及matlab的license文件 2.噪声的路径;background.scp,以及噪声文件 3.run.sh文件中一处f ...
- python学习day2
一.模块初识 python模块 模块让你能够有逻辑地组织你的Python代码段. 把相关的代码分配到一个 模块里能让你的代码更好用,更易懂. 模块也是Python对象,具有随机的名字属性用来绑定或引用 ...
- windows 激活等命令
Win+R 输入:slmgr.vbs -dlv 显示:最为详尽的激活信息,包括:激活ID.安装ID.激活截止日期slmgr.vbs -dli 显示:操作系统版本.部分产品密钥.许可证状态slmgr.v ...
- openstack私有云布署实践【3 keepalive配置(VRRP虚IP)】
这里只用到keepalived 或者pacemaker两种方法,可二选一来配置,官方提供的是pacemaker,但我们实际测试环境和生产环境上使的是keepalive 首先在4台control ...
- 初学者必知的HTML规范
一.整体结构 用div代替table布局 结构.表现.行为三者分离,避免内联 良好的树形结构四个空格代替一个tab 能并列就不嵌套<div></div><div>& ...
- Linux下查看access访问日志IP统计命令
查看 access.Log 文件ip统计 cat access.log |awk '{print $1}'|uniq -c |sort -k1,1nr 去掉r则从高到低 cat access.log ...
- noip2013Day2T3-华容道【一个蒟蒻的详细题解】
描述 小 B 最近迷上了华容道,可是他总是要花很长的时间才能完成一次.于是,他想到用编程来完成华容道:给定一种局面,华容道是否根本就无法完成,如果能完成,最少需要多少时间. 小 B 玩的华容道与经典的 ...
- JEMETER 录制
两种方式: 第一种:badboy工具录制,导入jemeter脚本,导入jemeter.目测支持IE 第二种:代理服务器的方式 1.