<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Edward&#039;s Blog &#187; 设计</title>
	<atom:link href="http://edwardpku.com/blog/category/design/feed/" rel="self" type="application/rss+xml" />
	<link>http://edwardpku.com/blog</link>
	<description></description>
	<lastBuildDate>Mon, 16 Aug 2010 08:37:23 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>不懂得逆转产品缺点为优点的产品经理不是好的产品经理</title>
		<link>http://edwardpku.com/blog/2010/04/%e4%b8%8d%e6%87%82%e5%be%97%e9%80%86%e8%bd%ac%e4%ba%a7%e5%93%81%e7%bc%ba%e7%82%b9%e4%b8%ba%e4%bc%98%e7%82%b9%e7%9a%84%e4%ba%a7%e5%93%81%e7%bb%8f%e7%90%86%e4%b8%8d%e6%98%af%e5%a5%bd%e7%9a%84%e4%ba%a7/</link>
		<comments>http://edwardpku.com/blog/2010/04/%e4%b8%8d%e6%87%82%e5%be%97%e9%80%86%e8%bd%ac%e4%ba%a7%e5%93%81%e7%bc%ba%e7%82%b9%e4%b8%ba%e4%bc%98%e7%82%b9%e7%9a%84%e4%ba%a7%e5%93%81%e7%bb%8f%e7%90%86%e4%b8%8d%e6%98%af%e5%a5%bd%e7%9a%84%e4%ba%a7/#comments</comments>
		<pubDate>Thu, 15 Apr 2010 16:27:19 +0000</pubDate>
		<dc:creator>Edward</dc:creator>
				<category><![CDATA[IT业界]]></category>
		<category><![CDATA[WEB应用程序]]></category>
		<category><![CDATA[商业]]></category>
		<category><![CDATA[设计]]></category>
		<category><![CDATA[产品经理]]></category>

		<guid isPermaLink="false">http://edwardpku.com/blog/2010/04/%e4%b8%8d%e6%87%82%e5%be%97%e9%80%86%e8%bd%ac%e4%ba%a7%e5%93%81%e7%bc%ba%e7%82%b9%e4%b8%ba%e4%bc%98%e7%82%b9%e7%9a%84%e4%ba%a7%e5%93%81%e7%bb%8f%e7%90%86%e4%b8%8d%e6%98%af%e5%a5%bd%e7%9a%84%e4%ba%a7/</guid>
		<description><![CDATA[最近看了钥匙同学的文章之后我也开始想写点产品设计及运营的一些感触吧。王尔德说&#34;If a woman can&#8217;t make her mistakes charming, she is only a female.&#34; 那么我认为不能把产品运营以及产品设计中的缺点转化成优点的产品经理不是好的产品经理。不仅仅针对互联网产品，任何产品中都会有这样那样的缺点，而往往一个和别的产品不同优点就能造就一个热销的产品。就游戏运营而言，产品了bug之后除了修复bug之外，有的时候反而能够借力促进游戏的活跃度。Gangues有一个功能是追杀功能，但是上线之后由于追杀功能的不完善而没能被玩家接受，使用者并不多。而在此之后，有一些玩家利用游戏漏洞使得游戏获得了很多的游戏币，我们的计划是：

完善追杀功能，记录追杀历史。这样的好处就是提出追杀的玩家能够追踪追杀的情况。
使得这些玩家在一周之内无法进行战斗。并鼓励玩家去追杀这些玩家。
更新feed信息，来突出这一主题。使得由于这个bug离开游戏的玩家回到游戏中来。
回滚这些玩家的装备和金钱，使其接近正常情况。
 可以看到其效果是一箭双雕的。不仅让玩家解恨，同时还宣传了新功能。具体的数据还需要继续观察。我想我们会达到预期目地的。我想这就是危机，产品经理朝着机会去思考往往能够挽回败局。这一举措的效果如何呢？让我们拭目以待。
]]></description>
			<content:encoded><![CDATA[<p>最近看了<a href="http://woyaoshi.com">钥匙</a>同学的文章之后我也开始想写点产品设计及运营的一些感触吧。王尔德说&quot;If a woman can&#8217;t make her mistakes charming, she is only a female.&quot; 那么我认为不能把产品运营以及产品设计中的缺点转化成优点的产品经理不是好的产品经理。不仅仅针对互联网产品，任何产品中都会有这样那样的缺点，而往往一个和别的产品不同优点就能造就一个热销的产品。就游戏运营而言，产品了bug之后除了修复bug之外，有的时候反而能够借力促进游戏的活跃度。Gangues有一个功能是追杀功能，但是上线之后由于追杀功能的不完善而没能被玩家接受，使用者并不多。而在此之后，有一些玩家利用游戏漏洞使得游戏获得了很多的游戏币，我们的计划是：</p>
<ol>
<li>完善追杀功能，记录追杀历史。这样的好处就是提出追杀的玩家能够追踪追杀的情况。</li>
<li>使得这些玩家在一周之内无法进行战斗。并鼓励玩家去追杀这些玩家。</li>
<li>更新feed信息，来突出这一主题。使得由于这个bug离开游戏的玩家回到游戏中来。</li>
<li>回滚这些玩家的装备和金钱，使其接近正常情况。</li>
<p> 可以看到其效果是一箭双雕的。不仅让玩家解恨，同时还宣传了新功能。具体的数据还需要继续观察。我想我们会达到预期目地的。我想这就是危机，产品经理朝着机会去思考往往能够挽回败局。这一举措的效果如何呢？让我们拭目以待。</ol>
]]></content:encoded>
			<wfw:commentRss>http://edwardpku.com/blog/2010/04/%e4%b8%8d%e6%87%82%e5%be%97%e9%80%86%e8%bd%ac%e4%ba%a7%e5%93%81%e7%bc%ba%e7%82%b9%e4%b8%ba%e4%bc%98%e7%82%b9%e7%9a%84%e4%ba%a7%e5%93%81%e7%bb%8f%e7%90%86%e4%b8%8d%e6%98%af%e5%a5%bd%e7%9a%84%e4%ba%a7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alan Cooper访谈精选</title>
		<link>http://edwardpku.com/blog/2008/08/alan-cooper%e8%ae%bf%e8%b0%88%e7%b2%be%e9%80%89/</link>
		<comments>http://edwardpku.com/blog/2008/08/alan-cooper%e8%ae%bf%e8%b0%88%e7%b2%be%e9%80%89/#comments</comments>
		<pubDate>Tue, 19 Aug 2008 09:52:56 +0000</pubDate>
		<dc:creator>Edward</dc:creator>
				<category><![CDATA[设计]]></category>

		<guid isPermaLink="false">http://ed.4message.net/?p=296</guid>
		<description><![CDATA[
问: 如果某人想成为一个交互设计师，他应该怎样做呢？
答: 停止编程!
问: 为什么要停止编程?
答: 因为程序员和设计师的目标是有冲突的，你不可能同时做好两件事情
问: &#8220;程序员和设计师之间有冲突&#8221;? 但是他们在同一个团队中
答: 不，程序员和设计师的&#8221;目标&#8221;是有冲突的
问: 看来我没有机会成为一个交互设计师了，因为我是如此地喜欢编程
答: 如果你如此喜欢编程，为什么你想成为交互设计师?
问: Cooper先生，你能简要描述一下交互设计的实质吗?
答: 让技术为用户服务，而不是让用户服务技术
问: 你认为作为一个程序员或PM应当了解交互设计吗?
答: 好的交互设计师在你采用他们的计划时可以给出令人信服的原因
问: 一个好的交互设计师一般使用哪些工具? 你能介绍一个吗?
答: 我们用定性的现场调查技术，用户建模方法，设计原则，设计模板，许多纸和白色书写板
问: 但是如果作为一个PM对此没有任何了解，我怎样知道那小子将带领我们走向成功呢?
答: 对，你怎样才能知道呢？编程方面的知识能帮助你吗？我认为不能
问: 那么，什么能帮助我?
答: 一个交互设计师
问: 但是我认为现在在中国发现一个好的交互设计师不是很容易
答: 寻找一个好的交互设计师和寻找一个好的程序员同样的困难，在任何地方都是如此
问: 怎样判定交互设计师设计的好坏呢?
答: 为什么程序员要越过交互设计师来参加判断呢?
问: 我有一个感觉，Cooper先生是想鼓励我们自己寻找答案，而不是直接告诉我们
答: 交互设计不是工程类学科
问: 什么样的人能够成为交互设计师? 他们应当有哪些方面的能力?
答: 交互设计师需要具备凭空想象复杂行为的能力，交互设计应当在任何代码编写之前做。交互设计师必须能够在代码被写出来之前，想象它是做什么的
问: 但是我认为如果交互设计师没有实际的经验的话，他们想建立威信是非常困难的
答: 确实如此
问: 这种凭空想象复杂行为的能力能够训练出来吗?
答: 只有当你生来就是个天才，才不用接受训练。就象如果你生来就是编程天才，就不需要编程能力训练一样
问: 我感到很困惑
答: 困惑&#8211;这是一个非常好的开始！
问: 然后呢?
答: 然后你得作好准备学习一种非常困难、非常不同的技术
我不懂一个工程师为什么想做交互设计师？工程师们厌恶交互设计师所做的工作。交互设计师要处理的是人。没有CPU、编程语言、操作系统！
问: 按你的观点，交互设计师必须有一些编程经验吗?
答: 为什么你这样认为呢?
问: 因为如果他没有编程方面的经验，他想让程序员听他的将非常困难
答: 你的意思是工程师不听从交互设计师的安排? 为什么不呢?
问: 艺术家能从事交互设计师的工作吗? 或者办公室助理能从事交互设计工作吗?
答: 交互设计不是艺术。办公助理能写代码吗？交互设计与写代码相比是一个复杂的、老练的、困难的工作。
问: 在交互设计师建立他的威信前，形势是非常困难的。成为一个好的程序员也是建立他的威信和自信的一种方法
答: 为什么交互设计师要向程序员证明自己? 为什么不是程序员向交互设计师证明自己?
问: 但是在实际中，这是现实存在的
答: 我的工作就是要改变现实
问: 在中国，程序员的发展之路是: 编码&#8211;&#62;设计&#8211;&#62;管理
答: 我认为这是不正确的! 应当是初级程序员&#8211;&#62;程序员&#8211;&#62;高级程序员；初级设计师&#8211;&#62;中级设计师&#8211;&#62;高级设计师；初级管理者&#8211;&#62;中级管理者&#8211;&#62;高级管理者。程序员通常是一个差的设计师和差的管理者。所有的工作职称都含糊不清和令人困惑
问: [...]]]></description>
			<content:encoded><![CDATA[<div id="blog_text" class="cnt">
<p><span style="font-size: x-small;">问: 如果某人想成为一个交互设计师，他应该怎样做呢？<br />
答: 停止编程!</span></p>
<p><span style="font-size: x-small;">问: 为什么要停止编程?<br />
答: 因为程序员和设计师的目标是有冲突的，你不可能同时做好两件事情</span></p>
<p><span style="font-size: x-small;">问: &#8220;程序员和设计师之间有冲突&#8221;? 但是他们在同一个团队中<br />
答: 不，程序员和设计师的&#8221;目标&#8221;是有冲突的</span></p>
<p><span style="font-size: x-small;">问: 看来我没有机会成为一个交互设计师了，因为我是如此地喜欢编程<br />
答: 如果你如此喜欢编程，为什么你想成为交互设计师?</span></p>
<p><span style="font-size: x-small;">问: Cooper先生，你能简要描述一下交互设计的实质吗?<br />
答: <strong>让技术为用户服务，而不是让用户服务技术</strong></span></p>
<p><span style="font-size: x-small;">问: 你认为作为一个程序员或PM应当了解交互设计吗?<br />
答: 好的交互设计师在你采用他们的计划时可以给出令人信服的原因</span></p>
<p><span style="font-size: x-small;">问: 一个好的交互设计师一般使用哪些工具? 你能介绍一个吗?<br />
答: 我们用定性的现场调查技术，用户建模方法，设计原则，设计模板，许多纸和白色书写板</span></p>
<p><span style="font-size: x-small;">问: 但是如果作为一个PM对此没有任何了解，我怎样知道那小子将带领我们走向成功呢?<br />
答: 对，你怎样才能知道呢？编程方面的知识能帮助你吗？我认为不能</span></p>
<p><span style="font-size: x-small;">问: 那么，什么能帮助我?<br />
答: 一个交互设计师</span></p>
<p><span style="font-size: x-small;">问: 但是我认为现在在中国发现一个好的交互设计师不是很容易<br />
答: 寻找一个好的交互设计师和寻找一个好的程序员同样的困难，在任何地方都是如此</span></p>
<p><span style="font-size: x-small;">问: 怎样判定交互设计师设计的好坏呢?<br />
答: 为什么程序员要越过交互设计师来参加判断呢?</span></p>
<p><span style="font-size: x-small;">问: 我有一个感觉，Cooper先生是想鼓励我们自己寻找答案，而不是直接告诉我们<br />
答: 交互设计不是工程类学科</span></p>
<p><span style="font-size: x-small;">问: 什么样的人能够成为交互设计师? 他们应当有哪些方面的能力?<br />
答: 交互设计师需要具备凭空想象复杂行为的能力，交互设计应当在任何代码编写之前做。交互设计师必须能够在代码被写出来之前，想象它是做什么的</span></p>
<p><span style="font-size: x-small;">问: 但是我认为如果交互设计师没有实际的经验的话，他们想建立威信是非常困难的<br />
答: 确实如此</span></p>
<p><span style="font-size: x-small;">问: 这种凭空想象复杂行为的能力能够训练出来吗?<br />
答: 只有当你生来就是个天才，才不用接受训练。就象如果你生来就是编程天才，就不需要编程能力训练一样</span></p>
<p><span style="font-size: x-small;">问: 我感到很困惑<br />
答: 困惑&#8211;这是一个非常好的开始！</span></p>
<p><span style="font-size: x-small;">问: 然后呢?<br />
答: 然后你得作好准备学习一种非常困难、非常不同的技术<br />
我不懂一个工程师为什么想做交互设计师？<strong>工程师们厌恶交互设计师所做的工作。交互设计师要处理的是人。没有CPU、编程语言、操作系统！</strong></span></p>
<p><span style="font-size: x-small;">问: 按你的观点，交互设计师必须有一些编程经验吗?<br />
答: 为什么你这样认为呢?</span></p>
<p><span style="font-size: x-small;">问: 因为如果他没有编程方面的经验，他想让程序员听他的将非常困难<br />
答: 你的意思是工程师不听从交互设计师的安排? 为什么不呢?</span></p>
<p><span style="font-size: x-small;">问: 艺术家能从事交互设计师的工作吗? 或者办公室助理能从事交互设计工作吗?<br />
答: 交互设计不是艺术。办公助理能写代码吗？交互设计与写代码相比是一个复杂的、老练的、困难的工作。</span></p>
<p><span style="font-size: x-small;">问: 在交互设计师建立他的威信前，形势是非常困难的。成为一个好的程序员也是建立他的威信和自信的一种方法<br />
答: <strong>为什么交互设计师要向程序员证明自己? 为什么不是程序员向交互设计师证明自己?</strong></span></p>
<p><span style="font-size: x-small;">问: 但是在实际中，这是现实存在的<br />
答: <strong>我的工作就是要改变现实</strong></span></p>
<p><span style="font-size: x-small;">问: 在中国，程序员的发展之路是: 编码&#8211;&gt;设计&#8211;&gt;管理<br />
答: 我认为这是不正确的! 应当是<strong>初级程序员&#8211;&gt;程序员&#8211;&gt;高级程序员</strong>；<strong>初级设计师&#8211;&gt;中级设计师&#8211;&gt;高级设计师</strong>；<strong>初级管理者&#8211;&gt;中级管理者&#8211;&gt;高级管理者</strong>。程序员通常是一个差的设计师和差的管理者。所有的工作职称都含糊不清和令人困惑</span></p>
<p><span style="font-size: x-small;">问: 我想你的意思是交互设计师负责表达，程序员负责逻辑，缺少任何一部分都将做不成事<br />
答: 你说得对。&#8221;缺少任何一部分都将一事无成&#8221;: 对，对，对!!!!!</span></p>
<p><span style="font-size: x-small;">问: 每个人都应当考虑哪种角色最适合他自己。当他有目标时，他将能把他的工作做得很好<br />
答: 真正喜欢编程，而且确实精于编程的人，应当继续编程，做别的都是浪费</span></p>
<p><span style="font-size: x-small;">问: 但是有时候老板需要你成为一个PM，那应该怎么办?<br />
答: 那老板应当回去编程。</span></p>
<p><span style="font-size: x-small;">问: 你现在已经成为一个著名的交互设计师了，这是否意味着你不再喜欢编程了?<br />
答: 我喜欢，但是我对它不再有足够的兴趣了</span></p>
<p><span style="font-size: x-small;">问: 根据你的交互设计观点来看哪一种手机更好？Motolora, Nokia, Ericsson?<br />
答: 我认为他们都是垃圾!</span></p>
<p><span style="font-size: x-small;">问: 但是&#8230;他们都很笨吗？加上microsoft、IBM? 他们都是一样的笨?<br />
答: 手机不应该成为一团。为什么我需要将键盘举到我的耳边？为什么作为一个和人交流的工具要有号码？我认为手机应当是隐形的，一个带小型麦克风的听筒放在头部</span></p>
<p><span style="font-size: x-small;">问: 有很多这样的例子：用户告诉你需要在很短的期限内完成项目，然后给你提出许多不断变化的需求来。这里还能有某种交互设计吗?<br />
答: <strong>这只能说明那里的管理非常差</strong></span></p>
<p><span style="font-size: x-small;">问: 您对这样的坏环境有什么建议吗?<br />
答: 建议在没有完成软件行为描述文档前，告诉管理者不要让你们开始编码。功能和表达不是一回事。特征和行为不是一回事</span></p>
<p><span style="font-size: x-small;">问: 你认为我们能怎样将行为文档化?<br />
答: 画图形</span></p>
<p><span style="font-size: x-small;">问: 用什么工具？photoshop?<br />
答: 用铅笔。我们经常用白板。PowerPoint也挺好的</span></p>
<p><span style="font-size: x-small;">问: 那么，我们到哪里和怎样发现这样的设计师呢?<br />
答: 他们就在那里。可能不在编程人员中，可能在技术支持，测试，文档编写&#8230;等人员中。当交互设计师被压抑如此长的时间之后，寻找他们是非常困难的</span></p>
<p><span style="font-size: x-small;">问: 我认为交互设计是对产品的，而不是对项目的<br />
答: 产品和项目，其中的差别是不明显的。对于用户来说，没有一个比设计更重要</span></p>
<p><span style="font-size: x-small;">问: 在美国，交互设计师是否已经普及了?<br />
答: 正在不断发展</span></p>
<p><span style="font-size: x-small;">问: web将何去何从? HTML作为交互设计并不适合?<br />
答: HTML是垃圾!<br />
许多HTML的限制能通过好的设计来弥补，但是很少有程序员能听从设计师的意见。越过HTML的限制也需要大量复杂的代码!</span></p>
<p><span style="font-size: x-small;">问: WEB将走向哪里？既然HTML是垃圾<br />
答: 更聪明的浏览器! 它应当能记住信息，将相关资料写到磁盘上，和服务器交互通信。它应当有更好的交流方式，比如象拖拉、卷动、刷新</span></p>
<p><span style="font-size: x-small;">问: &#8220;往磁盘上写信息&#8221;安全吗? &#8220;聪明的浏览器记录资料&#8221;与隐私权相冲突吧?<br />
答: 对! 那是需要解决的问题。但是解决起来并不困难</span></p>
<p><span style="font-size: x-small;">问: 如果交互设计师做错了一些事情呢？他们在项目中的地位是如此重要，所以很容易毁了所有的事情<br />
答: 如果程序员做错了一些事情呢？</span></p>
<p><span style="font-size: x-small;">问: 解雇他?<br />
答: 对，专业人员不能犯错误!</span></p>
<p><span style="font-size: x-small;">问: 对于一个项目中有限的时间及好的交互设计之间的冲突你是怎样看的?<br />
答: 为什么有时间限制? 谁将时间定得这么短? 为什么定得这么短? 他缩短时间是为了什么?</span></p>
<p><span style="font-size: x-small;">问: 时间就是金钱<br />
答: 浪费了的时间是金钱</span></p>
<p><span style="font-size: x-small;">问: 老板关心他的钱，我们关心项目<br />
答: 管理者将时间期限定得短是因为他们不知道程序员在做什么。交互设计师能告诉管理者程序员在做什么。交互设计师能给程序员争取更多的时间</span></p>
<p><span style="font-size: x-small;">问: 我认为交互设计关注的焦点是用户的需求而不是设计<br />
答: 对!!! 就象我在前面所说的，交互设计和用户界面设计不是一回事!</span></p>
<p><span style="font-size: x-small;">问: 那么谁负责确定软件将要做什么? 交互设计师吗?<br />
答: 交互设计师就是具有能非常好地解答上述问题，以便别人顺利完成任务的人</span></p>
<p><span style="font-size: x-small;">问: 谁控制过程? 交互设计师吗?<br />
答: 过程应该由管理者来控制</span></p>
<p><span style="font-size: x-small;">问: 交互设计师的工作职责是什么?<br />
答: <strong>程序的外观和行为应该由交互设计师控制! 技术和编码应当由程序员控制!</strong></span></p>
<p><span style="font-size: x-small;">问: 那么请告诉我，交互设计师在一个项目中负责做什么? 他担负什么样的职责?<br />
答: 交互设计师应当负责程序做什么和怎样表达, 我们设计项目的第一部分是针对问题域详细研究项目</span></p>
<p><span style="font-size: x-small;">问: 交互设计师和项目管理者可以是同一个人吗?<br />
答: <strong>为什么? 为什么让一个领域的专家工作于另一个领域?</strong></span></div>
]]></content:encoded>
			<wfw:commentRss>http://edwardpku.com/blog/2008/08/alan-cooper%e8%ae%bf%e8%b0%88%e7%b2%be%e9%80%89/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jeremy Keith 的js论</title>
		<link>http://edwardpku.com/blog/2008/08/jeremy-keith-%e7%9a%84js%e8%ae%ba/</link>
		<comments>http://edwardpku.com/blog/2008/08/jeremy-keith-%e7%9a%84js%e8%ae%ba/#comments</comments>
		<pubDate>Tue, 19 Aug 2008 08:52:43 +0000</pubDate>
		<dc:creator>Edward</dc:creator>
				<category><![CDATA[设计]]></category>

		<guid isPermaLink="false">http://ed.4message.net/?p=295</guid>
		<description><![CDATA[近日一直在阅读Jeremy Keith的JavaScript DOM编程艺术这本书，手不释卷！书中解释了一些交互式WEB设计中遵循的一些原则：

预留退路，假如用户的显示器不支持js或是关闭js功能，仍能正常使用，这样能提高search bot的排名
分离JS和HTML（控制和显示框架的分离）
向后兼容（检验是否支持js中使用的一些元素，例如if(!getElementById)return false;）

当然这些原则都不是绝对的，很多情况下会打破这些原则。作者同时主张结构，样式和行为的分离！
文中还提供了一些常用和实用的js函数，例如insertAfer,adOnloadEvent,缩略词表，文献来源清单，快速访问键清单，设置表格背景颜色。
我喜欢此书中一句话：“想要编出高质量的DOM脚本，知道多少DOM方法和属性并不是最重要的因素。编写出来的脚本是否健壮,是否有足够的预留退路才是最重要的，而最重要的原则是必须把网页的结构层，表示层和行为层分离开来。”
]]></description>
			<content:encoded><![CDATA[<p>近日一直在阅读Jeremy Keith的JavaScript DOM编程艺术这本书，手不释卷！书中解释了一些交互式WEB设计中遵循的一些原则：</p>
<ol>
<li>预留退路，假如用户的显示器不支持js或是关闭js功能，仍能正常使用，这样能提高search bot的排名</li>
<li>分离JS和HTML（控制和显示框架的分离）</li>
<li>向后兼容（检验是否支持js中使用的一些元素，例如if(!getElementById)return false;）</li>
</ol>
<p>当然这些原则都不是绝对的，很多情况下会打破这些原则。作者同时主张结构，样式和行为的分离！</p>
<p>文中还提供了一些常用和实用的js函数，例如insertAfer,adOnloadEvent,缩略词表，文献来源清单，快速访问键清单，设置表格背景颜色。</p>
<p>我喜欢此书中一句话：“想要编出高质量的DOM脚本，知道多少DOM方法和属性并不是最重要的因素。编写出来的脚本是否健壮,是否有足够的预留退路才是最重要的，而最重要的原则是必须把网页的结构层，表示层和行为层分离开来。”</p>
]]></content:encoded>
			<wfw:commentRss>http://edwardpku.com/blog/2008/08/jeremy-keith-%e7%9a%84js%e8%ae%ba/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to make  a expand/collapse sidebar with recollect effect</title>
		<link>http://edwardpku.com/blog/2008/07/how-to-make-a-expandcollapse-sidebar-with-recollect-effect/</link>
		<comments>http://edwardpku.com/blog/2008/07/how-to-make-a-expandcollapse-sidebar-with-recollect-effect/#comments</comments>
		<pubDate>Tue, 29 Jul 2008 02:17:29 +0000</pubDate>
		<dc:creator>Edward</dc:creator>
				<category><![CDATA[设计]]></category>

		<guid isPermaLink="false">http://ed.4message.net/?p=283</guid>
		<description><![CDATA[Because of my work, I know much about how to implement this sidebar.At first I want to use the display property of the tab to control the expand/collapse effect.The theroy of this tech is if you onclik on link the conponet that I want to display will block and form will disappear.But at last I [...]]]></description>
			<content:encoded><![CDATA[<p>Because of my work, I know much about how to implement this sidebar.At first I want to use the display property of the tab to control the expand/collapse effect.The theroy of this tech is if you onclik on link the conponet that I want to display will block and form will disappear.But at last I faced a problem that it can’t remeber the state of the sidebar,in other words,I don’t know that option do you click if you don’t click it. In my mentor’s help, I changed my thinking.Using innerHTML property is suitable in this application. </p>
<p>I will introduce how it works as follows:</p>
<p>First I defined a js funciton named display to display different content with different option.Then the page that import this js file can use this function.The code is:</p>
<p><strong>HTML&#160; File:</strong></p>
<p>&lt;div&gt;</p>
<p>&lt;select id=”content” onchange=”display(this.value)”&gt;</p>
<p>&lt;option value=”1”&gt;option 1&lt;/option&gt;</p>
<p>&lt;option value=”2”&gt;option 2&lt;/option&gt;</p>
<p>&lt;option value=”3”&gt;option 3&lt;/option&gt;</p>
<p>&lt;option value=”4”&gt;option 4&lt;/option&gt;</p>
<p>&lt;/select&gt;</p>
<p>&lt;/div&gt;</p>
<p>&#160;</p>
<p><strong>js File</strong></p>
<p>function display(id)</p>
<p>{</p>
<p>swith(id)</p>
<p>{</p>
<p>case “1”:</p>
<p>document.getElementById(content).innerHTML=”&lt;h1&gt;First content&lt;/h1&gt;”;</p>
<p>break;</p>
<p>case “2”:</p>
<p>document.getElementById(content).innerHTML=”&lt;h1&gt;Second content&lt;/h1&gt;”;</p>
<p>break;</p>
<p>case “3”:</p>
<p>document.getElementById(content).innerHTML=”&lt;h1&gt;Third content&lt;/h1&gt;”;</p>
<p>break;</p>
<p>case “4”:</p>
<p>document.getElementById(content).innerHTML=”&lt;h1&gt;Fourth content&lt;/h1&gt;”;</p>
<p>break;</p>
<p>}</p>
<p>}</p>
]]></content:encoded>
			<wfw:commentRss>http://edwardpku.com/blog/2008/07/how-to-make-a-expandcollapse-sidebar-with-recollect-effect/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS+DIV</title>
		<link>http://edwardpku.com/blog/2008/07/cssdiv/</link>
		<comments>http://edwardpku.com/blog/2008/07/cssdiv/#comments</comments>
		<pubDate>Thu, 17 Jul 2008 07:22:06 +0000</pubDate>
		<dc:creator>Edward</dc:creator>
				<category><![CDATA[设计]]></category>

		<guid isPermaLink="false">http://ed.4message.net/?p=275</guid>
		<description><![CDATA[I studied CSS+DIV these days. It is cool~~ Different with the traditional table div+CSS is more controllable and reusable. I studied how to make a round corner with it and the Inheritance between this tags. It makes the web page design better. In the following days, I will add more features to my side bar [...]]]></description>
			<content:encoded><![CDATA[<p>I studied CSS+DIV these days. It is cool~~ Different with the traditional table div+CSS is more controllable and reusable. I studied how to make a round corner with it and the Inheritance between this tags. It makes the web page design better. In the following days, I will add more features to my side bar as follows:</p>
<ol>
<li>make the sidebar scalable</li>
<li>use the exiting code to make the page changed by user&#8217;s option</li>
<li>make the feature &#8220;search by methods and fields&#8221; come true</li>
</ol>
<p>In this projects remember user&#8217;s status is critical.</p>
]]></content:encoded>
			<wfw:commentRss>http://edwardpku.com/blog/2008/07/cssdiv/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
