Posts Tagged ‘快速阅读笔记’

《构建可扩展性的Web站点》阅读笔记

Sunday, March 28th, 2010

作者Cal Henderson,最知名的2.0照片分享社区 Flickr 的合伙人之一和首席软件架构师,在构建一个大型网站方面,自然会有很多有价值的经验。此书第一版出版于2006,对于发展迅速的互联网来说,书中很多环境,技术已经发生了改变。但是在某些方面还是更新了我的许多模糊,肤浅认识。现在,就以下几点,记录下我的收获。

定义Web应用程序

Web应用程序不是桌面应用程序、也不是Web站点,而是介于两者之间,同时涵盖双方的特点。与Web站点相比,Web应用程序最关心的不是页面的集合,而是应用的分层。作者说:

Web应用程序是具备一个核心数据集合的系统,这个数据集合可以用Web页面方式访问及修改,也可以使用接口,通过其他途径进行访问与修改。

分层的Web应用程序

上面说到,Web应用程序最关心是应用的分层。作者用蛋糕做一个比喻。从Web应用程序的持久化存储层(数据),业务逻辑层,到交互逻辑和页面逻辑层再到展现层。良好的分层最大的好处是有助于工程师的分工,工程师只需关心自己对应的分层和对上下层的接口。比如,前端工程师无需考虑如何将数据从数据库中取出来,或者,完成一次搜索完整细节。而只需关心,如何用优雅或不优雅的标记将数据展现给我们Web用户。

构建你的开发环境

这里作者特地提到的三大规则

使用源码控制;使用单步创建;跟踪程序缺陷。

源码控制的好处想必不用说了,说说单步创建吧。单步构建说白了就是自动化。好处是自动化一些繁琐的过程。将一些需要多次操作的冗余过程简化到只需一个按钮,或者是完全的自动化定时执行。这样你就有更多的时间去做那些更有价值的工作。而且避免很多不必要的误操作。可以通过命令行脚本,批处理文件,开发工具的自动化插件等,尽可能减少开发时的冗余环节。所以,得好好想想怎么做一个懒人啦。 关于bug和测试,做好bug 的分级,bug分S1/High, S2/Medium, S3/Low。再依据bug等级来对bug进行修复,上周一次小型分享上小虎提到的当同时有很多bug时,先解决容易解决的,控制bug 数量对于团队合作(安稳开发情绪)其实也很重要。做下扩展,当有很多S1优先级的Bug时,先解决其中比较简单的,在去解决比较难的,当没有S1级别的Bug时,才去考虑解决S2级别的。

国际化、本地化

i18n,L10n 分别是国际化和本地化。这两个概念以前一直有混淆。这里记录一下

国际化指为应用程序添加输入、处理、输出国际文本的能力。 本地化是指为特定地区,提供定制的应用程序的过程

国际化是一种能力,而本地化是一个过程。很有趣,以前没有注意过。

电子邮件作为Web应用程序的接口

通过使用这种已经成熟的技术,为用户提供一个接入网站的,比如近期更新、最新交互、通知等各种站点信息。比如twitter的被follow的通知邮件,时光网的时光周刊等。同时电子邮件也是一种很强大的输入接口。比如通过邮件发布照片,更新博客,自动化处理邮件(通过邮件系统来处理用户命令,并自动通过邮件系统反馈)。

阅读笔记《创建高可用性的Web内容》

Saturday, January 9th, 2010

Web可用性的10条原则

  1. 避免对用户的物理、精神和感知能力做任何假设。
  2. 用户只有发送和接受文本的技术,这是你要做的所有假设
  3. 用户的资源属于用户(时间或者能力),不属于我们。不要试图支配用户的资源
  4. 为非文本内容提供文本
  5. 使用使用最广泛的技术
  6. 清晰的语言
  7. 易用、可搜索、可导航
  8. 基于语义设计
  9. 如果需要使用新的特性来改进内容,那么请同时允许那些不愿使用这些特性的人轻松地切换使用老特性
  10. 对于新的Web技术,同样使用这些原则使他具有高可用性

为什么需要可用性

  • 2000年 美国1/8 的人有严重残障,web对于他们更具吸引力。 (中国的数据是多少?)
  • 老人对高可用性网站的需求
  • 对于正常人来说也有不太明显的易用性问题
  • 法律,社会等原因
  • 可以提升设计者与开发者的能力。。

有哪几种残障:

  • 视觉障碍:
    • 失明(VA<20/200,)和弱视(VA < 20/70),工具一般是屏幕阅读器 或 屏幕放大镜。
    • 颜色和对比度缺陷
    • 感光症癫痫:有些人暴露在特定的重复图案或闪烁下时,会引发感光症癫痫。
  • 听觉障碍:(主要是为依赖声音的地方提供视觉信息,如字幕,文本)
    • 失聪
    • 听觉困难
  • 行动障碍
  • 认知障碍
    • 感知紊乱
    • 处理紊乱
  • 多重障碍

Web可用性的开发

开发过程中各个角色都有对应的可用性需求,并承担相应的可用性责任。包括

  • 项目干系人(产品经理)
  • 内容作者(运营)
  • 用户界面设计师(交互设计师)
  • 视觉特性设计师(视觉设计师)
  • 基础结构开发者(前端开发,后台开发)
  • 可用性协调员:确保环境的所有方面,不论物理的,程序上的还是虚拟的,都能被残障人士使用。

网站的的可用性不仅仅是设计师的问题,要提高网站的可用性,规划,内容,设计,开发的所有角色都要有可用性意识,并承担可用性职责

可用性途径

做好可用性计划,从一开始就做好可用性的规划,可以降低开发成本

多种访问途径

指导方针

W3C 发起的WAI(Web Accessibility Initiative, Web 可用性倡议)

WAI 发布的 WCAG(Web Content Accessibility Guidelines 1.0, Web 内容可用性指导方针1.0)

美国胡康复法案(Rehabilitation Act of 1973)的第508节,Section 508

其他 W3C编制的 政策链接列表 http://www.w3.org/WAI/Policy/

可用性测试

提到的一些工具

页面结构

创建有意义的结构,如阅读顺序,从故事板板开始设计,使用微格式

简单就是美:可读性,术语,成语,缩写

语义化的标签

新技术与可用性

CSS3中的语音模块 (Speech Module)可以定义屏幕阅读器的“样式”如:

a {
voice-family:female;
cue:url(linksound.aiff);
}

可以以将链接之前播放  linksound.aiff 声音,并用女声来阅读。

还还一些如

voice-channel:left
voice-volume:soft
voice-stress:moderate
voice-pitch:high
voice-rate:slow

等等,会提升屏幕阅读器用户的体验。 受益的可能不仅仅是视障用户了