怎么看iOS human interface guidelines中的user control原则
最近离开了老东家,整理整理思路,因为一直做的是微信公众号相关的产品对app的东西有一段时间没有做过了,所以又看了一遍iOS human interface guidelines,看到user control的时候有了一些感慨,所以用这篇文章记录下。可能有些同学没有看过相关的内容这里先把中文版(@喵大神经)的相关小节贴出来:
在iOS内部,是用户——而不是应用——在控制。应用可以对一系列用户行为提供建议,或对可能造成严重后果的行为发出警告,但不应该替用户做决定。好的应用会在让用户主导和避免不想要的结果中找到平衡。为了让用户感觉到是他们在控制,应用应该使用熟悉且可预知的交互元素,让用户二次确定有破坏性的行为,并且让即使在运行中的操作也能够被轻易取消。
上面这段话在不少人的理解上是我们的产品设计要以用户为中心,应用要跟随并且响应用户操作,让用户获得精神愉悦。我经历的两家公司都有这样的情况,我们按照某个我们在办公室里规划产品,作原型稿,讲解那些需求,我们认为自己知道用户需要什么,我们认为了解他们使用的场景,我们认为了解他们的目标。这里说一个我对产品使用场景理解错误的例子,在做音频课程(5-8min)的时候,我预期的家长使用场景是晚上入睡前躺在床上,听着音频学习。在音频播放控件的设计上,能实现的功能包括播放按钮,课程列表和进度条,当用户查看文字稿的时候音频组件会缩小,方便聚焦文字不被打扰。对了,进度条的拖动不灵敏,操作相当的麻烦。说到这里知道问题在哪了么?核心使用场景错误!!!针对这种碎片化时间内的阅读/听的内容主要的场景发生在走路,坐/开车的过程中,这种场景中用户因为需要对外部环境进行观察,无法聚焦到产品上,如果操作不够直观会发生很多预想不到的错误引发挫折感。这导致如果应用不能在这个场景中满足需求的话,用户时没有其他时间可以提供给你的应用的。比如王者荣耀,很多白领喜欢在午休时间玩,如果在这个场景中匹配玩家时间超过预期,服务器响应慢最终也会带来满满的挫折感。这里是要说的第一点实现user control的前提是了解使用场景,满足不同场景以及场景切换的顺畅进行。
第二点要说的是实现user control要平衡统一交互,这里不涉及到类似隐喻这类具体的设计方法,而是要我们从整体视角考虑产品的交互逻辑,在文案,按钮,色彩操作反馈上能清晰表达情感,避免不熟悉不确定,让用户感到陌生。在做原型的时候我们一直强调原型即产品,但是在工作中因为分工和排期的问题很容易出现原型的评审没有意义,评审过的东西依然可以修改,这个是工作流程的问题,没有明确任务截至期以及截止期过后的修改怎么操作,又何种的惩罚。如果你的身边有类似的情况,建议管理者想想措施,不然扯淡会是主旋律。上面说的是团队整体的问题,下面就是产品岗个人的问题,在一个新产品立项到第一个版本上线没有完整的文档纪录,没有全盘的思考,这些思考包括产品路线,目标用户,渠道管理,运营框架以及数据收集框架。这几点在刚开始没有明确的文档的情况下做产品是不是完全不行?不是,往往新产品的上线时间都很紧张,但是在上线后还不留一段时间做这些事情基本上就意味着永远不会有机会做了,别觉得自己有例外,要么文档内容不全,要么忘记。
最后一点,基本上说了你也不会停的。user control要求把控制权交给用户,作为产品经理也好,设计师也好,老板也好都只是旁观的建议者。因为产品的设计过程中参与多,很多人会像家长对待孩子一样的方式对待孩子,即宝宝应该这样,宝宝应该那样,仿佛已经设计好了一条直达哈佛的路线给孩子,就是不愿给孩子自己选择人生的方向,什么都要参与一下。产品时演化出来的,遥控器应该在用户手里而不是我们,强行认为是我们的话其实还是不是。
就说这些,又吐槽了不少内容。我是alvin,产品界的小学生。
怎么看iOS human interface guidelines中的user control原则的更多相关文章
- iOS 人机交互指导方针(iOS Human Interface Guidelines)
iOS 人机交互指导方针(iOS Human Interface Guidelines) 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名 ...
- 【译】iOS人性化界面指南(iOS Human Interface Guidelines)(一)
1. 引言1.1 译者自述 我是一个表达能力一般的开发员,不管是书面表达,还是语言表达.在很早以前其实就有通过写博客锻炼这方面能力的想法,但水平有限实在没有什么拿得出手的东西分享.自2015年7月以来 ...
- 《iOS Human Interface Guidelines》——Popover
弹出框 弹出框是当人们点击一个控件或屏幕上一个区域时显示的一个暂时的界面. API NOTE 在iOS 8及以后的系统中.你能够使用UIPopoverPresentationController来显示 ...
- 《iOS Human Interface Guidelines》——Multitasking
多任务处理 多任务处理让人们在屏幕上(以及合适的iPad模式)查看多个app,而且在近期使用的app中高速地切换. 在iOS 9中.人们能够使用多任务处理UI(例如以下所看到的)来选择一个近期使用的a ...
- 《iOS Human Interface Guidelines》——Search Bar
搜索栏 搜索栏接收用户输入用于搜索的文本(例如以下,带有占位文本). API NOTE 查看UISearchBar学习怎样在你的代码中定义搜索栏.查看UISearchDisplayController ...
- 《iOS Human Interface Guidelines》——Wallet
Wallet Wallet(钱包)帮助人们查看和管理Pass(凭证),这是一种相似于登机牌.优惠券.会员卡.奖励卡和各种票的物理凭证的数字替代.Wallet也同意人们加入信用卡.借记卡和储值卡来和Ap ...
- 《iOS Human Interface Guidelines》——System Button
系统button 系统button运行一个app特定的动作. API NOTE 在iOS 7中,UIButtonTypeRoundedRect被又一次定义成UIButtonTypeSystem.查看U ...
- 《iOS Human Interface Guidelines》——Edit Menu
编辑菜单 用户能够显示一个编辑菜单来在文本视图.网页视图和图像视图运行诸如剪切.粘贴和选择的操作. 你能够调整一些菜单的行为来在你的app中给用户给多的内容控制.比方你能够: 指定哪一个标准菜单命令对 ...
- 《iOS Human Interface Guidelines》——Segmented Control
分段控件 分段控件是一组线性段.每一个button相应的功能能够显示一个不同的视图. API NOTE 查看UISegmentedControl来学习很多其它关于在你的代码中定义一个分段控件的内容. ...
随机推荐
- 上传图片,多图上传,预览功能,js原生无依赖
最近很好奇前端的文件上传功能,因为公司要求做一个支持图片预览的图片上传插件,所以自己搜了很多相关的插件,虽然功能很多,但有些地方不能根据公司的想法去修改,而且需要依赖jQuery或Bootstrap库 ...
- Linux部署与基本指令
把以前写的linux发布一下下吧,写的真的好差劲... Linux部署 chmod:改变一个文件的权限 改变abc的权限为777 常用的权限: 777-644-755 ************** ...
- mtime,ctime,atime
mtime,ctime,atime是linux三个主要的变动时间. 这三个时间比较容易理解,但是不容易记忆,也容易搞混. mtime (modification time) 文件内容数据更改时,会更 ...
- SQL_Join 小总结
原文出自 :http://www.nowamagic.net/librarys/veda/detail/936 对于SQL的Join,在学习起来可能是比较乱的.我们知道,SQL的Join语法有很多in ...
- Linux命令语句秘籍
系统管理命令 stat 显示指定文件的详细信息,比ls更详细 who 显示在线登陆用户 whoami 显示当前操作用户 host ...
- HTML里为什么不能在<p>标签中嵌套<div>标签
学习过HTML语言的人都应该知道,在HTML里,有分块级元素和内联元素:例如我们常用到的div,o,ul,dl,table,h1...h6等,这些都是块级元素:而像a,b,i,em,img,span等 ...
- [译]Selenium Python文档:七、WebDriver API接口
由于API文档格式不太适合cnblog博客,暂且翻译一部分,且暂未校对 注意:这不是官方文档,官方 API文档在这里. 本章包含Selenium WebDriver的所有接口 推荐import风格 本 ...
- C—动态内存分配之malloc与realloc的区别
在程序的执行期间分配内存时,内存区域中的这个空间称为堆(heap).还有另一个内存区域,称为堆栈(stack),其中的空间分配给函数的参数和本地变量.在执行完该函数后,存储参数和本地变量的内存空间就会 ...
- centos7 部署openstf
1.安装nodejs,版本需大于6.9(写稿时使用的6.9,7.7.4版本会无法安装zmq): 2.安装android sdk(详细略,百度一大堆),注意必须将platform-tool配置到环境变量 ...
- java 接口默认修饰符问题
package test; public interface InterfaceTest { void todo();} /** * 以下是反编译的内容,接口里的方法默认都是public的.abstr ...