首页

两个图标改了13版,我是如何逐步优化的?

周周

今天这个需求是直播间 pk 后,主播胜利与失败的两个状态设计,过程经历了很多次修改,现在来分享一下自己的感受。

  • 状态还是需要有一些设计感的
  • 结构不能乱画,要有基本逻辑在
  • 颜色层级一定要分明
  • 根据情绪设计形象
  • 根据情绪选择色系
状态还是需要有一些设计感的

其实最开始我有点天真了,以为这种状态直接画个圈圈,写个胜、败两个字,然后做下颜色区分就完事了:

两个图标改了13版,我是如何逐步优化的?

但这根本行不通,看起来像是未完成的交互稿,一点设计感都没有。

于是我开始思考如何增加设计感了。

结构不能乱画,要有基本逻辑在

如何增加设计感?

其实无非就是给这个状态增加细节呗,尤其是这个胜利的状态,我想到麦穗、翅膀等元素,最后选用了翅膀的元素,绘制了一个样例如下:

两个图标改了13版,我是如何逐步优化的?

但被说到这个结构是乱画的,哈哈,一下戳到了我的痛点,确实是胡乱画的,各种圆圈没什么逻辑。

于是后来仔细思考了一下,把圆圈分为三层:

  • 一层底托
  • 一层中间层放主形象
  • 一层修饰层放在最外面

效果如下:

两个图标改了13版,我是如何逐步优化的?

然后最中间放主形象,两边放翅膀,顶部放皇冠,最终效果如下:

两个图标改了13版,我是如何逐步优化的?

这样整体看起来结构就是清晰的。

我们可以看下结构清晰和不清晰的对比:

两个图标改了13版,我是如何逐步优化的?

后面因为整体调性需要可爱一点,所以把翅膀改成了比较圆润的造型:

两个图标改了13版,我是如何逐步优化的?

效果还算不错。

颜色层级一定要分明

其实这个点是我经常和大家强调的,但有时候确实是当局者迷,自己也容易犯这样的错,比如最开始的那个效果,很明显中间暗部和周边亮部没有拉开层次:

两个图标改了13版,我是如何逐步优化的?

所以在后面的取色上,会把中间暗部做的很深,形成鲜明对比:

两个图标改了13版,我是如何逐步优化的?

这样层次才会更加明显,不然就会糊在一起。

根据情绪设计形象

最开始本来想用圆形来做失败的状态,但是后来发现有点太惨淡了,于是想着还是加点细节吧,怎么加呢?

这时候是需求方那边给的一点灵感,说失败不就是很颓的样子,就拿把翅膀下沉和胜利形成反差不就可以了,我感觉说的挺有道理,于是就尝试做了下:

两个图标改了13版,我是如何逐步优化的?

确实还可以。

根据情绪选择色系

本来想着胜利用紫色、失败用蓝绿色:

两个图标改了13版,我是如何逐步优化的?

但是发现蓝绿色多少还是会有点分散“胜利”的注意力,于是就在思考,失败是表达一种负向的情绪,那是不是可以用灰一点的颜色?

于是尝试了几个不一样的灰度:

两个图标改了13版,我是如何逐步优化的?

最后选择最后最后那个几乎接近灰色的版本,干脆一点,对比强烈一点。

我们看下最终效果:

两个图标改了13版,我是如何逐步优化的?

再看下过程稿吧:

两个图标改了13版,我是如何逐步优化的?

调整了很对次,过程还是挺值得记录的,回头一看,很有成就感!

总结

以上就是这个小需求过程中总结的一些知识点,后面还会加入一些微动效,增加氛围感。

希望可以给大家一点灵感和启发。



文章来源:优设网       作者:菜心设计铺



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

我们对2021年的用户体验有何期待?

分享达人

用户体验设计是一个动态领域,每年都会为我们带来新的趋势,最近十二个月也不例外。全球新冠病毒大流行和国家封锁使我们与数字世界和现实世界之间的互动方式发生了突然的变化。人们不仅开始在网上花费更多的时间;他们的思考方式和表现方式也发生了不同。

本文主要阐述2021用户体验的趋势,我们相信这将在新的一年里占据主导地位。查看一下您可以利用哪些趋势超越竞争对手并在人群中脱颖而出吧。


语音介面

我们在2020年UX状态预测中讨论了语音用户界面(VUI)。如今年所示,语音指令仍然是UX设计中最热门的趋势之一。可以肯定地说,明年不应忽略它。

毫无疑问,到2021年,语音聊天机器人和虚拟助手将继续流行。用户在数字体验方面一直在寻求简单性和效率。市场需求,高期望值以及人工智能技术的迅速发展使品牌别无选择,只能在其产品中包含基于语音的功能。

已经有许多企业为广泛的VUI实施奠定了基础。例如,星巴克推出了一种名为My Starbucks Barista的基于AI的聊天机器人。其目标是通过允许用户通过语音命令购买自己喜欢的饮料来改善咖啡订购体验。



简约的UI

极简主义可能是当今视觉设计中最明显的趋势之一。用户正在体验越来越多的网站所有者想要传递的关键消息。Cookie弹出窗口,打折广告和各种通知旨在吸引和转化网站访问者,但它们也吸引了我们的注意力。这就是简约的以用户为中心的设计应运而生的地方。

但是,“极简主义”并不意味着“沉闷”或“原始”。意思是“优雅”和“高效”。尽管必须使用数量有限的颜色,设计元素和明亮的组合,但UX设计人员仍然有很大的发挥空间。此外,元素的功能最为重要,正确突出产品功能并传达正确信息的能力需要大量的创造力。相反,仅具有装饰目的的组件正逐渐失去其重要性。




内容,消息和导航的清晰度是UX设计的简约方法的另一个重要方面。信息过载对于大多数现代用户来说是一个痛苦,这意味着网站所有者应努力使自己的UX文字简洁明了。


负空间

负空间是用户体验设计的一种大趋势,它已经脱离了对简约UI的市场需求。简而言之,负空间是页面布局中对象周围(宏空间)或对象内部(微空间)的空白区域。它已经成为独立的设计元素,在视觉美学和用户体验优化中起着至关重要的作用。谷歌的主页,苹果的官方商店以及一些用Webflow创建的网站就是很好的例子。






留出一定的空间,在设计中添加“寂静的感觉”,必须是始终有意义的。否则,用户可以将其视为缺少信息。负空间的主要功能是整理网页,以吸引用户对关键对象和消息的注意。建立清晰的内容层次结构有助于UX设计人员将用户的注意力吸引到最重要的内容上。




负空间有时也称为“空白区域”或“留白区域”。所有这些术语都是可以互换的。当区域中没有元素时,您还可以在深色模式或任何其他颜色下使用此用户体验趋势。

不完美的元素

在发生COVID-19大流行之后的在线体验将与我们习惯的在线体验不同。UX设计以相关方式反映了缺陷。为了使品牌的数字化形象更具关联性,设计师有意在版面设计中实现了一些“缺陷”。 它可以是任何东西,从手绘对象到构图或页面的不寻常元素。







通常,不完美的设计可以很好地证明品牌的身份并突出其独特性。但是,如果要应用这种UX趋势,则必须记住一个关键规则:必须保持平衡。如果你做得过多,那是行不通的。



同态

中性风格是UI设计中其他两种大规模方法(拟态和平面设计)的组合,它们通常被认为彼此相对。拟态化是关于模仿现实世界中的物体以及我们与物体交互的方式。

几十年前,当需要使用超现实元素来创建直观且用户友好的UI时,它很流行。垃圾桶就是例子之一。另一方面,平面设计是一个更新的,简化的概念,围绕二维元素,极简主义和鲜艳的色彩。

同质性兼顾了两者的优点。它使用图形强度大的元素,阴影和渐变来使按钮和卡片类似于自然界中的对象,而不是精确地重新创建它们。中性风格不会将现实主义推到极致。取而代之的是,它努力实现浅色和微妙对比度的“柔和”外观。



在过去大约一年的时间里,同质化一直是UI / UX专业人员中讨论最多的主题之一。尽管仍然没有很多真正的数字产品的用户界面遵循这种方法,但许多设计人员对该概念感到兴奋。像Behance和Dribbble这样的专业平台已经包含了许多同态的例子。因此,我们有充分的理由相信,这一趋势最终将在2021年出现在我们的手机和笔记本电脑中。



3D元素和视差

视差效果和3D元素并不是UX设计中的全新内容。我们已经看到了如何在许多Web设计解决方案中实现它们。但是,我们仍然观察到这些用户体验趋势正在逐步普及。

首先,它的使用量显着增加。如今,3D元素和视差效果已不再是网络上奇特的事物。它们更为常见,特别是在代表着脱颖而出的时尚和电子商务品牌的网站和应用上。




另一种趋势是尝试在一个界面中结合视差效果和3D图形。使用视差滚动时,网页背景和前景元素以不同的速度移动。仅凭它就能产生深度感。通过为此添加3D对象,您可以创建一种真正的身临其境的体验,并将在用户的记忆中保留很长时间。


 



  

不对称

随着我们设备屏幕的变宽,UI / UX设计中出现了不对称趋势。通常,不对称是野兽派的一种属性,这是艺术和网页设计中与极简主义相反的一种风格。但是,如果与其他残酷的设计元素分开使用,它可以使您的网站看起来有趣,同时使它保持微妙和优雅。


不对称布局的UI / UX趋势通常与其他创造性的Web设计技术一起实现,例如破碎的网格,重叠的元素和分割的屏幕。您也可以将不对称性应用于排版。如果操作正确,它将使您的品牌信息更加引人注目和令人难忘。




但是,请务必记住,非对称设计并不意味着“随机放置的UI元素”。在布局上定位对象的不寻常方式应该引导用户的眼睛朝正确的方向前进,并帮助品牌强调重要信息。

动画制作

今天,当我们在互联网上进入随机网站时,很可能会看到GIF,微型动画,动画插图或其他一些运动设计元素。动画在用户体验设计中仍然很流行,并且使用频率不断增长。

除了具有视觉吸引力之外,移动物体还可以改善用户参与度并简化导航。他们还可以为数字产品或服务注入生命,使它们更具个性。



如果要在用户界面设计中使用这种软件开发趋势,那么明智地执行此操作至关重要。漂浮在屏幕上没有特定目的的对象可能会使访问者感到困惑,从而促使他们甚至比计划的要早离开网页。动画元素也不应使用户界面不必要地复杂。它们始终必须是相关的,有价值的和平稳的。

信息架构

信息体系结构是在页面上组织和构造不同内容的方式。它是以用户为中心的设计(UCD)的基本要素,旨在使用户的数字环境更加舒适。与用户研究和可用性测试一起,构建有效,有用且一致的信息体系结构是UCD流程的必不可少的阶段。



为了创建一个实用的信息体系结构,UX设计人员需要对产品的目标受众,其行为以及使用数字解决方案的原因有深入的了解。用户应该无需花费太多精力就能获得所需的结果。因此,在设计过程的线框阶段始终必须考虑用户的目标,清晰的导航和内容表示(包括盲点监视)。

最后的想法

我们创建此文章是为了让您在当今竞争异常激烈的数字世界中站稳脚跟。这里提到的所有UX趋势绝对可以改善几乎每个软件解决方案或网站的用户体验。即使用户期望很高,它们也可以使您的产品在视觉上对目标受众更具吸引力。

文章来源:站酷  作者:ZZiUP

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

你要知道的交互成本

分享达人

交互成本是用户在与网站交互中必须执行以达到其目标所需的精力(无论是精神上还是物理上)。

理想情况下,我们希望用户访问网站并在他们眼前找到他们正在寻找的答案。这将意味着零交互成本,并且是检验可用性的里程碑。

不幸的是,由于大多数站点和应用程序都提供了用户可能想要做的许多事情,因此很少能达到零交互成本。大多数时候,用户必须四处浏览,阅读,可能滚动,找到有希望的链接,单击它,等待页面加载,然后重新进行整个过程。有时,一个新窗口可能会在现有窗口的顶部弹出,在这种情况下,用户必须将注意力转移到新窗口上,也许还需要回头看旧窗口以将信息集成到两个窗口中。在其他情况下,用户可能需要记住一页上的信息,然后将其应用于另一页。所有这些动作都需要认知努力并弥补了交互成本。

可用站点将实现各种用户目标所需的交互成本降至最低。也就是说,它们最小化:

  • 阅读

  • 滚动

  • 环顾四周以查找相关信息

  • 理解提供的信息

  • 单击或触摸(不会出错)

  • 打字

  • 页面加载和等待时间

  • 注意开关

  • 内存负载-用户必须记住的信息才能完成其任务


这些用户动作对总交互成本的贡献不同。它们的相对重要性可能取决于用户-例如,阅读障碍的用户阅读时间可能比点击周围的时间困难,而操作障碍的用户可能会觉得点击困难。它们还取决于设备-连接到高速网络的台式机上的页面加载可能微不足道,但是如果蜂窝网络覆盖较慢,则移动设备上的页面加载可能会花费很长时间。

许多可用性准则都解决了使交互成本的各个组成部分最小化的问题。例如,网络写作规则通过推荐要点和简短的要点句子和段落来降低阅读成本。

交互成本示例

让我们举一个简单的例子。假设我们要查找“仪式”一词的来源。我们将使用Dictionary iPhone应用程序执行此任务。我们将忽略在手机上查找应用程序所涉及的成本,并且在启动Dictionary应用程序后立即开始分析。

启动应用程序后出现的第一件事是启动屏幕。


在这一点上,交互成本包括等待几秒钟,以使启动屏幕消失并为应用程序的第一个可操作屏幕腾出空间:


在此页面上,互动成本来自定位搜索框。幸运的是,搜索框非常显眼地位于页面顶部,因此我们可以放心地认为,用户只需很少的精力就可以找到它。找到后,用户需要触摸搜索框以将输入焦点移到搜索字段中。搜索框是一个相当大且易于触摸的目标,因此交互成本也可能会降至最低。


接下来,用户必须编辑搜索查询。

当输入焦点在搜索字段中移动时,自动建议的词将自动显示。

用户必须查看自动建议并确定它们不相关,然后清除当前查询。他们可以通过按右侧的灰色x按钮(如果他们熟悉iOS规则)来执行此操作,也可以通过按触摸屏上的Delete键来逐个清除字符。

删除后,用户将开始输入目标词“仪式”。当他们开始输入内容时,关联词会显示在下方。用户可以检查关联词并决定是否要继续键入或停止并选择关联词。


选择(或键入)单词“ ceremony”后,用户必须按Search进入结果页面。他们需要等待片刻才能显示新页面:


用户必须推断Origin可能包含有关单词来源的信息。(对于大多数用户而言,这是一个简单的推论,因此认知成本很低;但是,如果改用“词源”一词,则某些用户可能会在阅读和理解其含义时遇到更多麻烦;因此,“来源”是更好的选择,因为它降低了交互成本。)



让我们总结一下交互成本的各个组成部分,以找到“仪式”一词的由来:

  1. 等待启动页面

  2. 搜索

    1. 输入几个字符

    2. 扫描自动提示列表,以查看所需单词是否在其中

    3. 如果否,请输入更多字符并在上一步中重复

    4. 如果是,请通过点击选择所需的单词

    5. 找到搜索框,然后点击将输入焦点移至该搜索框

    6. 阅读搜索框中显示的查询和自动建议

    7. 决定查询不相关

    8. 删除搜索框中显示的查询

    9. 键入或选择自动建议

    10. 点击搜索

  3. 等待结果页面

  4. 在结果页面上找到相关的词源信息

    1. 向下滚动页面并扫描内容以查找词源信息

    2. 找到标签并阅读

    3. 请注意,右侧还有更多隐藏的标签

    4. 推断词源可能是隐藏的标签之一

    5. 注意到滑动会向右暴露内容

    6. 向右滑动

    7. 阅读Origin并将该单词与目标联系起来,以找到单词的来源

    8. 点击词源

  5. 了解“仪式”一词的来源

如您所见,一个相当简单而轻松的过程需要很多步骤和子步骤;他们每个人都会产生互动费用。对于某些人而言,交互成本微不足道-例如,记住人们向右滑动即可显示更多内容,因此交互成本非常低,因为人们在移动设备或Web上已经多次遇到水平滚动。可以优化其他步骤以最小化交互成本;因此,在搜索框中使用灰色的小x按钮可以大大降低删除显示在搜索框中的查询的成本。同样,将按钮调大可以帮助点击目标。选项卡的位置和外观设计会影响人们找到选项卡的速度。(当然,选项卡本身的选择与使用其他方式来构造内容的方式也会影响用于在结果页上查找相关信息的位置的交互成本。)


预期效用

请注意,对于前面各节中的某些步骤,用户可以有多种选择。例如,他们可以按灰色的x按钮删除当前字符串,也可以多次使用Delete键。或者,他们可以从自动建议列表中选择建议,也可以在最后输入字符串。

人们如何决定采取哪种行动?答案在于预期效用的概念:

预期效用=预期收益–预期交互成本

用户尝试最大化一项操作的预期效用:换句话说,他们权衡了每个操作的收益和成本,然后选择收益与成本之间最佳平衡的方案。

当有几种方法可以实现具有相似利益的相同目标时,用户通常倾向于选择使估计的交互成本最小的操作



例如,许多人可能不会在自动提示列表中向下滚动以找到“仪式”一词,而是可能会再键入一个(或几个)字符,直到可见“仪式”一词为止,因为向下滚动小列表和扫描列表中的正确单词比击中一个甚至几个字符的成本更高。


这种类型的想法也普遍适用于站点级别。如果看起来真的很难在任何给定站点上实现其目标,则除非与初始站点进行交互的收益确实很高,否则大多数用户只会以较低的估计交互成本转移到另一个站点。举个例子,如果用户真的想购买Apple电脑,他们可能会坚持使用Apple的网站,因为他们不太可能在其他地方购买。在这种情况下,用户的动机确实很高,因此他们可能愿意忍受很高的交互成本。但是,如果用户要购买烧烤架,则可能不在乎是否从Home Depot或Lowe's或其他站点购买,并且会离开互动成本高的站点。

营销和品牌推广通常会增加与特定网站或品牌互动的用户动机和预期收益;可用性可以降低交互成本。两种方法最终都解决了增加使用站点或软件的预期效用的问题。

为什么您应该关心交互成本

交互成本是可用性直接度量。实际上,该概念早在人机交互时就被引入,以评估软件系统的可用性。所有的可用性启发将用户的交互成本降至最低。

从长远来看,快速评估设计的交互成本可以节省大量资金,因为它可以很好地衡量用户界面的难易程度。它也可以用作设计备选方案之间比较工具:通常,将交互成本最小化的方案具有更大的成功机会。

文章来源:站酷 作者:ZZiUP

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


一文带你了解如何排查内存泄漏导致的页面卡顿现象

前端达人

不知道在座的各位有没有被问到过这样一个问题:如果页面卡顿,你觉得可能是什么原因造成的?有什么办法锁定原因并解决吗?

这是一个非常宽泛而又有深度的问题,他涉及到很多的页面性能优化问题,我依稀还记得当初面试被问到这个问题时我是这么回答的:

  1. 先会检查是否是网络请求太多,导致数据返回较慢,可以适当做一些缓存
  2. 也有可能是某块资源的bundle太大,可以考虑拆分一下
  3. 然后排查一下js代码,是不是某处有过多循环导致占用主线程时间过长
  4. 浏览器某帧渲染的东西太多,导致的卡顿
  5. 在页面渲染过程中,可能有很多重复的重排重绘
  6. emmmmmm…不知道了

后来了解到了,感官上的长时间运行页面卡顿也有可能是因为内存泄漏引起的

内存泄漏的定义

那什么是内存泄漏呢?借助别的大佬给出的定义,内存泄漏就是指由于疏忽或者程序的某些错误造成未能释放已经不再使用的内存的情况。简单来讲就是假设某个变量占用100M的内存,而你又用不到这个变量,但是这个变量没有被手动的回收或自动回收,即仍然占用100M的内存空间,这就是一种内存的浪费,即内存泄漏

JS的数据存储

JavaScript的内存空间分为栈内存堆内存,前者用来存放一些简单变量,后者用来存放复杂对象

  • 简单变量指的是JS的基本数据类型,例如:StringNumberBooleannullundefinedSymbolBigInt
  • 复杂对象指的是JS的引用数据类型,例如:ObjectArrayFunction

JS垃圾回收机制

根据内存泄漏的定义,有些变量或数据不再被使用或不需要了,那么它就是垃圾变量或垃圾数据,如果其一直保存在内存中,最终可能会导致内存占用过多的情况。那么此时就需要对这些垃圾数据进行回收,这里引入了垃圾回收机制的概念

垃圾回收的机制分为手动自动两种

例如C/C++采用的就是手动回收的机制,即先用代码为某个变量分配一定的内存,然后在不需要了后,再用代码手动释放掉内存

JavaScript采用的则是自动回收的机制,即我们不需要关心何时为变量分配多大的内存,也不需要关心何时去释放内存,因为这一切都是自动的。但这不表示我们不需要关心内存的管理!!!!否则也不会有本文讨论的内存泄露了

接下来就讲一下JavaScript的垃圾回收机制

通常全局状态(window)下的变量是不会被自动回收的,所以我们来讨论一下局部作用域下的内存回收情况

function fn1 () { let a = { name: '零一' } let b = 3 function fn2() { let c = [1, 2, 3] } fn2() return a } let res = fn1() 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

以上代码的调用栈如下图所示:

img

图中左侧为栈空间,用于存放一些执行上下文和基本类型数据;右侧为堆空间,用于存放一些复杂对象数据

当代码执行到fn2()时,栈空间内的执行上下文从上往下依次是 fn2函数执行上下文 => fn1函数执行上下文 => 全局执行上下文

fn2函数内部执行完毕以后,就该退出fn2函数执行上下文了,即箭头向下移动,此时fn2函数执行上下文会被清除并释放栈内存空间,如图所示:

img

fn1函数内部执行完毕以后,就该退出fn1函数执行上下文了,即箭头再向下移动,此时fn1函数执行上下文会被清除并释放相应的栈内存空间,如图所示:

img

此时处于全局的执行上下文中。JavaScript的垃圾回收器会每隔一段时间遍历调用栈,假设此时触发了垃圾回收机制,当遍历调用栈时发现变量b和变量c没有被任何变量所引用,所以认定它们是垃圾数据并给它们打上标记。因为fn1函数执行完后将变量a返回了出去,并存储在全局变量res中,所以认定其为活动数据并打上相应标记。待空闲时刻就会将标记上垃圾数据的变量给全部清除掉,释放相应的内存,如图所示:

img

从这我们得出几点结论:

  1. JavaScript的垃圾回收机制是自动执行的,并且会通过标记来识别并清除垃圾数据
  2. 在离开局部作用域后,若该作用域内的变量没有被外部作用域所引用,则在后续会被清除

补充: JavaScript的垃圾回收机制有着很多的步骤,上述只讲到了标记-清除,其实还有其它的过程,这里简单介绍一下就不展开讨论了。例如:标记-整理,在清空部分垃圾数据后释放了一定的内存空间后会可能会留下大面积的不连续内存片段,导致后续可能无法为某些对象分配连续内存,此时需要整理一下内存空间;交替执行,因为JavaScript是运行在主线程上的,所以执行垃圾回收机制时会暂停js的运行,若垃圾回收执行时间过长,则会给用户带来明显的卡顿现象,所以垃圾回收机制会被分成一个个的小任务,穿插在js任务之中,即交替执行,尽可能得保证不会带来明显的卡顿感

Chrome devTools查看内存情况

在了解一些常见的内存泄漏的场景之前,先简单介绍一下如何使用Chrome的开发者工具来查看js内存情况

首先打开Chrome的无痕模式,这样做的目的是为了屏蔽掉Chrome插件对我们之后测试内存占用情况的影响

img

然后打开开发者工具,找到Performance这一栏,可以看到其内部带着一些功能按钮,例如:开始录制按钮;刷新页面按钮;清空记录按钮;记录并可视化js内存、节点、事件监听器按钮;触发垃圾回收机制按钮等等

img

简单录制一下百度页面,看看我们能获得什么,如下动图所示:

img

从上图中我们可以看到,在页面从零到加载完成这个过程中JS Heap(js堆内存)documents(文档)Nodes(DOM节点)Listeners(监听器)GPU memory(GPU内存)的最低值、最高值以及随时间的走势曲线,这也是我们主要关注的点

再来看看开发者工具中的Memory一栏,其主要是用于记录页面堆内存的具体情况以及js堆内存随加载时间线动态的分配情况

img

堆快照就像照相机一样,能记录你当前页面的堆内存情况,每快照一次就会产生一条快照记录,如图所示:

img

如上图所示,刚开始执行了一次快照,记录了当时堆内存空间占用为13.9MB,然后我们点击了页面中某些按钮,又执行一次快照,记录了当时堆内存空间占用为13.4MB。并且点击对应的快照记录,能看到当时所有内存中的变量情况(结构、占总占用内存的百分比…)

然后我们还可以看一下页面动态的内存变化情况,如图所示:

img

在开始记录后,我们可以看到图中右上角有起伏的蓝色与灰色的柱形图,其中蓝色表示当前时间线下占用着的内存;灰色表示之前占用的内存空间已被清除释放。

从上图过程来看,我们可以看到刚开始处于的tab所对应显示的页面中占用了一定的堆内存空间,成蓝色柱形,在点击别的tab后,原tab对应的内容消失,并且原来蓝色的柱形变成灰色(表示原占用的内存空间得到了释放),同时新tab所对应显示的页面也占用了一定的堆内存空间。因此后续我们就可以针对这个图来查看内存的占用与清除情况

内存泄漏的场景

那么到底有哪些情况会出现内存泄漏的情况呢?这里列举了常见的几种:

  1. 闭包使用不当引起内存泄漏
  2. 全局变量
  3. 分离的DOM节点
  4. 控制台的打印
  5. 遗忘的定时器

接下来介绍一下各种情况,并尝试用刚才讲到的两种方法来捕捉问题所在

1.闭包使用不当

文章开头的例子中,在退出fn1函数执行上下文后,该上下文中的变量a本应被当作垃圾数据给回收掉,但因fn1函数最终将变量a返回并赋值给全局变量res,其产生了对变量a的引用,所以变量a被标记为活动变量并一直占用着相应的内存,假设变量res后续用不到,这就算是一种闭包使用不当的例子

接下来尝试使用PerformanceMemory来查看一下闭包导致的内存泄漏问题,为了使内存泄漏的结果更加明显,我们稍微改动一下文章开头的例子,代码如下:

<button onclick="myClick()">执行fn1函数</button> <script> function fn1 () { let a = new Array(10000) // 这里设置了一个很大的数组对象 let b = 3 function fn2() { let c = [1, 2, 3] } fn2() return a } let res = [] function myClick() { res.push(fn1()) } </script> 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

设置了一个按钮,每次执行就会将fn1函数的返回值添加到全局数组变量res中,是为了能在performacne的曲线图中看出效果,如图所示:

img

在每次录制开始时手动触发一次垃圾回收机制,这是为了确认一个初始的堆内存基准线,便于后面的对比,然后我们点击了几次按钮,即往全局数组变量res中添加了几个比较大的数组对象,最后再触发一次垃圾回收,发现录制结果的JS Heap曲线刚开始成阶梯式上升的,最后的曲线的高度比基准线要高,说明可能是存在内存泄漏的问题

在得知有内存泄漏的情况存在时,我们可以改用Memory来更明确得确认问题和定位问题

首先可以用Allocation instrumentation on timeline来确认问题,如下图所示:

img

在我们每次点击按钮后,动态内存分配情况图上都会出现一个蓝色的柱形,并且在我们触发垃圾回收后,蓝色柱形都没变成灰色柱形,即之前分配的内存并未被清除

所以此时我们就可以更明确得确认内存泄漏的问题是存在的了,接下来就精准定位问题,可以利用Heap snapshot来定位问题,如图所示:

img

第一次先点击快照记录初始的内存情况,然后我们多次点击按钮后再次点击快照,记录此时的内存情况,发现从原来的1.1M内存空间变成了1.4M内存空间,然后我们选中第二条快照记录,可以看到右上角有个All objects的字段,其表示展示的是当前选中的快照记录所有对象的分配情况,而我们想要知道的是第二条快照与第一条快照的区别在哪,所以选择Object allocated between Snapshot1 and Snapshot2,即展示第一条快照和第二条快照存在差异的内存对象分配情况,此时可以看到Array的百分比很高,初步可以判断是该变量存在问题,点击查看详情后就能查看到该变量对应的具体数据了

以上就是一个判断闭包带来内存泄漏问题并简单定位的方法了

2.全局变量

全局的变量一般是不会被垃圾回收掉的,在文章开头也提到过了。当然这并不是说变量都不能存在全局,只是有时候会因为疏忽而导致某些变量流失到全局,例如未声明变量,却直接对某变量进行赋值,就会导致该变量在全局创建,如下所示:

function fn1() { // 此处变量name未被声明 name = new Array(99999999) } fn1() 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

此时这种情况就会在全局自动创建一个变量name,并将一个很大的数组赋值给name,又因为是全局变量,所以该内存空间就一直不会被释放

解决办法的话,自己平时要多加注意,不要在变量未声明前赋值,或者也可以开启严格模式,这样就会在不知情犯错时,收到报错警告,例如:

function fn1() { 'use strict'; name = new Array(99999999) } fn1() 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

3.分离的DOM节点

什么叫DOM节点?假设你手动移除了某个dom节点,本应释放该dom节点所占用的内存,但却因为疏忽导致某处代码仍对该被移除节点有引用,最终导致该节点所占内存无法被释放,例如这种情况:


改动很简单,就是将对.child节点的引用移动到了click事件的回调函数中,那么当移除节点并退出回调函数的执行上文后就会自动清除对该节点的引用,那么自然就不会存在内存泄漏的情况了,我们来验证一下,如下图所示:

img

结果很明显,这样处理过后就不存在内存泄漏的情况了

4.控制台的打印

控制台的打印也会造成内存泄漏吗????是的呀,如果浏览器不一直保存着我们打印对象的信息,我们为何能在每次打开控制的Console时看到具体的数据呢?先来看一段测试代码:

<button>按钮</button> <script> document.querySelector('button').addEventListener('click', function() { let obj = new Array(1000000) console.log(obj); }) </script> 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

我们在按钮的点击回调事件中创建了一个很大的数组对象并打印,用performance来验证一下:

img

开始录制,先触发一次垃圾回收清除初始的内存,然后点击三次按钮,即执行了三次点击事件,最后再触发一次垃圾回收。查看录制结果发现JS Heap曲线成阶梯上升,并且最终保持的高度比初始基准线高很多,这说明每次执行点击事件创建的很大的数组对象obj都因为console.log被浏览器保存了下来并且无法被回收

接下来注释掉console.log,再来看一下结果:

<button>按钮</button> <script> document.querySelector('button').addEventListener('click', function() { let obj = new Array(1000000) // console.log(obj); }) </script> 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

performance如图所示:

img

可以看到没有打印以后,每次创建的obj都立马被销毁了,并且最终触发垃圾回收机制后跟初始的基准线同样高,说明已经不存在内存泄漏的现象了

其实同理,console.log也可以用Memory来进一步验证

  • 未注释console.log

img

  • 注释掉了console.log

img

最后简单总结一下:在开发环境下,可以使用控制台打印便于调试,但是在生产环境下,尽可能得不要在控制台打印数据。所以我们经常会在代码中看到类似如下的操作:

// 如果在开发环境下,打印变量obj if(isDev) { console.log(obj) } 
  • 1
  • 2
  • 3
  • 4

这样就避免了生产环境下无用的变量打印占用一定的内存空间,同样的除了console.log之外,console.errorconsole.infoconsole.dir等等都不要在生产环境下使用

5.遗忘的定时器

其实定时器也是平时很多人会忽略的一个问题,比如定义了定时器后就再也不去考虑清除定时器了,这样其实也会造成一定的内存泄漏。来看一个代码示例:

<button>开启定时器</button> <script> function fn1() { let largeObj = new Array(100000) setInterval(() => { let myObj = largeObj }, 1000) } document.querySelector('button').addEventListener('click', function() { fn1() }) </script> 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

这段代码是在点击按钮后执行fn1函数,fn1函数内创建了一个很大的数组对象largeObj,同时创建了一个setInterval定时器,定时器的回调函数只是简单的引用了一下变量largeObj,我们来看看其整体的内存分配情况吧:

img

按道理来说点击按钮执行fn1函数后会退出该函数的执行上下文,紧跟着函数体内的局部变量应该被清除,但图中performance的录制结果显示似乎是存在内存泄漏问题的,即最终曲线高度比基准线高度要高,那么再用Memory来确认一次:

img

在我们点击按钮后,从动态内存分配的图上看到出现一个蓝色柱形,说明浏览器为变量largeObj分配了一段内存,但是之后这段内存并没有被释放掉,说明的确存在内存泄漏的问题,原因其实就是因为setInterval的回调函数内对变量largeObj有一个引用关系,而定时器一直未被清除,所以变量largeObj的内存也自然不会被释放

那么我们如何来解决这个问题呢,假设我们只需要让定时器执行三次就可以了,那么我们可以改动一下代码:

<button>开启定时器</button> <script> function fn1() { let largeObj = new Array(100000) let index = 0 let timer = setInterval(() => { if(index === 3) clearInterval(timer); let myObj = largeObj
            index ++ }, 1000) } document.querySelector('button').addEventListener('click', function() { fn1() }) </script> 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

现在我们再通过performancememory来看看还不会存在内存泄漏的问题

  • performance

img

这次的录制结果就能看出,最后的曲线高度和初始基准线的高度一样,说明并没有内存泄漏的情况

  • memory

img

这里做一个解释,图中刚开始出现的蓝色柱形是因为我在录制后刷新了页面,可以忽略;然后我们点击了按钮,看到又出现了一个蓝色柱形,此时就是为fn1函数中的变量largeObj分配了内存,3s后该内存又被释放了,即变成了灰色柱形。所以我们可以得出结论,这段代码不存在内存泄漏的问题

简单总结一下: 大家在平时用到了定时器,如果在用不到定时器后一定要清除掉,否则就会出现本例中的情况。除了setTimeoutsetInterval,其实浏览器还提供了一个API也可能就存在这样的问题,那就是requestAnimationFrame

总结

在项目过程中,如果遇到了某些性能问题可能跟内存泄漏有关时,就可以参照本文列举的5种情况去排查,一定能找到问题所在并给到解决办法的。

虽然JavaScript的垃圾回收是自动的,但我们有时也是需要考虑要不要手动清除某些变量的内存占用的,例如你明确某个变量在一定条件下再也不需要,但是还会被外部变量引用导致内存无法得到释放时,你可以用null对该变量重新赋值就可以在后续垃圾回收阶段释放该变量的内存了。

转自:csdn博客 作者:「零一」

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

app界面赏析 ——— 北京蓝蓝设计 移动端UI设计资源分享(十六)

前端达人

移动互联网的迅速崛起,让移动网页,移动客户端越来越重要,客户端的页面设计也是一门很大的学问。科技迅速发展的今手机屏幕的尺寸越来越放大化,但却始终 很有限,因此,在APP的界面设计中,精简是一贯的准则。这里所说的精简并不是内容上尽可能的少量,而是要注重重点的表达。在视觉上也要遵循用户的视觉逻 辑,用户看着顺眼了,才会真正的喜欢。


接下来为大家分享六款精美的app UI设计案例:

WechatIMG1639.jpegWechatIMG1640.jpegWechatIMG1641.jpegWechatIMG1642.jpeg

--手机appUI设计--

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



  更多精彩文章:

       手机appUI界面设计赏析(一)

       手机appUI界面设计赏析(二)

       手机appUI界面设计赏析(三)

       手机appUI界面设计赏析(四)

       手机appUI界面设计赏析(五)

       手机appUI界面设计赏析(六)

       手机appUI界面设计赏析(七)

       手机appUI界面设计赏析(八)

       手机appUI界面设计赏析(九)

        手机appUI界面设计赏析(十)

       手机appUI界面设计赏析(十一)

       手机appUI界面设计赏析(十二)

        手机appUI界面设计赏析(十三)

       手机appUI界面设计赏析(十四)

       手机appUI界面设计赏析(十五)

SEO为什么见效慢?

seo达人

 

SEO为什么见效慢?很多刚刚接触seo优化的人,都会希望赶快见到效果,在对网站进行优化的过程中感到着急和焦虑,这可以说是很多新手都会遇到的问题,今天小编就来聊聊这个问题。希望可以帮助各位新手正确的去了解SEO,并及时调整seo策略。也可以帮助SEO人员在一种正确的环境中扩展SEO的工作。

SEO脱离不了的规则

很多新手会觉得SEO是一种”高大上“的技术,其实SEO并不是一种神技。想要做好SEO,要么就得勤劳运营网站和靠时间熬,要么就是得花钱砸进去。并没有太多其他的途径了。

搜索引擎算法发展趋势之一,就是用户体验,你做得好了,那么搜索引擎就会自然而然的给你推荐到首页了。如果一个网站突然采集500万数据导入网站,马上获得300万日IP;一个网站突然增加20万条外链接,搜索一个关键词,马上获得第一,那么你觉得显示吗?如果真是这样,那这个游戏,我们还玩的下去吗?

SEO人员所做的工作调整,都需要等待搜索引擎算法的时间检验,之后才能见到反应变化。早期搜索引擎算法不完善的时候,确实存在很多机会,但这些不足随着搜索引擎算法的完善,大都被秋后算账了。老话说:出来混,总是得还的。

SEO是最有价值的营销方式

SEO是互联网最有价值的营销方式,但SEO跟那种创意营销不一样。创意营销可以瞬间引爆,一个创意好不好,不需要什么时间检验。市场在2天时间可以给这个创意一个反馈。

SEO可以让网站在搜索引擎上获得排名和流量。从营销推广的渠道上来说,SEO是值得选择的一种市场营销推广方式。一个方面是网站培养起来了的话,营销比较可持续,有基础;第二个搜索引擎的效果精准性也高;第三个,搜索引擎上的潜在客户群体最多;第四个,信息一体化,找服务,找口碑等,都是通过搜索。

小编也见到过很多网站就是通过SEO的方式把项目做起来的。但这背后的投入,少说从几十万到几百万的投入不等,甚至也有亏本的情况。

搜索引擎的流量早不是免费的流量。互联网流量的成本已经很贵了,各种隐性成本的投入,就算是SEO,也需要其他资源的投入才能把SEO做好。已经不是那种单纯靠SEO人员做一些站内调整,内容就能够获得流量的阶段了。

能否做到搜索引擎第一位?

很多老板,在招聘SEO人员的时候,都会问:”能不能做到百度第一位?“甚至很多人会觉得,SEO人员不能做第一位就不会做SEO了,这个问题这里也说下。

产品和服务型的业务网站很难跟资讯网站竞争。除了因为是资讯型网站的内容和规模更大更丰富外。也还需要考虑用户的需求,用户搜索一个行业词,更大可能性是想了解行业动态,而不是找行业里面的服务商家。除非你整个行业就是一个服务行业,没有资讯的。

排除掉百度官方的排名,理论上说要争第一,是有可能性的。所以问SEO人员能不能做到第一。应该是问投入,不是问技术。那你就加大投入。但考虑搜索引擎毕竟不是自己家的,所以,能第一页就很好了。能精确做到第几位,没人敢保证的,因为搜索引擎不是SEO人员开,能做到首页已经很不错了,百度自然排名是会有波动的。

最后给老板们一句建议:理解SEO不需要从技术角度去理解,跟SEO人员沟通就直接从资源投入角度沟通,就好。说到底,还是投入的问题。

给SEO人员的建议:SEO人员也不需要自视甚高,回归本源,SEO就是一个工种之一。SEO要不起高价,除非你能碰到好项目,好老板,敢孤注一掷在SEO。而正好,你有这个能力。

 

SEO为什么见效慢?很多刚刚接触seo优化的人,都会希望赶快见到效果,在对网站进行优化的过程中感到着急和焦虑,这可以说是很多新手都会遇到的问题,今天小编就来聊聊这个问题。希望可以帮助各位新手正确的去了解SEO,并及时调整seo策略。也可以帮助SEO人员在一种正确的环境中扩展SEO的工作。

SEO脱离不了的规则

很多新手会觉得SEO是一种”高大上“的技术,其实SEO并不是一种神技。想要做好SEO,要么就得勤劳运营网站和靠时间熬,要么就是得花钱砸进去。并没有太多其他的途径了。

搜索引擎算法发展趋势之一,就是用户体验,你做得好了,那么搜索引擎就会自然而然的给你推荐到首页了。如果一个网站突然采集500万数据导入网站,马上获得300万日IP;一个网站突然增加20万条外链接,搜索一个关键词,马上获得第一,那么你觉得显示吗?如果真是这样,那这个游戏,我们还玩的下去吗?

SEO人员所做的工作调整,都需要等待搜索引擎算法的时间检验,之后才能见到反应变化。早期搜索引擎算法不完善的时候,确实存在很多机会,但这些不足随着搜索引擎算法的完善,大都被秋后算账了。老话说:出来混,总是得还的。

SEO是最有价值的营销方式

SEO是互联网最有价值的营销方式,但SEO跟那种创意营销不一样。创意营销可以瞬间引爆,一个创意好不好,不需要什么时间检验。市场在2天时间可以给这个创意一个反馈。

SEO可以让网站在搜索引擎上获得排名和流量。从营销推广的渠道上来说,SEO是值得选择的一种市场营销推广方式。一个方面是网站培养起来了的话,营销比较可持续,有基础;第二个搜索引擎的效果精准性也高;第三个,搜索引擎上的潜在客户群体最多;第四个,信息一体化,找服务,找口碑等,都是通过搜索。

小编也见到过很多网站就是通过SEO的方式把项目做起来的。但这背后的投入,少说从几十万到几百万的投入不等,甚至也有亏本的情况。

搜索引擎的流量早不是免费的流量。互联网流量的成本已经很贵了,各种隐性成本的投入,就算是SEO,也需要其他资源的投入才能把SEO做好。已经不是那种单纯靠SEO人员做一些站内调整,内容就能够获得流量的阶段了。

能否做到搜索引擎第一位?

很多老板,在招聘SEO人员的时候,都会问:”能不能做到百度第一位?“甚至很多人会觉得,SEO人员不能做第一位就不会做SEO了,这个问题这里也说下。

产品和服务型的业务网站很难跟资讯网站竞争。除了因为是资讯型网站的内容和规模更大更丰富外。也还需要考虑用户的需求,用户搜索一个行业词,更大可能性是想了解行业动态,而不是找行业里面的服务商家。除非你整个行业就是一个服务行业,没有资讯的。

排除掉百度官方的排名,理论上说要争第一,是有可能性的。所以问SEO人员能不能做到第一。应该是问投入,不是问技术。那你就加大投入。但考虑搜索引擎毕竟不是自己家的,所以,能第一页就很好了。能精确做到第几位,没人敢保证的,因为搜索引擎不是SEO人员开,能做到首页已经很不错了,百度自然排名是会有波动的。

最后给老板们一句建议:理解SEO不需要从技术角度去理解,跟SEO人员沟通就直接从资源投入角度沟通,就好。说到底,还是投入的问题。

给SEO人员的建议:SEO人员也不需要自视甚高,回归本源,SEO就是一个工种之一。SEO要不起高价,除非你能碰到好项目,好老板,敢孤注一掷在SEO。而正好,你有这个能力。

 

文章来源:SEO

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

 

搜索引擎排名优化的五种技巧

seo达人

 

搜索引擎排名优化又称为SEO,是一种利用搜索引擎规则来达到自然排名的一种方法。随着互联网的普及,现在有很多人开始学习SEO排名了,虽然现在有很多搜索引擎,如百度、360搜索、搜狗等搜索引擎,但是在国内做网站优化的时候,主要还是针对百度优化来做,毕竟百度是国内的搜索引擎龙头,也深受用户喜爱。今日小编将与您分享五种技巧,帮助新手站长理清整个SEO流程,让新手轻松完成网站SEO优化。

一、搜索引擎优化SEO的步骤。

搜索引擎优化是一项脑力劳动,需要足够的耐心和细心,按照以下6个步骤进行:

1、关键词分析。搜索引擎优化的关键环节就是关键词分析,重点分析关键词搜索量、竞争者分析、关键词布局、关键词与网站关联等内容。

2、网站结构分析。一个合理的网站结构更容易得到搜索引擎的青睐,而亚马逊分类目录更容易得到良好的SEO效果。对网站构架的分析主要是排除网站构架不良设计等问题,一般会采取树型目录结构,优化网站导航和链接的方式来实现。

3、网站目录和网页优化。seo搜索引擎在提升网站主页在搜索引擎排名的基础上,还能提升网站页面访问量和访问量。

4、发布内容,做好内链。由于搜索引擎偏爱定期更新的网站内容,因此如何调整和合理安排网站内容的发布日程也是优秀SEO技术人员必须掌握的重要技能。另外,还要通过合理的链接布局将整个网站有机的串联起来,在这个过程中一般还会展开友情链接工作。

5、与搜索引擎对话。通过搜索引擎看SEO的效果,一般要求SEO技术人员能够熟练掌握集中搜索引擎网站管理工具。

6、网站流量分析。对网站流量进行分析,可以将本次SEO结果作为下一次开展SEO的指导策略支持,这对用户体验的提升也有指导意义。

二、搜索引擎排名seo实用技巧。

第一,优化URL。良好的URL对网站是有好处的。URL深度2最好,权重最高的通常是“首页/栏目/内容”,但“首页/栏目/内容……/栏目/内容”太深了,反而不利于搜索引擎优化。因为随着等级的加深,权重也会随之降低。在一些知名门户网站中,金逸网址导航虽然能为用户提供大量的新闻和数据,但其层次基本上都在3层以内。

第二,标题优化。为了优化网页,首先要实现标题优化。一般会专门用来取网页的第一行字,也就是本网页的标题,一般打开网页后在地址上就能看到行业的标题,可以说SEO优化中的标题是它的工作核心。为了达到标题优化的目的,需要注意以下几个问题:标题要尽量把关键词排在前面,并且要高度概括,但不要随意排列,而是要符合语法结构。

第三,正确使用关键词。关键词是展开SEO实现搜索引擎优化的核心,因此,SEO需要对关键词相关内容进行关注。利用关键词进行SEO工作,首先需要关注客户的需求,根据客户的需要设置关键词;关键词要尽量体现网站的特点和优势,聚合站可以在网站关键词中添加企业品牌、地址等内容,着重突出品牌优势和区位优势。关键词的数量并非越多越好,在使用时,还应注意数量与分布位置、密度等问题。尽量把一个页面的关键词控制在3个以内,把页面的内容围绕关键词展开。

第四,合理使用说明。在页面上,通过简短的描述,搜索引擎可以更好地向访客提供指导。在使用推优网站目录描述时,要注意其中所包含的关键词与内容有很强的相关性,要尽可能简短,要求尽量控制在200个字符内,对标题和未说明的关键词要做补充。

第五,页面元素以文本为主。许多网站的网页上使用了大量的图片和FLASH动画,但MacBook搜索引擎无法识别图片文件所表达的意思,自然无法将这些图片纳入到搜索引擎。所以,在编辑网页内容时,如果可以使用文字说明,尽量不要使用图片的形式。文字内容才是网页内容的主要构成,而其它各种形式的说明则起辅助作用。

第六,优化重复内容。由于搜索引擎对某些重复内容的偏爱程度较低,在网站的分页中容易出现重复。而且还会出现在各栏文章列表中的标题重复问题。对于页面重复问题,可以选择内容页的分页方式,从第二页开始,在其原始标题中插入“第二页”,形成“第二页:文章标题”的格式,以便尽可能避免出现重复问题。

第七,合理搭配网页语言。现在最好的就是采用DIV+CSS,这样不仅更加符合引擎抓取,微页面网站目录也能使网页变得更小。

第八,构建优质外链。站点优化外链建设是必不可少的,也是网站获得高质量投票的重要渠道,一般的外链建设分为友情链接和目录站外链等。

第九,关注SEO的时效性。由于SEO总是处于动态变化之中,用户的关注点也在不断地变化,各种搜索引擎算法每天都在进行调整,搜索排名也自然会发生一些变化。

在seo搜索引擎的排名中优化排名需要一个态度。做到不一定有效果,但不一定没有效果,做SEO优化排名需要坚持不懈的坚持,俗话说,坚持到底就是胜利。

 

文章来源:SEO教程

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

 

我设计的图标明明很精致,可总监还是说不专业?

周周

今天和大家聊一聊设计细节,每个提到的细节你们都能直接拿走,并且在项目中使用。

图标比例保持体量统一

我设计的图标明明很精致,可总监还是说不专业?

这个页面相信大家平时工作中都会做到,有很多图标放在一起,里面可能是一些常用菜单,这个设计有什么问题呢?相信看在这里的小伙伴,脑海里有无数答案?不统一,还是什么?我们来分析下。

我设计的图标明明很精致,可总监还是说不专业?

首先从大家关心的统一性来说,没有任何问题,图形都是在规范的图标栅格里面,也非常的统一,那么问题出在哪里?

我设计的图标明明很精致,可总监还是说不专业?

仔细观察,我们会发现「联系人」和「历史消息」的图标过于饱满,虽然他们尺寸一样,但是比「最近使用」这个图标要大很多,原因是什么呢?因为后面这两个图标从视觉来说他们的重量太重了,所以看起来会比较大。

我设计的图标明明很精致,可总监还是说不专业?

所以今天我们在做设计时候,如遇图标瘦长或者圆形等不够饱满的情况,请酌情将图标撑满像素,来保证整体一致的视觉体量感。

我设计的图标明明很精致,可总监还是说不专业?

如果图标较饱满的情况下,可使用微缩,来保证整体一致的视觉体量感。我们文中案例之所以出现这种情况,是因为没有定义出图形体量大小具体的绘制规则,所以导致图形过于饱满,看起来会显得视觉重量不一致。

我设计的图标明明很精致,可总监还是说不专业?

所以我们第一步,对图形绘制规则进行优化,保证图形在页面中体感一致,我提供了 4 个基础图形绘制技巧和对应的辅助线参考图。

我设计的图标明明很精致,可总监还是说不专业?

所以在实际应用时,可略微在可变范围内微调,对于过于饱满的图形,高度变低时,需要增加宽度来保证视觉重量相等。

我设计的图标明明很精致,可总监还是说不专业?

这样调整后,整体的图标视觉重量就会更加均衡,也会更加规则。所以,今天如果你发现你们产品页面中图标大小体量不一样,或许是因为你忘记对图标体量进行规范。

图标尺寸比例怎么定?

图标我们在界面中使用场景很多,很多时候用大图标,有时候用小图标,我们该如何去定义小图标大小,大图标大小,这是很多同学非常纠结的。有时候就乱定,导致页面没有秩序感。

我设计的图标明明很精致,可总监还是说不专业?

第一步,我们要先去梳理页面场景,看看哪些地方会用到图标,把全部场景列出来。

我设计的图标明明很精致,可总监还是说不专业?

列出来后,我们根据你 APP 设计的最小单元的倍数来定义图标风格,比如支付宝最小单元是 4,所有间距都是 4 的倍数,那么在图标这里,也是同样的原则,全部的图标尺寸,我们根据 4 的倍数去定义几种大小,比如 24X24,32X32,44X44,56X56,72X72 等等,如果页面中不够用,同样的在 4 的倍数基础上进行新增。

图标放大后,线条粗细该如何定义?

我相信大家都有这种情况,一组图标在使用时候,会出现在各个场景,这个时候需要放大,甚至缩小,但是不知道放大后图标粗细该如何确定,直接放大,直接缩小会出现图标的细节粗细有问题,那么这种时候该如何处理?

我设计的图标明明很精致,可总监还是说不专业?

直接放大缩小,图标粗细没有任何说法,而且会显得比例非常奇怪,如何去解决这个问题?

我设计的图标明明很精致,可总监还是说不专业?

第一步:我们需要确定图标大小和线条比例,以支付宝为例,首先要确定图标大小和线条粗细比例为 14:1。当然每个比例是不一样的,你可以根据你们产品的调性去决定,如果你图标比较细,你可以设定为 10:1,这些都没有固定标准。

我设计的图标明明很精致,可总监还是说不专业?

这样的话,假如你图标需要设计一个 140X140 的大小,那么你的图标粗细就应该是 10px。

我设计的图标明明很精致,可总监还是说不专业?

如果你图标是 112 尺寸大小,那么按照 14:1 的比例,那么你图标线条粗细就应该是 8px,以此推动,通过这样的方式来保证图形的一致性和稳定性。

最后

以上三个小点,是绝大多设计师忽略掉的,也是设计中不太注意的细节,但是设计的专业程度往往就是由这些细节组成,今天这 3 个技巧,看会了之后,你就可以直接在项目中去运用。





文章来源:优设网       作者:我们的设计日记



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

5G与AI的加持,智能家居能否“去伪存真”?

雪涛

编辑导读:看过《钢铁侠》电影的朋友一定对“贾维斯”不陌生,这个智能管家是很多人的梦想,也是现在智能家居发展的方向。在5G和AI的加持下,智能家居的发展状况如何?本文作者对此进行了分析,希望对你有帮助。

“贾维斯,你在么?-我随时待命” ——只闻其声,不见其物的贾维斯,相信看过电影《钢铁侠》的朋友对它并不陌生。像“钢铁侠机甲的大脑,独立思考、处理各项事务,超级软件、智能管家”等等,是它留给观众的印象。

但其实,贾维斯在影片中塑造的形象最贴近钢铁侠机甲的大脑,这也是我们对它最深刻的印象。不过,贾维斯以智能家居的形态率先亮相,相信很多观众会被那种智能的体验所吸引。

贾维斯的出场方式给未来智能家居留下了很大的遐想,可如今的智能家居是否像荧幕上那般智能、令人向往?

要想回答这个问题,我们得知道,当下谈论智能家居的我们究竟在谈什么,是谈智能家居带给我们生活方式的变革,还是谈智能家居根本不是生活的必需品?智能家居的“真与伪”,这个话题似乎进行得如火如茶。

那一起聊聊这个话题吧,本文将围绕,[5G与AI的加持,智能家居能否“去伪存真”?]这个主题,做出一些思考和解析。

对于该主题,将从以下四个方面展开,并一一解析。

  1. 一伪,伪真实:“贾维斯”(智能管家)走出荧幕,并不真实。
  2. 二伪,伪智能:家居产品联网,并不智能。
  3. 三伪:伪需求:达不到预期的家居产品,并不需要。
  4. 真,有价值:真正的智能家居是可以给家庭创造价值的。

一、“贾维斯”走出荧幕,并不真实

本文开头提到《钢铁侠》中的贾维斯,是一个科幻角色,更是一种科技。不过,也正因影片留给我们一些难以触及的画面,所以对于科幻影视所塑造的科技,我们大都抱以不真实的态度看待,何以想象这些角色(科技)就如剧中所现(非简单的外观IP化)地走出荧幕,融入到真实生活。

时势造英雄,Facebook的创始人扎克伯格,或是出于个人兴趣,亦或是对商业的探索,于2016年打造出了人工智能管家——Jarvis(贾维斯),这也似乎预示着,科幻角色走不出荧幕的说法即将破灭。

但,扎克伯格给我们呈现的Jarvis,谈不上是钢铁侠中的贾维斯原型,两者并没有一些很吻合的地方,似乎更像智能音箱是一款家庭语音助手。然而,这也印证了“钢铁侠中的贾维斯走出荧幕并不真实”的说法是正确的。

或许仅凭一个“失败”的案例不足以证实以上的说法,那我们可以试着从这几方面来佐证。

第一,我们熟知贾维斯是具备“自然交流”的能力,这种自然交流的能力并不是现在NLP能实现的对话,它的交流是自然的、不需唤醒、不需设计槽位,它不像机器的语音对话只能交互、回答一些浅层的问题,只能基于训练过的语料做出回复。

它更像人一样可以理解基础、复杂的每一句话,做到精准的话语意图识别,思考反馈。

如,钢铁侠:信不过别人,就先放我自己服务器上——贾维斯:这次算秘密计划吧?

可惜,让机器像人一样思考和理解是目前的技术瓶颈,是弱人工智能所不能企及的。

第二,让我们觉得有意思的是,贾维斯提供了全息影像的人机交互方式,虽然这种交互方式不如语言交流来得便捷,高效。但,也正由于一些信息是没法通过语音表现,而又不得不处理这些信息时,全息影像的隔空控制是摆脱物理控制、屏幕控制乃至新型的触控投影的最佳方式。

全息影像,也就是增强现实(AR)的结果,以现阶段的技术实现来看,AR所能达到的更多是呈现一种沉浸式的画面体验。

最后,也就是贾维斯最为智能的地方,漫威的影迷肯定知道,从钢铁侠的系列更新,到复仇者联盟的系列更新,钢铁侠一次比一次厉害,也许这是剧情所要。但,不能忽略的是,钢铁侠的强化,其实是贾维斯自我进化的结果。

“自我进化”说起来或许比较空旷。换种说法,我们看到的贾维斯在接收钢铁侠的命名后,不用钢铁侠的操作,就能自行的处理钢铁侠的各项命令。

例如:它能创造出另一个程序来自动的组装钢铁侠铠甲,它能自行设计铠甲及铠甲模型,它能自行处理“结冰”的问题等

而这种智能就像人在做事一样,不需要外在的干预就能独立完成。或许,你会觉得当前利用神经网络的深度学习也具备自行处理信息并给出反馈的能力。

但其实,深度学习是基于特定场景才能实现的自行处理,更何况深度学习是需要事先采集无数的数据,反复的训练后,从而形成一系列规则。然而,对某件事进行处理前还得有触发条件(规则内的数据),才能做出反馈(非技术者的理解,可能存在错误)。

例如:现在著称具有创造性的AI海报设计,就是利用深度学习的结果。它首先需要学习无数张海报,才得以知道海报美与丑的规则,还需要学习无数组海报的标签,才能理解海报内容与含义规则。

所谓的应用,我们也知道,当我们让它设计一张符合“父亲节”主题的海报时,系统就会根据规则输出设计。难一点的就是需要先理解输入的主题是何含义,才能输出符合的设计。

所以,以目前的深度学习实现结果来看,拥有创造力,自我进化,自主意识的贾维斯并不容易。

基于此,我们可以清楚,原型的贾维斯在弱人工智能时代较难走出荧幕。读到此,或许你会疑惑,走不出荧幕的角色跟智能家居有何关系?智能家居不应该像《钢铁侠》贾维斯开场秀那般能自动报时、自动开启窗帘就可以了吗?智能家居拥有像贾维斯那般能耐有何用途?

我想,这就是智能家居的“智能”给我们造成的潜意识误判,我们总觉得每一样产品要是具备联网、自动、传感器监测、交互控制就算智能了,由此众多家居产品就自然被冠以智能的名号。

所以,我们就觉得智能家居并不需要像贾维斯一样以人工智能管家身份存在。但想想,缺失人工智能技术赋能的家居产品,是真的智能吗?真的会变革家庭生活方式?

奈何于只要人工智能(AI)对某个行业或某个场景成功赋能应用,就“称得上”变革、颠覆。似乎颠覆是AI的一种标配。

不过从金融、交通、医疗、安防、教育等领域都有AI成功应用的典例来看,“颠覆”更是AI的驱动力,如今,处处是AI的影子。

AI在这些领域的应用好像都有一个共同点,那就是更好服务于人。于是我不禁就想,人生活于家庭,那如果所有服务于人的场景都可以融合到家中,那岂不是要颠覆社会呀。虽然,只是想想,但或许这才是人工智能的一个终极目标、是人工智能最大的应用场景。

文章来源:人人都是产品经理  作者:林胖

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

如何为老年人设计?

雪涛


随着移动互联网的发展与普及,人们的生活方式发生了巨大的变化。当我们足不出户便可以享受到香喷喷的美食、相隔千里也能有面对面的交流体验时,大多数老年人却被关在了数字世界的大门之外:不会线上挂号、打不到网约车、因不会操作健康码而被公交车拒载……这样的事件屡见不鲜,本应同样享受互联网便利的群体,近几年来却处处受阻。

数据显示,2020 年我国老年人口达到约 2.43 亿,占比 18%,50 岁以上的网民群体占比 22.8%,数量不可小觑。如何打破互联网产品的使用壁垒,让老年人也能自如地参与到互联网生活中,是我们设计师应当肩负的社会责任。

老年人的心智特征

贝壳经纪人作为社区的贴心服务者,经常为社区内的老年人提供帮助,解决手机使用问题。

如何为老年人设计?来看贝壳的实战经验总结

△ 图 1 经纪人志愿者在社区帮助老人学习使用手机

我们通过观察老年人使用手机的过程,并与具有丰富帮助经验的经纪人深入沟通,发现老年人使用互联网产品存在的主要障碍如下:

如何为老年人设计?来看贝壳的实战经验总结

△ 图 2 老年人使用互联网产品的主要障碍

1. 手势操作困难

由于骨骼肌老化,老年人动作幅度减小、操作的精细程度降低,他们在使用手机等小巧的设备时难以精准完成手势操作,很容易出现误触现象。

皮肤老化同样影响了老年人对手机的使用,细胞水分减少,皮肤褶皱加深,表皮干燥以及指纹的磨损,使得在使用触屏时灵敏度下降,即便手势正确,也难以顺利完成操作目标。

2. 信息接收受阻

老年人的感官能力明显下降。40 岁以后人的眼部开始老化,对光的敏感度以及对色彩的分辨能力下降,更容易炫光,难以识别蓝紫色为代表的冷色调颜色;听觉的灵敏度可能会减少 50%之多,难以分辨不同的声音。我们认为毫无阅读压力的界面,在老年人眼中可能是模糊一片;我们听起来特色鲜明的提示音,甚至都没有传入到老年人的耳朵里;让我们感到新奇的震动触感,老年人可能毫无感觉。

3. 界面理解障碍

老年人很难理解互联网产品中的层级关系,以及元素间的关联关系,这导致他们经常不知道自己在操作哪一步骤,更难以预期到下一步会发生什么。另一方面,老年人很难通过归纳概括信息的特点来区分不同元素的功能和属性,比如,对调整铃声、连接网络等“设置”属性的功能没有统一的概念,想要调整时不知道去哪里操作。

4. 容易情绪挫败

由于神经系统退化,老年人对情绪的控制能力减弱,容易情绪低落。在使用手机受挫时,他们常会感到无助和沮丧,持续的负向反馈易降低老年人使用手机的意愿。加之屡次出现的互联网诈骗案件,老年人对手机安全问题更加顾虑,难以分辨真假信息,便不愿尝试不熟悉的功能。

洞察到以上问题及原因,我们分别从设计、功能、公益 3 个角度出发进行探索和实践,为帮助老年人更顺畅地使用互联网产品添一把力。

设计适老:更自如的互动

设计应当顺应老年人的生理和心理特点,并给予更多的人文关怀与鼓励。为此,我们提出了以下设计策略:

如何为老年人设计?来看贝壳的实战经验总结

△ 图 3 适老化设计策略

1. 简化手势,提高操作成功率

研究表明,老年人更习惯单指操作,点击、上下滑动、放大缩小是老年人可以清晰理解并熟练操作的手势,交互中应尽量以这些手势为主,需避免四指滑动、长按等复杂手势。对于老年人来说,动作的简单易学性、高效性是最重要的因素,远高于隐喻性、趣味性等。

如何为老年人设计?来看贝壳的实战经验总结

△ 图 4 老年人常用手势

2. 优化视觉表现,提升界面阅读体验

颜色:

参考《Web 内容无障碍指南》中提供的指导意见,应使用 AA 级或 AAA 级的对比度标准:对比度(AA 级),文本的视觉呈现以及文案图像对比度至少要有 4.5:1,大文本至少有 3:1 的对比度;对比度(AAA 级),文本的视觉呈现以及文案图像对比度至少要有 7:1,大文本至少有 4.5:1 的对比度。有很多在线工具可以帮助检测颜色对比度以及是否达标,如 Contrast Ratio 在线检测工具:https://contrast-ratio.com/

如何为老年人设计?来看贝壳的实战经验总结

△ 图 5 Contrast Ratio 在线检测工具页面

界面中,组件与文本对比度的标准是不同的,文本比组件需要更高的对比度。

避免使用蓝色、紫色等冷色调。随着年龄增长,人类的晶状体会变黄变浑浊,导致选择性的吸收蓝光。所以蓝色色调在老年人眼中可能会出现模糊褪色的视觉效果,从而降低元素在界面中的对比度。

颜色不应该用作传达信息、指示操作或区分元素的唯一视觉手段,需要用额外的文字提示,如:

如何为老年人设计?来看贝壳的实战经验总结

△ 图 6 颜色传达示例说明

字体:

使用字体时,最小采用16像素,需要对主要信息进行加粗处理,并支持用户可自由调节字体大小的能力,我们建议使用屏幕可读性好的无衬线字体。

图形:

首先需注意增加图标和按钮的尺寸大小。其次,应尽量采用拟物化、通用化的设计,图标语义尽可能具有老年人的生活时代特征,符合他们的知识经验。最后,建议搭配文字描述,方便老年人更清晰、快速理解。

如何为老年人设计?来看贝壳的实战经验总结

△ 图 7 图形示例说明

3. 采用多通道感知,强化信息传递

引入更多维度的信息通道,能够帮助老年人高效地接收信息。听觉通道是仅次于视觉的最常使用的感觉通道,在设计时可考虑:

  • 适当增大音量,同时处理掉环境声音,使声音更加清晰;
  • 增加声音反馈,例如操作正确时给出正向的提示音;
  • 适当加入语音交互的形式,帮助老年人更简便地进行信息输入;

还可以通过点击时产生的按压触觉来增强感知,更多的触觉设计能够帮助老年人获得更加明显的反馈。

4. 层级扁平化,降低理解成本

界面的扁平化可分为 2 个方向:一是视觉层级的扁平化,弱化视觉效果,突出功能主义,以要表达的内容或引导的操作为核心,尽可能减少干扰信息;二是信息层次的扁平化,建议页面层级最多不要超过 2 级,缩短用户与目标信息之间的触达路径。

在流程设计时,可将复杂任务拆分为目标清晰的子步骤,每一步骤中只让用户完成 1 项核心操作,并提供清晰的反馈,来提醒用户要实现的最终目标。如滴滴的关怀版中对打车流程的精简设计,很值得参考。

如何为老年人设计?来看贝壳的实战经验总结

如何为老年人设计?来看贝壳的实战经验总结

△ 图 8 滴滴适老化设计

5. 信息透明,减轻心理负担

我们在做产品设计时,还要尽可能的坚持正念,尤其是面向老年群体时,需透明化个人信息的使用方式、强化危险告知,杜绝引诱式的广告、提示等,减少干扰,避免利用老年人的弱点谋取利益,帮助他们在纷繁复杂的互联网世界中不轻易受伤害。另一方面,建议使用鼓励式的反馈设计,操作过程中给老年人更正向的情感激励,提升使用信心。

设计探索:更包容的体验

基于以上设计策略,我们试着在贝壳找房首页、房源详情页这 2 个核心页面进行了适老化设计改造,其中老年版首页已上线,欢迎大家在个人中心的设置里切换体验。

1. 精简功能,强化视觉元素:

老年关怀版的首页中,我们只保留了买卖租赁最常使用的功能,同时放大入口的点击区域,确保老年人也可以很快的发现目标功能并且顺畅的点击。

如何为老年人设计?来看贝壳的实战经验总结

△ 图 9 首页球区设计

2. 多通道信息传达与交互:

房源详情页承载了非常多的重要信息,尤其是头部。我们着重突出视频讲房功能,让老年人可以更加直观地接收房源信息,避免阅读大量文字,降低理解负荷。同时,大面积的分段视频按钮,可点击快速切换到感兴趣的内容模块,增强老年人的操作掌控感。

如何为老年人设计?来看贝壳的实战经验总结

△ 图 10 房源详情页头部设计

房源详情页底部增加语音提问按钮,吸底展示,方便老年人使用语音直接表达自己的诉求,信息以对话的形式直接地传递给用户,更符合老年人的交流习惯。

如何为老年人设计?来看贝壳的实战经验总结

△ 图 11 房源详情页底部设计

3. 信息适老化:

结合老年人在房产交易中的特点,我们精简了详情页中的信息,突出房源的养老宜居特点、与子女住所距离等老年人重点关注的内容。

如何为老年人设计?来看贝壳的实战经验总结

△ 图 12 房源详情页信息设计

适老化设计后的房源详情页整体效果如下(此版仅由设计探索产出,若上线使用还需深入打磨):

如何为老年人设计?来看贝壳的实战经验总结

△ 图 13 老年版房源详情页设计

功能适老:更贴心的使用

在调研过程中我们发现,老年群体正在给火热的二手房市场添柴加火,上海链家中,单 60 岁以上的购房者成交占比就达到 6.7%,53-62 岁成为置换客群的第二大年龄高峰。

如何为老年人设计?来看贝壳的实战经验总结

△ 图 14 2020 年上海市老年人购房情况

老年人的改善需求强烈,在选房时主要考虑与子女居所的距离、房屋本身的优质程度,重点关注:低楼层住宅、电梯房、小区环境、周围医院、小区的适老设施以及是否配备老年活动中心等信息。老年群体通常委托子女处理相关事务,但又有参与选房、表达意见的诉求,有部分的老年人会通过贝壳、链家 App 来了解房源信息。

因此,我们思考:如何通过更好的功能设计来满足老年人这类特征明显、诉求明确的客户群体?比如,通过增加老年选房专题或调优房源展示策略,优选出近医院、有电梯、便老设施齐全的房源和小区,方便老年人快速找到心仪的房源;再比如,增加设置子女小区功能,以此为基准向老年用户推送相关房源;又比如,优化家庭选房功能,针对性设计分享房源给父母的环节……在功能设计方面,我们还会继续深入探索,给老年客户一个更加贴心满意的购房旅程。

结语

当我们在享受互联网带来的便捷生活时,有一个数量不断增长的群体成为了“边缘人”。

设计应当是民主的,是包容的,是具有人文关怀精神的。我们在日常产品设计中,需要有意识的考虑到老年人对于信息的接受、理解、记忆和行为的能力差异,在设计表现和产品功能上更加包容这个群体的特征,让老年人同样可以感受科技为生活带来的美好变化。

虽然我们在尽力践行着适老化研究,但依然还不够。老去,是所有人都要面对的问题,我们终将会成为这个群体。适老化设计,应该是适合所有人的设计,也应当引起所有设计师的关注。

心存善念,尽力而为。


文章来源:优设  作者:贝壳KEDC

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


日历

链接

blogger

蓝蓝 http://www.lanlanwork.com

存档