WawaKM是一款面向个人的助理工具,包括个人知识管理(PKM),个人关系管理(PRM),个人信息管理(PIM)以及一些实用的工作学习辅助功能,另外你有什么个人的需求,也可以反映给我们,我们会考虑加入,前提是这个功能是大多数人要用到的。
要想详细了解WawaKM可以参考我博客的相关帖子,以前的WawaCRM已经转手给别人了,从那个项目里总结了不少教训,现在想起来就凭网上这种松散的协作方式开开发CRM这种企业应用难度还是很大的,再一个参与的人多了,进度不好控制了,你一言我一语的最后不能达成统一意见,其实好多优秀的软件都不是一群人做出来的,而是一个人做出来的。
现在又发起WawaKM(暂用名)项目主要针对个人应用领域,一来方便大家,另一个目的就是锻炼一下自己,三来为以后创业打基础。
后来我整理了一下思路,把功能分成知识管理、网络协作和个人辅助三大块,当然有些功能是交叉的,所以要招募两个人来和我一起来做,人多了就不好开展工作了,就要俩,有事可以商量,进度也好控制,意见也好统一,要求有四年软件开发工作经验,三年以上.NET经验,最好在北京生活,有事可以见面细谈,最好是来一位win32比较好一些的,或者winform做的比较多的朋友,再来一位对开源比较熟悉,有过开源经验的朋友。以下是详细的要求
知识管理:
这是核心功能,也有不少的技术难点,比如说文本挖掘的算法,分词,知识管理的理论知识,lucene的使用,rtf编码,sqlite使用等,可参考网文快捕,mybase,Ultra recall,onenote等软件
1、知识的收集、组织和管理
2、知识的搜索和挖掘
3、和浏览器(IE,FF)、office、windows shell的集成
4、录音和截图
5、随笔的功能,
6、知识的分享,比如说同步到blog系统或者论坛系统,让别人可搜索。
网络协作:
主要是要研究GoogleAPI,参考网址:http://code.google.com/apis/
google工具条,图片,地图相关的服务暂时不考虑集成,感觉实用范围比较小,实用价值不如其它的服务,以后google除了新的实用的服务,我们要继续集成,目前我想到的就是下面这些
1、个性化搜索,元搜索,google有co-op,可以先研究研究它。
2、学习Google Calendar API,集成Google日历,可以做生日提醒,工作备忘等功能。
3、学习Google NoteBook API,集成Google笔记本,随时随地记下一些东西,并可以同步到网上。
4、学习Google Readers,集成Google的RSS订阅功能,可能我们还要做一个rss客户端。
5、学习Gmail相关API,集成Gmail功能,不知道有没有,如没有的话用开源的pop3和smtp组件来实邮件功能。
6、集成Google网页翻译功能,人家灵格斯就集成了,咱也得有。
7、集成Gtalk功能,实现即时通信,以后也许能扩展好多即时通讯协议。
8、集成google快讯功能,实现关键字订阅,这是是我比较喜欢的一个功能
9、集成Google的文档和电子表格,可以把本机的office文档保存到google。
10、集成google论坛,可能google没有论坛相关的API,要不就自己做一组webservice接口,实现winform的发帖功能。
11、集成google的收藏夹功能。
个人辅助:
这部分功能和上面的一些功能有所重合,主要是一些实用的功能。
1、rss订阅,相关控件好多,直接用
2、日程表,集成google的
3、邮件收发,openpop3,opensmtp
4、写博客工具,符合xml-rpc,meta的协议的
5、图片管理,可使用google的API
6、桌面搜索,可使用google的API
7、通讯录管理,可参考live contacts
当然了,上面只是简单的罗列的一些东西,是为了激发一些灵感,都做的话根本做不好,肯定要有所取舍的,做软件贵在精和专,不过咱们可以一个一个来做,做精一个是一个,慢慢形成套件。再有两个人加入团队的话,可以三个人一人负责一块的技术研究和学习,目前我只专注研究第一部分,知识管理相关的功能。
我觉得咱们应该把相关技术都先了解一下,至少作出demo,然后把相关度比较高的一些功能来重点实现,做好做专。咱功能不怕多,但要有一条主线,就是个人应用,别人需要什么,咱就有什么,但要确保每项功能要做好他,功能到一定规模之后就一定要不在扩大,或者要把开发重心放在核心功能上。
还有就是尽量不要和别的软件功能重复,人家已经实现的好好的功能,咱没必要重复劳动,咱能集成的集成,不能集成的就算了,就算要实现人家的功能,咱也得拿出比他好的优势来,或者是咱取他的主要功能,去掉它的花哨功能,咱们一个软件实现了多数个人辅助的功能,也可以算是一个特色了。再有就是咱一般用不着什么创新,就模仿就行,谁做的好,咱模仿谁。
再说几点开发的要求
1、因为功能比较多,用到的第三方组件也会很多,我觉得最终的安装包要控制在20M以内。
2、.net的winform程序比较耗内存,我觉得在正常使用的情况下内存消耗要在30M以下,最大不超过40M,只使用知识管理功能应该控制在15M左右。
3、设计模式啥的,咱能不用都不用,爱怎么写就怎么写,这写功能也没有什么复杂的逻辑,不像OA,网站什么的,功能出来就行了,以后再优化,但要注重性能。
4、界面不求好看,但一定要专业,易用性要好,在使用习惯和界面设计上多参考outlook和微软其它工具。
5、写代码前先讨论交流,形成文档,咱不学敏捷开发那套,不重视文档,咱得有文档,但形式不用太死,格式可随意,能看就行。
望符合条件者且对项目感兴趣者和我联系,onlytiancai@gmail.com,其它朋友也可以参与讨论问题,或给一些意见。人一辈子也就活那么几万天,闲着也是闲着,没事写个小软件玩呗,没人用自己还能用呢,是吧。