我们需要什么技能才能在Web Apps中进行正确的UI /交互/功能设计?

时间:2020-03-05 18:41:54  来源:igfitidea点击:

从头开始开发Web应用程序时,生产可用的和交互性强的产品需要哪些技能?

  • 我们首先要做UI原型吗?
  • 我们是否使用用户故事?
  • 我们会建议或者积极倡导的一些敏捷方法论或者最佳实践?

简而言之:从需求收集到AmazingWebApp,我们具备哪些技能?

最后:我们会推荐任何书籍吗?

解决方案

回答

良好的设计感。对于程序员来说,这是一件很难的事情。有时,程序员会对什么有效,但对如何创建最有效或者最有效的方法有很好的了解。主要是它需要具备一切处理能力,并愿意自由移动它,直到某些东西在工作时发出咔嗒声为止。

我这样做的方法是,找出某人如何在网上做某事,这将是最合理,最常见的想法,即如何在线或者离线完成某项任务,然后查看如何复制该想法。简短,简短,清晰,可访问且合乎逻辑。如果我们可以将它交给没有任何指示的某人,并且他们可以做我们想让他们做的所有事情,那么它会起作用。如果他们需要指导在应用上执行日常工作,那么这是一个糟糕的设计。

我还要说的是,在我们可能没有意识到但仅出于某些原因而努力的水平上,看看对我们有吸引力的其他应用程序并尝试复制该应用程序。

回答

我认为最好的办法就是简单地使用该软件。

当我在开发应用程序时,我通常会在一周结束时(有时更快)通过电子邮件发送给他们,远离"工作模式",按常规方式安装(即不在IDE中运行),然后再使用它。

很难摆脱"测试模式"并实际上"忘记"我们对应用程序的了解。但是一旦投入使用,它就会非常有用,而且令人大开眼界(是的,当我们使用时有时会令人心碎意识到"酷小功能"实际上很烂,需要重新实现!)。

我的老板说我对可用性"厌恶"。我喜欢 :)

回答

我认为,某种形式的视觉原型(即使是用HTML和CSS完成)也是最好的。我的诱惑是开始编码,以后再担心接口,这通常会导致某些事情变得非常糟糕(至少对我而言)。我开发了这种出色的功能,最后匆匆忙忙开发了接口,以便可以快速拥有获取代码的工具。

我忘记了我听到这消息的地方,但是对于最终用户而言,界面就是应用程序。如果我们想取悦用户,则应从界面开始,并由其决定要提供的功能。

回答

我们做的一些事情:

  • 很多原型,在纸上,在Photoshop中,有时甚至在实际实现中探索不同的概念
  • 将事情修剪回去,要反复进行。不要尝试使整个应用程序完成并在第一时间完善它(因为我们内心深知这不会发生)
  • 清晰而不是聪明,这是我在进行用户体验工作时问自己的最新一件事,确定图标和细腻的东西看起来不错,但它们是否清晰简洁
  • 关注用户目标,这是开发人员每次只关注一个屏幕,每次只关注一个任务的一种很普遍的趋势。请记住,这不是使用应用程序的人的想法,他们有一个目标,因此请尽自己所能
  • 尽可能多地使用自己正在构建的软件,没有更好的方法来查看故障,缺点和问题,然后亲自体验一下。

回答

@Brian Warshaw我认为这是来自aza raskin的谈话,我认为这段视频

回答

对于大多数程序员来说,设计一个完全创新的UI相当困难(仅仅是我吗?)。我发现有用的用于Web应用程序的构建/设计UI总是要寻找在浏览Internet或者使用任何其他桌面应用程序时发现的美观,易用且优雅的用户界面。如果我们只是为手头的任务找到了最高效的UI(由其他人在其他地方设计),那么我们可以出色地实现并为应用创建更好的用户体验。
例如,当我键入此答案时,我喜欢它显示答案的实时预览的方式,并且带有"隐藏预览"的选项,我肯定会在构建用户论坛界面时使用类似的交互方式。

回答

最佳实践取决于团队成员的才能。

首先,始终编写用户故事(如果可能,请进行团队活动),将其加载到LighthouseApp.com或者我们喜欢的票务系统中-仅需滚动10-20个即可。

如果我们有UI设计器,那么页面的原型会很有用。但是,如果软件开发人员具有不错的HTML / CSS技能,则我希望尽快使用干净的UI / HTML / CSS来制作一个可以工作的原型。该输出可以交给"现代网页设计师",后者可以对HTML / CSS进行修改/修饰。设计人员应通过源代码控制系统在与开发人员相同的代码库上工作。

一些"老式设计师"会因"装饰场地"的建议而被冒犯,并坚持要交给程序员一个Photoshop文件。对于简单的营销网站,这可能还可以,但我不喜欢构建AmazingWebApp的过程?

回答

弄清楚我们要构建的内容和产品代表的内容是构建成功应用程序的巨大关键。我最近写了一篇关于需求收集的博客条目,其中对此进行了一些讨论。你可以在这里阅读它:
如何提高需求收集技能。

此外,以下是我遵循的一些高级原则,以确保我以令人愉悦的体验来制造正确的产品:

了解用户和客户之间的区别。
批准闪亮项目的企业主通常是客户。但是,一个毁灭性的错误是倾向于将它们混淆为用户。客户通常是认识到产品需求的人,而用户则是实际将使用该解决方案的人(以后很可能会抱怨产品未满足要求)。
去一个以上的人

因为都是人类,所以我们往往不记得所有令人毛骨悚然的细节。与更多的人交谈并进行交叉检查时,发现未满足需求的可能性增加。

避免特价
当用户要求非常具体的内容时,请多加注意。总是质疑偏见,看看这是否真的会使产品更好。

原型
不要等到启动后向用户显示我们拥有什么。经常制作原型(我们甚至可以将其称为Beta版本),并在整个开发过程中不断获得反馈。这样做可能会发现更多要求。

回答

这里的人给了很好的提示。

在"视觉上漂亮"和"功能上"(或者易用性)之间有区别。我们实际上可以拥有一个而没有另一个。这个论坛是一个很好的例子,它具有很高的可用性,但是坦率地说是对不起的抱歉,我仍然爱你:)

现实情况是我们需要技巧来建立良好的界面。这需要多年的实践。我通常与我签约,为一个新应用程序设计整个UI。我很少见到具有这类技能的程序员或者图形设计师(这是一个狭窄的市场)。我在uni时发现,我对HCI,UI设计和可用性分析有敏锐的洞察力。我通过进行大量的设计来进行大量的阅读和学习,从而进一步发展了这些技能。因此,所有我要说的是,如果我们认真地做好UI设计的准备,请做好一些艰苦的工作。我们可以做任何自己想做的事情,但是,如果我们花时间研究ui设计,则意味着我们不花时间花时间学习使用Rails上的红宝石或者其他任何最新技术来学习敏捷性。

一些一般性提示:

  • 如果我们正在构建Web软件应用程序(而不是小型企业存在网站),那么lo-fi原型制作是非常好的。将一群人聚在一起,放一堆屠夫纸和彩色标记,我们会惊讶于几天内可以绘制出多少个屏幕。
  • 软件应该是显而易见的。软件不需要用户手册。我开发的CMS没有用户手册,我有几十个使用它的客户,而且没有一个人要求我提供手册。
  • 看着"大男孩"做什么。如果ebay的搜索框是这样的:" ......",那么我们也要这样做(而不是非标准但可以的方法:"搜索:......'。)。这就是所谓的负担能力。我们正在利用人们对其他系统的熟悉程度来使他们快速了解自己系统的工作方式。

我会推荐这本书:

  • 不要让我想到可用性

我也有一些博客文章应该有所帮助:

  • 线框和模型
  • 商业网站的需求分析