【问题标题】:Do Character User Interfaces have a future?角色用户界面有未来吗?
【发布时间】:2008-10-31 14:16:55
【问题描述】:

我们的产品同时使用 GUI 和 CHUI。展望未来,我们正在考虑重新设计我们的很多软件,主要是走全 GUI 的路线。我向小组提出的问题是,我们是否需要考虑让 CUI 留在身边? CUI 与 GUI 相比有什么优势?过去很多时候人们都说 CUI 更快,因为你不需要鼠标。我认为 GUI 可以与正确的键盘快捷键、热键和/或触摸屏一样快。

如果硬件不再提供约束,我们是否应该不再考虑 CUI?

另外澄清一下,当我谈到 CHUI 时,我指的是基于字符的用户界面,而且我还主要关注向最终用户有效呈现数据。

有一些很棒的回应强调了为自动化和基于脚本的任务提供基于命令行的界面的重要性,当我们开始设计时,我一定会牢记在心!

【问题讨论】:

  • 我知道 GUI(图形用户界面)但什么是 GHUI?
  • CHUI 代表字符用户界面。这是“Progress 4GL”领域的常用术语,它是我们内部使用的数据库/语言技术之一。
  • 有趣的是,大多数回答的人都认为您指的是命令行界面。

标签: user-interface chui


【解决方案1】:

CHUI(即带有表单和字段的东西,不一定是命令行界面)的主要好处是用于导航和一致布局的键盘。这是关键。

如果您的 GUI 可以完全有效地通过键盘导航,那么您的 CHUI 用户群应该会很高兴。这是因为及时,用户只是将他们的命令“输入”到系统中而没有“看到界面”。他们不需要“发现”界面,这是 GUI 的主要功能。

虽然 CUI 看起来像恐龙,但它们仍然可以正常工作和使用。大多数受过培训的人(尤其是 POS/柜台工作人员,甚至是工厂或仓库等后台办公场景)使用 CHUI 都没有问题。

但关键是键盘支持,因此用户不必等待屏幕赶上他们。看到熟练的操作员精通键盘可以使应用程序飞起来。你几乎没有机会看到弹出窗口等等。

【讨论】:

  • 我完全同意,您只需按几下按键即可飞越这些屏幕。我从未见过 GUI 移动得这么快,即使在速度非常快的机器上也是如此。
【解决方案2】:

您应该调查您的客户,而不是程序员。如果使用您的应用程序的客户想要 CHUI,即使您的所有开发人员都认为这是浪费时间,您也要构建它,因为客户永远是对的(除非他们错了)。

【讨论】:

  • “[...] 客户永远是对的(除非他们错了)。” - 埃利
【解决方案3】:

你绝对应该考虑它。最重要的是,命令行程序可以比 GUI(通常)更容易自动化(并在脚本中链接在一起)。我无法想象使用没有命令行界面的源代码控制工具 - 尽管显然拥有 GUI 也很有用。

现在,如果不知道您的应用程序是做什么的,就很难说您是否需要特定应用程序的命令行版本。您需要自动化和脚本吗?可能有人想通过 VPN 进入并从非常糟糕的连接运行它,从而欣赏低带宽?

请注意,MS 肯定不相信命令行已死 - 否则他们不会创建 PowerShell。

【讨论】:

  • 可编写脚本的命令行界面不一定与 CHUI 相同。您可以轻松打包一个 gui 应用程序,该应用程序采用命令行参数并在不显示界面的情况下运行。
  • 说得很好。我当然同意命令行并没有死。在向最终用户提供信息的意义上,我问的更多。我将编辑问题以稍微澄清一下。您确实提出了一个很好的观点,即我将提出我们的应用程序的命令行界面!
  • 啊,一开始我误解了 CHUI 的意思,但是全能的 Jon Skeet 误解了同样的事情,让我感觉好多了。
【解决方案4】:

我同意 Eli 的观点,即您的客户应该拥有最终决定权,但是如果您可以避免程序的内容与 GUI(或 CUI)过于交织,那么制作两者的生产成本可用的应该是最少的。

【讨论】:

  • 我完全同意这里。必须保持图层分开!
【解决方案5】:

如果您为 unix 编写应用程序并且您需要处理通过 telnet / ssh 访问您的机器的用户,那么您将需要命令行界面。

我会说这取决于你的目标。您是否从其他应用程序编写代码?这将是保留交互式版本(或避免 GUI 启动的一部分)的要求。

我们通常做其中之一。但有时我们有必须通过 ftp 部署并运行 ssh 的实用程序。或者我们有用户嵌入到他们的应用程序中并且不想暴露 UI(数据迁移/转换)的工具。

【讨论】:

  • 我们的特定应用程序可能会有一个强大的基于 linux 的后端,所以 telnet/ssh 很重要!
【解决方案6】:

直到今天,我见过的一些最高效的用户界面都是普通的老式终端字符界面。

轶事:我曾经参与过一个让 500 名客户服务代表使用的终端应用程序“现代化”的项目。我们发布了性感的 GUI 模型,包括用户在内的每个人都对它印象深刻。我们在该应用程序上工作了六个月,所有的用户验收测试似乎都表明我们取得了胜利。

但是当应用程序最终启动时,它惨遭失败。事实证明,每天都会对 CSR 的绩效进行衡量,直至处理每个呼叫的平均秒数。而且无论他们如何努力,都无法在 GUI 中达到与终端界面中相同的效率水平。他们可以通过标签和快捷方式接近,但不完全在那里。

惨痛的教训。现代程序员可能厌恶“恐龙”,但用户真的关心光滑的界面吗?通常他们只是想完成他们的工作。

【讨论】:

    【解决方案7】:

    当我第一次读到这篇文章时,我的第一反应是这可能是那些基本上是一系列表单但显示在终端内的应用程序之一。您经常会在收银机上看到这样的恐龙。我还记得在我买车的时候看到过这样一个用来申请贷款的应用程序。这种类型的应用程序似乎在现代世界中没有一席之地——任何具有一点处理能力的系统现在都可以处理普通的 GUI。除非您尝试支持真正低端的旧客户,否则请摆脱此用户界面。具有不错的键盘快捷键的 GUI(请,请,请考虑一下仅使用键盘的 GUI 程序...)对于来自旧 CUI 系统的用户将同样有效,并且对那些习惯于使用的用户更友好一个 GUI,无需拥有 2 个版本的应用。

    我不明白为什么每个人都提出命令行应用程序。我认为大多数人都认识到命令行不会消失。对于许多任务来说,它比 GUI 快得多,主要是因为程序往往是非交互式的(因此很容易编写脚本)。一旦您的应用程序变得交互式(或者,至少没有参数使其成为非交互式),从命令行运行它就变得不那么重要了。甚至像 Vim 这样基于终端的出色程序也正在过渡到其图形对应程序 (gVim),因为它可以为您提供两全其美的体验。

    【讨论】:

    • 说得好。这几乎准确地描述了我们所处的位置。我们有一个基于传统的 CHUI 系统,它看起来与那些旧的大型机银行应用程序或收银机应用程序非常相似。我有我自己的意见,我想看看我是否与群众一致或出去吃午饭。谢谢!
    • 嗯,关于 vim 太棒了...*咳嗽,看起来很狡猾* ...我不同意!
    【解决方案8】:

    即使是像 Firefox 这样的 GUI 应用程序也可以从像 Ubiquity 这样的命令行界面中受益。如果有一种方法可以从 GUI 中提供命令行,那么为什么不能两全其美呢?

    许多 CAD 程序都有命令行界面,可以向您显示您刚刚执行的 GUI 交互在命令行中的作用。通过这种方式,您可以了解您经常做的事情的命令行操作,并且可以更快地与命令行进行交互,同时仍然具有 GUI 界面的可发现性。

    参见this youtube video 演示 Rhino3D 的命令行

    【讨论】:

    • 那个视频不是最好的例子。谁有更好的?
    【解决方案9】:

    CHUI 的执行速度更快,而不是用户交互速度。我编写嵌入式系统(以及 GUI),所以我将始终使用命令行应用程序。

    【讨论】:

      【解决方案10】:

      我读过的每一项研究都表明,对于有经验的用户来说,CHUI 的速度要快得多。 GUI 对于新用户和仅偶尔使用的应用程序来说更容易。同样对于给定的屏幕尺寸,您可以在 CHUI 上显示更多信息,而不是在 GUI 上。一个好的 GUI 可以让您一目了然地快速浏览。

      【讨论】:

      • 我会看有关 CUI 的屏幕尺寸的一般性声明。不要忘记一些基于 CHUI 的界面有 80 个字符的屏幕宽度限制,具体取决于它们所运行的终端。在 PC 上通过基于 GUI 的可调整大小的窗口运行的 CHUI 可以是。
      【解决方案11】:

      除了上面提到的其他好处之外,我经常找到另一个理由来保留替代 UI ——它可以让您和您的界面保持诚实。当应用程序仅使用一个用户界面构建时,让设计原则滑动变得容易得多,并且您的业务逻辑等和您的 GUI 成为一个交织在一起的意大利面条球——尽管有最好的意图。不管您的客户拥有命令行界面的重要性如何,很快就会有可能需要替代 GUI(阅读:表示层)的时候,并且您需要做好准备。这可能与您的要求无关,但我认为记住这一点是件好事...

      【讨论】:

        【解决方案12】:

        我们遇到的一个大问题是多会话功能,这在我见过的 GUI 技术中几乎不存在。我们的用户很快指出,使用当前基于字符的界面,他们可以在他们的 PC 屏幕上同时进行十几个基于 Telnet 的终端会话,这使他们能够高效地进行多任务或任务切换。他们认为多任务处理是他们在我们快节奏的环境中受益的杀手级功能,中断频繁。能够同时访问特定 ERP 应用程序或多个不同 ERP 应用程序的多个实例,同时始终保持会话状态对我们的用户社区来说非常重要。

        【讨论】:

        • +1 - 说得好,说得好。基于字符的东西的一个非常真实的优势。我会说你可以构建一个 GUI 界面来表现相同的方式。虽然为什么你会为了让它看起来像一扇窗户而做出这样的努力,但我并不完全确定。 ;)
        【解决方案13】:

        我认为问题出在 GUI 表单的设计实践中。我们倾向于在它们上放置更多对象,尤其是具有垂直滚动条和选项卡功能的对象。这也使加载速度变慢。一旦您记住了这些序列并且不需要按住 Ctrl 键,使用键盘浏览 CHUI 菜单会更快。 Windows 中的菜单栏有一些东西,其中快捷键描述位于右侧。一段时间后,基于字符的菜单似乎更容易记住。

        A) - This Menu
        B) - That Menu
        C) - Some other Menu
        

        或者您可以通过箭头浏览选项,并且您似乎有一些肌肉记忆,其中该菜单是第二选择。

        【讨论】:

          【解决方案14】:

          只要您提供一些数据,就会有人想要查询它。您可以将其与 gui 集成,没问题。如果您认为您的一些客户想要编写某些任务的脚本。设置它。任何与自动化有关的事情都最好从命令行完成(y harlo thar cron job!)

          我喜欢 guis。我是mac用户。但是 CLI 是有时间和地点的。

          【讨论】:

            【解决方案15】:

            当注册系统从使用 telnet 的基于字符的系统转变为 PeopleSoft 应用程序上的 gui 系统时,我是一所大学数学系的系统管理员。

            前台的女士们讨厌新系统。现在,其中一部分是关于旧鞋更舒适的全部内容。但是当我问起这件事时,克里斯汀说,即使经过一周每天进行数百次注册,新系统也需要数倍的时间才能完成任何事情。很多事情只能用鼠标完成。旧系统可以尽可能快地接受输入。屏幕重绘不到十分之一秒。新系统有很多 3/4 到 2 秒的停顿 - 长到让人讨厌,长到不能做任何其他事情。

            【讨论】:

              猜你喜欢
              • 2011-03-27
              • 2010-10-17
              • 2016-10-08
              • 2016-03-27
              • 1970-01-01
              • 2016-12-25
              • 1970-01-01
              • 2010-09-05
              • 1970-01-01
              相关资源
              最近更新 更多