关于ASBlog的新想法

    想写出来这些想法已经很久了,不过苦于没有时间。今天难得有空,就发上来了。

    一、程序的定位

    下一代ASBlog应该立足于个人门户。需要将个人门户的各种元素融合进来。本人考察了众多的博客程序(比如Qzone、Baidu Hi、Sina Blog、Oblog等等),发现他们无一例外地向个人门户的方向发展。在下一代ASBLOG中,也应该将这作为发展方向。综合各方面的用户需求,我认为,个人门户应该包含以下六大内容模块:博客、相册、收藏、订阅、资源、播客。另外,由于一个网站定位于个人门户,就要起到宣传自己的作用,所以应该还要有类似张贴个人信息的模块。

    二、用户集群功能

    各自单干的博客是将要被淘汰的,所以下一代ASBlog应该是支持单用户集群。即通过AS官方平台,通过统一的通行证将分散于各个站点的ASBlog连接成为一个整体,实现好友、聚合等等集群功能。让ASBloger不再孤独。具体的实现方案我在以前的帖子中已经提到了。

    三、功能模块化与新的模板风格实现

    在以往的ASBlog中,经常会出现安装插件后去修改模板的工作。对于熟悉HTML的用户来说,也是比较繁琐的,每次更换风格都要修改新的模板。而对于完全不懂或者不熟悉HTML的用户来说,这是一个沉重的负担。所以有一些用户放弃支持ASBlog很可能就是因为这个原因。虽然2.x系列模板实现方式有了很大变动,但还是相当繁琐,不够简洁。基于以上问题,我提出模块化的想法。对于系统的所有页面来说,可以做如下分类,即首页、列表页、内容页、其他页。那么模板就可以制定这四种基本结构。对于当前流行的风格来看,一个页面有如下几个部分:Head、SideBar、Main、Footer,由于Head部分大多相同,少有变动,于是就只针对后三种种位置设计模块。作为一个个人门户,其首页应该展示全站的风采。所以首页可以有最新日志列表、最新图片等等,这些模块可以设置并根据设置显示在SideBar、Main两个位置上。Footer位置的模块主要用于放置版权、广告模块。对于列表页、内容页,可根据 Sidebar模块项目的设置,决定是否在这些页面显示。而其他页没有SideBar部分。这样,每次安装插件时,系统只需要自动添加一个模块就可以实现在页面显示了,而不需要用户直接修改模板。

    对于模块的布局方式,可以使用传统的后台设置是否显示、排列顺序,也可以使用当前比较流行的拖拽布局模式。效果可以参考Baidu hi、163 Blog。另外还可以考虑引入完全可以随意拖动放置的模块,效果参考可以Qzone。

    为了实现以上功能,而且不使模板复杂,可以寻找各个部分的共同点,主动忽略一些细节,来达到简单而且强大的目的。

    四、内容的发表

    用户签写日志等等内容,一定要遵循简洁至上的原则。在使用2.x时就感觉到设置项太多反而无所适从了。本人发现,各大网站提供的博客服务发表日志需要填写的内容很少,几乎只要写标题和内容就可以了,虽然这在一定程度上限制了用户的自主性,但对于初级用户来说却是一个福音。因为很多用户只是像写博客,并不一定是玩博客程序的。所以在下一代ASBlog的内容签写页面的设计上,也要做到简洁。即将众多的、不常用的设置项按照默认值隐藏,让用户简单到只写标题、分类、内容就可以的地步,同时对于希望进行更详细的属性设置的用户,可以显示设置项。日志摘要最好实现完美的系统截取,避免用户的烦劳。另外,日志自动保存功能一定要增加,以防诸如浏览器崩溃、停电让辛辛苦苦写的日志报销。

    五、插件风格的共享性

    在ASBlog2.x时代,每次更换模板都是先跑道论坛上大肆搜索,然后下载,最后上传安装,发表模板也是如此。前几日看到ZBlog在后台就可以自动下载安装插件模板。这个功能可以大大方便用户,在下一代ASBlog应当添加,直接选择自己喜欢的模板,剩下的让ASBlog完成就OK了。对于分享模板,也应该可以自动打包上传,配合AS通行证使用户可以赢取积分或贡献。

    六、系统效率问题

    ASBlog2.x的效率实在是不太令人满意。我以前也进行了实测,将情况反映给了Felix。希望在下一代ASBlog中能够大大提高效率。下面说几条我想到的提高效率的办法。首先,ASP作为一种脚本,执行效率自然差强人意,但是我们可以通过使用ASP相对底层东西来避免执行,从而提高效率。比如,将系统设置项以变量定义文件的形式储存,就可以节约数据库查询,修改时只需要重写相应的设置文件即可。甚至大胆一些,可以将预解析过的模板以系统常量的形式写在定义文件里面,这样可以避免读取模板文件使用组件,降低执行效率。其次,缓存完全可以不检查是否超时,因为在每次更新数据后都有相关清理缓存的语句,既然缓存的内容一直没变,那为什么还要刷新呢?不如去掉检验超时,节约资源。再有,系统中那些查询数据库然后进行字符串出来再显示的,可以改为更新数据时先整理字符串然后再写入数据库,毕竟修改内容次数很少,显示内容次数很多。最后,就是AJAX。对于一个页面来说,如果需要获取数据,那么只执行一次请求那再好不过了。比如在ASBlog2.X中边栏加载,本人粗略统计了一下请求了不下四次数据,那么这样即使是一个用户访问,那么他也使用了4个IIS(事实上比这还多),这对于那些空间IIS数比较少的用户来说无疑是降低了负载量。

    七、搜索引擎收录

    在ASBlog中,本人认为有AJAX滥用的嫌疑,呵呵~ 比如列表页设置生成静态后,翻页都使用了AJAX,这样对于后面几页的内容,搜索引擎反而收录不到了,降低了生成静态的效果。所以应考虑将分页列表全部生成静态。

    八、API接口

    鉴于配合上面所说的第二条,应当设计API接口。可以使AS平台收录新的日志,帮助用户关系自己的评论、留言被回复的情况,好友有没有新的动作等等。另外,最好能够增加诸如Email、WAP、离线程序写日志的功能。

    后记:

    应该说,这是我心目中完美的博客程序应该有的特点,本来完全可以自己动手写出来这个程序,可是苦于没有时间,所以只好提出来寄希望于AS团队了。也许我的观点有些偏颇,不能代表广大用户的观点,但还是希望各位高手指正,共同探讨完成下一代ASBlog。