<<上篇 | 首页 | 下篇>>

每位网页设计师新手都应知道的10件事

  在做网站时会遇到很多的问题,所以网页设计师通常要扮演多种角色,并且要掌握如何构建一个有效实用的网站布局知识。

  你在网页设计所学到的大多数教训都来自工作经验。学习是一个反复持续的过程,并且没有比犯错更好的方式来获得知识(从错误中学习)。在本文中,我们将讨论10个重要并常规的技巧,这是每位网页设计师新手都应该知道。

  1. 优化图片,获得更好的页面加载速度

  学习如何通过选择正确的格式,来优化网页图片,并确保文件大小在可行的范围你是足够小的。虽然现在人们已经都在使用宽带,但仍然有人是拨号上网。此外,虽然移动装置技术的普及,但移动装置却不一定支持像宽频一样的速度,图片文件的大小可能还是会延长网页的加载时间,有可能把用户赶走的。

  这里有个选择适合的文件格式的技巧:如果图片是单色,那最好保存成PNG或者GIF格式;如果是连续性的色调(如照片)则最好保存成 JPG格式。

点击图片以查看大图
名称:	17-02_optimize_images.jpg
查看次数:	135
文件大小:	30.8 KB
ID:	2117


  有很多的工具可以帮助你进一步优化你的图片,降低他们的文件大小。可以参考这个工具列表来帮助优化你的图片。尽量把图片数量减到最低,并且灵活使用图片,并且尽可能地减小文件大小。如此一来,将可以大大的减少页面的读取时间和改善网页的性能。

  2. 保持干净和简单(即:简洁)

  一个好的网页设计不光只是看起来好看而已,还要是用户友好型的。通常来说,一个干净、简单的网页设计最终会成为一个可用性高的网页设计,因为它在与用户的交互中不会使其产生混淆。当页面上有太多的网站功能和组件时,将会分散网站用户的注意力而失去原本浏览网站的目的。确保每个页面元素都有其目的,然后问自己以下问题:

  • 是否真的需要这个设计么?
  • 这是什么组件是做什么用,它如何协助用户浏览?
  • 如果我突然删除这个组件,大多数人会希望它“回来”吗 ?
  • 如何把这些元素和目标、消息和网站的宗旨互相结合?


  此外,尽管它可能是一个超酷的新概念或界面设计模式,但你还是要确保对你的用户而言该设计仍然是方便和直观的。人们习惯于通用性的交互模式、网站功能、和网络接口,如果你的设计的确很独特,确保它不是太模糊和晦涩。 要有创意,但还要保持简单。

  3. 导航(条/栏)是最重要的设计

  一个网站最重要的部分就是整个网站的导航。没有它,无论在哪个页面中,用户都会发生卡在这个页面离不开的状况。有了这明显的实际方向,我们将讨论一些建构网站导航时重要的点。

  首先,在网站的导航结构上,投入足够的时间和很多规划是非常重要的。虽然这是常识,但仍然有很多设计师想当然地设计网站导航。

  摆放位置、风格、所用技术(javascript或CSS)、可用性和网页易读性,这些是你制作导航设计时需要考虑的。

  在没有CSS的状况下,你的导航设计应该也是可用的,这是基于文字基础的浏览器相容性。你可以尽量去嘲笑文字基础的浏览器,但它们在很多的移动设备上还是流行的。也许更为重要的是,对屏幕用户来说(99.99%的情况下),没有CSS的导航功能照样可用访问。

  在没有客户端技术情况下(如JavaScript或Flash),导航功能应该容易进入和使用的。用户可能因安全性或公司政策而没有开启或安装。

  所以,制定一个导航系统可以放置的良好位置是必须的,例如放在一个显眼可见的地方。一个好的导航功能,只要网页载入就出现,而不需要鼠标再向下滚动。这是为什么页面要保持干净和简单的重要作用,一个复杂且非常规的设计可能会让用户困惑。

  哪怕只有一瞬间,用户也必定不会纳闷:“网站导航在哪里?”

  最后,对网站建立阶层结构,多层次的管理。确保它在父层与子层之间易于导航。此外,不管在哪一个网页当中,也应该能很容易到达最高层的页面(例如网站首页)。

  最主要的目标就是你的网站导航,尽可能减少操作(动作),努力而让用户到达他想要浏览的内容。

  4. 明智和有条理地使用字体

  虽然有成千上万的字体,但你真的能用的只是一小部分(至少要等到主要的浏览器完全支持CSS3)。 所以坚持使用网页安全字体。如果你不喜欢网页安全字体,可以考虑利用sIFR或Cufon逐步增强的网页设计。

  保持字体的一致性,确认标题和段落的内容看起来有所不同。使用空白、调整行高、字体大小和字母间距属性,使用户轻松愉快地阅读和扫描内容。

  也许一个网页设计师常常犯的错误就是使用不对的字体大小。因为我们想尽可能的将内容都塞在一个网页中呈现,所以我们有时设置字体大小而让用户感觉到不舒服。如果可能的话,尽量保持字体大小12像素以上,特别是对段落内容。虽然很多没有遇到因为字体太小而造成阅读上的困难,但是想想老人家、近视眼和其他类似视觉障碍的族群吧。

  5. 理解色彩无障碍性

  说完字体后,我们还需要指出使用正确颜色的重要性。例如,黑色文字在白色背景,如果使用高对比度,橙色背景上的红色文字会令你的眼睛感到紧张。

点击图片以查看大图
名称:	17-03_color_1.png
查看次数:	64
文件大小:	5.3 KB
ID:	2118


  此外,使用一些对特殊形式色盲的用户友好的颜色(检查工具名为Vischeck,可以测试某些类型的色盲)。

  有些色彩组合只适合运用在前景色的部分,而不适合做背景色。举个例子来说,深蓝色的文字搭配粉红色的背景与粉红色的文字搭配深蓝色的背景,都是使用两种一样的颜色,但用在不同的部分则影响了它的可读性和阅读的舒适度。重要的是,不仅要使用良好的色彩组合,而且要把它用在页面中的合适元素上。

点击图片以查看大图
名称:	17-04_color_2.png
查看次数:	51
文件大小:	6.0 KB
ID:	2119


  6. 知道如何编写代码

  随著各种所见即所得的网页编辑器充斥市场,网页设计已经成为简单的1-2-3步骤就能设计好一个网站。然而,大多数网页编辑器掺杂了不必要的代码,使你的HTML结构设计不当,难以维护和更新,导致网页膨胀。

  通过自己编写的网页代码,能得到简洁的代码,能够愉快方便地阅读和维护。你可以自豪地说是自己写出来的代码。但知道如何使用所见即所得的IDE或预览功能并不会妨碍学习 HTML和CSS。你要知道发生了什么事情,才能创造有效并高度优化的网页设计。

  7. 不要忘记搜索引擎优化

  在设计网站时,一个好的网页设计师应该永远牢记基本的SEO概念。例如,网页内容结构、用文字表示标题(即网页的标题和标志)。此时,以前学习的如何合理编码的能力就派上用场。认识正确、语义和基于标准的HTML/CSS 后,你会很快认识到Div比表格布局好得多,不仅更为准确地展现内容,而且对搜索引擎排名也有帮助。另外,知道用CSS更换背景、文字和图片也是一个好主意。

  8. 理解人是没有耐性的

  普通人用几秒钟就决定是否要阅读更多网页内容或到另一个网站。因此,作为一个网页设计师,要有个好方法,能在这珍贵的几秒钟鼓励用户选择前者(看更多内容)。

  要知道,如果用户在网页头部看不到感兴趣的内容,没有多少人会向下滚动,去查看整个网页的内容。所以,在网页头部很容易看到的地方放置网站上的重要元素,但也不要过度拥挤在上半部分网页,否则会吓到用户,而不会往下继续看内容。记住上半部分网页设计的卖点:视其为推销员,使人们有购买想法,即他们想在你的网站上看到什么。

  9. 了解(并意识到)浏览器的兼容性

  当一个网页设计师必须要知道的一件事,就是你的工作环境(浏览器)是挑剔和难以预料的。如果你的网页设计只能运行在的几种网页浏览器,那是不够的,你需要尽可能多浏览器下测试。这里有一款工具Browsershots,可以测试浏览器兼容性。

  10. 使设计有灵活性和可维护性

  一个好的网页设计师可以确保以后可以很容易更新或修改网站。设计一个有可塑性、易于维护的网站,是一个伟大网页设计师的标志。让你的工作尽可能从结构化转向模块化。

  网页设计这个行业是动态的,而且还很“年轻”。事情往往在短暂中变化。牢记这种思想,将推动建立更加灵活的网页设计。

标签 :

Android SDK开发环境Eclipse安装搭建笔记

参考自《Android开发入门与实战》,根据最新版本Android2.1不同设置而修改,在Windows下搭建。

1)安装Java JDK

见:http://www.pugwoo.com/2010/01/28/jdk-install.html

2)安装Eclipse

eclipse官方主页,下载"Eclipse IDE for Java Developers (92 MB)",得到eclipse-java-galileo-SR1-win32.zip,解压它,比如放在D:\eclipse,运行该文件夹下的"eclipse.exe",初次运行要设置一下存放程序的目录,如D:\eclipse_workplace。

3)安装Android SDK

Android主页,下载,得到一压缩包。解压到某一目录,如D:\android_sdk。然后右键点击"我的电脑","属性"|"高级"|"环境变量",在系统变量的path变量前加上 D:\android_sdk\tools; 新版的SDK还需要手动下载Platform,运行D:\android_sdk下SDK Setup.exe。如果它提示https不可用,则必须到settings里把"Force https...http:"这一项勾上。然后选择左边"Avaliable Packages",再选择一个SDK Platform,如"SDK Platform Android 2.1,API 7,revision 1",安装。

4)创建AVD(Android Virtual Device)

AVD就是电脑里虚拟的Android手机。新版SDK需手动添加AVD,进入SDK目录,如D:\android_sdk,运行SDK Setup.exe,点击左边栏"Virtual Devices",右边点"New",弹出创建对话框,给这个SVD随便取个Name,比如手机型号Hero,然后设置Target为某个Android版本,SD Card为虚拟的SVD的SD卡容量,再设置分辨率,如320*480,然后在Hardware添加这台AVD需要的特殊设备,如键盘KeyBoard等,最后点下面"Create AVD"完成。

5)安装ADT(Android Development Tools)

不同Eclipse版本对此设置可能不同。运行Eclipse,"Help"|"Install New Software",在Work with处填入"Android - http://dl-ssl.google.com/Android/eclipse/",然后下面会出现"Android DDMS"和"Android Development Tools",勾上,一直next,accept,完成。接着就等它自动下载安装了,这过程很久,如果出现什么是否继续安装对话框,点继续。安装完成后重启Eclipse。

6)设置Android SDK位置

运行Eclipse,菜单栏"Window"|"Preferences",左边栏点击"Android",右边SDK Location填上上面第3)步SDK位置,如D:\android_sdk,点Apply,选择一个Platform,完成。

7)设置Eclipse中ADV

运行Eclipse,菜单栏"Run"|"Run Configurations",选择Android Application,选择一个configuration,右侧选择"Target",再选择一个AVD即可。

8)Hello World

运行Eclipse,菜单栏"File"|"New"|"Project",选择"Android"|"Android Project",设置如下图:

2010-1-30 19-50-23.png

如果建立此项目后Eclipse没有列出此项目,这是因为没有设置其显示,在菜单栏"Window"|"Show View"里选择如Package Explorer等。

然后左侧的Package Explorer里右键刚刚建立的项目TestDemo,选择最后一个"Properties",再选择"Run/Debug Settings",在右侧"New"添加"Android JUnit Test",在弹出的设置里,选择标签"Target",再选择一个AVD,完成。

最后,左侧的Package Explorer里右键点击项目TestDemo,选择"Run As"|"Android Application"。看到一台虚拟的Android手机启动就成功啦。

标签 : ,

为什么 Google 做不出 Instagram

instagram 是近期窜红的 iPhone App 和图片分享社区。仅一周时间就积累了 10 万注册用户。但 InstaCamera 可不是新玩意,那东西以前叫“拍立得”。谁拿个 Polaroid 在手,立马文艺的牛比闪闪。著名博客评论家 Robert Scoble 近日发表了一篇博客,详细阐述了为什么 Google 不能出品类似 Instagram 的应用.

今晚我和一 Google 高管聊天,提起了近期窜红的 Instagr.am (几个星期内超过 50 万的下载量),然后就问他”为什么 Google 做不出类似的应用?“

其实我是多少知道点答案的,因为在我为微软工作的时期,很多创业公司超越了微软。(比如 Flickr,Skype,等等)。

我告诉了他一些我的看法,他也透露 Google 内部也意识到创新出了问题(看看 Google Wave 和 Buzz 就知道他们失败到何种程度了)。Google 正在内部改变公司文化,以鼓励内部员工创业性的项目。

1. Google 没有办法把团队保持到一定的小规模

Instagram 的两位创始人是在第 38 号码头的 DogPatchLabs 租了一张办公桌开始的。据此 Google 高管说,Google Wave 团队超过 30 人。他曾经创业过,所以他非常了解那个神秘的人月关系。每加一个人到团队,项目迭代的速度就会下降。他告诉我甲骨文的 Larry Ellison 是如何提高团队效率的故事。如果一个团队效率底下,他会每个星期过来说“让我来帮你一下”。他做了什么呢?他每次从团队调走一个人,直到团队停止无谓的会议,开始做出产品。

2 Google 不可能像 Instagram 那样大刀阔斧的削减需求

Instagram 的初衷其实和现在的产品很不一样(这事据说当时和他们的疯投 Andreesen 起了冲突)。起初这个不仅仅是个拍照片的软件。但几个创始人认识到他们不可能完成这个巨大的任务。他们开始削减需求。Instagram 可以做到这些。但 Google 不行。想象一下如果你对 Larry Page 说:嗯,关于我们的那个社交平台,我们去除 90% 的需求吧“。Google 要和 Facebook 正面竞争。Instagram 只需要和它自己竞争。所以 Andreesen:这也是为什么几个我喜欢的公司从来就没有去拿疯投,比如 GoPro 和 SmugMug。“着眼于本垒打”的压力其实压垮了很多公司。

3. 在 Google,如果一个产品成功了,它会获得很多很多的资源和人力

想象一下如果你在 Google 工作,然后你在你的 20% 的时间会做什么事情呢?肯定不是很乏味的项目吧。你当然想加入一个超酷的项目,比如 Instagram,一个炙手可热大家都喜欢的项目。如果 Instagram 是 Google 内部的项目,他们就要面对潮涌的 email 和一大批等候在他们办公室外面跃跃一试迫切想加入的同事们。我在微软也亲眼目睹了类似的事情。

4. Google 要求他们的员工用自己的基础设施,但问题是这些基础设施并不适合小型的社交模式的项目

在 Google,你不能用 MySQL 和 RoR。你只能用 Google 的 Big Table 来存储数据。那可不是为了小型社交类型的项目而设计的。开发者们告诉我说用 Big Table 并不是很容易,而且也比外部开发者缺乏效率。

5. Google 的服务需要支持所有的平台

在这种情况下,如果你说“我们的项目只支持 iPhone”,你肯定会被轰出会议室。而且这项目也必须支持 Google 在全球范围内的每个社区。我记得微软的团队因为要测试自己的产品在全世界的所有语言环境里都可以运行而被拖至龟速。还真让人无可奈何。Instagram 就没这样的问题。他们可以说“我们现在只支持英文,其他人我们没空管”。

6. Google 不能使用 Facebook 来整合产品

这也意味着获得新用户会有点困难。我这个星期下载了几个 iPhone app,然后登录 Facebook 后就很方便的加入了我的朋友清单。我的朋友们都在 Facebook。我在 Google 的社交圈根本没什么朋友。Instagram 可以使用任何他们喜欢的系统。Google 则要付出点“战略税”(Strategy taxes:因为战略上的原因而不得不用其他非 Facebook 的方法来实现功能。这里耗费了不必要的人力和物力)。

7. Google 没办法半公开的测试产品

几个星期前 Kevin (Instagram 的创始人)给我的 iPhone 装上了测试版的 Instagram。他叫我不要和其他人说,但也没有叫我签保密措施。其实他知道如果我泄露一点信息可能对他也有好处(不过我没有泄露)。他那时候需要的是热情的用户,那些会使用这个软件并提交测试过程中遭遇到的问题。Google 的做法是“吃自己的狗粮”。但现实是你需要公司外部的人来使用你的产品,而不是闭门造车。Google 不行,这牵涉到太多的政治斗争。Instagram 没有这种政治斗争地狱。他们毫无顾忌的给几十个人预览这个应用,从而获得很多的反馈,修复了一大堆的 bug。而且这批早期用户也非常喜欢这个产品。

8. Google 没法用 Eric Ries 的技巧

Eric 的“瘦形创业公司”方法是先搞清楚客户需要什么,然后再建设所需要的基础设施和未来的可扩张性。Google 则相反,他们需要确认这服务几亿个人使用没问题,然后再开始做产品。Google Wave 失败的一个原因就是第一批用户进来后就变得非常的慢,虽然他们有个邀请机制限制新用户数量。

那么,大公司如何创新呢?嗯,大公司可以收购小公司。或则,Google 可以去开拓一些小公司没有能力去开拓的领域。比如开发无人驾驶汽车。这就需要很多人的团队了。

还有一条路就是开源项目,这样大家都可以贡献代码,而不需要开无聊的会议。比如 Rackspace 的 OpenStack 里有一些非常不错的创新。而这些创新是来自 Rackspace 外部的人。还有硅谷目前最酷的公司,Cloudera,他们知道公司会越来越大,为了防止类似公司内部政治冲突,他们正在建立一个系统,让开发者可以无顾虑的加入新的创新。又比如非科技公司的 TEDx,他们用加盟的方式在全世界举办了几千场 TED 大会。他们给会场 TED 的冠名,而不需要经过母公司的审批。这样他们就可以一直的处于创新的地步,就算他们的内部已经停止创新。

Posterous CEO 从苹果公司学到的 8 个管理经验也或多或少验证了我的观点,特别是保持一个小的团队。

有些经验听起来莫名其妙。让团队更有效的方法是调走团队成员?但根据我多年在世界上最好的科技公司混迹的经历来说,这些事层出不穷。

所以,你觉得呢?你工作的地方有类似的问题吗?如果是我,我就会指出这个问题,并试图如何找到解决办法。

标签 : ,