决定自己搞个家庭管理系统,纯属是被逼的。
技术是能动手的,但平时懒得折腾家里那点破事。家里两个孩子,一个学钢琴一个学画画,再加上老婆的健身课,我的加班会,每天都是一团乱麻。用微信群记事儿?屁用没有,信息一下就被表情包和闲聊顶上去了。试过那些第三方的日程软件?功能太多太复杂,老人家看了头晕,老婆也嫌弃。
忍了半年,爆发点来了。去年十一月,小儿子有个重要的面试,结果我俩都记错了时间,硬生生晚了一个小时。回来路上,老婆跟我吵得天翻地覆,说我根本不关心这个家。当时我就想,行,这比我任何一个SaaS项目都重要,必须自己动手做一个,把所有鸡毛蒜皮都管起来。
动手:从画板到破安卓手机
既然是为了家里方便,那就做成安卓应用,毕竟安卓手机便宜,人人都有。我直接搬出吃灰已久的笔记本,打开了安卓开发环境。一开始我没想搞得多么高大上,就是想着实现几个最基础的功能:
- 共享购物清单:谁买了什么,立马能看到。
- 日程提醒:家庭成员都能看见,并且能互相确认。
- 家庭开支记录:记账,不能老是稀里糊涂的。
我先是拉起了界面框架,用的就是最简单的原生组件,丑是丑了点,但是好用就行。本地数据库,我直接用了SQLite,因为它轻,而且操作简单。花了两个周末,我把界面的逻辑跑通了。那会儿,这个应用只能在我手机上用,数据完全是独立的。
最大的难关:云同步那点破事
把应用装给我老婆试用的时候,问题来了。她问:“我在这里添加了牛奶,你那里怎么没反应?”是,没反应,因为数据都在我手机里躺着。
我本来想自己搭个服务器,但我一想到要维护那玩意儿,头皮就发麻。我搞这个系统是为了省心,不是给自己找个新活儿。我还是屈服了,用了那个谷歌的Firebase云服务。
虽然我嘴上说不用专业术语,但这个“实时数据库”功能是真好使。我花了一个星期,啃下了Firebase的同步逻辑,把我们家所有的清单和日程数据都扔了上去。这样,只要家里任何一个成员操作了,其他人的手机上立马就能看到变化。
验收和家庭的和平
应用跑起来之后,我把它安装到了全家人的安卓机上。刚开始,我老婆还是不习惯,说我的界面配色太直男了,让我换成了大红大绿。没事,听老婆的话,换!
但效果是立竿见影的。现在家里的事儿,不用喊,不用问,打开“幸福家庭安卓”一看就全明白了。买菜再也没买重复过,孩子的接送时间也从来没错过。最重要的是,我们俩因为鸡毛蒜皮小事儿吵架的次数,直线下降。
以前我在公司做那些上亿的项目,费尽心思也没什么成就感。结果,就这么一个给我家自己用的土味安卓应用,让我找回了当程序员的快乐。我实践了,我记录了,我分享了。这才是真正的价值所在。
这个小应用还在不断迭代,我正琢磨着怎么把智能音箱也给整合进去,让家里彻底告别吼叫式沟通。