童话说说技术创业美文职业
投稿投诉
职业母婴
职场个人
历史治疗
笔记技能
美文纠纷
幽默家庭
范文作文
乐趣解密
创业案例
社会工作
新闻家居
心理安全
技术八卦
仲裁思考
生活时事
运势奇闻
说说企业
魅力社交
安好健康
传统笑话
童话初中
男女饮食
周易阅读
爱好两性

一个与工程师精准沟通的利器FSM表格

1月21日 心碎巷投稿
  处理UI状态变化的设计很麻烦,因为要为了一个组件做多种变化很苦恼。但后来发现,其实设计本身一直都不是状态设计的痛点,东补西补缺漏的状态设计、以及精准地告诉工程师什么时候要怎么做才是症结点。因此,如何从头开始避免缺漏状态和与工程师精准沟通将是本篇文章的重点。
  UI设计师的工作压力很大。除了要做出好设计之外,设计师们有时得面对客户跟上级的压力、有时得负责使用者经验跟流程的研究、而且还要苦恼于如何跟有效率的工程师沟通。为了减轻设计师朋友们的负担,我将试图从让很多设计师头痛的状态管理着手,介绍一个更好、更轻松的处理UI状态设计的方法。
  我一直都知道处理UI状态变化的设计很麻烦,因为要为了一个组件做多种变化很苦恼。但后来发现,其实设计本身一直都不是状态设计的痛点,东补西补缺漏的状态设计、以及精准地告诉工程师什么时候要怎么做才是症结点。因此,如何从头开始避免缺漏状态和与工程师精准沟通将是本篇文章的重点。
  状态和Flowchart
  为了让设计团队准备好所有需要的状态,大家一直有在提倡五种基本状态(空状态、正在加载状态、错误状态、失败状态、成功状态)让设计师参考。这些状态是必要存在的,但如果要求更精准的定义的话,我想有需要先区分状态与前台视觉(视图view)的差异:状态其实只是一个UI组件在接收到输入(input)后的输出(output),而一个状态不一定需要相对应的前台视觉。
  也就是说,虽然一个UI组件可能只拥有五个状态,但每一个却可能拥有多种视觉的可能。如果不太懂,看一下这个提交按钮(submitbutton)的例子应该就可以理解了。
  一个提交按钮通常会包含预设、载入、成功和失败的状态,而一个状态可能有多种相对应的视觉。
  话说回来,我们怎么知道提交按钮除了预设状态之外还有其他三种状态?而且这些状态要如何在彼此之间切换呢?
  多数人应该都是靠画出一个flowchart(流程图)来解决视觉化这些问题的。
  Flowchart不足以表达详细的设计细节
  处理UI状态时,帮助我们管理这些状态的方法需要有效的传递一个最重要的讯息组件在接收某个特定输入后应该切换到哪个输出状态。而flowchart虽然在其他情境下都是非常有效的方法,却不是上述讯息的有效传递者,原因如下:
  方便性低:Flowchart需要特定软体或插件的帮忙才可以绘制、修改或维护,因此档案也会比较肥一点。
  简洁度低:很难一眼看出到底有哪些状态是需要设计的、哪些输入值是会确实改变状态的。
  复杂度高:绘制flowchart还需要注意选择正确的符号或颜色。
  简而言之,我相信多数设计师都有发现用flowchart来管理UI状态是相对低效而且不精准的事实了。所以,现在就要来介绍更好的方法了。
  有限状态机器表格(FiniteStateMachineFSMtable)
  FSM表格
  千万不要被这名字给吓到了!我们来一步一步了解他有多简单。
  什么是FSM表格
  有限状态机(FinitestatemachineFSM)并不是一个实体它只是一个整理了各种可能状态和输入值的抽象思考机器。这个方法不仅被大量使用在电脑工程的世界里,也可以运用在各种日常物件里。如果有兴趣的话,维基百科介绍的一些实用案例都很浅显易懂,马上就能理解了。
  如何使用
  首先,可以发现上图表格里有三个栏位:FromState(起始状态),Input(输入),ToState(切换状态)。
  在FromState这一栏里,每个表格就是一个状态。
  紧接着FromState是Input栏位。这个栏位涵盖了表格中最重要的资讯:在每个状态中,只有哪些特定动作是可以执行的(或是哪些特定输入是可以接收的)。
  最后则是包含了所有输出状态的ToState栏位。
  这个表格清楚的列出了所有可能的状态:什么时候可以做什么、以及做了什么会有什么结果。跟flowchart、文字说明或互动原型(interactiveprototype)比起来,我相信多数工程师都会偏好这个表格,因为而这些正是工程师最需要的资讯!
  除了大幅减低沟通成本之外,因为FSM表格清楚的交代了各种因果关系,我认为训练自己使用这个方法也能培养出简易的工程思维,借此确保自己做的决定都是基于严谨的逻辑之上的。
  更有效的团队沟通
  简单的介绍完FSM表格之后,我们就可以开始看一个实际的登入页面案例,体会一下这个方法的好用之处了。
  登入页面的flowchart和wireframe
  这个页面很简单,只包含了一个header、heading、一组包括两个输入栏位的表单以及一个提交按钮。我们仍旧需要一组flowchart来帮我们厘清整个登入页面的功能,但就像之前提到的种种因素一样,flowchart是无法表达精确的组件状态变化的。
  虽然从flowchart当中我们只得知了在使用者按下提交按钮、并且验证失败后,画面会显示错误讯息。但当使用者聚焦(focus)、失焦(blur)或点击(click)各个栏位时产生的错误讯息要怎么显示?每个栏位的验证功能要在哪个动作执行后开始?提交按钮在所有栏位被验证成功前要被锁住吗?
  “有非常多种情况需要考量”
  这些很细微的决定都会影响到使用者经验,但作为一个设计师,到底要怎么做才能把这些决定精准地传达给工程师呢?Flowchart、文字说明、口头会议或互动原型(interactiveprototype)都是很没效率又不精准的方法,但只要准备好一个FSM表格,一切问题马上迎刃而解。针对不同的使用者经验考量,设计师甚至可以快速的准备好多种表格以备不时之需。
  举例来说,如果设计考量是想要提交按钮在所有栏位被验证成功前被锁住的话,FSM表格会是这样呈现的:
  “FSM表格:锁住提交按钮的版本”
  但如果设计想要参考Google的MaterialDesignGuide的话,表格会变这样:
  “FSM表格:参考GoogleMaterialDesignG的版本”
  是不是简单到不行?比其他任何办法都好太多了!
  更赞的是,FSM表格还能够处理任何跟资料无关的UI组件。假如设计师想要header的行为跟这个美丽的网站一模一样的话,FSM表格可以精准的传达每个header样式变化的时机点。
  快速、简单又清楚,一个结合了wireframe、flowchart以及FSM表格的登入页面状态管理文件就这样做好了。
  虽然我没有在大公司工作过,但我猜在一个分工清楚、资源充足的组织里,UI设计师很有可能完全不需要烦恼状态、使用者经验或流程之类的烦恼,只要好好做好设计的工作就好。但多数的UI设计师应该还是像我了解的一样,必须要同时面对很多的问题,还要跟工程师、管理职以及其他设计师沟通状态转换的问题吧。
  因此,我希望这个FSM表格真的能够帮助这些设计师们在沟通上节省宝贵的时间、做出更多更棒的设计、甚至培养一个新的思维。
  最后,欢迎留下任何对FSM表格的想法或心得!
投诉 评论

Protopie实战教程:数字自增效果本文主要介绍用户查看个人账户资金或者积分的时候,资金从0开始增长的效果如何制成,enjoy在很多应用中,用户查看个人账户资金或者积分的时候,可以看到资金从0开始增长的效果……App与Web的设计区别(上):使用场景与设计方法从使用场景和设计方法来看,App与Web的设计有什么区别?早前,总是遇到问“Web设计”和“UI设计”分别做了多久?之类的询问,文章开始之前,我们先来聊聊什么是UI设计。……解析新版微信的视觉、体验和场景微信新版本更新,接踵而来的是各种针对微信大改版的评议,我也不能免俗,必须跟一波热度。在大致体验了一下新版微信之后,从视觉和核心场景的体验角度说一说自己的见解(疯狂截图中)……视觉设计师要如何使用用户体验地图?用户体验地图能在做产品设计时,更好的帮助参与的每一位成员更好的了解产品,更好的掌握产品的大局观,共同创造出好的产品。用户体验地图(CustomerJourneyMap)是……交互设计常识设计常用模型分析(一)“工欲善其事,必先利其器”;作为设计人员来说,设计方法和设计模型就是辅助我们更好做设计的利器。就像厨师做菜时候的菜谱一样;面对新的菜种,能更快指引我们做出味道不错的菜肴。……设计师需要经历的几个阶段本篇文章的意义:如何站在更高更远的视角,战略性的推算现在和将来要发生的阶段,并将对应的阶段提前做好准备并付之于行动,以缩短进步所需要花费的时间。大家有没有想过设计师3年、……你必须了解的色彩变量饱和度亮度为什么别人的界面色彩设计牛逼?先来了解一下饱和度和亮度这两个色彩变量吧!前言色彩的饱和度和明度是我们进行色彩设计最经常使用的两个变量,但却不了解它们。在色彩设计的时……从列表式UI中升华探讨:卡片式UI有哪些创新点对于传统企业端应用而言,列表是最重要也是使用频次最高的设计元素,列表式设计有很多优点才会使之有广泛的应用,但是相应的列表式设计也存在很多缺点,在越来越追求极致体验的大背景下,我……一个与工程师精准沟通的利器FSM表格处理UI状态变化的设计很麻烦,因为要为了一个组件做多种变化很苦恼。但后来发现,其实设计本身一直都不是状态设计的痛点,东补西补缺漏的状态设计、以及精准地告诉工程师什么时候要怎么做……Protopie教程:登录页转场特效本篇教程将展示如何使用Protopie制作一个登录页转场特效O()O一、最终效果二、知识点场景:使用添加场景功能,可以制作包含多个页面的原型;设计复……Protopie教程:如何制作悬浮按钮本篇教程将展示如何制作悬浮按钮特效,enjoy一、最终效果二、功能点介绍单击旋转移动条件三、制作过程1。首先我们来看一下,本案例……Protopie教程:邮箱验证特效本篇教程将展示如何使用Protopir制作一个邮箱验证特效,enjoy一、最终效果二、知识点在本次教程中,我们用到了一个新的知识点:监听条件。监……
关于腾讯新闻,新浪新闻两款APP的对比分析产品用户体验的层次每一个好的设计都应该去解决问题国际QQ官网改版总结移动互联网向左,社区向右《萌江湖》干货之三:超级纠结的细节打磨DPIPPIdpsppxpt移动设计手册《萌江湖》干货之二:毫不纠结的功能开发ifanr、虎嗅、雷锋网和极客公园等网站的异同苹果iOS7产品界面中的新动态设计思维产品标准化沉淀积累产品设计规范Android应用中十大常见UX错误走近造句用走近造句大全浙江劳动合同壮阳固精按摩法如何做八大一线顶级游资的核心操盘(打板)手法女白领小心哺乳期怀孕各路明星演员为高考学子送祝福,张艺兴震撼,德云社翻车多彩假日种西瓜如何防治西瓜丝核菌立枯病iPhone13Pro引关注,高盛第四季度iPhone销售增到南昆山旅游有什么可买的东西五年级叙事作文做一次服装裁剪师2009年感动中国人物事迹及颁奖辞张艺谋奥运团队

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找作文动态热点娱乐育儿情感教程科技体育养生教案探索美文旅游财经日志励志范文论文时尚保健游戏护肤业界