当前位置: 首页 > news >正文

界面耻辱纪念堂--可视元素03

更多的迹象表明,关于在程序里使用新的动态界面元素,微软的态度是不确定的,其中一个是仅仅需要对比一下Office97 里的“Coolbars”和“标准工具条”。Coolbar 按钮直到用户指针通过的时候才成为按钮(否则是平的)。

工具条按钮,像在Office97 工具条里的一样,不需要用户交互;他们可以直接认出按钮控件。是我们发现了微软的争论,还是微软不小心的设计?

很不幸,WebZip 借鉴了 许多类似EMERAC 的Office97 特性,包括在对话框中不适当地使用动态工具条按钮(按钮直到指针通过时才成为按钮),而不是使用标准工具条按钮。

下面的插图证明使用动态按钮的基本问题:用户无法凭扫一眼来断定界面元素真的是一个控件,相反,如果用户没有在附带的图像上移动,就不能断定它是否一个控件。在插图中,上面的两个图像是 WebZip 的附带图像:

它们没有提供功能。当然,这个程序使用动态按钮,新用户一旦学到图像会在指针通过时变为按钮,会理所当然地认为附带图像也有这个特性。

插图中下面的图像暗示使用动态控件另外的问题:静态图像实际上也可能是控件,但是,由于它们在指针通过时没有动态行为,会被认为不是控件。那个“Scroll Down”(向下滚动)按钮不“浮动”,指针也不变成手形(在WebZip 的其他地方是这样),并且那个“Download Now”按钮,用一个环行三角表示,在响应指针移动时并不变化)。

另外,使用动态按钮的问题还有,不使用鼠标进行输入时存在很严重的限制。有意义的键盘访问键不能分配给这种控件,而且它们不支持声音输入。再有,我们发现在有意义的标题按钮(例如,上面图像的"New"、"Open"按钮,和下面图像的"Download Now"按钮)的场所使用含义模糊的图像是很差的设计。我们对 WebZip 的建议是:

开始注意GUI 中的U(用户)

WebZip 使用了一个很像这个独特网站的导航栏。当然我们可以看到一个复杂的网站需
要这样一个导航栏,但是在一个相对简单的桌面应用程序里使用有些驴唇不对马嘴(在我们
看来,他们仅仅是努力模仿一个站点的外观 ,实际上是另一回事.)。

我们把这个例子列举在这里,因为它说明了两个视觉问题:第一个问题是,这个导航栏
可以滚动,但设计者隐藏了这个事实。设计者选择自己设计的而不是标准的滚动条,熟悉这
种滚动条的用户很少。

设计自己的控件时,有一个你要遵循的好准则:

使用操作系统提供的控件。用户已经对它们非常熟悉,真正懂得它们的用途和操作方法。
当我们最后意识到这个导航栏是可以滚动的,我们选这个例子的第二个原因就变得很清
晰了:WebZip 为新用户提供了一个“Quick Start”选择,这个选择使用了一个向导风格的
界面来清晰地说明如何使用这个程序。不幸的是,这个选择是导航栏的最后一项,直到用户
知道如何使用这个定制的滚动控件才为用户所见。

这儿是另外一个规则:

让面向新用户的特性可见和可访问

不要将程序的可用特性隐藏起来。

相关文章:

界面耻辱纪念堂--可视元素03

更多的迹象表明,关于在程序里使用新的动态界面元素,微软的态度是不确定的,其中一个是仅仅需要对比一下Office97 里的“Coolbars”和“标准工具条”。Coolbar 按钮直到用户指针通过的时候才成为按钮(否则是平的)。 工具…...

国产龙芯处理器选择迅为2K1000开发板有资料

硬件配置国产龙芯处理器,双核64位系统,板载2G DDR3内存,流畅运行Busybox、Buildroot、Loognix、QT5.12 系统!接口全板载4路USB HOST、2路千兆以太网、2路UART、2路CAN总线、Mini PCIE、SATA固态盘接口、4G接口、GPS接口WIF1、蓝牙、Mini HDMI…...

MySQL 命令(持续更新)

将 MySQL 命令结果输出到文件中 通过 k8s MySQL pod 里的客户端连接到 MySQL 服务器 kubectl exec mysql-pod -- mysql -hx.x.x.x -uroot -proot -e SELECT * FROM db.table; > result.txt通过 k8s MySQL pod 的客户端连接 MySQL 服务器,直接进入到 MySQL 客户端…...

Linux下Docker方式Jenkins安装和配置

一、下载&安装 Jenkins官方Docker仓库地址:https://hub.docker.com/r/jenkins/jenkins 从官网上可以看到,当前最新的稳定版本是 jenkins/jenkins:lts-jdk17。建议下在新的,后面依赖下不来 所以,我们这里,执行doc…...

低代码框架参考

企业管理信息系统作为一类重要的应用软件系统,具有自己的特点,主要有两个方面: 1. 系统规模大,目前市场上常见的ERP系统一般都有几千个页面。 2. 页面逻辑相似性强。经过比较可以发现,大部分页面具有类似的功能&…...

2024 年 9 月区块链游戏研报:行业回暖,Telegram 游戏引发热潮

作者:Stella L (stellafootprint.network) 数据来源:Footprint Analytics Games Research Page 9 月份,区块链游戏代币的市场总值增长了 29.2%,达到 232 亿美元,日活跃用户(DAU)数量上升了 1…...

python爬虫登录校验之滑块验证、图形验证码(OCR)

在爬虫过程中,验证码和滑块验证是常见的反爬措施。针对这些挑战,通常采用OCR识别图形验证码和模拟滑块拖动来处理滑块验证。以下是如何处理这两种类型验证的详细方法。 1. 图形验证码(OCR) a. 使用 tesserocr 和 Pillow 处理图形…...

(一)Python程序结构

1、Python写模块 使用缩进分层来写模块; 2、缩进规范 最好使用同一种缩进方式,统一使用tab或者空格键; 3、换行符:\n; print("窗前明月光\n疑似地上霜") 4、续行符号:\; 注意1…...

二叉树——相同的树

还是应用递归的思想,将这个问题拆分为三个部分,第一:当两棵树均为空树,或者访问到最后的子树时均为空树时,则返回true。第二:当两棵树中其中一棵树为空树,另一棵树不是空树,证明两棵…...

探秘 1688 商品详情接口:高并发批量采集的实战攻略

在进行 1688 商品详情接口批量采集并考虑高并发使用时,你可以从以下几个方面着手: 一、技术选型 选择合适的编程语言和框架:例如 Python 的 Scrapy 框架或者 Java 的 Spring Boot 结合相关爬虫库等,这些工具可以帮助你高效地实现…...

【C语言】sizeof

tmp_buf = (char *)malloc(size)不可以直接使用`sizeof`来查看动态分配内存的大小。在C语言中,`sizeof`操作符是在编译时确定类型或对象的大小,并不能用于动态获取malloc分配的内存大小。 下面解释为什么不能用`sizeof(tmp_buf)`查看动态分配的内存大小: 1. 编译时 vs 运行时…...

2024-10-15 问AI: [AI面试题] 人工智能中使用了哪些不同的搜索算法?

文心一言 人工智能中使用了多种不同的搜索算法来解决问题,这些算法各有特点,适用于不同的场景和问题类型。以下是一些常见的人工智能搜索算法: 深度优先搜索(DFS): 是一种基于树或图的搜索算法。核心思想是…...

2024 年 04 月编程语言排行榜,PHP 排名创新低?

编程语言的流行度总是变化莫测,每个月的排行榜都揭示着新的趋势。2024年4月的编程语言排行榜揭示了一个引人关注的现象:PHP的排名再次下滑,创下了历史新低。这种变化对于PHP开发者和整个技术社区来说,意味着什么呢? P…...

Element中el-table组件设置max-height右侧出现空白列的解决方法

之前就出现过这个情况,没理过,因为不影响啥除了不美观...但今天看着实在是难受,怎么都不顺眼(可能是我自己烦躁--) 试了很多网上的方法,都不得行,后面发现了这篇文章,解决了! 感谢! Element中t…...

unity学习-全局光照(GI)

在全局光照(Lighting)界面有两个选项 Realtime Light(实时光照):在项目中会提前计算好光照以及阴影的程序,当你需要调用实时全局光照的时候会将程序调用出来使用 Mixed Light(烘焙光照&#x…...

记录Centos7 漫漫配置路

记录Centos7 漫漫配置路 一、 配置源二、 clinfo三、 PCL 配置1. 依赖2. eigen3. boost4. flann5. pcl 四、YAML-CPP五、 miniconda 安装 python3.6 和 pytorch六、libbot 配置1. 容易安装的依赖2. 需要源码安装的依赖3. [libbot](https://github.com/libbot2/libbot2) 简单地说…...

论文 | OpenICL: An Open-Source Framework for In-context Learning

主要内容: 2. 提供多种 ICL 方法: 3. 完整的教程: 4. 评估和验证: 背景: 随着大型语言模型 (LLM) 的发展,上下文学习 (ICL) 作为一种新的评估范式越来越受到关注。问题: ICL 的实现复杂&#xf…...

尚硅谷rabbitmq 2024 Federation配置 第60节答疑

rabbitmq联邦队列怎么做 要在 RabbitMQ 中设置联邦队列(Federated Queues),你需要遵循以下步骤。联邦队列允许你在不同的 RabbitMQ 实例之间共享队列,从而实现消息的分布式处理和高可用性。 ### 步骤 1:安装 RabbitMQ…...

Ubuntu编译MySQL驱动连接QT

1、安装MySQL 安装MySQL软件以及驱动。 sudo apt-get install mysql-serversudo apt install mysql-clientsudo apt-get install libmysqlclient-dev 2、编译qmysql驱动 2.1、修改mysql.pro 找到Qt源码中的mysql.pro项目文件,一般位于:/opt/Qt/5.15…...

时间序列预测(七)——梯度消失(Vanishing Gradient)与梯度爆炸(Exploding Gradient)

目录 一、定义 二、产生原因 三、解决方法: 梯度消失与梯度爆炸是深度学习中常见的训练问题,它们主要发生在神经网络的反向传播过程中,使得模型难以有效学习。 一、定义 1、梯度消失(Vanishing Gradient)&#xf…...

挑战杯推荐项目

“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 ​ - 个性化梦境…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…...

23-Oracle 23 ai 区块链表(Blockchain Table)

小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...

生成 Git SSH 证书

🔑 1. ​​生成 SSH 密钥对​​ 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" ​​参数说明​​: -t rsa&#x…...

用docker来安装部署freeswitch记录

今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

用机器学习破解新能源领域的“弃风”难题

音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...

Java编程之桥接模式

定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...

深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏

一、引言 在深度学习中,我们训练出的神经网络往往非常庞大(比如像 ResNet、YOLOv8、Vision Transformer),虽然精度很高,但“太重”了,运行起来很慢,占用内存大,不适合部署到手机、摄…...

AxureRP-Pro-Beta-Setup_114413.exe (6.0.0.2887)

Name:3ddown Serial:FiCGEezgdGoYILo8U/2MFyCWj0jZoJc/sziRRj2/ENvtEq7w1RH97k5MWctqVHA 注册用户名:Axure 序列号:8t3Yk/zu4cX601/seX6wBZgYRVj/lkC2PICCdO4sFKCCLx8mcCnccoylVb40lP...