阅读更多

1顶
0踩

移动开发

转载新闻 我是这样做 APP 的

2013-01-09 17:38 by 副主编 WnouM 评论(0) 有4208人浏览
本文是“幻风阁”博主Kent.Zhu与中欧商业评论记者的聊天整理稿,原文发在《中欧商业评论》2013年1月号上,题目是“一个产品经理的用户洞察法则”。文章内容如下:

击中用户的痛点

APP发展时期不同,获得用户洞察的方式也会随之变化。

任何一个成功的APP必然能够击中用户的某一个或几个痛点。帮助孤身一人的旅者、在最短时间内找到陌生城市的落脚之地,这就是“快捷酒店管家”最为核心的诉求,其背后是对现代人天涯孤旅况味的理解和挖掘。再进一步,它抓住的是移动互联时代人们缺失的安全感与日益减弱的计划性。各式智能移动设备使现代人的出行随意轻便,抬腿就走,这一趋势正是“快捷酒店管家”当日预订、当日入住模式的深层支撑。

准确地找到用户痛点,业内主要有两种方式:一种是以竞品分析为代表的数据分析方法,比如搜索引擎公司会设置指标,开展搜索,评估搜索结果,从而对用户需求做出判断;另外一种则是“答案在现场”,开发新产品的团队往往会更多地采用这种方法。我们公司CEO住了上千家快捷酒店;开发团队的成员每人每月都有3次公费入住快捷酒店的机会,亲身体验自己开发的产品是否靠谱;客服人员会通过接听用户电话以及社交网络搜索等方式实时收集用户的反馈;团队成员甚至会在周末去客户的酒店做前台,观察那些拿着手机到前台展示订单的住客究竟是怎样的状态。

发展时期不同,APP获得用户洞察的方式也会随之变化。用户样本量较小的初期多采用现场体验发现的方式,在用户量级达到一定水平后,则可以通过数据挖掘来更好地满足用户需求。比如可以通过分析,帮店长把握其周边客户群体的性质,分析每天有多少人看过他的店,有些人最后没有预订是什么原因等等。未来甚至可以据此探索用户预订酒店方式的改变。

APP不是规划出来的

基本价值定位确定之后,产品的改进、丰满乃至走向,在某种程度上就成为多方力量共同作用的结果。

在某种程度上说,APP产品不是规划出来的。也许听上去不可思议,“快捷酒店管家”永远没有产品规划,甚至不知道2个月之后自己会做什么。举例来说,“在线预订”现在是这个APP的核心功能之一,其实2012年3月产品刚上线时并无这一功能,用户仅能进行电话预订。上线后不少用户反映不爽,因为他们的电话会打到酒店前台,前台再转给400订房专线,因为APP的数据无法传输,400客服还会再问用户在哪儿、住几天、住什么房等信息,整个过程要多花费一两分钟。于是,只需点几个键就能完成整个流程的“在线预订”功能应运而生。

由于用户群体内部存在差异性,产品功能较为显著的调整往往会引发用户的不同反应,此时需要在准确判断主流趋势的基础上拿捏分寸,要渐进柔和地调整,切忌简单粗暴。就拿上面提到的从电话预订转为在线预订来说,其间也经历过“斗争”。一开始我们采用“硬掰”的方式,直接把电话预订的功能隐藏掉了,结果引起不小的反弹,因为有些用户就想打电话。为此我们又进行调整,只是将电话的位置弱化,突出下面的“预订”。

不仅如此,对于像我们这种连接用户与商家的“桥梁式”APP来说,基本价值定位确定之后,产品的改进、丰满乃至走向,某种程度上是多方力量共同作用的结果,需要开发者对相关利益方的需求进行捕捉与平衡。使用早期的“快捷酒店管家”,用户打开地图后能看到所有附近酒店,满房是红色,有房是绿色。用户就提出,我只是想找一间房,为什么把满房的也给我?其实,设为全部显示是为了满足一些店长的要求,他们可以通过APP查看所有酒店的预订情况,与竞争对手进行比较。但更好地满足核心用户的需求才是第一要务,于是我们就添加了一个可选功能,默认“只显示可预订”。

就这样,我们被推着一路前进,用户把“快捷酒店管家”当做预订平台,酒店则把我们当做营销平台,作为第三方的我们努力把桥梁当好。除了通过微博、微信、客服 电话、关键词推送等方式对核心用户的需求不断揣摩外,“快捷酒店管家”也渐渐增设了不少体现酒店需求的信息展示功能,如是否有免费wifi,是否有停车场,附近是否有地铁等等,这些都是我们最初做产品时没有想到的。

优秀APP的三个标准

设计APP产品必须学会放弃,大而全地绑定用户始终是一种诱惑,但当你想要的东西特别多的时候,得到的就会特别少。

一个优秀APP产品往往要具备三方面的特点:一是性能好,通俗讲就是加载速度快;二是用户第一眼就能够找到自己想要的东西,快速有效地解决问题;三是设计有人情味儿,也就是现在很多人常说的“有爱”。

首先,在当前的网络环境下,APP产品的性能好,用户无需等待与忍耐,这是判断一个APP好不好用的重要标准。

微信的性能就相当突出,在网络环境很差、很多APP都无法打开的情况下,它还能够使用。但性能并不是一个纯技术层面的问题,也包括策略层面的考虑,开发者需要对速度与效果进行平衡。比如在点击查看微信的消息时,它总是会进入到消息列表,而不是只显示单个消息,此举虽然会牺牲一些速度,却可以使消息的到达率更高。“快捷酒店管家”同样如此,原本打开地图就显示方圆50公里内的酒店,加载速度很慢,后来考虑到用户很少会跑到那么远的地方去住,选择也无需提供那么多,便将搜索直径缩小到10公里,只有再次拖动地图时才会加载其他酒店,速度明显提高。

第二,必须学会放弃。

大而全地绑定用户始终是一种诱惑,但当你想要的东西特别多的时候,得到的就会特别少。作为在手机等移动终端上使用的APP来说,简洁是很重要,因为设备屏幕空间有限,用户完成的任务也有限。但如何理解“简洁”?它其实是一种合理的整理。飞机驾驶舱里有无数仪表,你能说它不简洁吗?它必须那么复杂。所以并不是说少和简单就是简洁。APP的简洁应该指核心功能非常突出,不核心的功能可以找到,不需要的功能没有。

在产品设计时要在“用户想要什么”与“你想给什么”之间博弈。用户使用APP就像鱼在池塘中游弋,产品开发者需要通过搭建障碍来引导用户。某些通道的口会留得很宽,那是希望用户经常用的功能;某些口很窄,想通过要困难一些,适用于用户使用较少的功能;有的地方就是雷区,不能让他们过去。比如“快捷酒店管家”打开后的地图主界面默认为定位用户附近的酒店,这正是多数用户需要的;也有用户要找其他城市的酒店,主页面的某个位置会提供搜索按钮,可以切换到相应界面;在预订下单等关键点,就会要求用户必须输入姓名与手机号才能继续,以此保证订单的真实性。

第三,“有爱”是一个好APP的重要特质。

APP总要跟用户交互,交互过程应当尽量让人感到愉悦。要做到令人愉悦,就必须认清自己的用户群体,根据他们的特征喜好不断增加细节元素。过去打开“快捷酒店管家”的地图,附近的酒店会一下子显示出来,缺乏特色又十分生硬。后来考虑到我们的核心用户群体是20岁左右的年轻人,他们的QQ皮肤会很花哨,微博模板也个性十足,也就是说,他们追求的是张扬、好玩儿、酷,于是我们将酒店的显示方式改成了从天上哗啦哗啦掉下来的有趣方式。

让用户感觉APP是活的

并非所有的用户流失都是不良的,相反,进行用户管理有时候还要故意“逼走”一些用户,“净化”用户队伍。

对于一个APP来说,用户的下载只是万里长征的第一步,下载后的用户流失是必须面对的问题。有研究说,APP产品在下载后三个月内平均会失去76%的用户,维系用户确实是个难题。

用户流失的原因各不相同。一种是3分钟效应,甚至有人说是60秒效应,就是说如果在3分钟之内用户无法找到你的亮点,或者说他急需解决的问题你无法解决,就可能会直接把你删掉,或者无限期打入“冷宫”。这是产品自身的问题,需要做出根本改变。第二种是用户确实在某个特定时段没有需求,比如订酒店就不是日常需求,如果APP因为这种原因被搁置,那就需要通过不断的运营让用户在需要的时候想起你。

APP的运营对于维系用户来说非常重要,业内常说的打榜虽然可能一时有效,但如果后续没有运营也没有意义。如何理解运营?我认为它包括产品运营与市场运营两部分,其本质是建立起产品与用户的关系,而不能仅仅理解为做活动。产品运营的方式很多,信息推送最为常用。在产品中增添好玩的细节、功能也是一种自我运营,比如我们会时常更换有趣的开机界面,圣诞节时将酒店图标变成举小牌子的圣诞老人,目的是让用户感觉你的产品一直有人在用心去做,你的APP是活的而不只是冷冰冰的工具。

维系用户固然重要,但并非所有的用户流失都是不良的,相反,进行用户管理有时候还要故意“逼走”一些用户,“净化”用户队伍。我们的团队有一个原则,即如果一个用户从来不进行搜索、预订等任何活动,他就被视为需要清除的“毒瘤”, 因为他不仅会让用户活跃度等数据变得难看,还会因其无视各类升级要求而增加不同版本的维护成本。“强制升级”是剔除“毒瘤”的方式之一,强制升级时用户打开APP,只有一个“升级”按钮,不升级就进不去。此举自然会因“激怒”用户带来流失,但这种流失是对无形负担的减轻。

此外,恰当管理用户预期也是客户运营的智慧所在。我们拒绝一个人连续给5个人订5间房的用户,尽管这并不违背行业规则,但对于APP产品来说,这种情况会让预订的验证程序变得更加复杂,从而影响其他用户的体验。为了让产品做得更简洁,宁愿牺牲这类用户。面对此类需求,我们会实话说自己做不到,或者请用户多等一段时间,而不是随便答应改变。为用户设置一个合理的期望值,在合理限度内为用户提供尽可能好的使用体验,这也是打造良好用户体验的重要方面。
来自: 幻风阁
1
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • RandomAccessFile类使用详解(转)

    1.RandomAccessFile特点 RandomAccessFile是java Io体系中功能最丰富的文件内容访问类。即可以读取文件内容,也可以向文件中写入内容。但是和其他输入/输入流不同的是,程序可以直接跳到文件的任意位置来读写数据。   因为RandomAccessFile可以自由访问文件的任意位置,所以如果我们希望只访问文件的部分内容,那就可以使用RandomAccessFile类。   与OutputStearm,Writer等输出流不同的是,RandomAccessFile类允许自由定位文件

  • RandomAccessFile详解

    RandomAccessFile是Java 输入/输出流体系中功能最丰富的文件内容访问类,它提供了众多的方法来访问文件内容,它既可以读取文件内容,也可以向文件输出数据。与普通的输入/输出流不同的是,RandomAccessFile支持"随机访问"的方式,程序可以直接跳转到文件的任意地方来读写数据。 RandomAccessFile可以自由访问文件的任意位置。 RandomAccessFile允许自由定位文件记录指针。 RandomAccessFile只能读写文件而不是流。 ...

  • RandomAccessFile类

    RandomAccessFile类 RandomAccessFile类,不属于流,但具有读写文件数据的功能,可以随机从文件的任何位置开始执行读写数据的操作 RandomAccessFile类可以将文件以指定的操作权限(如只读,只写等)的方式打开,具体使用哪种权限取决于创建它所采用的构造方法 通过两种构造方法创建RandomAccessFile对象,需要接受两个参数:第一个参数指定关联的文件,第二个参数mode指定访问文件的模式(文件的权限) RandomAccessFile构造方法如下: RandomA

  • File类及RandomAccessFile类

    File类及RandomAccessFile类File类RandomAccessFile类构造方法普通方法读写方法指针移动方法 File类 File类是Java中表示文件的类,只能表示文件的信息,不能对文件内容进行操作 File类常用构造方法 构造时,路径分隔符是不确定的,Linux和Windows的分隔符就不一样,建议使用第三种进行构造。 //构造方法 File file = new File(...

  • 常用设计模式 - 单例模式

    应用执行过程当中,只有一个对象的模式,叫做单例模式 1.构造器私有 2.提供可以获得对象的静态方法 3.将对象设置为静态 懒汉模式:用的时候再创建 饿汉模式: 加载的时候就创建 public class Singleton { private Singleton(){ } // 构造器私有,无法在外部实例化这个对象 // 外部一千一万个对象也都只能是对Person内部new...

  • RandomAccessFile的使用方法和案例分析

    import java.io.IOException; import java.io.RandomAccessFile; import java.util.jar.Attributes.Name; /*RandomAccessFile:该类不能算是io体系中子类,而是直接继承自object  * 但是它是io包中成员,因为它具有读和写的功能。内部封装了一个数组,而且通过指针对数组

  • Java IO体系之强大的RandomAccessFile

    现有如下的一个需求,向已存在1G数据的txt文本里末尾追加一行文字,内容如下“Lucene是一款非常优秀的全文检索库”。可能大多数朋友会觉得这个需求很easy,说实话,确实easy,然后XXX君开始实现了,直接使用Java中的流读取了txt文本里原来所有的数据转成字符串后,然后拼接了“Lucene是一款非常优秀的全文检索库”,又写回文本里了,至此,大功告成。后来需求改了,向5G数据的txt文本里追

  • RandomAccessFile的基本用法

    介绍: RandomAccessFile的唯一父类是Object,与其他流父类不同。是用来访问那些保存数据记录的文件的,这样你就可以用seek( )方法来访问记录,并进行读写了。这些记录的大小不必相同;但是其大小和位置必须是可知的。 工作方式: RandomAccessFile的工作方式是,把DataInputStream和DataOutputStream粘起来,再加上它自己的一些方法,

  • RandomAccessFile类使用详解

    学习笔记,转正:https://blog.csdn.net/nightcurtis/article/details/51384126   RandomAccessFile类使用详解 疯狂java讲义读书笔记之RandomAccessFile类的使用详解 1.RandomAccessFile特点   RandomAccessFile是java Io体系中功能最丰富的文件内容访问类。即可...

  • Java字节文件读写(4): RandomAccessFile 随机读写文件类

    定位 RandomAccessFile 是一个功能非常强大而全面的文件读写类。主要有以下特性: 可以读也可以写 可以自由定位 可以获得文件长度 提供了多种数据类型的直接写入方法 提供了多种数据类型的直接读取方法 不过也有一些限制 只能写文件,无法在内存或网络流中读写 性能一般,适用于对性能要求不高的场景 构造函数 定位方法 写入方法 函数声明 作用 void write(b...

  • Java Calendar,Date,DateFormat,TimeZone,Locale等时间相关内容的认知和使用(4) DateFormat

    本章主要介绍DateFormat。   DateFormat 介绍 DateFormat 的作用是 格式化并解析“日期/时间”。实际上,它是Date的格式化工具,它能帮助我们格式化Date,进而将Date转换成我们想要的String字符串供我们使用 不过DateFormat的格式化Date的功能有限,没有SimpleDateFormat强大;但DateFormat是Simp

  • javaIO RandomAccessFile类随机读写

    RandomAccessFile类的主要功能是完成随机读取功能,可以读取指定位置的内容。File类只是针对文件本身进行操作的,而如果要想对文件内容进行操作,则可以使用RandomAccessFile类,RandomAccessFile属于随机读取类,可以随机读取一个文件中指定位置的数据1. 构造方法RandomAccessFile(File file, String mode) ...

  • (Java)RandomAccessFile 类

    File 类只是针对文件本身进行操作,而如果要对文件内容进行操作,则可以使用 RandomAccessFile 类,此类属于随机读取类,可以随机读取一个文件中指定位置的数据 一、RandomAccessFile 类的常用操作方法 如果使用 rw 方式声明 RandomAccessFile 对象时,要写入的文件不存在,系统将自动进行创建 import java.io.File; import j...

  • RandomAccessFile 中model参数

    “r” 以只读方式打开。调用结果对象的任何 write 方法都将导致抛出 IOException。 “rw” 打开以便读取和写入。如果该文件尚不存在,则尝试创建该文件。 “rws” 打开以便读取和写入,对于 “rw”,还要求对文件的内容或元数据的每个更新都同步写入到底层存储设备。 “rwd” 打开以便读取和写入,对于 “rw”,还要求对文件内容的每个更新都同步写入到底层存储设备。

  • RandomAccessFile的几大基本用法

    **RandomAccessFile是java提供的对文件类容进行访问的类。即可读也可写。 RandomAccessFile可对文件随机访问,可访问文件的任意位置。**JAVA文件模型 在硬盘上是byte类型存储的,是数据的集合。 (1)打开文件有两种模式 第一种“ rw”(读写),“r”(只读)。 RandomAccessFile fl=new RandomAccessFi

  • java之RandomAccessFile

    IO流只能按照数据的先后顺序读取设备中的内容或者向设备里写入数据,但是,要想可以在文件中的任意位置开始执行读写操作要怎么做呢?所以,RandomAccessFile类应运而生了!它可以随机的从文件的任何位置开始执行读写功能。 下面我们来看RandomAccessFile类的两个构造方法: 1、RandomAccessFile(File file,String mode) //使用file文件,并指定访问模式mode 2、RandomAccessFile(String url,String mode)//通过

  • Java之RandomAccessFile类存取数据理解

    Java之RandomAccessFile类存取数据理解文章链接:知识点 RandomAccessFile类的方法理解; 利用RandomAccessFile写入和读取数据; 创建特定大小文件,并且分段插入数据; 新名词记录:{FileChannel#force(boolean), FileChannel:进行读写,映射和操作文件的通道;} RandomAccessFile类说明RandomAcce

  • Java IO——RandomAccessFile类详解

    一、RandomAccessFile介绍 RandomAccessFile支持对文件的读取和写入随机访问(其他的输入流或者输出流只能进行一种操作,要么输入,要么输出)。RandomAccessFile把随机访问的文件对象看作存储在文件系统中的一个大型 byte 数组,然后通过指向该 byte 数组的光标或索引(即:文件指针 FilePointer)在该数组任意位置读取或写入任意数据。输入操作从文件指针开始读取字节(以字节为单位进行读取),并随着对字节的读取而前移此文件指针。如果RandomAccessFi

  • Java中RandomAccessFile用法

    文章目录 介绍 RandomAccessFile 使用 创建对象 写方法 读取方法 介绍 java.io.RandomAccessFile 1、读写文件的工具 2、将文件中的字节数据,当作数组,用下标访问指定位置的字节值 RandomAccessFile 既可以读取文件内容,也可以向文件输出数据。同时,RandomAccessFile 支持“随机访问”的方式,程序快可以直接跳转到文件的任意地方来读写数据。 由于 RandomAccessFile 可以自由访问文件的任意位置,所以如果需要访...

Global site tag (gtag.js) - Google Analytics