硕鼠的博客站

范路的博客主站,时而会发些东西。

Posts Tagged ‘时间’

帮助人们实现梦想的系统

前文已经写了很多内容,那里面其实已经将系统的结构和工作方式都讲过一些了,但是这里还是想再将这两个部分分拆开来,分别讲述一下。

本文主要是想要讲解帮助人们实现梦想的系统,可能会拥有哪些模块,哪些参与者,以及这些模块和参与者之间是如何在系统中进行互动的。

本文包含的内容,应该会比use case稍微丰富一些吧。

以后应该还会找时间再写一写这个系统的开发、发布和运营的步骤,也就是说如何一步一步的开发并推广这个系统。

1 系统结构

1.1 梦想故事展示

这应该是一个用于展示梦想和成功故事的portal类网站,依靠SEO,吸引那些有梦想或对相关主题感兴趣的人们,进入系统。

1.2 计划的录入

用户可以自己编制并录入一个计划,也可以是一些专门提供计划协助的个人或机构,提供相关的计划。

同一个项目,可以有很多并列的计划被录入进来,比如学习英语,会根据目的、时间、地域等条件进行细分。每一个细分,也都可以有很多不同的协助者,提供不同的计划。

用户可以将自己执行成功的计划,也分享出来,供其他人尝试。

1.3 测评系统

系统提供用户测评的功能,并能够帮助用户了解其自身在某一特定领域的知识或技巧掌握的程度。系统可以允许那些提供计划辅助的个人或机构,根据格式要求,录入新的测评项目和题目。测评的结果,可以是系统自动评定,也可以由特定的测评人给出主观评定。

测评系统仅仅是提供一个测评的规则体系平台。

1.4 计划的搜索和推荐

当用户有了某方面的梦想或对某些梦想感兴趣之后,系统会根据梦想的描述,给出实现该梦想的计划列表,并在列表中对提供计划辅助的个人或机构进行筛选、排序和推荐。

1.5 计划任务系统

根据用户的生活、工作情况,根据附近计划协助个人或机构的服务能力和排期,根据用户所选择的计划,进行细节调整。并确定最终要执行的计划。

监督用户执行计划,询问用户计划执行过程中的反馈,并根据反馈,必要的时候,在计划协助个人或机构的协助下,调整后续计划。

1.6 Social分享

根据用户的设定,将计划执行过程中的信息,分享到social network中去。

2 相关的人和角色

2.1 提供计划的人

提供计划的人,也就是上面所说到的计划的协助个人或机构,比如培训机构、健身教练等。他们将是这个系统的受益人。

2.1.1 提供计划

提供计划的人,要做的第一件事情,就是提供计划。一个驾校可以培养驾驶员,那么他们就需要录入一些培训计划。比如多长时间,多少钱,在什么地方培训,培训的相关条件,自己的资质,历年的通过率等等信息,以便用户进行挑选。

2.1.2 辅助用户执行计划

在线上或线下协助用户完成计划。比如培训或训练等等。

2.1.3 对用户在执行计划中的成就进行评定

录入评测系统中的评测项目和评测题目,评测方法。让用户可以自主或在协助下进行评测,衡量自己在某一个领域的知识、技能或体能等其他可以进行评测的项目的水准。

某些评测也可以在线下进行,然后将成绩记录到系统中也是可以的。比如驾校的交规是可以进行线上模拟的,而真正的交规考试、桩考和路考则必须是在系统外进行的,然后登记成绩。

2.1.4 提供成功故事

提供一些成功故事,以便在用户选择的时候提高被选中的机会。

2.2 浏览和讨论梦想故事的人

总有一些好事者,是会跑来看热闹的,看看有什么有趣的东西。他们不会很深入的参与到系统中去,但他们也是有可能转换成用户或计划提供者的,虽然转换率可能会低得惊人。系统的一些PV、IP、广告栏位价格等,可能也需要靠这些人来冲击。

2.2.1 通过SEO或Social Network进入

这些人通常是通过搜索或社交网络上相关的信息,进入系统的。所以系统的SEO和Social Network分享做得好不好,就是能够吸引到多少路人甲的根本了。

2.2.2 浏览梦想故事

这些人可能会浏览梦想故事,评论梦想故事,并根据系统的格式要求记录自己的梦想故事,然后再分享出去。

当某些梦想故事非常吸引人的时候,这些路人甲也可能订阅这些故事,时刻跟踪故事的最新进展,比如美国的地狱厨房和减肥达人等真人秀节目,其实就是这种可以被订阅的故事。

2.2.3 用户转化

如果这些人受到梦想、成功故事的感召,也想要实现一个什么计划。这个时候,就需要录入详细的身份信息,完成注册的过程,成为一个用户。

当路人甲也希望能够录入一个计划,并协助其他人来经过这个计划实现某种梦想的时候,这些人就会转化为一个计划录入者。

2.3 用户

大多数系统总是喜欢将那些支撑整个系统运行、支付费用的家伙,叫做用户。系统设计的目的,就是为了这些用户服务的,再决定功能的取舍时,唯一需要考虑的问题,就是这个功能是不是用户的根本需求,或这个需求是否会影响到用户的最终体验。

这是一个帮助其他人实现梦想的系统,那么用户自然就是那些有梦想,并愿意在系统的协助下实现梦想的人们了。

2.3.1 搜索相关的计划

用户会提出一些梦想,也就是搜索一些计划。系统会根据用户的梦想,向他们推荐一些可供选择的计划。

2.3.2 选择并调整计划

选择了计划之后,下一件事情就是需要根据用户和计划协助个人或机构的安排,进行计划细节的调整了。比如用户某一个阶段比较忙,或者身体状态不是很好,那么就需要进行调整。并不是所有的计划都需要其他人的协助,可能大部分计划都是用户自己就可以自主完成的。但是那些需要其他人协助的计划中,计划协助个人或者机构作为任务系统中的一种资源,肯定不可能是无限的。比如羽毛球教练、场地就需要进行事先的预定。驾校里面的师傅和教练车肯定也是有承载限制的。

系统在这个时候就要协助用户调整计划。并最终确定下来计划的各个细节。比如:学习驾驶需要非连续的40天时间,系统会帮助用户和驾校协调具体是从什么时候开始的哪40天时间里,来完成这个训练。

2.3.3 执行计划

这部分应该和传统的任务系统基本是一致的,提醒用户按照计划进行执行。询问用户或计划辅助个人或机构,用户执行计划的情况。

和普通任务系统不同的地方在于,普通任务系统如果发现任务的执行情况和计划不符,则会自动对计划进行调整,任务系统的管理者会在他认为必要的时候,主动的去修改后续计划。而这个系统里面没有管理者,所以系统就会根据计划执行的情况,询问用户和计划辅助个人或机构,是否需要调整后续计划。用户和计划辅助个人或机构会在协商之后,对计划后面的部分进行得到双方确认的调整。

2.3.4 参加测评

用户有了梦想,在选择计划,选择计划的不同阶段(比如围棋初级、中级、高级班),选择不同的服务商的过程中,计划执行的过程中,或计划结束的时候,都需要对自己的水准进行评测。以便准确的掌握自己在梦想之路上的具体位置。

2.3.5 向协助者支付费用

这个系统的现金流应该有两个源头:

第一个是辅助性质的,也就是广告收入。帮助那些提供培训服务的机构和个人,宣传他们的计划。广告和搜索推荐算法是绝对隔离的,不会出现广告影响推荐结果的情况。因为那并不符合用户的需求,会降低用户的使用体验。

第二个,也是支撑这个系统运转的根本将是用户向提供培训服务的机构或个人支付的费用。系统将从这个费用中进行非常低比例的抽成。

为了避免线下交易,必须是完成线上交易的用户才能对培训机构进行点评,而这个点评的结果将计入推荐算法,影响推荐算法上面的排名。

这个系统中的计划,大部分应该是免费的,是不需要用户支付费用的,也没有专人在计划执行的过程中提供很多的线上或线下的辅助。那些培训机构也可以提供以培训视频和自主测评为基础的免费培训计划。也可以在培训过程中提供一些纸质书籍或材料,通过培训课程在线上销售这些培训资料。

对于那些需要辅助人员参与的,需要付费的培训课程,也可以提供一些免费的试用体验课程。体验课程可以是视频教学,也可以是定期的线下示范课。

计划的辅助个人或机构,可以通过线上或线下的方式,为用户提供培训或教育。并通过测评的结果,来评定培训的成果。

计划的付费可以分为几个类型:

  • 完全免费的线上学习,可以使用一些智能程序来进行线上辅助,也可以辅以很少量的线上专人辅助。
  • 少量付费,有专门线下资料的培训,辅以大量的线上资源和线上专人通过IM或VoiP、视频通话等方式提供的辅助。
  • 适中付费的线上专人课程。
  • 较高付费的线下课程和活动。

几种方式可以结合进行,比如先进行完全免费的试用和体验,然后根据用户的要求对几种课程进行调配。

2.3.6 将计划执行过程中的成就分享到Social Network

用户可以设定,将计划执行过程中的信息,分享到那些Social Network上面去。系统会在用户完成某一阶段的计划之后,或参加了某些测评之后,提示用户进行分享。

2.3.7 横向的比较,得到更多的成就感和游戏性

学车的时候,是有师兄弟的。在学习过程中,在Social关系谱中,在同一个计划的同学中、在同类计划、同地域的学习者中,就可以进行比较。比如某某人时在学开车过程中,某某地区、某某驾校,或亲朋好友之中,是学习倒库速度最快的一个家伙。可以将不同时间段学习同一个课程的人放在一起比较,也可以将不同地区的人放在一起进行比较。

总之是希望增加用户在执行计划,实现梦想过程中的成就感和游戏性。从而促进用户更好的实现梦想。

系统可以组织类似于地狱厨房或减肥达人那样的淘汰赛事,从而实现更加彻底的游戏性。

2.3.8 完成计划,并将过程自动汇总到梦想故事中

在计划完成之后,系统会自动的将用户实现梦想的过程汇集成梦想故事。并在用户允许的情况下,发送给用户指定的人群。系统可以将故事按照不同的详细程度公布在梦想故事的模块中,比如完整的故事,或去掉名字的完整故事,或仅仅是成为某个培训机构的一个统计数字。

2.3.9 用户和协助其完成计划的个人或机构,进行相互点评

要实现系统的平衡,那么就需要有一套点评系统。用户和培训服务机构之间的双向点评。这些数据将协助双方进一步的进行选择。用户会选择那些优质培训机构,而培训机构也会去优先选择那些优质的,诚信的客户。

3 任务系统中计划的描述方式

3.1 计划就是一个个的状态机

计划将是一种穿插着自我学习、辅助学习和各种测评的状态机。

计划可以是封闭或开放的。所谓封闭计划,就是那种有终点,执行完成之后,进行考核的计划。开放式计划则是没有终点的,可以一直坚持下去,也可以由用户自主的选择放弃执行。

计划可以分层次,可以设定基础计划和后续推荐计划。比如,如果想要学习Android开发,则必须要熟悉Java语言编程。学习过了Android开发之后,还可以推荐一些更进一步的学习计划。

3.2 计划的标定方式

计划可以进行描述和标签标定,这些标签有些是可以量化的,有些则不是。比如下一期还可以接受多少学员,就是一个量化标签,通过率也是量化指标。讲解清晰,资深专家等等就是非量化标签。对于那些非量化的标签,可以通过自评和用户的点评,通过加一减一的方式,来实现量化。然后根据所有量化的指标,在用户搜索计划的时候进行推荐和排序。

4 成功故事的形成

4.1 将用户执行计划过程中的故事,穿插成一个完整的脚本

系统会在用户执行计划的每一个环节,都去鼓励用户保存一些他们的感受。如果他们将这些感受分享到了Social Network上,那么还会自动的收集这些信息在Social Network上所得到的反馈。

系统会自动记录用户计划执行过程中,得到的各种成就。

成功故事就是根据用户在执行计划的过程中保存下来的感受,分享出去得到的反馈,以及执行计划过程中该所得到的各种成就,自动生成的。在生成的过程中,用户可以自己进行加工和调整。成功公式是以脚本的形式来存放的。即使是一篇完整的成功故事也是可以根据脚本重新拆解成一个个节点和片段的,进行重新的组合和排列。

成功故事是可以续的,当一个人学习了初级厨师、高级厨师、中式面点、西式面点之后,他的成功故事应该是一个完整的故事,而不应该是一个个分离的故事。当这个人取得了有某个已经实现了的梦想相关的成就时,也可以将这个成就补充到那个成功故事之中去。比如某人学会了飞行驾驶,然后驾驶单人小飞机穿越了什么什么地方,并拍摄了什么什么照片或影片。这些就可以记录到那个学习飞行的梦想故事后面。

4.2 计划提供者可以提供一些符合格式要求的成功故事

那些提供计划的人或机构,也可以提供一些没有经过系统,而是完全在线下培训过程中发生的成功故事。

4.3 对故事中的环节提出异议,并进行讨论

如果某些人对梦想故事中的某些节点存在异议,可以对其提出异议,大家可以针对某一个节点,进行讨论。

4.4 允许浏览者提交其他成功故事

即使不是用户,也可以提交一些他们自己的成功故事。并不一定非要进行注册。

5 总结

好像又停更很长时间了。最近在忙盛大云计算大赛的事情,我负责去点评所有的作品。里面有不少作品都提到了学习和帮助别人实现梦想。看来这是一个很多人都在关注的热点啊。

不能保证下一篇什么时候出来,只能说我也是希望尽快的。本文讲了系统的一些基础架构,下一篇希望能够讲一讲这个系统的实现过程。当然也可能下面会写一些其他的东西,然后再继续写这个系统的下一篇博客。

帮助人们规划人生、实现梦想的系统

这个标题看起来好像太大了,也太痴人说梦了。其实这里要讲述得是一种基于任务管理系统的扩展方式。前面已经有很多文章讨论过任务管理系统了,这应该算是一个延续吧。
这里要讨论得并不完全是传统意义上的任务管理系统,可以说是一种帮助人们实现其人生梦想得系统。人们并不一定希望受到计算机或软件系统太多得约束,但他们确实有很多想要实现的人生梦想。

记得小时候总是被教育说:君子立长志,小人常立志。也就是说那些道德高尚的人,会树立远大得目标和理想,然后坚持不懈的一直执行下去;而那些反面典型,则会经常树立各种人生目标,然后再不断的放弃。
就像每个人从小到大都在被教育着:“君子立长志,小人常立志。”一样,其实每个人都希望能够成为一个君子,他们身边的父母亲朋,也都希望他们能够成为一个君子。这就是这个人,以及他得整个社交关系群体对他得期盼。

当然,按照古人的想法,成为一个君子并不是那么容易的事情,这其中是包含很多方面的修养的,仅仅是立长志肯定是不够的。经过古人的总结,并不断将这些总结记录在圣贤书里面,代代传承,如何成为一个君子,是有很明确规范的,有一整套的培养体系和计划。
这里要讨论的肯定不会是如何成为一个君子,那是国学大师们的事情。这里要讨论的是,如何能够帮助人们实现他们的梦想,能够让他们成为自己和身边所在意的那些人们所共同期望的那个人。

让我们看看当一个人要立志成为一个君子的时候,是怎么做的吧。首先,这个决定通常并不是这个人自己独立做出的,而是在身边人们的建议和影响下做出的。
那么这个帮人实现人生梦想的系统要做的第一件事情就是要向使用者推荐一些有趣的、有意义的,被身边的人所认可、推崇的人生梦想。
这个过程可以进行协同过滤,也就是说先对用户进行分类,然后将这一类用户所喜欢的梦想推荐给他。也可以做一些问答,询问一下身边的人们,那些用户真正在意的人们,他们对自己的期盼到底是什么。然后再根据用户的当前生理和心里状态,以及经济、时间、地点方面的情况,将这些人生梦想进行排序,推荐给用户,供用户选择。

古人如果要立志成为一个君子,则会告知身边的父母、亲友和师长,以便大家能够激励和监督他,并在他修行成君子的过程中不断的从这些人身上得到建议和意见。
帮助人们实现其梦想的系统,也应该有类似的功能,也就是说当用户树立了一个人生梦想的时候,可以选择性的告诉一些人,向他们宣告自己的人生梦想,并让他们激励和监督自己,在实现梦想的过程中给予自己意见和建议。

如何成为一个君子,是有系统的培训体系的。
那么一个人的人生梦想,通常也是有一些可供参考的实现步骤的,甚至会有很多商家在其中提供成系列化的服务。比如学习外语或练习瑜伽之类的修行类服务。那么如果系统想要帮助用户实现其人生的梦想,就应该能够提供几种可供选择的,有可操作性和可实施性的方案。
这些方案可以是由专家提供,由专业的编辑进行编制;也可以是由已经实现了类似梦想用户的成功经验总结而成;或是共同期望实现类似梦想的用户之间探讨得到。
由于用户已经将自己的梦想告诉了一些人,那么这个方案和计划的制定和调整,这些人应该也是可以参与意见和建议的。
总之,在用户提出并确认自己的梦想之后,系统应该给出一个实现梦想的计划,计划可以是已经存在的,也可以是由用户和那些支持他实现梦想的人共同制定的,可能更加常见得情况是在现有的计划基础上进行调整。计划在执行的过程中是可以进行调整和修订的。

梦想已经有了,计划也已经有了,那么下一件事情就是执行了。
执行计划,就是任务系统来完成的事情了。但是和普通的任务系统不同的地方在于,这个任务系统会自动的根据计划和用户当前的状态,帮助用户安排具体某项任务的执行时间,并在提醒之后,主动的询问用户任务的执行状态。
比如用户计划要进行体育锻炼,根据用户的身体状况,系统给出了相应的锻炼计划,然后再根据用户的时间安排和用户所在地区的天气预报,建议用户在某日早晨进行慢跑锻炼。然后,系统会主动询问用户是否完成了慢跑锻炼,慢跑的效果如何,比如时间、距离、速度,以及心跳等。
当然,如果用户在慢跑的过程中携带了手机或其他可以记录其运动状态的设备,系统也可以自动的记录这些信息,而不是去直接询问用户。

计划已经开始被执行了。
在执行的过程中,有可能会出现各种变化。比如,原来计划要去慢跑的时候段,由于用户希望多睡一会儿而被耽搁了。或者由于运动量过度,而出现了四肢酸痛等身体不适的感觉。那么,系统就应该根据最新得到的反馈,自动的、或在用户的建议和协助之下,对计划进行调整。
这种调整在涉及到多人的计划时尤为重要,比如打羽毛球需要至少两人,参与这项计划的除了人之外,还需要预订场地,即使某些人由于临时有事而无法参加,场地的时间作为一种稀缺资源,也是很难进行调整的,那么在这种计划需要发生变更的时候,首先需要考虑的就应该是找到其他的人来替补,而不是调整羽毛球场地的时间。如果实在是找不到人来替补,那么也只能取消羽毛球场地的预约,并尝试重新预约大家都方便的时间。

在计划中的任务被执行了之后,计划的状态就要逐步的进行调整。
比如一个学习外语的计划,当用户参加并通过了一些考试或测评,通过了一些计划中的重要节点之后,系统就会根据考试和测评的结果,决定用户是进入下一个阶段还是将当前的阶段再重复一次,或者是进行一个补充的增强阶段,以达到预期的效果。

当用户完成了某些任务,或达到了某些程度之后,系统会将用户提交的一些测评的成绩和计划执行的状态分享到用户指定的社交平台。
前面说了,用户有了一个梦想,然后告诉了一些人,请他们对自己进行激励和监督。现在就是向这些人告知自己成就的时候了。
应该还有一些和用户选择类似梦想的人,那么这就有了一个排序的可能,对于用户来说成为吃过最多地方美食的达人和成为周围减体重最快的人,成为朋友中唱歌长得最好的人,甚至仅仅是唱某一首歌唱得最好的人,成为在朋友中最先看完某一本书的人,成为看完一本书所需时间最短的人,这些都会成为一件相当有趣的事情。这些成就可以让用户拿来炫耀,并激励用户或和他选择同样梦想的人在实现梦想的道路上更加坚定的前进下去。

最后,我们的用户真的实现了他的某个梦想。
这个时候,除了评定和分享他的成就之外,这个系统应该能够帮助用户将其实现梦想的每一个步骤都记录下来。为了成为户外运动达人,这个用户于某个时间和地点做了什么事情,他购买了什么装备,参加了什么活动,完成这些任务的时候他留下了什么记录,拍摄了什么照片或视频。向哪些朋友进行了分享,那些朋友又给予了什么样的回复和评价,给予了什么样的意见与建议,计划根据这些意见与建议进行了什么样的调整。以什么样的成就完成了计划中的一个个节点,并最终实现了人生的梦想。
系统应该可以将这些记录下来的信息,作为用户人生的一部分,永远的存储在用户的梦想空间之中,供用户回味和分享,在用户允许的情况下,供其他用户检索和借鉴。
系统会根据这些信息,进行分析之后,对用户执行计划,实现梦想的过程进行评价。并根据这些信息,在需要为该用户设定新计划或为其他相似用户设定同类梦想的计划时,进行相应得调整。

这就是我所设想的能够帮助用户规划人生、实现其人生梦想的系统。这篇博客从需求的角度,对这个系统进行了描述。后面应该还会有一篇从系统实现的方向再描述一次。

前面因为身体的原因,以及看小说的原因博客更新的比较不稳定,以后希望能够慢慢补上。

关于任务管理系统

书接上文。任务管理系统中的很多特性都是从复杂的工程管理软件中借鉴来的。那么在探寻任务管理系统的设计时,最好能够先来看看工程管理软件都有哪些常见的特性;然后再看看对于个人使用的任务系统来说,对于这些特性的需求会有什么样的变化;最后,阐述一下我个人对任务管理系统的一些看法。

  • 工程管理软件分析

工程管理软件中的任务,是有相互的依赖关系的。有些是由于后续任务需要使用前置任务的成果,有些则是由于后续任务需要使用前置任务所占用的有限资源。工程管理系统,在进行计划制定的时候,首先要将完整的工程划分为不同的任务。然后,再根据这些任务之间的依赖关系,来排定这些任务的先后执行测序。以求在最短时间和最小资源消耗的情况下,完成整体工程。

工程虽然并不像日历那样,是以时间作为根本特性的,但是一些关键时间点对于工程来说也是至关重要的。比如天朝经常会出现献礼工程。以及工程进行过程中的各种公休和节假日也都是需要计算在内的。通常一个工程里面会有若干个工程关键时间点。这些时间点通常是工程自然节点附近的一些特定的日期。比如工程可能在某个节假日附近完整一个功能节点,那么通常的做法是将这个节点直接设定在那个节假日之前,这样大家做完一个阶段的工作之后,正好可以休息几天。有时候一些为公众服务的系统,也喜欢赶在节假日之前上线,以便能够在节假日获得更好的收益。工程管理系统,会根据这些关键时间点,对任务的排列进行适当的调整,即使这些调整会使得工程所耗费的时间和资源有所上升。

工程管理系统中所管理的最重要的东西,就是资源了。这里所说的资源,指的是工程过程中不得不用,而数量又有一定的限定的东西。比如工作人员的工时、场地、各种仪器设备、零部件等。小型的工程管理软件只需要计算出完成工程所需、或所能调用的资源总量,然后根据这个资源总量进行任务调度和安排就好了。所需或所能够调用的资源总量,是根据工程的进度要求,平衡得来的。有些资源增加了之后,是可以提前项目进度的,有些则不行。通常的做法,是根据所有能够使用的资源总量,先预估工期;然后在根据工期进行任务资源分配;最后再根据任务资源调配情况,对工期和所需资源进行调整。

大型的工程管理系统会复杂得多,这些系统还需要考虑很多资源的建造、购买、仓储、领用等过程。比如航天卫星发射的工程管理系统中就需要考虑火箭发动机的生产,每个批次生产出来的火箭发动机,都需要拿出一枚来进行测试。而这个测试验证试验是一次性的,也就是说做实验的那个火箭,试验之后就废掉了。那么系统就需要考虑“组批生产”的问题,比如一个批次最多可以生产十枚火箭,那么最好能够将火箭发动机凑成十个一组来生产,否则的话,如果只生产两三枚火箭也需要多做一个出来做实验,那就太浪费了。大型的工程管理系统,通常还需要考虑分里程碑验收和支付的问题,每一个里程碑需要完成哪些任务,这些完成的任务如何验收,以及如果验收出现什么问题,怎么办。验收之后,通常是需要进行里程碑付款,我还见过一些系统,在里程碑付款和购置设备等过程中还考虑汇率波动风险和银行账户利息等因素的。比如别人付过来一笔美金,工程方直接将其都兑换成了人民币,但是工程中又需要以美金再去购买什么设备或零部件那就亏了。总之,资源管理根据工程管理软件的规模和行业差异,也会存在巨大的差异。但这肯定都是各种工程管理系统中最重要的一个部分。

工程的任务细分,并不是一次完成的。这个过程通常是逐层细化的,所以就会出现任务和子任务的概念。一个任务对于承接这个任务的团队来说就又成了一个工程,这个团队会将其再次划分为子任务。或者是完成一个大的任务,需要多个团队协同工作,也可以将这些团队所完成的共组划分为子任务。这个划分的过程,是有很多模板和定式的。比如,盖房子必须先画图纸,然后打地基,从下向上一层一层的盖,封顶之后先做外墙装修,然后做内墙装修和强电弱电工程。就算是家庭装修,也需要考虑先做墙面,在做墙面的时候要预留强弱电的线槽和开关接插口面板的位置;在做墙面的时候可以进行门窗油漆等工作;墙面和油漆的工作完成之后, 才能进行地面施工;再然后才是家电和家具的购置和摆放。地面工程的时候,是不会将墙面和油漆过的门窗搞脏的,但是墙面粉刷和油漆的时候会把地面搞脏的。强弱电线路的布设和接插口面板的设置,是需要破话墙面的。家具和家电是要放在地面上面的,所以一定要在地面施工完了之后才能做这些事情。这个过程是无法打破乱来的。

任务和资源,都是有状态的。工程管理系统就是通过对这些状态的管理来实现任务和资源的调配和管理的。简单的状态有:资源被占用、资源被闲置、任务可以开始、任务等待关键资源到达后可以开始、任务进行中、任务完成、任务暂停等。在资源不冲突的时候,工程管理系统会尽可能的安排并行任务以节省工程时间。比较复杂的状态管理,可能会包括仓储物流、人员培训、期货购买和交割等复杂过程,这里就不讨论了。工程管理系统的工作方式,基本上可以被看做是一种状态机的工作方式。

任务之间的等级并不是平等的,因为很多资源是无法进行分割和隔离的,所以很多任务是必须在共享资源的情况下并行进行的。在并行执行的任务之间就会存在优先级的差异,哪个任务需要占用更多的资源,在时间节点上更加紧迫,其优先级也就更高一些。

在任务完成了某个里程碑之后,或者是工程完成之后,工程管理系统是需要对工程的完成情况进行审计和评估的,是需要出具工程完成状况报告的。这个报告包含任务完成状况以及任务完成过程中资源使用的情况,任务完成状况和资源使用的情况和原计划之间的差异,这些差异产生的原因,以及针对这些差异,需要对后续的计划做出哪些调整等。

  • 对于个人使用的任务系统,在用户体验上所需要特别注意的地方

规划系统不能太过复杂,工程管理软件,根据自身的复杂度,提供不同复杂度的规划和录入系统。有些工程系统光是录入初始的数据就是一个庞大的工程。甚至会有专业的咨询、规划、设计机构来完成这些工作。这个过程对于个人使用的系统来说是必须要简化的。

个人任务系统和工程管理系统有一个最本质的差异。那就是工程管理系统是在一个封闭的时间段上来规划工程的,而个人任务系统是不可能从一个人出生一直规划到死亡的,所以个人任务系统通常都是在一个开放的时间段中规划任务的。而且,很多任务之间没有那多多的相关性。对于个人任务系统来说,相关性比较强的任务之间是可以有一定的依赖关系的,但是从整体来看各项大任务之间是没有紧密关系的。

个人任务系统中的资源管理是一个很麻烦的东西,有些资源在一个任务中起到一种或几种作用,但是这些特性对于其他任务来说可能就会发生变化。用户自己的时间也是一种资源,而且是关键资源。不同的个人之间也都互为其他人的资源。对于跨越任务和工程,散布在整个人生之中的任务管理系统,其所管理的资源只能是针对特定任务的。也就是说资源是任务相关的,规划一个任务或由一系列子任务构成的主任务时,可以涉及各种资源,但是这些资源是限定在任务内有效的。离开了这些任务,资源就需要重新定义了。

个人使用的任务系统,肯定需要包含能够通知到个人的各种通知手段。所以这个系统比如需要一个跨平台的通知子系统。工程管理软件中通常不需要这个东西,相关人员会主动的去查询任务分配和进展情况的。

工程管理系统中的那些复杂的审计和评估报告,对于个人任务系统来说也是不适用的。普通用户是读不懂,也没有耐心去读那些复杂报告的。而且,由于个人任务系统是在开放的时间段上进行规划的,所以这种系统更需要的是能够在任何一个时间点去检查过去任意时间段的任务完成情况和资源使用情况。并根据统计的结果,对后续的任务进行调整。

工程管理系统中所使用的语言和文字,都是在其特定行业和环境下使用的正式书面语言。个人系统完全可以使用一些个性化的、生动的生活语言、口头语言、网络流行语言来进行语言和文字描述。

用户选择了任务管理系统,通常是希望能够尽可能的按照计划完成任务的。工程管理系统是依靠契约、特定团队组织架构和制度来保证任务的完成的。那么个人系统能够依靠什么来促进任务的完成度呢?除了前面提到的提醒系统之外,应该再加入一些游戏性的鼓励和成就分享和刺激在里面。

  • 关于个人任务系统的一些设想

规划和任务执行情况反馈合一,随时规划新的任务,随时查看近期任务的执行情况,并对任务进行调整。

完善的通知和提醒系统,使用生动的生活语言通过各种平台和方式,通知用户启动、推进或完成任务。

通过各种各样的平台,接受用户的反馈,并记录任务完成的进度和状态,以及用户在完成任务过程中的各种相关信息,最终形成完整的报告,比如装修笔记、旅行路书等。

增加任务状态,一个任务可以有多个状态,将状态机的机制更多的引入任务系统。提供尽可能多的状态机模板、子任务划分模板,供用户套用。

加强资源和资源状态的管理。用户自己的时间,出现在任务中其他人的时间,以及参与任务的其他资源(包括资金)的规划、分配和调度。

在任务系统中添加游戏性,鼓励、激励、刺激用户按照计划完成任务。并将用户完成任务的状态和成就,分享到Social平台上,让整个social平台上的人都来一起见证和激励用户完成任务。

时间管理工具

如果说现代生活中,有什么东西最宝贵的话,那无疑就是时间了。我们总会觉得时间不够用,有很多愿望没有时间去完成。

于是,就涌现出了大量的,以时间管理为目的的工具,希望能够帮助人们更加合理的运用时间。

这些工具包括:

日历系统,通常提供约会、提醒、周期重复等功能。现在很多软件都提供日历的功能,我们使用比较多的有微软的Exchange Server和Outlook、以及Google Calendar。苹果好像也有自己的日历工具,但由于使用的不多,所以不是很熟悉。

任务管理系统,通常包含任务的归属、任务的场景和标签、任务的优先级等。为大家所熟悉的任务管理系统有:Things、Google Tasks、ToDo、Doit等。按照我接触和了解的情况来看,这一类工具是从工程管理工具中简化而来的。要比工程管理工具来得简单,主要是适合个人使用、而不是供工程项目使用。此类工具近些年来颇受大家的喜爱。

工程管理工具,现在很多时间管理工具上的特性,其实都是从工程管理工具中简化剥离而来的。这种东西顾名思义,并不是为个人设计的。工程管理工具,即使是比较简单的,也是为了几十人甚至是几百人协同完成一个工程项目而设计的。工程管理软件强调的并不是通知和周期性的变化,而是任务之间的依赖关系,任务所需要调用的资源,以及如何调度,以实现在要求的时间内,使用最少的资源完成任务。此类软件中,被使用得最广泛的,就要算是微软的Project,还有简化一些的XPlanner了。有些庞大的、运用于特定领域的工程管理类软件,其购置、维护的成本是非常恐怖的。这些软件通常是以咨询服务的形式进行销售的。我就曾经见过一款用于核电站建设的工程管理软件,其软件规模异常庞大,光是用于存储数据的实体,就有近万个,可见其内部业务逻辑之复杂。

这里要讨论的并不是庞大复杂的工程管理工具,而是供个人使用的时间管理工具。之所以将工程管理工具列在这里,是因为其中拥有很多时间管理的功能,很多供个人使用的时间管理工具正在不断的从中吸收各种有趣的特性。

工程管理软件的目的,是使得工程项目在占用最少资源的情况下,按照要求的期限完成。对于这种软件来说,不容角色的人和其他的各种设备或服务都被抽象成了不同种类的资源,其最终的服务对象是工程本身而不是作为资源的人。工程管理软件的工作过程大概分为三个环节:规划工程的实施过程和实施过程中的资源占用和调配;将规划通知所有和规划相关的人或机构,接收项目各个分支与环节的执行结果,以及各种相关资源的使用状况,并将这些数据汇总,以便对项目的执行过程或结果进行评估;根据项目期间,各个分支执行的情况和资源使用的情况,对项目后期的规划进行调整。这样看来,工程管理的过程就是一个规划过程和一个反馈过程的循环往复。

现在,人们越来越希望能够像管理复杂的工程项目那样规划和管理自己的人生。

从现在流行的这些时间管理工具来看,日历管理方式实在是太粗糙了,其中缺乏资源的概念。一些内网或组织内使用的日历工具,比如Exchange、Lotus Notes等,是允许查阅相关角色的日历的,可以帮助使用者,人工的在对方空闲的时候创建约会或会议。但是对方是否接受,还是需要对方人工确认的。工程管理过程中,规划者和被作为资源分配的人之间并不是平等的。规划者是可以决定某些人什么时候做什么事情的。而在日历工具中,人们的位置是平等的。

日历的另外一个缺陷就是,其中的事件,缺乏状态。一个约会、会议或提醒,对于日历系统来说都只有两个状态,到期或未到期。日常生活中,很多事情并不是这样的,很多事情从开始规划到最终完成,其中是要经历很多个状态和过程的。这对于日历系统来说,是很难表现的。

任务管理系统,就要比日历系统更近了一步。在任务管理系统中,原来日历系统中的事件,变成了任务。这其中的差异在于:事件的基本属性是时间,我们约定了周三晚上吃完饭,那么如果时间已经是周四上午了,对于日历系统来说这个事件的状态就是到期或过期。日历系统缺乏工程管理系统中的反馈环节,所以日历系统并不知道一个事件是否被执行了。任务系统就要好很多,任务的基本属性并不是时间,而是状态。一个任务是否被执行了,或执行到一个什么状态了,到达这个状态之后,下一步应该怎么办。任务也可以有时间属性,而且通常都是有这个属性的。但是即使约定的时间已经过去了,任务系统也不会直接判定任务已经完成了,而是需要通过反馈系统,让用户手工的录入任务的执行状态。如果任务尚未完成,那么任务系统会提醒用户对任务的时间属性进行调整或尽早完成逾期任务。

现在的个人任务系统还不够完善,有着工程管理系统的榜样树立在那里,个人任务系统的产品经理们肯定不会不知道应该如何将其完善起来的。现在的任务系统是在工程管理系统的基础上根据个人使用的特性做减法得到的。那些复杂的统计分析和资源调配,以及任务依赖关系,对于普通用户来说确实是难以理解了一些。现在的任务系统本身就是一种平衡,在用户体验和功能完整之间的一个平衡。依靠增加功能来使个人任务系统进一步的完善起来,至少在目前来说,对于大多数用户来说是不现实的。

如何进一步的完善任务系统,以便更好的帮助人们规划他们的时间,这个我想以后再在其他博文中慢慢阐述我的个人观点。这是关于时间话题的第二篇博客了。这个话题我想至少还能再写个两三篇吧,不着急,慢慢来。

时间的游戏

Hourglass[1]人生就像是一场游戏,一场时间的游戏。我们可以选择自己在什么地方,和什么人在一起,扮演什么样的角色,做什么样的事情,以及怎么做事情。甚至我们可以选择做一个什么样的自己。但是有一样东西,是我们无法选择的,那就是我们的过去。我们无法选择过去做过或没做过什么事情,我们只能选择现在和未来。时间在我们人生游戏的各个要素之中,显然是最重要的一个元素了。music[1]

古往今来,人类的所有的娱乐活动,包括现在各种各样的游戏,也都有一个因素是完全无法逃避的,那就是时间。每一项娱乐活动,不论是棋牌还是体育运动;不论是音乐还是绘画,都必须在一定的次序和时间范围内进行。每一个游戏,不论是单机还是联网;不论是动作还是益智;不论是竞技还是休闲,也都无可逃避的成为了一个又一个时间的游戏。

farmer[1]近些年来,流行起来的social game,为了能够让每个用户只需要使用较少的时间,就可以和不同的用户发生social关系,更是直接将时间设定成了游戏的核心要素。比如:种一颗白菜,需要多长时间,多长时间没有人采摘,白菜就会烂在地里,每个人必须在别人的白菜成熟之后,还没有被主人收获之前,白菜还没有烂在地里之前,去拜访邻居,并顺手摘走别人的白菜。

玩家需要根据自己的作息时间安排,选择种植或养殖各种动植物。这种游戏有个特性,那就是级别高了,单位时间的产出也会增加。种植那种收获时间非常短的作物,总是会比种植同等级别的长生命周期作物收益更高。如果希望提高单位时间的收益,那么就需要守在电脑或移动设备面前,不停的点啊点。通常随着一个玩家级别的提高,他们能够得到那种需要更长时间才能收获的品种。cow[1]这些品种的单位时间收获肯定没有低级别的短时间作物高,但是很多高级别玩家对游戏的沉迷程度会随着参与游戏时间的增长而下降,他们没有耐心坐在那里不停的点击。能让他们每天上来看看菜园子,也就不错了。

由于到了高级别的时候,每一种新的种植物所带来的回报通常都很高,所以这个时候如果给予一些可以在短时间收获的高收益作物,可能会很容易将平衡打破,那些到达了高级别,还有耐心点啊点的玩家,会飞快的超越别的玩家,这反而会加速他们离开游戏的速度。所以此类游戏在后期添加这种高等级的短时间收获作物的时候,都是异常谨慎的。

现在的游戏,在考虑如何加入更多的东西,以加强游戏的沉浸感,通过虚拟现实或现实增强技术增加更多的现实元素,通过定位技术添加地理信息元素等等,但不论游戏发展成什么样子,有一个东西,将一直是所有游戏,甚至是人生这种游戏的永恒主题,那就是时间。

一个人现在之所以能够成为一个独一无二的人,是因为他或她的过去是独一无二的。那么他或她的未来也必将是独一无二的。

5277265559_0535b25cb9_b[1]

Close Bitnami banner
Bitnami