2009年9月24日星期四

[翻译]重(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"指示器

没有评论: