【问题标题】:Static UI vs Dynamic UI [closed]静态 UI 与动态 UI [关闭]
【发布时间】:2014-07-21 19:00:14
【问题描述】:

在某些带有 UI 的应用程序中,什么对用户更好(简单、友好等):

  1. UI 是静态的(不依赖于用户状态)。例如,用户看到某个按钮,但它是灰色的,或者当它被点击时,会显示一条消息,指出此操作现在不适用。

  1. UI 是动态的(取决于用户状态)。例如。用户看不到现在不适用的按钮。但经过一些操作后,按钮可能会出现/消失。

对不起我的法语:)

【问题讨论】:

  • 谁能改一下标题?它现在没有信息。它可能是“静态 UI 与动态 UI”之类的。

标签: user-interface


【解决方案1】:

在我看来,带有禁用控件的静态 GUI 更可取。
当某些选项不可见时,用户将不知道它们存在。

【讨论】:

  • 我同意上述答案。我在我当前的项目中也使用了同样的方法。
  • 禁用项目上的工具提示可能非常有用:'你不能这样做,因为......'类型的东西。
  • 然而,在某些情况下,用户不应该知道特定功能的存在,即管理员与用户。
  • 这条规则不应被歪曲为意味着您应该将大量选项/功能/等塞进一个视图/屏幕/页面/等,并禁用那些不重要的。在某些情况下,用户界面的某些部分在某个状态处于活动状态之前是不可见或不可访问的。
  • 同意@James,如果您有不同权限的用户(用户、管理员等),您应该在非管理员用户登录时隐藏管理员控件。在其他情况下,当控件可能会在某些用户操作后启用,只需将它们变灰并添加一个工具提示来描述它们当前被禁用的原因。
【解决方案2】:

这两种风格都有其用途。请记住,您应该始终使用正确的工具来完成工作,并且(几乎)没有绝对的软件开发。

在大多数情况下,最好使用带有灰色元素的静态 UI。通过在用户单击或尝试与灰显元素进行交互时提供简单的非侵入性消息(例如,不显示模态消息框),您可以培训您的用户。

在大多数情况下,真正发生的情况是有一个灰色的菜单,您的用户想知道他们需要修复什么才能点击该元素。这是糟糕的 UI 设计。

如果您有一个登录用户永远无法使用的扩展管理部分,那么动态 UI 也很重要。通过隐藏管理部分,您可以避免对永远不会与隐藏的界面元素交互的用户造成混淆和界面“过载”。

Adobe Photoshop 等应用程序需要动态 UI。 Adobe Photoshop 中有数以千计的命令和菜单项。任何用户可以理解界面的唯一方法是根据应用程序的状态隐藏和显示用户界面元素。

【讨论】:

  • +1 用于超越“它取决于”到“为什么它取决于”。恕我直言,最小惊讶原则应该只被不让用户的头部爆炸的原则取代。
【解决方案3】:

我总是建议用户界面尽可能保持不变:

  • 不要让用户感到惊讶

【讨论】:

    【解决方案4】:

    我认为这个问题没有正确或错误的答案,我认为这只是意见/偏好问题。

    就个人而言,我会向用户公开所有功能,并在无法访问时将其灰显。但是,在某些情况下,我会考虑从视图中删除按钮,例如

    • 管理选项(可能不希望将此暴露给具有较低权限的用户)
    • RunOnce 功能(激活产品/注册)

    这样做的原因是,如果用户不打算访问它们,或者如果该功能将永远处于灰色状态,那么公开功能是没有意义的......

    希望对您有所帮助。

    【讨论】:

    • 我认为变灰量也是一个因素,使用流程也是如此。
    【解决方案5】:
    • 如果操作不可用 因为用户的个人资料 禁止使用不要显示在 全部

    • 如果某项操作仅不可用 因为另一个动作必须首先 完成任一:

      • 灰色或

      • 保持激活状态,但在执行时显示 带有明确解释的消息 为什么不能执行

    【讨论】:

      【解决方案6】:

      仅当该操作对于任务的当前状态在逻辑上是不可能的,或者对某些用户被允许执行的操作(例如,特权/权限)。尽可能使用户操作始终可用:

      • 使用状态指示器来阻止不必要的操作,但无论如何都要允许它们。

      • 使用验证和撤消来防止不建议的操作造成永久性损坏,而不是禁止这些操作。用户有一天可能需要做一些通常“不可取”的事情。

      • 更改应用程序设计以使操作始终以某种方式成为可能。例如,如果需要先填写某个字段才能执行某项操作,请提示用户输入该字段,而不是禁止该操作。

      • 通过组织策略而非软件控制用户行为。当业务规则发生变化或出现异常或紧急情况时,政策更容易更改。

      在以下情况下使用禁用:

      • 用户可以在应用程序中执行某些操作以使操作可用。

      • 可用性是通过同一窗口或其父窗口中的控件来实现的。

      • 用户可以轻松找出执行此操作的控件。

      使用切换控件而不是禁用来打开和关闭进程。

      对于适用于用户不可更改的当前状态的数据,请使用只读文本框而不是禁用的文本框。

      使用隐藏(“动态 UI”):

      • 用于用户在当前工作中永远无法使用的操作。

      • 用于指示不同的虚拟位置或事物(例如,选项卡控件上的页面,其中每个“选项卡”是不同的位置或事物)。确保视觉设计与此兼容:如果你代表不同的地方,那么让它看起来像不同的地方(例如,标签的方式)

      • 用于交换大量控件与替代控件。

      使用布局、符号和文本来解释不可用,尤其是禁用。例如,标记您的必填字段;使用工具提示说明按钮被禁用的原因。

      当没有其他方式以图形或文本方式指示如何使操作可用时,使用错误消息而不是禁用或隐藏。

      更多详情和理由请访问http://www.zuschlogin.com/?p=40

      【讨论】:

        【解决方案7】:

        我几乎总是让 UI 保持静态,并简单地禁用(灰显)此时不适用的组件。如果组件在您显示/隐藏它们时随状态变化而移动,这可能会让用户感到不安和困惑。

        【讨论】:

          【解决方案8】:

          我看到了两者的好例子,也看到了两者的坏例子。

          您的主要目标应该是确保您的 UI 设计(无论您选择什么路线)使整个过程在逻辑上对您的目标受众来说是合理的。

          【讨论】:

          • 我认为真相就在这里。我个人的看法是倾向于从屏幕上完全移除死掉的 GUI,但重度灰色状态是令人满意的。这是视觉和心理混乱之间的平衡,并让用户意识到可能性。
          【解决方案9】:

          如果您不想让用户感到沮丧,动态效果会更好

          【讨论】:

          • 如果您认为灰显的菜单项令人沮丧,想象一下消失的菜单项会多么令人沮丧:“5 分钟前就在这里,我发誓!”
          【解决方案10】:

          嗯,这就是最新的 MS Office 背后的想法,对吧?基于上下文的控件。这与具有大量灰色菜单和工具栏按钮的旧版本相比。

          我在控制系统方面工作了多年,在这些环境中,我们模仿了硬件控制(开关、转盘、按钮),这些当然是静态的,但并不总是可用。这是客户的要求,他们的立场是使用系统的操作员希望按钮 X 总是在同一个地方。但从设计师和开发人员的角度来看,我对混乱的 UI 感到沮丧,并且不喜欢屏幕上 95% 的按钮都是灰色的。

          我认为这将取决于您的受众以及域和客户的要求。在我的商店中,我使事物动态化,并提供基于上下文有意义的控件。通常,我们不会显示在当前上下文中不可用的灰色按钮或菜单选项。一旦用户认识到他们遵循某些工作流程并且在适当的时候涉及特定的 UI 元素,他们就不会遇到(并且可能更喜欢)动态 UI。

          越少越好。

          【讨论】:

            【解决方案11】:

            为什么不两者都做,让A/B testing 告诉您您的用户喜欢什么?

            【讨论】:

              【解决方案12】:

              我认为最好关注用户生产力和软件正在实施的业务。

              显示对特定用户或在特定时刻没有意义的操作将无济于事,无论是否禁用。

              例如,如果您有一个在组织的多个部门中使用的软件,则每个用户/部门只会对实现他所涉及的业务部分的软件部分感兴趣。其他任何东西对他来说都是无用的,只会让软件体验变得最差。这同样适用于对用户有用但显示无用选项的屏幕。

              【讨论】:

                【解决方案13】:

                我建议对两者进行原型设计,并询问您的用户(或代表性样本)他们更喜欢哪个以及为什么。

                【讨论】:

                • 问他们不会给你太多,因为大多数用户不会有意识地思考他们如何与计算机交互。充其量你只会得到随机猜测和噪音。观察他们如何执行任务以及出现困难的地方是更好的处理方式。
                【解决方案14】:

                只是为了重申 Mitch Wheat 所说的真实内容。

                如果您根据用户操作使按钮消失和重新出现,那么用户可能会认为他们所做的事情破坏了应用程序。

                您还向用户隐藏了操作,因此他们更难发现它可以做什么。

                禁用按钮是一种众所周知的范例,用户将能够看到您的应用程序可以执行的所有操作,并将尝试了解如何启用它们。

                【讨论】:

                  【解决方案15】:

                  我认为这取决于您要为哪些用户隐藏设计,但总的来说我会选择静态版本。不要忘记,用户界面不仅提供功能,还提供信息。如果您将某个按钮设为灰色,则可以比移除按钮更清楚地告知用户它的状态(通过他可以做什么和不可以做什么)。

                  删除按钮方法适用于通常对系统有很好理解的用户,例如管理员。但我认为你应该谨慎使用它

                  【讨论】:

                    【解决方案16】:

                    灰色的按钮更好,因为这样用户会知道在某些情况下这样的功能是可用的(并且根据上下文用户可能会猜到它何时启用),以及变灰的视觉提示out 将向用户发出无法点击按钮的信号,因此用户不会尝试点击它(点击后消息的问题是它来得太晚了 - 用户已经犯了错误)。

                    【讨论】:

                      【解决方案17】:

                      无论您选择什么,都使用按钮的固定位置。用户通常不会阅读按钮上的文本。

                      【讨论】:

                        【解决方案18】:

                        视情况而定。但是拥有一个清晰紧凑的 GUI 是一件好事。为什么要打扰您根本无法更改或使用的 10 个字段/控件。例如,在 * 上,如果您的声誉较低,您的 UI 就会减少,因为对于用户来说,有一天他可能能够使用它们并不重要。另一件事是控件(带边框)通常占用比文本更多的空间。如果您有当前无法更改的信息,我会将它们显示在一个非常紧凑的文本字段/标签中。根据信息,它甚至可以放置在表格之外或远离表格的地方。

                        【讨论】:

                        • 那是因为在 SO 中,您有不同的用户,具有不同的功能。我认为 Kamarey 应用程序只有一种用户类型,所以情况不同
                        【解决方案19】:

                        据乔尔说 - neither :-)

                        【讨论】:

                        • 乔尔错了——没有什么比“请不要再按这个按钮”更烦人了(有效):)
                        • 菜单项很难,因为大多数情况下您无法为它们分配有用的工具提示。在这些情况下,弹出一个消息框解释为什么不能这样做可能是合理的,但我同意这可能很烦人。
                        【解决方案20】:

                        只要您使用用户熟悉的范例,两者都可以理解。

                        选项卡控件基本上是一个根据状态变化的动态 UI。

                        【讨论】:

                          【解决方案21】:

                          在设计 UI 时,一致性可能是最重要的事情。如果按钮弹出和弹出,它们被视为一种视觉刺激,用户将“花费”注意力看着它们。

                          一个微妙但明显禁用的按钮(不会消失)是我设计 UI 时的首选......

                          .. 所以我猜这是选项 1 :)

                          【讨论】:

                            【解决方案22】:

                            两者的结合。

                            如果某个功能在当前状态下不适用,请禁用按钮同时在按钮旁边放置一个图标并将工具提示与该图标相关联。工具提示应该解释为什么用户现在不能使用该按钮。

                            将工具提示直接附加到按钮效果不佳。大多数用户甚至不会将鼠标悬停在按钮上,因为他们不希望它做任何事情。

                            并避免使用感叹号图标。他们建议用户输入了一个无效的值(除非他们确实有。)

                            我想说我总是这样做,但不幸的是,它确实需要更多的编码时间,而且客户并不总是愿意为此付费。

                            【讨论】:

                              【解决方案23】:

                              模式 UI 会引入模式错误。总是。

                              您目前似乎想要在两种不同的方式呈现模态 UI 之间进行选择。从那些我会说第一个是优越的(除非你真的有很多可能的命令,请参阅 Office 2007 UI 以获得如何处理这个的一个很好的例子,但拥有那么多并不常见)。

                              如果您有空间并且没有太多控件,那么我真的会使用禁用控件,因为它向用户展示了可能的功能。此外,您可能希望非常清楚 UI 处于哪种模式(不仅仅是启用的按钮)。我已经看到您禁用了按钮的用户界面,但用户无法弄清楚他必须做什么才能启用它们。

                              无论如何,请务必进行可用性测试,以代表您的用户找出更不容易出错的方法。

                              【讨论】:

                                【解决方案24】:

                                我喜欢将所有高级选项隐藏在“更多>>”/“更少

                                单击/选中后,窗口会展开以显示更多选项。

                                但就操作可用性而言(例如具有下一个/上一个按钮的向导),我总是显示它们,并根据可能的功能启用/禁用它们。

                                【讨论】:

                                  【解决方案25】:

                                  动态 UI 就像 UI 可能会不断变化一样。这些字段可能会不断变化。因此,根据从互联网获取的字段信息,设计了 ui。 记住!所有类似的领域都有相同的设计,所以你可以不断改变 UI 设计,从而改变应用程序。无需将较新版本的应用程序上传到云或 Play 商店,您就可以更改 UI 的设计。 例如,在 Excel 表格中填写 UI 模式和字段并上传到云端,应用程序可以下载 Excel 表格。

                                  上述解释适用于android动态应用开发

                                  【讨论】: