I would like to wish you a very merry Christmas and a happy New Year.
用Discuz!为自己的小站架的论坛,想营造一个干净清爽的小社区,但机器人疯狂注册滥发垃圾帖的问题一直困扰着我。Discuz!内置的验证码机制对机器人毫无办法,而出于本站定位及用户体验上的考虑,又不能要求新注册用户邮件认证或一小时后才能发帖。
前一段时间,终于想出了个办法,为论坛注册用户项里填加了“性别”一项,要求用户必填,这样在很长一段时间内阻止了大多数的机器人。但是个把月前,机器人又开始多了起来——我分析了一下,可能的原因是:Discuz! 5.50发布,机器人普遍升级,有很多人在软件端将性别项填上了。
于是又想了一个办法,参考了有一些程序上的简单算数题,但一来随机取数麻烦,二来担心有参数就有可能被机器人读取并算出结果,于是就直接写上“3+5=?”——对于开源程序,如果是一个算术题程序,我想是不是很容易被破?而教用户一个简单的自定义方法,让各家各填数字,是不是会对机器人更有效一点?
这样,论坛一下子就安静下来了,再不用每时每刻惦记着打扫了——点击图片查看在线演示。

今天因腰疼休息在家,无奈又闲不住,就站着给自己的阅读找条出路,最后选择了Gregarius这个新闻聚合器,架起了见好就收·很博客,用于搜集自己平时经常阅读的博客。Gregarius目前而言比较合适的一个选择,主要功能如下:
- 完全基于web,采用PHP+MySQL(内含MagpieRSS,kses)
- 支持多种数据库
- 支持RSS/RDF/ATOM多种格式
- 支持OPML导入导出
- 简单配置,易于管理,扩展功能强
- 提供标签tag功能,采用AJAX来编辑标签(作者也赶回时髦)
- 支持搜索
- 国际化语言支持页面采用XHTML/CSS时下流行的网页标准
- 采用GPL协议的开放源代码的免费软件
PS:为什么国内这么多优秀的程序员,却不做这些实用的开源程序呢?时间过得很快的,转眼间结婚了,生子了,就没有这样的机会了。
我们需要话语权
公司最近的一些状况很令我不安。所谓的UI部门,实际的工作却一直被一些短平快的项目所困,真正的网页结构版式、用户体验却握在不令我满意的产品、策划编辑手中(网页的基本在排版)。更要命的事,其上山头林立,所有人都能管(所有人都管也就是所有人都不管,真正要个人决策却找不到人),疲于奔命。所谓的WEB2网站,一边产品瘦弱得要命,一边却要销售优先,真是让人汗颜。
还没到两个月,我就已经厌倦了这样的生活。对于自己,我清楚自己不是一个好的管理者,我的理想只是在家过着悠闲的SOHO生活,最多为自己找三四个完全可以由着自己来处置的帮手。我无法严厉地对人,任何事情,都喜欢看着别人自已的表现而作出对此人的判断,而不是强人所难地去让他干这干那。而一旦发现非我同类,就会非常粗暴地在内心中拒绝——所以最好还是让我单干。
从昨天构思开始,一直忙到现在,凌晨5:00,对网站进行了一次比较大的修整,具体有四:
- 对列表页面更改了布局,增加了每篇文章添加的日期。这一方面是稍微弥补一下版面太宽而标题过短的视觉缺憾,另一方面也可以让网友看到我们网站自2004年至今依然还在不断地持续更新——这是一个值得你信任的网站。
- 内容页面右侧各频道最新热门文章列表的优化——主要是原来内容页面最新热门文章由JS调用改成直接生成HTML,这样虽然不会整站更新会很难(费时),但是解决一JS调用偏慢的问题,也更有利于搜索引擎的爬行。还有一点,对网友而言,他无论的多少页面,他看到的那一块永远只是那么几篇固定的文章,而现在因为有了时间差,所以会有更多的选择。
- 解决了反采集的问题。已经发现好几个网站在采集我们的内容,虽说我们也不是原创内容,但是我们的内容是精心挑选、编辑的,被别人毫不费力地机器采去,真觉得心痛。后来我也用了一下采集,知道了基本的原理,便在页面中为正文部份的开端代码设置了一个随机数,之后的代码并非整页唯一,呵呵,应该难采了吧——是不是有更先进的采集技术我不知道?
- 因为前天发现Google Adsense增加了每个广告可以同时设置五个渠道的功能,所以也顺便修改了Google Adsense的广告渠道,以便更好地跟踪、筛选广告。
缘于对各种因素的综合考虑,我没有选择托管,也没有采用各种优秀的博客程序,而是选择了PowerEasy CMS来架设我的博客。它的优点是有全静态输出,并且调度更加灵活。缺点是输出的代码不符合WEB标准,自定义动态标签也还不兼容FireFox。
鉴于CMS与博客在程序上还是有一些不可融合的地方,所以阅读本博客需要注意的几个小问题,不过也有的是自觉不错的:
- 在博客首页、栏目页所展示的文章摘要,是 真正的经过慎重编辑的摘要,而不是只截取开头N个字符的所谓摘要,如下图所示。如有阅读兴趣,强烈欢迎点击“阅读全文”。
- 在我的“每日阅读”中,一般都会写上自己的读后感。
- 所有页面的右侧诸如最新日志、日志排行等没有使用JS,所以并不能实时反映真实情况,但一般会在午夜进行更新。
- 日志的阅读数蜷缩在内容页的右下角,它不希望因为要读数据库而拖慢整个页面的速度,而且它也还太小,不希望引起别人的注意。
- 评论页看上去框框太多,但实际上需要照顾一下用户名与评论内容两位兄弟即可。他们非常渴望得到大家的打赏,呵呵,一字千金,有得赚头啊。
- 引用通告(Trackback)使用的是Haloscan的第三方服务,虽然是英文界面,应该还是比较简洁的吧。没有办法,谁叫这个CMS没有呢,只能这样插了。
- 不要苛求源代码。PowerEasyCMS的输入代码本来就差强人意,CSS也因修改时间历时太久没有疏理而显得杂乱,但现在看上去还比较满意,等到需要大改了再一起修改吧。
- PowerEasy CMS 的部分功能尚可挖掘,页面细节会随时更新。
合理的以用户为中心的交互设计[LUCID,以前称为高质量可用性工程(QUE)(Kreitzberg,1996)]是Cognetics公司经过很好测试和广泛应用的方法。它为设计过程定义了六个阶段。
第一阶段:预想
- 调整所有股东的议程,平衡需求以满足商业目的和管理技术约束,支持用户的需要以得到高效的实用产品。
- 在股东之上发展一种清晰、共享的产品场景。
- 识别和处理那些隐藏的可能会削弱开发团队高效合作能力的问题。
- 开始以概念草案为基准设计程序。
第二阶段:发现
- 为产品用户开发出可理解的、具有特性的各个不同的部分。
- 理解目标用户的职能、需要的信息、使用的术语、他们的优先级以及他们的智力模型。
- 分析收集到的数据,创造产品的用户需求。
第三阶段:设计基础
- 开发和验证产品的基本概念设计。
- 开发产品的视觉外观。
- 陈述完善的设计作为关键屏幕画面原型。
在设计过程的初期,用户界面设计人员应该制定出一套指导工作的文档。苹果公司的Macintosh系列产品取得成功的原因之一,就是其早期所做的具有良好可读性的指导文档,这些文档给应用开发人员提供了一系列明确的原则,使产品的设计可以协调一致。微软公司的Windows指导文档经过多年的推敲也已做得相当完备,它给后来的许多程序员提供了一个好的起点和有价值的经验。
每一个项目都有不同的需要,但是指导文档通常应该考虑以下内容:
文字和图标
- 术语(对象和行为)、缩略语和大写
- 字符集、字体、字体大小和样式(粗体、斜体、下划线)
- 图标、图形和线的粗细度
- 色彩、背景、突出显示和闪烁的使用
屏幕布局问题
- 菜单选择、表格填充和对话框格式
- 提示用语、反馈和出错消息
- 对齐方式、空白区和边缘空白
- 数据项与表格的数据输入与显示格式
- 页眉和页脚的使用及其内容
- 适应大小显示器的策略