2009-08-29

GoTask: 工作模型(一):功能

  上一篇中我解释了GoTask应用的场合,那么现在我们自然而然地就有了第二个问题:我们该如何用GoTask管理任务呢?

要回答这个问题,我需要研究一下我自己的工作。对我来说,我每天需要花在任务管理上的精力主要都用来完成两件事:
  1. 分类:根据各种标准对任务进行区别。
  2. 排序:按事情完成的先后关系决定完成次序。
有意思的是,我发现在工作中我很少需要对任务做排序。也许是因为我手头的任务往往繁琐而杂乱,任务之间彼此联系很少,又或者是老板已经规定了各个工作阶段。总之,事实上我很少有必须对手头任务排序的机会。另外,我发现自己同时追踪多个任务时效率很有限,远不如一个接一个地串行完成便于控制。所以多数情况下我只需要做个分类,剩下的事情就简单地按照时间先后定序即可。

同时,我对分类的功能要求却很高。比如我常常需要同时和别的组的多个进行任务交接,这时我就需要把任务根据接洽对象的不同分为几类,然后对比每个交接工作的安排是否有所缺失。但与此同时,我也需要根据时间段对任务做划分,这样我才能知道大概在某一段时间里我需要做多少任务。有时候我同时接到很多任务,这时候我就得根据什么时候完成而它们分成几部分,而不能管他们从何处而来。

谈到了时间我们就必须提到一个重要功能,也就是提醒。当我们需要管理的任务很多时,每个人都会或多或少忘记一些事情。这时候工具适时发出的提醒就显得非常重要。

最后一个我需要的功能是查询。当任务数目太多的时候,单靠人去记忆显然有些勉为其难,既然我们已经对任务进行了分类,那么考虑使用某种形式的查询显然就是水到渠成的事情。

如此我就得到了GoTask必须支持的三个功能:
  1. 任务分类:可以根据使用者的标准不同自行定义。
  2. 任务提醒:在任务开始或终止时通知用户。
  3. 任务查询:每一个任务应该能通过某种方式查询其时间和分类。
这其中分类本身包含两个用途:第一,它是显示的一部分,使我能得知当前任务的性质;第二,它是查询条件的一部分,使我能过滤掉一部分任务,从而关注最想关心的东西。

这样,每当我得到一个新任务,我就可以在GoTask里增加一个项目,然后根据情况打一到多个标记作为分类。我可以每天早晨查询一次,确定今天必须完成的任务,然后每天下班时重新查询一次,看看有多少还没有完成。当然,如果到了设定的时间,GoTask应该提醒我任务将至,应该早做准备。


看到这里或许大家会觉得我只是给自己重新画了个Outlook,因为Outlook也有任务,而且提醒、分类、查询一个也不少。别急,我正在考虑工作模型的下一个部分:复杂条件查询和长期任务跟踪。我们下次再说。

2009-08-25

GoTask: 设想

想写这个东西已经很久了。这一年多以来忙得昏天黑地,我这个念头只能一直埋在自己心里,从来没有真正付诸实践。一个月前有一次无意中和东哥聊起,突然发现这个念头就像一个心里的结,总是挥之不去。最重要的是,我越来越想试试能不能实现它。

OK,那么我们回到正题。首先,什么是GoTask?

GoTask是我想做的一个小软件,用来管理自己的个人工作事务。我希望它可以支持这样一些功能:
  1. 以天为单位跟踪每天的工作项目列表。
  2. 支持以Tag为基础的历史搜索。
  3. 支持统计功能。
  4. 支持不同工作项目的合并和检索。
在我的设想中,GoTask应该被设计为管理这样一些任务的:第一,它们需要一段较长的时间完成,比如几天甚至几个星期;第二,它们没有详细到每个小时的计划,只有大概的每日进度估计;第三,它们总是有明确的起始和结束时间。

这么古怪的需求很大程度上和我的工作有关。因为工作中我总是处在这样一个环境里:每天任务随时随地出现,其中大部分都不很紧急但比较耗时,我可以选择在几天甚至几周内完成。另外最重要的是:这些事我肯定无法全部做完。所以我每天必须做的一件事就是取舍,有些确实可以不做的,就不管了;有的重要但不需要自己处理的,就交给别人;而有些则必须自己完成。同时,由于一部分任务几乎总是会被放弃,我希望我的工具能帮我做一些统计工作,比如它能分门别类地告诉我,在过去的三个星期内我的总任务有多少,做完的和放弃的比例有多少等等。

有人也许想问:为什么不用Outlook的Calendar?因为我认为Outlook更适合管理当天开始并完成的短任务,以小时为单位。而我想要的是个能管理那些无明确计划的任务的工具。基于同样的理由,东哥强力推荐的iCal也给否了。另一个抛弃Outlook的理由是:它几乎没有统计功能。而这是我想做这么一个软件的主要理由。

其实有一个软件在统计功能上非常接近我的要求,Hamster,可惜后来研究了一番之后还是觉得它不是我想要的。主要的问题有两个:首先,它的界面更倾向于提醒那些当天必须做完的事情;其次,它的搜索功能弱了些。除此之外还有一个小瑕疵:它是个Gnome Applet,而我的系统里没有Gnome。

所以我觉得也许我需要自己动手。今天先写到这里,具体的细节以后慢慢讨论。

关于重开Blog的说明

终于开始认真地决定要用这个Blog了。

说起来,这个Blog从注册开始也过了三年,可我从来没认真用过。原因相信是众所周知的,由于一些大家心照不宣的问题,在国内的网络环境里要想畅通无阻地访问Blogger实在是困难重重。虽然对我自己而言这从来都不是问题,好歹自己也是搞软件的,可既然开了一个Blog,总是希望大家都能读到。加上后来有一段时间基本上只用Hotmail和Live Messenger,自然比较倾向于集成做得更好的Live Spaces,这几年下来,几乎把这边给忘记了。

但是这几年Live Spaces用得多了,却发现自己越来越不喜欢她。过于花哨而不实用的界面或许是一个因素,而真正的原因则有些难以启齿:太不自由了。为什么?因为我的Live Messenger上公司的同事太多,很多人都会跟着连到我的Blog上,这时要自由地对公司内外的技术发表评论难免有些束手束脚。也许这只是我个人的片面印象,但我在北京时,不少我敬重的同事对别家技术的了解程度似乎总是与我所预期相去甚远;反过来,他/她们对MS自家的技术却总有一种毫无来由的狂热。每当和别人争论的时候,他/她们都会言之凿凿地向每一个听众论证MS的每一项新技术是如何优秀;但恕我不恭,有时我发现这些技术他/她们自己甚至都没有体验过。这种感觉在我来到Redmond一年之后更加明显:我所认识的许多Redmond的同事们私下里从不避讳任何对公司产品缺陷的评论。

熟悉我的朋友们都知道,由于出身的原因,我总是更倾向于关注MS之外,特别是Open Source世界的一些动向,而且最要命的是我喜欢顺嘴说几句自己公司的坏话。为此我的一位大学好友兼MS Fan甚至直接把《冰与火之歌》中“忧郁的艾迪”这一名头送给了我,评曰:勤勤恳恳的乌鸦嘴。无论这种习惯是好是坏,在Live Spaces这种众目睽睽的环境下我发现自己无法毫无顾忌地写出对很多事情的真实看法,更不可能持续我对Open Source的关注。


回到主题。既然我已经决定重新启用这个Blog,那么总要做一些变化。无论如何,我希望在这个Blog里更多地讨论一些我自己喜欢的话题,偏重技术。这其中包括MS的东西,更包括很多Open Source的内容。这里是我个人的Blog,我也不是MS的新闻发布官。虽然维护公司形象也是分内的事,但也犯不着处处往公司脸上贴金,只是希望说一些真实的个人看法。


至于语言呢,基本上还是英文和中文,中文为主。毕竟是母语,表述起来也比较得心应手。不过有时候我也会用英文换换口味,特别是很多技术术语无法找到合适的中文表达的时候。

最后,关于国内访问的问题,我确实是无能为力了。只是作为一个著名的乌鸦嘴,我心里多少还存了点心思。如果可以的话,我希望能坚持到能从国内顺畅无阻地访问Blogger的那一天。