2015 写于印象笔记
概览
这是一个结合了番茄工作法、todo列表等反拖延模组的任务管理系统,与其他系统的不同之处在于,它支持大量的反拖延模组,可以选择适合自己的模组增强完成任务的反馈,让生活更接近于游戏。
面向用户
被学校、公司安排了很多必做的硬性日程,但又想安排时间自己做独立项目或自学的学生、职业人士。
工作流
- 输入任务
- 通过反馈模组看到不完成任务的后果、完成任务的好处
反馈模组
- 生活成本统计,告诉你每拖延一秒你会浪费多少实际成本还有机会成本
- 人际关系概览,告诉你你拖延的这件事情和哪些人有关
- DeadLine倒计时,用进度条等形式告诉你你还有多少时间就要挂了,最好标注出其中你还得花多少时间睡觉
- 替代任务,如果实在熬不下去你可以从中选一件事来做,可以是休闲娱乐也可以是鸡汤书籍
- 模因回落,当被某种欲望占据脑海时,可以打开某个模因源暂时感染大脑,通过模因感染转移注意力,帮助大脑从危险模因感染回落到一个较弱的模因感染
- 番茄工作法,把任务切割成带下课时间的短任务
- 自我提升任务,把当前任务做完之后你就可以做,用来自我奖励的自我提升任务
- 任务依赖关系,让你意识到只有完成了这个任务你才能做另一个任务
- 时间利用统计,让你看到你已经在某件事上花费多少时间了
- 健康关怀任务,根据预先设置提醒你喝点水磕点药吃点东西保证血糖和健康,从生理上反拖延
- 环境抽离,建议你到附近走走或是上个厕所倒倒垃圾整理一下书桌,离开电脑手机或是书,让自己有时间自我反省产生愧疚感
- 啥也不想做,输入一个理由,推开一切事务并告诉你你大概有多少时间可以浪,超出就会毁掉你的生活
- 任务笔记,记录做一件事的步骤,实现机械化操作并透彻了解这件事减少未知恐惧带来的拖延冲动
- 5分钟策略,留出两三个小时的时间用来休闲,但是在开头处你必须做5分钟正事
- 技能树系统,明确告诉你做这件事让你有了哪些提高
- 为实现愿景而奋斗,显示现在做的事情是为了实现什么目标,为这个目标你已经投入了多少沉没成本
- 软文洗脑,用模因学软文告诉你做这件事对找女票的好处、以前没做这事的人后来有多惨,激发情绪
- 帅哥美女图片加标语,通过把美貌异性和标语联系在一起来影响人脑对于重要性的判断
- 任务完成奖励,设置不同的喜欢做的事情对应的等级,只有完成了不同等级的事情才能做喜欢的事
- 财务控制,根据完成的任务数量和质量决定你这个周期能花的生活费
- 自我证明,显示已经完成的任务和它们的意义,可以给完成的任务填重大意义,向未来的自己吹牛逼,证明自己行
回忆冲刷,抽调小时候或过去做某件事时特别爱听的歌,放出来激发回忆,冲刷掉引发焦躁和欲望的那些模因。
人丑人傻多读书,用算7x8次方的4阶导等快速智力测试来给人挫败感,还有面部识别自动打分让人知道应该多读书
人际关系概览
你的任务会用图的形式关联到认识你的那些人身上,而且这些人身上还会显示你事先写好的「女神特别喜欢物理好的男生」「老师笑着把这个任务交给我」等等带有感情色彩的话语
5分钟策略
很多拖延者通常面临过这样的场景:
- 工作必须找到状态,工作的环境必须近乎于理想
- 我只有在自己想工作的时候才能工作
- 要么不做,要做就必须做到最好
- 我必须领先于他人,把一切事情都纳入掌控中,不能有瑕疵,否则我就会失去所有机会
- 我要等一个合适的时间或机会才能开始
软文洗脑
就像我们用对孩子说的:“好好刷牙,不然你的牙齿会掉光”。 我们也可以找或是自动生成一个不写毕业论文结果最后成为被NTR的Loser的故事,试图把人本能情感关联到任务上。针对上面这些情况有个很好的办法来解决这个问题,如果一项事务你已经拖延了一段时间还没有开始,那你可以在当天的任务清单加几个5分钟时间专门用来进行这项事情,只要坚持5分钟,就可以停止,然后去做别的。比如说你可以开始进行5分钟,然后去玩游戏、看小说、聊天、看美剧,具体的次数不限,可以是2个也可以是10个。只要定下时间就一定要去执行,这个时间越早越好,第一个最好是当天早上一起床或刚到公司。因为只需要坚持5分钟就可以做其它事,然后不会给自己找什么借口。只要你开始做下去,就会发现坚持5分钟之后,状态就来了,然后一口气工作下去。一天中多做几次,就能把一直拖延的事情进行下去。5分钟这个时间段最适合我自己。这个时间段可以是3分钟、5分钟、10分钟、15分钟,关键要看你的情况。5分钟策略这种方法需要反复练习,一直练到形成条件反射。当你发现自己处于拖延场景时,马上停下手中的一切事情,开始一个5分钟。或者在闹钟上定上一个5分钟计划,时间到了立刻开始,拒绝所有的借口,不管你找什么借口,一定要做完这个5分钟再做其它事情。
帅哥美女图片加标语
可以用现实的帅哥美女图片,也可以用二次元萝莉、热水瓶(如果你是热水瓶控),加上一条自动提供或自定义的标语。
实际用例
早上起床,打开应用看到第一节课是电磁学, 08:15-09:00 但应用同时把从宿舍到学校的交通时间也标了出来,表示这一大段时间一般没法做另一个碎片任务了,但因为做公交车并不需要多少注意力,我还是可以把一个特殊任务 记录今天早上的梦 叠加在了从宿舍到学校的交通时间上,想边坐班车边做一点积累。晚上有关于逆转录病毒的讲座,我点击讲座,把它所占用的时间调整成零,意味着我不想去了,这样连原来占用的交通时间也一并节省了,但转念一想今天要签到,我就用undo功能把刚才的动作撤消了,重新把讲座减到只剩最后15分钟,这样虽然要花一点时间走到学校再走回来,不过毕竟保障了学分…… 此后我把自学机器学习的任务拖到了讲座之后,因为我一般只能耐心学一小时,而且每节课时长15分钟,所以番茄子系统自动根据过往信息为它设置了两个30分钟的番茄时间。当我把自学机器学习的任务拖到日程表上后,它提示我线性代数似乎是机器学习的前置技能,问我要不要先学习前置技能还是学过了,我点了是,于是机器学习被替换成了两个25分钟番茄的线性代数自学任务并提示我小学数学似乎是线性代数的前置技能,问我要不要先学习前置技能还是学过了,我没理它。之后现在它默认我是不学,而发现我一段时间之后还学得懂线性代数,它应该会推理出我学过小学数学了。我最近要写一本书叫《Neo4j从入门到精通》,我给它设置了两个前置技能:学完Neo4j官网上的教程,然后做一个小项目练习。把这个任务加入todo池中后,我突然想起最近有个任务,是要帮朋友做一个网站,我便将 做一个小项目练习 替换成了 todo池中的 帮朋友做一个网站,形成了一个更复杂的任务依赖关系,看到了学完Neo4j官网上的教程的重要性 如果不赶快学完,后面这么多事情就要拖着了。我在上英语课前,打开课程表,点击英语课,打开了一个待看列表,让我可以点开看事先准备好的b站视频。角色列表中有设计、上科大学生、lol玩家三个项目,分别有设计海报和上大课、撸等todo,今天老师突然说ddl提前了,让我先做设计任务,我懒得把事情一个一个往前调,于是就把设计师的角色往前提,第一个位置是当前项目,于是设计海报的任务就自动往前挤,把撸的任务给挤掉了。有时候我懒得自己挑任务,我就把项目名拖到空闲位置,系统就自动为我提供了一个事情做。添加新任务的时候,我先输入任务名 去写数学分析作业 按下回车,然后输入项目名,再加个#,然后输入fx,输入框下面就弹出一个选单,可以选择前置任务‘复习数学课’或前置技能‘丰胸’,或是相关的同学,可以用↓键选择,然后我在后面加了个@ 。在输入框输入时按下 tab 键,就会弹出选项窗口,在里面可以选择事件重复等选项,而且还可以通过 tab 移动到下一个选项,最后能移动到「提交」按钮上,再按下回车就可以提交了。我洗完澡之后,感觉去洗澡的流程可以优化,于是我就在洗澡事件上添加了步骤信息,下次到洗澡的点,这步骤信息就自动跳出来提示我,按这个步骤可以节省时间,同时防止忘带浴巾等等。
功能性需求
数据库设计
数据库由三种元素组成:
- 物元, 也就是学生、物品等等
- 事元, 也就是各种待办事项或是即将发生的todo
- 关系元, 即前两种节点之间的关系
每种元素都能附加属性和标签:
- 物元
- * \#标签有 Student Person name:这个物品的称呼,或是人名
- * url:这个物品如果有url的话,这个url指向它的资源地址
- 事元:
- * \#标签有 Lesson Lesson\_altered
- * json:一个符合fullcalendar标准的javascript对象
- * id:用于表示同一类事件,比如一个讲座和同一个但是被逃掉的讲座,后者是前者的继承物,所以拥有同样的id
- * repeat:带有Monday、20:33之类的时间点,表明每周或每天重复
- * date:如果这事儿只发生一次,就会有这属性
- 关系元
- * \#类型有 HAS\_CHARACTERISTIC
- * name:表示物元父节点是在哪个角色里拥有的这个事元子节点,也就是角色名
- * INHERIT 表示事元之间的继承关系
- * done:表示此事件完成次数,应保存字符类型,需要+1时应该取出后 str(int()+1)
- * ruined:只有被完成的单次事件,或是以后不再做的循环事件,才拥有这个属性
当对某物元添加重复任务时,物元 HAS\_CHARACTERISTIC 到一个事元,事元带有repeat属性,每次完成后done+=1,当被移除时,事元节点不会被删除,而是给它添加一个ruined属性 值为True
功能UI原型图及交互
待议
接口与表单数据要求
前端post传递账号密码给后台,后台验证并传递任务列表和todo池 by JSON,任务列表中的任务和空闲时间用带起始时间属性的标签表示,前端获取任务列表和todo池。前端修改任务列表,传递空闲时间标签和从todo池拖来的任务标签给后端 by XML,后端检查任务标签的依赖、过往学习的番茄信息并返回给前端 by XML,前端获取。
业务流程
登录后,用户在页面上添删改查任务和任务列表,页面与服务器用AJAX交互,服务器与数据库交互。如果用户与印象笔记等笔记软件进行绑定,则可用印象笔记等账户登录,数据除存储在数据库中,也以XML等形式在笔记软件中备份。
可能添加的功能
- 轻生活模式:
- # 任务输入使用语音
- # 可以为事情设置deadline,隔较长时间提醒一次,只是为了让对方知道deadline在那边而已,而不是催对方完成
- 角色模式:设置某个时间段只能扮演某个角色,做某些任务,用某些资源
- 任务之间两档依赖关系:有些事只能在另一件事做完之后才能做,有些事在另一件事做完之后可以做得更好,前一种依赖关系应该自动添加任务保证你在上数学课之前写完了作业,后一种会把所依赖的任务放到todo列表的最上面
- 可下载任务对应资源:例如打印任务,可以上传文件到收发室下载打印,物理实验任务,可以打开事先做好的数据处理程序