zoukankan      html  css  js  c++  java
  • 购物车(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)基本的产品设计思想说完了,可能缺少细节的东西,旸仔想说的是,细节会根据每个网站的不同会有不同,但核心的产品设计思想是共性的,他才是产品经理应该放在心中的道。

    补充说明:千万不要把购物车产品设计等同于购物车页面,购物车页面只是购物车产品设计中主要的页面表现部分。

  • 相关阅读:
    【看完想不会都难的系列教程】- (3) JQuery+JQueryUI+Jsplumb 实现拖拽模块,流程图风格
    数据库~大叔通过脚本生成poco实体
    Git~分支真的很轻
    jenkins~管道Pipeline里使用公用类库
    docker~run起来之后执行多条命令
    jenkins~管道Pipeline的使用,再见jenkinsUI
    通过数组初始化链表的两种方法:指向指针的引用node *&tail和指向指针的指针(二维指针)node **tail
    NYOJ 16 矩形嵌套(动态规划)
    SPOJ 416
    sqlserver,执行生成脚本时“引发类型为“System.OutOfMemoryException”的异常”(已解决)
  • 原文地址:https://www.cnblogs.com/susanws/p/5594690.html
Copyright © 2011-2022 走看看