关于构建Web应用程序的页面:
最近,我发现自己创建的网页比以前更简单。之前,我会尝试将尽可能多的功能集中到一个页面中,以防止有大量页面。
我开始意识到这只会让事情变得更复杂,更复杂,更令人困惑。为什么没有更多页面?我认为我这样做的原因是因为我不希望用户必须浏览其他页面;只是为了在一个页面上拥有他们需要的所有功能。
嗯,这些良好的意图变成了一个过于混乱的用户界面和非常难以管理的源代码。我是一名新开发人员,我正在努力反思我正在做的事情,以便我能够改进。如果它有所作为,我正在开发ASP.net(尽管这些可能是任何平台的考虑因素)。
我的问题是:
答案 0 :(得分:5)
没有专家可以随时为您提供适用于所有地方的规则。多年来,我在行业中一直以“简单”的界面而闻名,我们已经为它赢得了大量的业务(以及5个“同类最佳”奖项)。我在公司内部也有人,并且在外面告诉我 - 多年来 - 他们喜欢我的工作,但希望我能用更多的图形等“蹦出来”。让我感到惊讶的是两人之间的联系很少。
所以...一些经验法则:
例如,我的产品提供了一个界面,让人们可以定义要在日历中显示的类和事件。我可以有一个页面,可让您查看,添加,更新,删除和编辑类。实际上,在一些较简单的领域,我使用gridview让人们管理网格中的所有内容。但是,类有太多信息要做到这一点,仍然遵循上面的规则。
所以,
关于UI和图形设计的一些最后的事情。
首先,开发自己的愿景并在页面和应用程序之间保持一致。
其次,不要害怕simplicity。
接下来,当征求他人的建议时请记住,您不想要他们的建议 - 您需要他们的印象:您希望了解他们感知界面的方式。建议有时是好的,但往往是有害的。根据我的经验,每个人都认为他们是UI专家。
当你进行走廊(或正式)可用性测试时,你应该对几乎所有的建议进行折扣,即“你应该 更突出”。正如您将看到的,它将迅速变为“ ”,“ ”,“另一个。”如果你遵循这个建议,由于布里廷汉姆的第一个设计规则,你最终会陷入混乱:如果一切都重要而不是什么。(你去:解释为什么你不能做有人脱颖而出,只要告诉他们“这违反了布里奇汉姆的第一个设计规则!”。
希望这有帮助!
答案 1 :(得分:3)
你击中了头部的钉子。使用KISS原则。 (保持简单愚蠢) 我过去也做过这个,不仅仅是为了制作一个可怕的用户界面,而且由于功能太多而导致你在页面上可以做什么操作让人感到困惑。我经常在测试中发现我没有足够的检查来查看用户是否可以根据数据状态执行某项操作。
在ASP.Net中很容易编写几个执行简单任务的页面,然后将它们与Response.Redirect或Server.Transfer链接在一起。现在我尝试在任何给定页面上实现的是设计规范所说的。因此,如果我的页面只是一个搜索页面,那就是我给的全部内容。如果用户想要查看搜索中返回的项目的详细信息,那么我将它们发送到itemDetails.aspx页面。
答案 2 :(得分:1)
你已经打破了大多数软件开发人员所拥有的障碍,这个障碍阻碍了你对可用性的看法。许多开发人员并没有真正考虑它,并试图通过在一个窗口,网页或其他任何东西中填充功能来使它们更容易。
事情是,一旦你从用户的角度开始设计软件,即让它变得更容易,一些事情开始变得清晰。一个是代码维护的问题,如果你不把所有内容都放在一个巨大的类或者你一直在做的任何讽刺中,代码很容易被处理。另一个是可用性本身,您开始考虑用户如何通过图形界面实际使用您的应用程序。第三是在您停止开发用户不需要的功能时避免要求或范围蔓延。
我们用户之所以想要简单,部分是因为我们不希望花费大部分时间在糟糕的用户界中混淆,因为我们可以通过简单易用的UI更快地完成工作。这使我们的软件开发人员能够做正确的事情,在各个层面上思考你的设计......而且规范总是存在。
答案 3 :(得分:1)
绝对同意:大多数尝试编写过多的页面/表单都会导致
只有当目标受众由域专家组成时,我才会考虑具有多种功能的网页,即在一个页面上需要大量功能以提高工作效率的人(想想数据输入或包含大量变量的财务软件)。
即便如此,大多数情况下,单独的页面可能会分成单个单元。
答案 4 :(得分:0)
答案 5 :(得分:0)
页面上的功能通常不是由您决定,而是由您的客户决定。如果客户要求单个页面更新某些VeryComplexObject
,您可能最终会得到一个具有大量行的aspx页面。主要原因是您只需要为页面上的所有操作提供大量事件处理程序。
该页面是否复杂完全取决于您。您应该始终尝试使代码隐藏文件尽可能简单和干净。这个方向的一些建议:
ObjectDataSource
向数据绑定控件提供数据,例如ListView
,GridView
,Repeater
,...将数据加载到专用对象会阻止你的aspx.cs文件中有很多开销。另一个建议是使用用户控件来实现页面的某些部分。通常只有在可以重用用户控件时才能执行此操作,但它也可以帮助降低页面复杂性(代码隐藏文件和aspx)。
答案 6 :(得分:0)
有时候我觉得我们都忘了忘记我们开发应用程序的人是谁。作为开发人员,能够退后一步并查看应用程序并不总是很容易,因为用户可能会这样做。这就是为什么大公司雇佣了数百人为他们做这件事的原因,他们并不总能做到这一点。
可用性是一个巨大的主题,但它是所有开发人员需要牢记的东西。我花了很长时间才学到这一点,但在处理任何开发任务时,我总是试着想一想我的用户将如何与我正在编写的内容进行交互。这将对您开发的所有级别产生影响。
我建议阅读Don't Make Me Think by Steve Krug。本书不会让你读到一个时代,它会提供一些很棒的想法,可以帮助你开发更容易使用和理解的应用程序。
我总是发现,一旦我考虑过用户体验,关于我的网页将会做什么以及他们将如何进行互动的决定就更容易实现。
答案 7 :(得分:0)
也许您应该询问使用您网站的用户。或者更好的是,只看人们使用您的网站。我认为这会告诉您网站设计是否合理,或者您是否需要更改网站。