Experience10  Creative, Develop, UX, Wireframe, Productivity

@allan

面向对象CSS(OOCSS)

本文介绍面向对象的CSS(object oriented CSS)以及如何使用种技术提高性能以及可维护性。

OOCSS的原则

与其它面向对象编程的方法一样,OOCSS的目标在于提高代码的复用性,最终,更快以及更高效的进行开发,更方便的添加样式及维护样式。

OOCSS

OOCSS GitHub的维基上, OOCSS简述为二条重要原则。

将结构从样式(Skin)中分离

在大部分网页设计中,可视的元素往往会重复使用,如颜色、渐变、边框样式。同时也有一些不可视的元素(如“结构”)也同样在重复的使用着。当我们抽象这些元素的时候,这些元素往往可以能更多的重复使用,在下面的代码中我们将做一些解释。

以下是一套典型未应用任何OOCSS原则的样式代码:

#button {
	width: 200px;
	height: 50px;
	padding: 10px;
	border: solid 1px #ccc;
	background: linear-gradient(#ccc, #222);
	box-shadow: rgba(0, 0, 0, .5) 2px 2px 5px;
}
#box {
	width: 400px;
	overflow: hidden;
	border: solid 1px #ccc;
	background: linear-gradient(#ccc, #222);
	box-shadow: rgba(0, 0, 0, .5) 2px 2px 5px;
}
#widget {
	width: 500px;
	min-height: 200px;
	overflow: auto;
	border: solid 1px #ccc;
	background: linear-gradient(#ccc, #222);
	box-shadow: rgba(0, 0, 0, .5) 2px 2px 5px;
}

三个不同的页面组件使用不可复用的ID进行区分,但同时他们之间的确存在一些可以共用的样式代码。
如果经过简单的思考的话,我们可以将共用的代码部分抽象出来,如下所示:

.button {
	width: 200px;
	height: 50px;
}
.box {
	width: 400px;
	overflow: hidden;
}
.widget {
	width: 500px;
	min-height: 200px;
	overflow: auto;
}
.skin {
	border: solid 1px #ccc;
	background: linear-gradient(#ccc, #222);
	box-shadow: rgba(0, 0, 0, .5) 2px 2px 5px;
}

现在所有元素使用class定义,同时可复用的部分我们定义为”skin”,这样代码中就没有重复的部分。我们只需要给所有元素都加上skin的class即可。这便是简单的抽象的例子,但还未能做到“更少代码,更多的可能复用”的层次。

内容与容器的分离

以下为原始代码:

#sidebar h3 {
	font-family: Arial, Helvetica, sans-serif;
	font-size: .8em;
	line-height: 1;
	color: #777;
	text-shadow: rgba(0, 0, 0, .3) 3px 3px 6px;
}

代码指定所有的sidebar下的h3的样式。但如果我们要对另一个元素下的所有h3样式也使用同样的代码该如何处理?而且如果在另一个元素下,我们还需要有一些不同的字号大小和文字阴影效果的例外 情况呢?
以下是我们可能会修改后的代码:

#sidebar h3, #footer h3 {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 2em;
	line-height: 1;
	color: #777;
	text-shadow: rgba(0, 0, 0, .3) 3px 3px 6px;
}
#footer h3 {
	font-size: 1.5em;
	text-shadow: rgba(0, 0, 0, .3) 2px 2px 4px;
}

或者我们会改成这样子(更糟):

#sidebar h3 {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 2em;
	line-height: 1;
	color: #777;
	text-shadow: rgba(0, 0, 0, .3) 3px 3px 6px;
}
/* other styles here.... */
#footer h3 {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1.5em;
	line-height: 1;
	color: #777;
	text-shadow: rgba(0, 0, 0, .3) 2px 2px 4px;
}

我们在不经意间造成了大量的代码重复。如果基于OOCSS思想,我们需要有更多的超前思维去抽象公用的元素,并将这些元素分离到不同的模块或对象中,然后不停的重用。
上面的代码被指派到了特定的对象中,如sidebar或footer。这使得重用极为困难。我们应该保证我们的样式不应当基于任何明确的元素存在,这样我们才可以在文档中随处使用。

真实案例


先看看原始代码:

.header-inside {
	width: 980px;
	height: 260px;
	padding: 20px;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
}

只有少数样式只针对header,在部分可以重用给其它元素,因此我们抽象后的样式结构如下:

.globalwidth {
	width: 980px;
	margin: 0 auto;
	position: relative;
	padding-left: 20px;
	padding-right: 20px;
	overflow: hidden;
}
<p>.header-inside {
	padding-top: 20px;
	padding-bottom: 20px;
	height: 260px;
}

globalwidth这个类的样式将被用于其它可复用的区域,如下代码所示:

<header>
	<div class="header-inside globalwidth">
	</div>
</header>
<div class="main globalwidth">
</div>
<header>
	<div class="footer-inside globalwidth">
	</div>
</footer>

有些人可能认为这样使得html的标记变得混乱,违备了把标记(markup)从表现(presentation)中分离的原则。但不可否认的是这样能更快的去使用和修改公用的样式。

The Media Object

一位有关OOCSS的先行者Nicole Sullivan。她创建了一个称为media object 的开源代码, 如她的博文中所说, 这套代码可以帮你节省上百行的代码.

OOCSS

Media object是一个很好的OOCSS的例子,他使得任何需要做图片在做,内容在右的这种类型的容器排版的问题。

OOCSS的好处

更快的载入

更多可复用的代码意味着更少的文件尺寸,使得加快网页的载入速度。

的确会造成HTML中的标记增加。但相对来说是一种值得使用的代价。

可维护的样式

以模块的形式去维护内容,而不是不停的增加样式

如果想得够全面的话,在构建新页面的时候更快捷

值得注意的地方

可以继续使用ID

OOCSS的原则只是尽量不要使用ID来做为选择符,其它情况下应该继续使用

小型项目也许不需要使用OOCSS

小项目使用OOCSS也许没有太大必要,必尽速度为王

具体实现上的原则

  • 不要使用递进式选择符(如 .sidebar h3)
  • 不要使用ID作为样式选择符
  • 不要将样式置在对象元素上(如 div.header)
  • 除非有必要,不要使用!important
  • 使用 CSS Lint 检查你的样式 (and know that it has options and method to its madness)
  • 使用 CSS grids

跟进作者Nicole Sullivan

作者网站Nicole Sullivan.

基它一些作者之前有关OOCSS的演讲内容和资料

原文出处:an introduction to object oriented css – OOCSS

简要翻译:Experience10.com

December 21st, 2011 at 10:00 am by . 0 Comments
filed under Front End

UX设计师礼物包2011

这里整理出了2011年与UX有关的大全,包括软件,免费或收费的。可下载的资源,还有T恤书籍等内容,有兴趣的可以下载。而且在原贴中还能找到10,09,08等其它过往年份整理的UX资源:

http://www.nickfinck.com/blog/entry/gifts_for_user_experience_geeks_2011/

December 14th, 2011 at 6:19 pm by . 0 Comments
filed under UX & Design

关掉PS 拿起铅笔:创作缩略草图

screenshot
在Web UI之前,印刷设计师们使用一种称之为缩略草图(thumbnail sketching)的方法来尝试表达及完善创意。这种方法在现在的PC工具时代似乎已经失传。

这里我们将简要介绍什么是缩略草图,以及一些技巧来帮助把这门技术应用到你的工作之中。

在画线框图之前,先草图

screenshot
线框图(wireframing)的话题由来已久。不需要回避这个话题,许多设计师以及UI/UX专家们认为线框图是一个最基本以及整个项目中第一个步骤,让我们能专注在基础的架构上而不是多余的设计风格上的干扰。

另一种定义说的是线框图帮助我们关注于页面如何在最基本的层面上被构建。实际上,我经常在想为什么大家没有讨论比线框图更久远和成熟的一门兄弟方法:缩略草图。

缩略草图是类似于线框图的方法,只是他比线框图的所谓基础上,更加基础。让我们看看什么是缩略草图。

什么是缩略草图

名字听起来比较有趣,但你仔细去想的话,你会知道缩略(Thumbnail)是完全不搭的一个概念。例如当我提到缩略图相像(Thumbnail Gallery)的时候,你会自然想到这是一个有很多小图片组成的一个相册的概览页,点击之后能看到各种大图。

正是这种含义,你可能能猜到缩略草图可能是一种小尺寸的手绘图。缩略草图的意义正是通过很短的时间在纸上创作大量的创意。简单说他是一种视觉化的脑力风暴的方法,当你不需要担心各种困扰和细节调整的时候,创作尽可能多的可能性。在某种形式上,他很接近线框图,只是更小,更快速一些。一般来说设计师可以创作很多小草图,然后再选择几个最好的继续跟进线框图。

screenshot

如何去做

开始创作的话,只需要拿起一个铅笔先画几个简单的空方块代表你的浏览器外框、页面边框或任何你需要工作的东西。你甚至可以找到一些可以打印的模板来帮助你快速开始。

screenshot

现在起 ,你可以开始你的创意了。这并不需要你专注于你的手头画功,相反你需要专注在如何生成创意。缩略草图是一个快速的甚至可以说是偷懒的作法。使用最基本的形状,不要在单一图形上花太多时间,只要你找到了你想要的基本构图或创意是什么样子,就可以停止继续下一步。

为什么这样更好?

screenshot

你能从纸上的小草图中获得什么呢?你可能会吃惊,作为设计师,我们很容易陷入到狭窄的认知中,在使用电脑创作的过程中,我们太容易创作一个接近完成的事物。

问题在于当你花费时间在一个创意上的时候,你会不自觉的在心理上保护你的创意。不幸的是,你的第一个创意通常来说并不是你最好的。

当你已经把你的主意开始付出实现的时候,放弃他再从事一个新的创意就变得更加困难。你继续在旧的创意上发展因为你的大脑已经卡住了。就算你没有这样的问题,你还是会花很多时间去发展新的创意。

这种方法的缺点是你并没有将发展创意作为一个重要的思考。“重要的思考”是指真正有价值以及逻辑上合理。相反的,你可能只是有三个创意,然后在这三个里面选择。你可能有办法想出10个更好的主意,甚至有机会比这三个更好,但你没有时间去完成。

使用缩略草图方法,你有可能真正发挥你大脑的作用,并强迫你自己开始真正意义上的创意工作,创作更多更丰富的选项。使用这种方法你可以找到更多的创意并仔细评估哪种方法更合适,并继续推进。

节省时间?

有些人可能认为按预定的设计时间表和节奏,已经足够完成最终的设计工作,不需要再花费额外的时间!但如果能成功的实施缩略草图的,学有可能在未来节约更多的时间。

首先,你不需要花一整天做这个工作。有时候生成创意可能只需要花十分钟,二十分钟,三十分钟,这完全取决于你。更重要的是,这个步骤的工作让你有机会在设计最终开始创作前能够审视和评估。你会发现你后面的设计更加快速因为你已经想得足够,而且知道哪个是最好的主意。

并不仅是排版?

screenshot

一般来说,当我提到缩略草图的时候,可能指的是有关排版方面的创意,其实这种方法可以作用于任何类型的设计。例如,LOGO的草图设计在开始可能就是一种很粗略的草图设计方式。

拿起铅笔,开始创作上百种创意似乎是非常自然的一种LOGO设计的方式,所以为什么不这种技术到其它的设计领略呢?

招贴、网页设计、手册、名片、应用程序界面、字体设计,所有这些类型的设计都可以从几分钟的缩略草图开始。

缩略草图的技巧?

screenshot
现在你知道了什么是缩略草图以及如何应用他到你的工作流之中,让我们用一些技巧来帮助你更好的开展。

保持低精度

我们中的一些人非常善于绘画。但有一部分人却非常惧怕铅笔因为无法表达绘制出完整的草图。

但在我们现在的例子中,这些不善于绘画的人也许更有优势。如果你不能画,太好了,你非常适合创作缩略草图。那些非常善于绘画的人们可能会花更多的时间去创作缩略草图因为他们太追求每一条直线是否平直,以及圆是否更圆。

我们只需要知道的是,应用这种技术的关键在于量而不是质。我并不是反对完美的草图,事实上,我非常喜欢看那些顶级艺术家的草稿,但你只需要确定你的目标是将这些创意从你的脑子中转到纸上即可。例如,你只需要画一个长方块,事后你记得这个代表着这上标题文字就好了,而不需要再去逐字字句的写上文字。

向前推进

另一事需要记住的是避免花太多时间去打磨一个创意。如果你画下了一个创意然后你觉得并不喜欢它,千万不要擦掉再重新开始。简单的放在一边继续你的下一个创意。也许几小时后你再回头看的时候会发现这个创意也许不错。

越多越好

当你绘制创意时,不要在5到6个的时候就停止。你是创意专家,你应该有更多的方向。我知道设计专业的教授有时候会让学生每次为同一个项目创作25个或更多的草图。这样的数量会更加激励创作。

不要画同一个东西50次

当我们开始创作更多的草图的时候,你的第一直觉可能会使得你大部分创意看上去都差不多。这种情况非常常见。努力去让大脑发挥 他的作用,去创作更多的独特和不同方向的概念。记住现在这个阶段只是脑力风暴阶段,所有的一切都不一定是不好的创意。更疯狂,出格一些。

完成时注意留存

如果可以,尽量把这些画下的草图留下来供以后参考。当你更深入的进入到项目中的时候,你也许会回头再看看之前的创作。你也许已经失去了专注点你需要看看这些开始的主意来帮你找回来,你的客户也有可能不喜欢你的创意你可以再回到草图中寻寻宝。

screenshot

我常干的一些事情是找一支压感笔在我的iPad上使用像Adobe Ideas或iDraw一类的软件创作一些草图。使用数字产品记录我的草图对我来说非常有帮助,因为可以帮我留存这些记录。然后再导入到Illustrator或Photoshop中进行下一步的处理。

总结

让你最终的想法画成缩略草图也许在一开始比较烦恼,但是一代你这么去做了,你会发现你会非常享受这个过程。对我来说,一个项目中最美妙的阶段就是开始的时候,在我开始为细节烦恼前,去创作无数的可能性。

也许缩略草图并不适用于每一个人。如果你不觉得这个有帮助,那就不用浪费时间。但是,我推荐你在一些项目中做一些尝试。看看你是否能够真正开动脑子发现一些更棒的创意。

如果你使用这个方法,不妨留下链接让我们看看你画的这些草图!

照片版权:Dan Lurie, Tobias Soft (1)(2), nunileJeremy KeithShawn Campbelland CannedTuna.

 

原文链接:Design shack

翻译:Experience10.com

 

 

November 25th, 2011 at 2:43 pm by . 0 Comments
filed under Uncategorized, UX & Design

如何成为设计领导者

一篇很好的有关如何成为设计领导者( Leader)的演讲笔记,摘译自LukeW
  • 管理者(Managers)是被指派的。领导者(Leaders)往往从团队中自然形成。
  • 你如何知道你是一个领导者?因为人们经常向你询问问题?寻找建议?领导者能够影响其它人完成目标。
  • 你不知道一个明确的职位(Title)才称为领导者,但你需要获得其它人及组织的尊敬。
  • 有效的领导者能让人们成为自愿者。为什么是自愿者:我发自内心相信他以及他的远景吗?他们重视我及我的技能?我能相信他们吗?
  • 有效的领导者知道团队成员的风格。你有什么假设及如何去执行?你如何才能做到最好?喜欢大创意还是专注在小事情上? 我们每个人都有一定范围的技能长处,寻找能够弥补你短处的人。
  • 许多公司寻找UX领导者。但这类人并不是很多,这使得公司的处境很难。
  • 许多公司寻找“独角兽”-那些能一手顶天的人。其实这样公司根本不知道自己在寻找什么。
  • 当公司找不到合适的候选人时,往往会从团队中找有潜力的人来培训。但这可能要花10000个小时才能使其成功。几乎是5年。
  • 每3-4个设计师应当需要一个资深的指导者和领队。
  • 并不是每个高级设计师喜欢指导或善于指导别人。
  • 在把一个很好的主意放到最终用户的手上的时候,有太多的障碍。而打破这些障碍正是一个领导者的职责。

November 25th, 2011 at 11:01 am by . 0 Comments
filed under UX & Design

HTML5 Boilerplate 技巧

除了使用HTML5 Boilerplate作为项目的默认模板。同时在这组模板中提供了些有用的技巧来帮助我们更方便的开发。

CSS:visuallyhidden

在默认的style.css中,提供了一个visuallyhidden的class,用于帮助我们将一个元素在视觉上完全隐藏不可见,不会让它对其它元素造成任何视觉渲染上的影响。但逻辑树上继续存在。

CSS:clearfix

这个就不用多说了帮助我们进行float clear操作

CSS:no-js

在默认情况下html标记中标识了class=”no-js”,这行在最终执行时,如果被Moderinizer检测到浏览器支持JS,便会替换掉。因此对于没有JS的支持下,我们可以在CSS中,针对这个class进行一些特殊的样式处理。如.no-js h1 {display:none;} ,在没有jS支持的情况下,所有的h1都将隐藏。

而进一步需要了解的是,在no-js被Moderinizer检测的时候,还会被替换成其它语法,如如果用户使用桌面上的IE浏览器,这里会被替换为class=”js no-flexbox canvas canvastext no-touch”等一系列class,表示了此浏览器所支持的部分特性,我们可以根据浏览器的特性来作相应的css或脚本编写。

jQuery CDN加载

在HTML之中,默认编写了从CDN加载jQuery的标签。但是同时可见如下代码

<script type="text/javascript">// <![CDATA[
window.jQuery || document.write("<script src='js/libs/jquery-1.5.1.min.js'>\x3C/script>")
// ]]></script>

这句脚本保证了如果从CDN加载失败,再从本地的服务器上加载jQuery库

November 11th, 2011 at 2:34 pm by . 0 Comments
filed under HTML5

HTML5 Boilerplate 开发模板

什么是HTML5 Boilerplate?

HTML 5 Boilerplate 是一个由业界众多大拿发起的一个开源开发模板,来帮助大家快速使用HTML5技术开发网站,同时兼容老式浏览。HTML5 Boilerplate并不是一套框架,他仅仅是一套模板。大家可以把他当作自己的新项目模板,在此基础上建立自己的项目。

如何什么HTML5 Boilerplate?

HTML5 Boilerplate志在建立一套简单的模板帮助大家快速的进行开发,一般来说下载了这套模板后,便可以在其上进行修改,但以下一些内容会有助于帮助你理解如何更规范的使用这套模板:

  • HTML
    • index.html中已经内置了Google Analytics的分析代码,你只需要替换其中的analytics ID为你自己注册的网站ID即可
  • CSS
    • 建议你的所有网站CSS放在style.css之中,并置于标有’Primary Styles’的注释之后
  • JS
    • plugins.js
      • 此文件的目的用于提高Javascript脚本文件的加载速度。相对于原来使用链接将多个文件加载到HTML文件中而言,建议将其它的所有Javascript的插件的minified代码粘贴到这个文件之中。可参见这里的FAQ
    • script.js
      • 同上面的js一样,所有的你自己的网站脚本应该放置在这个文件之中,当然这并不是适合大型项目开发的解决方案,作为小型项目和原型而言 ,可以把你的脚本写在这个文件之中
  • 服务器端配置
    • 模板中已经准备好了一些用于服务器端配置的配置文件,如.htaccess, web.config, nginx.conf & mime.types, lighttpd.conf等文件,你只需要在上面做相庆的定制即可
  • 其它
    • 你可能需要将模板目录下的各个favicon文件换成自己的图片
    • 还有针对iOS的apple-touch-icon.png图标
    • 默认提供了一个404.html
    • 如果有一些页面你不想被搜索引擎找到,就将其添加到robots.txt之中
    • 另一篇有用的文章, Getting Started Using HTML5 BOilerplate

November 11th, 2011 at 11:05 am by . 0 Comments
filed under HTML5

WP7新书已经上市

和微软的MVP们合著的一本WP7的书已经上市了,在里面负责了二个章节,还有封面设计。欢迎大家捧场。

Windows Phone 7应用开发指南

http://product.china-pub.com/198693

October 18th, 2011 at 1:33 pm by . 0 Comments
filed under UX & Design, WP7

20个用于WP7原型与设计的工具

列举了20个用于原型与设计的模板和软件插件,其中还包含了年初我们团队制作的一个omnigraffle的Stencil,不得不支持一下

http://microsoftfeed.com/2011/20-free-prototyping-mockup-and-wireframing-resources-for-windows-phone-7/

 

September 23rd, 2011 at 5:43 pm by . 0 Comments
filed under UX & Design, WP7

如何成为网页设计专家

你是否想与客户侃侃而谈让他们认真的对待你的观点,因为看上去你就是个专家?如果你的答案是肯定的,那么恭喜你,有许多人与你一样。如果希望有一天能真正做到,那么你需要退后一步再想想,成为专家对你来说为什么如此重要?

为什么我们都希望看上去像个专家

我们都希望成为专家是因为我们希望我们的观点能够被其它人认真对待。被人尊敬,让自己更有价值,也为了满足自己的自负,当然,最主要的是我们希望自己能成为最棒的,同时有自己独特的有力的行事方式。

无论如何,就像我们接下来要讲的,成为专家绝不仅仅是让别人听从我们。如果我们仅能做到这点并不能真正意义上达到我们的期待和被其它人所认可。

让人尊敬并不是我们成为专家的唯一期望。有些人认为也许专成主家会让我们有更多的工作机会,以及更多的话语权。但不幸的是,有很多情况下,许多专家并没有比人懂得更多,甚至在他们熟悉的领域,并没有获得更多薪水。成为一个小众的专家对职业上的提升并不大。

尽管如此,被视为专家的能够帮助我们与客户工作,并让我们有创造更高质量工作的潜力。那么,如何让我们成为专家呢?

如何让我们成为专家?

在 《异族》(Outliers)一书中,作者Malcolm Gladwell建议成为一个专家(高手)在通常情况下需要花费近10000小时的练习与实践。对于大多数全职工作的网页设计师来说,这相当于整整4年不休假的8小时并有成效的工作。

我觉得10000小时的值得怀疑之处,我能看见将这种理论到一些类似于乐器训练,或是体育运动中也许会有效,但我不确定将这种理论应用于其它如网页设计。如10000小时的Photoshop使用经验不会让你成为网页设计专家,及充其量仅仅让你成为一个Photoshop高手。

当然,Gladwell的说法在某些程度上是有一定道理的。成为专家,你必须需要时间与经验。

Facts in How To Become A Web Design Expert

很多人宣称自己是专家,但只有仅少数的人真正投入了数千小时的努力。图片来源 Brett Jordan.

时间和经验

无需怀疑的是专业技能必须通过花费时间并持之以衡的练习来达到。绝不是一夜灵感闪现,没有任何捷径去达到高水平的技能。随着经验的不断丰富,学得越多,越会发现自己更加需要学习。

当然,你可以说网页设计领域的变化非常之快,四年前的知识在现在几乎毫无用处。但是我不觉得这是个问题。在我的经验之中,尽管技术在变化,但使用技术的人不变。在开发一个网站的时候永远是在与用户或是用户体验中的细节在打交道。同时,数年的经验能提高你解决问题的能力。尽管挑战是全新的,你所解决问题的方式将会越来越熟练。你积累的理论知识以及工作流程使得你更出色。因此,数年前学到的知识在今天仍然用得上。

偏执般激情

我并不是说经验就是一切。例如,我不觉得你应该花上数年的时间给某人朝九晚五打工就能获得足够的经验。相反,永远寻找值得学习的内容,在你的企业中富有创造性的工作,最重要的是需要有激情来对待你所注的事物。

以我自己来说,我的事业从IBM开始,数年后我觉得并没有在技能上有多大提高。许多在我身边的人并不能充满激情的工作。没有激情,就没有学习新东西的渴望和推动力。

我相信对网页设计拥有偏执般的激情是成为专家所必需的。

另外,我IBM的同事们从不愿承担风险。而勇于尝试以及偶尔的错误都会是成为一个专家所必须经历和学到的

犯错误的重要性

成为一个真正的专家不能回避一个事实:你必须愿意去犯错误,而且犯非常多的错误。

不幸的是,我们并不是生活在一个表扬失败的社会文化之中。我们需要成功人士。但成功并不光是灵感闪现,而是努力和汉水。Winston Churchill说过:

事业上的成功和成为一个专家不光是需要你经历过一两次失败,而是不停的经历。

失败是我们成过专家的一个重要环节,Charles Willson说过:

不经历失败,我们不能学会做事情的最佳方式。从他人的失败中也可以学到很多,但没有什么比得上我们自己亲身经历过的失败。

我们需要战胜我们对失败的恐惧。当项目中出错时,人们总是会本能的有二种反应。有些人不停的纠结其中,否则问题的存在,不愿意接受投入但不产出的结果,这时候重要的是学会什么时候放手。另外一些人则尽可能的逃离这些问题假装其从来没有发生过。但这样意味着你永远不会从你的错误中学到东西。我们需要在最后花上一些时间去审视我们项目中的错误,并从中学到东西。这个过程很难,特别是当你与已经不郁快的客户打交道的时候。

而从没有经历过失败的人,他们可能胆心不愿去尝试,担心他人的批评,或在一开始根本就对成功没有任何渴望。

怎样确定你已经是一个专家

有时候并不是人人都认同你是一个专家。光有足够的知识是不够的,我们还需要有人认同我们所获得的知识。

这可能是你会经常经历的问题。你已经完成了你的10000小时的学习,也从错误中学到了。尽管如此,你的客户或老板并没有认同你所累积的知识与经验。

如何说服他们你已经是一个专家了,应该认真考虑你的建议呢?

展现一些谦虚

第一步要做的是不要过份表现我就是专家的态度。真正的专家往往是最后一个称自己为专家的人。事实上,专家往往会积极承认他们的知识的有限从而带动其它人更好的接受他们的观点。

人们往往会怀疑自称专家的人。让你自己的知识替你说话比起主动引起别人的注意更有效。直接说自己是专家显得并不明智,你可以用多种不同的方式来暗示这一点。其中很重要的一种方法是使用情景。

用情景展示你的优点

当你把一些现代艺术绘画从画廊中拿下,放在小学时,很有可能被误认为是小孩的涂鸦。因为环境影响了事物接受时的辨标准。想象一下有时候经理们会非常认真的听从某些外聘顾问的观点,而忽略自己员工的观点,尽管二人说的都是同样的事情。因为付了顾问更多钱,所以他们的观点冒似更加有价值。

你也许没有办法提高你的劳务价格;尽管如此,你可以改变你的表达方式,让人们提高对你的价值认同。

就像画廊中的作品一样,你的专业技能在某些合适的场合下会被认同。例如,相对于在会议室里发言,或是只在自己工位上表达观点来说,在会议室里可能会更加有份量一些。同样,如果你的专业知识来自某些书本,这会比你在会议室里夸夸其谈更加有价值得多。

Paul-boag-fowd in How To Become A Web Design Expert
作为一个专家我经常犯错误,因为我站在舞台上. 照片来源 Marc Thiele.

并不是人人都有机会出书或是在会议上发言。如果这样的话,也可以自己出书,或是做一些播客、博客或是参与一些开源项目。像专家一样展示自己比你想的要简单一些。

如果获得会议演讲或是写书的邀请的话,意味着你的技能已经被某些人认同。会议组织者和出版商就好像是质量保证,如果他们认同你,那么人们会在开始就认定你所要讲的事情。

当然,情景并非一切。更重要的是你所表达的观点和如何去表达你的观点。

风格和主旨

写书、演讲、博客或播放比起简单的交谈来说更有效果。因为这些比起交谈来说,表达结构和方式更加缜密严谨。

表达自己的重要性。当有些事情对你来说非常明确时,其它人可能不这么看,特别是一些重复出现的问题。当客户让你把他们的Logo变大一些或是多些留白时,你必须要精心对待这些小事。你会很容易不耐烦或是无所谓因为这样的事情总是在发生。但是细心的考虑你的应对方式和对策会使得你更具说服力。除了主旨,你辨论和交流的风格同样重要。专家应该充满信心,交谈时富于表达和权威性。听众并不会因为你的意见不同而不爽,只要表达得当,他们会转换他们的观点。如果你想被认同为一个专家,了解你自己、放松并充满信心的表达。

不幸的时候,有时候问题还是发生,因为另一方早就准备好了自己的观点。

过多偏见

在你现有的老板和客户前开始充当专家的角色可能是个挑战。特别是你以前的曾是初级员工,他们对你的态度不会一夜改变。幸运的是,你可以做一些有效的工作来帮助你转换角色。

第一,为你的观点提供有效的证据。当你老板担心你的提议上不了台面的时候,给他看看有效的证据,如下面这个滚动条行为报告。

Unfolding-the-fold in How To Become A Web Design Expert

引用一个研究结果能够增加你的内容的可信度。

其次,引用一个已有的专家将有效支持你的观点,例如有人曾写过有关滚动条这个案例的相关报告

这些技巧不光能支持你的观点。同时他们能够充分的表现你有广泛的阅读与研究。同时,你在做这些的同时也加了自己的可信度,像专家一样思考问题。你离专家已经一步之遥。

当然,没有办法能快速的消除偏见。这对于总是与相同的人工作的人来说非常困难。但通过一段时间,有效的展示自己的专业知识和使用这些技巧,他们最终能改变他们对你的看法。

能力越大责任越大

本文的关注的是有关如何成为专家,在结束前,我想说说当你真正成为专家后意味着什么。

当你从客户,同事及老板那里获得尊敬后,还会怎样?成为专家不光光是一段自我之旅。更多的是有关为他人服务。当你成为专家后,你能更好的为你的客户服务,为你的公司提供更多价值,促进你的行业发展。如果只是想获得大家的爱戴与尊敬,那么你永远不会真正达成你的目标。人们会意识到你可能只是在满足自己的虚荣心从而忽略你。

也就是说,必须认真对待我们的工作。如果不认真对待,好网站可能变差。我确定你肯定有过与人分享过有关网站越做越烂因为别人没有听取你的观点。但是多讲讲你的一些有关说服老板和客户,认真的对待你的观点的故事,可能更有益处。

封面图片版权: Aural Asia

原贴出处:

http://www.smashingmagazine.com/2011/08/25/how-to-become-a-web-design-expert/

翻译:

http://experience10.com/

 

August 31st, 2011 at 3:17 pm by . 0 Comments
filed under UX & Design

留意你的”短线”与“破折号”:文字排版的规则

从文字排版上便可以很容易区分设计师是否是一个新手或是老岛。一个经验丰富的设计师能在看设计的时候察觉创作者是否懂得如何排版。排版设计绝对不是设计师内部的谈资,而是几千年以来从语言书写中得来的一种累积,排版使得信息的沟通更高效和优雅。

而在互联网上进行排版设计时我们需要考虑到一些全新的挑战和限制。下文中的一些规则将会帮助你更清晰的使用文字排版。

设置文本内容

优秀的排版设计用于保证信息的传达,而有关信息传达的基于在于文本主体的内容-简明的文字块。以下是几个常用的方式寿命你让你的文字块变得更清晰明了。

段落前缩进还是空行?

在一段文字的结束和另一段开始前,你可以使用首行缩进,或是插入一个新行。但是不能同时使用这二种方式。

Paragraphs in Mind Your En And Em Dashes: Typographic Etiquette

首行缩进
首行缩进的时候应该缩进1em(em是指一个当前字体的大小,如果文字大小是12px,那么1em=12px,这是一种相对单位)。文章或篇章首段不允许缩进,在一个新篇章(Section)开始时,是不允许首行缩进的,因为这段文字将会是这一页或这一篇章的第一段。

段间空行

二段之间的一个 1em的空行(如同在输入时按Return键二次)用于表明段落关系其实是多多有余,0.8 em的距离将会更加合适

Ragged-right in Mind Your En And Em Dashes: Typographic Etiquette将文字设置成左对齐使得文字更利地阅读。因为浏览器所提供的排版控制比较有限,等距调整文字会让文字块之间有太多的间隙。

左对齐 (右侧不齐)
当文件左对齐时,每一行都会很自然的换行,同时造成右侧产生不对齐的效果。这样能够更好的进行阅读因为眼睛根据每一行的长度不一而区别一行的结束。另外一些研究也表明读者更喜欢左对齐的阅读方式。在左对齐的情况下,不应该再使用断字处理,如果再断字就违背了右侧不齐的初衷。

避免等距文字调整
等距调整让每一行的横向长度一致。而正是因为每一行的长度相同,使得字母的间距以及单词之间的间距变得奇怪。这使得文本丧失了整齐的肌理感。

高级的桌面排版程序(如Adobe InDesign)有一些非常成熟排版系统来做等距调整,使得在做等距调整时,不会产生过大的间隙。它使用了一组处理程序用来综合计划字母间距,词间距,断字和字符缩放(非常细微的调整某些字母的宽度)来保证调整后的文字依然有很强的肌理感。

由于CSS中没有断字处理。除了一些Javascript库(JavaScript libraries that handle hyphenation)进行断字处理,以及CSS 3的text-justify属性之外,浏览器并没有非常好的系统来保证文字在等距调整后的渲染显示。这使得在网络上的文字等距造成很多大的间隙,并不利于阅读。

当使用最佳的行阅读长度为(50-80字符,或8-15个单词)的情况下,如果使用等距调整的话,几乎总能产生过多的间隙问题。在网络上应避免使用等距调整。

每句中断后一个空格,而非二个

很少有人讨论在句末后应该放置一个或是二个空格的问题。

从维多利亚时期这个传统一直保留至今。之所有有这个传统是从打字机发明之时。因为早期的打字员使用Monospaced字体(即二个字母间的距离永远是一样的),因此打字员使用2个空格用来增大句与句之间差别。而现在计算机和字体已经做到了按比例的字母间距(即字母间的距离由字型决定,并非完全一致),这样的一个传统看来已经过时,使得文本间有太多的间距感。

One-space in Mind Your En And Em Dashes: Typographic Etiquette

一个空格足够区分二个句子,同时还能保证文本块的连续性。

如果大家还怀疑这个结论的话,考虑如下的情况:一个新句子的开头,已经由一个句号,一个空格以及一个大写字母明示。再加入一个空格使得在阅读时在二句之间挖了一个大洞一样,中断了读者的阅读。

打字员也许希望继续使用二个空格,但排版设计者应该不再使用。

合理使用横线(破折号)

大多数字体都拥有二种不同的横线破折号:en横线(–, –,相当于小写的“n”的宽度) 以及一个em横线(—, —,宽度相当于小写的“m”)。不要与hyphen连字符(-)混淆。

Dashes in Mind Your En And Em Dashes: Typographic Etiquette

连字符

连字符与破折号由于形式上类似,使得在使用的时候经常混淆。某些字体如同Adobe Garamond Pro特意让连字符保留着传统的样式。这种连字符看上去像是不轻易的手写体;有时候你还会发现使用连字符代替减号;不管怎样,在大部分字体是都保留着较长的字符样式用于表示连字符。

尽管连字符看上去很像破折号或减号,但他还是一个符点符号而非数字符号。他应该使用于字母断行连接时。在网络上并不需要有过多的担忧,因为在浏览器中并有标准的连字控制功能。因此连字符常常用于特殊的组合(如“fine-tuned”),或是电话号码之间以及其它一些少有的场合(更多细节可见Wikipedia)。

短破折(En)与长破折(Em)

在 The Elements of Typographic Style一书(这是一本非官方的现代排版设计宝典)中。Robert Bringhurst推荐使用en左右加上二个空格。这在视觉上将不会像em一样引来很大的中断感。而在《芝加哥样式手册》(The Chicago Manual of Style)中则推荐使用em破折。为什么要与芝加哥样式手册相违背呢?理由是样式手册中考虑的更多的是关于标点符号的用法,而不是文字排版。短破折左右向空格的效果与不加空格的长破折的效果一致,但是从排版的角度上说是一种轻微的中断。当我在写书时我与我的编辑有关于这个问题的很大的争议。

另一种用法是使用二个连字符来表示破折号,这一做法同样来源于打字员时代由于打字时的为了视觉上对文本进行有效的区分。而现今的丰富的字处理技术使得我们无需再这样处理。

同样,短破折(en)用于指示一个数字范围(如”7-10天”),当这样使用时不需要左右加空格。

使用聪明引号(Smart Quotes)

当你在键盘上键入 “号时,你所输入的并非真正意义上的引号(除非你在字处理程序之中进行了自动格式化)。真正的引号我们称之为“Smart quotes 聪明引号,”左右引号必须形成一个开始和结束的意义。如果使用单引号,则是‘’。像WordPress一类的程序有时候会自动转换你的引号到smart quotes或使用其它插件来处理。

Smart-quotes in Mind Your En And Em Dashes: Typographic Etiquette

Smart Quotes 现实中的情况

CNN使用的是笨引号(dumb quotes),看上去沉闷不亲和,而The New York Times使用的是smart quotes,看上去整洁成熟:

Smart-quotes-cnn-nyt in Mind Your En And Em Dashes: Typographic Etiquette

Smart quotes是如此的生动以至于可以用作装饰使用,例如Jason Santa Maria博客中的这种用法。

Smart-quotes-santamaria in Mind Your En And Em Dashes: Typographic Etiquette

度量单位撇号

同样,作为度量单位时使用的撇号,也应该使用smart quotes的形式如下:

Prime in Mind Your En And Em Dashes: Typographic Etiquette

很多桌面出版程序有时候会自动(错误的)插入一些不合适的符号使用,这些都可以在程序的设定中修改,但是最好的办法就是从原始的文本编辑器中键入最合适的符号,再copy/paste过来。

合理的数学符号

有时候因为匆忙的缘故,我们常常使用错误的数字符号。例如上面我们提过连字符不是减号(−, −)。另外x并不是乘号(*)(×, ×)

Math-symbols in Mind Your En And Em Dashes: Typographic Etiquette

正确的分数表示不光是加分数符号,还会使得字符更加易于识别,使用普通的斜线(1/3)并不如分数符(½)看上去更酷。

当然有时符号并不能够完全满足你的要求,如有时候98¢与106° F描述时,你也许会更倾向于使用“cents”和“degrees”。

表述更多时总是使用省略符

有时当显示更多内容时,大多数情况我们使用三个句号来表示(…),但很多字体其实已经有了专门的字符(…, …),这些字符的设计更漂亮,没有过多空格。尽管芝加哥样式手册中推荐你在使用三个句号时还在其中加上空格(. . .),但是任何一个排版设计人员都知道这看上去使得文本中断得太多。某些排版设计师倾向于使用小一些的空格间距(. . .)。总之尽量不要在句号间使用完整的大空格。

音标符号并不过时

Diacritics in Mind Your En And Em Dashes: Typographic Etiquette

在拉丁语系的排版中还会用到音标符号,Mac OS X下,按往Option同时按e,然的再按任意一个字母,你将获得该字符的升调符号(é)。如果使用Option同时按u, i 和或~你将获得其它音标符号。

字母连写

在早期铅字印刷时代,由于每个字符是一个元素。因此很难让二个字符靠得很近,例如“fi”,由于f的顶部向右伸展过远,同时i顶部的小点使得这二个字母无法继续靠近。但现在大多数字体(尤其是经典字体如Adobe Garamond)拥有连字功能能够将字母的型状进行连接。一些现代字体如Helvetica也拥有连写功能但是效果非常的细微。

下面你可以看到有关字体中的连字效果。在Adobe Garamond中这种效果要比Helvetica中更为明显。Ligatures in Mind Your En And Em Dashes: Typographic Etiquette除了“fi”的情况外,还有一些类似的情况会发生在“fl,” “ff,” “ffi” 和 “ffl.”之中。以下你可以看到Apple在这方面的设计使得“ffl”在“iPod shuffle”中显得非常漂亮。

Shuffle-ligature in Mind Your En And Em Dashes: Typographic Etiquette

使用连字技术

当然,每次需要连字的时候输入特定的连字字符是不切实际的。如果你这么做了也有可能在某些字体条件下使得连字无法正常显示。幸运的是,像Ligature.js这样的jQuery插件能够自动的帮你判断需要连字的地方并进行处理。

但需要注意的是:即使连字字符可用,你也有可能造成用户搜索时的困扰。当前,IE浏览器以及一些基于WebKit的浏览器如Chrome,Safari支持连字字符的搜索功能。而Firefox则不支持。

CSS3的文字连字属性font-variant-ligatures

CSS中所支持的连字属性不会影响HTML中的代码,浏览器将会完全支持搜索功能,但这需要所有的浏览器都开始支持CSS3才能开始使用这一属性。

所以,考虑到这些因素,在内容上使用连字并不是一个最好的选择,而标题或头条显示中也许可以部分应用,也能够让用户感受到更明显一些。

合理使用

显然,继续学习与应用这样一些文字排版的技巧看上去非常乏味。幸运的是,大部分网络上的内容管理系统都有一些插件可以帮助我们,另外一些新的CSS3的属性也能帮助我们提高我们排版上的工作效果。

但是综合所有的情况去考虑设计和制作,性价比问题是首要的。你必须考虑哪些细节你需要实现而不会造成后续的麻烦。哪些是文字排版中最最重要的,然后你再在你的项目中做明智的决定去应用这些。

其它资源

你也许会对下面的一些资源有兴趣:

How to Type
学习如何在电脑上键入这些字符。The Elements of Typographic Style, Robert Bringhurst
Amazon上的一本非官方现代排版设计师的宝典。这本书中拥有许多你可以想象的有用的排版建议。The Elements of Typographic Style Applied to the Web
有关Robert Bringhurst’s 经典图书的针对网络版本。本文根据David的新书Design for Hackers: Reverse-Engineering Beauty中的一个章节写成,本书将在2011年9月发布。

原贴出处:

http://www.smashingmagazine.com/2011/08/15/mind-your-en-and-em-dashes-typographic-etiquette/

翻译:

http://experience10.com/

 

August 18th, 2011 at 6:47 pm by . 0 Comments
filed under UX & Design