怎样向用户索取权限

摘要: 仔细想想,上周什么事情都没有发生,似也无从念叨;这不是最好的状态么?周五和老小伙伴们碰头聚会,吃香喝辣,谈天论地,确是痛快。 说到吃,昨天剪好头发在家门口小店买了炸鸡

  仔细想想,上周什么事情都没有发生,似也无从念叨;这不是最好的状态么?周五和老小伙伴们碰头聚会,吃香喝辣,谈天论地,确是痛快。

  说到吃,昨天剪好头发在家门口小店买了炸鸡排,这是一直以来的习惯。自从小理发馆换了老板,体验便一次不如一次;自从炸鸡店换了老板,鸡排便越来越难吃;又想到从前常叫的外卖譬如拉面馆的炒面啊大盘鸡啊还有西北馆的各种风味小吃或是每到夏天都会犯瘾的烧烤,全都不好吃起来。

  才一两年的时间,好的都变得不好了,这事儿让我想起《基地》,丹莫茨尔撺掇谢顿研究心理史学时反复强调的衰败衰败...我不觉得自己在生活的细节里过分敏感,感觉正在变坏的,确是在变坏;真讨厌。

  话说今天这篇文章,最近几日看到到处在转另外一版译文,相对浓缩一些,也挺好看的;我学我的,我做我的。文中阐述的思路和具体方法,值得各位设计伙思考与参考;“术”未必对所有的产品都适用,但“道”确是皆通一理。下面进入译文。

  Cluster是我设计过的第一个iOS原生应用,整个历程让我学习到了很多在过去的Web设计当中不曾考虑过的东西。在Web世界中,你通常只需要创建页面让用户浏览或使用,而在iOS上,除了引导用户下载并使用你的应用以外,你时常需要向他们索取各方面的权限,例如获取地理位置,或是访问通讯录、相机、照片等等。

  在设计Cluster的过程中,我们在很多细微却充满变数的交互环节里花了不少心思,以提升用户的满意度及信任感;其中“怎样向用户索取权限”就是我们关注的重点之一。

  关于这一点,我们得出的结论可以概括为:

  除非当前确实需要,否则不要向用户索取权限。

  索取权限时要让用户明确的了解授权后的好处是什么。

  一次性成功获取权限的重要性

  对很多应用来说,无法成功获取权限便意味着整体功能和体验的大打折扣。例如LBS类的应用,如果在索取权限时遭到用户的拒绝,那么该应用基本等同于无用了。另外,如果消息推送在你的应用当中扮演着微妙而重要的作用,能使用户保持习惯性的使用,那么获取权限时的失败或许会导致用户的流失。

  更坏的是,点击“不允许”是很轻松的,而要撤销这个决定则不太容易,用户至少需要以下五步才能打开授权,而且在应用内部很难为用户列出这些详细的步骤,更没法帮他们直接进入相关设置界面,用户只能靠自己去摸索。

  1.退回到系统 2.进入设置 3.找到“隐私”设置项 4.进入“照片” 5.找到需要授权的应用并打开权限

  换句话说,如果用户第一次拒绝了授权,使应用无法正常使用,那么应用自身几乎没可能向用户解释怎样修复这一问题。所以我们要尽最大努力确保第一次向用户索取访问权限时用户能点击“好”。

  两种常见的设计模式

  关于索取访问权限,我们通常会见到两种设计模式。

  初次加载时即刻索取(不推荐)

  大家应该都见过这种模式。你下载好一个应用,初次打开,界面当中立刻跳出一个提示:“我们可以给你推送消息吗?”然后又是一个提示:“我们可以访问你的相机吗?”接着又是一个“我们可以访问你的通讯录吗?”

  除非用户很熟悉或信赖这款产品,否则他们更可能去点击“不允许”。这种方式和走在大街上随便拉一个人过来问“你能和我约会吗?”差不多。

  我们在第一版的Cluster里使用了这种方法,结果只有不到40%的用户会同意授权。

  让用户了解好处(次佳)

  比起没头没脑的向用户索取权限,这种方式略好些,但有效性依然不高。

  如上图所示,HeyDay应用在索取权限时会在提示框中对授权之后能得到的好处进行说明。而且,他们是在功能介绍的最后一步向用户索取权限的,这使得用户在决定是否授权之前就已经对应用的功能有了大致的了解(假设用户确实会阅读功能介绍),从而更有可能通过授权。

  我们的Cluster在采用了这种方式之后,一次性通过授权的用户量从40%提升到了66%的样子。

  对于某些特定的应用,如果只能在以上两种方式当中进行选择,那么让用户在了解好处之后再决定是否授权,比单纯的提问要有效的多。

  我们的探索

  我们持续探索着Cluster向用户索取权限的方式,并找到了两种方法,使权限对话框尽可能的在用户想要说“好”的时候才出现。

  预授权对话框

  我们用到了一个小技巧,也就是在系统弹出授权对话框之前向用户展示我们自己创建的“预授权”对话框。

  正像前面所说的,用户在系统层面拒绝对应用授权是很糟的状况,因为要重新打开授权是很麻烦的。不过如果我们在系统级授权对话框之前预先询问,那么即使被用户拒绝,我们也仍然有一次机会能让他们说“好”。

  对于Cluster的照片访问授权来说,那些在“预授权”对话框里点击“不允许”的用户当中有46%会在接下来出现的系统级授权对话框中点击“好”。

  实现方式比你想象的要简单。你可以增加一个额外的iOS系统对话框,或设计一个定制化的界面,来实现“预授权”。

  1.iOS系统风格的预授权对话框

  在较早的一个版本中,我们尝试了这种方式,也就是使用iOS系统风格的对话框询问用户两次;其中第一次的就是我们额外增加的“预授权”对话框:

  预授权对话框(上图中间的界面)会在应用第一次需要访问照片时弹出,其中的说明文字是“这可以让你从相册中选择照片并添加到群里”;两个按钮分别是“现在不授权”和“给予授权”。如果用户点击“现在不授权”,应用并不会将这个行为认作系统级的“拒绝授权”,而是会在将来需要的时候进行二次询问,其中,我们进一步向用户解释:“Cluster只会上传和分享你所选中的照片”。

  那些第一次匆匆忙忙拒绝授权的用户仍然有机会了解情况并改变决策;而根据统计,那些第一次点击了“给予授权”的用户当中只有3%会在第二次询问中点击“不允许”。

  虽然这种双重确认的模式看上去有些烦人,但至少对我们来说是相对有效的方式,让我们仍有可能获得那些第一次拒绝了授权的用户。而且根据我们的测试,没有一个被测用户在看到第二个对话框时表现出犹豫或迷茫。

  2.具有引导性的预授权浮层

  在向用户索取通讯录访问权限的环节里,我们想给用户展示更多的说明信息,以确保更多的用户可以授权应用访问通讯录。这时系统的对话框就显得不够用了,另外灵活性也不足,于是我们设计了一个浮层:

  用户决定邀请好友时,我们首先会通过这样一个浮层(如上图中间界面所示)给用户两个选择:一是从系统的通讯录中选择好友,一是手动输入对方的联系方式。我们让用户知道第一种方式更加便捷,但是需要授权;这能使用户尽可能充分的知情,对接下来将要发生的事情有所了解。那些选择了“使用通讯录”的用户在很大程度上已经是对情况有所了解并作出授权决定的,于是在接下来弹出的索取权限对话框中更有可能直接确认授权。

  和前面一种方式类似,双重询问的模式感觉是有些麻烦,但在这种情况下,用户可以更多的知情,几乎没有人会点击“不允许”。而且那些一开始选择了手动输入联系方式的用户仍然有退路可以重新选择使用通讯录。

  用户自己触发的权限对话框(最为成功的方式)

  上面介绍的“预授权”模式,本质上讲,更多的是在减少用户不授权的可能;我们觉得这里依然有优化的空间。通过将问题进行解构,我们意识到,以上方式并没有改变“用户不期望被索取权限”的现实,所以我们继续探索,并尝试了一种让用户自己有意触发授权的方式。

  访问照片

  过去的版本中,在Cluster创建新空间的第一步就是添加照片。这就意味着用户点击“创建Cluster”之后立刻会看到获取访问照片权限的提示。当时的统计数据是,67%的用户会给予授权。我们认为这一数字仍有提升空间。

  我们决定将上传照片的环节向后推迟几步,直到用户首先理解了Cluster推崇的概念到底是什么,能怎样玩儿,然后由他们自己主动产生尝试的欲望,并点击相机图标,接着是“选择照片”,此时再提出获取权限的请求。

  这一改变使获取照片权限的通过率从67%上升至89%。

  因为在这个时候,用户已经有意去上传照片了,给予应用访问照片的权限是再自然不过的事情了。

  访问通讯录

  我们曾经问过自己,如果用户同意应用访问他们的通讯录,那么他们能得到的最大的好处是什么?在曾经使用过的“预授权”模式当中,我们允许用户手动输入想要邀请的朋友的联系方式,并希望藉此来促使他们选择“使用通讯录”的方式,同时授权应用访问手机通讯录。这种方式的思路是对的,但问题在于,在用户进行选择之前,他们是无法感觉到手动模式的“痛苦”的,相应的也就难以看到授权访问通讯录的甜头。

  最终,我们决定在添加朋友的环节中默认使用手动输入的模式,首先让用户尝到一点点“苦头”,让他们感受到在无法访问通讯录的情况下添加联系人有多空洞。当用户手动输入联系人名字的时候,会发现没有任何查询结果,同时看到“从iPhone通讯录中匹配结果”的选项。这时,用户便会更加主动的去点击这一选项;接下来,我们便向他们索取访问通讯录的权限。

  这一改变使获取通讯录权限的通过率达到了100%。

  推送消息

  Cluster这款应用可以帮助用户在自己的朋友圈子里创建小私密空间。我们再次问自己,推送消息可以给用户带来的最大价值是什么?答案是让用户了解他们的朋友在小空间当中的动态。

  当用户第一次创建了私密空间,并邀请了一些朋友,我们会问他们一个非常符合当时逻辑的问题:“是否希望在他们接受邀请加入空间后通过消息提示到你?”如果用户选择“提示我”,那么索取推送信息权限的对话框就会呈现,如果他们选择“不用,谢了”,我们就会跳过这一步。

  这里的数据和前面一样:100%的用户在点击“提示我”之后会选择授权。

  我们所学到的:情境至关重要

  当然,每个应用都各有不同,但是道理是相通的:要顺利的获取用户授权,你必须用心考虑在哪些时候、怎样的情境下,用户会真的需要应用从他们的手机中获取数据;你要确保在正确的环节当中使用户期望自己被问到,期望应用能想其所想。

时间: 2025-01-20 19:29:37

怎样向用户索取权限的相关文章

关于用户角色权限的一点想法(1)

标题    关于用户角色权限的一点想法(1)    biggie(原作) 关键字    关于用户角色权限的一点想法 前言: 权限往往是一个极其复杂的问题,但也可简单表述为这样的逻辑表达式:判断"Who对What(Which)进行How的操作"的逻辑表达式是否为真.针对不同的应用,需要根据项目的实际情况和具体架构,在维护性.灵活性.完整性等N多个方案之间比较权衡,选择符合的方案. 目标: 直观,因为系统最终会由最终用户来维护,权限分配的直观和容易理解,显得比较重要,系统不辞劳苦的实现了组

关于用户角色权限的一点想法

前言: 权限往往是一个极其复杂的问题,但也可简单表述为这样的逻辑表达式:判断"Who对What(Which)进行How的操作"的逻辑表达式是否为真.针对不同的应用,需要根据项目的实际情况和具体架构,在维护性.灵活性.完整性等N多个方案之间比较权衡,选择符合的方案. 目标: 直观,因为系统最终会由最终用户来维护,权限分配的直观和容易理解,显得比较重要,系统不辞劳苦的实现了组的继承,除了功能的必须,更主要的就是因为它足够直观. 简单,包括概念数量上的简单和意义上的简单还有功能上的简单.想用

关于ASPNET用户的权限

关于ASPNET用户的权限 在ASP.NET下开发Web应用程序的时候, 尤其是和读写文件有关的情况下, 常常会发生ASPNET用户对某一个目录没有相应权限的问题, 这一点在NTFS分区中尤为明显. 我们一般的解决方法就是在这个目录上点击右键, 然后在"属性"中选择"安全", 然后添加ASPNET用户到当前用户列表中. 这样的方法固然可以, 不过如果有多个目录的话,就需要反复的操作, 显得繁琐了一些, 所以我们可以通过另一个方法来实现同样的效果, 而且更高效. 我们

Windows server 2008文件服务器之一隐藏用户无权限访问的共享文件夹

话说在windows server 2003 SP1可以从微软获得一个插件得到这样一个实用的功能:让用户没有权限访问的共享文件夹隐身,这样保证了一定程度上资讯安全解决文件服务器的共享文件繁多让用户浪费时间寻找属于自己的文件夹的苦恼.墨迹太多,呵呵忘记说了,这个插件就是ABE插件,但是是英文的, 自从CC将公司的文件服务器升级到2008后一直想着办法提升文件服务器的管理功能,但是ABE插件好像自从2003后一直未有升级版本,导致CC以为微软是不是抛弃了这个功能,最后经过多方查找后终于找到这个功能,

Oracle的用户、权限及角色管理

一.权限分类: 系统权限:系统规定用户使用数据库的权限.(系统权限是对用户而言). 实体权限:某种权限用户对其它用户的表或视图的存取权限.(是针对表或视图而言的). 二.系统权限管理: 1.系统权限分类: DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构. RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构. CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构. 对于普通用户:授予con

Linux用户及权限基础 2 Linux权限

1 权限 1 权限是操作系统用来限制对资源的访问的机制,权限一般分为三种,读,写,执行.操作系统中每 一个文件都有特定的权限,所属的用户和所属的组,通过的这样的机制来限制哪些用户,哪些组可以对 特定的文件进行什么样的操作 2 每一个进程都是以某个用户的身份登录运行,所以进程的权限与该用户的权限一样,用户的权限大 ,该进程拥有的权限就大 3 文件权限 权限           对文件的影响              对目录的影响 r 读取       可读取文件内容         可列出目录的内

Linux用户及权限基础 1 Linux用户基础

1 用户和组 1 当我们使用Linux的时候我们都需要以用户的身份登录,一个进程也需要用户的身份运行 2 我们使用用户的目的就是为了限制使用者或者进程哪些资源可以使用或者不可以使用 3 组的相关信息 1 每个用户拥有一个UserID,操作系统使用的实际上是UserID,而不是用户名 2 每一个用户属于一个主组,还可以属于一个或者多个附属组 3 每一个组拥有一个GroupID 4 每一个进程必须要以用户的身份运行,并受该用户的权限影响使用资源 5 每个可登录的用户都有一个可用的shell 4 用户

Linux组、用户、权限相关命令练习

任务要求 研发部开发人员David和Peter属于组A: 行政部人员Jack 和Mike属于组B: 1.建立共享目录"/project_a",该目录里面的文件只能由 研发部开发人员读取.增加.删除.修改以及执行,其他用户不能对该目录进行 任何的访问操作: 2.建立目录"/project_b",该目录里面的文件只能由行 政部人员读取.增加.删除.修改以及执行,其他用户不能对该目录进行任何的 访问操作: 3.建立目录"/project",该目录里面的

Mysql下建立用户授权权限例子

用户授权在mysql中使用grant命令就可以了,我相信各位都会有了解过了,下面小编为各位介绍一个Mysql下建立用户授权权限例子,希望本文章对各位有帮助.     建立用户,授权数据库: mysql> create user 'byrd'@'localhost' identified by 'admin123';    #建立主机为localhost,密码为admin123的用户byrd Query OK, 0 rows affected (0.05 sec) mysql> show gra