百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

为了让自己少熬夜,大学生花6个月时间做了一款App

csdh11 2025-02-13 11:42 29 浏览

胡逸飞是个00后,目前在苏州西交利物浦大学读大三。为了让自己少熬夜,他用6个月时间独立开发出一款手机App,量化睡眠数据。App上架后,一度登上苹果应用商店健康健美分区的前100榜单,还获得编辑推荐。很多用户使用他的App之后,对自己熬夜的情况有了更为直观的感受,胡逸飞的熬夜情况也有所改善。近日,接受扬子晚报/紫牛新闻记者采访时,他笑着说:“我这个‘熬夜星人’的入睡时间也提早了大概1个小时,希望能给更多人帮助吧!”

紫牛新闻记者 宋世锋

熬夜影响学习和生活

突发奇想开发App

胡逸飞是江西人,出生于2002年,目前在苏州的西交利物浦大学学习计算机专业。

上高中时,他不敢熬夜,怕影响第二天的学习,家里人也没有熬夜的习惯。离开父母上大学后,他的入睡时间变得越来越晚,尤其是有了手机之后,哪怕在深夜也会不停地刷手机。“高中时没有那么多电子产品,所以最多的消遣活动就是睡前和室友们唠嗑,看看书架上翻过好几遍的鸡汤励志文学,很快就能睡着。但上了大学后,我睡前总是忍不住用手机刷短视频……时间一晃可能就是一个多小时,于是常常熬夜。”

胡逸飞感觉熬夜影响到了自己的生活。每次熬夜后,第二天如果没有课,他会睡到10点左右,减少了上午的清醒时间,也意味着白天自由支配的时间变少了,“我每次熬夜之后,会觉得很后悔,上午感觉啥事都没干,一下就到中午了。” 胡逸飞发现,熬夜不仅是他一个人遇到的问题,身边的人都知道熬夜有很多危害,但往往一到晚上就会因为种种原因熬夜,白天又晚起,由此陷入恶性循环。

说干就干

把熬夜时间量化出来,督促大家少熬夜

学习计算机专业的胡逸飞,刚好有一门编程课,他一直想着开发一个App实战一下。因为之前关注到了熬夜的危害,又想着自我督促以实现改变,他某一天突然来了一个灵感:开发一个和睡眠相关的App。他想用这个App以一种可视化的方式,让人们感受到自己在熬夜,并且以此来减少大家的熬夜频次。这个App他取名StaySleep,有“保持睡眠”和“避免熬夜”的意思。

随着手机、手环等智能产品普及,借助数字助手量化生活成为一种时尚。“量化生活”这个词最早由美国《连线》杂志编辑加里·沃尔夫和凯文·凯利于2007年提出,指的是利用科学技术手段收集记录个人日常生活中产生的各种数据,并且进行分析和可视呈现,以此指导生活。

在“豆瓣网”上有“量化生活”小组,组员们有很多有趣的量化生活实践。胡逸飞注意到,有很多别人开发的量化工具,把喝水、睡眠、屏幕使用时间等都量化成了一些数字和图表,有时使用者为了合上健身App的圆环而特意去运动,为了记账软件的漂亮支出图而刻意减小开支,可以很明显地感觉到这些“量化App”提高了做事的效率,“于是我就想到了去开发一个通过量化睡眠时间来督促大家少熬夜的App 。”

开发StaySleep的灵感来源于2021年底,当时他偶然在朋友圈里看到别人转发的“通过填方格的形式记录睡眠”,内容是通过Excel把自己的睡眠时间填进表格,然后染色不同的区块,最终形成一个可视化的方格图。

作为计算机专业的学生,胡逸飞立刻认出这个方格图就是在程序员常用的开源项目托管平台GitHub上看到的贡献图。他感觉这个方法可以让人们直观地查看自己的熬夜和睡眠情况,但是使用Excel手动记录似乎太麻烦了,要是可以用一个App通过手机简单地记录与创建贡献图,会更方便。如果这样的App可以和其他睡眠记录软件及设备联动,就不用担心记录的准确度了。

自学编程从零开始,花了6个月时间开发

开发这个App用了6个月时间,他用了4个月学习相关的编程知识,因为当时他还有其他学业,于是每天抽出大约一个小时从零开始学习相关知识,那门课程到暑假刚好学完。在这段时间里,胡逸飞有了很多新想法,比如和好友竞赛看谁熬夜次数更少,记录并统计每天的睡眠地点……他把这些头脑风暴都记了下来,准备在App中慢慢实现。

他在今年暑假着手开发StaySleep,在1个半月的时间里,白天基本上都在研究这个问题,“因为有很多不会的东西要学习,有很多资料要查。”

因为是一个人开发App,所有的工作都要自己做,不仅要写代码,还要写文案、画宣传图等,“作为一个理工男,我实在是花了很久才憋出几张像样的宣传图。”

8月初,StaySleep正式进行公测,看着后台报名参加测试的用户逐渐变多,胡逸飞既高兴又焦虑。第一次公测结果不错,虽然没有收到太多负面评价,但他看着后台的400次启动中有40次闪退记录,还是感到很内疚。

8月18日晚,StaySleep正式在App Store上架,看着用户终于可以下载安装了,胡逸飞感到非常开心,“独立开发一款 App,也是我人生中的一个小梦想。”

在开发App的那段时间,他没有熬夜工作,“我把开发程序和其他活动分得挺开的,真正开发的时候,还是把它当做一份很正式的工作,固定白天做,晚上干一些其他的事。”

不过在提交App的那段时间,他确实熬夜了,因为第一次公测就获得很多反馈,有很多要修改的地方。

妈妈是App忠实用户

自己也早睡了1小时

StaySleep 是一款量化睡眠数据、帮助用户减少熬夜的软件,它可以自动读取来自智能手表、手环等设备和与App同步级苹果手机的睡眠数据,并用多种颜色组合成熬夜热力图。入睡越早,方格的颜色会越清新;熬夜越久,方格的颜色会越醒目,并以可视化的图表展现在App或者手机桌面上。

App内置睡眠提醒功能,可以在用户即将熬夜的时候发送通知,提醒早睡。现在数据可以直接从苹果健康里面导入,不需要联网,不存储用户数据。

胡逸飞先在小红书上宣传了一下,反响挺好,收获了挺多的用户,目前在小红书上的粉丝群已有将近500人。

在发布的前3天,StaySleep一度登上了App Store健康健美分区的榜单前100名,后来还获得每周推荐。那几天,他的社交平台“被潮水一般的反馈、建议给淹没了。”

很多人在持续用这个App后,会给他提一些很好的意见。有用户评论说,“第一时间下载了,并且导入了数据,一片红,常年失眠太惨了。”

胡逸飞的妈妈是StaySleep的忠实用户,“我妈很支持我,天天在用这个App记录睡眠,经常给我发她的一片红色的熬夜图。”

胡逸飞也用StaySleep记录自己的睡眠情况。不过他说自己没有早睡的习惯,但开发完这凌晨2点左右才睡觉,现在提早了大概1个小时。”

现在很多人对生活数据化也有争议,有人甚至想尝试完全脱离手机等智能设备来生活。胡逸飞承认,量化生活有时候也是一种负担,“比如我看到我的睡眠数据很差,或者看到还有很多任务没有完成也会焦虑。世界是多元化的,不能说谁对谁错,只有找到自己喜欢的生活方式,才是最好的。”

目前StaySleep只有苹果版本,没有安卓版本,因为这是两种不同的开发语言,对于他这样的大学生独立开发者来说,还没有能力同时做出两个版本。

在开发过程中他认识了很多朋友,收获了很多东西,他还有很多更新计划,针对苹果新发布的iOS 16进行改进。从零开始独立做出这个App,胡逸飞笑着说:“还是挺佩服自己的。”

栏目主编:张武 文字编辑:李林蔚 题图来源:上观题图 图片编辑:笪曦

来源:作者:紫牛新闻记者 宋世锋

相关推荐

探索Java项目中日志系统最佳实践:从入门到精通

探索Java项目中日志系统最佳实践:从入门到精通在现代软件开发中,日志系统如同一位默默无闻却至关重要的管家,它记录了程序运行中的各种事件,为我们排查问题、监控性能和优化系统提供了宝贵的依据。在Java...

用了这么多年的java日志框架,你真的弄懂了吗?

在项目开发过程中,有一个必不可少的环节就是记录日志,相信只要是个程序员都用过,可是咱们自问下,用了这么多年的日志框架,你确定自己真弄懂了日志框架的来龙去脉嘛?下面笔者就详细聊聊java中常用日志框架的...

物理老师教你学Java语言(中篇)(物理专业学编程)

第四章物质的基本结构——类与对象...

一文搞定!Spring Boot3 定时任务操作全攻略

各位互联网大厂的后端开发小伙伴们,在使用SpringBoot3开发项目时,你是否遇到过定时任务实现的难题呢?比如任务调度时间不准确,代码报错却找不到方向,是不是特别头疼?如今,随着互联网业务规模...

你还不懂java的日志系统吗 ?(java的日志类)

一、背景在java的开发中,使用最多也绕不过去的一个话题就是日志,在程序中除了业务代码外,使用最多的就是打印日志。经常听到的这样一句话就是“打个日志调试下”,没错在日常的开发、调试过程中打印日志是常干...

谈谈枚举的新用法--java(java枚举的作用与好处)

问题的由来前段时间改游戏buff功能,干了一件愚蠢的事情,那就是把枚举和运算集合在一起,然后运行一段时间后buff就出现各种问题,我当时懵逼了!事情是这样的,做过游戏的都知道,buff,需要分类型,且...

你还不懂java的日志系统吗(javaw 日志)

一、背景在java的开发中,使用最多也绕不过去的一个话题就是日志,在程序中除了业务代码外,使用最多的就是打印日志。经常听到的这样一句话就是“打个日志调试下”,没错在日常的开发、调试过程中打印日志是常干...

Java 8之后的那些新特性(三):Java System Logger

去年12月份log4j日志框架的一个漏洞,给Java整个行业造成了非常大的影响。这个事情也顺带把log4j这个日志框架推到了争议的最前线。在Java领域,log4j可能相对比较流行。而在log4j之外...

Java开发中的日志管理:让程序“开口说话”

Java开发中的日志管理:让程序“开口说话”日志是程序员的朋友,也是程序的“嘴巴”。它能让程序在运行过程中“开口说话”,告诉我们它的状态、行为以及遇到的问题。在Java开发中,良好的日志管理不仅能帮助...

吊打面试官(十二)--Java语言中ArrayList类一文全掌握

导读...

OS X 效率启动器 Alfred 详解与使用技巧

问:为什么要在Mac上使用效率启动器类应用?答:在非特殊专业用户的环境下,(每天)用户一般可以在系统中进行上百次操作,可以是点击,也可以是拖拽,但这些只是过程,而我们的真正目的是想获得结果,也就是...

Java中 高级的异常处理(java中异常处理的两种方式)

介绍异常处理是软件开发的一个关键方面,尤其是在Java中,这种语言以其稳健性和平台独立性而闻名。正确的异常处理不仅可以防止应用程序崩溃,还有助于调试并向用户提供有意义的反馈。...

【性能调优】全方位教你定位慢SQL,方法介绍下!

1.使用数据库自带工具...

全面了解mysql锁机制(InnoDB)与问题排查

MySQL/InnoDB的加锁,一直是一个常见的话题。例如,数据库如果有高并发请求,如何保证数据完整性?产生死锁问题如何排查并解决?下面是不同锁等级的区别表级锁:开销小,加锁快;不会出现死锁;锁定粒度...

看懂这篇文章,你就懂了数据库死锁产生的场景和解决方法

一、什么是死锁加锁(Locking)是数据库在并发访问时保证数据一致性和完整性的主要机制。任何事务都需要获得相应对象上的锁才能访问数据,读取数据的事务通常只需要获得读锁(共享锁),修改数据的事务需要获...