探讨:微信小程序应该如何设计
微信小程序公测后,开发者非常热情,都有很高的期待,都想抓住这一波红利。但是热情背后需要冷静,我们需要搞清楚两个问题:
微信想要我们做什么?
微信小程序可以做什么?
微信想要我们做什么?
首先来弄清楚微信的意图。之前张小龙曾公开过对微信应用号的一些看法,再联系到他总结的微信产品观,大概可以总结出如下重点:
(1)服务用户,不打扰用户,用完即走
张小龙这种朴素浪漫主义情节一直反映在他的微信产品观中,小程序也不例外。从人性出发,用户被任何APP每天占据大量时间都是不合理的,微信也是——虽然它已经实现了。这个幸福的负担也就成了微信的枷锁(或者说是张小龙的枷锁),一旦出现决策偏差或用力过度,影响范围不可想象,稳健或许是微信最可行的方针。相应地,小程序也要贯彻这套产品观。小程序的设计规范里,不允许推送、不允许转发至朋友圈、不允许诱导关注,一而再地强调服务导向,用户主动寻找服务,用完即走。
(2)刺激微信生态
微信已经不年轻了。想想微信这几年的发展,曾几何时,摇一摇、群对话、朋友圈、抢红包,几乎包围了我们的生活。然而现在,有多少人关闭了朋友圈提醒?有多少人对所有微信群设置了消息免打扰?又有多少人,在朋友圈里已经看不到熟悉的人的名字?某种意义上,逃离碎片化时间几乎等同于逃离微信。而与此同时,这些年又有大量的第三方应用,通过微信得到了巨大的流量红利,比如脸萌、天天P图、微信群助手、还有各种曾经刷爆朋友圈的H5小游戏,等等。这份蛋糕,微信其实也可以自己吃掉……
无论出于防守还是进攻,微信都需要新的突破。小程序实际上是一种众包行为,通过第三方共同塑造一个更完整的微信生态,提供更多新的可能,也提供更多试错,根据用户反馈不断调整策略。微信在设计规范中明确提出不允许开发与现有服务类似的功能,也印证了这一观点。这对微信和第三方来说,都是一种双赢。
(3)服务号未实现目标,小程序予以补充和提升
并不太具备存在感的服务号,显然并没有实现微信对它的期望。服务号上线之初,也是希望可以在消息列表中为用户提供更多样化的服务,同时也提供给那些低频工具或商户,一个连接用户提供服务的可能,免除独立开发APP的成本。然而受入口位置、推送频次、交互展示、功能等限制,大部分服务号只不过是企业多了一个消息推送号,并没有拓展出新的领域。
(4)流量变现
对于变现,微信一直做得很谨慎。然而开放小程序,使得微信可以较好地保护现有的用户体验,同时又增加出更多向B端实现流量变现的场景。
微信小程序可以做什么?
考虑微信诉求的同时,也需要看看微信的能力。对我们这些应用者来说,微信小程序的实际价值在于:
(1)流量入口
毋庸置疑,微信的流量有多大意义,看看现在这些围绕微信的商业模式吧。
(2)社交关系
微信作为最庞大的社交关系链,这对于任何一家公司来说都是非常有意义的。积淀在微信中的熟人关系、行业关系、社群关系,已经形成了极具说服力的用户分层,这些圈子可以帮助任何一家公司直达目标用户,尤其是自身尚未利用社交优势的APP,完全可以借助微信的社交关系链助力自身业务。
(3)用户数据
即便是对社交关系没有太多期待,用户数据本身也足够有价值了。在用户授权的前提下,如果能获取到用户的社交关系、社交内容、位置信息、使用频次等数据,无论是要精准获客、精准营销还是精准变现,都将带来极大的帮助。
(4)提升体验
比起之前的服务号,小程序支持更丰富的功能和交互,给设计者留下了更多发挥空间,无疑会给用户带来更好的使用体验。根据目前内测的小程序表现,小程序的体验流畅度远高于预期。
那到底该如何设计小程序呢?设计思路应该从以下5个方面入手:
(1)不要局限于工具思维,而是基于服务做拓展外延
很多文章都在聊小程序目前最好做的是工具。话虽然没错,但不要局限于工具思维,最核心的仍然是服务。从目前你所在的业务大类出发,用户究竟需要什么样的服务?用户在进入APP前和离开APP后,场景上需要有什么补充?可能分析下来和你的APP主营业务并不完全一致,没有关系,只要能达到你对微信小程序的预期就可以了。
举例来说,如果一家阅读类APP只是单纯将内容聚类和搜索的功能移植到微信小程序,并不能给用户带来更多期待,也很难做到让用户主动去唤醒小程序。如果跳出APP主营业务,回归阅读这件事本身,用户在开始阅读之前如何引起阅读兴趣?阅读之后是否有摘录的需求?这时候,或许深挖摘录这个点会比直接做内容更有意义。
(2)融入微信生态
时刻记得微信小程序是在微信内,与微信的所有功能息息相关,要尽可能深入地融入微信生态,不要孤立地做设计。微信小程序是微信生态的一部分,更是衔接用户、服务、信息三者的重要载体,在设计之初就要考虑到生态的搭建和后续扩展。
继续说阅读类APP,如果确定要通过摘录做切入点,那么摘录的来源可能是公众号推送的文章、群聊天记录、或者是自家服务号推送的活动信息,让你的小程序融入整个微信,并为后续服务升级、用户体系升级、变现模式、或者是衔接微信的其他功能服务留好余地。
(3)自有APP切入社交关系
微信的社交关系链是个大宝藏,从这个点切入和微信的使用场景做结合,用户也更好接受。而更有意义的是,利用微信小程序获取用户社交关系,拓展自有产品的业务模式和服务范围。
仍以阅读类APP为例,假设上述的摘录需求和社交做结合,在摘录中可以二次批注,相互交流,不断深挖,既能把主营业务和社交结合起来,又符合价值化、轻量化、略带浪漫主义情节的微信产品观。
(4)如果不能直接分享到朋友圈,那就换一个姿势分享
相信获取流量是各家都想实现的目标,分享功能依然重要。如果微信不允许直接分享到朋友圈,那么就在聊天上多下功夫,一个群聊内的分享并不一定比朋友圈差。又或者,使用其他手段将你的微信小程序暴露在朋友圈里,间接实现分享的目的。再次,还有扫一扫和搜索可以利用。总之,在不触犯微信规则的前提下,尽可能扩大你能接触到的用户范围。
(5)胜在轻巧
微信小程序的设计方案需要遵从轻巧的原则。这两个字要分开来看:一个是轻,即轻量,用户能够快速进入,快速享受到服务,快速离开,使用过程中没有心理负担;一个是巧,即巧妙,创意永远是制胜法宝,仅仅移植web或app的功能很难达到预期的目标,只有为微信小程序量身订制、富有创新、充满心意的设计,才能稳稳把红利抓牢。
「H5程序俱乐部」是一个专注微信小程序学习交流,相关外包/招聘需求信息发布的微信公众号。
「H5程序俱乐部」微信号:wxappclub 或者 微信扫一扫关注
探讨:微信小程序应该如何设计的更多相关文章
- 技术博客——微信小程序UI的设计与美化
技术博客--微信小程序UI的设计与美化 在alpha阶段的开发过后,我们的小程序也上线了.看到自己努力之后的成果大家都很开心,但对比已有的表情包小程序,我们的界面还有很大的提升空间,许多的界面都是各个 ...
- 规范抢先看!微信小程序的官方设计指南和建议
基于微信小程序轻快的特点,我们(微信官方)拟定了小程序界面设计指南和建议. 设计指南建立在充分尊重用户知情权与操作权的基础之上.旨在微信生态体系内,建立友好.高效.一致的用户体验,同时最大程度适应和支 ...
- 微信小程序开发系列二:微信小程序的视图设计
大家如果跟着我第一篇文章 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 一起动手,那么微信小程序的开发环境一定搭好了.效果就是能把该小程序的体验版以二维码的方式发送给其他朋友使用. 这个系列 ...
- 微信小程序 - 怎样合理设计小程序
假如我们无意中,把腾讯地图或者高德地图的管理Key删了! 关于定位的一切相关模块就都会报废! 接着呢?客户会找你,对你公司信任感下降,一系列问题接踵而来 最好的办法就是先预留key后台管理 “随时可以 ...
- [转]weui-wxss WeUI for 小程序 为微信小程序量身设计
本文转自:https://github.com/weui/weui-wxss/?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=tou ...
- 微信小程序全面实战,架构设计 && 躲坑攻略(小程序入门捷径教程)
最近集中开发了两款微信小程序,分别是好奇心日历(每天一条辞典+一个小投票)和好奇心日报(轻量版),直接上图: Paste_Image.png 本文将结合具体的实战经验,主要介绍微信小程序的基础知识.开 ...
- 微信小程序常见的UI框架/组件库总结
想要开发出一套高质量的小程序,运用框架,组件库是省时省力省心必不可少一部分,随着小程序日渐火爆,各种不同类型的小程序也渐渐更新,其中不乏一些优秀好用的框架/组件库. 1:WeUI 小程序–使用教程 h ...
- 微信小程序(应用号)资源汇总整理
微信小应用资源汇总整理 开源项目 WeApp - 微信小程序版的微信 wechat-weapp-redux-todos - 微信小程序集成Redux实现的Todo list wechat-weapp- ...
- 微信小程序(应用号)开发资源汇总整理 - 一直更新中
开源项目 wechat-weapp-gank - 微信小程序版Gank客户端 wechat-dribbble - 微信小程序-Dribbble wechatApp-demo - 微信小程序 DEMO ...
随机推荐
- Scrapy:用cmdline运行爬虫后导致主程序也结束——CrawlerProcesser
学习自: Scrapy官方文档--CrawlerRunner相关 解决django或者其他线程中调用scrapy报ReactorNotRestartable的错误 - liuxianglong - 博 ...
- Python:wordcloud
wordcloud官方文档 1.简介 wordcloud是优秀的词云展示的第三方库 2.导入模块 import wordcloud 3.wordcloud对象初始化 以下参数值均为官方文档给出的默认值 ...
- Leaflet:Path、Polyline、Polygon、Rectangle、Circle、CircleMarker
下边介绍Vector Layer Path(Layer) Path是其他Vector Layer的父类,比如Polyline.Polygon.Rectangle.Circle.CircleMarker ...
- LeetCode-001-两数之和
两数之和 题目描述:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标. 你可以假设每种输入只会对应一个答 ...
- LeetCode-024-两两交换链表中的节点
两两交换链表中的节点 题目描述:给定一个链表,两两交换其中相邻的节点,并返回交换后的链表. 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换. 示例说明请见LeetCode官网. 来源:力 ...
- vue监听有无网络
mounted () { window.addEventListener('offline', function ($event) { alert('offline'); }); wi ...
- 微信小程序获取当前的时间戳
js文件中进行计算var timestamp = Date.parse(new Date()); timestamp = timestamp / 1000; console.log(timestamp ...
- 微信小程序下滑时能实现加载更多数据
wxml代码: <view class="scroll"> <!-- 绑订页面上拉触底事件的处理函数onReachBottom事件 --> <scro ...
- 结合AngularJS实现拖拽
最近项目中要实现,左侧树向右侧树中元素的拖拽功能,开始在网上看了好多ng-drag等等操作,都没有实现预想的效果,偶然发现一篇博客,然后根据博客改编,实现了自己想要的效果.下面简单的分析一下实现过程. ...
- Redis 中的 set 和 sorted set 如何使用,源码实现分析
set 和 sorted set 前言 set 常见命令 set 的使用场景 看下源码实现 insert dict sorted set 常见的命令 使用场景 分析下源码实现 ZADD ZRANGE ...