人人都用E71
Saturday, June 20th, 2009E71在中国已然成为商务街机 - 毫无疑问。
刚刚发布的E72有个新东西,诺基亚首次把IBM Lotus Notes Traveler预装进了它的手机。在商务领域,只要黑莓服务费下不来,E71/72还会一直升温。在公司,已经开始收到签名档是Sent by Lotus Notes Traveler的邮件了。
E71在中国已然成为商务街机 - 毫无疑问。
刚刚发布的E72有个新东西,诺基亚首次把IBM Lotus Notes Traveler预装进了它的手机。在商务领域,只要黑莓服务费下不来,E71/72还会一直升温。在公司,已经开始收到签名档是Sent by Lotus Notes Traveler的邮件了。
从07年第一个版本开始,Lotus Connections就提供了搜索功能 - 很明显这应该是social software的最基本功能。2.0版本以前的实现是每个模块使用Lucene来做全文索引(索引调度也由各模块独立实现)。 从2.0开始,我们开始支持global search,也就是用户登陆到“主页”后,可以在一个独立的搜索界面中同时搜索多个模块(如博客、书签等)。从实现角度看,global search机制稍有不同。首先,与各模块的索引调度类似,它也会定期的到各个模块爬内容,不同的是它的“爬”是通过发出一个HTTP请求(通过basic authentication指定搜索管理员帐号信息),收到请求的模块将返回一个XML格式的数据结果(我们称之为“seedlist”)。Global search在收到seedlist的结果后在本地重新构建索引(一个经过IBM扩展过的Lucene实现),并提供统一界面的搜索。这样用户可以不用在多个模块之前切换就能实现统一搜索。由此带来的一个新问题是,用户在模块内搜索的结果和在global search中搜索的结果不一致,产生的原因一个是因为使用的索引模块实现不一样;另外一个原因是如果在索引周期内用户数据发生了变化,独立索引和全局索引也会产生数据不一致。
从2.5开始,Lotus Connections搜索的一个最大变化是放弃了各个模块内自己的索引而统一使用全局索引。通过调用EJB或者REST API,用户即可以在单一模块进行上下文相关搜索(如在Dogear里只搜书签),也可以做跨模块索引。所有的索引任务(爬、构建索引、查询服务和API )全部由global search负责。这样,各模块省去了独立实现搜索的任务,而搜索结果也实现了统一。
最近有不少做客户项目的同事问用OmniFind对Lotus Connections进行搜索的可能性。答案是:可以。这个功能从Lotus Connections 2.0就已经提供。具体在OmniFind上的配置方法见:http://www-01.ibm.com/support/docview.wss?uid=swg27013527&aid=1。
个人认为这是非常重要的一个功能,对搜索引擎优化等有重要的影响。其实即使在如Lotus Connections这样的企业应用中,为外部搜索引擎提供有效的内容索引也是我们考虑的问题之一。比如在URL后添加 “?lang”参数来指定页面的语言翻译会为同一份内容提供两个不同的URL,有了这个规范(目前仅限Google),可以在页面中指定我们推荐的URL - 既可以归一化URL,还可以把分散的pagerank汇集到同一”内容“页面上。淘宝小店的店主们看看能不能试试这个功能,提高搜索命中率。
土耳其语的字符i有四种形式:i, I, ı 和 İ。 如果使用Java语言进行这四个字符间大小写的转换,会有意想不到的结果(见下图)。
在土耳其locale下,进行字字符i的大小写转换,可以看到潜在的危险:想像一下如果字符i(I)出现在文件路径、HTML标签、电子邮件地址、URL等,那么转换后将导致严重的问题。一个没有在设置了土耳其locale的操作系统环境下进行过GVT(Globalization Verification Test)的软件,暴露出此类问题的可能性相当之大。
因此,在我们处理土耳其i的大小写时,需要区分字符使用的上下文环境:如果使用在用户不可见的系统相关的地方,如上述几个例子,那么在做大小写转换的时候必须使用英文的locale;如果字符出现的用户界面上且和土耳其locale相关,则需要使用土耳其locale进行转换。不过在有些情况下,如何选择转换方案并非如此容易,甚至是无法事先预测的。个人认为,处于安全的考虑,在无法正确判断上下文的情况下,可以使用英文locale来进行处理,在进行GVT或者TVT的时候如果发现存在问题,则case by case的来解决。
最近读到的两篇帖子:秭归县委书记进京为李彦宏送脐橙, 上海去年新增就业五分之一来自淘宝。网络商务不仅扶正了民营的快递服务,刺激了物流业,还直接帮助个人实现就业,还提供就业服务(如淘宝在各地开设淘宝大学,指导卖家开店)。双赢,没有比这更好的典范了。
今天IBM CDL内部的人员搜索工具CDL Expertise Find正式上线了。这个工具整合了Lotus Connections Profiles和Atlas for Lotus Connections,利用人员tag,以及邮件、聊天历史记录,发掘员工之间的联系并可以确定维系相关人员联系的关键词(如产品、技术名称等)。Expertise Find对搜索结果可视化,直观的展现人和人的关系。

附:
如果在最近一年来在Google上搜索过技术问题的话,有两个网站一定出现过在搜索结果里:http://www.experts-exchange.com 和 http://markmail.org/。这两个网站是如此重要,以至于我看到搜索结果是来自它们的时候就会感觉有戏了。
experts-exchange的模式是由自己提供平台供提问、解答,利用积分等机制鼓励贡献知识并建立收费机制;experts-exchange实现了Google Answer想做却没有做到的事儿。
markmail则基本上是通过搜索网上讨论组的内容,对内容进行重新整理、布局,以更容易的方式提供内容访问(界面类似传统邮件程序的三窗格方式)。
experts-exchange的结果准确率高;而markmail的搜索覆盖面大,各有特点。
此外,如果是中文搜索的话,百度知道出现的频率越来越高(即使在Google中搜索)。百度知道是很好的东西,帮我找到了不少小问题的答案。

原文:http://www.sdtimes.com/content/SDTimesPDFEdition.aspx?File=sdtimes210.pdf
这个星期我在北京参加了IBM中国开发中心创新开放日(暨北京开发中心环宇大厦的启用仪式)。15日下午,我和同事一起做了”Web 2.0及未来“的报告和演示,概要的介绍了IBM(主要是Lotus)在Web 2.0方面所做的工作、战略前瞻和趋势。其中用了40分钟的时间给参加会议的来宾演示了一个整合了绝大多数Lotus产品的一个应用范例 - 这个21分钟的演示是北京、上海Lotus团队集体协作的成果。该演示中的产品包括Lotus Notes/Domino, Sametime, Quickr, Connections, Mashup, Symphony和Portal,应用场景则包含了协作、文档、流程、社区、集成等。
有兴趣的朋友可以在此下载此演示文档(不包括demo):Web 2.0及未来
请下载安装Lotus Symphony以打开此文件。
多谢北京各位同事对我的招待,净吃白食了
这周我把Symphony升级到1.1;Sametime升级到8.0.1,然后装了新的浏览器。对于Notes,刚发布的8.0.2版本在如下方面有了提高:内存使用量减少20%,内置MS Office 2007文件阅读器;支持iPhone。这是Notes 8.0.2的性能比较表。
下次Notes升级打算直接上8.5了。
“成功的人在问题中找答案,失败的人在答案中找问题。” 我倒不是故意要找chrome的问题,正好在下午碰巧遇到的一个问题。
在WebSphere Application Server的admin console的”Log and Trace“里面,如果要根据Java包名开启trace日志时,点树状上的加号无法展开子树,而在IE和FF中都没问题。
周围的同事基本都chrome了, 看来Connections 2.5里估计是要进入支持候选列表,虽然我个人觉得最终官方支持它的可能性并不大。
从任何角度审视盖茨和微软公司,他们无疑是史上最成功的人士和公司,而且为信息社会的发展写下了极为精彩的一笔。从现在开始,大家开始看到一个不再有精神领袖的企业,微软任重而道远。
这是微软网站上一段15分钟的回顾短片,另外这是新浪上的压缩版并配有中文字幕。
在经历了6个月的辛勤工作后,我们的成果Lotus Connections 2.0终于面世了。多语言版(24种语言)将在几周内随即发布。我在Beehive上的签名也该改掉了:-)
2.0的功能与特色,相信很快会有相关文章出来。上周在波士顿的演示会上2.0版得到了非常好的评价。
作为开发者,在抒发了小小的成就感后,立刻就要投入到下个增强版的开发中,相信再过几个月会再给大家来汇报的。
刚注意到新浪新闻首页改版,变成了左、中、右三列,正文在中间一列,左右分别是相关链接、博客、评论等。
我不太喜欢新页面,因为它分散了我的注意力,觉得目光一直吊在天上没法儿落地。几年前网易的新闻就是这个模样,眼珠左右转,看的吃力的很。
这不由的让我联想到自己参与开发的产品,也许不少自认为还不错的改进,在用户朴素、保守(每个用户或多或少都有)的想法面前会显得苍白。不过话再说回来,单纯由用户需求驱动的产品可以是个好产品(比如一个ERP应用),但伟大的产品一定(或许有点绝对)是小众观点集中式人品爆发的结果 - 伟大的产品创造需求。
经过5个多月的努力,Lotus Connections 2.0 Beta版已经出炉。这段时间本人博客销声匿迹,全拜它所赐。
距离正式发布还有几个月,要抓紧时间,只争朝夕。
毫无疑问,“云计算”将成为继“网格计算”后,工业界和学术界的又一个热点。联想到过去几年国内高校的P2P、网格计算的热度,2008年国内估计至少得有50份以上的计算机专业博士论文开题报告和“云计算”有关。和“网格计算”相关的课题,也多多少少要变个身影,搭上个“云”边,与时俱进。
IBM也在近期关闭了developerWorks的网格专区,一心奔着“虚拟化”,“云计算”而去了,并且在国内有了第一个“云计算”的合作案例。
我对云计算在国内、外的研究有一个小小的期望,就是要“头顶天,脚睬地”,搞学问的时候忘掉概念,从解决实际问题的角度出发突破创新。让“云计算”创造更多价值,而不是论文。
permalink是Blogs 2.0里新添加的功能,和WordPress的”slug“很类似,允许博客作者为自己的帖子指定一个有意义的、永久的URL。
对于客户端来说,permalink的存在,只有在支持HTTP 302的前提下才更有价值。因为很多的permalink或者一些feed的订阅地址,会像public API一样,一旦发布出去就应该长时间保持有效,即使需要修改也必须同时用302重定向的方法支持老的URL。最近我在整理ThunderBird里订阅的feed列表,发现有不少feed(都是一些大牌儿网站的feed)已经失效了,而用浏览器访问这些feed则可以正常阅读,究其原因就在于ThunderBird不支持HTTP 302重定向,人家feed地址一改就歇菜了。
对于企业内部用户,feed reader面对的是配置了各种策略(包括安全策略)的部署环境,重定向几乎不能避免,对它的支持格外重要。
Lotus Connections 2.0后台的O/R mapping将从iBatis 2.1.5升级到2.3,今天在测试的时候发现部署iBatis 2.3后导致Blogs出现大量exception,大部分功能失效。然而根据文档,2.3的API是向下兼容的,理应不该出现此类问题。
做了一番调查,发现原因如下:当iBatis拿到结果集后调用Java pojo的setter方法来保存对象集合,而如果一个pojo存在两个同名但参数类型不同的setter时,2.3版本iBatis会调用到错误的方法。以Blogs为例,其中一个pojo有两个同名的setter方法,一个参数类型是java.util.Set,另外一个是java.util.List。iBatis会错误的调用”setXXX(Set mydata)“而不是”setXXX(List mydata)“方法,因为iBatis的O/R映射集合类型是不支持java.util.Set的,所以出现argument type mismatch的错误。
通过修改pojo,消除同名setter方法可以解决升级到2.3后的这个问题。
J.Drovak在近期谈到了十大”bright ideas“,有一条叫做“Make Dead Products Public Domain”。(另外有一条叫“停止外包”,说Intel与其在中国成立工厂不如在美国(指的应该是大连新的封装工厂),不过PC Mag中文版的翻译却成了“与其在印度成立工厂…”,编辑们的用心良苦…)
退市产品的公共化问题,的确是个非常好的主张,不过面临的困难极其巨大,我大致分析一下大概有以下两个主要原因阻止了这件事情的发生:
1. 产品所有者的潜在经济利益。一个退市的产品,虽然不能为其拥有者带来经济利益,但一旦成为免费的公共资源,有可能间接与自己目前的产品发生冲突或者有可能被利用来创造和自己竞争的产品(或免费提供)。比如微软不卖DOS已经很久了,如果把DOS免费贡献给公众,可能会被利用到一些可能成为微软利益区域的领域(或者某些当前还无法预测的领域)。放在产品所有者自己手里,虽然一分不赚,但也没了这些风险的困扰;
2. 专利的限制。即使产品所有者主观上愿意把陈年老货免费赠送给大众,一个潜在的问题是产品所包含的专利权。如果产品内包含的所有专利都也都来自同一所有者,那么这个问题很简单,如果产品包含的专利还同时来自与第三方,那么产品公共化所涉及到的就不仅仅是产品所有者单方的问题。要达成多方的共识本身就要耗费资源,这个问题如果没有相关法律制度的帮助,很难促成。去年,IBM的OS/2正式下市,有不少人提议将OS/2开源,最终IBM还是没有开源OS/2的原因之一就是OS/2不仅包含IBM的代码,还有其他公司的代码。
除了需要配套的著作权和专利法的促成外,政府还必须提供必要的利益补偿(比如免税等等),才能把这件企业(尤其是软件企业)最低优先级的事情进入所有人的视线,让知识财富更好的为社会服务。
前天收到一个客户询问想知道有哪些免费的feed reader可以用来订阅Connections的atom feed。因为Connections部署在公司内网,在线的feed reader都无法访问(如果有基于JS的atom reader倒是可用),所以只能需找客户端软件。
在网上搜了一吧,免费的里面对Connections的支持好的feed reader算一个,RSSOwl也可以不过在处理Connections的feed上出现了一个问题。ThunderBird不支持Atom很遗憾,虽然Firefox上有atom reader插件不过客户大多数使用IE 6/7,所以也不是个通用的方法。
如有更好选择,请跟帖拉