我正在开发一种易于使用且易于设置的产品,竞争主要需要很长的设置时间,在某些情况下甚至可以为每个客户提供定制的解决方案。我们的应用程序的一部分现在正在根据客户要求进行扩展,看起来我们需要使其非常灵活,因此每个客户都可以对其行为方式进行大量控制。问题是我不想让系统太可配置,因为我认为这会使学习和使用变得更加复杂。我也担心它会打开通向别人搞砸事情的大门,有点像给他们拿枪,虽然我实际上并没有把它们指向他们的脚。
还有其他人面临过将权力交给用户手中的类似困境吗?你是怎么解决的?结果是什么?
答案 0 :(得分:5)
我通常不赞成所有用户都是愚蠢的想法,但仍然有一条规则可以应用:
如果你给他们机会,他们会破坏它
现在由你决定是否给他们做可能愚蠢的事情的能力。或者更好的是,开发它,以便当他们做他们所做的愚蠢伏都教时,可以优雅地恢复或恢复错误状态。
答案 1 :(得分:4)
我强烈建议您阅读Joel的Controlling Your Environment Makes You Happy,这可以被描述为关于用户界面设计的论文,但实际上是关于可用性和健康的心理学投入。
我所指的部分是Choices:
每次提供选项时, 你要求用户做一个 决定。
这是我非常赞同的。许多开发人员,产品经理等采取简单的方法,而不是弄清楚用户实际需要什么,他们只是给他们一个选择。你在像Clearcase或PVCS这样的企业英国媒体报道中看到了这一点,那里有很多选择 - 其中90%你永远不会改变 - 这表明设计师已经试图让所有人都做好所有事情。比做一两件事要好得多。
相反,它只会做很多事情。
保持简单,遵循惯例,不要用无意义和不必要的选择压倒用户,并使软件的行为像普通用户所期望的那样。仅这一点就会让你与其他很多产品区别开来。
答案 2 :(得分:2)
我个人喜欢TurboTax模型(http://turbotax.intuit.com/)。在创建纳税申报单时,我得到了一个简单的,告诉我的五我向导,它带我逐步完成整个过程,但是我可以走出这个过程任何时候并使用更高级的功能,稍后再回到过程中。
让您的用户轻松,简单,整洁,80%的时间做他们将要做的事情,但让他们有意识地超越常规。
答案 3 :(得分:2)
您的问题的有趣时间。在美国,这是所得税周。填写ol'1040和相关的子表单应该让我们对用户忍受的内容表示同情。
我带走的教训是:
仅提出与用户域相关的问题;避免与软件系统有关的问题;如果您能得出答案或建议最可能的答案,请这样做。
将相关问题放在一起(只要他们通常由同一个人使用最有可能在同一地点和时间提供的数据输入,这是相关的定义出于这些目的)。
支持增量输入。输入他们拥有的数据应该很容易,并在其余数据可用时推迟完成。
显示状态有效性和完整性。明确并明确它们与可验证数据的距离。
让它可以中断。确保可以中断该过程,离开应用程序,返回并从中断处继续。
是的,编程起来比较困难。拥抱它。
答案 4 :(得分:1)
至少有两种方法可以构建一个好的软件产品:
专注于一组狭隘的功能,并很好地实现该功能。
将您的系统设计为可自定义(理想情况下,通过脚本编写。)如果您正确地执行基本系统,那么很容易提供基本的,没有选项,只需执行我想要的功能自定义图层的顶部。
不幸的是,还有很多方法可以创建糟糕的软件产品。
答案 5 :(得分:1)
您的问题意味着您可以提供灵活的解决方案或使其变得万无一失。
我不会这样说。对我来说,这只是用户期望的问题,首先问题是: 如何在不破坏应用程序的情况下满足所有重要用户期望(即使它们相互冲突)?
例如,具有菜单,面包屑导航,站点地图和搜索的Web应用程序与内联链接一起提供了五种不同的方式来查找您正在寻找的内容以及如何去那里。 这样,大多数用户可以快速,轻松地找到他们期望的功能,因此需要大量文档实际上可能会减少。
所以答案可能是提供几种不同的精心挑选的方法来解决一个特定的任务,同时每个方法都可以简化,以避免用户错误。
答案 6 :(得分:0)
答案就在于你的最终用户是谁。我曾经写过专业体育教练使用过的软件。虽然这些人肯定擅长他们所做的事情,但他们并不擅长计算机使用,所以我们的可配置性保持在最低限度(至少可以在GUI中完成)。
另一方面,如果你正在与超级用户打交道,只要它们不是侵入性的,添加选项通常不是坏事。
所有关于谁将会得到它们。
答案 7 :(得分:0)
阅读Jeff Atwood的Training Your Users。这是一篇很棒的文章,里面有一些非常有用的链接。
答案 8 :(得分:0)
我喜欢Firefox的方法。可以在选项菜单中访问基本选项,其余的都在about:config下。因此,如果您需要,您可以轻松获得界面和灵活性。
答案 9 :(得分:0)
在使用合理默认值时,我取得了巨大的成功,并且作为用户最开心。换句话说,使最常见的用例变得容易(甚至更好,免费),但是当用户需要时,用户可以跳出该用例。