谈谈黑莓8820

入手黑莓 8820 (BlackBerry 8820), 将近半年. 它的优点不容置疑: 优秀的通话质量, 人性化的操作细节, 出色的屏幕显示效果, 即使在阳光下也可以看得很清楚.

黑莓的优秀表现我就不多说了, 接下来谈谈它的缺点吧.

黑莓毕竟是为以英语为母语的国家设计的, 所以中文输入不是很方便, 自带的拼音输入法简直是糟糕透顶, 第三方输入法的兼容性又不是很好, 导致的结果是, 即便配备了QWERT键盘, 中文输入还是很慢. 好在最新的 5.0 ROM 已有很大改善.

黑莓 8820 的另一个缺点是轨迹球, 想当初轨迹球也算是革命性的创新, 现在却已被光学触控板所替代, 新款黑莓配备的都是光学触控板, 轨迹球被淘汰是必然的. 轨迹球容易进灰尘, 容易损坏, 出汗后不好使用. 像我的 8820 在夏天用起来真的很不爽.

还有, 黑莓的桌面管理器不好用, 用垃圾形容也不为过. 单单是安装文件就300MB以上, 安装的速度也是慢得令人不能忍受, 而且使用时会出现各种莫名其妙的问题, 比如中文输入法状态时无法正常连接, 需要切换到英文输入法, 然后重启一次(希望受影响的只是个别 4.5 ROM).

虽然黑莓的一些缺点令人很不愉快, 但是并不能阻止莓控们的喜爱, 我虽然不是莓控, 但是对黑莓还是很有好感的. 新上市的 BlackBerry 9700, 无论是配置和外观都很吸引人. 我个人不是很喜欢触摸屏的手机,看到 Nexus One 也没其他人激动, 只是挺喜欢 Android 系统. 真希望 BlackBerry 9700 可以刷 Android 的 ROM, 那就爽歪歪了:)

WordPress的一些小缺点


WordPress 2.6发布了,说实话我并不是很喜欢这个版本。虽然WordPress 2.6增加了一些新的功能,对安全性方面也有了一定的提升,例如对SSL支持等,但是它对数据库的整洁来说,还是一团糟。

新版中增加的一个重要功能是Post Revisions(文章的版本控制),作者可以对比查看文章的不同版本,并恢复到以前的状态。但是,文章的不同版本,数据库中该放在哪里呢?答案是wp_posts。默认状态下,所有的实质内容都记录在这个数据表中,包括文章、图片视频音频等信息。而wp_posts的PRIMARY KEY为ID,于是一篇文章常常要占用3个不同的ID,它们记录了文章的3不同状态Current Revision、Autosave、Revision,也就是当前版本、自动保存的版本还有以前的版本,如果修改过多次,就会出现revision-2,revision-3…  于是乎,文章的Id不再连续了,特别是Permalink结构为archives/123形式的博客,上一篇为archives/100,当前这一篇可能就是archives/105了,看起来是相当的乱啊。

WordPress真的很吝啬,这么多版本过来了,数据表的数量仍然是10个,我想只要增加几个数据表,WP的数据就不会显得那么凌乱。本人并不提倡像ExpressionEngine这样,数据表多达68个,但20个以内并不过分吧。

个人建议增加的数据表有:

  • wp_temp:存储临时文件,如wp_options中的rss内容、wp_postmeta中的edit_lock和edit_last
  • wp_plugin:存储插件的配置信息,这样就不至于因为安装太多插件而把wp_options弄得一团糟
  • wp_revision:用来记录文章的旧版本及自动保存的内容

这样,只要做一下简单的清理,数据库就显得有条有理了。

WordPress的其它问题还有
1. 数据表wp_options中category_children、rewrite_rules的option_id总是不断改变
2. 如果你编辑过WordPress目录下的.htaccess,只要进入Settings – Permalinks,即使没有点击”Save Changes”,.htaccess也会追加以下内容:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>
# END WordPress

这极易导致服务器500错误。建议安装后WordPress后,将.htaccess文件的属性改为只读。

WordPress的功能是越来越强大了,伴随而来的是文件体积的增长,现在的wordpress-2.6.zip都已经1.44MB了。有时候我在想,我只不过想要一个简单的blog程序而已,有必要用一个庞然大物吗。有点期待Sablog 2.0的到来,只是小A迟迟不发布,难道要等到传说中的奥运?

Update:经williamlong的提醒,原来Post Revisions是可以禁用的,只要在wp-config.php文件中增加一行define(‘WP_POST_REVISIONS’, false);就可以了,williamlong说得对,应该在设置中增加启用/禁用选项,毕竟类似Wiki那种文章历史版本控制对一般的Blogger来说没多大意义。

WordPress URL格式的缺点

众所周知,WordPress的URL自定义功能(WordPress称之为Customize Permalink Structure)十分强大,但是,它对URL格式的处理却不怎么理想。假设WordPress安装在blog目录下,我举几个典型的例子说明一下。

当Permalinks格式设置为/%postname%/时,
各链接格式分别如下:
文章链接:/blog/post-name/
分类链接:/blog/category/category-name/
存档链接:/blog/yyyy/mm/,如/blog/2007/10/
不可否认,这样的链接格式相当不错,简练工整,对搜索引擎也十分友好。

当Permalinks为/entry/%postname%/格式时,
各链接格式如下:
文章链接:/blog/entry/post-name/
分类链接:/blog/entry/category/category-name/
存档链接:/blog/entry/yyyy/mm/,如/blog/entry/2007/10/
显然,分类链接和存档链接中的”entry”并不是我们希望出现的。

再换一种Permalinks,/%post_id%.html。许多人认为加上”.html”,网页看起来更像静态页面,有利于搜索引擎的收录。本人也比较喜欢这种格式。
请看各链接格式:
文章链接:/blog/post_id.html,如/blog/123.html
分类链接:/blog/category/category-name
存档链接:/blog/date/yyyy/mm,如/blog/date/2007/10
大家注意到了吗,分类链接的最后少了一根斜杠”/”,这对SEO来说并不是很好。/blog/category/category-name,浏览器请求的是category目录下的category-name文件,而/blog/category/category-name/浏览器请求的是 category-name目录下的索引文件,两者之间的区别是非常大的。存档(Archives)链接也存在着同样的问题。
还有,存档链接中”date”关键字的加入,虽然可以用来区分”post_id”与”yyyy”,以防止请求混乱,但我个人觉得去除”date”链接形式更统一,更工整,只是不清楚这样做是否存在一定的技术难度。

对WordPress Permalinks的建议总结如下:
将分类链接固定为/blog/category/category-name/的形式,绝不能因Permalinks设置(如加入”entry”,”archives”等)的改变而变化,并且链接最后的斜杠”/”不能缺少,存档链接的斜杠同样不能少。

希望WordPress的开发人员也发现了这个问题,让WP越来越完善。