大家都知道,LOGO对于一个产品来说,至关重要。成功的LOGO可以让用户在短时间内判断你是谁,做什么的,而且区别于竞品的同时,传递自己的品牌理念,让用户达成共识,并进行广泛传播。知识兔上有大量学习视频教程课程,都是精品课程,精品中的精品,兴趣使然,以应用为导向,学以致用,学习效率更高!
明白品牌到底想传达什么,这一步很关键。在完成关键词提取之前,一定要控制住自己的双手,不要打开PS就开撸,那样会导致方向不合理还盲目的陷入细节,最终沦落成天天被改改改的美工。
关键词直接影响并支撑着后续LOGO设计的形式,配色,以及细节处理。因此,尽量避免含糊。知识兔zhishitu,com学课程,下载课程!兴趣使然,以应用为导向,学以致用,学习效率更高!
从这些关键词中 ,去除重叠的,提取出3-4个最能体现产品定位的,同各角色达成一致后,接下来的设计就围绕着它们进行。
一个文字或者一个首字母作为LOGO主元素的优点是:能够准确地表达APP的应用属性及其核心业务,更简单实用,易于推广。
打开你的手机,不出意外的话,至少会有几款APP的LOGO是产品名称的首字母或者产品名字中核心的一个文字。知识兔zhishitu,com学课程,下载课程!兴趣使然,以应用为导向,学以致用,学习效率更高!
它们的logo都是采用自己产品名称首字母作为主要元素,进行变形以达到符合自己产品定位的效果。知识兔zhishitu,com学课程,下载课程!兴趣使然,以应用为导向,学以致用,学习效率更高!
像Airbnb的LOGO,看起来很简单,但吉比亚表示,它背后有四层含义。首先,这是一个字母A,代表了Airbnb;第二,这像是一个人张开双手,代表了人;第三,这像是一个标记地理位置的符号,代表地点;第四,这是一个倒过来的爱心,代表了爱。
因此,以首字母为出发点,融入产品想要传达的理念进行加工,才是这个设计方式的精髓,而不是不过脑子的甩上去一个字母就ok了。
LOGO也可以是产品名字的全称。这样做的优点是:简单粗暴,加深用户对产品名称的记忆,不需要对抽象符号二次加工。
以体现产品核心功能的图形为LOGO主要元素,优点是:用户第一次使用时,通过图形能够预判这个产品是干嘛的。知识兔zhishitu,com学课程,下载课程!兴趣使然,以应用为导向,学以致用,学习效率更高!
像摩拜单车,光看LOGO你就知道跟骑行有关;百度地图,一看就知道跟地理位置有关;微信,采用两个气泡,很明显的社交属性。
相对来说比较有趣的有Foodie,它是一款美食拍照的APP,总的来看是一个相机的镜头,又像一个盘子,上面摆放着勺子和叉子,简单有趣,一语双关。
比如:猫眼电影,logo是一只瞪着眼睛猫;企鹅FM,是一只带着耳机的企鹅;印象笔记,是一头大象。
最初我比较好奇,印象笔记为什么叫印“象”笔记,为什么用“大象”作为主要元素。后来我去Quora上查了一下,是因为美国有句谚语是:“大象永远不会忘记”。非常符合印象笔记的产品定位。瞬间感觉好巧妙。所以可以看出,每一个LOGO的背后都有自己的故事和原因,而不是拍脑袋得出的方案。
以上4种方式,是我们常见的几种LOGO设计手法。当然你也可以将不同的处理手法,结合起来进行设计(比如:首字母+功能,产品形象+功能)。但最重要的,选择能够更好的阐述产品定位的表现形式。知识兔zhishitu,com学课程,下载课程!兴趣使然,以应用为导向,学以致用,学习效率更高!
颜色对于一个LOGO来说也相当重要,它承载着针对用户群体的情感传递,以及品牌认知。设计师在LOGO配色环节围绕着前期确认的设计关键词进行,会使自己的设计更有说服力。而不是根据个人喜好去定义LOGO的颜色。
下面是一些我的手机截屏,因为我都是用颜色进行分类,所以能直观看出,产品属性偏向社交或娱乐类、用户群体倾向年轻、品牌定位是欢乐有趣、聚集有共同兴趣爱好的人群的APP,那么LOGO颜色一般为橙色,黄色等等,这种比较有活力的色彩搭配。
如果产品属性是工具或者涉及安全类的,品牌定位也是倾向于体现安全、信任、商业,那么LOGO的配色较多为蓝色。知识兔zhishitu,com学课程,下载课程!兴趣使然,以应用为导向,学以致用,学习效率更高!
当然,颜色的运用也并非绝对,大家可以多看下色彩心理学相关的书籍,再加上对产品的理解,以及考虑大众对颜色的普遍认知,从而找到最合适的配色方案。
确定了LOGO的形式和配色后,接下来就应该“陷入细节”了。LOGO巧妙的细节处理,会让人对他们的产品提升好感度。知识兔zhishitu,com学课程,下载课程!兴趣使然,以应用为导向,学以致用,学习效率更高!
在LOGO设计中,常用的协助精确图形轮廓和细节的工具,是黄金比例。从公元前的古希腊,黄金比例就开始被广泛应用,无论雕像和建筑,而记载资料中最早应用这个比例的人是古希腊学者建筑家维特鲁威。现在这种方式更多的运用到LOGO设计,版式设计或者工业产品设计上。
黄金比例和几何在设计中的应用,先不说带有争议的美学部分,但就说逻辑性,是衡量一个LOGO是否严谨的重要指标,越简单的图形越是如此。
以上是我对LOGO设计流程的思考,总的来说就是:1.先了解产品背景,提取出关键词;2.尽可能的脑爆不同形式的LOGO,筛选最巧妙的符合产品定位的方案;3.根据产品属性及用户群体,定义配色;4.打磨LOGO细节。知识兔zhishitu,com学课程,下载课程!兴趣使然,以应用为导向,学以致用,学习效率更高!
采用这种流程设计LOGO,能够使你从比较广的维度去思考,慢慢聚焦到细节去设计,从而产出一款比较有说服力的设计方案。
手绘的趋势几年前就很受关注,这种风格完美契合现代“嬉皮”的潮流。适用于餐饮业,造型、艺术和工艺等行业。
这绝对是一个老掉牙的设计风格了,但却是经典的,永不出错。知识兔zhishitu,com学课程,下载课程!兴趣使然,以应用为导向,学以致用,学习效率更高!
对于设计师而言,LOGO设计可能是最有趣也是最令人沮丧的设计项目之一,它是设计中四两拨千金的关键,也是易学难成的设计重难点。LOGO设计的这种独特特性,源自于它所承载的重要责任和“简单”外观所构成的反差。好的LOGO设计不仅包含切题的隐喻,直观的形象,还能够恰到好处地迎合需求,跟随潮流。这也是为什么设计师一方面在追求LOGO设计的持久生命力,一方面还在跟随LOGO设计的总体趋势。
LOGO设计从技术到风格都是在逐步演进的,这一点毋庸置疑。去年的LOGO设计和今年的流行趋势还有着区别,虽然客户的要求变化不大,但是你会明显的感受到最新的LOGO设计越来越讲究简约干净的线条和颜色以及吸引人的排版了。
纵观过去半年新的LOGO设计作品,我们基本上可以总结出2017年的4个主要的LOGO 设计趋势。
LOGO的类型有很多,其中之一是采用文字为主的LOGO设计,就像 NASA 和乐高的LOGO。而进入2017年之后,文字 LOGO 设计开始倾向于使用更加微妙、精致细腻的字体设计。
优秀的字体LOGO有着持久的生命力。知识兔zhishitu,com学课程,下载课程!兴趣使然,以应用为导向,学以致用,学习效率更高!
复杂的字体样式,装饰性极强的花体字都是很受欢迎的选择。这当中许多的设计元素借鉴了手写字体和书法,以及有趣俏皮的DIY 元素,就像一度在Pinterest 上流行粉笔风字体一样。
然而在今天,设计趋势开始有了微妙的转变,设计师们在字体的风格上更加偏向简约而优雅的笔触,这使得字体LOGO更加具有可读性和可识别性。优秀的字体LOGO,比如可口可乐的LOGO,就有着持久的生命力,能够搭配不同的样式和风格,拥有独特的品牌气质(不要单纯从某个地方挑一套字体来直接用作文本LOGO)。
想要让LOGO设计看起来更加精致有味,不妨基于某个字体来自定义设计,比如 Moonfarmer 。
·使用自定义的配色方案 ·选择不是太常见/常用的字体组合 ·考虑采用自定义或者手绘字体 ·将精巧微妙的字体和简单的插画元素搭配起来,创造视觉上足够有趣又容易理解的设计 ·只有在符合你的品牌气质和内容的地方才使用这款字体
手绘和插画风的LOGO设计已经存在很长时间了,不过如今这样的LOGO设计被打磨得更加精致细腻,虽然它依然是以手绘的设计作为基础,但是最终的呈现上更加像素完美。
2017 年的手绘风LOGO 更加天马行空,它在原创性上有了更明显的提升,这个类型的LOGO 特别受到中小型企业、工作室和有着个性化需求的客户的青睐。知识兔zhishitu,com学课程,下载课程!兴趣使然,以应用为导向,学以致用,学习效率更高!
设计手绘和插画风格的LOGO有诀窍,它应该具备有简单的外观,但又不能太过于简单。一些优质的设计甚至可以说是精致无比。
·注意插画的情绪表达和调性,它是否和业务/品牌/网站/产品匹配? ·确保手绘字体的可读性 ·你并不一定非要用手来绘制,使用AI这样的常见的矢量图形编辑软件也是一样 ·将手绘和简单的字体结合起来 ·黑白配色的LOGO非常受欢迎,尤其是黑板报风格的插画LOGO。不过要注意整体风格上的新鲜和现代。
线条艺术风格的LOGO设计随着极简主义设计的流行而逐步流行开来,线条艺术风格的LOGO设计可以很简单,但是有传达足够强烈、清晰的信息。它将不必要的内容移除,用标志性的LOGO来做视觉传达,所以线条艺术LOGO 通常得呈现一目了然的形象。知识兔zhishitu,com学课程,下载课程!兴趣使然,以应用为导向,学以致用,学习效率更高!
使用线条艺术风来做LOGO设计最难的地方在于要让临时用户识别LOGO所要呈现的形象。这种LOGO设计趋势中,最受欢迎的一种设计手法是使用均匀的笔触来勾勒类似图标一样的LOGO,足够现代,又带有一点艺术化的呈现。
设计师可以根据需求选择粗细不同的线条来设计LOGO,并且宽度对于整个LOGO的设计有着极大的影响。所以,在设计线条艺术LOGO的时候,要注意几点:
·仔细考虑LOGO中应该包含什么元素,是真实的对象,还是合成的一组标识? ·将拥有类似粗细笔触的字体和你所设计的LOGO结合起来看看 ·不要制作得太过于精细,因为你所设计的图形可能在较小的情况下无法看清 ·这类LOGO设计绝大多数都是黑白色调为主,你还可以考虑一下其他的色彩 ·使用尽可能广泛存在的图形和标识,例如方形和圆形。除非要用来做备用方案或者其他功能的LOGO,否则不要考虑使用狭窄或者条形的LOGO。
相比于雅致的字体LOGO和有趣而细节丰富的手绘LOGO,几何图形LOGO 则在简约这件事上做的更加突出。
从圆形到多边形,几乎所有的几何图形LOGO 都带有时尚的元素。用户常常会被几何图形LOGO所吸引,而设计师也喜欢几何图形LOGO 所具备的潜在创造力,以及承载不同元素的可能性。
几何图形LOGO 常见的有两种类型,一种是类似星巴克LOGO那样使用几何图形来承载有不同视觉元素和文本,另外一种则是将几何元素融入到LOGO的其他部分,结合不同的色彩和文本,就像DBF 这样。知识兔zhishitu,com学课程,下载课程!兴趣使然,以应用为导向,学以致用,学习效率更高!
·搭配着字体和几何图形来使用 ·将你的设计放在几何图形的范围内进行 ·使用多边形元素来强化视觉 ·使用跳脱的色彩来凸显图形 ·使用极简的几何图形勾勒轮廓,搭配无衬线字体或者特殊的几何字体
对于设计师而言,LOGO设计一直都是挑战,而设计趋势的存在,能够让LOGO设计这件事更具有方向性。LOGO设计这件事应该具备有独创性,想必你也不想你的设计能够唤起用户对于其他产品的记忆吧?
LOGO 设计的可读性和识别性也是越来越得到重视的特质,品牌希望被记住。结合趋势的同时,考虑LOGO 设计的持久性和用核型,过度追求时尚所带来的伤害就是LOGO无法长久地使用。所以,在趋势和永恒之间挑选一个平衡点,让你的LOGO恰到好处,时尚又持久。知识兔zhishitu,com学课程,下载课程!兴趣使然,以应用为导向,学以致用,学习效率更高!
LOGO设计行业的变化是日新月异的,对于设计趋势和流行风尚,这个领域同样是敏感而反映迅速的。5年前最时髦的设计,在今天看来可能毫不突出。吸引用户的方式越来越新鲜多样,而LOGO的设计同样需要跟上步伐更新换代了。好在设计专家们一直在研究并紧跟短期的设计趋势,并且尽力预测LOGO设计行业的走向。通过过去一年的观察,我的团队总结出了2018年将会处于主导地位的10种设计趋势。知识兔zhishitu,com学课程,下载课程!兴趣使然,以应用为导向,学以致用,学习效率更高!
LOGO形式上的简化指的是将整体设计尽量剥离到最基本的状态,尽量让LOGO显得干净简约。推动品牌互联网化和跨平台是催生这一趋势的重要原因,因为LOGO所需要使用的地方越来越多,从网站到APP,从名片到T恤,它需要在每一个媒介和载体上看起来都很不错,这就是为什么一些主流品牌都开始在近两年针对自家LOGO进行有效的重设计,确保它们有着更加干练简约、更加高级的外观。
清晰的字体加上简单的几何形状(线条,点,矩形,圆形等)这种LOGO设计的搭配正在迅速地流行起来。它到底有着什么样的特殊之处呢?
首先,LOGO通常都需要是简单而足够一致的设计,而字体LOGO是其中很大的一类;其次简单的图形元素能够提供平衡而一致的外观。最后,如果使用得当,几何形状和字体的搭配能够产生足够强烈的视觉效果,提升品牌竞争力。知识兔zhishitu,com学课程,下载课程!兴趣使然,以应用为导向,学以致用,学习效率更高!
这也是LOGO设计的另外一个热门趋势。设计师将单词或者字母彼此堆叠到一起,使得名字比较长的品牌得以使用文字LOGO来呈现其完整的名称。这一LOGO设计手法在2016年到2017年这两年间取得了巨大的成功,这种设计方法带来的LOGO通常复杂而优雅,个性鲜明,在接下来的2018年应该会持续流行。
复古风格浓郁的徽章式LOGO在最近几年都热度不减,最常见的徽章LOGO是将文本和图形置于一个圆形的范围以内,其中很多还会将品牌的创始日期加入其中。这一的设计能够给人一种传统、经典而稳重的感觉,复古而又老派。知识兔zhishitu,com学课程,下载课程!兴趣使然,以应用为导向,学以致用,学习效率更高!
将文本或者视觉元素以切片分层式的样子呈现出来,乍一看这种LOGO设计技巧甚至和风格毫不沾边,但是确确实实有越来越多的LOGO开始使用设计。这一趋势可能会在2018年被发扬光大,因为这种分层结构能够让LOGO中有更多的负空间,在视觉信息量上有明显的提升,稍加调整甚至能带来更加立体的三维视觉体验。
关于留白和负空间本身就不用过多赘述了,不过它们在LOGO当中的使用还是近年才逐渐开始流行起来。由于英文字母本身有着突出的几何特征,设计师常常会借用其中的负空间来融入一些有意思的设计元素,创造惊艳的视觉效果。
虽然我们在过去的2017 年中看到大量了创新的字体LOGO设计,但是其中的排版设计并没有得到充分的发挥。有些设计师开始在字体LOGO当中,尝试各种实验性的排版,通过调整字距、行距、字体组合和整体布局,营造出富有想象力的排版设计。想必我们在接下来的2018年会看到更多这样的设计。知识兔zhishitu,com学课程,下载课程!兴趣使然,以应用为导向,学以致用,学习效率更高!
除了排版设计上的脑洞大开,设计师还在色彩这一影响设计的重要工具上动上了脑子。渐变色回归之后,开始有设计师在设计LOGO的时候,加入了渐变色。由于渐变色整体上仍然保持流行,所以LOGO设计中的渐变色并不会很快过时。知识兔zhishitu,com学课程,下载课程!兴趣使然,以应用为导向,学以致用,学习效率更高!
将鲜艳而富有活力的色彩互相叠加,营造出强烈的对比,这一设计方法让整个LOGO设计显得更加富有深度。最著名的案例是去年MasterCard的LOGO重设计,随后许多著名的品牌也采取了相似风格的重设计。知识兔zhishitu,com学课程,下载课程!兴趣使然,以应用为导向,学以致用,学习效率更高!
许多字体LOGO靠的就是字体本身的表现力,而字体设计本身就有相当一部分是服务于LOGO设计的。既然字体LOGO本身会作为一个重要的门类继续存在下去,字体设计的流行就是一件自然而然的事情。包括咖啡馆、摄影工作室和许多独立品牌都热衷于字体LOGO设计,我想,我们会在2020年迎来更多更加独创的LOGO字体设计作品。
接下来要分享的这些LOGO设计的经验,就是来自这些战斗在品牌设计一线的高手。根据LOGO设计的阶段,我将这些建议分为5个不同的部分,而今天的文章是其中的第一个部分,LOGO设计的研究和策略——在开始着手设计之前,你需要做什么。知识兔zhishitu,com学课程,下载课程!兴趣使然,以应用为导向,学以致用,学习效率更高!
在真正上手设计LOGO之前,针对这个品牌的研究是无法回避的流程,针对实际情况来制定设计策略也绝对是磨刀不误砍柴工。我们将LOGO设计的研究与策略归结为第一个阶段,这个阶段,专家们给我们提出了下面几条建议:
80年代的苹果公司,像热刀切黄油一样杀入传统的计算机领域,并且迅速成为世界上最有影响力、最有价值的品牌,设计师对于这个案例应该都有所了解。
苹果的成功如果简单归结为鬼才乔布斯和他的小伙伴似乎并没有足够的说服力。在创业之初,苹果的团队就对当时的整个市场和用户的需求有过比较深入的研究与分析,他们的竞争对手则是最实际、最有用的研究案例,而这些是帮助苹果起步的关键之一。
而LOGO的设计也可以从竞争对手的头上得窥一二,所以你需要对整个行业与市场进行研究。你的客户也可以为你提供一些竞争对手相关的信息,帮你理清设计思路。
对比一下同行的LOGO设计,你会在研究过程中摸索出这个行业中企业和品牌的固有特征,这些信息能够让你在视觉设计的时候思路更加明朗。
不过与此同时请记住,世界上许多优秀的LOGO是因为其不同凡响的设计而从同类中脱颖而出,它们并不跟随潮流,剑走偏锋,独树一帜。
跟随还是不跟随,设计师应该灵活处理。知识兔zhishitu,com学课程,下载课程!兴趣使然,以应用为导向,学以致用,学习效率更高!
Wolff Olins 在为 Macmillan Cancer Support 设计文案的时候,措辞讲究。当用户问及产品相关问题的时候,语句开头通常使用的是“我们(we)”。这是一个很小的细节。
系统化的策略在品牌设计当中所占据的比重越来越大。虽然在实践过程,策略通常会取决于品牌定位和规模,但是如何制定策略通常是从问对问题开始的。
在这本书中,Michael Johnson 主张在从下面六个问题出发来提问:我们为何在这里?我们要做什么,以及如何做?我们认为最有价值的东西说什么?最后,还要时刻反思,我们的个性是什么?知识兔zhishitu,com学课程,下载课程!兴趣使然,以应用为导向,学以致用,学习效率更高!
一旦你制定了策略,在设计过程中,千万不要死板地“坚持”,灵活地应对设计过程中的问题与变化,是设计师必须谨记的一点。在《Branding:In Five and a Half Steps》这本书当中,Johnson 所设定的第2.5号规则就讲的这个问题。
根据Johnson 的说法,策略和设计之间是有灰色地带的,是坚持策略,还是兼顾设计,这是两个选择。许多制定好的策略可能在实践的时候存在问题,相反,新奇的设计可能在下一个阶段当中完善你的策略。知识兔zhishitu,com学课程,下载课程!兴趣使然,以应用为导向,学以致用,学习效率更高!
在过去的2016年当中,复古品牌设计的潮流影响了很大一批品牌LOGO的设计,被受称赞的CO-OP就是其中的一员。全新的LOGO设计为这个创建于60年代的品牌注入了活力,并且赢得了备受关注的品牌影响力大奖。
NatWest 和 Kodak 在LOGO重设计这件事上紧随其后,但是我想说的并不是复古设计本身的好坏与否。当你在为一个品牌重新设计LOGO的时候,原始的品牌设计当中哪些是糟粕,哪些是精髓,需要你深入思考,仔细筛选,千万不要舍弃那些优秀的传统。
“将你的自负放在一边,前人的设计也许至关重要,不要忽略。”North 的联合创始人 Stephen Gilmore 在第259期 Computer Arts 中这么说道。
品牌影响力大奖的评委 Bruce Duckworth 和 Mark Bonner 在下面的视频当中探讨了现代LOGO设计在整个品牌设计中的位置:
正如同 Bonner 所说,LOGO只是整个品牌设计中的一个小的组成部分,人们却常常本末倒置。人们同品牌进行接触的环节非常之多,但是LOGO并不一定是最频繁的那一个部分。
在做LOGO设计的过程中,请务必保持灵活性和通用性,并将LOGO 和整个品牌体验之间的互动纳入到思考当中。
知识兔上有大量设计视频教程课程,都是精品课程,精品之精品,找一套精品课程教程或者找公众号超乎想象客服推荐一下,轻轻松松上车学习啦。当然啦,还可以去公众号超乎想象领取课程教程或者私我。知识兔课程是可以下载滴。看教程课程学习是最有效最快速的学习方式啦,节奏快,效率高,计划强。看书籍教材太闷太枯燥,几百页几百页的书看到猴年马月,耐心都磨掉了,我的心凉凉了,信誓旦旦的自信心很快会受挫。报培训班,好吗,虽说效果可以,学习成本太高,很花时间,很花money,时间上不自主,得安排时间去培训点,时间短老师讲的不全面且学的不系统,时间长的培训费高昂。权衡对比,看知识兔设计系列教学视频,跟着知识兔老师学习,才是最划算滴,加油fighting哦,比如咬牙切齿也要把PS、AI等教程学好,一生受益匪浅!知识兔zhishitu,com学课程,下载课程!兴趣使然,以应用为导向,学以致用,学习效率更高!知识兔,棒棒哒!
这系列文章集合了世界最顶尖的LOGO设计师们的建议,他们是真正意义上“专注LOGO设计30年”的前辈和开拓者,这些建议涵盖了从创意设计到客户沟通,包括了设计思路和设计技巧,在LOGO设计这个分支领域上,这些建议和经验的价值,无可估量。
LOGO设计是一项看似简单,实则涉及多种技艺和复杂设计技巧的学科,它融合了创意理论和巧妙的应用。任何设计师都能胜任LOGO设计的工作,但是要设计出好的LOGO,设计师其实是需要相当的时间来学习的。
当然,LOGO设计通常被认为是品牌设计之下的一个组成部分,虽然品牌设计所涉及到的内容和项目非常之多,从色彩到办公室的室内装修都在品牌设计所涉及的范畴以内,但是LOGO设计依然被认为是品牌设计的核心所在。
前端重构程序员是一个关注代码同时还要留意体验的异类。代码的优化虽然难,但是有比较多的性能测试工具去证明优化的成果。然而体验这种东西,我们又要如何去证明它的好与坏呢?
今天我着重会基于「webnovel」PC站点从以上两点给大家介绍,如何从体验的角度去做重构的优化,并如何用数据去证明你的优化是有效果的。
不知道哪里听过这么一句话,「 好的体验,就是感觉不到在体验 」。这句话听起来很矛盾,但是却和业界公认的体验小红书「 Dont make me think 」的理念一样。你想用户来「 webnovel 」是来看小说的,不是来称赞我们网页体验做得多么优秀的。当用户开始关注到我们网站体验的时候,那正是说明我们的体验不好的时候。
第一个地方就是页面加载的时候。这里我们明显可以看到「 webnovel 」的 Logo 和三个小图标在页面刷新的时候,会有一瞬间从无到有的过程。
我们「webnovel」站点是面向全球海外用户的,跳出了国内兼容 IE 浏览器的怪圈,于是在小图标这块我们选择了浏览器兼容性要求高,但是呈现效果却更好的SVG图标「 SVG 属于矢量图标,在能保证体积更小的情况下,还能在放大缩小的时候不失真 」。我们将 Iconfont 「来自阿里的在线图标管理工具 」自动帮我们生成的 JS 代码引用到页面中,结果就出现了上面的呈现效果。
这个原理其实很简单,我们 SVG 图标的 DOM 结构是在 JS 执行之后动态添加到我们的 标签内部的。所以就会出现先呈现页面,再呈现图标的效果。于是我们很自然的想到,直接将 JS 生成的 DOM 结构放到我们的 内部,来解决这个问题。
但是很傻很天真,在拷贝 DOM 结构的时候我们发现,这个 SVG 代码量也太多了,直接放到页面内部会大大增加我们 HTML 的代码量,影响整个页面呈现的速度,这个感觉是捡了芝麻丢西瓜。
最后我们采用的解决方案是,把 SVG 图标做了拆分,首屏的显示的图标我们采用直接添加 DOM 的方式,其它剩余的图标还是选择 JS 动态加载老方法。这样首屏之外的图标即使有闪动用户也很难看到。于是我们解决了首屏图标闪动的问题,也避免了 SVG 图标代码量的问题。用户感知不到图标的闪动,也就不会花时间去思考我们页面加载是快是慢的体验问题了。
第二个地方的就是我们数据请求的时候。当我们切换TAB的时候,能明显看到一个 Loading 的效果。用户的动作触发数据请求,在等待的过程我们用 Loading 来告知用户这一状态,以减弱用户等待的焦虑。这其实是一个对于数据加载,增强体验常规的做法。
可是不管我们的数据请求多么的快,用户都还是能明显能看到这个 Loading 的效果。这并不是我们想要的。
我们这边处理的办法是,在用户鼠标放到这个按钮的时候,我们认为用户是有了点击的意愿,于是我们就提前发起了数据请求的操作。当用户按下这个按钮的时候,我们的数据请求的整个过程可能已经结束,而这也就意味着我们的 Loading 状态已经消失。此时用户就能直接看到我们加载好的数据了。也就是说很有可能,在整个过程中用户是看到不到我们的 Loading 状态的。这不就是我们想要的体验上的优化吗?
我们都知道,图片和图标都是属于展示性的元素,特别是像我们 「 webnovel 」网站设计师很用心制作的书封,我们自然会愿意选择体积更大但是质量更高的高清图。为了避免影响正文的展示,我们又不得不选择了类似图片 Lazyload 的机制,让这个图片延迟加载。
但是可以明显看到这和之前的数据加载的 Loading 逻辑一样,需要一个表示 Loading 态的占位图。等图片加载完成,占位图会一瞬间被我们的高清书封替换,于是此时就出现了我们不期望的闪动。
当用户一看到闪动,他们就会去思考你这个加载是快还是慢。但是我们要的是 「Dont make me think 」。我们不希望让用户去思考除开我们产品之外的东西。所以我们得想个办法弱化甚至去除这种闪动。
讲到这里呢就不得不科普以下我们浏览器本身就有的图片缓存机制了。在一定时间段内你浏览器访问过的图片,会被浏览器缓存。当你再一次看到这个图片的时候,这个图片就直接读取浏览器缓存的内容一瞬就打开,不会有闪动问题。
于是我们就想是不是可以利用这个机制,解决之前闪动的问题。但是现在难点是,我们详情页的书封是比首页的书封大的。因为尺寸不一样所以是不同的图片,于是就没有缓存这个概念。
如果我们让详情页也用首页的书封,详情页小图被拉伸就会看起来很模糊。如果首页用详情页的大书封,首页的图片数据加载开销又太大。
我们这边采用的解决方案是,三层叠加法。我们把占位图,小书封,大书封,按照上图的层级完美的叠在了同一个位置。当用户从首页进入到我们详情页的时候,我们占位图和小书封都是直接使用浏览器缓存瞬间呈现的,因为小书封是叠在占位图之上的,所以用户是看不到占位图的。而此时大书封正在加载,当大书封加载好了之后,就会盖在小书封之上。等用户仔细看这个书封的时候,这个大书封其实很有可能已经加载完成。
从上图的GIF可以看出,整个过程就从之前的占位图到大书封的闪现,变成了现在的小书封到大书封的渐变。其实这是很难被用户发现的。
看到这里可能有同学会问说,既然这里都看不到占位图,为什么还需要加载这个图呢?其实原因很简单,因为不是每个人都是从首页进入到详情页的。有可能用户是直接打开的这个链接。那么此时占位图就回到了最初的逻辑。先看到占位图然后再看到书封。当然我也得承认对于这样的用户,我们其实是多加载了一个小书封的资源的。但是对于体验上的优化来说,这一点资源的消耗我个人认为还是可以接受的。
还有一个好玩儿的点是,在这个地方因为同时加载了,占位图,小书封,大书封,它们作为图片也都会被浏览器缓存,当用户跳转到其它页面的时候,如果有相同的图片,那又是瞬开的。这样我们就充分的利用了浏览器缓存,让用户在我们网站上的体验得到了进一步的提升。
视觉层的体验优化是所见即所得的,你可以很快的看到优化的成果。但是有很多因为浏览器差异,或者用户差异引起的体验问题,我们没法直观和快速的去证明体验优化的效果。我们就得靠数据去证明了。
要用数据说话,首先我们得有数据,而这个数据的收集工具我们海外 PC 站用的则交给了来自 Google 的 Analytics。这边给大家讲关于这个的一个有趣故事。
有一天我在用 webpagetest 「 一个全球知名的测试网站加载速度的工具 」测试我们 「 webnovel 」页面的时候我看到了这样一个结果。
怎么办呢?我们选择了一个暴力但是有效的办法,直接把 CSS 合并到我们的 HTML 文件中 「 CSS 内联到 HTML 内部 」。CSS 文件都没有了,看你还怎么 DNS、SSL ... 哇!好棒,我拿着这个去找老大邀功。老大啪啪给我提了两个点就把我打懵了。
第一,你这个明显是首次加载页面时候的效果,对于大多数这个 CSS 文件已经有缓存的用户,你如何证明,这个优化对他们是又用的?
第二,「 webnovel 」是面向全球的网站,你又如何证明,这个优化对所有地区的用户的优化力度 ?
是啊我要怎么证明?「 webnovel 」全球这么多的用户,我就用一份 「 webpagetest 」 的测试报告去涵盖所有的终端和用户群体,显示是不具有公信力的。并且我又要如何证明这个优化的力度是多少?
此时中国好同事出现了,我的前端逻辑小伙伴帮我在框架机内部做了一个随机预处理的AB样本输出。道理很简单,就是让 50% 的用户是用原始的方式加载我们的 CSS ,另外 50% 的用户使用我们 CSS 内联到 HTML 内部的方式。这样我只需要加个标识符区别一下这两个样本,上报到 GA 「 Google Analytics 」 ,然后 GA 会自动帮我们统计和处理这些样本,最后我只需要将这两个样本的平均值做一个 10 以内的减法,就知道了我们的优化力度具体是多少了。
然而另一个问题出现了,我们应该把什么作为数据上报给 GA 呢?显然用整个网页的加载时间去证明 CSS 的加载是不对的。那我用 CSS 加载完成之后的那个时间去证明?可是我又怎么能证明 CSS 加载完成之后页面就已经渲染好了呢?我们不是在做体验的优化吗?又怎么能仅凭借 CSS 文件的加载来证明用户体验变好了呢?
体验,体验,CSS都没有加载,用户连页面都没有看到又怎么能叫体验?于是用户刚看到页面的时间,被我认定是一定程度上可以证明体验优劣的。
怎么去获取这个时间呢?其实利用 performance API,就可以获取到上图所示的浏览器各个阶段的时间。
来获取页面开始渲染的时间。最后大家一致的意见是,将这个 「 firstPaintTime- navigationStart 」的时间近似理解为用户从访问页面到看到页面的时间。
于是,我很开心的把这个这个时间上报到 GA,然后版本上线,等待数据收集。最后得出如下的统计结果:
当我们仔细分析这个数据,发现在这整个的时间段内,服务端的时间占了 1.1s 。我在这拼命的优化体验,可是最后发现体验的瓶颈并不在我们前端这边。这充分的说明,有的东西还是得靠数据说话,而不是你以为你以为的就是你以为的。当然除开这个瓶颈时间我们可以得出如下的结论。
至此我们有理有据的证明了优化体验的成果,虽然结果出乎了我们的预料,但是却证明,数据上报是能够证明我们体验成果的一个有理证据。
当然我们也把这个瓶颈问题,反馈给力服务端的同学。然后得到的答复是,「 webnovel 」还属于我们海外站的新项目,很多海外服务器有待跟进。相信在后续设备之后,会解决这个痛点。
篇幅有限,这边我只是零散的列举了,我个人认为可以从用户体验角度去做的几点重构优化,以及如何利用数据去证明你优化的力度。希望对于大家有一定的启发和帮助,有什么问题,也请给我留言,我们可以深入的交流。
原创声明:本文为阅文前端团队 YFE 成员出品,请尊重原创,转载请联系公众号 ( id: yuewen_YFE ) 获取授权,并注明作者、出处和链接。
前端重构程序员是一个关注代码同时还要留意体验的异类。代码的优化虽然难,但是有比较多的性能测试工具去证明优化的成果。然而体验这种东西,我们又要如何去证明它的好与坏呢?
今天我着重会基于「webnovel」PC站点从以上两点给大家介绍,如何从体验的角度去做重构的优化,并如何用数据去证明你的优化是有效果的。
不知道哪里听过这么一句话,「 好的体验,就是感觉不到在体验 」。这句话听起来很矛盾,但是却和业界公认的体验小红书「 Don’t make me think 」的理念一样。你想用户来「 webnovel 」是来看小说的,不是来称赞我们网页体验做得多么优秀的。当用户开始关注到我们网站体验的时候,那正是说明我们的体验不好的时候。
第一个地方就是页面加载的时候。这里我们明显可以看到「 webnovel 」的 Logo 和三个小图标在页面刷新的时候,会有一瞬间从无到有的过程。
我们「 webnovel 」站点是面向全球海外用户的,跳出了国内兼容 IE 浏览器的怪圈,于是在小图标这块我们选择了浏览器兼容性要求高,但是呈现效果却更好的SVG图标「 SVG 属于矢量图标,在能保证体积更小的情况下,还能在放大缩小的时候不失真 」。我们将 Iconfont 「来自阿里的在线图标管理工具 」自动帮我们生成的 JS 代码引用到页面中,结果就出现了上面的呈现效果。
这个原理其实很简单,我们 SVG 图标的 DOM 结构是在 JS 执行之后动态添加到我们的标签内部的。所以就会出现先呈现页面,再呈现图标的效果。于是我们很自然的想到,直接将 JS 生成的 DOM 结构放到我们的内部,来解决这个问题。
但是很傻很天真,在拷贝 DOM 结构的时候我们发现,这个 SVG 代码量也太多了,直接放到页面内部会大大增加我们 HTML 的代码量,影响整个页面呈现的速度,这个感觉是捡了芝麻丢西瓜。
最后我们采用的解决方案是,把 SVG 图标做了拆分,首屏的显示的图标我们采用直接添加 DOM 的方式,其它剩余的图标还是选择 JS 动态加载老方法。这样首屏之外的图标即使有闪动用户也很难看到。于是我们解决了首屏图标闪动的问题,也避免了 SVG 图标代码量的问题。用户感知不到图标的闪动,也就不会花时间去思考我们页面加载是快是慢的体验问题了。
第二个地方的就是我们数据请求的时候。当我们切换TAB的时候,能明显看到一个 Loading 的效果。用户的动作触发数据请求,在等待的过程我们用 Loading 来告知用户这一状态,以减弱用户等待的焦虑。这其实是一个对于数据加载,增强体验常规的做法。
可是不管我们的数据请求多么的快,用户都还是能明显能看到这个 Loading 的效果。这并不是我们想要的。
我们这边处理的办法是,在用户鼠标放到这个按钮的时候,我们认为用户是有了点击的意愿,于是我们就提前发起了数据请求的操作。当用户按下这个按钮的时候,我们的数据请求的整个过程可能已经结束,而这也就意味着我们的 Loading 状态已经消失。此时用户就能直接看到我们加载好的数据了。也就是说很有可能,在整个过程中用户是看到不到我们的 Loading 状态的。这不就是我们想要的体验上的优化吗?
我们都知道,图片和图标都是属于展示性的元素,特别是像我们 「 webnovel 」网站设计师很用心制作的书封,我们自然会愿意选择体积更大但是质量更高的高清图。为了避免影响正文的展示,我们又不得不选择了类似图片 Lazyload 的机制,让这个图片延迟加载。
但是可以明显看到这和之前的数据加载的 Loading 逻辑一样,需要一个表示 Loading 态的占位图。等图片加载完成,占位图会一瞬间被我们的高清书封替换,于是此时就出现了我们不期望的闪动。
当用户一看到闪动,他们就会去思考你这个加载是快还是慢。但是我们要的是 「Don’t make me think 」。我们不希望让用户去思考除开我们产品之外的东西。所以我们得想个办法弱化甚至去除这种闪动。
讲到这里呢就不得不科普以下我们浏览器本身就有的图片缓存机制了。在一定时间段内你浏览器访问过的图片,会被浏览器缓存。当你再一次看到这个图片的时候,这个图片就直接读取浏览器缓存的内容一瞬就打开,不会有闪动问题。
于是我们就想是不是可以利用这个机制,解决之前闪动的问题。但是现在难点是,我们详情页的书封是比首页的书封大的。因为尺寸不一样所以是不同的图片,于是就没有缓存这个概念。
如果我们让详情页也用首页的书封,详情页小图被拉伸就会看起来很模糊。如果首页用详情页的大书封,首页的图片数据加载开销又太大。
我们这边采用的解决方案是,三层叠加法。我们把占位图,小书封,大书封,按照上图的层级完美的叠在了同一个位置。当用户从首页进入到我们详情页的时候,我们占位图和小书封都是直接使用浏览器缓存瞬间呈现的,因为小书封是叠在占位图之上的,所以用户是看不到占位图的。而此时大书封正在加载,当大书封加载好了之后,就会盖在小书封之上。等用户仔细看这个书封的时候,这个大书封其实很有可能已经加载完成。
从上图的GIF可以看出,整个过程就从之前的占位图到大书封的闪现,变成了现在的小书封到大书封的渐变。其实这是很难被用户发现的。
看到这里可能有同学会问说,既然这里都看不到占位图,为什么还需要加载这个图呢?其实原因很简单,因为不是每个人都是从首页进入到详情页的。有可能用户是直接打开的这个链接。那么此时占位图就回到了最初的逻辑。先看到占位图然后再看到书封。当然我也得承认对于这样的用户,我们其实是多加载了一个小书封的资源的。但是对于体验上的优化来说,这一点资源的消耗我个人认为还是可以接受的。
还有一个好玩儿的点是,在这个地方因为同时加载了,占位图,小书封,大书封,它们作为图片也都会被浏览器缓存,当用户跳转到其它页面的时候,如果有相同的图片,那又是瞬开的。这样我们就充分的利用了浏览器缓存,让用户在我们网站上的体验得到了进一步的提升。
视觉层的体验优化是所见即所得的,你可以很快的看到优化的成果。但是有很多因为浏览器差异,或者用户差异引起的体验问题,我们没法直观和快速的去证明体验优化的效果。我们就得靠数据去证明了。
要用数据说话,首先我们得有数据,而这个数据的收集工具我们海外 PC 站用的则交给了来自 Google 的 Analytics。这边给大家讲关于这个的一个有趣故事。
有一天我在用 webpagetest 「 一个全球知名的测试网站加载速度的工具 」测试我们 「 webnovel 」页面的时候我看到了这样一个结果。
大家注意看那个最长的绿色,看到了吧,一个 DNS 加载怎么比后面的 SSL CSS 加载 CSS渲染还要长?CSS 可是强制阻塞我们页面渲染的重要元素,它要是慢了,你网站做再多优化都没有用。这个你让人怎么忍?
怎么办呢?我们选择了一个暴力但是有效的办法,直接把 CSS 合并到我们的 HTML 文件中 「 CSS 内联到 HTML 内部 」。CSS 文件都没有了,看你还怎么 DNS、SSL … 哇!好棒,我拿着这个去找老大邀功。老大啪啪给我提了两个点就把我打懵了。
第一,你这个明显是首次加载页面时候的效果,对于大多数这个 CSS 文件已经有缓存的用户,你如何证明,这个优化对他们是又用的?
第二,「 webnovel 」是面向全球的网站,你又如何证明,这个优化对所有地区的用户的优化力度 ?
是啊我要怎么证明?「 webnovel 」全球这么多的用户,我就用一份 「 webpagetest 」 的测试报告去涵盖所有的终端和用户群体,显示是不具有公信力的。并且我又要如何证明这个优化的力度是多少?
此时中国好同事出现了,我的前端逻辑小伙伴帮我在框架机内部做了一个随机预处理的AB样本输出。道理很简单,就是让 50% 的用户是用原始的方式加载我们的 CSS ,另外 50% 的用户使用我们 CSS 内联到 HTML 内部的方式。这样我只需要加个标识符区别一下这两个样本,上报到 GA 「 Google Analytics 」 ,然后 GA 会自动帮我们统计和处理这些样本,最后我只需要将这两个样本的平均值做一个 10 以内的减法,就知道了我们的优化力度具体是多少了。
然而另一个问题出现了,我们应该把什么作为数据上报给 GA 呢?显然用整个网页的加载时间去证明 CSS 的加载是不对的。那我用 CSS 加载完成之后的那个时间去证明?可是我又怎么能证明 CSS 加载完成之后页面就已经渲染好了呢?我们不是在做体验的优化吗?又怎么能仅凭借 CSS 文件的加载来证明用户体验变好了呢?
体验,体验,CSS都没有加载,用户连页面都没有看到又怎么能叫体验?于是用户刚看到页面的时间,被我认定是一定程度上可以证明体验优劣的。
怎么去获取这个时间呢?其实利用 performance API,就可以获取到上图所示的浏览器各个阶段的时间。
来获取页面开始渲染的时间。最后大家一致的意见是,将这个 「 firstPaintTime - navigationStart 」的时间近似理解为用户从访问页面到看到页面的时间。
于是,我很开心的把这个这个时间上报到 GA,然后版本上线,等待数据收集。最后得出如下的统计结果:
当我们仔细分析这个数据,发现在这整个的时间段内,服务端的时间占了 1.1s 。我在这拼命的优化体验,可是最后发现体验的瓶颈并不在我们前端这边。这充分的说明,有的东西还是得靠数据说话,而不是你以为你以为的就是你以为的。当然除开这个瓶颈时间我们可以得出如下的结论。
至此我们有理有据的证明了优化体验的成果,虽然结果出乎了我们的预料,但是却证明,数据上报是能够证明我们体验成果的一个有理证据。
当然我们也把这个瓶颈问题,反馈给力服务端的同学。然后得到的答复是,「 webnovel 」还属于我们海外站的新项目,很多海外服务器有待跟进。相信在后续设备之后,会解决这个痛点。
篇幅有限,这边我只是零散的列举了,我个人认为可以从用户体验角度去做的几点重构优化,以及如何利用数据去证明你优化的力度。希望对于大家有一定的启发和帮助,有什么问题,也请给我留言,我们可以深入的交流。

