导出功能怎么设计?我有一个小做法
产品是一种思维,而不是技能。本文作者分享了自己关于导出功能的一些小想法,希望看完你对此有新的思考。
摆好架势,构思本文时的一个想法,结合我18年遇到的情况,验证了我17年的一个感悟:产品是一种思维,而不是技能。
17年,买过某某课的一个初级产品课程,看完感觉收获特别少,远不如看几篇优质文章有意义。后来陆续买过不少书,看过不少产品课程。发现一个共同的特点,那就是内容中的“中道理”占了大量篇幅,导致有效信息被稀释了很多,信息密度极低。
而信息密度低,是不符合用户买课程时的需求的。也就是说,凡是不好的课/书籍,其本身这个【产品】就不是一个好产品,又怎么能教别人做好产品呢?这是个悖论。
上面两段,是我的“中道理”,仅适合当下我的认知。为了本文的信息密度被稀释,本文讲个“小做法”,小做法是客观的,没有对错之分,只有具体场景下的优劣对比。
也就是说通过搜索功能看到本文的人,看完后是会有收获的。而不需要的人会被标题拦截,无需浪费时间来阅读。下面进入主题。
一、背景
假设,收集到一些反馈如下
- 财务需要对账,希望能导出订单数据
- 合作的企业渠道需要数据反馈,这里假设为有接口对接能力的渠道
- 合作的个人渠道需要数据反馈,这里假设为没有接口对接能力的渠道
- 业务团队需要计算绩效
继续假设,一顿操作猛如虎
- 深入调研需求细节
- 流程图、思维导图、5W1H、MECE、SWOT、SMART…分析完毕
- 小范围内部讨论,确定MVP版本,散会
二、动手
落子
这里的分析,是另一片战场。
需求分析的结论中:
- 导出条件需要灵活,目测可放到筛选区。
- 导出表头不能统一,财务和市场需要的导出表头不一样,目测需要表头可配置。
- 导出业务场景不同,仓库需要按商品为维度导出,财务需要按订单导出。
- …
以上,得出结论,导出功能放在订单列表的筛选区,打开订单列表页,模拟使用场景,发现放这里挺通顺的,开搞。
心里默念《七字真言》——增删改查显算传:
- 查:当前近30天数据是15万条,查询有压力。
- 显:查询可能需要跑定时任务,显示过程不能是一个临时弹窗,需要有个固定入口和页面。
- 传:导出文件可能偏大,会涉及到下载失败、断点续传、占用带宽等问题,需要提出给技术。
那我们现在给订单列表的筛选区增加一个导出按钮,和一个导出的固定入口,如下图(图中红线框中的是【带下拉框的按钮】组件):
PS:这一步其实挺重要的,通常需要对整个项目有全局的了解,才能找到合适的位置嵌入新功能。所以这一步应该由产品经理做,下面的导出弹窗可以给助理做。
第一步,表头配置
点击导出后,应该是一个弹窗,根据上面分析,弹窗上需要有个表头配置。
为了让财务小姐姐使用起来方便,还是给做成集成式的吧,不用一项一项的勾选。可惜市场的大哥们也跟着沾光了,哎。
那么,先去看看财务小姐姐的有些什么权限。
咦,根据财务的角色,Ta们的权限配置已经限制了只能看到部分表头,筛选项的下拉选项也已受限。
再对比一下市场大哥的角色,嗯,权限配置和他们提过来的表头需求完全一致。
好了,表头配置不需要,跟着各自的权限走就好了。
第二步,导出维度
导出维度,使用场景明确,也不存在其他关联性,是必要的,直接出图:
第三步,补充细节
那么,导出弹窗上还需要哪些信息?
导出和查询共用一个筛选区,只不过呈现结果的方式不同,那么使用场景是可以借鉴的。
通过观察(或经验),用户在浏览查询结果时,经常会回到筛选区,去确认一下筛选条件。那么导出时也相同,用户需要再确认一遍导出条件,如下图:
然后根据大家自身的业务场景,写一下特殊情况,和导出规则。如下图:
最后写导出规则时,发现【导出】按钮的文案有歧义,改了一下。
第四步,任务页面
前面说了,导出还需要有一个固定的页面来承载,同时也可作为上图点击【创建导出任务】后的反馈页面。前面已经有一个固定入口了,此处又有一个临时入口,那么导出任务的页面做成侧拉抽屉弹窗比较合适,可以多入口调用。这样,页面样式确定。
接下来是页面细节,由于任务页面是公用的,可以多人分别导出多条。导出过程需要一定的时间,需要加个导出状态。导出完成需要下载,下载后的文件名称也需要增加识别度…
一点一点的完善,顺理成章,这个页面就出来了,如下图:
在根据业务情况,如果任务偏多,可以增加筛选区、翻页器、删除功能……等等。
当然,必不可少的异常情况说明,也要列出来。比如日期为空时,不能导出;比如排序方式、下载速度限制、下载文件格式、下载文件名称。可以使用Axure的说明功能,如下图:
好久没写了,手生的很,最近准备宅家里多写写,恢复一下状态。同时又不给国家添麻烦,一举两得。
大家也都注意安全,防疫口诀要牢记,目前形势还是比较严峻,武汉加油!
本文由 @臣有bug揍 原创发布于人人都是产品经理。未经许可,禁止转载。
题图来自unsplash,基于CC0协议
真棒
有意思!👍
你好,想问一下导出功能跟新增一个前端页面来显示数据这两种选择,哪一种技术上的复杂性更低呢?
做的时候肯定前者简单,但是扩展性和适应性,肯定是后者更佳,后者耦合性也更低,可以作为独立功能。
做的时候肯定前者简单,但是扩展性和适应性,肯定是后者更佳。
按了下回车,回复就变成两条了…
挺好的,谢谢作者~
谢谢啦~
想问下,导出任务列表弹窗,点击右上角X,则关闭弹窗,那如果此时有正在导出的任务时,弹窗关闭了后,正在导出中的任务会暂停或者取消吗?
不会取消,这相当于任务管理器,关闭它不影响任务的运行。
为什么要导出任务列表,用户对后台逻辑是无感的,不应该减少这些页面和流程吗,导出后,还要再点击下载,对用户来说,导出就是下载,是一个功能,为什么要点两次才能得到我要的东西。其次,我在一个页面导出的东西,为什么还要跑到别的模块去看,有没有导出成功,再去下载?
七字真言那段有解释,多看看文字,别只看图,然后再评论。
你可以针对那几条解释做出评论。
单独的导出下载按钮在B端产品里面就是个鸡肋,我最近正好遇到这个问题了
同感同感
导出需要做Excel模版吗?
导出不需要,你只要确定了字段给开发就好。
导入需要模板,是因为系统只能认识你设定好的字段及格式,比如系统内字段叫“姓名”,用户自建表格表头叫“名字”,这就会导入失败。为防止这种情况,才提供固定格式的模板,供用户填入变量内容,确保字段正确。