设计,构建线框图和对Android应用进行原型制作:第1部分

如果您梦想在Android应用程序中创建下一个重要的事物,那么我不会说谎:您已经为您完成了工作!

您只需要快速浏览一下Google Play商店就可以发现几乎您可以想到的每个应用程序都已经创建了-通常是多次创建,并且获得不同程度的成功。

在竞争如此激烈的市场中,您的应用必须提供完整的程序包-仅仅拥有丰富的功能并不能削减它! 您的应用还必须具有响应能力,易于使用,完全没有错误,并且(看起来很浅)它也必须看起来不错

因此,当您在午夜醒来时对Android应用有一个绝妙的主意时,请抵制跳下床,启动Android Studio并开始将您的愿景变为现实的诱惑。 如果您要公正地进行构想,那么您需要在应用程序的设计中考虑一下。

在这个由两部分组成的系列文章中,我将向您展示如何将一个好主意变成一个好应用。 您将学习如何计划,测试和完善应用程序设计的每个部分,以及在编写甚至单行代码之前如何解决尽可能多的问题。

在第一部分中,我们将研究如何回答每个开发人员在启动新的Android项目时都必须解决的所有重大难题。 然后,我们将创建一个需要构建的所有屏幕的列表,以及一个精确显示所有这些屏幕如何组合在一起的屏幕图。

在第2部分中,您将掌握一些强大的设计思想技术,包括线框图和原型制作。 在第2部分结束时,您将创建一个数字原型,您可以在Android智能手机,平板电脑或仿真器上进行安装和测试。

为了帮助您准确地了解从“灵感的火花”到可行的数字原型的想法,我将想象我已经提出了一个我要创建然后开发的Android应用程序的想法。这个想法贯穿整个系列。

由于我们正要进入夏天,所以我将设计一个应用程序,该应用程序将帮助人们与他们的所有朋友计划和预订最终的暑假。

因此,我们有了想法-我们需要做的第一件事是什么?

1.撰写产品声明

您的典型应用程序具有很多不错的附加功能,但也有一个明确定义的主要任务 。 例如,我们完成的旅行应用程序可能包含社交媒体功能,因此用户可以共享在海滩上喝的那杯鸡尾酒或在酒店外抚摸的那只猫的快照,但这不是该应用程序的主要任务。

达到应用真正核心的一个好技巧是编写产品声明。 这是一个简单的句子,传达你的应用程序是,它做什么,以及为什么它的当务之急是用户开机谷歌播放和下载你的应用程序现在 。 这可能有助于想象您正在向潜在用户推销应用程序,而您只有一句话就能传达您的信息。

经过深思熟虑,我决定采用以下产品声明:

一个可以减轻计划和预订最终暑假压力的应用程序。

至关重要的是,您永远不要忘记此产品说明,因此您可能希望将其写在便条纸上,然后贴在桌子上。

您可能要在便利贴上写下您的产品说明

2.确定您的目标受众

您需要解决的下一个大问题是: 我到底是为谁制造这个东西的?

希望您已经对可能要使用您的应用程序的人有一个大概的了解,但是为了获得最佳结果,您需要在设计应用程序时考虑特定的目标受众。 俗话说得好:尽力取悦所有人,但最终却没人讨好。

您想要吸引的对象应该影响应用程序的各个部分,从所包含的功能到UI的外观,一直到应用程序文本的色调。 因此,在设计过程中尽早确定目标受众至关重要。

对于目标对象,我已经有了一个大概的想法:18-25岁的年轻人正在暑假里离开大学或大学,度过了充实的假期,或者正在计划一次最终的冒险,然后再开始寻找从事第一份全职工作。 这是一个好的开始,但是我们可以提供更具体的信息!

建立受众角色的一种简单而有效的技巧就是吸引用户

用户角色是代表您要定位的人类型的单个用户。 这个人有什么特点? 尽管确切的特征会根据您所考虑的应用程序类型而有所不同,但是您可以从回答以下问题开始:

  • 您的用户角色几岁? 这可以是确切年龄或年龄段,例如60岁以上的人群或年轻人。
  • 他们住在哪里? 这可能是特定的国家或城市,或者是某种类型的地方,例如在海边或大城市中。
  • 他们有孩子吗?
  • 他们的爱好是什么?
  • 他们有工作吗? 如果是这样,那是什么?
  • 他们目前正在接受教育吗?
  • 他们最喜欢的应用程序类型是什么?
  • 他们最不喜欢的应用程序是什么?
  • 哪些因素促使他们下载应用程序?
  • 他们曾经为移动应用付费吗?
  • 他们对移动应用的经验如何? 他们是高级用户还是初学者?
  • 他们对技术的总体了解程度如何?

让我们为旅行应用程序创建一个用户角色。 为了获得最佳结果,可以将您的角色视为真实的角色。 您甚至可能想给您的用户角色起一个名字,这正是我要做的:见见Sasha!

  • 她二十岁
  • 她是一个暑假的大学生。
  • 她在暑假期间与父母同住,但将在学年开始时返回学生宿舍。
  • 她单身,没有孩子。
  • 她没有工作,所以学生贷款是她唯一的收入来源。
  • 作为一个在社交媒体上长大的人,她最喜欢的应用是可以让她与朋友,家人和整个互联网共享照片和状态更新的所有东西。
  • 她是技术专家,尤其是移动应用程序专家。

由于我的应用程序是关于组织假期的,所以我还需要定义Sasha在旅行中的经历。 我的“典型”用户是否会得到很好的旅行? 他们是否曾负责计划自己的假期,或者这对他们来说是新事物?

我将在用户角色中添加以下特征:

  • 萨莎(Sasha)曾出国几次,但一直和家人在一起。
  • 这是她第一次计划自己的假期。
  • Sasha想要成为一个组织者时可以相当有条理,但是由于这是她第一次参与计划和预订假期,所以她一定会很乐意为您服务!

用例

所以现在我们有了 ,但是什么时候呢? 在什么情况下,Sasha可能会被迫掏出手机并启动我们的应用程序?

我想到的是以下几点:

  • 萨沙(Sasha)与大学朋友闲逛,不可避免地,谈话变成了他们整个夏天将有多少乐趣。 每个人都感到非常兴奋,在您不知不觉中Sasha打开了我们的应用程序,她和她的朋友们急切地计划着什么将是一生的旅程。
  • Sasha刚刚加入了她和她的朋友们在他们最喜欢的即时消息应用程序中运行的群聊,并且她看到,终于,每个人都同意了目的地。 激动的是,Sasha启动了我们的应用程序,并开始研究该领域中有趣的事情。
  • 萨沙感到沮丧。 她和她的朋友们似乎花了很多时间来谈论他们的旅行将是多么的美好,但是却从来没有真正去预订任何东西。 有人需要负责,看来这个人必须是她。 唯一的问题是她以前从未安排过这样的事情。 她需要的是某种应用程序,可以减轻计划和预订完美暑假的压力。

3.创建功能列表

现在该找点乐子了:如果您有无穷的时间,金钱和一大群开发人员愿意帮助您,请放开您的想象力,写下您要包含在应用程序中的每个功能。 现在,不必担心这些功能是否实用—将其视为最终功能列表。

如果您正在寻找灵感,请前往Google Play商店并下载一些涵盖相似内容或目标受众与您的应用程序相同的Android应用程序示例。


花一些时间探索这些应用程序,并记下该应用程序的性能以及您认为可以改进的地方。

以下是我介绍的一些功能:

  • 可以预订用户旅行所需的一切东西,从飞机票,火车票和巴士票,到酒店预定,甚至是其他杂项,例如在当地餐馆预订餐桌,对TripAdvisor都有特别的评价。
  • 阅读其他用户留下的评论,然后发表您自己的评论。
  • 用户预先定义他们的预算,然后该应用会根据此预算过滤所有建议。
  • 自发! 计划假期应该很有趣,那么为什么不通过在虚拟地图中插入虚拟图钉来让一切都命运呢?
  • 好的,因此计划一个假期本来应该很有趣,但是这也可能是一项艰苦的工作-特别是如果这是您有史以来第一次预订的话。 我们的应用程序应提供用户需要预订和安排的所有物品的清单,以计划完美的假期。
  • 社交媒体功能,因此用户可以通过发布照片和有关他们在假期有多少乐趣的状态更新来嫉妒所有的朋友和家人。
  • 对于那些想要分享比简单的照片和状态更新更多的用户的旅行日记。
  • 由于我的目标受众是年轻人,因此这可能是其中许多人第一次负责预订自己的假期。 他们可能会喜欢一些针对首次旅行者的一般建议,例如如何申请护照,或者您可以或不能随身携带的行李。
  • 倒数计时,因此用户可以跟踪星期,天,小时和分钟,直到假期开始。

现在是时候进行现实检查了:没有​​人可以将所有想法塞进一个应用程序中。 即使您的所有想法都是明智的,经过深思熟虑并且会吸引目标受众,但将除厨房水槽之外的所有东西都扔到应用程序中对于您作为开发人员来说是一场噩梦,并且可能会带来糟糕的用户体验。

想象一下,首次启动一个应用程序,然后立即面对一个庞大,复杂的菜单,里面有很多选择。 选择是一件好事,但是太多的选择只会变得令人困惑! 由于您要做的最后一件事就是使您的用户感到困惑,因此我们需要将最终功能列表缩减到最基本的要求。

那么,我们如何确定哪些功能存在,哪些功能消失呢?

对于初始版本,您应该专注于交付应用程序核心功能所必需的功能。 请记住,仅因为某个功能无法纳入1.0版,并不意味着它不会进入后续更新。 如果您发现列表中的某个功能具有潜力,但对于完成应用程序的主要任务不是必不可少的,那么请记下该功能,这是一旦您降低了应用程序的基础知识后就值得重新考虑的功能。

您的用户角色和用例还应在确定版本1.0(以及后续版本)中包含的功能时发挥作用。 哪些功能最有可能吸引Sasha?

重新阅读用户角色,用例和产品说明后,我决定使用以下功能:

  • 预订旅行和住宿。 这是绝对必须的-如果Sasha至少不安排交通工具和睡觉的地方,那么她将无处可去。
  • 设定预算。 萨莎(Sasha)依靠她的学生贷款的余款为整个旅行提供资金,因此,为我们节约金钱的学生设置预算是头等大事。
  • 在虚拟地图中插入虚拟图钉。 萨沙(Sasha)是一位年轻的学生,希望与她的所有朋友一起预定一次夏季冒险,因此想到做一些疯狂和自发的事情可能会吸引她。 另外,还记得我们的用例,其中Sasha与她的朋友一起出去玩,他们俩都在互相怂恿他们今年夏天将获得多少乐趣? 对于Sasha来说,这是一次绝佳的机会,它可以通过启动我们的应用程序并将虚拟图钉粘贴在虚拟地图中来真正推动发展。
  • 清单。 由于这是萨莎(Sasha)第一次参与自己的假期计划,因此要制定一份清晰的核对清单,会使整个事情变得不那么吓人。

我们的清单中包含其他可能吸引Sasha的功能,例如能够发布她旅行中的照片,因为我们已经知道Sasha是社交媒体的粉丝。 但是,对于此初始发行版,我将保持简单,并专注于应用程序的主要目标。 交付应用程序的核心功能并履行产品声明后,您就可以将注意力转移到所有这些不错的附加功能上。

4.勾画高层流程

您的下一个任务是开始考虑需要创建的屏幕,以便提供此功能列表,因此请握住一张纸和一支钢笔或一支铅笔。 绘制一些用户可能会通过您的应用通过的路线的粗略流程图,以完成核心任务。

对于我的旅行应用程序,核心任务是:

  1. 预订行程。
  2. 查看有关用户已计划的任何行程的详细信息。

通常,您将使用形状来表示屏幕,并使用线条或箭头来表示导航。

快速流程图示例

本练习的主要目的是让您考虑需要创建的不同屏幕,以便提供从最终功能列表中精心挑选的功能。 不要在流程图上花费太多时间,因为当您创建屏幕地图时,您将优化此流程。

5.创建一个屏幕列表

接下来,根据流程图列出您需要创建的所有屏幕的列表。

这是我的屏幕列表,以及我计划在每个屏幕中包括的内容的简要概述:

  • 主屏幕。 该屏幕包含用户已经通过我们的应用计划的任何行程的菜单。 用户可以点击此菜单中的任何项目,以查看该特定行程的清单。 或者,他们可以给“新冒险计划”! 链接水龙头。
  • 地图。 该屏幕包含地图和虚拟图钉。 用户可以点击地图的某个部分,或者,如果他们感到自发,则可以抓住虚拟别针,闭上眼睛,将其全部留给命运。
  • 选择一个城市。 用户选择了要访问的国家/地区后,该屏幕会显示一些他们可能希望停留的城市。 该屏幕还包含一个滑块,用户可以在其中使应用程序知道他们正在使用哪种预算。
  • 清单。 该屏幕包含供用户使用的清单。 轻触此列表中的任何项目都会启动一个屏幕,用户可以在其中完成此任务,包括:
  • 书籍运输。
  • 预定旅馆。

6.创建一个屏幕图

现在是时候将我们的流程图和屏幕列表组合成一个屏幕地图,该地图表示所有这些屏幕之间的导航关系。

从用户启动应用程序时看到的第一个屏幕开始,然后向外进行操作。

我们的旅行应用程序的屏幕地图

现在就开始寻找改善用户体验的方式为时过早,因此,一旦创建了屏幕地图,就花点时间来认真看一下它。 对用户体验产生巨大影响的一个因素是用户需要导航以完成应用程序核心任务的屏幕数。

一般来说,步骤越少,用户体验越好。 此地图是确定可以减少用户需要导航的屏幕数量的位置的绝佳机会。 这可能涉及删除屏幕,组合屏幕,对屏幕重新排序,或标识添加导航“快捷方式”使用户可以直接从屏幕A跳到屏幕E的合理位置。

结论

到目前为止,我们已经对要创建的应用做出了一些重大决策,包括目标受众是谁,以及我们将在1.0版中包含哪些功能(某些功能将留在以后的版本中)。 我们还列出了需要设计的所有屏幕的清单,并草绘了如何在完成的应用程序中排列这些屏幕。

至此,尽管我们的应用程序处于很高的水平,但我们仍在计划中。 在第2部分中,我将通过构建数字原型在将这些屏幕进行测试之前,更深入地研究和设计构成此屏幕地图的各个屏幕。

翻译自: https://code.tutsplus.com/tutorials/designing-wireframing-prototyping-an-android-app-part-1--cms-26860

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值