/ 用户体验

[翻译]重(zhòng)载下的动态 UI 设计技巧

TechTarget 主办的 Ajax Experience 2009 大会9月14日至16日在波士顿举行,业内大牛纷纷向 Web2.0 世界发起挑战,探讨一些诸如用户体验、高性能与可维护性、架构等伟大主题,放出的 PPT 在此

下面是 Patrick Lightbody分享的后半段总结翻译(前半段为演示):

为失败而设计

  • 不要忘记 AJAX 仍为网络应用 - 网络会由于各种原因失败
  • 网络不可预知
  • 为 AJAX 请求意外添加 Hook - 为存储请求状态及重试而编码
  • 为失败而测试

谨慎对待 DOM

  • 非必要时不要改变 DOM 状态 - Avoid aggressive “synchronization” common in some AJAX toolkits

  • 合并数据而非替换 - 页面局部加载(div.innerHtml=…)也不是很好

  • 会带来更多工作,但是运行不畅时会有更好的体验

锁住 UI

  • 不要给用户机会去改变那些可能由你来改变的事情 - 比如提交后禁用按钮
  • 如有必要,使用模拟的对话框来锁住整个 UI
  • 请记住:要有恢复措施! - 为失败而测试并确保发生意外时 UI 解锁

告知用户

  • 始终让用户知道正在发生什么
  • 当发生糟糕的错误时给他们一个完美的“逃生舱” - 为逃生舱设置入口
  • Gmail 是个很好的案例
  • 至少,有个简单的”loading”指示器