网页设计:把导航系统做薄
作者:一叶千鸟 来源:蓝色理想 发布时间:2007-12-28 12:02:00
和朋友讨论时,我提到过一个观点,所有框架层设计中,最核心的是导航设计。最近更看到有国外同行提出“80%的可用性是导航!”因为良好的导航可以保证用户找到任何信息。也就是说,提供到达的可能,远比如何到达的可用重要。
我习惯把导航分为一维、二维、多维来简单理解,一维对应线性结构,二维对应分层结构,多维对应无序结构。这么说可能比较抽象,其实都已经是耳熟能详的应用,分别举例阐述设计意图:
最原始仅限于一二 * 的,单对多树状应用就是“分层导航”,基本属于必要元素。
跟踪用户行为,记录的用户在网站的活动足迹就是“线性导航”,俗称面包屑。
管理系统的后台,在首页增加的类似跨分层结构的链接就是“无序导航”,俗称快捷方式。
二维结构复杂到一定程度,必然造成导航纵深过度,用户到达的难度增加。此时就需要考虑其他方案综合实施,具体设计可以概括如下:
从无到有的堆积过程,把当前所有能够调度的资源全部拿出来。
由多到少的序化过程,分解任务找出主次任务线索并重组。
回忆起Flickr改版,前几次重要的导航改动,都会更换版本代号,可见Flickr把导航系统看的相当重要。同时,Beta和Gamma两个版本的升级也对应了我的想法,参考头部导航片段:
Beta的特点是想要什么就能看到什么,从Alpha起就在不断的加功能,虽然期间也在做任务分解的调整。但显然,量太大怎么调整也会感觉复杂。Gamma的特点是想要什么就有什么,只不过把要不要的权利还给了用户。
如果从用户体验的角度来阐述,Beta已经满足了用户的认知体验,好玩够用;Gamma提升了用户的操作体验,耐玩易用。大家仔细对比,还能找到 豆瓣改版 与之相似的痕迹。
有了运营数据,问题很容易暴露。比如北京的交通,最理想的状况是把北京市划分成N个小区域,各区域之间使用地铁/城铁等高速交通工具,各区域之内则使用公交等低速交通工具,同时地铁/城铁和公交站上下一体化,如此可以尽量避免公交路线的大范围交叉(扁平结构),主动预防而不是被动减压。
我们面临的事实,首都不能重建,但产品完全可以重来。


猜你喜欢
- 前言对于JavaScript程序的调试,相比于alert(),使用console.log()是一种更好的方式,原因在于:alert()函数会
- 前言最近发现一个神器,那就是GitHub和OpenAI联合构建的AI自动编程工具Copilot!Copilot基于自然语言处理模型GPT-3
- Python + OpenCV 直接上代码import cv2 import numpy as np from matplotlib imp
- tensorflow在1.4版本引入了keras,封装成库。现想将keras版本的GRU代码移植到TensorFlow中,看到TensorF
- 2008年,对于JavaScript来说是非常振奋人心的一年,很多高人加入到JavaScript和Web开发的阵营中来,浏览器厂商在技术上互
- 1-错误详情cmd下运行net start mysql启动MySQL服务:提示发生系统错误5。拒绝访问。cmd管理员模式运行可以启动MySQ
- 1 前言上篇文章Python爬虫获取基金列表我们已经讲述了如何从基金网站上获取基金的列表信息。这一骗我们延续上一篇,继续分享如何抓取基金的基
- 前言最近因为工作的原因,在使用SSM框架实现一个商品信息展示的功能,商品的数据较多,不免用到分页,查了一番MyBatis分页的做法,终于是实
- 前情提要:公司运营的一个商城系统,忽然发现订单提现功能有问题,有大量的商户体现金额和订单金额不一致。于是产生了需求,需要把提现表和供应商表作
- 关于文件名:必须以如下方式命名,不要乱起名,也无需专门手动控制加载哪个文件.env 全局默认配置文件,不论什么环境都会加载合并.env.de
- 目录一、列表求并集1. union_by二、列表求交集1. intersection_by三、列表求差集1. difference2. di
- 如何用PYTHON制作填词游戏新建一个PYTHON文档。用JUPYTER NOTEBOOK打开即可。print("Heart is
- js 获取经纬度的实现方法<!-- copyright (c) 2009 Google inc. You are free to
- JS怎样知道Flash广告条被网友点击过? 1、Flash广告条不是我做的,它的链接是写在里面的。 2、我想统计这个Flash被网友点击了多
- 这个模块提供了与 Perl 相似l的正则表达式匹配操作。Unicode字符串也同样适用。正则表达式使用反斜杠" \ "来
- 如何实现让每句话的头一个字母都大写? <%dim txtFnametxtFName = &qu
- ThinkPHP的分组功能是广为开发者使用的一个具有很大实用价值的功能,该功能可以解决中大型项目情况中MVC分层文件过多导致不易管理的问题。
- 二是什么时候CPU是空闲的?空闲是一个相对的标准。有时会CPU使用率30%以下可以定义为空闲;而有时候CPU使用率只有不到60%,就是空闲。
- 今天项目上遇到一个问题,需要在点击a标签时,将完整的内容显示出来原先是想用jquery的click方法<a ownattr=“……”
- 本文实例为大家分享了python爬取51job中hr的邮箱具体代码,供大家参考,具体内容如下#encoding=utf8import url