为了让旅行少一些记账的痛苦,我自己动手做了一款 app:Numpkin
2023-7-19 15:56:26 Author: sspai.com(查看原文) 阅读量:18 收藏

高中毕业旅行之后,我做了一个多人旅行的分账 App

利益相关声明 作者与文中产品有直接的利益相关(开发者、自家产品等)

Matrix 首页推荐 

Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。 
文章代表作者个人观点,少数派仅对标题和排版略作修改。

编注:本文作者何正浩就读于北京邮电大学网络空间安全专业,在今年 WWDC23 前夕首次参加相关编程竞赛 Swift 学生挑战赛并顺利获奖。少数派也在 WWDC23 期间采访到了何正浩同学,并聆听他讲述了自己与少数派以及编程学习的相关故事,阅读采访原文


想法和开发历程

2021 年 6 月 9 日晚,也就是我高考结束第二天的晚上,我在回家的出租车上非常笨拙地处理着一个麻烦的问题。我和我的同学们狂欢了一天,由我代付了当天所有的支出,所以我需要算清楚每个人该转给我多少钱。然而,由于并不是每位同学都全程参与,这个过程让我感到有点麻烦。

当时,我使用 iOS 的备忘录和计算器,通过在两个 app 之间不断切换,来算清楚不同参与程度的人需要向我转多少钱,最后将备忘录截图发到群里(如下图,但当时在标题使用的单词 fee 其实并不正确,fee 一般用于描述正式的支付,如注册费、学费等,此处应该改为 cost 或 expenditure)。

当次聚会分账编写的备忘录

这个操作让我联想起几次旅行的经历。每一次和朋友旅行,由于以下的原因,算账都是一个让人头大的问题:

  • 在旅行开始之前,我们向一位「会帮我们代付大部分费用」的人预支付一笔钱。假设这个人叫 Alice
  • 即使我们向 Alice 预支付了一部分钱,在旅行过程中,还是有一部分支出由除 Alice 之外的人付款。例如当旅行团队人数比较多,某次行程打了 2 辆出租车时,Alice 没有乘坐的那辆车的车费,只能由在这辆车上的 Bob 付款
  • 不一定每个人都参与了每一个项目。例如,Alice、Bob 和 Cindy 觉得口渴,在路边的饮品店买了饮料,由 Alice 代付但 David 没有买
  • 即使参与了支出,并不一定每个人消费的数额都一样。Alice 买的饮料贵一点,需要 33 元一杯,但 Bob 和 Cindy 喝的饮料只要 19 元
  • Alice 代付了过多的项目,大家之前预支付的款项已经不够用了。所以又需要再向 Alice 转一些账。

这些复杂的情况,让多人旅行的结算变得非常麻烦。前几次的旅行,我的同伴们都是在旅行结束之后,在电脑上使用 Excel 表格来计算每个人应付金额的。这不仅操作复杂,还可能产生漏记的问题。

所以我想,可不可以做一个 app,实现这样的功能:

  • 允许用户记录「支出」,也就是每笔对外支出是谁付了款、这笔支出中每人实际消费了多少
  • 允许用户记录「内部转账」,也就是成员对于帮他代付的人,支付的预付款(或欠款)
  • 记录这些账目之后,能导出明细,并给出结算建议,即根据已有的外部支出、内部转账记录,计算并建议用户应该如何转账,让当前的欠款结清。同时能导出一个支出的明细,可供分享给朋友核对

这些想法让我很有开发出这个 app 的欲望,但当时刚刚高考完的我,并没有任何移动端 app 的开发经验。第二天(6 月 10 日),我在搜索如何入门 iOS 开发,正好看到了王禹效老师在少数派推出的付费栏目《创作者的 iOS 独立开发指南》。我觉得这个栏目非常适合我,所以在当晚就购买了它。

顺带推荐,这个栏目质量很高,内容非常全面,前几周少数派推出了它的新版本《100 小时后请叫我苹果开发者》。

经过几个月的学习,我在 2021 年底写下了这个 app 的第一行代码,此后也在一边学习一边开发。今年 5 月,我终于把它上架到了 App Store。在经过了我三次旅行的测试,以及上架两个月的用户反馈之后,我认为是时候在少数派向大家介绍它了。

隆重介绍 Numpkin

这个 app 被我取名为 Numpkin。这是一个以旅行、聚会事件为对象的多人分账 app。就以一次旅行为例介绍一下如何使用它吧。

怎么用

首先,你需要新建一个账单。在新建时,你需要为它设置一个名称,例如「2023 香港」表示这是记录 2023 年香港旅行时的账单。

你可以在「新增成员」文本框添加成员的姓名。每输入完一个名字,按下回车即可继续添加下一个。Numpkin 会为你自动生成成员的代表字符和颜色。订阅用户可以点击这个头像,自定义代表色和代表字符。

Numpkin 新建账单和编辑成员

当你的旅行团队对外支出了一笔消费时,你可以轻点主页右下角的加号,进入到新增支出的视图。

在这个视图,你可以设置代付人、备注、类别。你可以根据份数或比例,记录每位成员实际消费的金额,即使他们消费的金额并不一样。

例如,香港迪士尼乐园成人票为 639 港元,学生票为 475 港元,长者票为 100 港元。我们已经记录下团队中 1 位长者和 1 位学生的消费金额。当我们要记录成人(B、C、D)时,只需要轻点一次所有成人的头像,输入金额的数值(639),确保当前为「每份」状态,点击「记录」按钮即可。

关于「每份」与「总计」的区别:如果不选择「每份」而选择了「总计」,则会将 639 按照 1:1:1 的比例平摊给选中的 3 位成人,也就是会记录他们每人消费了 639/3 = 213 港元。

Numpkin 新建对外支出

当然,在同一笔支出中,可能每个人的实际消费金额,由多个项目组成。在这种情况下,你既可以在下面的数字键盘中,直接输入表达式,将他们以各种方式相加或相乘。Numpkin 会识别并计算表达式的数值。

你也可以在一笔支出中直接添加多个条目。例如,在前几天的一次超市购物中,我们三位同学一起选购,并最终一起结账,由 N 代付。我们可以针对每一个购买的物品,新增一条记录,并选择这个物品是谁实际消费的。(如下图)

当时我们三个人第一次见到清洁黑头的贴纸,出于好奇买了一盒(10 张)。但 10 张无法平分给 3 人,因此在清洁贴的条目上,你可以看到我们使用了 3:3:4 的比例,表示 N、L、H 三人分别分得了 3、3、4 张。

当有团队成员内部结算时,你可以将刚才的圆形按钮向上拖动到双箭头处释放,即可进入到新建对内结算的视图。如下右图所示,记录这笔对内结算,则代表 Alice 和 Cindy 分别向 Hzao 转账了 1000 港元。

Numpkin 新建对内结算

你可以随时在「账单信息 -> 结算建议」处获得结算建议。Numpkin 会根据你选择的结算中枢,建议各个成员应该向结算中枢支付或收取多少钱。通过向结算中枢收付款,成员可以一次转账结清所有应付款项。

你也可以导出图片账单明细。图片明细会包括支出、内部结算的记录,以及结算建议。因为导出的图片较长,直接放在正文不符合《少数派创作手册》的指引,你可以点击这个链接来查看我准备的一份图片账单明细(样例)

Numpkin 结算建议与图片导出

对于 iOS 系统地区设置不为中国大陆的用户,Numpkin 还提供了账单同步共享的功能。你可以端到端加密地共享你的账单,让朋友能实时查看最新的账单情况。Numpkin 想要解决那位帮整个团队记账的人的难题,也希望减少因为记账分工出现交叉导致的漏记或者重复记账,因此你的朋友只能查看而不能编辑这个账单。

Numpkin 账单共享

定价

对于免费用户,你可以同时拥有最多 3 个账单,每个账单中最多能记录 15 个条目(包括对外支出和对内结算)。这比较适用于日常的聚会、一日游等轻场景的使用。

如果你需要来一次长途旅行,你可以订阅 Numpkin Pro。这将会给予你以下功能:

  • 无数量限制的账单创建、条目增加
  • 完整的图片导出:你不仅可以将整个账单明细导出为图片(这是免费用户也能使用的功能),还可以选择具体的成员,只导出关于 TA 的账单明细
  • 账单分享:生成分享口令或二维码,好友加入即可实时查看最新的账单情况(系统地址设置为中国大陆的用户不可用)
  • 自定义成员头像:你可以选择每位成员的代表颜色和代表字符

最近看到一派的讨论话题《你更喜欢怎样为应用付费,订阅还是买断?》,有挺多感触。我也有过「开了年度订阅,但实际上根本没用过几天」的经历。

因此,Numpkin 最短提供「按周订阅」的选项,基本相当于你可以针对短期旅行「按次订阅」(毕竟大多数旅行不超过一周)在商业上,这是一个不那么明智的选择,因为本身免费版本就能够满足大部分日常使用,第一个付费的层级还这么低。其实对于 Numpkin 我还有一些想法没有完成,在此之前,就先交个朋友吧。

这是当前 Numpkin Pro 中国大陆区的订阅价格:RMB 5/周(按周订阅)、RMB 12/月(按月订阅)、RMB 25/三个月(按季订阅)、RMB 39/年(按年订阅)。如果你想要达到「按次订阅」的效果,只要你的旅行不超过两周,你都可以订阅周计划。如果你平常经常参与各种社交活动,并且总是会为大家记账、算账,欢迎你尝试年度订阅。

最后的话

Numpkin 是我边学边开发的第一个 app,它还有许多不完善的地方。比如:

  • 它的 UI 不好看,尤其是在 iPhone SE 等 5.5 寸屏幕的设备上。这确实是我这个(除了幼儿园的绘画课之外)没有任何美术基础的理工科学生揉出来的。
  • 暂时没有支持多币种,每个账单内只能使用一种货币。假如暂时有这个需求,你可以通过在记账时对数额乘以汇率进行转换。

但 Numpkin 也确实是打磨已久的诚意之作。它主要为那些在外旅行时经常帮整个团队付款或记账的人提供一个便利的工具,也不需要每个人都下载它。它是从我自己的旅行和聚会经历中得到的启发,涵盖了整个活动的各个方面:预付款、支出记录、同步共享、结算建议、明细导出。与此同时,它目前有一个比较交朋友的价格。

过去的半年里,我使用 Numpkin 帮助我的三次旅行进行了记账。我们不再需要纠结是否要先选一个人帮我们代付,也不需要专门腾出一个没有余额的支付宝账号;无论谁付,只需要在 Numpkin 中准确地记下代付人;旅行中途,可以随时新增内部结算;在比较复杂的记录场景,Numpkin 内置的表达式识别,可以让我们不再需要打开额外的计算器 app;在旅行的最后,也不再需要用一个下午的时间,在电脑上打开 Excel 表格,挨个记录了——直接使用 Numpkin 导出图片明细,并遵循结算建议即可。

希望 Numpkin 可以让你的旅行少一些记账的痛苦,也欢迎你到 App Store 体验它。

感谢你的耐心阅读!也感谢大家提供的交流和反馈。

> 下载 少数派 2.0 客户端 、关注 少数派公众号,解锁全新阅读体验 📰

> 实用、好用的 正版软件,少数派为你呈现 🚀

© 本文著作权归作者所有,并授权少数派独家使用,未经少数派许可,不得转载使用。

Hzao

喜欢影视和科技的独立开发者,做了一个多人旅行聚会的分账 app 叫 Numpkin。WWDC23 Swift Student Challenge 获奖者。


文章来源: https://sspai.com/post/80961
如有侵权请联系:admin#unsafe.sh