app下载功能背后的逻辑

4 评论 5272 浏览 26 收藏 7 分钟

本文跟大家探讨下app的下载功能,也让大家更直观的理解功能和场景之间密不可分的关系。

目的

下载功能在app中十分常见,比如:腾讯视频app的视频缓存到本地、百度网盘的下载、手机软件更新的下载等等。很多情况下文件下载都是批量的,比如下载电视剧,软件批量更新。看似简单的一个功能其背后却有许多的逻辑需要产品经理去思考。所以今天探讨下app的下载功能,也让大家更直观的理解功能和场景之间密不可分的关系。

为了让阐述更直观,我们从一个场景开始我们的探讨。

用户场景

星期天的下午,小新躺在沙发上享受惬意的休息时光。他打开了某某app,依次点击下载A、B、C、D四个文件,打算好好利用剩余的休息时光。

排除下载异常和下载完成两种情况,正常情况下这四个下载任务的状态有三种:下载中、等待中、已暂停;且系统限制,只能有一个文件处于“下载中”的状态,其余文件需要处于“等待中”或“已暂停”。

假设此时A处于“下载中”,B、C和D处于“等待中”,如下图:

当小新点击任务A和任务B时,你觉得ABCD四个任务的状态会怎么变化?不妨停下来思考下,或者我们用一款app来具体研究下,这里就选择爱奇艺视频吧。

爱奇艺视频app逻辑

  • 当第一次点击A时,A变为“已暂停”,B变为“下载中”,C、D变为“等待中”,四者的优先级为:B>C>D>A;
  • 当第二次点击A时,A变为“下载中”,B、C、D变为“等待中”,四者的优先级变为:A>B>C>D;
  • 当第三次点击B时,A变为“下载中”,B变为“暂停”,C、D为“等待中”,四者的优先级为:A>C>D>B;
  • 当第四次点击B时,A为“下载中”,B、C、D为“等待中”,四者的优先级为:A>B>C>D。

如下图:

这种逻辑其实在app中是比较常见。尤其是视频类软件中(比如腾讯视频、爱奇艺视频)。因为在这一类软件的使用过程中,大多数用户高频出现的使用场景是下载连贯性的任务,且任务与任务之间有很强的优先级排列(比如下载电视连续剧,一般先下载的肯定是靠前的剧集,这也迎合了它边下边看的功能,再者倒着看电视剧的人确实很少),所以只要是在下载进程中,先添加的任务总会优先于后添加的任务下载。

这样设计功能更贴近实际的用户场景,也让用户更容易学习和理解。当然,功能的逻辑也并非一成不变的,如果这里小新打开的是百度网盘app,便会是如下另外一番景象了。

百度网盘app逻辑

  1. 当用户第一次点击A时,A变为“已暂停”,B变为“下载中”,C、D变为“等待中”,四者的优先级为:B>C>D>A;
  2. 当第二次点击A时,A变为“等待中”,B变为“下载中”,C、D为“等待中”,四者的优先级为:B>C>D>A;
  3. 当第三次点击B时,A为“等待中”,B变为“已暂停”,C变为“下载中”,D为“等待中”,四者的优先级为:C>D>A>B;
  4. 当第四次点击B时,A、B为“等待中”,C变为“下载中”,D为“等待中”,四者的优先级为:C>D>A>B。

如下图:

对比上面爱奇艺app图表,我们可以看出功能背后的逻辑发生了很大改变。因为在百度网盘的用户使用场景中,大多数情况下,批量下载的内容都是比较独立的单位,彼此之间并没有很强的优先级,用户点击任务最主要的目的是确定是否下载任务,而非优先下载该任务。

所以开发者认为依据下载任务触发时间的先后排列优先级,更贴近用户场景,同时又减少了对“下载中”任务的干扰,减少“下载中”任务的中断率也就一定程度上提高了下载效率,而对于该软件的用户体验度而言,下载效率绝对是一个重要指标。

总结

通过上面针对下载功能在不同app中的逻辑的对比,我们不难看出,一个功能背后的逻辑设计其实有很多种,而且我们很难定义哪种逻辑正确与否,但我们可以看出哪种逻辑更贴合当下场景。

我们在设计功能背后的逻辑时,一定要深挖实际的用户场景,选择最贴合大概率或高频场景的逻辑。

还是那句话:没有最好的功能,只有最合适的功能!

 

本文由 @追梦人 原创发布于人人都是产品经理。未经许可,禁止转载

题图来自Unsplash,基于CC0协议

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 欢迎关注微信公众号:pmdemoli (产品的魔力)一起学习一起成长!

    来自湖北 回复
  2. 爱奇艺视频逻辑,第二次点击A,你的前提是B正在下载中,二次点击A会直接让B的状态变更为“等待中”,继续下载A么?

    如果是这个结论应该是有问题的吧?
    正在进行中的下载不应该会被优先级高的恢复而终止~~

    来自北京 回复
    1. B会被中断的!对于视频类app最高频的下载是连续的剧集,这样设计可能更贴近实际的场景一些。简单假设下,A为某电视剧第一集,B为第二集。当在下载第二集过程中,当重新点击第一集时,是不是可以认为该用户其实第一集也需要看呢?如果这个认为正确的话,那么用户的需求正常情况下应该是先看第一集再看第二集,所以A最好在B之前被下载下来。当然这个也不是绝对的,只是考虑大多数场景的。 😳

      来自湖北 回复
    2. 结论有点问题,如果在下载第二集的过程中,点击第三集呢?第三集会被下载的。所以结论是反的:视频类app下载任务是相互独立的,彼此之间并没有很强的优先级。

      来自广东 回复