2005年9月29日星期四

一个Idea - AutoLog

想起来一个关于工作日志的问题. 写日志是一个比较难的抉择, 如果是写项目日志, 那就比较简单, 只要记录每天做了多少关于这个项目的工作就可以了. 但是如果想记录一天做过的所有事情(上网看新闻聊天就算了)就比较麻烦. 很多事情是没有什么体系的, 比如说去了解某项新的技术, Google一个问题的解决办法, 整理一些资料, review一些代码, 等等. 这些事情常常会做, 需要花费不短的时间, 可是却很难把它们组织起来, 在日志里面说自己做了某某事情. 所以我想, 是不是可以做一个程序, 自动记录自己一天来做过的所有事情(当然是在电脑上面做的事情, 如果是吃饭睡觉抽烟打屁这类的, 可能交给秘书来记录比较现实).

我先给这个软件起名叫AutoLog好了, 至少在哪天会灵机一动想出更酷的名字之前. 这个程序可以常驻内存, 放在System Tray里面, 它可以自动记录用户在电脑上做的每一件事. 因为我们工作时会打开很多个窗口, 但是每一刻总是有一个窗口处于激活状态, 那这个程序就可以记录下每一个窗口处于激活状态的时间段. 例如VC, Word, IE, MSN, 等等....再根据这些程序的标题栏, 我们就可以大致了解具体是在做什么内容的工作, 比如在做哪个工程/文件的编写, 在和某人聊天, 在Google关于什么的资料. 可以将这些资料保存起来, 按照时间或工作内容进行组织, 就可以大体描绘出自己一天来做的工作了. 如果还可以检测键盘和鼠标的动作, 感知无用户动作的时间, 还可以记录用户的发呆时间^_^

初步想了一下, 会用到的技术包括对Windows窗口的枚举, 激活和隐藏, 关闭等消息的捕获, 系统空闲的感知和记录. 数据组织方式和存储方式是一个需要研究的问题, 而从大量数据中选择合适的规则进行挖掘也是一个需要仔细考虑的方面.

想了这么多, 不知道这个想法是不是早就有人想到了, 并且已经作出完整的实现, 有空的时候我得找找看, 嘻嘻.

没有评论:

发表评论