首页

设计模式|输入线索:如何让用户清楚该输入什么?

涛涛


What 是什么

简介:「输入线索」是指用示例输入或说明文本以占位符(Placeholder)的形式显示在输入框中,以帮助用户理解需要输入的内容,或给出相关线索的一种设计方式。

例子:  在 Ant Design 输入框组件 的示例中(如下图),我们可以看到「输入线索」可以更好地帮助界面说明输入字段的内容或解释输入字段的功能。


Why 为什么

「输入线索」这种设计模式可以让界面不言自明。由于输入线索的内容位于用户输入的位置,因此用户往往不会忽略这个信息。



对比:「输入线索」VS「输入说明」

「输入说明」与「输入线索」都是辅助用户输入的设计模式,这些模式可以帮助用户明确输入信息的内容形式。

那么这两种模式有什么差异性呢?


使用「输入说明」这种模式时,快速浏览用户界面的用户可能会轻易地忽略说明信息,因为用户的目标是尽可能快地完成表单,然后进入下一步操作(虽然有的场景下这也是其中一个设计目标,但在这里不讨论)。因此,过多的文本说明也会给用户带来较大的心智负担。


Google 注册账号页是结合使用「输入说明」与「输入线索」的一个典型案例。通过使用「输入线索」告诉用户需要填写的内容,通过「输入说明」来补充填写信息的相应意图,进而使得用户可以清晰地意识到需要填写什么,并输入相应信息。


When 什么时候使用

用户可能不一定清楚需要在输入框中输入的内容。在设计上,你可能不希望在输入框附近上添加更多的字,造成视觉压迫。还有一种情况,如果界面空间有限,无法使用「输入说明」时,也可以考虑使用「输入线索」。当出现下拉菜单或者组合输入框时,往往需要配合该模式进行使用。


使用条件

· 输入框要求输入的内容可能不容易让人马上理解;

· 设计上不希望在其他地方补充新的内容;

· 可以承载文本的输入空间可能没有太多;

· 配合下拉菜单或者组合输入框使用;


How 如何使用

1. 选择适当的提示文本

· 对于下拉列表,使用 “选择”、“选取”等单词,英文使用 Select Choose 或者 Pick 等;

· 对于文本输入框,使用“输入”等单词,英文使用 Type 或 Enter;

· 尽量使用祈使句,以动词短语开头;

· 以描述输入内容的名词结尾,例如“选择状态”,“在此处输入消息”或“输入患者姓名”等;


2. 提示文本的位置

有关文本提示的位置应该和输入值的位置一致。 比如,提示本身不应该是下拉菜单中的可选值。


Example 案例

案例一:Ant Design Pro 登录功能预览

用户需求:用户登录功能的预览与体验

Ant Design Pro 是一个中后台开发的模板脚手架,其并不提供真实账号登录服务。因此 Ant Design Pro 的开发者为了模拟真实使用环境,提供了一个可正常登录的账号,账号密码分别 user 和 ant.design ,其余情况下用户输入的账号密码均会提示不正确。


在这个场景下,通过将正确的账号密码以输入线索的方式显示在占位符中,巧妙地告诉体验 Ant Design Pro 的用户正确的账号密码。


案例二:163邮箱登录页面

用户需求:登录账号

163邮箱登录页面的账号输入框中的输入线索非常有用。正常用户在看到后缀有 @163.com 时可能并不一定能意识到可以输入手机号码。而通过在占位符中 显示「邮箱账号或手机密码」,高效便捷地提示了用户可以直接输入手机号码进行登录。


案例三:小米账号登录页面

用户需求:输入账号密码

「输入线索」有一种设计上的变体,称为「浮动标签」。因为一般来说,当用户激活输入框时,占位符文本会消失。而「浮动标签」不会消失,通过移动位置和更改大小驻留在界面中。这种设计方式可以使得界面变得简洁、优雅。



蓝蓝设计建立了UI设计分享群,每天会分享国内外的一些优秀设计,如果有兴趣的话,可以进入一起成长学习,请扫码蓝小助,报下信息,蓝小助会请您入群。欢迎您加入噢~~希望得到建议咨询、商务合作,也请与我们联系。

截屏2021-05-13 上午11.41.03.png


文章来源:站酷  作者:Ant_Design

分享此文一切功德,皆悉回向给文章原作者及众读者.

免责声明:蓝蓝设计尊重原作者,文章的版权归原作者。如涉及版权问题,请及时与我们取得联系,我们立即更正或删除。

蓝蓝设计www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计 、 cs界面设计 、 ipad界面设计 、 包装设计 、 图标定制 、 用户体验 、交互设计、 网站建设 平面设计服务


用户访谈的小技巧

涛涛


华为会定期派员工去两个地方做用户研究。第一个地方是华为手机线下门店,这个地方很好理解,通过观察和访谈顾客,能挖掘到不少体验设计需求。另外一个地方我完全没想到是——手机维修中心!来维修手机的用户都是愤怒而且失望,如果员工能体会到这些用户的心境,对产品的设计底线和情感关怀应该会做得更好。

另外一方面,通过数据分析、竞品分析得来的信息,我们不过是依据脑子里已经存在的假设再设计方案验证罢了。有很多信息是未知的盲区,未知的盲区有潜在不可预估的风险,通过用户访谈探索盲区能帮助我们打破固有观念,补齐短板,做出更贴近用户的设计方案

从多次实战中,总结了用户访谈的 8 个小技巧

通过访谈确实得到了想要的信息,也为后来产品优化提供方向。访谈期间发现了一些实用的小技巧,在此分享给各位读者。

技巧 1:通过预访谈修正大纲

我猜设计好访谈大纲的你迫不及待的马上想去访谈用户,但是如何证明现在的访谈大纲的正确的呢?万一设计的问题不对,那自然得到的访谈结论也是错的。所以在设计好访谈大纲后,可以先只预约 1 个用户,或者和目标用户相近的朋友进行一次访谈预演习。通过这次演习找到大纲问题或者访谈中遇到的其他突发情况,对大纲进行修正之后再批量预约用户进行访谈。

也可以把大纲当作一款互联网产品,每一次访谈之后对大纲进行反思迭代,让下一次访谈更好。

从多次实战中,总结了用户访谈的 8 个小技巧

技巧 2:寒暄和循循渐进

如果和访谈的用户一开场就单刀直入的提问,可能用户此时刚从其他事情抽身出来,注意力和记忆力都还没进入访谈状态。开场立即提问会让用户懵,因此建议一开场先和用户寒暄,比较轻松的聊一些和产品相关的问题,给访谈热热身。

从多次实战中,总结了用户访谈的 8 个小技巧

技巧 3:鼓励用户畅所欲言

中国人讲究和气生财,尤其对陌生人更是客气得很。不敢当面指出你的问题,担心你面子上挂不住或者生气。另外你认为是很重要的细节,用户可能不太在乎。为了从用户言语里得出更多信息,要鼓励用户多说不好的地方,甚至可以卖惨宣称收集不到足够的问题会被老板骂,求用户多吐槽。

从多次实战中,总结了用户访谈的 8 个小技巧

技巧 4:不要使用用户不懂的术语

虽然在客户面前说些黑话会让你显得很专业,或者你和同事在公司里有约定的简化术语。但是用户并不懂这些,所以在用户前面收起你身为互联网人的身份气质,好好的说人话来和用户沟通,本身也是在设计真正的用户体验

从多次实战中,总结了用户访谈的 8 个小技巧

技巧 5:多询问曾经的真实经历

越是宽泛和抽象的问题越难回答,不知道该从哪个角度开始讲起。“从场景中寻找痛点”可不能只是嘴上说说的场面话,询问用户曾经的真实经历,就是获得现实的用户使用场景,具体的问题也能让用户回忆起当时的细节,这样你才能从细枝末节中找到痛点。

从多次实战中,总结了用户访谈的 8 个小技巧

技巧 6:穿插现场操作,鼓励口述想法

用户访谈是非常消耗时间的方法,好不容易访谈一次就尽量榨干所有价值。建议访谈过程中穿插一些让用户现场操作的小任务,观察用户的现场操作,根据行为分析出体验优化点。同时注意让用户一边操作时一边说出脑中的想法,获取用户的思考过程,更能得到有价值的信息。

从多次实战中,总结了用户访谈的 8 个小技巧

技巧 7:不要问封闭式问题

封闭式问题得到的信息很少,而且所有的问题答案都只是你对现有已知信息设置的。如果要获得封闭式问题的答案,不如网上直接发问卷来得效率高呢,在访谈中问这些性价比不高。我们尽可能多问开放式问题,多收集未知的信息。

从多次实战中,总结了用户访谈的 8 个小技巧

技巧 8:给用户荣誉感

“垃圾是放错地方的资源”——说明对某些人不重要的信息对另外对人可能非常有价值。用户对访谈中说过的话认为并不是很有意义的信息,但是对于你来说可能就是提升产品体验的高价值问题。

我几乎每次访谈的最后用户都会对我说“我就随便说说,希望能帮到你”,这时候就真诚的告诉用户这些信息很有价值,让用户心中获得访谈的荣誉感,这样可能比给物质奖励让用户更开心。并且荣誉感会激励用户之后再给你反馈更多产品使用问题,持续得到有价值的反馈。

从多次实战中,总结了用户访谈的 8 个小技巧

蓝蓝设计建立了UI设计分享群,每天会分享国内外的一些优秀设计,如果有兴趣的话,可以进入一起成长学习,请扫码蓝小助,报下信息,蓝小助会请您入群。欢迎您加入噢~~希望得到建议咨询、商务合作,也请与我们联系。

截屏2021-05-13 上午11.41.03.png



文章来源:优设  作者:龙爪槐守望者

分享此文一切功德,皆悉回向给文章原作者及众读者.
免责声明:蓝蓝设计尊重原作者,文章的版权归原作者。如涉及版权问题,请及时与我们取得联系,我们立即更正或删除。

蓝蓝设计www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计 、 cs界面设计 、 ipad界面设计 、 包装设计 、 图标定制 、 用户体验 、交互设计、 网站建设 平面设计服务



Datatables表格固定列 dataTable.fixedColumns.js的使用和修复 - 完美解决ICheck不能勾选问题

前端达人

前言

在项目实际开发我们会遇到表格列过多,表格内容过长的困扰,表格数据的展现很不理想,今天我为大家介绍如何结合Datatables 使用表格固定列;

效果展示

1、在屏幕足以展现内容的情况下
在这里插入图片描述
2、模拟屏幕过小 或表格列过多的情况
在这里插入图片描述
从效果图可以看出,我将左侧两列和右侧一列 作为固定列 ,中间内容可拖动显示

开始使用

//引入juqery datables fixedColumns 根据各自的样式需求 本人使用的是bootstrap 
<link href="您的资源目录/dataTables.bootstrap.css" rel="stylesheet">
<link href="您的资源目录/fixedColumns.bootstrap.css">
<script src='您的资源目录/jquery.js'></script>
<script src='您的资源目录/jquery.dataTables.min.js'></script>
<script src='您的资源目录/dataTable.fixedColumns.js'></script> 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

初始化datatables

//异步请求获取表格渲染数据
var dataTable;
$(function () {
    dataTable = $('#表格ID')..DataTable({
            "processing": true,
            "serverSide": true,
            "ajax": {url:  "您的请求URL"},
            "scrollX": true,
            "autoWidth": true,
            "columns": [
            ...
            ]
    });
}) 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

初始化fixedColumns

new $.fn.dataTable.FixedColumns(dataTable,{
    "iLeftColumns":2,  //开启左侧两列固定
    "iRightColumns":1, //开启右侧1列固定
    "drawCallback": function(){
        //重绘的回调执行
    }
}); 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

原理解析

在datableas 初始化后 根据设定的开启固定列,获取datables 对应表格数据 进行复制,然后采用position: absolute 在原表格 上加多一层固定列表格的展现,感兴趣的朋友可以浏览器DEBUG查阅;

出现的问题

1、固定列出现滚动条
在这里插入图片描述
出现这个问题是 dataTable.fixedColumns.js 插件计算固定列宽的问题,可以在源码进行修改;或者在fixedColumns.js 重绘成功后回调中执行

$(".DTFC_Cloned").css("width","auto"); 
  • 1

2、采用ICheck 插件无法点击 和 勾选问题

原因:因为异步加载数据的问题 ,我们每次在datables重绘的回调函数中 进行ICheck 再次初始化;
而dataTable.fixedColumns.js 是 datables 初始化完成后才执行的 ,上文也提到固定列实现的原理,其复制了固定列数据 position: absolute,那么展现给我们看到的是已经初始化的ICheck ,真正可以勾选点击的其实在下一层;

解决思路:在fixedColumns.js 重绘成功后回调中初始化ICheck; 再重新注册全选 和反选事件;

//朋友们可以根据需求 自定定义自己的初始化和事件注册
new $.fn.dataTable.FixedColumns(dataTable,{
    "iLeftColumns":2,
    "iRightColumns":1,
    "drawCallback": function(){
        //重绘Icheck 这里是我封装的初始化方法
        iCheckInitFunction();
        //重新设置全选事件 这里是我全选/反选的注册事件
        TableiCheck(".DTFC_Cloned thead tr th input.i-checks", ".DTFC_Cloned tbody tr td input.i-checks");
    }
}); 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

修复版的 dataTable.fixedColumns.js 下载

大家可以选择适合自己的样式
在这里插入图片描述

蓝蓝设计建立了UI设计分享群,每天会分享国内外的一些优秀设计,如果有兴趣的话,可以进入一起成长学习,请扫码蓝小助,报下信息,蓝小助会请您入群。欢迎您加入噢~~希望得到建议咨询、商务合作,也请与我们联系。

截屏2021-05-13 上午11.41.03.png


分享此文一切功德,皆悉回向给文章原作者及众读者.

免责声明:蓝蓝设计尊重原作者,文章的版权归原作者。如涉及版权问题,请及时与我们取得联系,我们立即更正或删除。

蓝蓝设计www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计 、 cs界面设计 、 ipad界面设计 、 包装设计 、 图标定制 、 用户体验 、交互设计、 网站建设 平面设计服务


jsTree默认展开、收起

前端达人

默认展开

  1. // 所有节点加载完成后触发
  2. $('#jstree1').on("ready.jstree", function(e, data) {
  3. // 默认选择节点
  4. $('#jstree1').jstree('select_node', ['child-1-1', 'child-2-2']);
  5. // 默认展开/打开全部
  6. $('#jstree1').jstree().open_all();
  7. });
  8. // 选择更改时触发
  9. $('#jstree1').on("changed.jstree", function(e, data) {
  10. console.log(data.selected);
  11. });

默认收起

  1. // 所有节点加载完成后触发
  2. $('#jstree1').on("ready.jstree", function(e, data) {
  3. // 默认选择节点
  4. $('#jstree1').jstree('select_node', ['child-1-1', 'child-2-2']);
  5. // 默认关闭/收起宣布
  6. $('#jstree2').jstree().close_all();
  7. });
  8. // 选择更改时触发
  9. $('#jstree1').on("changed.jstree", function(e, data) {
  10. console.log(data.selected);
  11. });

    蓝蓝设计建立了UI设计分享群,每天会分享国内外的一些优秀设计,如果有兴趣的话,可以进入一起成长学习,请扫码蓝小助,报下信息,蓝小助会请您入群。欢迎您加入噢~~希望得到建议咨询、商务合作,也请与我们联系。

    截屏2021-05-13 上午11.41.03.png


    分享此文一切功德,皆悉回向给文章原作者及众读者.

    免责声明:蓝蓝设计尊重原作者,文章的版权归原作者。如涉及版权问题,请及时与我们取得联系,我们立即更正或删除。

    蓝蓝设计www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计 、 cs界面设计 、 ipad界面设计 、 包装设计 、 图标定制 、 用户体验 、交互设计、 网站建设 平面设计服务

设计沉思录 | B端商城的客户链路设计

seo达人


背景:58会员商城是面向B端商户的信息服务售卖平台,囊括了公司各类业务的会员端口套餐、推广商品、增值服务等商业化产品。长期以来公司的商业交易主要依赖电销团队、线下销售团队来完成,战略层希望将线下销售模式向线上模式转变,建设一个以客户为中心的售卖平台。

 

01.B端商城的认知探索

说起商城,作为普通消费者第一印象就是京东、天猫、淘宝、拼多多等耳熟能详的电商平台。在早期,我们也先入为主地以为商城的参照系是C端电商,以最基本的购物流程和商品信息架构入手。
 
然而在项目推进过程中,发现B端商城与C端电商有着孑然迥异的特征。为了调整原有的设计模式,让整体的商业服务能更贴合客户实际使用诉求,我们也先从研究入手,探索商城真实的客户情况。
 

调研花絮&物料

 

02.B端客户差异

从研究中发现,比起独立个体的C端消费者,B端客户往往目标更明确、决策要素更集中。

 

C端电商的客户

  • 用户:以独立个体为主
  • 流程:导流-列表-详情-订单-支付-物流-收货
  • 商品:以图片介绍为主,多为大众化消费品,认知成本低
  • 目标:灵活,分散,以兴趣、生活需要为导向

 

58会员商城的客户

  • 用户:既有公司团体,也有商户个体、独立个体
  • 流程:渠道转化-注册身份-选择套餐-付费下单-确认合同-认证资质-开通使用
  • 商品:信息服务类商品,认知成本高
  • 目标:聚焦,为业务运转而采购,推广预算明确,追求商业效益最大化

 

具体来说,58会员商城的客户一部分来自企业间的框架合作,例如房产推广客户,大型中介品牌与58同城达成了合作协议(业务侧称之为KA客户),定期从商城购买大批量的经纪人推广套餐会员,购物这件事儿对他们来说反而成了例行任务;另一部分来自电销推广,例如本地服务商家在业务员的推广转化下来到商城购买商户推广套餐;还有一部分是个体商人、经纪人,通过公开渠道自主下单。
 
这些客户从购买的服务内容、购买的机制规则来说都有不同的差异。对于商城设计师而言,更需要关注客户差异所带来的购物效率、成功率等问题。

 

  • 效率问题:KA客户采购模式与购物流程的矛盾
  • 成功率问题:客户心智与商品选择难度的矛盾

 

03.客户链路设计

本着给客户提供更好的商城售卖服务,根据上述关键问题,我们进行了针对性的流程链路梳理,探索更优解的方案设计。
 

· KA客户采购模式与购物流程的矛盾

KA客户的采购模式与C端电商经典购物流程截然不同。

首先,客户需要经历繁复的线下任务:i.跟门店经纪人收集名单;ii.整理经纪人开通时间&套餐类型;iii.与业务员审核名单信息。
 
然后才是进入商城-选择商品-上传名单-付费下单。根据KA客户的管理规模不同,每个月需要多次进行线下收集任务,周期性为旗下经纪人开通推广套餐。而收集环节中的名单信息存储在公司内的另一个业务系统中,C端电商的线性流程不能在这场景上互融互通。因此,我们需要进行新的流程设计,聚焦KA客户的采购场景,提升客户购买效率。

KA客户流程改造示意图

 

在新的流程中,将线下任务转移到线上,大幅缩减了参与人员类型和多个流程环节。用户经由KA客户专属入口,进入采购模式,通过名单管理机制完成添加、管理等操作。根据名单结果匹配对应的套餐组合和优惠策略,引导KA客户进行批量下单。通过系统流程的互通改造,打通原有操作屏障,提升采购流程的流程性与体验。

KA客户改造方案

 

不仅如此,还有更多细分场景,例如经纪人到期续费、新员工入职开通套餐、经纪人自主申报加开套餐等等。这些环节贯穿了KA客户及其员工们的工作生命周期,通过关键服务触点打磨和数据的融合,让客户能够更快捷获取信息通知、套餐管理、推广服务管理,从而形成完整的KA客户服务链路。而全链路设计非一日之功,这也是我们正在持续研究和挖掘的方向。

 

· 客户心智与商品选购难度的矛盾

与KA客户不同,黄页商家客户更接近于普通消费者。用户在业务员的引导下进入商城采购,这期间用户面临的主要挑战是:

1.复杂的业务分类

2.雷同的商品内容

在原先设计中,采用了扁平的C端电商筛选逻辑,筛选信息密度高,使得商家客户容易忽略城市、行业类别对套餐的影响,导致买错套餐、退单重买的情况频频发生。再者是信息服务类商品的大量雷同,需要业务员反复与客户介绍套餐资源差异,影响购物决策效率。因此,对于这类场景,设计师的目标就要聚焦商家客户的购物成功率,通过改造筛选路径提升交易准确性和体验。

 

商品列表问题

 

新方案中,先解决用户第一个挑战:聚焦“行业类别”选择。通过蒙层的方式,让用户聚焦自身的业务类型,再结合业务关键词的搜索匹配,避免海量类目干扰。
 

商品蒙层引导

 

接着让用户去完成下一个挑战:选择会员套餐。
 
信息服务类商品不像大众消费品有物理实体,可以通过照片去判断感知,更多情况只能通过文案描述来传递商品信息。那么,如何让用户感知文案差异也是设计的关键。通过信息清单的对比设计,来呈现不同规格的套餐内容。我们还衍伸套餐PK工具、自助餐模式,来应对信息服务商品的差异化感知问题。
 

商品信息对比设计

 

完成以上购物流程的改造、商品信息感知的设计之后,我们也逐渐发现:不同客户之间虽然有购买场景的差异,但也在商城有着共同接触的服务节点。

 

04.链路的整合与延伸

为了让好的设计服务到更多用户,我们需要从系统的角度去考虑如何让流程路径更具兼容性、让商城服务更具通用性。

 

· 业务分发路径

商城原先是以商品类型的分类逻辑进行组织,不同业务线与不同类型的商品交织混杂在一起。用户不能在业务分类下检索全部商品。在新的客户链路设计下,需要融合业务线客户特征、业务线商品特征等情况,因此需要调整为以业务类型为主的分类逻辑,在首页中强化业务分类,并将原来的商品列表页改成业务线大类页。让不同业务的商家、不同体量的客户各得其所。
 

商城框架改造示意

 

· 公共服务触点

我们收集了客户在购物不同阶段所可能接触的内容:购物前—咨询客服、了解业务介绍&商品规则;购物中—对比商品信息;购物后—引导开通资质。根据这些环节沉淀了公共的客服帮助中心,信息卡片规则,商品信息的流转结构、售后流程节点引导等等,通过细节的打磨和设计,给予用户更清晰、更便捷的指导,以此带来更方便的自助服务体验。
 

公共服务触点梳理

 

05.最后

回想起来,B端商城的核心设计思想依然还是“以用户为中心”。差别大致在于:C端是要去验证用户痛点的真伪,以“点状”思路验证可行性;而B端是要去支撑用户的业务链路,以“面状”的流程通路去满足业务基本的运转需要。在这样的项目中,作为设计师需要进行更多思考,由“点“及“面”,不断探索用户与业务的逻辑交织,像个蜘蛛侠一样跳跃在逻辑的塔楼。

 

原文地址:58UXD(公众号)
作者: 环铁艺术家 

转载请注明:学UI网》设计沉思录 | B端商城的客户链路设计

蓝蓝设计建立了UI设计分享群,每天会分享国内外的一些优秀设计,如果有兴趣的话,可以进入一起成长学习,请扫码蓝小助,报下信息,蓝小助会请您入群。欢迎您加入噢~~希望得到建议咨询、商务合作,也请与我们联系。

截屏2021-05-13 上午11.41.03.png


文章来源:站酷   作者:陈皮Celia 

分享此文一切功德,皆悉回向给文章原作者及众读者.
免责声明:蓝蓝设计尊重原作者,文章的版权归原作者。如涉及版权问题,请及时与我们取得联系,我们立即更正或删除。

蓝蓝设计www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计 、 cs界面设计 、 ipad界面设计 、 包装设计 、 图标定制 、 用户体验 、交互设计、 网站建设 平面设计服务

5个设计小技巧,越早会越好

seo达人


平时很喜欢一些干净的设计,让人感觉很舒服,阅读内容也清晰,很多设计师在设计时,经常细节过多,会显得累赘,有时候设计也需要用到英文,但只专注到了字体选择,却忽略了英文其他细节,今天和大家分享下,如何让你的设计更加利索干净!

 

 1.调整行间距 

行间距大家都知道,但是具体如何设定值很多人不知道,一般我常用规则是 +4 ,比如文字大小是12PX,那么行间距就是16,以此类推文字是14,那么行间距就是18。

▲ 上图是之前设计的一套规范的字行间距规则,供大家参考。

 

除了+4的规律你也可以运用黄金比例,文字大小X1.414,文字大小X1.616(1.414和1.616是黄金值)取四舍五入,得出以下字体间距规则。

 

很多人要问,我如何判断界面里面用多大的行间距呢?道理很简单,就是看你们内容,如果你们app内容需要很丰富,你可以行间距小一些让屏幕展示更多内容,可以运用+4的原则,目前淘宝天猫是这个原则,如果你页面内容更加留白大一些阅读舒服一些,可以运用黄金比例的行间距,比如新闻阅读软件,需要大量留白来调整呼吸感!

▲ Yahoo News因为文字内容信息比较多,所以需要页面信息量丰富,所以在行间距上用的类似固定+4的原则,让页面看起来更加清爽。

 

▲ 相反Airbnb页面节奏大家感觉更舒服一些,因为它整体的行间距比较大,留白比较舒服,给人很优雅,清爽的感觉,他们在很多设计细节上都没有遵循iOS规范,而去打破重组,比如列表高度,列表的图标大小等。

 

 2.调整字间距 

除了行间距,字间距同样很重要,特别是英文页面时候,同样的内容,字间距,和行间距不合适,看起来界面就会相差很多,有的看着很舒服,有的看起来说不出来哪里不对。

▲ 这2个页面,左边:  (字母和字母的字间距: 0 ,行间距:20);右边: (字母和字母的字间距: 0.2 ,行间距:22)

上面左边的页面字母和字母之前距离非常的紧密,句子和句子之间的行间距也很近,导致阅读起来很密集,不够舒服,相反右边通过加大行间距和字间距,使得内容没有那么满,字母和字母之间的间距,行与行之间的间隔,使得整个设计节奏得到了一些舒缓!

需要注意的是:不要给太大的字间距,有时候过大也会让读者不舒服。

 

 3.减少线 

▲ 同样一个结构,Airbnb对于商品单元处理就比ebay看起来要干净清爽一些,原因在于ebay上面线条太多,可能和他们整体视觉语言有关,线多了就没有纯色看着清爽干净。

 

▲ 再看亚马逊的设计,以及韩国29cm对于细节的处理,29cm去除一切线条,让设计更加清爽利索,而亚马逊线条很多,虽然很好的起到的信息分割作业,但是就不够清爽利落。

 

▲ 同样一个设计,上面的采用线条的处理,下面的采用去掉线条用色块来处理,哪个看起来更加干净,当然是下面的!

 

所以在一个设计里面减少线条,或者让线条最少化,是让UI设计看起来干净的一种很重要的方法,通过间距来分割信息,加强内容和内容之间的间距,这样做,用户也是可以很清晰的区分信息层级

需要注意的是:优先保证内容清晰,如果有些地方一定要用到线条,一定要使用它。

▲ 在Facebook新版本视觉风格中,很明显发现去线条的设计技法,左侧是改版前,右侧是改版后,很明显facebook减少了线的运用。

 

▲ 去掉线条后整个设计并没有影响层级,相反更加清晰。

 

 4.留白 

▲ 页面放松和呼吸感在UI中非常重要,在左侧的设计中,元素之间的距离特别小,都挤在一个空间里面,非常的满。

 

右边的界面,很好的运用了版式,和空间感,有足够的空间让元素之间去呼吸让用户感觉舒服。

▲ 这个案例里面,左边的内容很密集,留白虽然有,但是不明显,右边运用了大的灰色留白来区分信息的内容,所以右侧看起来更加舒适。

 

▲ Facebook的卡片设计同样也是采用粗的间距来作为信息的区分,让页面看起来更加的层次分明,利索干净。

 

▲ 同样左侧的页面虽然运用了去线,每个内容和内容直接的间距留白有了,但是信息密集不清晰,右侧的就很清晰,通过头像作为纽带来区分信息,让每行的内容更加清晰可见。

 

 5运用卡片 

▲ 在清晰度层面,使用卡片是帮助内容信息反馈的很好一种视觉形式,同时也让信息更加明确哪块是哪块。

 

▲ 卡片化设计在移动端让设计更加干净利落,是经常运用到的设计点。

 

 总结 

今天分享的几个小技巧点,其实是我们每天做设计中遇见的,需要灵活的多学多用,同时我们每天看到的一些好的设计,记得去留意分析,为什么别的设计好,别人设计看起来那么干净,毕加索说过:好的设计师借鉴,伟大的设计师偷。

  • 1.加强行间距,+4原则或黄金比例
  • 2.加大字间距: 0.1或0.2勿过大
  • 3.减少线条,如非得已使用线
  • 4.合理留白,拉开信息层级
  • 5.运用卡片,更好整合信息

 

原文地址:我们的设计日记(公众号)

作者:sky


转载请注明:学UI网》5个设计小技巧,越早会越好

蓝蓝设计建立了UI设计分享群,每天会分享国内外的一些优秀设计,如果有兴趣的话,可以进入一起成长学习,请扫码蓝小助,报下信息,蓝小助会请您入群。欢迎您加入噢~~希望得到建议咨询、商务合作,也请与我们联系。

截屏2021-05-13 上午11.41.03.png


文章来源:站酷   作者:陈皮Celia 

分享此文一切功德,皆悉回向给文章原作者及众读者.
免责声明:蓝蓝设计尊重原作者,文章的版权归原作者。如涉及版权问题,请及时与我们取得联系,我们立即更正或删除。

蓝蓝设计www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计 、 cs界面设计 、 ipad界面设计 、 包装设计 、 图标定制 、 用户体验 、交互设计、 网站建设 平面设计服务

交互手势全解析之位移类手势

seo达人



通过本文,学会根据需求设计合适的位移类手势,能够判断手势的体验问题并提出相应解决方案,并与开发同学高效沟通确保落地。

 

前言

一年前更新了文章《交互手势的容错性和逻辑性》之后,有很多读者朋友询问是否能够做一个详细的讲解交互手势的系列文章,讲解每个手势的不同之处、应用场景以及在工作中如何使用。

我非常理解这些读者的痛点,因为我在日常的工作中,也经常遇到一些难题。比如同样是滑动,但是些许参数的变化就会导致体验的天差地别,应该如何进行选择。再比如与开发同学沟通过程中如何准确描述自己想要的效果,让最后的结果不至于与自己的预期不一致。

这些难题也促使我大量思考,大量体验各种产品的手势操作,希望能够从中总结出规律,让手势的设计与落地能够有理有据。现在经过一段时间的积累,我认为我在这方面可以讲一些能够帮助大家的内容了。不足之处,希望大家指正。

今天给大家带来专栏的第一篇《交互手势全解析之位移类手势》。

 

1 位移类手势的描述维度

手势作为图形界面与用户之间沟通的方式之一,在便携电子设备上大量应用。与实体按键相比,它有着纯粹的简洁性和无尽的创造性,手指的个数变化、不同变量的组合能够创造出无数的操控方式。

位移类手势是指代那些通过手指接触屏幕后的位置变化从而操控电子设备的手势,本篇文章主要讲解单指操作的位移类手势,多指的位移类手势(如捏合)将放到后续文章中讲解。

一谈到位移类手势,大部分设计师的脑海中可能会浮现出拖拽、甩动和轻扫这三个术语。然而,当我们想仔细谈论他们三者之间的区别时,大部分设计师可能无法准确地描述。为了能够准确描述三者的区别,我们在这里引入三个维度的概念,它们分别是控制方式稳定化效果、以及阈值类型,这三者的不同的变化组合可以创造不同的位移类手势,拖拽、甩动和轻扫之间的区别也是这三个维度影响的。当我们在讨论不同位移类手势之间的区别时,不如说是在讨论这三个维度之间的区别。比如常见的轻扫手势,因为这三个维度的变化就会产生不同的变种,而且不同变种在体验上也存在很大差别,若不分场景随意使用,很容易就影响用户体验。那接下来我们首先了解一下这三个维度。

 

1.1 控制方式

第一个维度是控制方式,它分为绝对控制相对控制,也可以通俗的表达为跟手不跟手,区别如下。

绝对控制/跟手:施加控制的一方(后文简称施控物)的某个属性变化与被施加控制的一方(后文简称受控物)的某个属性变化是对应的

相对控制/不跟手:施控物的某个属性变化与受控物的某个属性变化不是对应的

比如在网易云音乐的播放页(下图左),左右滑动黑胶时,手指是施控物,黑胶是受控物,手指的横向位置变化和黑胶的横向位置变化是对应的,即绝对控制。上滑调出评论页时(下图右),评论页的位置和手指的位置没有对应关系,手指的上滑仅仅控制评论页是否出现,即相对控制。

与相对控制相比,绝对控制允许用户去操控受控物的属性变化过程,因此给予了用户更强的掌控感。比如在微信读书阅读页边缘右滑,手指的横向位置与书籍封面的变化过程对应,模拟现实生活中慢慢合上书的感觉,如下图。

但是在有些场景,为了避免混乱,属性变化过程是不适合被用户绝对控制的,此时我们应采取相对控制的方案。比如 iOS 的相机中,左右滑动切换拍摄模式,由于前后不同模式之间的页面框架变化较大,切换时会有过多元素的属性变化,如果使用绝对控制就会导致切换拖沓且混乱,使用相对控制就能避免这个问题。

 

1.2 稳定化效果

1.2.1 定义

当我们使用手势控制某个受控物时,由于手势的某个属性(如手指位移)达到阈值,进而导致受控物的某个属性稳定在了特定状态的效果被称为「稳定化效果」,或者也可以称为「吸附」。

稳定化效果能够保持界面的视觉秩序,避免过多的中间状态导致界面的杂乱,进而帮助用户聚焦信息。

是否有稳定化效果是区别轻扫与另外两个手势即甩动和拖拽的重要维度,当某个位移类手势有稳定化效果,我们就将其称作轻扫

以滑动切换抖音视频为例,当手指上滑的位移距离和释放速度其中的某一项属性达到阈值后,下一条视频会往上移动到一个固定的位置然后进入稳定状态,而不会出现停留在不完整的中间状态,如下图所示。

在 iOS 端的微信消息页左滑某条消息后会出现更多操作按钮,按钮会在手指滑动的距离达到阈值并松开后稳定在一个固定的大小,而不会停在类似下图左所示的混乱的中间状态。

在多内容选择的场景中,如果滑动与选中是绑定的话,一般需要使用稳定化效果。例如在 iOS 相机里选择滤镜时,滑动滤镜选项不但能够控制滤镜选项的位置,并且会自动选中一个位于中间位置的滤镜,位置的稳定化避免了被选中选项的不明确。

如果滑动与选中是分开的,比如美图秀秀的滤镜选项需要先滑动后选中,这种情况下稳定化效果不是必要的。

 

1.2.2 与效率的关系

不同的稳定化规则带给用户的体验差异是非常大的,最明显的差异是在效率方面。我们使用稳定化效果的强弱来理解,稳定化效果越强,单次滑动能够切换的选项个数越少,效率越低。稳定化效果越弱,单次滑动能够切换的选项个数越多,效率越高。

比如在比较常见的 banner 切换功能中(下图左),无论手指位移和释放速度的值有多高,banner 只能切换并稳定到下一个,不能够一次切换多个 banner。而在网易云音乐的首页排行榜中,一次滑动能够切换多个内容卡片。因此,我们可以说前者的稳定化效果比后者强。

拖拽和甩动虽然没有稳定化效果,但是也存在效率的高低。我们可以将其与轻扫放在一起做对比,如下图所示,拖拽、稳定化效果强的轻扫、稳定化效果弱的轻扫、甩动它们切换效率依次增加。

那么我们决定添加稳定化效果后,如何选择强弱程度呢?选择没有绝对的对错,整体来说主要考虑两点,业务诉求和用户诉求。例如在常见的 banner 切换中,banner  的总数量一般不会很多,业务的诉求是希望尽可能曝光每一个 banner ,使感兴趣的用户进行消费,因此这里比较适合做稳定化效果强的轻扫。在云音乐的排行榜案例里,不同用户感兴趣的榜单是不同的,稳定化效果弱的轻扫可以方便用户单次滑动切换多个,快速切换到自己感兴趣的榜单的大概位置。

百度 App 的表情面板原本是左右轻扫浏览表情,在一次改版中改为了上下甩动浏览。主要目的之一就是为了提高浏览效率、降低非首屏表情的曝光难度。

微信视频号的改版是一个典型的案例,旧版的微信视频号的视频流并不是类似抖音那样的全屏化形式和轻扫手势(下图右),而是占据屏幕尺寸三分之一到二分之一之间的卡片形式(下图左),并且使用甩动而非轻扫。视频号问世初期优质内容匮乏,社交推荐算法不完善,贸然模仿抖音式的全屏化形式和轻扫手势的话,会导致用户浏览到劣质视频时负面感受被增强且切换效率变低,反之卡片形式加甩动手势给予了用户更自由的选择空间,提高了用户的切换效率,降低了负面体验。等到如今时机成熟,再从卡片形式和甩动手势换成全屏化形式和轻扫手势就势在必行了。

在某些场景,用户需要先通过高效的方式选择特定区域的内容,然后进入聚焦状态进行内容浏览和慢速的切换,此时我们需要设计两种切换效率不同的手势应对前后场景的变化。如下图,在 iOS 的照片 App 中,先使用切换效率较高的甩动进行粗略切换找到目标图片大概位置,点击进入大图模式时使用切换效率较低的轻扫进行精确切换查看。

 

1.2.3 触发时机

触发稳定化的时机可以分为释放前和释放后,不同的时机带给用户的体验也不同。释放前稳定化指的是用户使用手指滑动屏幕时,手指位移达到阈值后,手指无需离开屏幕,稳定化即可被触发。如下图左,iOS 的相机滑动切换滤镜使用的就是释放前稳定化。释放后稳定化指的是用户使用手指滑动屏幕时,手指位移或释放速度达到阈值后,手指必须离开屏幕,稳定化才能被触发。如下图右,常见的 banner 切换。

释放前稳定化可以避免拖沓,增加切换效率,但是缺点是无法反悔回退且缺乏掌控感。反之,释放后稳定可以反悔回退,掌控感强,但是缺点是比释放前稳定化拖沓了一些。

 

1.3 阈值类型

阈值是能够触发变化的最小值。比如当水的温度达到 100 度时就开始变成水蒸气,100 度就是一个阈值,温度是阈值类型。在手指与屏幕的交互中,手指在屏幕上的某个停留时间、位移、释放速度、点击次数等都可以成为一个阈值类型,达到相应阈值后就可以触发相应的变化,常见的变化有受控物的位置、大小、不透明度等,理论上变化可以是任意的。

在位移类手势中,通常会用到的阈值类型有手指位移释放速度,手指位移是用户在手指触摸屏幕时的位置与之后某个时间手指位于屏幕的位置之间的距离,释放速度是用户的手指在屏幕表面进行位移后离开屏幕那一瞬间的速度。

市面上的 App 暂时不存在仅通过释放速度判定而与手指位移无关的阈值判定方式,因为其不太符合常识。因此我们在设计位移类手势时,能够选择的阈值判定方式常见的有两种:

  • ① 判定手指位移和释放速度满足任意一个即可;
  • ② 仅判定手指位移。

当我们设计手势时,就需要考虑两者的区别。由于 ① 比 ② 增加了释放速度带来的额外移动距离,因此 ① 的主要优点是高效。但是由于我们无法预判释放速度带给受控物的移动距离长短,所以相对应的缺点就是易误操作和不精确。②就恰恰相反,由于不存在释放速度造成的不确定因素,它的优点是不易误操作和精确,缺点是低效。

甩动和拖拽之间的区别就在于阈值判定方式,甩动是 ① ,拖拽是 ② 。如下图,当在微信消息列表找相应的消息时,用户的诉求就是能够快速找到特定消息的位置,对特定消息的出现在屏幕的位置也没有特定要求,只要能够被手指点击到即可,因此选用甩动较为合适,但是对于调节音量、亮度这一类的操作,滑动的范围有限,因此用户对效率没有太高的要求,但是对于滑块位置的精确度有要求,因此选用拖拽是更为恰当的。

再举一个反例,在 Steam 移动端横滑首页的泳道卡片时(下图左),使用的手势是拖拽而不是甩动,浏览起来特别低效。更适合的做法应为甩动,会更符合此场景下的快速浏览的诉求,如下图右的豆瓣。

对于轻扫来说,使用哪种阈值判定方式有多种情况(如下图所示)。在本文中,根据阈值类型、稳定化效果以及控制方式的不同我将把轻扫分为 A-E 共 5 类(A-E的命名方式仅存在于本文章,因此在向其他人传达时,尽量使用在后文我介绍的手势描述而不是类别名称,以便于对方理解。)。后续会为大家仔细举例讲解,大家现在仅了解一下即可。

当我们在刷抖音视频时使用的手势就是轻扫,是否滑动到下一条视频进行播放的判定方式是① 判定手指位移和释放速度满足任意一个即可,对应的手势类别是上面表格中的轻扫A。如下图所示,在刷抖音时,如果使用判定手指位移的方式,我们可以将手指在垂直方向位移大于半个屏幕高度的距离,从而切换到下一个视频。如果使用判定释放速度的方式,我们可以移动任意的垂直距离但是手指离开屏幕时保留一个速度从而切换到下一个视频。大部分情况下用户都会使用判定释放速度的方式,因为既省力又便捷。

如果将阈值判定方式改为 ②仅判定手指位移,对应的手势类别是上面表格中的轻扫 B,并且位移的阈值设置得比较大的话,给用户带来的负面体验可能将是非常大的。比如下图中打开美图秀秀的短视频评论浮层后,想要下滑收起时,App 仅判定手指位移,而且这个位移阈值设置得比较大,对于希望通过快速滑动一小段距离收起浮层的用户来说体验很差。即使由于开发资源有限我们只能做到仅判定手指位移,我们也可以通过减少手指位移的阈值来降低负面体验。

但是某些场景下,②仅判定手指位移是更加合适的。比如想要在微信中下拉打开小程序选择页,就只能通过手指位移达到一个特定的阈值才能够触发,无论怎么用力滑动去增加释放速度都无法打开小程序选择页。这样处理的原因是在微信消息列表页,上下滑动浏览微信消息是一个高频操作,如果释放速度也能作为打开小程序页面的阈值的话,用户可能就极易在下滑消息列表时误操作,无意间打开小程序选择页。

因此,对于位移类手势,选用哪种阈值判断方式要依据用户使用场景和诉求,不能想当然地设计。

 

2 常见位移类手势解析

了解完三个基础维度后,我们再将其进行组合,从特定手势的角度更全面地理解它们的差异和使用场景。三个维度的排列组合能够生成十余种位移类手势,我列举出了常见的 7 类,如下图所示,这 7 类基本涵盖了 95% 以上的场景,我将一一举例说明。由于施控物控制受控物改变的属性一般都为位置,因此接下来在描述下面手势的定义时我都以受控物的位置变化进行举例。

 

2.1 拖拽

2.1.1 定义

使用手指在受控物位置按下后,操控受控物沿着某个方向移动,无论释放时手指是否仍有速度,受控物都会立即停止移动。(下图的动态演示由 Principle 制作,观看会有些不太直观,大家可以在文章结尾处下载 Principle 源文件后导入到手机里体验,源文件包含文章提到的所有位移类手势)

 

2.1.2 特点

精确度高但效率低。由于阈值类型仅判定手指位移且没有稳定化效果,拖拽适用于对操作精度要求高,对效率要求低的功能。

 

2.1.3 案例

在 iOS 设置中调节亮度时,在有限范围内,手指左右拖拽可以控制亮度变化。

 

2.2甩动

2.2.1定义

使用手指在受控物位置按下后,操控受控物沿着某个方向移动。若释放时手指仍有速度,受控物将移动一段距离后才慢慢停止,移动的距离与释放速度呈正相关。若释放时手指速度为 0 ,则受控物立即停止移动。

 

2.2.2 特点

精确度低但效率高。由于阈值类型判定释放速度和手指位移,甩动适用于需要快速浏览较多内容的场景,如滚动浏览列表。

 

2.2.3 案例

在微信的消息列表页,使用甩动手势控制列表上下移动,若释放时仍有速度,列表将仍移动一段距离后才慢慢停止。

 

2.3 轻扫 A

2.3.1 定义

使用手指在受控物位置按下后,操控受控物沿着某个方向移动。若释放时的速度和手指位移有任意一个达到阈值,受控物将稳定在一个新位置。若释放速度和手指位移没有任何一个达到阈值,受控物将回到原位置。

 

2.3.2 特点

由于轻扫拥有稳定化效果,因此它能够保持界面的视觉秩序,避免过多的中间状态导致界面的杂乱,进而帮助用户聚焦信息。接下来讲解的其他轻扫类型都有这一特性,就不一一赘述了。轻扫 A 与接下来要讲解的轻扫 B-E 的最大不同之处在于轻扫 A 的阈值类型为「释放速度和手指位移」,这让轻扫 A 与轻扫 B-E 有两点不同,一是轻扫 A 可以通过释放速度的快慢去控制内容的切换数量的多少,更加高效,二是轻扫 A 可以通过用手指在屏幕滑动很短的距离但离开屏幕时保留一个速度来切换内容,因此更加省力。

 

2.3.3 案例

在刷抖音时,如果使用判定手指位移的方式,我们可以将手指在垂直方向移动大概半个屏幕高度的距离,从而切换到下一个视频。如果使用判定释放速度的方式,我们可以移动任意的垂直距离并且手指离开屏幕时保留一个速度从而切换到下一个视频。

 

2.4 轻扫 B

2.4.1 定义

使用手指在受控物位置按下后,操控受控物沿着某个方向移动。若释放时手指位移达到阈值,受控物将稳定在一个新位置。若释放时手指位移没有达到阈值,受控物将回到原位置。

 

2.4.2 特点

轻扫 B 与轻扫 A 相比唯一的区别是阈值类型减少了释放速度的判定方式,这提高了触发切换的难度,使操作成本变高,但是在某些场景下,这也降低了误操作的概率。如下拉刷新等。

 

2.4.3 案例

比如想要在微信中下拉打开小程序选择页,就只能通过手指位移达到一个特定的阈值才能够触发,无论怎么用力滑动去增加释放速度都无法打开小程序选择页,这样处理的原因是在消息列表页上下滑动浏览消息是一个高频操作,如果释放速度也能作为打开小程序页面的阈值判定方式,用户可能就极易在下滑消息列表时误操作,无意间打开小程序页面。

因此,当页面已存在一个滑动操作的情况下,还存在另外一个方向相同的滑动操作且仅会在边界情况下才能触发时,为了避免误操作,会将后者的手势设计为轻扫 B 。

上文提到,轻扫 A 的阈值类型为判定「释放速度和手指位移」,轻扫 B 的阈值类型为仅判定「手指位移」,由于前者的实现成本比后者高,导致本应适合做成轻扫 A 的功能有时只能妥协做成轻扫 B ,比如之前提到过的美图秀秀的短视频评论浮层案例,但我们也可以通过减少手指位移的阈值来降低负面体验,后文会讲解如何与开发同学沟通。

 

2.5 轻扫 C

2.5.1 定义

使用手指在受控物位置按下后,操控受控物沿着某个方向移动,但是受控物并不随着手指的控制而同步移动,仅当释放时手指位移达到阈值时,受控物才开始移动并稳定在一个新位置。若释放时手指位移没有达到阈值,受控物位置则一直保持不变。

 

2.5.2 特点

上文讲到过释放后稳定化和相对控制的缺点,释放后稳定化比较拖沓,相对控制让用户缺乏掌控感。两者如果应用到了同一个手势(即轻扫 C ),就会导致用户在滑动屏幕时得不到任何反馈,用户会疑惑是否因为自己操作不当或是设备出现故障。只有当用户手指离开屏幕后才会发现触发了操作,整体的交互流程给用户一种滞后与延迟的感觉。

因此轻扫 C 与其他类别的轻扫相比存在劣势,但是它也存在很多的 App 的 H5 页面中,我的猜测是由于 H5 对于判定释放速度和绝对控制这两个维度与客户端相比难度大很多,因此只能退而求其次选择轻扫 C 这个较差的方案,实际上在同样的应用场景中用轻扫 A 替换轻扫 C 可以带来更好的体验。

 

2.5.3 案例

下图左是 QQ 的个性装扮的 H5 页面,卡片的切换使用的就是轻扫 C ,如果能够优化为轻扫 A 体验会更好,比如下图右的音街首页卡片的设计。

 

2.6 轻扫 D

2.6.1 定义

使用手指在受控物位置按下后,操控受控物沿着某个方向移动,但是手指位移达到阈值前受控物并不随着手指的移动而移动。若手指位移达到阈值,无需手指释放,受控物将开始移动并稳定在一个新位置。若手指位移没有达到阈值,无论是否释放,受控物位置则一直保持不变。

 

2.6.2 特点

相对控制的方式降低了用户的掌控感,释放前稳定化减少了操作的拖沓感。使用此手势的场景是在多个对象之间切换时,我们不希望用户过于自由地操控对象之间的属性变化过程,并且牺牲掌控感从而增加单次的切换效率。

 

2.6.3 案例

比如 iOS 的相机中,左右滑动切换拍摄模式时,由于前后不同模式之间的页面框架变化较大,切换时会有不同元素的属性变化,如果使用绝对控制和释放后稳定化就会导致切换混乱且拖沓,使用相对控制和释放前稳定化就能避免这个问题。

 

2.7 轻扫E

2.7.1 特殊说明

上文我们讲到,通过轻扫手势 A-D 对受控物的绝对/相对控制都是存在于稳定化前,受控物一旦稳定化,就脱离了手指的控制,需要手指离开屏幕后再次接触屏幕开始下一次控制。

轻扫E的不同之处在于它可以在受控物稳定化后,仍然控制受控物朝着下一个节点稳定化,在每个节点之间切换时能够明显感觉到分段感,如下图案例所示。

由于轻扫E相对于轻扫 A-D 的特殊性,控制方式中的绝对控制和相对控制无法覆盖这个特殊现象,因此我们使用「多段相对控制」来命名轻扫E的这种特殊的控制方式。

 

2.7.2 定义

使用手指在受控物位置按下后,操控受控物沿着某个方向移动,若手指位移达到阈值,无需手指释放,受控物就稳定在了一个新位置,但是此时手指还是仍然可以操控受控物继续移动的,并且继续移动过程中如果手指位移达到阈值将会到达下一个稳定化状态。

 

2.7.3 特点

轻扫 E 适用于需要在多个对象之间快速切换和确认的场景,它的使用感觉很接近拖拽。如下图所示,我们可以这样理解,当被切换的对象数量接近于无穷大同时每个对象之间的距离接近无穷小时,轻扫 E 就可以视为拖拽。

 

2.7.4 案例

iOS相机人像模式切换打光方式、微信的通讯录滑动字母索引导航,它们都使用轻扫 E 来满足多个对象之间快速切换和确认的需求。

 

3 实战案例

了解完上述的维度和常用手势后,我们在脑中就可以形成一个思考框架。当我们要针对一个功能设计位移类手势时,就可以从阈值类型、稳定化效果以及控制方式这三个维度思考。接下来我用一个我参与过的实际项目作为案例给大家讲解一下思考过程。

本案例是网易云音乐陌生人版一起听中的一个功能,一起听的双方在听歌过程中会收到彼此共同信息,比如听歌口味相似度、是否同城、都喜欢哪些歌手等,目的是为了增加可玩性和互动性、降低退出率,鼓励用户互相了解、提高一起听过程中的社交体验。

为了营造仪式感和避免信息过载,共同信息的展示方式设计为了一次只能看一条,进入浮层后默认展示最新的一条,可以通过滑动查看上一条。因此为了避免出现两条同时占据展示区域的混乱状态(如下图左),我们为其添加了释放后稳定化效果(如下图右),同时为了方便用户可以快速浏览旧的共同信息,这里使用的稳定化效果是较弱的,用户可以通过滑动一次切换多个共同信息。

由于需要满足用户快速浏览旧的共同信息的诉求,阈值类型选用了「判定手指位移和释放速度满足任意一个即可」,用户可以通过控制释放速度进而控制信息的切换数量。控制方式则选择了掌控感强的绝对控制。最后的结果如下图所示。综合三个维度进行归类,此手势为稳定化效果较弱的轻扫 A 。

 

4 手势角度的处理

位移类手势的方向一般为上下或左右,但并不是一定要完全垂直或水平才能够触发手势。当上下滑动和左右滑动同时存在于一个页面时,默认会有一个容错角度,比如上滑时手指滑动方向只要左右偏移不超过 45° 都会被判定为上滑,如下图所示。

但是有时开发同学出现失误,导致容错角度没有均分,例如下图中触发上滑和下滑的角度极小,导致用户在上下滑动时非常容易误操作为左滑和右滑。

云音乐也曾有过类似的遗留问题,iOS 端的播放页上滑调出评论页极易误操作为左右滑动黑胶切歌(如下图 A ,现已修复),安卓端的账号侧边栏上滑浏览极易误操作为左滑收起侧边栏(如下图 B )。

因此,在验收阶段,除了上述的三个维度外,角度的容错性检查也是重要的一环。因此在验收时间充裕的情况下,最好要切换不同的手持方式分别体验一次,因为有些问题只有在特定的手持方式下才能够被发现。

客户端的角度判定方式实际上是一个比较复杂的过程,上述的内容是简化的版本。后续将延展为一篇独立文章给大家仔细聊一聊。

 

5 客户端的差异

上文讲到,基础的三个维度即阈值类型、稳定化效果和控制方式决定了手势的类别,是设计阶段一定要定义清楚的。但是除此之外,设计一个手势需要定义的细节非常多。比如受控物的移动是否有速度曲线?手指位移与受控物之间的位移的比率是多少呢?这些都是开发阶段不得不面对的。幸运的是,安卓和 iOS 有系统封装好的一套系统组件可以调用,操作系统自行解决了刚才讲到的细节问题,但是 H5 框架下是无法调用系统组件的,手势的各种细节都需要前端开发人员自己编写,难度较大,大部分情况只能实现一些比较简陋的效果,这也是为什么在很多 H5 框架下的界面滑动的体验比较差的原因。

 

6 高效沟通

由于信息不对称,与开发的沟通过程中,很容易出现理解偏差。比较常见的错误有:将甩动误解为轻扫 A ,将轻扫 A 误解为轻扫 B 或甩动。如果造成效果达不到预期的情况,很多设计师不知道如何让开发同学修改,只能说“这个手势不丝滑,优化一下”,开发同学也是一头雾水,不知道往哪个方向优化。如果我们能够直接说出“阈值判定方式现在只有手指的位移,需要释放时的速度也能够触发跳转;这个位移的阈值太高了,滑动时很难触发跳转,需要把阈值改为 16pt ”类似这样准确的描述,就能够大大降低沟通成本,顺利验收。为了避免沟通出现问题,下面我将日常经验总结出现希望能够帮助到大家。

首先,一旦涉及到位移类手势,除了必要的文字描述外(可参考上述的手势定义的描述),最好给开发体验 demo 或者其他 App 上类似的效果,否则很容易产生理解偏差。各种 App 上的类似效果大家可以用本文的每个手势的案例给开发同学展示,但是 App 可能会更新,案例可能在未来某个时间就找不到了,所以我用 Principle 做了一个简易的基础 demo 集合(如下图,源文件在文章末尾下载),和我上述介绍的手势是对应的,大家可以拿着这个 demo 给开发同学演示大概的效果,也可以在这个 demo 源文件修改。

下载链接: https://pan.baidu.com/s/1iaFrcFwzC58TG3L17bjC_Q  密码: asto。

拖拽和甩动由于需要定义的细节参数都被操作系统提前封装好了,一般不需要我们给到额外的标注。但是对于轻扫,我们需要将细节定义清晰,下面将详细讲解。

 

6.1 阈值类型

上文讲到,阈值类型一般有两种:

  • ① 判定手指位移和释放速度满足任意一个即可
  • ② 仅判定手指位移

①的开发成本高于②。

如果我们选用轻扫的阈值类型是①,开发同学编写代码需要两个参数的阈值,分别是手指位移和释放速度。手指位移阈值一般默认为受控物的1/2,例如下图的全屏短视频和 Banner 。

当然我们也可以自定义一个阈值,比如 100pt 、受控物高度的 1/6 等,没有特别的需要的话使用默认值即可而且也不用给开发同学特殊说明,但是如果有特殊需要想要修改默认值,就要告知开发同学你自定义的手指位移阈值。对于释放速度阈值,通常默认就非常的小,几乎是大于 0 即可触发,一般情况下使用默认值即可。

在本应该选用①的场景中,如果由于技术成本原因不得不选用②,需要注意的是由于缺少了释放速度的判定,手指位移的阈值我们需要设置得小一些方便用户触发,否则就会出现上文中美图秀秀浮层的那样的体验问题。经过我的实验,手指位移阈值一般定为 16pt 是比较适中的,既不会太容易误操作也不会难以触发。

 

6.2 稳定化效果

轻扫是一定存在稳定化效果的,关键在于告知开发是释放前稳定化还是释放后稳定化。从开发的角度讲,系统会监测用户的行为,用户在使用滑动时会有按下(down)、移动(move)、抬起(up)三个行为,释放前稳定化是在移动阶段判断阈值并触发操作、释放后稳定化是在抬起后判断阈值并触发操作,开发成本几乎没有区别。

上文提到过稳定化效果强弱的概念。稳定化效果越强,单次滑动能够切换的选项个数越少,效率越低。稳定化效果越弱,单次滑动能够切换的选项个数越多,效率越高。首先,我们需要确定单次滑动允许切换多个还是只允许切换一个,如果允许切换多个,开发同学会设定一个控制切换难度的系数,而只允许切换一个的话就不存在这个系数。通常我们也不需要修改这个默认系数,但如果想让操作更加难或容易触发,可以告知开发同学修改这个系数。

 

6.3 控制方式

绝对控制比相对控制的开发成本高,如果开发资源并不是很紧张,需要绝对控制的场景就不要退而求其次使用相对控制。涉及到轻扫手势一定要告知开发同学控制方式,否则很可能被视为相对控制处理。

 

7 手势排查

通过本文的学习,我们不但可以在开发工作进行前与开发同学高效沟通,保证开发工作的顺利进行,也可以对自家移动端产品的现有手势进行逐一排查发现问题点进行记录,并且找到合适解决方案,然后用准确的语言描述给开发同学。下图是我在进行手势排查后输出的表格,挑选出一些有代表性的案例给大家作参考,开发同学可以通过它快速明确问题,理解解决方案。

 

结语

本篇文章的归纳总结是通过日常积累和思考得来,希望能够帮助大家在设计与沟通层面解决实际问题,如果有任何疏漏和不严谨的地方,希望大家能够指出,后续的更新会将专栏不断完善,交互手势系列暂定的后续更新计划如下。

基础篇:

  • ①位移类手势(本篇文章)
  • ②点击类手势
  • ③其他类手势

进阶篇:

  • ④交互手势的特性

超越篇:

  • ⑤设计创新型手势

有兴趣的小伙伴可以持续关注哦~

文章提到的 Principle 格式的手势 demo 下载链接: https://pan.baidu.com/s/1iaFrcFwzC58TG3L17bjC_Q  密码: asto。

 

参考书籍:

《交互设计语言:与万物对话的艺术》 作者: 罗涛

《交互设计精髓 4》作者:[美] 艾伦·库伯 / [美] 罗伯特·莱曼 / [美] 戴维·克罗宁 / [美] 克里斯托弗·诺埃塞尔

 

参考文章:

百度APP「表情面板」体验升级

微信视频号为什么没有采用全屏沉浸式交互

 

参考网站:

iOS Human Interface Guidelines

 

原文地址:站酷

作者:Ballen成明

转载请注明:学UI网》交互手势全解析之位移类手势

蓝蓝设计建立了UI设计分享群,每天会分享国内外的一些优秀设计,如果有兴趣的话,可以进入一起成长学习,请扫码蓝小助,报下信息,蓝小助会请您入群。欢迎您加入噢~~希望得到建议咨询、商务合作,也请与我们联系。

截屏2021-05-13 上午11.41.03.png


文章来源:站酷   作者:陈皮Celia 

分享此文一切功德,皆悉回向给文章原作者及众读者.
免责声明:蓝蓝设计尊重原作者,文章的版权归原作者。如涉及版权问题,请及时与我们取得联系,我们立即更正或删除。

蓝蓝设计www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计 、 cs界面设计 、 ipad界面设计 、 包装设计 、 图标定制 、 用户体验 、交互设计、 网站建设 平面设计服务


B端设计师如何挖掘自己的设计价值

seo达人



B端产品会有一个非常明显的特征,那就是行业与行业之间的壁垒非常大,能通晓两三个行业已经很厉害了。但你是一个设计师,可能会遇到各种复杂的业务场景,很多行业术语你可能都不精通,就算学习了也不一定能非常懂,所以在做设计的时候还是会懵。这个时候就需要设计师有强大的抽象创意能力了。

a

01.前言

B 端产品简称TOB(to Business)产品,使用对象一般为企业客户或组织。B 端产品帮助企业或组织通过协同办公,解决某类管理问题,承担着为企业或组织提升效率、降低成本、控制风险从而提高企业收入,减少企业内部损耗的重要职责。B 端产品的工作是合理实现企业需求,提高产品核心竞争力,并提升市场价值。

图片

B端产品会有一个非常明显的特征,那就是行业与行业之间的壁垒非常大,能通晓两三个行业已经很厉害了。但你是一个设计师,可能会遇到各种复杂的业务场景,很多行业术语你可能都不精通,就算学习了也不一定能非常懂,所以在做设计的时候还是会懵。

这个时候就需要设计师有强大的抽象创意能力了,你做过的业务越多,你脑海中积累的业务模型就越多,如果你善于记录,那么在遇到这种情况的时候,你可以快速的通过调用业务模型来解决,看能不能满足业务方的需求,如果能满足,就可以继续完善和优化,凡是审批流,就必定有列表、详情页、查询、新增编辑还有就是各种审批状态对应的操作,诸如撤回、加签之类的,用通用的业务模型解决不同的问题,用抽象的思维能力概括业务的实际需求,就可以战无不胜了。

 

02.定位好自己的角色

一个B端设计师最应该具备的核心能力是什么?那就是解决问题的能力,以及理解业务和处理业务的能力。很多设计师成为了一个“项目推动型”设计师,并没有搞清楚自己的角色和该角色应该具备的责任、技能和价值。

作为一个B端设计师来说,需要很快的认识到自身的角色和其所具备的责任、技能和能创造的价值。需要搞清楚如何体现自身的价值以及增加自身价值的方向。

先来看一个产品的设计流程图

图片

流程图里可以看出来,在整个产品流程中,设计师是跨团队+全链路参与的角色,在每个环节都有可挖掘和贡献的价值点。

 

03.如何挖掘设计价值

B端产品重业务、重交互、轻视觉,业务必然比C端复杂、非人性,需要设计师对相关行业有一定的理解,需要用户跨过学习门槛,才能使用系统提高工作效率。接下来会根据具体案例,来阐述一下设计师可以赋能业务的点。

 

· 对思维的培养

大部分设计师拿到需求之后,直接会在需求文档的基础上进行设计,在与产品的配合中属于被执行者,被动的接收产品的需求,按照原型输出设计稿,这会使 B 端的设计变得无趣,也体现不出你的价值。

图片

设计师要学会转被动为主动,才能很好的发挥设计价值。本身设计与产品的配合就是相互成就的,大家的目标都是一致的。面对B端复杂的业务需求,在和产品思维对焦时,需要设计师思维前置,辩证的去思考产品方向,帮助产品梳理需求,从需求背景出发,收集用户、需求方的反馈,综合考虑根本要解决的问题是什么,再去想如何产出设计方案,不要只被动的承接需求。平衡当前资源实现业务方要求的功能,让用户体验易用性,从而提高业务效率。

 

· 从解决问题入手

B端设计师的核心竞争力就是解决问题的能力,需要快速理解业务和处理业务的能力,这样才能更好的创造更多的价值。

图片

后台系统的搭建离不开一套强大的、统一的UI设计规范。规范是设计视觉统一的基础也是配合技术团队高效产出一致体验所必不可少的工具。说到规范就得提一下组件了,组件的产生是为了避免我们重复的造轮子,并且对控件细节进行了把控。市面上虽然有已经成熟的组件,但是和自身的业务特点并不一定贴合,就需要我们基于 B 端产品特性和自身业务特点,以灵活性、复用性、全面性的设计原则来进行设计,例如我们就对头部筛选项的自定义设置,在纵向间距关系和横向间距关系上指出信息之间的距离和关联性之间的关系,更能灵活的选取我们想要的状态进行搭配,复用全局的使用。提升了研发团队的效率也解决了视觉一致性的细节问题,节约时间去做更有意义的事情。

图片

 

· 设计赋能业务

单纯的支持业务需求是每个设计师的本质工作,那我们怎么能把价值赋能到业务上呢,这就回归到文章开始说的设计思维的转变,对思维的培养就是对需求的深挖,对问题的收集和思考,那么再进一步就要行动起来,主动进行用户调研,挖掘需求的突破点,找到更好的解决方案和更有价值的驱动点。那么我们在对不同项目赋能时也可采取此种方法进行思考,拆解任务跟进落地,提供规范与组件支撑,采集此流程中带来的价值,在项目结束后进行复盘总结,逐渐沉淀累积自身能力,逐步搭建自身的方法论在验证中成长。

图片

 

· 项目复盘

一个设计师想要成长,一定是在一个不断回顾和思考及归纳分析中成长起来的,多去沉淀积累总结不好的经验,输出自己的一套方法论,查缺补漏提升自身的设计能力,避免低效率的重复工作。复盘是设计师自我提升的非常有效的方式。不仅为了自己,还可以提升自己对团队的价值,多去做知识分享,锻炼自己的表达力和控场能力。

图片

 

04.总结

不管 B 端还是 C 端,设计的价值在于通过视觉表现的方式去助力公司、助力产品实现用户的需求、帮助用户解决问题。B 端产品相对而言,场景、功能、业务流程、信息架构要比 C 端更复杂,面对的异常情况也比较多,所以 B 端在设计风格上尽量做到简洁,B 端产品实用性大于美观性,在每一个功能的设计都需要你去思考很多方面:用户易用、信息层级、未来扩展,你都要做出取舍,而对于每个模块都需要你思考、结合用户场景。所以想要做好 B 端设计,一定要去了解业务,了解用户需求。设计独有的用户体验思维+业务理解能力,可推导出产品的可发力点,抓住并完善这些发力点,也从中体现了设计的价值。

图片

 

原文地址: 58UXD(公众号)

作者:环铁艺术家

转载请注明:学UI网》B端设计师如何挖掘自己的设计价值

蓝蓝设计建立了UI设计分享群,每天会分享国内外的一些优秀设计,如果有兴趣的话,可以进入一起成长学习,请扫码蓝小助,报下信息,蓝小助会请您入群。欢迎您加入噢~~希望得到建议咨询、商务合作,也请与我们联系。

截屏2021-05-13 上午11.41.03.png


文章来源:站酷   作者:陈皮Celia 

分享此文一切功德,皆悉回向给文章原作者及众读者.
免责声明:蓝蓝设计尊重原作者,文章的版权归原作者。如涉及版权问题,请及时与我们取得联系,我们立即更正或删除。

蓝蓝设计www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计 、 cs界面设计 、 ipad界面设计 、 包装设计 、 图标定制 、 用户体验 、交互设计、 网站建设 平面设计服务


JSTree 默认展开 树节点默认展开

前端达人

红色部分

 

                              $("#jstree_demo")

                               .jstree({                                 

                                   "core" : {

                                       "animation" : 0,

                                       "check_callback" : true,

                                       'force_text' : true,

                                       "themes" : { "stripes" : true },

                               // so that create works

                                   "check_callback" : true,

                                   'data' : function (obj, callback) {

                                                var jsonstr="[]";

                                                var jsonarray = eval('('+jsonstr+')');

                                                

                                                $.ajax({

                                                    type: "POST",

                                                    url:url,

                                                    dataType:"json",

                                                    async: false,

                                                    success:function(result) {

                                            

                                                      

                                                        var arrays= result;

                                              

                                                        for(var i=0 ; i<arrays.length; i++){

                                                         console.log(Object.getOwnPropertyNames(arrays[i]).sort());

                                                            var arr = {

                                                                    "id":arrays[i].id,

                                                                    "parent":arrays[i].pid==""?"#":arrays[i].pid,

                                                                    "text":arrays[i].name,

                                                                    "type":arrays[i].iconSkin,

                                                                    "state": {"opened" : true}

                                                                    //"state": {"selected":true}

                                                            }

                                                            jsonarray.push(arr);

                                                        }

                                                    }

 

                                                });

                                                

                                                callback.call(this, jsonarray);

                                            }

                                        },

                                         

                                        "plugins" : [ "search""state""types""wholerow","checkbox" ]

                                    });








蓝蓝设计建立了UI设计分享群,每天会分享国内外的一些优秀设计,如果有兴趣的话,可以进入一起成长学习,请扫码蓝小助,报下信息,蓝小助会请您入群。欢迎您加入噢~~希望得到建议咨询、商务合作,也请与我们联系。

截屏2021-05-13 上午11.41.03.png


分享此文一切功德,皆悉回向给文章原作者及众读者.

免责声明:蓝蓝设计尊重原作者,文章的版权归原作者。如涉及版权问题,请及时与我们取得联系,我们立即更正或删除。

蓝蓝设计www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计 、 cs界面设计 、 ipad界面设计 、 包装设计 、 图标定制 、 用户体验 、交互设计、 网站建设 平面设计服务

解决火狐浏览隐藏不了滚动条问题

前端达人

解决火狐浏览隐藏不了滚动条问题

1.里层容器的width多17px,外层容器溢出隐藏,能兼容各个浏览器

1
2
3
4
5
6
7
8
9
10
11
.outContainer {
width:350px;
height:300px;
overflow: hidden;
}
.inContainer {
   height:300px;
   width: 367px;
   overflow-x:hidden;
   overflow-y:scroll;
}

2.设置 scrollbar-width: none,可兼容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
.outContainer {
width:350px;
height:300px;
overflow: hidden;
}
.inContainer {
   height:300px;
   width: 350px;
   overflow-x:hidden;
   overflow-y:scroll;
   scrollbar-width: none; 
}
/* 使用伪类选择器 ::-webkit-scrollbar ,兼容chrome和safari浏览器 */
.inContainer::-webkit-scrollbar{
    display: none;
}
/*兼容火狐*/
.inContainer {
   scrollbar-width: none;
}
/* 兼容IE10+ */
.inContainer {
    -ms-overflow-style: none;
}

html如下

1
2
3
4
5
6
7
8
9
<body>
    <div class="outContainer" >
        <div class="inContainer">
            <div class="inContent" ></div>
            <div class="inContent inContent2"></div>
            <div class="inContent" ></div>
        </div>
    </div>
</body>


蓝蓝设计建立了UI设计分享群,每天会分享国内外的一些优秀设计,如果有兴趣的话,可以进入一起成长学习,请扫码蓝小助,报下信息,蓝小助会请您入群。欢迎您加入噢~~希望得到建议咨询、商务合作,也请与我们联系。

截屏2021-05-13 上午11.41.03.png


分享此文一切功德,皆悉回向给文章原作者及众读者.

免责声明:蓝蓝设计尊重原作者,文章的版权归原作者。如涉及版权问题,请及时与我们取得联系,我们立即更正或删除。

蓝蓝设计www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计 、 cs界面设计 、 ipad界面设计 、 包装设计 、 图标定制 、 用户体验 、交互设计、 网站建设 平面设计服务

日历

链接

个人资料

蓝蓝设计的小编 http://www.lanlanwork.com

存档