<?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>Glenn's Second Brain &#187; web20</title>
	<atom:link href="http://www.glennmarcus.com/blog/topic/web20/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.glennmarcus.com/blog</link>
	<description>For the spillover</description>
	<lastBuildDate>Thu, 15 Apr 2010 23:28:56 +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>CSS Specificity And Inheritance</title>
		<link>http://www.glennmarcus.com/blog/2010/04/07/css-specificity-and-inheritance/</link>
		<comments>http://www.glennmarcus.com/blog/2010/04/07/css-specificity-and-inheritance/#comments</comments>
		<pubDate>Wed, 07 Apr 2010 14:34:54 +0000</pubDate>
		<dc:creator>Inayaili de Leon</dc:creator>
				<category><![CDATA[web20]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[user/12651333281871808648/label/web20]]></category>
		<category><![CDATA[user/12651333281871808648/state/com.google/fresh]]></category>
		<category><![CDATA[user/12651333281871808648/state/com.google/read]]></category>

		<guid isPermaLink="false">tag:google.com,2005:reader/item/da46796c715e6076</guid>
		<description><![CDATA[<table width="650">
<tr>
<td width="650">
<div style="width:650px"> <img src="http://creatives.commindo-media.de/static/smashing-magazine-advertisement.gif" alt="Smashing-magazine-advertisement in CSS Specificity And Inheritance" border="0"/><br /> <a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=56"><img src="http://creatives.commindo-media.de/www/delivery/avw.php?zoneid=56" border="0" alt=" in CSS Specificity And Inheritance"/></a>Â <a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=63"><img src="http://creatives.commindo-media.de/www/delivery/avw.php?zoneid=63" border="0" alt=" in CSS Specificity And Inheritance"/></a>Â <a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=64"><img src="http://creatives.commindo-media.de/www/delivery/avw.php?zoneid=64" border="0" alt=" in CSS Specificity And Inheritance"/></a></div>
</td>
</tr>
</table>
<p>CSSâ€™ barrier to entry is extremely low, mainly due to the nature of its syntax. Being clear and easy to understand, the syntax makes sense even to the inexperienced Web designer. Itâ€™s so simple, in fact, that you could style a simple CSS-based website within a few hours of learning it.</p>
<p>But <strong>this apparent simplicity is deceitful</strong>. If after a few hours of work, your perfectly crafted website looks great in Safari, all hell might break loose if you havenâ€™t taken the necessary measures to make it work in Internet Explorer. In a panic, you add hacks and filters where only a few tweaks or a different approach might do. Knowing how to deal with these issues comes with experience, with trial and error and with failing massively and then learning the correct way.</p>
<p>Understanding a few often overlooked concepts is also important. The concepts may be hard to grasp and look boring at first, but understanding them and knowing how to take advantage of them is important.</p>
<p>Two of these concepts are <strong>specificity</strong> and <strong>inheritance</strong>. Not very common words among Web designers, are they? Talking about <code>border-radius</code> and <code>text-shadow</code> is a lot more fun; but specificity and inheritance are fundamental concepts that any person who wants to be good at CSS should understand. They will help you create clean, maintainable and flexible style sheets. Letâ€™s look at what they mean and how they work.</p>
<p>The notion of a â€œ<strong>cascade</strong>â€ is at the heart of CSS (just look at its name). It ultimately determines which properties will&#8230;</p>]]></description>
			<content:encoded><![CDATA[<table width="650">
<tr>
<td width="650">
<div style="width:650px"> <img src="http://creatives.commindo-media.de/static/smashing-magazine-advertisement.gif" alt="Smashing-magazine-advertisement in CSS Specificity And Inheritance" border="0"/><br /> <a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=56"><img src="http://creatives.commindo-media.de/www/delivery/avw.php?zoneid=56" border="0" alt=" in CSS Specificity And Inheritance"/></a>Â <a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=63"><img src="http://creatives.commindo-media.de/www/delivery/avw.php?zoneid=63" border="0" alt=" in CSS Specificity And Inheritance"/></a>Â <a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=64"><img src="http://creatives.commindo-media.de/www/delivery/avw.php?zoneid=64" border="0" alt=" in CSS Specificity And Inheritance"/></a></div>
</td>
</tr>
</table>
<p>CSSâ€™ barrier to entry is extremely low, mainly due to the nature of its syntax. Being clear and easy to understand, the syntax makes sense even to the inexperienced Web designer. Itâ€™s so simple, in fact, that you could style a simple CSS-based website within a few hours of learning it.</p>
<p>But <strong>this apparent simplicity is deceitful</strong>. If after a few hours of work, your perfectly crafted website looks great in Safari, all hell might break loose if you havenâ€™t taken the necessary measures to make it work in Internet Explorer. In a panic, you add hacks and filters where only a few tweaks or a different approach might do. Knowing how to deal with these issues comes with experience, with trial and error and with failing massively and then learning the correct way.</p>
<p>Understanding a few often overlooked concepts is also important. The concepts may be hard to grasp and look boring at first, but understanding them and knowing how to take advantage of them is important.</p>
<p>Two of these concepts are <strong>specificity</strong> and <strong>inheritance</strong>. Not very common words among Web designers, are they? Talking about <code>border-radius</code> and <code>text-shadow</code> is a lot more fun; but specificity and inheritance are fundamental concepts that any person who wants to be good at CSS should understand. They will help you create clean, maintainable and flexible style sheets. Letâ€™s look at what they mean and how they work.</p>
<p>The notion of a â€œ<strong>cascade</strong>â€ is at the heart of CSS (just look at its name). It ultimately determines which properties will modify a given element. The cascade is tied to three main concepts: importance, specificity and source order. The cascade follows these three steps to determine which properties to assign to an element. By the end of this process, the cascade has assigned a <strong>weight</strong> to each rule, and this weight determines which rule takes precedence, when more than one applies.</p>
<p>Please consider reading our previous related article:</p>
<ul>
<li><a href="http://www.smashingmagazine.com/2007/07/27/css-specificity-things-you-should-know/">CSS Specificity: Things You Should Know</a></li>
</ul>
<p>[Offtopic: by the way, did you know that there is a Smashing eBook Series? Book #1 is <a href="http://shop.smashingmagazine.com/smashing-ebook-series-1-professional-web-design-intl.html">Professional Web Design</a>, 242 pages for just $9,90.]</p>
<h3>1. Importance</h3>
<p>Style sheets can have a few different sources:</p>
<ol>
<li><strong>User agent</strong><br /> For example, the browserâ€™s default style sheet.</li>
<li><strong>User</strong><br /> Such as the userâ€™s browser options.</li>
<li><strong>Author</strong><br /> This is the CSS provided by the page (whether inline, embedded or external)</li>
</ol>
<p>By default, this is the order in which the different sources are processed, so the authorâ€™s rules will override those of the user and user agent, and so on.</p>
<p>There is also the <code>!important</code> declaration to consider in the cascade. This declaration is used to balance the relative priority of user and author style sheets. While author style sheets take precedence over user ones, if a user rule has <code>!important</code> applied to it, it will override even an author rule that also has <code>!important</code> applied to it.</p>
<p>Knowing this, letâ€™s look at the final order, in <strong>ascending order of importance</strong>:</p>
<ol>
<li>User agent declarations,</li>
<li>User declarations,</li>
<li>Author declarations,</li>
<li>Author <code>!important</code> declarations,</li>
<li>User <code>!important</code> declarations.</li>
</ol>
<p>This flexibility in priority is key because it allows users to override styles that could hamper the accessibility of a website. (A user might want a larger font or a different color, for example.)</p>
<h3>2. Specificity</h3>
<p>Every CSS rule has a <strong>particular weight</strong> (as mentioned in the introduction), meaning it could be more or less important than the others or equally important. This weight defines which properties will be applied to an element when there are conflicting rules.</p>
<p>Upon assessing a ruleâ€™s importance, the cascade attributes a specificity to it; if one rule is more specific than another, it overrides it.</p>
<p>If two rules share the same weight, source and specificity, <strong>the later one is applied</strong>.</p>
<h4>2.1 How to Calculate Specificity?</h4>
<p>There are <strong>several ways to calculate</strong> a selectorâ€™s specificity.</p>
<p>The quickest way is to do the following. Add 1 for each element and pseudo-element (for example, <code>:before</code> and <code>:after</code>); add 10 for each attribute (for example, <code>[type=â€textâ€]</code>), class and pseudo-class (for example, <code>:link</code> or <code>:hover</code>); add 100 for each ID; and add 1000 for an inline style.</p>
<p>Letâ€™s calculate the specificity of the following selectors using this method:</p>
<ul>
<li><code><strong>p.note</strong></code><br /> 1 class + 1 element = 11</li>
<li><code><strong>#sidebar p[lang="en"]</strong></code><br /> 1 ID + 1 attribute + 1 element = 111</li>
<li><code><strong>body #main .post ul li:last-child</strong></code><br /> 1 ID + 1 class + 1 pseudo-class + 3 elements = 123</li>
</ul>
<p>A similar method, described in the W3Câ€™s specifications, is to start with a=0, b=0, c=0 and d=0 and replace the numbers accordingly:</p>
<ul>
<li>a = 1 if the style is inline,</li>
<li>b = the number of IDs,</li>
<li>c = the number of attribute selectors, classes and pseudo-classes,</li>
<li>d = the number of element names and pseudo-elements.</li>
</ul>
<p>Letâ€™s calculate the specificity of another set of selectors:</p>
<ul>
<li><code><strong>&lt;p style=&quot;color:#000000;&quot;&gt;</strong></code><br /> a=1, b=0, c=0, d=0 â†’ 1000</li>
<li><code><strong>footer nav li:last-child</strong></code><br /> a=0, b=0, c=1, d=3 â†’ 0013</li>
<li><code><strong>#sidebar input:not([type="submit"])</strong></code><br /> a=0, b=1, c=1, d=1 â†’ 0111<br /> <em>(Note that the negation pseudo-class doesnâ€™t count, but the selector inside it does.)</em></li>
</ul>
<p>If youâ€™d rather learn this in a <strong>more fun way</strong>, Andy Clarke drew a clever <a href="http://www.stuffandnonsense.co.uk/archives/css_specificity_wars.html">analogy between specificity and Star Wars</a> back in 2005, which certainly made it easier for Star Wars fans to understand specificity. Another good explanation is â€œ<a href="http://iamacamera.org/default.aspx?id=95">CSS Specificity for Poker Players</a>,â€ though slightly more complicated.</p>
<p><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/03/starwars.jpg" alt="Starwars in CSS Specificity And Inheritance" width="500" height="300"/><br /> <em>Andy Clarkeâ€™s CSS Specificity Wars chart.</em></p>
<p>Remember that non-CSS presentational markup is attributed with a specificity of 0, which would apply, for example, to the <code>font</code> tag.</p>
<p>Getting back to the <code>!important</code> declaration, keep in mind that using it on a shorthand property is the same as declaring all of its sub-properties as <code>!important</code> (even if that would revert them to the default values).</p>
<p>If you are using imported style sheets (<code>@import</code>) in your CSS, you have to declare them before all other rules. Thus, they would be considered as coming before all the other rules in the CSS file.</p>
<p>Finally, if two selectors turn out to have the same specificity, <strong>the last one will override</strong> the previous one(s).</p>
<h4>2.2 Making Specificity Work For You</h4>
<p>If not carefully considered, specificity can come back to haunt you and lead you to unwittingly transform your style sheets into a complex hierarchy of unnecessarily complicated rules.</p>
<p>You can follow a few <strong>guidelines</strong> to avoid major issues:</p>
<ul>
<li>When starting work on the CSS, use generic selectors, and add specificity as you go along;</li>
<li>Using advanced selectors doesnâ€™t mean using unnecessarily complicated ones;</li>
<li>Rely more on specificity than on the order of selectors, so that your style sheets are easier to edit and maintain (especially by others).</li>
</ul>
<p>A good rule of thumb can be found in Jim Jeffersâ€™ article, â€œ<a href="http://donttrustthisguy.com/2010/03/07/the-art-and-zen-of-writing-css/">The Art and Zen of Writing CSS</a>â€:</p>
<blockquote><p>Refactoring CSS selectors to be less specific is exponentially more difficult than simply adding specific rules as situations arise.</p>
</blockquote>
<h3>3. Inheritance</h3>
<p>A succinct and clear explanation of inheritance is in the <a href="http://www.w3.org/TR/css3-cascade/">CSS3 Cascading and Inheritance module</a> specifications (still in â€œWorking draftâ€ mode):</p>
<blockquote><p>Inheritance is a way of propagating property values from parent elements to their children.</p>
</blockquote>
<p>Some CSS properties are inherited by the children of elements by default. For example, if you set the <code>body</code> tag of a page to a specific font, that font will be inherited by other elements, such as headings and paragraphs, without you having to specifically write as much. This is the magic of inheritance at work.</p>
<p>The CSS specification determines whether each property is inherited by default or not. <strong>Not all properties are inherited</strong>, but you can force ones to be by using the <code>inherit</code> value.</p>
<h4>3.1 Object-Oriented Programming Inheritance</h4>
<p>Though beyond the scope of this article, CSS inheritance shouldnâ€™t be confused with object-oriented programming (OOP) inheritance. Here is the definition of <a href="http://en.wikipedia.org/wiki/Inheritance_(computer_science)">OOP inheritance from Wikipedia</a>, and it makes clear that we are <em>not</em> talking about the same thing:</p>
<blockquote><p>In object-oriented programming (OOP), inheritance is a way to form new classes [â€¦] using classes that have already been defined. Inheritance is employed to help reuse existing code with little or no modification. The new classes [â€¦] inherit attributes and behavior of the pre-existing classes. â€¦</p>
</blockquote>
<h4>3.2 How Inheritance Works</h4>
<p>When an element inherits a value from its parent, it is inheriting its computed value. What does this mean? Every CSS property goes through a four-step process when its value is being determined. Hereâ€™s an excerpt from the <a href="http://www.w3.org/TR/CSS2/cascade.html#value-stages">W3C specification</a>:</p>
<blockquote><p>The final value of a property is the result of a four-step calculation: the value is determined through specification (the â€œspecified valueâ€), then resolved into a value that is used for inheritance (the â€œcomputed valueâ€), then converted into an absolute value if necessary (the â€œused valueâ€), and finally transformed according to the limitations of the local environment (the â€œactual valueâ€).</p>
</blockquote>
<p>In other words:</p>
<ol>
<li><strong>Specified value</strong><br /> The user agent determines whether the value of the property comes from a style sheet, is inherited or should take its initial value.</li>
<li><strong>Computed value</strong><br /> The specified value is resolved to a computed value and exists even when a property doesnâ€™t apply. The document doesnâ€™t have to be laid out for the computed value to be determined.</li>
<li><strong>Used value</strong><br /> The used value takes the computed value and resolves any dependencies that can only be calculated after the document has been laid out (like percentages).</li>
<li><strong>Actual value</strong><br /> This is the value used for the final rendering, after any approximations have been applied (for example, converting a decimal to an integer).</li>
</ol>
<p>If you look at any CSS <strong>propertyâ€™s specification</strong>, you will see that it defines its initial (or default) value, the elements it applies to, its inheritance status and its computed value (among others). For example, the <code>background-color</code> specification states the following:</p>
<blockquote><p>Name: background-color<br /> Value: &lt;color&gt;<br /> Initial: transparent<br /> Applies to: all elements<br /> Inherited: no<br /> Percentages: N/A<br /> Media: visual<br /> Computed value: the computed color(s)</p>
</blockquote>
<p>Confusing? It can be. So, what do we need to understand from all this? And why is it relevant to inheritance?</p>
<p>Letâ€™s go back to the first sentence of this section, which should make more sense now. <em>When an element inherits a value from its parent, it inherits its computed value</em>. Because the computed value exists even if it isnâ€™t specified in the style sheet, a property can be inherited even then: the initial value will be used. So, you can make use of inheritance even if the parent doesnâ€™t have a specified property.</p>
<h4>3.3 Using Inheritance</h4>
<p>The most important thing to know about inheritance is that itâ€™s there and how it works. If you ignore the jargon, inheritance is actually very straightforward.</p>
<p>Imagine you had to specify the <code>font-size</code> or <code>font-family</code> of every element, instead of simply adding it to the <code>body</code> element? That would cumbersome, which is why inheritance is so helpful.</p>
<p>Donâ€™t break it by <strong>using the universal selector</strong> (<code>*</code>) with properties that inherit by default. Bobby Jack wrote <a href="http://www.fiveminuteargument.com/blog/stop-breaking-inheritance">an interesting post about this</a> on his Five-Minute Argument blog. You donâ€™t have to remember all of the properties that inherit, but you will in time.</p>
<p>Rarely does a CSS-related article not bring some kind of bad news about Internet Explorer. This article is no exception. IE supports the <code>inherit</code> value only from version 8, except for the <code>direction</code> and <code>visibility</code> properties. Great.</p>
<h3>4. Using Your Tools</h3>
<p>If you use tools like Firebug or Safariâ€™s Web Inspector, you can see how a given cascade works, which selectors have higher specificity and how inheritance is working on a particular element.</p>
<p>For example, here below is <strong>Firebug</strong> in action, inspecting an element on the page. You can see that some properties are overridden (i.e. crossed out) by other more specific rules:</p>
<p><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/03/firebug.png" alt="Firebug in CSS Specificity And Inheritance" width="399" height="329"/><br /> <em>Firebug in action, informing you how specificity is working.</em></p>
<p>In the next shot, <strong>Safariâ€™s Web Inspector</strong> shows the computed values of an element. This way, you can see the values even though they havenâ€™t been explicitly added to the style sheet:</p>
<p><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/03/safari.png" alt="Safari in CSS Specificity And Inheritance" width="474" height="278"/><br /> <em>With Safariâ€™s Web Inspector (and Firebug), you can view the computed values of a particular element.</em></p>
<h3>5. Conclusion</h3>
<p>Hopefully this article has opened your eyes to (or has refreshed your knowledge of) CSS inheritance and specificity. We encourage you to read the articles cited below, as well as <a href="http://www.smashingmagazine.com/2007/07/27/css-specificity-things-you-should-know/">Smashing Magazineâ€™s previous article on the topic</a>.</p>
<p>Even if you donâ€™t think about them, these issues are present in your daily work as a CSS author. Especially in the case of specificity, itâ€™s important to know how they affect your style sheets and how to plan for them so that they cause only minimal (or no) problems.</p>
<h3>Resources And Further Reading</h3>
<ul>
<li><a href="http://www.w3.org/TR/CSS2/cascade.html">Assigning Property Values, Cascading, and Inheritance</a>, W3C</li>
<li><a href="http://www.w3.org/TR/css3-cascade/">CSS3: Cascading and Inheritance</a>, W3C</li>
<li><a href="http://www.w3.org/TR/css3-selectors/#specificity">Selectors Level 3: Calculating a Selectorâ€™s Specificity</a>, W3C</li>
<li><a href="http://reference.sitepoint.com/css/cascade">The Cascade</a>, SitePoint</li>
<li><a href="http://dev.opera.com/articles/view/28-inheritance-and-cascade/">Inheritance and Cascade</a>, Dev.Opera</li>
<li><a href="http://dorward.me.uk/www/css/inheritance/">CSS Inheritance</a>, Dorward Online</li>
<li><a href="http://monc.se/kitchen/38/cascading-order-and-inheritance-in-css">Cascading Order and Inheritance in CSS</a>, Davidâ€™s Kitchen</li>
<li><a href="http://www.vanseodesign.com/css/css-specificity-inheritance-cascaade/">Understanding Style Precedence in CSS: Specificity, Inheritance, and the Cascade</a>, Van SEO Design</li>
<li><a href="http://css-tricks.com/specifics-on-css-specificity/">Specifics on CSS Specificity</a>, CSS-Tricks</li>
<li><a href="http://meyerweb.com/eric/css/link-specificity.html">Link Specificity</a>, meyerweb.com</li>
<li><a href="http://www.mezzoblue.com/archives/2005/01/20/redundancy_v/">Redundancy vs. Dependency</a>, mezzoblue</li>
</ul>
<p><em>(al)</em></p>
<hr />
<p><small>Â© Inayaili de Leon for <a href="http://www.smashingmagazine.com">Smashing Magazine</a>, 2010. | <a href="http://www.smashingmagazine.com/2010/04/07/css-specificity-and-inheritance/">Permalink</a> | <a href="http://www.smashingmagazine.com/2010/04/07/css-specificity-and-inheritance/#comments">40 comments</a> | <a title="Bookmark in del.icio.us" href="http://del.icio.us/post?url=http://www.smashingmagazine.com/2010/04/07/css-specificity-and-inheritance/&amp;title=CSS%20Specificity%20And%20Inheritance">Add to del.icio.us</a> | <a title="Bookmark in Digg" href="http://digg.com/submit?phase=2&amp;url=http://www.smashingmagazine.com/2010/04/07/css-specificity-and-inheritance/">Digg this</a> | <a title="Stumble on StumbleUpon" href="http://www.stumbleupon.com/submit?url=http://www.smashingmagazine.com/2010/04/07/css-specificity-and-inheritance/">Stumble on StumbleUpon!</a> | <a title="Tweet us!" href="http://twitter.com/home?status=@tweetmeme%20@smashingmag%20Reading%20&#39;CSS%20Specificity%20And%20Inheritance&#39;%20http://www.smashingmagazine.com/2010/04/07/css-specificity-and-inheritance/">Tweet it!</a> | <a title="Bookmark in Reddit" href="http://reddit.com/submit?url=http://www.smashingmagazine.com/2010/04/07/css-specificity-and-inheritance/">Submit to Reddit</a> | <a href="http://forum.smashingmagazine.com/">Forum Smashing Magazine</a><br /> Post tags: <a href="http://www.smashingmagazine.com/tag/css/" rel="tag">CSS</a><br /> </small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.glennmarcus.com/blog/2010/04/07/css-specificity-and-inheritance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)</title>
		<link>http://www.glennmarcus.com/blog/2010/02/18/50-useful-coding-techniques-css-layouts-visual-effects-and-forms/</link>
		<comments>http://www.glennmarcus.com/blog/2010/02/18/50-useful-coding-techniques-css-layouts-visual-effects-and-forms/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 11:25:44 +0000</pubDate>
		<dc:creator>Smashing Editorial</dc:creator>
				<category><![CDATA[web20]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[user/12651333281871808648/label/ui]]></category>
		<category><![CDATA[user/12651333281871808648/label/web20]]></category>
		<category><![CDATA[user/12651333281871808648/state/com.google/read]]></category>
		<category><![CDATA[user/12651333281871808648/state/com.google/tracking-body-link-used]]></category>
		<category><![CDATA[user/12651333281871808648/state/com.google/tracking-kept-unread]]></category>

		<guid isPermaLink="false">tag:google.com,2005:reader/item/807cc2c15c8bf6b4</guid>
		<description><![CDATA[<table width="650">
<tr>
<td width="650">
<div style="width:650px"> <img src="http://creatives.commindo-media.de/static/smashing-magazine-advertisement.gif" alt="Smashing-magazine-advertisement in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)" border="0"/><br /> <a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=56"><img src="http://creatives.commindo-media.de/www/delivery/avw.php?zoneid=56" border="0" alt=" in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a>Â <a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=63"><img src="http://creatives.commindo-media.de/www/delivery/avw.php?zoneid=63" border="0" alt=" in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a>Â <a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=64"><img src="http://creatives.commindo-media.de/www/delivery/avw.php?zoneid=64" border="0" alt=" in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></div>
</td>
</tr>
</table>
<p>Although CSS is generally considered a simple and straightforward language, sometimes it requires creativity, skill and a bit of experimentation. The good news is that designers and developers worldwide often face similar problems and choose to share their insights and workarounds with the wider community.</p>
<p>This is where we come in. We are always looking to collect such articles for our posts so that we can deliver the most useful and relevant content to our readers. In this post, we present an overview of <strong>useful CSS/jQuery coding tips, tricks and techniques</strong> for visual effects, layouts and web form design to help you find solutions to the problems you are dealing with or will have to deal with in future.</p>
<p>You may want to look at similar CSS-related posts that we published last months:</p>
<ul>
<li><a href="http://www.smashingmagazine.com/2010/01/12/45-powerful-css-javascript-techniques/">45 Powerful CSS and JavaScript Techniques</a></li>
<li><a href="http://www.smashingmagazine.com/2010/02/01/50-brilliant-css3-javascript-coding-techniques/">50 Brilliant CSS3/JavaScript Coding Techniques</a></li>
<li><a href="http://www.smashingmagazine.com/2009/11/23/6-useful-coding-solutions-for-designers-and-developers/">5 Useful Coding Solutions For Designers And Developers</a></li>
</ul>
<p>[Offtopic: By the way, did you know that Smashing Magazine has a <a href="http://creatives.commindo-media.de/www/delivery/ck.php?oaparams=2__bannerid=1249__zoneid=0__cb=be1da96c6d__oadest=http%3A%2F%2Fm.smashingmagazine.com">mobile version</a>? Try it out if you have an iPhone, Blackberry or another capable device.]</p>
<h3>CSS Layouts: Techniques And Workarounds</h3>
<p><a href="http://www.sohtanaka.com/web-design/facebook-style-footer-admin-panel-part-1/">Facebook Style Footer Admin Panel</a><br />Learn how to re-create the Facebook footer admin panel with CSS and jQuery. Also check out <a href="http://www.sohtanaka.com/web-design/facebook-style-footer-admin-panel-part-2/">part 2</a>.</p>
<p><a href="http://www.sohtanaka.com/web-design/facebook-style-footer-admin-panel-part-1/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/css-technique-15.jpg" width="480" height="300" alt="Css-technique-15 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://www.jankoatwarpspeed.com/post/2009/07/07/Adaptable-view.aspx">Adaptable View: How Do They Do It?</a><br />This tutorial explains how to manually change a layout, and it shows two great examples and â€œhow they did it.â€</p>
<p><a href="http://www.jankoatwarpspeed.com/post/2009/07/07/Adaptable-view.aspx"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/css-technique-01.jpg" width="480" height="300" alt="Css-technique-01 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://designm.ag/tutorials/jquery-display-switch/">Easy Display Switch with CSS and jQuery</a><br />A quick and simple way to enable users to switch page layouts using CSS and jQuery.</p>
<p><a href="http://designm.ag/tutorials/jquery-display-switch/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-198.jpg" width="480" height="300" alt="Css-198 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://buildinternet.com/2009/07/quick-tip-resizing-images-based-on-browser-window-size/">Quick Tip â€“ Resizing Images Based On Browser&#8230;</a></p>]]></description>
			<content:encoded><![CDATA[<table width="650">
<tr>
<td width="650">
<div style="width:650px"> <img src="http://creatives.commindo-media.de/static/smashing-magazine-advertisement.gif" alt="Smashing-magazine-advertisement in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)" border="0"/><br /> <a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=56"><img src="http://creatives.commindo-media.de/www/delivery/avw.php?zoneid=56" border="0" alt=" in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a>Â <a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=63"><img src="http://creatives.commindo-media.de/www/delivery/avw.php?zoneid=63" border="0" alt=" in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a>Â <a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=64"><img src="http://creatives.commindo-media.de/www/delivery/avw.php?zoneid=64" border="0" alt=" in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></div>
</td>
</tr>
</table>
<p>Although CSS is generally considered a simple and straightforward language, sometimes it requires creativity, skill and a bit of experimentation. The good news is that designers and developers worldwide often face similar problems and choose to share their insights and workarounds with the wider community.</p>
<p>This is where we come in. We are always looking to collect such articles for our posts so that we can deliver the most useful and relevant content to our readers. In this post, we present an overview of <strong>useful CSS/jQuery coding tips, tricks and techniques</strong> for visual effects, layouts and web form design to help you find solutions to the problems you are dealing with or will have to deal with in future.</p>
<p>You may want to look at similar CSS-related posts that we published last months:</p>
<ul>
<li><a href="http://www.smashingmagazine.com/2010/01/12/45-powerful-css-javascript-techniques/">45 Powerful CSS and JavaScript Techniques</a></li>
<li><a href="http://www.smashingmagazine.com/2010/02/01/50-brilliant-css3-javascript-coding-techniques/">50 Brilliant CSS3/JavaScript Coding Techniques</a></li>
<li><a href="http://www.smashingmagazine.com/2009/11/23/6-useful-coding-solutions-for-designers-and-developers/">5 Useful Coding Solutions For Designers And Developers</a></li>
</ul>
<p>[Offtopic: By the way, did you know that Smashing Magazine has a <a href="http://creatives.commindo-media.de/www/delivery/ck.php?oaparams=2__bannerid=1249__zoneid=0__cb=be1da96c6d__oadest=http%3A%2F%2Fm.smashingmagazine.com">mobile version</a>? Try it out if you have an iPhone, Blackberry or another capable device.]</p>
<h3>CSS Layouts: Techniques And Workarounds</h3>
<p><a href="http://www.sohtanaka.com/web-design/facebook-style-footer-admin-panel-part-1/">Facebook Style Footer Admin Panel</a><br />Learn how to re-create the Facebook footer admin panel with CSS and jQuery. Also check out <a href="http://www.sohtanaka.com/web-design/facebook-style-footer-admin-panel-part-2/">part 2</a>.</p>
<p><a href="http://www.sohtanaka.com/web-design/facebook-style-footer-admin-panel-part-1/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/css-technique-15.jpg" width="480" height="300" alt="Css-technique-15 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://www.jankoatwarpspeed.com/post/2009/07/07/Adaptable-view.aspx">Adaptable View: How Do They Do It?</a><br />This tutorial explains how to manually change a layout, and it shows two great examples and â€œhow they did it.â€</p>
<p><a href="http://www.jankoatwarpspeed.com/post/2009/07/07/Adaptable-view.aspx"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/css-technique-01.jpg" width="480" height="300" alt="Css-technique-01 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://designm.ag/tutorials/jquery-display-switch/">Easy Display Switch with CSS and jQuery</a><br />A quick and simple way to enable users to switch page layouts using CSS and jQuery.</p>
<p><a href="http://designm.ag/tutorials/jquery-display-switch/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-198.jpg" width="480" height="300" alt="Css-198 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://buildinternet.com/2009/07/quick-tip-resizing-images-based-on-browser-window-size/">Quick Tip â€“ Resizing Images Based On Browser Window Size</a><br />In fluid layouts, formatting text to adjust smoothly to window size is easy, but images are not as fluid-friendly. This quick tip shows how to switch between two image sizes based on the size of the browser, the DIV or whatever else you choose.</p>
<p><a href="http://buildinternet.com/2009/07/quick-tip-resizing-images-based-on-browser-window-size/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-064.jpg" width="480" height="300" alt="Css-064 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://css-tricks.com/one-page-resume-site/">One Page RÃ©sumÃ© Site</a><br />A clean layout on one pageâ€”literally (just one <em>index.html</em> file with optional images). It comes with contact information in microformats and a main area for the resume using a definition list (<code>dl</code>). And it prints well.</p>
<p><a href="http://css-tricks.com/one-page-resume-site/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-000.jpg" width="480" height="300" alt="Css-000 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://ajaxian.com/archives/pegs-automate-display-fixed">Pegs: Automate Display: fixed++</a><br />Chris Wetherell posts on Pegs, a strategy for having one scroll bar but independent scrolling areas. After the first one, click on the other items to flip between sizes. You will see that an areaâ€™s scroll depends on the configuration.</p>
<p><a href="http://ajaxian.com/archives/pegs-automate-display-fixed"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-135.jpg" width="480" height="300" alt="Css-135 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://www.tutwow.com/tips/quick-tip-css-100-height/">CSS 100% Height</a><br />A common problem among designers is how to get a div to stretch 100% of the windowâ€™s height. There are a few different techniques out there, and this tutorial shows one of them.</p>
<p><a href="http://www.tutwow.com/tips/quick-tip-css-100-height/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/css-technique-18.jpg" width="480" height="300" alt="Css-technique-18 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://www.webdesignerwall.com/demo/css3-dropdown-menu//">CSS3 Drop-Down Menu</a><br />A clean, simple a nice navigation menu, designed by Nick La.</p>
<p><a href="http://www.webdesignerwall.com/demo/css3-dropdown-menu/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/css-technique-21.jpg" width="480" height="211" alt="Css-technique-21 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://www.fivefingercoding.com/xhtml-and-css/scrolling-transparent-background-effect">CSS Trick for a Scrolling Transparent Background Effect</a><br />Scroll the page to watch a battle between good and evil take shape. The effect requires two images: one transparent and one tiled gradient image. The gradient scrolls under the transparent PNG. Because it matches the colors in the PNG, each set of images disappears, depending on the part of the gradient theyâ€™re on top of.</p>
<p><a href="http://www.fivefingercoding.com/xhtml-and-css/scrolling-transparent-background-effect"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-148.jpg" width="480" height="300" alt="Css-148 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://unstoppablerobotninja.com/entry/fluid-images/">Fluid Images</a><br />By default, an image element that is 500 pixels doesnâ€™t exactly play nice with a container as large as 800 pixels or one as small as 100. Whatâ€™s a designer to do?</p>
<p><a href="http://unstoppablerobotninja.com/entry/fluid-images/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-069.jpg" width="480" height="300" alt="Css-069 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://css-tricks.com/scrollfollow-sidebar/">Scroll/Follow Sidebar, Multiple Techniques</a><br />A really simple concept: the sidebar follows you as you scroll down the page. There are a number of ways to go about it. Two are covered here: CSS and JavaScript (jQuery), with a bonus CSS trick.</p>
<p><a href="http://css-tricks.com/scrollfollow-sidebar/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/css-technique-00.jpg" width="480" height="300" alt="Css-technique-00 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://blog.themeforest.net/tutorials/vertical-centering-with-css/">Vertical Centering With CSS</a><br />There are a few different ways to vertically center objects using CSS, but choosing the right one can be difficult. Here is a list of the best ways and an explanation of how to create a nice centered website.</p>
<p><a href="http://blog.themeforest.net/tutorials/vertical-centering-with-css/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css3-new-08.jpg" width="480" height="300" alt="Css3-new-08 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://www.jankoatwarpspeed.com/post/2009/11/08/YouTube-adaptable-view-css-jquery.aspx">Create YouTube-like adaptable view using CSS and jQuery</a><br />Other than the â€œTurn off the lightsâ€ feature, YouTube has great stuff, such as the â€œchange viewâ€ feature, which allows you to switch between normal and wide mode, thus expanding or shrinking the video area. Creating this is very simple.</p>
<p><a href="http://www.jankoatwarpspeed.com/post/2009/11/08/YouTube-adaptable-view-css-jquery.aspx"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-142.jpg" width="480" height="300" alt="Css-142 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://css-tricks.com/how-to-create-a-horizontally-scrolling-site/">How To Create a Horizontally Scrolling Site</a><br />If websites were made of wood, the grain would run up and down. Vertical is the natural flow of the Web. But browsers are equipped with vertical <em>and</em> horizontal scroll bars, right? We have the choice to go against the grain and create web pages that scroll primarily horizontally and that even expand horizontally to accommodate more content. Perhaps a slight blow to usability, but a cool creative touch nonetheless!</p>
<p><a href="http://css-tricks.com/how-to-create-a-horizontally-scrolling-site/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/css-technique-02.jpg" width="480" height="300" alt="Css-technique-02 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://buildinternet.com/2009/10/purely-css-faking-minimum-margins/">Purely CSS â€“ Faking Minimum Margins</a><br /><code>min-margin</code> is non-existent in the CSS world. After youâ€™ve pondered and Googled it, check out the solution here.</p>
<p><a href="http://buildinternet.com/2009/10/purely-css-faking-minimum-margins/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/css-technique-03.jpg" width="480" height="300" alt="Css-technique-03 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://line25.com/articles/create-sidebars-of-equal-height-with-faux-columns">Create Sidebars of Equal Height with Faux Columns</a><br />CSS can be tricky business. Creating columns of equal height, where the content in one column is longer than the content in another, is frustrating. Hereâ€™s where the faux-column technique can help. Find out how this solution makes even the most complicated layout a breeze to code.</p>
<p><a href="http://www.filamentgroup.com/lab/setting_equal_heights_with_jquery/">Setting Equal Heights with jQuery</a><br />Here is a script to match the heights of boxes in the same container and create a tidy grid, with little overhead.</p>
<p><a href="http://www.filamentgroup.com/lab/setting_equal_heights_with_jquery/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-141.jpg" width="480" height="300" alt="Css-141 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://blog.sugarenia.com/archives/web-design/quick-tip-centered-fake-floats">Quick Tip: Centered Fake Floats</a><br />There were ways to center-align left-floated elements, but then <code>inline-block</code> became popular and everything changed. After a bit of tinkering, Zaharenia Atzitzikaki found an efficient and (mostly) cross-browser-compatible way to center elements without floats.</p>
<p><a href="http://www.webresourcesdepot.com/6-flexible-jquery-plugins-to-control-webpage-layouts-easily/">6 Flexible jQuery Plugins to Control Web Page Layouts Easily</a><br />A collection of six jQuery plug-ins to manage page layouts easily.</p>
<p><a href="http://www.webresourcesdepot.com/6-flexible-jquery-plugins-to-control-webpage-layouts-easily/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-125.jpg" width="480" height="300" alt="Css-125 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://buildinternet.com/2009/07/four-methods-to-create-equal-height-columns/">Four Methods to Create Equal-Height Columns</a><br />This article discusses ways to create equal-height columns that work in all major browsers (including IE6). All of the methods show how to create a three-column layout.</p>
<p><a href="http://buildinternet.com/2009/07/four-methods-to-create-equal-height-columns/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-065.jpg" width="480" height="300" alt="Css-065 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://www.webdesignerwall.com/tutorials/how-to-css-large-background/">How to: CSS Large Background</a><br />A tutorial with various CSS examples for how to create a large background using either a single image or double images.</p>
<p><a href="http://www.webdesignerwall.com/tutorials/how-to-css-large-background/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-080.jpg" width="480" height="300" alt="Css-080 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://five.gregorywood.co.uk/index.php?/blog/article/a-nice-little-css-positioning-technique">A Nice Little CSS Positioning Technique</a><br />Here, we have a basic unordered list (<code>ul</code>), with left-floated images where the text doesnâ€™t wrap under the images. Of course, this technique could be deployed in loads of other instances.</p>
<p><a href="http://five.gregorywood.co.uk/index.php?/blog/article/a-nice-little-css-positioning-technique"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-117.jpg" width="480" height="300" alt="Css-117 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://css-tricks.com/perfect-full-page-background-image/">Perfect Full Page Background Image</a><br />This technique allows an image to fill the page, with no white space. The image scales as needed and retains its proportions, without triggering scroll bars.</p>
<p><a href="http://css-tricks.com/perfect-full-page-background-image/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-162.jpg" width="480" height="300" alt="Css-162 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://www.sohtanaka.com/web-design/smart-columns-w-css-jquery/">Smart Columns With CSS and jQuery</a><br />In observing liquid-width websites, Soh Tanaka sees two common techniques for displaying columns: fixed columns and liquid columns. He points out the drawbacks of both and pitches his solution.</p>
<p><a href="http://www.sohtanaka.com/web-design/smart-columns-w-css-jquery/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-057.jpg" width="480" height="300" alt="Css-057 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<h3>Images And Visual Effects With CSS</h3>
<p><a href="http://tutorialzine.com/2009/11/beautiful-apple-gallery-slideshow/">A Beautiful Apple-Style Slideshow Gallery With CSS and jQuery</a><br />Create an Apple-like slideshow gallery, similar to the one used on Appleâ€™s website to showcase products. It works entirely in the front end; no PHP or databases required.</p>
<p><a href="http://tutorialzine.com/2009/11/beautiful-apple-gallery-slideshow/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/css-technique-12.jpg" width="480" height="300" alt="Css-technique-12 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://www.romancortes.com/blog/pure-css-coke-can/">Rolling a coke can around with pure CSS</a><br />RomÃ¡n CortÃ©s is having a lot of fun doing CSS tricks these days. He just built a rolling coke can that uses <code>background-attachment</code>, <code>background-position</code> and a few other tricks to achieve the effect. No fancy CSS3 needed here!</p>
<p><a href="http://www.romancortes.com/blog/pure-css-coke-can/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css3-new-10.jpg" width="480" height="300" alt="Css3-new-10 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://www.sohtanaka.com/web-design/greyscale-hover-effect-w-css-jquery/">Grayscale Hover Effect With CSS and jQuery</a><br />A few months ago, James Padolsey introduced a cool grayscale technique for non-IE browsers. His technique inspired Soh Tanaka to come up with a workaround with a similar effect. His solution relies on CSS Sprites and a few lines of jQuery, but it requires a bit of preparation before implementation. It is not recommended for large-scale projects; it is probably best for portfolio pieces.</p>
<p><a href="http://www.sohtanaka.com/web-design/greyscale-hover-effect-w-css-jquery/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-055.jpg" width="480" height="300" alt="Css-055 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://labs.dragoninteractive.com/rainbows.php">Codename Rainbows</a><br />Some JavaScript and CSS magic is used here to apply a two-color gradient to text. Shadows and highlights can also be applied. This works especially well on big websites and for dynamic content where creating images for every instance would be impractical.</p>
<p><a href="http://labs.dragoninteractive.com/rainbows.php"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-097.jpg" width="480" height="300" alt="Css-097 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://cssglobe.com/post/6089/3-easy-and-fast-css-techniques-for-faux-image">3 Easy and Fast CSS Techniques for Faux Image Cropping</a><br />This article summarizes three fast and easy CSS techniques for displaying only a portion of an image. All of the techniques need only a couple of lines of CSS. You are not literally cropping, which is why itâ€™s called faux image cropping. These techniques can be helpful if you want to keep images to a certain size (for example, thumbnails in a news section). Being able to use CSS to control which portion of an image to display is great.</p>
<p><a href="http://cssglobe.com/post/6089/3-easy-and-fast-css-techniques-for-faux-image"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/css-technique-08.jpg" width="480" height="300" alt="Css-technique-08 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://css-tricks.com/image-rollover-borders-that-do-not-change-layout/">Image Rollover Borders That Do Not Change Layout</a><br />With CSS, the border of any block-level element is factored into the elementâ€™s size in the layout. So, if you add a border to an element on hover, the layout will shift. In this post, you will find how to use the regular border property and create inner borders to get around that.</p>
<p><a href="http://css-tricks.com/image-rollover-borders-that-do-not-change-layout/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/css-technique-10.jpg" width="480" height="270" alt="Css-technique-10 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://www.christinafowler.com/tutorial/horizontal-stripes">Horizontal Stripes</a><br />This tutorial shows you how to create never ending horizontal stripes in your web design using CSS.</p>
<p><a href="http://www.christinafowler.com/tutorial/horizontal-stripes"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/css-technique-14.jpg" width="480" height="300" alt="Css-technique-14 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://css-tricks.com/css-image-replacement/">Nine Techniques for CSS Image Replacement</a><br />Put nine different techniques of image replacement to the test.</p>
<p><a href="http://css-tricks.com/css-image-replacement/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/css-technique-13.jpg" width="480" height="300" alt="Css-technique-13 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://www.marcofolio.net/webdesign/pure_css3_bokeh_effect_with_some_jquery_help.html">Bokeh effects with CSS3 and jQuery</a><br />This tutorial teaches you how to re-create the bokeh effect with CSS 3. With some help from jQuery, we can add some randomness in colour, size and position for the effect.</p>
<p><a href="http://www.marcofolio.net/webdesign/pure_css3_bokeh_effect_with_some_jquery_help.html"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/css-technique-16.jpg" width="480" height="262" alt="Css-technique-16 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://www.impressivewebs.com/stationary-logo-changes-page-scroll-css/">A Stationary Logo That Changes on Page Scroll with CSS </a><br />Here is an interesting effect that modifies the logo when the page is scrolled, using the CSS <code>background-attachment</code> property.</p>
<p><a href="http://www.impressivewebs.com/stationary-logo-changes-page-scroll-css/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css3-new-04.jpg" width="480" height="300" alt="Css3-new-04 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://css-tricks.com/silhouette-fadeins/">Silhouette Fade-Ins</a><br />To achieve the effect in the image above, first we need a DIV with the silhouettes as a background image. Then we put four images in that DIV, all the exact same size, with each band member highlighted. These images are hidden by default. Then you absolutely position four regions on top of the DIV; these are the roll-over link areas. With jQuery, we apply hover events to them, fading in the appropriate image.</p>
<p><a href="http://css-tricks.com/silhouette-fadeins/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-046.jpg" width="480" height="300" alt="Css-046 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://www.dinnermint.org/css/creating-triangles-in-css/">Creating Triangles in CSS </a><br />Few people realize that a browser draws borders at angles. This technique takes advantage of that. One side of the border is given the color of the arrow, and the rest are transparent. Then you give the border a large width; the ones above are 20 pixels.</p>
<p><a href="http://www.dinnermint.org/css/creating-triangles-in-css/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-004.jpg" width="480" height="300" alt="Css-004 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://www.marcofolio.net/css/a_parallax_illusion_with_css_the_horse_in_motion.html">A parallax optical illusion with CSS: The Horse in Motion</a><br />Time for some fun with CSS and optical illusions.</p>
<p><a href="http://www.marcofolio.net/css/a_parallax_illusion_with_css_the_horse_in_motion.html"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/css-203.jpg" width="480" height="300" alt="Css-203 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://cssglobe.com/post/4175/pure-css-line-graph">Pure CSS Line Graph</a><br />The idea here is not only to offer data visualization to people who arenâ€™t comfortable using scripting languages, but to demonstrate the power of CSS and offer a different way of using CSS. If you are not a fan of line graphs and data visualization, you may still benefit from this article. Think of it as a CSS experiment, and learn a thing or two about CSS Sprites and positioning.</p>
<p><a href="http://cssglobe.com/post/4175/pure-css-line-graph"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-037.jpg" width="480" height="300" alt="Css-037 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://www.9lessons.info/2009/10/zooming-with-jquery-and-css.html">Zooming with jQuery and CSS</a><br />This post is about text zooming with jQuery and CSS. This is a basic-level tutorial about changing a style using a jQuery script. A simple way to zoom website content.</p>
<p><a href="http://www.9lessons.info/2009/10/zooming-with-jquery-and-css.html"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-146.jpg" width="480" height="300" alt="Css-146 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://cssglobe.com/post/1305/create-resizing-thumbnails-using-overflow-property">Create Resizing Thumbnails Using Overflow Property</a><br />This tutorial teaches you how to control thumbnail sizes. Sometimes we donâ€™t have enough space to fit large thumbnails, and yet we would rather avoid small indecipherable images. Using this trick, we can limit the default dimensions of thumbnails and show them at full size when the user mouses over them.</p>
<p><a href="http://cssglobe.com/post/1305/create-resizing-thumbnails-using-overflow-property"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-150.jpg" width="480" height="300" alt="Css-150 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://nick-dunn.co.uk/article/cross-browser-drop-shadows-using-pure-css/">Cross-browser drop shadows using pure CSS</a><br />Most methods of adding drop-shadows to content blocks require additional HTML mark-up and one or more PNG images. But by combining the Glow and Shadow filters, something that fairly closely resembles the rendered CSS3 shadow can be achieved.</p>
<p><a href="http://nick-dunn.co.uk/article/cross-browser-drop-shadows-using-pure-css/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-151.jpg" width="480" height="300" alt="Css-151 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://css-tricks.com/date-badges-and-comment-bubbles-for-your-blog/">Date Badges and Comment Bubbles for Your Blog</a><br />One of the things you have to deal with when your blog grows is having to cram more info into less space to show everything you want to show. One thing you can do is add an icon for the date and then a bubble over it with the number of comments for that post.</p>
<p><a href="http://css-tricks.com/date-badges-and-comment-bubbles-for-your-blog/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/css-technique-11.jpg" width="480" height="300" alt="Css-technique-11 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<h3>CSS Tables And Web Forms</h3>
<p><a href="http://cssglobe.com/post/6984/ux-trick-display-form-data-as-tabular-data">UX trick: display form data as tabular data</a><br />This is a little trick to enhance the user experience of forms. It displays editable form data as readable tabular data.</p>
<p><a href="http://cssglobe.com/post/6984/ux-trick-display-form-data-as-tabular-data"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/css-technique-04.jpg" width="480" height="300" alt="Css-technique-04 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://www.zurb.com/article/206/tables-not-as-evil-as-you-think">Tables: Not As Evil As You Think</a><br />Tables are evil, right? Yes and no. For tabular data, theyâ€™re not, of course. Thatâ€™s what tables are for in the first place. CSS can do an excellent job of styling a properly formatted table, and the table structure provides good scaffolding for JavaScript calls. But what is addressed here is using tables for non-tabular data (i.e. for the layout). Yes, thatâ€™s right: using tables for layout.</p>
<p><a href="http://www.zurb.com/article/206/tables-not-as-evil-as-you-think"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-075.jpg" width="480" height="300" alt="Css-075 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://aext.net/2009/08/perfect-sign-in-dropdown-box-likes-twitter-with-jquery/">Perfect Drop-Down Log-In Box Like Twitter Using jQuery</a><br />This shows you how to create a Twitter-style drop-down log-in form using jQuery. Itâ€™s really easy, it saves space on the page and visitors feel comfortable with the awesome toggle form.</p>
<p><a href="http://aext.net/2009/08/perfect-sign-in-dropdown-box-likes-twitter-with-jquery/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-158.jpg" width="480" height="300" alt="Css-158 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://css-tricks.com/making-selects-printable/">Make a Selectâ€™s Options Printable</a><br />When printing a Web page with <code>select</code> elements on it, the select drop-down prints just as it looks on the Web. This of course is practically useless on the printed page. One option for handling this is to follow every <code>select</code> HTML element with an unordered list that duplicates the content. Hide the unordered list in your main CSS file and reveal it with your print style sheet. This is a reasonable approach, except that itâ€™s a big olâ€™ pain in the butt to deal with all the time. Letâ€™s rely on jQuery to do the heavy lifting instead.</p>
<p><a href="http://css-tricks.com/making-selects-printable/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-018.jpg" width="480" height="300" alt="Css-018 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://www.9lessons.info/2009/12/twitter-like-login-with-jquery-and-css.html">Twitter-Like Log-In With jQuery and CSS</a><br />This post explains how to get the Twitter-like hide and show effect for logging in using jQuery and CSS.â€ Very simple: just five lines of JavaScript for the <code>hide()</code> and <code>show()</code> events and a little CSS.</p>
<p><a href="http://www.9lessons.info/2009/12/twitter-like-login-with-jquery-and-css.html"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-145.jpg" width="480" height="300" alt="Css-145 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://woork.blogspot.com/2008/06/clean-and-pure-css-form-design.html">Clean and Pure CSS Form Design</a><br />This tutorial illustrates how to design a pure CSS form without using HTML tables.</p>
<p><a href="http://woork.blogspot.com/2008/06/clean-and-pure-css-form-design.html"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-105.jpg" width="480" height="300" alt="Css-105 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://cssglobe.com/post/6295/cssg-collection-free-comment-styles">CSSG Collection: Free Comment Styles</a><br />This is the second CSSG collection from CSS Globe.</p>
<p><a href="http://cssglobe.com/post/6295/cssg-collection-free-comment-styles"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-034.jpg" width="480" height="300" alt="Css-034 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://24ways.org/2009/have-a-field-day-with-html5-forms">Have a Field Day with HTML5 Forms</a><br />Here is a look at how to style a beautiful HTML5 form using some advanced CSS and the latest CSS3 techniques. You will definitely want to re-style your forms after having read this article.</p>
<p><a href="http://24ways.org/2009/have-a-field-day-with-html5-forms"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-011.jpg" width="480" height="300" alt="Css-011 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://css-tricks.com/editable-invoice-v2/">Editable/Printable Invoice</a><br />Create editable and printable invoices using CSS and some JavaScript. This is version 2 from Vinh Pham.</p>
<p><a href="http://css-tricks.com/editable-invoice-v2/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-047.jpg" width="480" height="300" alt="Css-047 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://www.zurb.com/article/279/how-to-mask-passwords-like-the-iphone">How to Mask Passwords Like the iPhone</a><br />Many smartphones, including the iPhone, show the last character that you typed in a password field with a delay of a second or two. You can see that last character but not the entire password. But browsers donâ€™t do what these mobile devices do. Here is a solution, with some fancy JavaScript and behind-the-scenes trickery.</p>
<p><a href="http://www.zurb.com/article/279/how-to-mask-passwords-like-the-iphone"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-074.jpg" width="480" height="300" alt="Css-074 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://www.zurb.com/article/195/make-web-forms-suck-less-with-labels">Make Web Forms Suck Less With Labels</a><br />Weâ€™ve been filling out Web forms for years, and we all gripe that they could be better. Even with generous padding, the fields are too small. But hardly anyone has improved the most under-rated interaction of them all: checkboxes and radio buttons.</p>
<p><a href="http://www.zurb.com/article/195/make-web-forms-suck-less-with-labels"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/css-technique-20.jpg" width="480" height="300" alt="Css-technique-20 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://lipidity.com/fancy-form/">FancyForm: JavaScript checkbox replacement</a><br />FancyForm is a powerful and flexible checkbox-replacement script that changes the appearance and function of HTML form elements. It is accessible and easy to use, and it degrades gracefully on older non-supported browsers.</p>
<p><a href="http://lipidity.com/fancy-form/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-103.jpg" width="480" height="300" alt="Css-103 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://widowmaker.kiev.ua/checkbox/">jQuery checkbox v.1.3.0 Beta 1</a><br />A lightweight custom-styled checkbox implementation for jQuery 1.2.x and 1.3.x.</p>
<p><a href="http://widowmaker.kiev.ua/checkbox/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-104.jpg" width="480" height="300" alt="Css-104 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://www.askthecssguy.com/2009/08/disabled_labels_and_the_trilem.html">Disabled labels and the Trilemma plug-in</a><br />The form above on the left makes use of the <code>disabled</code> attribute, but the default browser settings for <code>disabled</code> inputs donâ€™t contrast as much as one would like. To better distinguish at a glance between which inputs are disabled and enabled, the labels of disabled inputs in the form on the right are styled with a faint gray color.</p>
<p><a href="http://www.askthecssguy.com/2009/08/disabled_labels_and_the_trilem.html"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-127.jpg" width="480" height="300" alt="Css-127 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<p><a href="http://friedcellcollective.net/outbreak/2009/10/04/fluid-searchbox/">Fluid Search Box</a><br />Creating a fluid search box when you have only a single element next to it is trivial. What you should do is wrap the input in an element and use padding to create space for the fixed element; then position the fixed element absolutely (or relatively) in the space created by the padding.</p>
<h3>Last Click</h3>
<p><a href="http://stewdio.org/pong/">Browser Pong</a><br />A whole new pong game using three browser windows for the ball and racquets. Clever!</p>
<p><a href="http://stewdio.org/pong/"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/css-180.jpg" width="480" height="300" alt="Css-180 in 50 Useful Coding Techniques (CSS Layouts, Visual Effects and Forms)"/></a></p>
<h3>Related posts</h3>
<p>You may want to look at similar CSS-related posts that we published last months:</p>
<ul>
<li><a href="http://www.smashingmagazine.com/2010/01/12/45-powerful-css-javascript-techniques/">45 Powerful CSS and JavaScript Techniques</a></li>
<li><a href="http://www.smashingmagazine.com/2010/02/01/50-brilliant-css3-javascript-coding-techniques/">50 Brilliant CSS3/JavaScript Coding Techniques</a></li>
<li><a href="http://www.smashingmagazine.com/2009/11/23/6-useful-coding-solutions-for-designers-and-developers/">5 Useful Coding Solutions For Designers And Developers</a></li>
</ul>
<p><em>(kk) (jb) (vf) (al)</em></p>
<hr />
<p><small>Â© Smashing Editorial for <a href="http://www.smashingmagazine.com">Smashing Magazine</a>, 2010. | <a href="http://www.smashingmagazine.com/2010/02/18/50-css-and-javascript-techniques-for-layouts-forms-and-visual-effects/">Permalink</a> | <a href="http://www.smashingmagazine.com/2010/02/18/50-css-and-javascript-techniques-for-layouts-forms-and-visual-effects/#comments">48 comments</a> | <a title="Bookmark in del.icio.us" href="http://del.icio.us/post?url=http://www.smashingmagazine.com/2010/02/18/50-css-and-javascript-techniques-for-layouts-forms-and-visual-effects/&amp;title=50%20Useful%20Coding%20Techniques%20(CSS%20Layouts,%20Visual%20Effects%20and%20Forms)">Add to del.icio.us</a> | <a title="Bookmark in Digg" href="http://digg.com/submit?phase=2&amp;url=http://www.smashingmagazine.com/2010/02/18/50-css-and-javascript-techniques-for-layouts-forms-and-visual-effects/">Digg this</a> | <a title="Stumble on StumbleUpon" href="http://www.stumbleupon.com/submit?url=http://www.smashingmagazine.com/2010/02/18/50-css-and-javascript-techniques-for-layouts-forms-and-visual-effects/">Stumble on StumbleUpon!</a> | <a title="Tweet us!" href="http://twitter.com/home?status=@tweetmeme%20@smashingmag%20Reading%20&#39;50%20Useful%20Coding%20Techniques%20(CSS%20Layouts,%20Visual%20Effects%20and%20Forms)&#39;%20http://www.smashingmagazine.com/2010/02/18/50-css-and-javascript-techniques-for-layouts-forms-and-visual-effects/">Tweet it!</a> | <a title="Bookmark in Reddit" href="http://reddit.com/submit?url=http://www.smashingmagazine.com/2010/02/18/50-css-and-javascript-techniques-for-layouts-forms-and-visual-effects/">Submit to Reddit</a> | <a href="http://forum.smashingmagazine.com/">Forum Smashing Magazine</a><br /> Post tags: <a href="http://www.smashingmagazine.com/tag/css/" rel="tag">CSS</a>, <a href="http://www.smashingmagazine.com/tag/jquery/" rel="tag">jquery</a><br /> </small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.glennmarcus.com/blog/2010/02/18/50-useful-coding-techniques-css-layouts-visual-effects-and-forms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How Much Venture Capital Should You Raise For Your SaaS Venture?</title>
		<link>http://www.glennmarcus.com/blog/2010/02/12/how-much-venture-capital-should-you-raise-for-your-saas-venture/</link>
		<comments>http://www.glennmarcus.com/blog/2010/02/12/how-much-venture-capital-should-you-raise-for-your-saas-venture/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 20:00:00 +0000</pubDate>
		<dc:creator>Bernard Lunn</dc:creator>
				<category><![CDATA[web20]]></category>
		<category><![CDATA[Startups]]></category>
		<category><![CDATA[user/12651333281871808648/label/startup]]></category>
		<category><![CDATA[user/12651333281871808648/label/web20]]></category>
		<category><![CDATA[user/12651333281871808648/state/com.google/read]]></category>

		<guid isPermaLink="false">tag:google.com,2005:reader/item/17e92e1b051dd007</guid>
		<description><![CDATA[<p><img alt="venture capital funding saas" src="http://www.readwriteweb.com/start/guest_fundingsaas_0210-1.jpg" width="150" height="100"/>
</p><p>The short answer is &#8220;as much as you need&#8221;. The more tactical answer is &#8220;as much as you can raise cheaply&#8221;. The latter is a pragmatic view. Raise more than you need when times are good. Just because you raise it does not mean you need to spend it &#8211; capital efficiency is always good!</p>
<p>In this post I look at what VC are saying SaaS ventures need to raise to get to scale and profitability. But I&#8217;ll also look at what VC are doing &#8211; what SaaS deals they are funding currently. I look at the capital efficiency drivers, what you can do to reduce your need for capital. And finally, I show you which VC are active in SaaS today.</p>
<p align="right"><em>Sponsor</em><br /><a href="http://d.ads.readwriteweb.com/ck.php?n=18238&#38;cb=18238"><img src="http://d.ads.readwriteweb.com/avw.php?zoneid=14&#38;cb=18238&#38;n=18238" border="0" alt=""/></a></p>
<h2>What Are VC Saying?</h2>
<p>The answer according to Bruce Cleveland of Interwest <a href="http://www.interwest.com/software-as-a-service/investment/the-capital-needed-to-create-a-saas-company/">is about $40m</a>.</p>
<p>Take that seriously. Cleveland is a SaaS specialist with serious operational experience who has done his research on this subject. But as he points out, the details matter. There are two points of caution:</p>
<ol>
<li>This is looking in the rear view mirror at ventures funded some time ago that did an IPO in 2007 or earlier. It is a different world today &#8211; less capital available and less need for capital.</li>
<li>VC are happy with models that require a lot of capital. Capital is what they have to offer and if you need a lot they are in the driving seat.</li>
</ol>
<p>Lets look at the operational details, the capital efficiency drivers, in a minute. First, lets see what VC are&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><img alt="venture capital funding saas" src="http://www.readwriteweb.com/start/guest_fundingsaas_0210-1.jpg" width="150" height="100"/>
<p>The short answer is &#8220;as much as you need&#8221;. The more tactical answer is &#8220;as much as you can raise cheaply&#8221;. The latter is a pragmatic view. Raise more than you need when times are good. Just because you raise it does not mean you need to spend it &#8211; capital efficiency is always good!</p>
<p>In this post I look at what VC are saying SaaS ventures need to raise to get to scale and profitability. But I&#8217;ll also look at what VC are doing &#8211; what SaaS deals they are funding currently. I look at the capital efficiency drivers, what you can do to reduce your need for capital. And finally, I show you which VC are active in SaaS today.</p>
<p align="right"><em>Sponsor</em><br /><a href="http://d.ads.readwriteweb.com/ck.php?n=18238&amp;cb=18238"><img src="http://d.ads.readwriteweb.com/avw.php?zoneid=14&amp;cb=18238&amp;n=18238" border="0" alt=""/></a></p>
<h2>What Are VC Saying?</h2>
<p>The answer according to Bruce Cleveland of Interwest <a href="http://www.interwest.com/software-as-a-service/investment/the-capital-needed-to-create-a-saas-company/">is about $40m</a>.</p>
<p>Take that seriously. Cleveland is a SaaS specialist with serious operational experience who has done his research on this subject. But as he points out, the details matter. There are two points of caution:</p>
<ol>
<li>This is looking in the rear view mirror at ventures funded some time ago that did an IPO in 2007 or earlier. It is a different world today &#8211; less capital available and less need for capital.</li>
<li>VC are happy with models that require a lot of capital. Capital is what they have to offer and if you need a lot they are in the driving seat.</li>
</ol>
<p>Lets look at the operational details, the capital efficiency drivers, in a minute. First, lets see what VC are actually funding today.</p>
<h2>What Are VC Doing?</h2>
<p>We looked at the Series A round for 17 SaaS ventures that closed after January 2007:</p>
<ul style="list-style-type:none">
<li>Clarizen</li>
<li>Maxplore</li>
<li>Loopfuse</li>
<li>Jive Software</li>
<li>SlideRocket</li>
<li>Elastra</li>
<li>Syncplicity</li>
<li>SocialCast</li>
<li>AriaSystems</li>
<li>Lavante</li>
<li>Lithium Technologies</li>
<li>Maxplore</li>
<li>PivotLink</li>
<li>SmartTurn</li>
<li>Zuberance</li>
<li>InsideView</li>
<li>Bill.com</li>
</ul>
<p>These 17 ventures raised $90.25 million total, an average of $5.3 million. That sounds like the &#8220;old normal&#8221; $5 million Series A. You can see how you would get to $40 million for a venture that is getting traction and can do a series of larger rounds at higher valuations. Lets say, a) $5 million; b) $10 million; c) $25 million; and total: $40m.</p>
<p>If the C round is pre IPO, everybody does well. But that is the old normal. The new normal is different. First, those 17 deals had two outliers: Jive raised $15 million and Bill.com raised $17 million.</p>
<p>Now let&#8217;s start with a later date. If we filter by Series A deals that were done after the  market meltdown in Q4 2008, the average more than halves to $2.55 million. Those five deals are:</p>
<ul style="list-style-type:none">
<li>Maxplore</li>
<li>Loopfuse</li>
<li>Syncplicity</li>
<li>Zuberance</li>
<li>SocialCast</li>
</ul>
<h2>Capital Efficiency Drivers</h2>
<p>There are two numbers to obsess over.</p>
<p>1. How much does it cost to acquire customers? Cleveland defines this as CAC/ACV, or Customer Acquisition Cost divided by Annual Contract Value. If this is less than one you are in good shape. You can take this further. If you can get your customers to pre-pay for the year and your CAC/ACV is less than one, you can self-finance growth at least on the marketing side. Charging annually rather than monthly will slow down growth but that would be a small price to pay for controlling your own destiny. In some markets, customers will pre-pay in return for a discount and that is certainly the cheapest capital you will ever get.</p>
<p>2. How much do you need to spend per customer on infrastructure? The SaaS pioneers made a big play out of having their own data centers. When SaaS/Cloud was new, this was essential. Today you will be courted by lots of big, deep-pocketed, credible cloud vendors selling PaaS, IaaS and HaaS on a pay-as-you-go basis. The pay-as-you-go basis means you don&#8217;t spend precious capex on infrastrucure. </p>
<p>But more important is the total ICC or Infrastructure Cost per Customer. If this is low enough you can afford to be more creative with your freemium strategies &#8211; which will reduce your CAC/ACV if done right. In other words, your R&amp;D guys had better pay attention to performance engineering from the get go. The days of throwing sloppy code out there and covering your mistakes with huge dollops of cash later are probably over.</p>
<h2>Who You Gonna Call? SaaS Funders!</h2>
<p>You need capital to build a SaaS venture. You can self-finance using the cash flow from another business. (Typically a professional services business as this requires no capital.) This is what both 37 Signals and Zoho/Advent did. But that is still capital, it is just your own capital!</p>
<p>If you have a small niche, you might need very little capital as it is easy to reach your market. Which is a good thing as no VC will fund a small niche. If you are have a venture that is in that <a href="http://www.readwriteweb.com/archives/viral_marketing_startup_magic_quadrant.php">rare magic quadrant</a> that is both viral and monetizable&#8230; well you are one lucky dude!</p>
<p>For SaaS ventures that are going after a big market and have normal marketing characteristics, VC (probably preceded by Angel) is the conventional route. If you do decide to raise VC for your SaaS venture, it is better to go to a SaaS specialist. </p>
<p>We know this is not an exhaustive list. It is not meant to be. We have seen many VCs do one or two SaaS deals. We want to highlight the VCs that have done more than that, and that have an active focus on SaaS (a section on their site, a partner focused on SaaS, some interesting research, etc.). These are the ones that made that cut:</p>
<ul style="list-style-type:none">
<li>Bay Partners</li>
<li>Benchmark</li>
<li>Bessemer</li>
<li>Emergence</li>
<li>HummerWinblad</li>
<li>Interwest</li>
<li>Northbridge</li>
<li>TrueVentures</li>
<li>Venrock</li>
</ul>
<p>What you really need to know is, who is funding SaaS ventures right now. Here is the much shorter list of VC that have done two or more SaaS A Series deals since the start of 2007:</p>
<ul style="list-style-type:none">
<li>Emergence</li>
<li>TrueVentures</li>
<li>HummerWinblad</li>
<li>Venrock</li>
</ul>
<p>OK, let&#8217;s make a really fine filter. Who has done SaaS A Series deals since the market meltdown in Q4 2008? That list is down to two firms:</p>
<ul style="list-style-type:none">
<li>Emergence</li>
<li>TrueVentures</li>
</ul>
<p>In raising money, relationships matter &#8211; a lot. So if you know a VC that is not yet active in SaaS, call them. If your venture puts them on the SaaS map, they will love you. For most VC that like Internet or software like SaaS, the business model attractions are screamingly obvious. </p>
<p>Photo credit: <a href="http://www.sxc.hu/profile/mokra">Mokra</a><br />
<strong><a href="http://www.readwriteweb.com/start/2010/02/venture-capital-saas-funding.php#comments-open">Discuss</a></strong>
<p><iframe src="http://feedads.g.doubleclick.net/~ah/f/bh8m03d07dnj95a0qa1ma5k32c/468/60#http%3A%2F%2Fwww.readwriteweb.com%2Fstart%2F2010%2F02%2Fventure-capital-saas-funding.php" width="100%" height="60" frameborder="0" scrolling="no" marginwidth="0" marginheight="0"></iframe></p>
<div>
<a href="http://feeds.feedburner.com/~ff/readwriteweb?a=ZGDirbCgC-s:3P2ojS2mSVQ:FFnlKYwJmN0"><img src="http://feeds.feedburner.com/~ff/readwriteweb?d=FFnlKYwJmN0" border="0"/></a> <a href="http://feeds.feedburner.com/~ff/readwriteweb?a=ZGDirbCgC-s:3P2ojS2mSVQ:Ij26kaj3iuU"><img src="http://feeds.feedburner.com/~ff/readwriteweb?d=Ij26kaj3iuU" border="0"/></a> <a href="http://feeds.feedburner.com/~ff/readwriteweb?a=ZGDirbCgC-s:3P2ojS2mSVQ:C2pbw5bZMiI"><img src="http://feeds.feedburner.com/~ff/readwriteweb?d=C2pbw5bZMiI" border="0"/></a> <a href="http://feeds.feedburner.com/~ff/readwriteweb?a=ZGDirbCgC-s:3P2ojS2mSVQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/readwriteweb?d=yIl2AUoC8zA" border="0"/></a> <a href="http://feeds.feedburner.com/~ff/readwriteweb?a=ZGDirbCgC-s:3P2ojS2mSVQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/readwriteweb?i=ZGDirbCgC-s:3P2ojS2mSVQ:V_sGLiPBpWU" border="0"/></a> <a href="http://feeds.feedburner.com/~ff/readwriteweb?a=ZGDirbCgC-s:3P2ojS2mSVQ:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/readwriteweb?i=ZGDirbCgC-s:3P2ojS2mSVQ:gIN9vFwOqvQ" border="0"/></a> <a href="http://feeds.feedburner.com/~ff/readwriteweb?a=ZGDirbCgC-s:3P2ojS2mSVQ:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/readwriteweb?i=ZGDirbCgC-s:3P2ojS2mSVQ:F7zBnMyn0Lo" border="0"/></a> <a href="http://feeds.feedburner.com/~ff/readwriteweb?a=ZGDirbCgC-s:3P2ojS2mSVQ:OqabYuBsmOY"><img src="http://feeds.feedburner.com/~ff/readwriteweb?d=OqabYuBsmOY" border="0"/></a>
</div>
<p><img src="http://feeds.feedburner.com/~r/readwriteweb/~4/ZGDirbCgC-s" height="1" width="1"/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.glennmarcus.com/blog/2010/02/12/how-much-venture-capital-should-you-raise-for-your-saas-venture/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Use/Build Tools for Yourself</title>
		<link>http://www.glennmarcus.com/blog/2009/10/15/usebuild-tools-for-yourself/</link>
		<comments>http://www.glennmarcus.com/blog/2009/10/15/usebuild-tools-for-yourself/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 10:37:45 +0000</pubDate>
		<dc:creator>Saverio Mondelli</dc:creator>
				<category><![CDATA[web20]]></category>
		<category><![CDATA[user/12651333281871808648/label/appextras]]></category>
		<category><![CDATA[user/12651333281871808648/label/startup]]></category>
		<category><![CDATA[user/12651333281871808648/label/web20]]></category>
		<category><![CDATA[user/12651333281871808648/state/com.google/read]]></category>

		<guid isPermaLink="false">tag:google.com,2005:reader/item/592764284ea7477d</guid>
		<description><![CDATA[<p>One of the things that we&#8217;ve been focusing on lately has been building tools to better manage our products and services. It&#8217;s amazing what a well designed tool can tell you about your business. When I say &#8220;tool&#8221;, I&#8217;m referring to an application. Whether it be a web app, a desktop app or even a simple spreadsheet, creating a good &#8220;tool&#8221; that can help you leverage data that you&#8217;ve collected, or even help you collect data to analyze is a great thing to have.</p>
<p>For example, our F-MyLife application leverages multiple ad networks to fill it&#8217;s inventory. It currently uses the AdWhirl SDK to do this and it worked great for a while; however, our buddies over at <a href="http://mobclix.com">MobClix</a> built a much better ad aggregation platform with far more networks and we&#8217;ve since moved most of our traffic to <a href="http://mobclix.com">MobClix</a> so they can manage it. Since the AppStore is a pain in the ass and getting an update out would have taken weeks, we were able to allocate all of our traffic to <a href="http://mobclix.com">MobClix</a> via AdWhirl and <a href="http://mobclix.com">MobClix</a>&#8217;s new platform was able to handle everything from there. We ran our ads like this for over a month and then we started noticing a dropoff in our revenue. We scrambled to find out what the problem was, but since we were filtering through data from multiple networks, it was nearly impossible to put two and two together.</p>
<p>We decided that in order to analyze all of this data and really see connections between everything, we were&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>One of the things that we&#8217;ve been focusing on lately has been building tools to better manage our products and services. It&#8217;s amazing what a well designed tool can tell you about your business. When I say &#8220;tool&#8221;, I&#8217;m referring to an application. Whether it be a web app, a desktop app or even a simple spreadsheet, creating a good &#8220;tool&#8221; that can help you leverage data that you&#8217;ve collected, or even help you collect data to analyze is a great thing to have.</p>
<p>For example, our F-MyLife application leverages multiple ad networks to fill it&#8217;s inventory. It currently uses the AdWhirl SDK to do this and it worked great for a while; however, our buddies over at <a href="http://mobclix.com">MobClix</a> built a much better ad aggregation platform with far more networks and we&#8217;ve since moved most of our traffic to <a href="http://mobclix.com">MobClix</a> so they can manage it. Since the AppStore is a pain in the ass and getting an update out would have taken weeks, we were able to allocate all of our traffic to <a href="http://mobclix.com">MobClix</a> via AdWhirl and <a href="http://mobclix.com">MobClix</a>&#8217;s new platform was able to handle everything from there. We ran our ads like this for over a month and then we started noticing a dropoff in our revenue. We scrambled to find out what the problem was, but since we were filtering through data from multiple networks, it was nearly impossible to put two and two together.</p>
<p>We decided that in order to analyze all of this data and really see connections between everything, we were going to need to build something. So Shaun spent a few nights working on a web application that pulled in all of our data from all of our networks so it could be analyzed and displayed in a readable format along with some charts. This was a huge life saver. After reviewing the reports that we built for ourselves, we noticed a huge problem with our click-through rates and began working with everyone to resolve them.</p>
<p>Had we not built this tool, we probably would of never known the real cause of the issue. In fact, had we built this tool a month ago, we would of identified the bug earlier and we could have fixed it.</p>
<p>You don&#39;t always need to &quot;roll your own solution&quot; though. There are tons of products and services out there designed to fix problems just like yours, you just need to research them and set them up. A similar scenario occurred with our servers. We run FML/TWI &amp; ProTip on Amazon&#39;s EC2 infrastructure and we monitor everything with <a href="http://pingdom.com">Pingdom</a>. The other night, we had a 6 hour downtime between 2am EDT and 8am EDT. The problem was remedied by a simple lighttpd restart; however, during that time, we lost a lot of revenue. This wasn&#8217;t the first time that this happened either! So, yesterday, we setup <a href="http://scoutapp.com">Scoutapp</a> to keep an eye on our server load and monitor some other metrics (like MySQL). When we woke up, we were greeted with a bunch of alerts from <a href="http://scoutapp.com">Scoutapp</a> telling us that we had 1 SQL query which was taking an awfully long time to run and bogging down the server. We logged in, identified the query, figured out why it was taking so long to run and remedied the problem by adding an index to one of our tables. Done!</p>
<p>If it weren&#8217;t for <a href="http://scoutapp.com">Scoutapp</a>, we would of had to manually log into each server, every morning and manually check the slow query logs. This is painstaking and given that we&#8217;re a small company with hundreds of things in the works at any given time, we don&#8217;t have the free time available to check logs. <a href="http://scoutapp.com">Scoutapp</a> saw a problem, let us know about it, and we fixed it. A tool saved our ass yet again.</p>
<p>This happens over and over in the software development business. After you&#8217;re done with the product, and it makes you a little bit of money, you NEED to build or setup tools that can help you manage your new business. If you don&#8217;t, you&#8217;ll spend all of your time managing your first product instead of working on your next.</p>
<p>Heartbeat was the first tool we built to manage our AppStore products. It&#8217;s been a great asset to us and after having had over a year of experience on the AppStore, we&#8217;re working on Heartbeat 3.0 which will incorporate all of the knowledge that we&#8217;ve gained through the past year.</p>
<p><b>It seems counter-productive when you&#8217;re a small company, but that&#8217;s when these little things help the most.</b> You don&#8217;t have the time to do it all, so it&#8217;s important to automate as much of your business as possible. Services like <a href="http://pingdom.com">Pingdom</a> and <a href="http://scoutapp.com">Scoutapp</a> have helped us maintain uptime on our servers. Others like <a href="http://sifterapp.com">Sifter</a> and <a href="http://tenderapp.com">Tender</a> have helped us keep track of bugs and deal with support issues from our customers.</p>
<p>There are a ton of other products and services out there that can help you run your business. If you can&#8217;t find one to meet your specific needs, spend some time, and build your own. Trust me, you&#8217;ll thank yourself in the long run.</p>
<div>
<a href="http://feeds.feedburner.com/~ff/EnormegoDevelopers?a=2_lZWV7Y7kU:NWKIDVDIZ6U:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/EnormegoDevelopers?d=yIl2AUoC8zA" border="0"/></a> <a href="http://feeds.feedburner.com/~ff/EnormegoDevelopers?a=2_lZWV7Y7kU:NWKIDVDIZ6U:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/EnormegoDevelopers?i=2_lZWV7Y7kU:NWKIDVDIZ6U:gIN9vFwOqvQ" border="0"/></a> <a href="http://feeds.feedburner.com/~ff/EnormegoDevelopers?a=2_lZWV7Y7kU:NWKIDVDIZ6U:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/EnormegoDevelopers?i=2_lZWV7Y7kU:NWKIDVDIZ6U:V_sGLiPBpWU" border="0"/></a> <a href="http://feeds.feedburner.com/~ff/EnormegoDevelopers?a=2_lZWV7Y7kU:NWKIDVDIZ6U:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/EnormegoDevelopers?d=qj6IDK7rITs" border="0"/></a>
</div>
<p><img src="http://feeds.feedburner.com/~r/EnormegoDevelopers/~4/2_lZWV7Y7kU" height="1" width="1"/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.glennmarcus.com/blog/2009/10/15/usebuild-tools-for-yourself/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Chargify: (Another) Billing App and API for Small Web and SaaS Companies</title>
		<link>http://www.glennmarcus.com/blog/2009/09/22/chargify-another-billing-app-and-api-for-small-web-and-saas-companies/</link>
		<comments>http://www.glennmarcus.com/blog/2009/09/22/chargify-another-billing-app-and-api-for-small-web-and-saas-companies/#comments</comments>
		<pubDate>Wed, 23 Sep 2009 02:50:15 +0000</pubDate>
		<dc:creator>Jolie O'Dell</dc:creator>
				<category><![CDATA[web20]]></category>
		<category><![CDATA[Products]]></category>

		<guid isPermaLink="false">tag:google.com,2005:reader/item/9debcac68468192d</guid>
		<description><![CDATA[<p><img src="http://www.readwriteweb.com/readwritestart/chargify.jpg"/>From small-business support company <a href="http://grasshopper.com">Grasshopper</a> comes <a href="http://chargify.com/">Chargify</a>, a billing and subscription system for web 2.0 and SaaS companies that eliminates the need to build bespoke applications.</p>
<p>Their <a href="http://support.chargify.com/faqs/api/api-user-guide">RESTful API</a> and hosted payment solution permit simple integration into any website, allowing businesses to charge customers on a recurring basis, manage subscriptions, achieve PCI compliance, and gain real-time business intelligence from their billing.</p>
<p align="right"><em>Sponsor</em><br /><a href="http://d1.openx.org/ck.php?n=16505&#38;cb=16505"><img src="http://d1.openx.org/avw.php?zoneid=11205&#38;cb=16505&#38;n=16505" border="0" alt="" align="right"/></a></p>
<p>In addition to processing one-time and recurring transactions, Chargify handles free trial periods, promotions, refunds, receipts, and reminders.</p>
<p>Also, their pay-as-you-grow pricing seems ideal for small businesses and startups. The first 50 customers are free and range up to $1,500 for 15,000 customers or $2,500 for an unlimited number of customers. Chargify does not charge individual transaction fees.</p>
<p>Take a look at this demo video from the Chargify team:</p>
<p></p>
<p>The API accepts method calls via HTTP and returns responses as JSON or XML, allowing companies to keep the customer purchase flow on their own sites and authenticate users while passing the billing information to Chargify for processing.</p>
<p>Interested parties can sign up for the service, still in beta, at the <a href="http://chargify.com/pricing-and-signup.html#">Chargify website</a>.</p>
<p>Now, it goes without saying that Chargify is far from the first billing software for small- and medium-sized businesses; competitors such as <a href="http://www.freshbooks.com/">FreshBooks</a> are fast becoming well-known heavy hitters in the space. We also found a couple billing services that offer an API &#8211; the Dutch <a href="http://www.moneybird.nl/help/api">MoneyBird</a>, and two English-language services, <a href="http://developer.zuora.com/ZuoraAPI.html">Zuora</a> and <a href="http://www.vindicia.com/resources/api.html">Vindicia</a>. What &#8211; if anything &#8211; makes Chargify truly competitive in this increasingly crowded space?</p>
<p>Let us know your thoughts in the comments &#8211; especially if&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.readwriteweb.com/readwritestart/chargify.jpg"/>From small-business support company <a href="http://grasshopper.com">Grasshopper</a> comes <a href="http://chargify.com/">Chargify</a>, a billing and subscription system for web 2.0 and SaaS companies that eliminates the need to build bespoke applications.</p>
<p>Their <a href="http://support.chargify.com/faqs/api/api-user-guide">RESTful API</a> and hosted payment solution permit simple integration into any website, allowing businesses to charge customers on a recurring basis, manage subscriptions, achieve PCI compliance, and gain real-time business intelligence from their billing.</p>
<p align="right"><em>Sponsor</em><br /><a href="http://d1.openx.org/ck.php?n=16505&amp;cb=16505"><img src="http://d1.openx.org/avw.php?zoneid=11205&amp;cb=16505&amp;n=16505" border="0" alt="" align="right"/></a></p>
<p>In addition to processing one-time and recurring transactions, Chargify handles free trial periods, promotions, refunds, receipts, and reminders.</p>
<p>Also, their pay-as-you-grow pricing seems ideal for small businesses and startups. The first 50 customers are free and range up to $1,500 for 15,000 customers or $2,500 for an unlimited number of customers. Chargify does not charge individual transaction fees.</p>
<p>Take a look at this demo video from the Chargify team:</p>
<p><embed src="http://www.youtube.com/v/C736flHVTIM&amp;hl=en&amp;fs=1&amp;color1=0x5d1719&amp;color2=0xcd311b" allowScriptAccess="never" allowFullScreen="true" width="610" height="481.33" wmode="transparent" type="application/x-shockwave-flash"></embed></p>
<p>The API accepts method calls via HTTP and returns responses as JSON or XML, allowing companies to keep the customer purchase flow on their own sites and authenticate users while passing the billing information to Chargify for processing.</p>
<p>Interested parties can sign up for the service, still in beta, at the <a href="http://chargify.com/pricing-and-signup.html#">Chargify website</a>.</p>
<p>Now, it goes without saying that Chargify is far from the first billing software for small- and medium-sized businesses; competitors such as <a href="http://www.freshbooks.com/">FreshBooks</a> are fast becoming well-known heavy hitters in the space. We also found a couple billing services that offer an API &#8211; the Dutch <a href="http://www.moneybird.nl/help/api">MoneyBird</a>, and two English-language services, <a href="http://developer.zuora.com/ZuoraAPI.html">Zuora</a> and <a href="http://www.vindicia.com/resources/api.html">Vindicia</a>. What &#8211; if anything &#8211; makes Chargify truly competitive in this increasingly crowded space?</p>
<p>Let us know your thoughts in the comments &#8211; especially if you have experience with using any of these online billing services!</p>
<p><strong><a href="http://www.readwriteweb.com/enterprise/2009/09/chargify-billing-app-and-api-f.php#comments-open">Discuss</a></strong>
<p><iframe src="http://feedads.g.doubleclick.net/~ah/f/bh8m03d07dnj95a0qa1ma5k32c/468/60#http%3A%2F%2Fwww.readwriteweb.com%2Fenterprise%2F2009%2F09%2Fchargify-billing-app-and-api-f.php" width="100%" height="60" frameborder="0" scrolling="no" marginwidth="0" marginheight="0"></iframe></p>
<div>
<a href="http://feeds.feedburner.com/~ff/readwriteweb?a=RmZaV28ZnWI:o3Ar2n6xG24:wyZtjr_bnvM"><img src="http://feeds.feedburner.com/~ff/readwriteweb?d=wyZtjr_bnvM" border="0"/></a> <a href="http://feeds.feedburner.com/~ff/readwriteweb?a=RmZaV28ZnWI:o3Ar2n6xG24:Ij26kaj3iuU"><img src="http://feeds.feedburner.com/~ff/readwriteweb?d=Ij26kaj3iuU" border="0"/></a> <a href="http://feeds.feedburner.com/~ff/readwriteweb?a=RmZaV28ZnWI:o3Ar2n6xG24:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/readwriteweb?d=yIl2AUoC8zA" border="0"/></a> <a href="http://feeds.feedburner.com/~ff/readwriteweb?a=RmZaV28ZnWI:o3Ar2n6xG24:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/readwriteweb?i=RmZaV28ZnWI:o3Ar2n6xG24:V_sGLiPBpWU" border="0"/></a> <a href="http://feeds.feedburner.com/~ff/readwriteweb?a=RmZaV28ZnWI:o3Ar2n6xG24:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/readwriteweb?i=RmZaV28ZnWI:o3Ar2n6xG24:gIN9vFwOqvQ" border="0"/></a> <a href="http://feeds.feedburner.com/~ff/readwriteweb?a=RmZaV28ZnWI:o3Ar2n6xG24:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/readwriteweb?i=RmZaV28ZnWI:o3Ar2n6xG24:F7zBnMyn0Lo" border="0"/></a> <a href="http://feeds.feedburner.com/~ff/readwriteweb?a=RmZaV28ZnWI:o3Ar2n6xG24:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/readwriteweb?d=qj6IDK7rITs" border="0"/></a> <a href="http://feeds.feedburner.com/~ff/readwriteweb?a=RmZaV28ZnWI:o3Ar2n6xG24:OqabYuBsmOY"><img src="http://feeds.feedburner.com/~ff/readwriteweb?d=OqabYuBsmOY" border="0"/></a> <a href="http://feeds.feedburner.com/~ff/readwriteweb?a=RmZaV28ZnWI:o3Ar2n6xG24:V0NnFgFmPVs"><img src="http://feeds.feedburner.com/~ff/readwriteweb?d=V0NnFgFmPVs" border="0"/></a>
</div>
<p><img src="http://feeds.feedburner.com/~r/readwriteweb/~4/RmZaV28ZnWI" height="1" width="1"/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.glennmarcus.com/blog/2009/09/22/chargify-another-billing-app-and-api-for-small-web-and-saas-companies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WipMania.com &#8211; Find An IP Anywhere</title>
		<link>http://www.glennmarcus.com/blog/2009/08/21/wipmania-com-find-an-ip-anywhere/</link>
		<comments>http://www.glennmarcus.com/blog/2009/08/21/wipmania-com-find-an-ip-anywhere/#comments</comments>
		<pubDate>Sat, 22 Aug 2009 04:22:00 +0000</pubDate>
		<dc:creator>(author unknown)</dc:creator>
				<category><![CDATA[web20]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">tag:google.com,2005:reader/item/9d7dc709e96e9d22</guid>
		<description><![CDATA[<p>In their own words</p>
<p>â€œWorldIP &#8211; free geolocation database, service and toolsâ€</p>
<p>Why it might be a killer</p>
<p>Because it offers a number of interesting and effective solutions that will be attractive to many users.</p>
<p>Some questions</p>
<p>Are any other tools being added to the sitesâ€™ service?</p>
<p>What it does</p>
<p>This is quite an interesting site if you are looking for a good place where you can find a solution that is useful to find any geographic point on the planet. However, this solution was developed thinking in a much more complex service that is potentially beneficial for many professionals. In fact, Wipmania.com gives you the chance to find any IP address on any part of the globe, as well as it allows you to apply a number of tools specially created to be used in any kind off specific project where it is necessary to find internet connections. </p>
<p>The site is very simple to use and you just need to navigate through it to learn how to search for what you are looking for. In case you want to read about this service and other similar solutions, Wipmania.com offers a blog where you can find this kind of information. </p>
<p>Among the many services and benefits offered by the company you will be able to use a highly effective plug-in for Firefox as well as an API and specific information about how to find different IPsâ€™ locations. In case you are attracted by this solution, it will be a good idea for you to give it a&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>In their own words</p>
<p>â€œWorldIP &#8211; free geolocation database, service and toolsâ€</p>
<p>Why it might be a killer</p>
<p>Because it offers a number of interesting and effective solutions that will be attractive to many users.</p>
<p>Some questions</p>
<p>Are any other tools being added to the sitesâ€™ service?</p>
<p>What it does</p>
<p>This is quite an interesting site if you are looking for a good place where you can find a solution that is useful to find any geographic point on the planet. However, this solution was developed thinking in a much more complex service that is potentially beneficial for many professionals. In fact, Wipmania.com gives you the chance to find any IP address on any part of the globe, as well as it allows you to apply a number of tools specially created to be used in any kind off specific project where it is necessary to find internet connections. </p>
<p>The site is very simple to use and you just need to navigate through it to learn how to search for what you are looking for. In case you want to read about this service and other similar solutions, Wipmania.com offers a blog where you can find this kind of information. </p>
<p>Among the many services and benefits offered by the company you will be able to use a highly effective plug-in for Firefox as well as an API and specific information about how to find different IPsâ€™ locations. In case you are attracted by this solution, it will be a good idea for you to give it a visit at Wipmania.com</p>
<p>Link: <a href="http://www.wipmania.com">http://www.wipmania.com</a><br />Our Review: <a href="http://www.killerstartups.com/Web20/wipmania-com-find-an-ip-anywhere">http://www.killerstartups.com/Web20/wipmania-com-find-an-ip-anywhere</a></p>
<p> Â 
<p><iframe src="http://feedads.g.doubleclick.net/~ah/f/obn6gvf2cup17saogk95jmef24/300/250?ca=1&amp;fh=280#http%3A%2F%2Fwww.killerstartups.com%2FWeb20%2Fwipmania-com-find-an-ip-anywhere" width="100%" height="280" frameborder="0" scrolling="no" marginwidth="0" marginheight="0"></iframe></p>
<div>
<a href="http://feeds.feedburner.com/~ff/killerstartups/BkQV?a=kdMhR4jU2XU:n_-cYz3MXao:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/killerstartups/BkQV?d=yIl2AUoC8zA" border="0"/></a> <a href="http://feeds.feedburner.com/~ff/killerstartups/BkQV?a=kdMhR4jU2XU:n_-cYz3MXao:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/killerstartups/BkQV?d=qj6IDK7rITs" border="0"/></a> <a href="http://feeds.feedburner.com/~ff/killerstartups/BkQV?a=kdMhR4jU2XU:n_-cYz3MXao:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/killerstartups/BkQV?i=kdMhR4jU2XU:n_-cYz3MXao:gIN9vFwOqvQ" border="0"/></a> <a href="http://feeds.feedburner.com/~ff/killerstartups/BkQV?a=kdMhR4jU2XU:n_-cYz3MXao:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/killerstartups/BkQV?i=kdMhR4jU2XU:n_-cYz3MXao:V_sGLiPBpWU" border="0"/></a> <a href="http://feeds.feedburner.com/~ff/killerstartups/BkQV?a=kdMhR4jU2XU:n_-cYz3MXao:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/killerstartups/BkQV?d=dnMXMwOfBR0" border="0"/></a> <a href="http://feeds.feedburner.com/~ff/killerstartups/BkQV?a=kdMhR4jU2XU:n_-cYz3MXao:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/killerstartups/BkQV?i=kdMhR4jU2XU:n_-cYz3MXao:F7zBnMyn0Lo" border="0"/></a>
</div>
<p><img src="http://feeds.feedburner.com/~r/killerstartups/BkQV/~4/kdMhR4jU2XU" height="1" width="1"/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.glennmarcus.com/blog/2009/08/21/wipmania-com-find-an-ip-anywhere/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>All the Web&#8217;s a Database: Yahoo Extends YQL With Insert, Update, Delete</title>
		<link>http://www.glennmarcus.com/blog/2009/07/08/all-the-webs-a-database-yahoo-extends-yql-with-insert-update-delete/</link>
		<comments>http://www.glennmarcus.com/blog/2009/07/08/all-the-webs-a-database-yahoo-extends-yql-with-insert-update-delete/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 17:00:00 +0000</pubDate>
		<dc:creator>Frederic Lardinois</dc:creator>
				<category><![CDATA[web20]]></category>
		<category><![CDATA[Developers]]></category>

		<guid isPermaLink="false">tag:google.com,2005:reader/item/a5cadde56551bf66</guid>
		<description><![CDATA[<p><img alt="yql_logo_jul09.png" src="http://www.readwriteweb.com/images/yql_logo_jul09.png"/>Last October, Yahoo announced the <a href="http://developer.yahoo.com/yql/">Yahoo Query Language</a>, a language similar to the popular database language SQL. Then, this February, Yahoo also <a href="http://www.yqlblog.net/blog/2009/02/05/open-data-tables-added-to-yql/">announced</a> its first major product that made use of YQL, the<a href="http://developer.yahoo.com/yql/guide/yql-opentables-chapter.html"> Open Data Tables</a>, which allowed developers to create their own table definitions besides the ones already provided by Yahoo. As we <a href="http://www.readwriteweb.com/archives/theres_a_great_amount_of.php">reported</a> in March, Yahoo then went ahead and <a href="http://developer.yahoo.net/blog/archives/2009/04/yql_execute.html">extended YQL</a> with YQL Execute, which gives developers even more flexibility and basically turns the web into a giant database that can be processed and mashed up with YQL. Today, Yahoo announced that it has completed its set of YQL verbs with three more functions (INSERT, UPDATE, DELETE) that now also allow developers to not just read and manipulate data, but also write data back to other services.</p>
<p align="right"><em>Sponsor</em><br /><a href="http://d1.openx.org/ck.php?n=15645&#38;cb=15645"><img src="http://d1.openx.org/avw.php?zoneid=11205&#38;cb=15645&#38;n=15645" border="0" alt="" align="right"/></a></p>
<p>We talked to Yahoo! Chief Technologist, <a href="http://www.javarants.com/">Sam Pullara,</a> (<a title="http://twitter.com/spullara" href="http://twitter.com/spullara">@spullara</a> on Twitter) and Jonathon Trevor, the product lead for YQL yesterday. They specifically stressed that Yahoo was trying to stay as close to the SQL language as possible, as this would allow the largest number of developers to make use of YQL without having to learn yet another new language. </p>
<h2>The Read/Write Web</h2>
<p>While the earlier incarnations of YQL were mainly meant to read data, with the addition of these three new SQL verbs, the focus has now shifted towards writing data back to the net as well. Developers can now use YQL to write and modify data on web services and applications. </p>
<p>To explain how useful this can be, the Yahoo team used a few different examples. A&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><img alt="yql_logo_jul09.png" src="http://www.readwriteweb.com/images/yql_logo_jul09.png"/>Last October, Yahoo announced the <a href="http://developer.yahoo.com/yql/">Yahoo Query Language</a>, a language similar to the popular database language SQL. Then, this February, Yahoo also <a href="http://www.yqlblog.net/blog/2009/02/05/open-data-tables-added-to-yql/">announced</a> its first major product that made use of YQL, the<a href="http://developer.yahoo.com/yql/guide/yql-opentables-chapter.html"> Open Data Tables</a>, which allowed developers to create their own table definitions besides the ones already provided by Yahoo. As we <a href="http://www.readwriteweb.com/archives/theres_a_great_amount_of.php">reported</a> in March, Yahoo then went ahead and <a href="http://developer.yahoo.net/blog/archives/2009/04/yql_execute.html">extended YQL</a> with YQL Execute, which gives developers even more flexibility and basically turns the web into a giant database that can be processed and mashed up with YQL. Today, Yahoo announced that it has completed its set of YQL verbs with three more functions (INSERT, UPDATE, DELETE) that now also allow developers to not just read and manipulate data, but also write data back to other services.</p>
<p align="right"><em>Sponsor</em><br /><a href="http://d1.openx.org/ck.php?n=15645&amp;cb=15645"><img src="http://d1.openx.org/avw.php?zoneid=11205&amp;cb=15645&amp;n=15645" border="0" alt="" align="right"/></a></p>
<p>We talked to Yahoo! Chief Technologist, <a href="http://www.javarants.com/">Sam Pullara,</a> (<a title="http://twitter.com/spullara" href="http://twitter.com/spullara">@spullara</a> on Twitter) and Jonathon Trevor, the product lead for YQL yesterday. They specifically stressed that Yahoo was trying to stay as close to the SQL language as possible, as this would allow the largest number of developers to make use of YQL without having to learn yet another new language. </p>
<h2>The Read/Write Web</h2>
<p>While the earlier incarnations of YQL were mainly meant to read data, with the addition of these three new SQL verbs, the focus has now shifted towards writing data back to the net as well. Developers can now use YQL to write and modify data on web services and applications. </p>
<p>To explain how useful this can be, the Yahoo team used a few different examples. A developer can now easily use YQL to update a Twitter account (even authentication with OAuth is possible), for example, or add a new comment to a blog post, or insert any data into a remote database. Basically, developers can now use YQL to write data back to any web site that uses forms for data entry and to any API, including authenticated APIs. </p>
<p>To try this, here is an example from Yahoo (you will have to log in to the YQL console):</p>
<blockquote>
<p>Try creating a new tweet from the YQL console, follow this link &lt;a href=&quot;<a href="https://developer.yahoo.com/yql/console?q=use%20%27http%3A%2F%2Fwww.yqlblog.net%2Fsamples%2Ftwitter.status.xml%27%3B%20insert%20into%20twitter.status%20%28status%2Cusername%2Cpassword%29%20values%20%28%22Playing%20with%20INSERT%20UPDATE%20and%20DELETE%20in%20YQL%22%2C%20%22twitterusername%22%2C%22twitterpassword%22%29">https://developer.yahoo.com/yql/console?q=use%20%27http%3A%2F%2Fwww.yqlblog.net%2Fsamples%2Ftwitter.status.xml%27%3B%20insert%20into%20twitter.status%20(status%2Cusername%2Cpassword)%20values%20(%22Playing%20with%20INSERT%20UPDATE%20and%20DELETE%20in%20YQL%22%2C%20%22twitterusername%22%2C%22twitterpassword%22)</a>&quot;&gt;to run this&lt;/a&gt;:</p>
<p>use &#8216;<a href="http://www.yqlblog.net/samples/twitter.status.xml">http://www.yqlblog.net/samples/twitter.status.xml</a>&#8216;;</p>
<p>insert into twitter.status (status,username,password) values (&quot;Playing with INSERT, UPDATE and DELETE in YQL&quot;, &quot;twitterusername&quot;,&quot;twitterpassword&quot;)</p>
</blockquote>
<p>Pullara and Trevor also stressed that because Yahoo runs YQL on five datacenters spread over three continents (three in the US, one in Europe, and another one in Asia), executing commands through YQL is generally very fast. Yahoo also set some relatively generous rate limits for the service. Developers who use the service and who identify themselves with an access key can make up to 100,000 calls per day, while anonymous users are restricted to 1000 calls per hour, which is still a pretty good number.</p>
<p><strong><a href="http://www.readwriteweb.com/archives/all_the_webs_a_database_yahoo_extends_yql_with_insert_update_delete.php#comments-open">Discuss</a></strong>
<p><iframe src="http://feedads.g.doubleclick.net/~ah/f/bh8m03d07dnj95a0qa1ma5k32c/300/250?ca=1&amp;fh=280#http%3A%2F%2Fwww.readwriteweb.com%2Farchives%2Fall_the_webs_a_database_yahoo_extends_yql_with_insert_update_delete.php" width="100%" height="280" frameborder="0" scrolling="no" marginwidth="0" marginheight="0"></iframe></p>
<div>
<a href="http://feeds.feedburner.com/~ff/readwriteweb?a=08SD0UtMTXU:RWNocUzpeyg:Ij26kaj3iuU"><img src="http://feeds.feedburner.com/~ff/readwriteweb?d=Ij26kaj3iuU" border="0"/></a> <a href="http://feeds.feedburner.com/~ff/readwriteweb?a=08SD0UtMTXU:RWNocUzpeyg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/readwriteweb?d=yIl2AUoC8zA" border="0"/></a> <a href="http://feeds.feedburner.com/~ff/readwriteweb?a=08SD0UtMTXU:RWNocUzpeyg:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/readwriteweb?i=08SD0UtMTXU:RWNocUzpeyg:V_sGLiPBpWU" border="0"/></a> <a href="http://feeds.feedburner.com/~ff/readwriteweb?a=08SD0UtMTXU:RWNocUzpeyg:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/readwriteweb?i=08SD0UtMTXU:RWNocUzpeyg:gIN9vFwOqvQ" border="0"/></a> <a href="http://feeds.feedburner.com/~ff/readwriteweb?a=08SD0UtMTXU:RWNocUzpeyg:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/readwriteweb?i=08SD0UtMTXU:RWNocUzpeyg:F7zBnMyn0Lo" border="0"/></a> <a href="http://feeds.feedburner.com/~ff/readwriteweb?a=08SD0UtMTXU:RWNocUzpeyg:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/readwriteweb?d=qj6IDK7rITs" border="0"/></a> <a href="http://feeds.feedburner.com/~ff/readwriteweb?a=08SD0UtMTXU:RWNocUzpeyg:OqabYuBsmOY"><img src="http://feeds.feedburner.com/~ff/readwriteweb?d=OqabYuBsmOY" border="0"/></a>
</div>
<p><img src="http://feeds.feedburner.com/~r/readwriteweb/~4/08SD0UtMTXU" height="1" width="1"/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.glennmarcus.com/blog/2009/07/08/all-the-webs-a-database-yahoo-extends-yql-with-insert-update-delete/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>50 Fresh JavaScript Tools That Will Improve Your Workflow</title>
		<link>http://www.glennmarcus.com/blog/2009/06/21/50-fresh-javascript-tools-that-will-improve-your-workflow/</link>
		<comments>http://www.glennmarcus.com/blog/2009/06/21/50-fresh-javascript-tools-that-will-improve-your-workflow/#comments</comments>
		<pubDate>Mon, 22 Jun 2009 03:22:22 +0000</pubDate>
		<dc:creator>Smashing Editorial</dc:creator>
				<category><![CDATA[ajax]]></category>
		<category><![CDATA[web20]]></category>
		<category><![CDATA[Developer's Toolbox]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[useful]]></category>

		<guid isPermaLink="false">tag:google.com,2005:reader/item/6022c2608b73a2b7</guid>
		<description><![CDATA[<table width="450">
<tr>
<td width="450">
<div style="width:450px">
     <img src="http://creatives.commindo-media.de/static/smashing-magazine-advertisement.gif" alt="" border="0"/><br />
     <a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=56"><img src="http://creatives.commindo-media.de/www/delivery/avw.php?zoneid=56" border="0" alt=""/></a>Â <a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=63"><img src="http://creatives.commindo-media.de/www/delivery/avw.php?zoneid=63" border="0" alt=""/></a>
   </div>
</td>
</tr>
</table>
<p> <strong>JavaScript</strong> is an  integral part of the RIA revolution. JavaScript allows developers to create  rich and interactive web interfaces and establish asynchronous communication  with servers for constantly up-to-date data without a page refresh.</p>
<p>Many things that were once accomplished using Flash objects  can now be built using JavaScript &#8211; with the added benefit that it is free,  typically more web and mobile accessible under most circumstances using best  practices for development techniques, and without the need to use proprietary  software for development.</p>
<p>Though JavaScript has been around for a while, new tools,  techniques, and information are constantly being pumped out to continually push  the technology into greater heights. In this article, we wish to share with you a <strong>huge list of fresh and new tools and  resources</strong> that JavaScript developers will find useful and informative.</p>
<p>Here are a few other posts that you might find interesting:</p>
<ul>
<li><a href="http://www.smashingmagazine.com/2009/02/08/50-extremely-useful-javascript-tools/">50  Useful JavaScript Tools</a></li>
<li><a href="http://www.smashingmagazine.com/2009/03/02/40-stand-alone-javascript-libraries-for-specific-purposes/">40  Useful JavaScript Libraries</a></li>
<li><a href="http://www.smashingmagazine.com/2008/09/16/jquery-examples-and-best-practices/">jQuery  and JavaScript Coding</a></li>
</ul>
<h3>Useful JavaScript Tools</h3>
<p><a href="http://ejohn.org/blog/fireunit/">FireUnit</a><br />
Unit testing is an integral part of building high-performance  and efficient web applications. John Resig (creator of jQuery library) and Jan  Odvarko have developed an excellent Firefox/Firebug extension called FireUnit  which gives developers logging and testing capabilities via a simple JavaScript  API. For those interested in the tool, you should also read Odvarkoâ€™s post  detailing the <a href="http://www.softwareishard.com/blog/firebug/fireunit-testing-in-the-firebug-world/">usage  of FireUnit</a>.</p>
<p><a href="http://ejohn.org/blog/fireunit/"><img src="http://media2.smashingmagazine.com/wp-content/uploads/images/js-50-useful-tools/fireunit.jpg" alt="FireUnit" width="431" height="462"/></a></p>
<p><a href="http://sugartest.scriptia.net/">Sugar Test</a><br />
SugarTest makes it easy to write elegant and understandable JavaScript tests. Its API is inspired by both RSpec, Shoulda and jQuery. It works as a DSL running on top of JsUnitTest.</p>
<p><a href="http://sugartest.scriptia.net/"><img src="http://media2.smashingmagazine.com/wp-content/uploads/images/js-50-useful-tools/sugar.gif" alt="Screenshot" width="482" height="237"/></a></p>
<p><a href="http://jsclass.jcoglan.com/">JS.Class: Ruby-style JavaScript</a><br />
JS.Class is a library designed to facilitate object-oriented&#8230;</p>]]></description>
			<content:encoded><![CDATA[<table width="450">
<tr>
<td width="450">
<div style="width:450px">
     <img src="http://creatives.commindo-media.de/static/smashing-magazine-advertisement.gif" alt="" border="0"/><br />
     <a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=56"><img src="http://creatives.commindo-media.de/www/delivery/avw.php?zoneid=56" border="0" alt=""/></a>Â <a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=63"><img src="http://creatives.commindo-media.de/www/delivery/avw.php?zoneid=63" border="0" alt=""/></a>
   </div>
</td>
</tr>
</table>
<p> <strong>JavaScript</strong> is an  integral part of the RIA revolution. JavaScript allows developers to create  rich and interactive web interfaces and establish asynchronous communication  with servers for constantly up-to-date data without a page refresh.</p>
<p>Many things that were once accomplished using Flash objects  can now be built using JavaScript &#8211; with the added benefit that it is free,  typically more web and mobile accessible under most circumstances using best  practices for development techniques, and without the need to use proprietary  software for development.</p>
<p>Though JavaScript has been around for a while, new tools,  techniques, and information are constantly being pumped out to continually push  the technology into greater heights. In this article, we wish to share with you a <strong>huge list of fresh and new tools and  resources</strong> that JavaScript developers will find useful and informative.</p>
<p>Here are a few other posts that you might find interesting:</p>
<ul>
<li><a href="http://www.smashingmagazine.com/2009/02/08/50-extremely-useful-javascript-tools/">50  Useful JavaScript Tools</a></li>
<li><a href="http://www.smashingmagazine.com/2009/03/02/40-stand-alone-javascript-libraries-for-specific-purposes/">40  Useful JavaScript Libraries</a></li>
<li><a href="http://www.smashingmagazine.com/2008/09/16/jquery-examples-and-best-practices/">jQuery  and JavaScript Coding</a></li>
</ul>
<h3>Useful JavaScript Tools</h3>
<p><a href="http://ejohn.org/blog/fireunit/">FireUnit</a><br />
Unit testing is an integral part of building high-performance  and efficient web applications. John Resig (creator of jQuery library) and Jan  Odvarko have developed an excellent Firefox/Firebug extension called FireUnit  which gives developers logging and testing capabilities via a simple JavaScript  API. For those interested in the tool, you should also read Odvarkoâ€™s post  detailing the <a href="http://www.softwareishard.com/blog/firebug/fireunit-testing-in-the-firebug-world/">usage  of FireUnit</a>.</p>
<p><a href="http://ejohn.org/blog/fireunit/"><img src="http://media2.smashingmagazine.com/wp-content/uploads/images/js-50-useful-tools/fireunit.jpg" alt="FireUnit" width="431" height="462"/></a></p>
<p><a href="http://sugartest.scriptia.net/">Sugar Test</a><br />
SugarTest makes it easy to write elegant and understandable JavaScript tests. Its API is inspired by both RSpec, Shoulda and jQuery. It works as a DSL running on top of JsUnitTest.</p>
<p><a href="http://sugartest.scriptia.net/"><img src="http://media2.smashingmagazine.com/wp-content/uploads/images/js-50-useful-tools/sugar.gif" alt="Screenshot" width="482" height="237"/></a></p>
<p><a href="http://jsclass.jcoglan.com/">JS.Class: Ruby-style JavaScript</a><br />
JS.Class is a library designed to facilitate object-oriented development in JavaScript. It implements Rubyâ€™s core object, module and class system and some of its metaprogramming facilities, giving you a powerful base to build well-structured OO programs.</p>
<p><a href="http://jsclass.jcoglan.com/"><img src="http://media1.smashingmagazine.com/wp-content/uploads/images/js-50-useful-tools/ruby.jpg" alt="Screenshot" width="482" height="237"/></a></p>
<p><a href="http://jsonformatter.curiousconcept.com/">JSON Formatter and Validator</a><br />
The JSON Formatter was created to help with debugging. As data expressed as JSON is often written without line breaks to save space, it became extremely difficult to actually read it. This tool hopes to solve the problem by formatting the JSON into data that is easily readable by human beings.</p>
<p><a href="http://icant.co.uk/sandbox/fauxconsole/">Faux Console: Simulating a Firebug, Safari or Opera debugging in IE</a><br />
Browsers like Safari, Opera and Firefox use the Firebug extension that offers a developer a comfortable way to output debugging information using the console.log() command. Microsoft Internet Explorer does not support this though â€“ Faux Console is a small JavaScript that you can embed in the document to have a basic debugging console in IE.</p>
<p><a href="http://jsbin.com/">JS Bin</a><br />
JS Bin is a web application for testing and debugging  JavaScript and CSS collaboratively. You input your source code and save it to a  publicly-accessible URL which you can then share to your fellow developers or  in social networking outlets like Twitter or Facebook groups. Be sure to check out  the <a href="http://jsbin.com/about#video">video introduction</a> to see JS Bin  in action.</p>
<p><a href="http://jsbin.com/"><img src="http://media1.smashingmagazine.com/wp-content/uploads/images/js-50-useful-tools/js-bin.jpg" alt="JS Bin" width="480" height="209"/></a></p>
<p><a href="http://phpjs.org/">PHP.JS</a><br />
PHP.JS is an open source project in which we try to port PHP functions to JavaScript. By including the PHP.JS library in your own projects, you can use your favorite PHP functions client-side.</p>
<p><a href="http://code.google.com/speed/page-speed/">Page  Speed</a><br />
Page Speed, released by Google, is a Firefox/Firebug  extension very similar to <a href="http://developer.yahoo.com/yslow/">YSlow</a> that evaluates your web pages for performance. Read more about <a href="http://code.google.com/speed/page-speed/index.html">Page Speed</a> best  practices to see what aspects of a web page are being evaluated. YSlow and Page  Speed are based off <a href="http://stevesouders.com/">Steve Souderâ€™s work</a> (who worked for Yahoo! and now works for Google).</p>
<p><a href="http://code.google.com/speed/page-speed/"><img src="http://media2.smashingmagazine.com/wp-content/uploads/images/js-50-useful-tools/pagespeed.jpg" alt="Page Speed" width="480" height="235"/></a></p>
<p><a href="http://james.padolsey.com/javascript/prettyprint-for-javascript/">prettyPrint</a><br />
prettyPrint is an in-browser JavaScript utility for dumping  variable information, inspired by ColdFusionâ€™s built-in <a href="http://www.petefreitag.com/images/blog/jsdump.gif">cfdump</a> utility  function. Using prettyPrint on JS objects, variables, and arrays will give you  a large array of information about them, which you can then use for debugging  purposes or simply for gathering data about them for documentation.</p>
<p><a href="http://james.padolsey.com/javascript/prettyprint-for-javascript/"><img src="http://media2.smashingmagazine.com/wp-content/uploads/images/js-50-useful-tools/prettyprint.jpg" alt="prettyPrint" width="480" height="161"/></a></p>
<p><a href="http://www.spket.com/">Spket IDE</a><br />
Spket is an excellent toolkit for JavaScript and XML  development. It has a robust and intuitive GUI, and integrates with popular and  powerful JavaScript/Ajax libraries such as Y!UI and jQuery. Its <a href="http://www.spket.com/javascript-formatter.html">JavaScript Formatter</a> feature  gives you unparalleled control and standardization for you or your teamâ€™s  JavaScript code formatting standards.</p>
<p><a href="http://www.spket.com/"><img src="http://media1.smashingmagazine.com/wp-content/uploads/images/js-50-useful-tools/spket.jpg" alt="Spket IDE" width="480" height="208"/></a></p>
<p><a href="http://robertnyman.com/obtrusive-javascript-checker/">Obtrusive  JavaScript Checker</a><br />
Obtrusive JavaScript Checker, created by Robert Nyman, is a  tool for finding inline JavaScript on web pages. It highlights elements that  have inline JavaScript properties and provides a summary report when you mouse  over them. The tool is available as a <a href="https://addons.mozilla.org/en-US/firefox/addon/9505">Firefox extension</a> or a <a href="http://code.google.com/p/obtrusivejavascriptchecker/downloads/detail?name=ObtrusiveJavaScriptChecker-0.8.user.js&amp;can=2">Greasemonkey  script</a>.</p>
<p><a href="http://softwaremaniacs.org/soft/highlight/en/">Highlight.js</a><br />
Highlight.js highlights syntax in code examples on blogs, forums and other web pages. The tool works automatically: it finds blocks of code, detects a language and highlights it accordingly.</p>
<p><a href="http://softwaremaniacs.org/soft/highlight/en/"><img src="http://media1.smashingmagazine.com/wp-content/uploads/images/js-50-useful-tools/high.gif" alt="Screenshot" width="482" height="237"/></a></p>
<p><a href="http://javascriptcompressor.com/">Javascript Compressor</a><br />
Javascript Compressor is a web-based tool for compressing  your JavaScript to reduce their file sizes. It works by removing unnecessary  characters (such as extra tabs and spaces). Developers who use the tool to  compress their code can also use the decoding feature to uncompress their  source code. It also obfuscates your code, making it harder to read &#8211; which can  be desirable if you want to delay prying eyes from analyzing your  publicly-available code base.</p>
<p><a href="http://javascriptcompressor.com/"><img src="http://media2.smashingmagazine.com/wp-content/uploads/images/js-50-useful-tools/javascript-compressor.jpg" alt="Javascript Compressor" width="480" height="307"/></a></p>
<p><a href="http://www.incaseofstairs.com/firediff/">Firediff</a><br />
Firediff is a Firefox/Firebug extension that allows you to  track changes in the DOM and CSS. By logging these changes, you can gain  information about how web applications work, and what elements (and what  properties) are being altered by way of DOM manipulation.</p>
<p><a href="http://www.incaseofstairs.com/firediff/"><img src="http://media2.smashingmagazine.com/wp-content/uploads/images/js-50-useful-tools/firediff.jpg" alt="Firediff" width="452" height="245"/></a></p>
<p><a href="http://rockstarapps.com/joomla-1.5.8/products/razor-web-profiler/overview.html">RockStar  Web Profiler</a><br />
RockStar Web Profiler (aka Razor) logs and profiles  information about client-side performance. It provides developers with a  console for analyzing the data gathered by the tool. Check out the <a href="http://docs.google.com/Present?docid=acmj49ptxpc7_7dx5qzcf4">RockStar Web  Profiler presentation</a> to get an overview of its many awesome features.</p>
<p><a href="http://userjs.up.seesaa.net/js/bookmarklet.html">bookmarklet  maker</a><br />
This plain and simple web tool allows you to create  JavaScript-based bookmarklets. Usage is simple: simply copy and paste your  source code into it and it will output the processed code in the lower pane.</p>
<p><a href="http://userjs.up.seesaa.net/js/bookmarklet.html"><img src="http://media1.smashingmagazine.com/wp-content/uploads/images/js-50-useful-tools/bookmarlet-maker.jpg" alt="bookmarklet maker" width="480" height="201"/></a></p>
<p><a href="http://tinyjs.com/">Tiny JS</a><br />
Tiny JS is an online directory of small but powerful plugins  for popular JavaScript/Ajax libraries (MooTools, jQuery, and YUI at the moment).  Its aim is to hunt down and feature lightweight plugins that give you a lot of  bang for the buck.</p>
<p><a href="http://tinyjs.com/"><img src="http://media1.smashingmagazine.com/wp-content/uploads/images/js-50-useful-tools/tiny-js.jpg" alt="Tiny JS" width="480" height="299"/></a></p>
<p><a href="http://www.jscharts.com/home">JSCharts</a><br />
JS Charts is a free JavaScript based chart generator that requires little or no coding. With JS Charts drawing charts is a simple and easy task, since you only have to use client-side scripting (i.e. performed by your web browser). No additional plugins or server modules are required. Itâ€™s enough to include the scripts, prepare your chart data in XML or JavaScript Array and your chart is ready.</p>
<p><a href="http://visitmix.com/lab/glimmer">Glimmer</a><br />
Glimmer is an interactive design tool for incorporating  slick JavaScript-based animation effects using the jQuery library. Glimmer  comes with a wizard-style user interface which can reduce the amount of coding  that you have to write manually.</p>
<p><a href="http://visitmix.com/lab/glimmer"><img src="http://media2.smashingmagazine.com/wp-content/uploads/images/js-50-useful-tools/glimmer.jpg" alt="Glimmer" width="480" height="272"/></a></p>
<p><a href="http://jania.pe.kr/aw/moin.cgi/JSSpec">JSSPec</a><br />
A testing environment for JavaScript that runs on IE 6+, Firefox 2+ and Safari 3+. The tool shows differences between expected value and actual value, displays the failed line exactly and supports conditional execution. Released under GNU and available for <a href="http://code.google.com/p/jsspec/downloads/list">free download</a>.</p>
<p><a href="http://www.coderun.com/Search/?q=Ajax">CodeRun Code  Search</a><br />
CodeRunâ€™s Code Search tool lets you search and view  user-submitted Ajax,  PHP, and .NET source code. Once youâ€™ve found a script or project that youâ€™re  interested in, you can edit it via their <a href="http://www.coderun.com/ide/">web-based  IDE</a> without having to download the project locally.</p>
<p><a href="http://iphoneized.com/2009/04/basejs-mobile-safari-javascript-framework/">BaseJS: A Mobile (Safari) Javascript Framework</a><br />
a simple, lightweight framework created specifically for Mobile Safari (perfect for iPhone development).</p>
<p><a href="http://www.coderun.com/Search/?q=Ajax"><img src="http://media2.smashingmagazine.com/wp-content/uploads/images/js-50-useful-tools/coderun.jpg" alt="CodeRun Code Search" width="480" height="299"/></a></p>
<p><a href="http://mochaui.com/">MochaUI</a><br />
MochaUI is a web-based tool for building web application interfaces  built on top of the MooTools JavaScript framework. Jump right in by taking  MochaUI for a spin in their <a href="http://mochaui.com/demo/">demo page</a>.</p>
<p><a href="http://mochaui.com/"><img src="http://media1.smashingmagazine.com/wp-content/uploads/images/js-50-useful-tools/mochaui.jpg" alt="MochaUI" width="480" height="342"/></a></p>
<h3>Utility Libraries and Components for JavaScript</h3>
<p><a href="http://narwhaljs.org/">narwhal</a><br />
narwhal is a server-side JavaScript library following the <a href="https://wiki.mozilla.org/ServerJS">ServerJS</a> standard. Developers can  create and share â€œpackagesâ€ for website widgets, site features,  programming patterns, in a similar fashion as <a href="http://pear.php.net/">PEAR</a> for PHP.</p>
<p><a href="http://www.uploadify.com/">uploadify</a><br />
uploadify is a useful jQuery plugin for dealing with file  uploads. Itâ€™s powered by a simple PHP script for handling the server-side <em>stuff</em>. Be sure to check out the <a href="http://www.uploadify.com/demo/">uploadify demos</a> to see the plugin in  action.</p>
<p><a href="http://www.gscottolson.com/blackbirdjs/">Blackbird</a><br />
Blackbird lets you log messages in JavaScript using a simple  and intuitive JS-based API. The library also provides you with an attractive  console GUI for viewing and analyzing messages. No more annoying alert()  functions to see your objectsâ€™ contents (which can be frustrating for printing  out array values) and for setting breakpoints.</p>
<p><a href="http://www.gscottolson.com/blackbirdjs/"><img src="http://media1.smashingmagazine.com/wp-content/uploads/images/js-50-useful-tools/blackbird.jpg" alt="Blackbird" width="480" height="188"/></a></p>
<p><a href="http://www.digitalhymn.com/argilla/booklaylet/">Booklaylet</a><br />
Booklaylet is a JS library for letting you easily deploy  your <a href="http://en.wikipedia.org/wiki/Bookmarklet">bookmarklet</a> applications. The implementation is dead simple: take the Booklaylet source and  modify it to point to your appâ€™s URL.</p>
<p><a href="http://javascriptools.sourceforge.net/">JavaScripTools</a><br />
JavaScipTools is a collection of useful JS components,  functions, and classes with the aim of addressing some of the more common web  developer tasks such as parsing and formatting of data types (i.e. date and  time). It also comes with a dynamic table function for creating sortable HTML  tables.</p>
<p><a href="http://www.lamberta.org/blog/doodle/">Doodle.js</a><br />
HTML 5â€™s <a href="http://www.whatwg.org/specs/web-apps/current-work/#the-canvas-element">Canvas</a> element gives developers a way to draw stuff on web pages programmatically.  Doodle.js is a utility library/framework for working with more complex and  robust Canvas drawing processes. Check out <a href="http://www.lamberta.org/demo/js/doodle/examples/01/spiral.html">Spiral Pattern</a> demo and the <a href="http://www.lamberta.org/demo/js/doodle/examples/01/rotate.html">Marbles in Space</a> (3D simulation) demo in a browser that  already supports Canvas to get a feel for how Doodle.js works.</p>
<p><a href="http://www.lamberta.org/blog/doodle/"><img src="http://media2.smashingmagazine.com/wp-content/uploads/images/js-50-useful-tools/doodle-js.jpg" alt="Doodle.js" width="480" height="241"/></a></p>
<p><a href="http://digitalhymn.com/argilla/liteajax/">liteAJaX</a><br />
liteAJaX is a lightweight JavaScript class for working with AJAX. This library is  perfect for projects that donâ€™t use a JavaScript/Ajax framework or projects  that donâ€™t need a more robust and fully-featured framework.</p>
<p><a href="http://hyper-metrix.com/#Burst">Burst</a><br />
Burst is a vector animation engine for HTML 5â€™s Canvas  element. With it, you can create smooth, Flash-like animation effects for  browsers that support Canvas.</p>
<p><a href="http://hyper-metrix.com/#Burst"><img src="http://media2.smashingmagazine.com/wp-content/uploads/images/js-50-useful-tools/burst.jpg" alt="Burst" width="480" height="235"/></a></p>
<p><a href="http://code.google.com/p/js-test-driver/">JSTestDriver</a><br />
JSTestDriver is a Java-based framework for creating unit  test following <a href="http://en.wikipedia.org/wiki/Test-driven_development">Test-Driven  Development</a> philosophies and best practices. Be sure to check out this <a href="http://www.youtube.com/watch?v=V4wYrR6t5gE&amp;eurl=http%3A%2F%2Fwww%2Egmodules%2Ecom%2Fgadgets%2Fifr%3Furl%3Dhttp%253A%252F%252Fgoogle%2Dcode%2Dproject%2Dhosting%2Dgadgets%2Egooglecode%2Ecom%252Fsvn%252Fbuild%252Fprod%252Fv&amp;feature=player_embedded">video  demonstration of JSTestDriver in action</a>.</p>
<p><a href="http://code.google.com/p/jspdf/">jsPDF</a><br />
This library allows you to create PDFâ€™s using nothing else  but JavaScript. See <a href="http://jspdf.googlecode.com/svn/trunk/examples/basic.htm">the jsPDF demo  page</a> to see the library in action.</p>
<h3>Useful JavaScript Libraries</h3>
<p><a href="http://www.glassbox-js.com/">GlassBox</a><br />
GlassBox is a beautiful and refreshing take on modal windows  that creates an interesting feeling of transparency as if you were looking  through a glass. Check out the <a href="http://www.glassbox-js.com/#examples">example  page</a> to see different types of GlassBox implementations.</p>
<p><a href="http://www.glassbox-js.com/"><img src="http://media1.smashingmagazine.com/wp-content/uploads/images/js-50-useful-tools/glassbox.jpg" alt="GlassBox" width="480" height="259"/></a></p>
<p><a href="http://flowplayer.org/tools/index.html">jQuery TOOLS</a><br />
jQuery TOOLS is a toolbox that gives developers some of the  most popular UI design patterns at their disposal in an easy-to-use manner.  View some of the things you can do with jQuery TOOLS in the projectâ€™s <a href="http://flowplayer.org/tools/demos/index.html">demo page</a>.</p>
<p><a href="http://flowplayer.org/tools/index.html"><img src="http://media1.smashingmagazine.com/wp-content/uploads/images/js-50-useful-tools/jquery-tools.jpg" alt="jQuery TOOLS" width="480" height="145"/></a></p>
<p><a href="http://neofreeman.freepgs.com/Moousture/">Moousture</a><br />
Moosture is a JavaScript library for dealing with mouse  gestures, written on top of the MooTools framework.</p>
<p><a href="http://cssglobe.com/lab/tablecloth/">Tablecloth</a><br />
Tablecloth is a lightweight and unobtrusive JavaScript  library for styling and adding dynamic user interaction to HTML tables.</p>
<p><a href="http://cssglobe.com/lab/tablecloth/"><img src="http://media2.smashingmagazine.com/wp-content/uploads/images/js-50-useful-tools/tablecloth.jpg" alt="Tablecloth" width="480" height="235"/></a></p>
<p><a href="http://www.frequency-decoder.com/2007/11/15/unobtrusive-table-actions-script">Unobtrusive  Table Actions Script</a><br />
This simple and lightweight library brings together a set of  common and useful functions for dealing with HTML tables, such as  zebra-striping rows, highlighting rows on mouse over, and column highlighting.</p>
<p><a href="http://livepipe.net/">LivePipe</a><br />
LivePipe is a set of widgets and controls for adding common  user interaction components to web applications using the Prototype JavaScript  framework.</p>
<p><a href="http://livepipe.net/"><img src="http://media2.smashingmagazine.com/wp-content/uploads/images/js-50-useful-tools/livepipe.jpg" alt="LivePipe" width="480" height="235"/></a></p>
<p><a href="http://www.greywyvern.com/code/javascript/keyboard">JavaScript Graphical  / Virtual Keyboard Interface</a><br />
This JavaScript package adds a  virtual keyboard interface into web pages.</p>
<p><a href="http://www.greywyvern.com/code/javascript/keyboard"><img src="http://media1.smashingmagazine.com/wp-content/uploads/images/js-50-useful-tools/javascript-graphical-virtual-keyboard.jpg" alt="JavaScript Graphical / Virtual Keyboard Interface" width="480" height="193"/></a></p>
<p><a href="http://digitalhymn.com/argilla/tipmage/">Tipmage</a><br />
Tipmage is a JavaScript class for handling tooltips and  annotations on images, similar to annotated images on Flickr.</p>
<p><a href="http://digitalhymn.com/argilla/tipmage/"><img src="http://media1.smashingmagazine.com/wp-content/uploads/images/js-50-useful-tools/tipmage.jpg" alt="Tipmage" width="402" height="245"/></a></p>
<p><a href="http://qgallery.quadrifolia.de/">qGallery</a><br />
qGallery is a simple but beautiful JavaScript for creating  image galleries with smooth and slick animation effects.</p>
<p><a href="http://qgallery.quadrifolia.de/"><img src="http://media2.smashingmagazine.com/wp-content/uploads/images/js-50-useful-tools/qgallery.jpg" alt="qGallery" width="402" height="245"/></a></p>
<h3>Educational JavaScript Resources and Tutorials</h3>
<p><a href="http://www.athenz.com/app/decision/center/ajax">Ajax  Frameworks Decision Center</a><br />
For large companies, committing to a JavaScript/Ajax  framework such as Prototype, MooTools, or jQuery is a big decision because it  affects a large amount of employees and will dictate the direction of the companyâ€™s  client-side interaction and RIA development philosophies. Using the Ajax Frameworks   Decision Center  gives you an organized, quantitative, and thorough method for making a solid  decision.</p>
<p><a href="http://www.athenz.com/app/decision/center/ajax"><img src="http://media2.smashingmagazine.com/wp-content/uploads/images/js-50-useful-tools/ajax-decision-center.jpg" alt="Ajax Frameworks Decision Center" width="480" height="241"/></a></p>
<p><a href="http://jqueryvsmootools.com/">jQuery vs MooTools</a><br />
This single-page site by MooTools Dev Team member Aaron  Newton is a comparative look into jQuery versus MooTools.</p>
<p><a href="http://raibledesigns.com/rd/entry/ajax_framework_analysis_results">Ajax  Framework Analysis Results</a><br />
This analysis of popular JavaScript/Ajax frameworks (Dojo,  Ext JS, GWT, YUI) is a great resource for gathering research data for your own  frameworks: the analysis matrix factors in criteria such as scalability,  extensibility, quality and quantity of documentation, and much more. You can  adapt this matrix, tweak their weights, and modify criterions to help you  decide which JS framework to go with.</p>
<p><a href="http://raibledesigns.com/rd/entry/ajax_framework_analysis_results"><img src="http://media1.smashingmagazine.com/wp-content/uploads/images/js-50-useful-tools/ajax-frameworks-analysis-results.jpg" alt="Ajax Framework Analysis Results" width="402" height="245"/></a></p>
<p><a href="http://www.noupe.com/tutorial/drop-down-menu-jquery-css.html">Sexy Drop  Down Menu w/ jQuery &amp; CSS</a><br />
In this tutorial, youâ€™ll learn how to create a multi-tiered  drop down menu with the use of the jQuery library.</p>
<p><a href="http://www.noupe.com/tutorial/drop-down-menu-jquery-css.html"><img src="http://media1.smashingmagazine.com/wp-content/uploads/images/js-50-useful-tools/sexy-dropdown.jpg" alt="Sexy Drop Down Menu w/ jQuery &amp; CSS" width="480" height="235"/></a></p>
<p><a href="http://designm.ag/tutorials/jquery-display-switch/">Easy  Display Switch with CSS and jQuery</a><br />
This tutorial outlines a method for using jQuery to  smoothly-transition into different viewing modes, which can be helpful in image  galleries.</p>
<p><a href="http://designm.ag/tutorials/jquery-display-switch/"><img src="http://media2.smashingmagazine.com/wp-content/uploads/images/js-50-useful-tools/display-switch-tutorial.jpg" alt="Easy Display Switch with CSS and jQuery" width="480" height="235"/></a></p>
<p><a href="http://sixrevisions.com/tutorials/javascript_tutorial/create-a-slick-and-accessible-slideshow-using-jquery/">Create  a Slick and Accessible Slideshow Using jQuery</a><br />
This is a step-by-step jQuery tutorial that I wrote for  creating a simple and slick slideshow that can be adapted to display different  content types. Check out the <a href="http://sixrevisions.com/demo/slideshow/final.html">demo page</a> to see  the slideshow in action.</p>
<p><a href="http://sixrevisions.com/tutorials/javascript_tutorial/create-a-slick-and-accessible-slideshow-using-jquery/"><img src="http://media2.smashingmagazine.com/wp-content/uploads/images/js-50-useful-tools/accessible-jquery-slideshow.jpg" alt="Create a Slick and Accessible Slideshow Using jQuery" width="480" height="315"/></a></p>
<p><a href="http://ejohn.org/apps/learn/">Learning Advanced  JavaScript</a><br />
John Resig has a slideshow-style, web-based tutorial on  advanced JavaScript development. It is a wonderful stepping-stone for  JavaScript developers ready to make the leap into RIA development using  JavaScript.</p>
<p><a href="http://ejohn.org/apps/learn/"><img src="http://media1.smashingmagazine.com/wp-content/uploads/images/js-50-useful-tools/learning-advanced-javascript.jpg" alt="Learning Advanced JavaScript" width="402" height="245"/></a></p>
<p><a href="http://robertnyman.com/javascript/">JavaScript  tests &amp; Compatibility tables</a><br />
This resource is a well-organized cheatsheet for JavaScript  methods cross-browser compatibility backed by sample tests that you can run to  see how they work (or donâ€™t work) in your browser.</p>
<p><a href="http://robertnyman.com/javascript/"><img src="http://media1.smashingmagazine.com/wp-content/uploads/images/js-50-useful-tools/javascript-tests-compatibility-tables.jpg" alt="JavaScript tests &amp; Compatibility tables" width="402" height="245"/></a></p>
<p><a href="http://javascript.crockford.com/code.html">Code  Conventions for the JavaScript</a><br />
On this page, you can find suggested coding conventions  for JavaScript. It is important to note that there is no one correct  convention, but this is a great place to start developing your own.</p>
<h4>About the Author</h4>
<p><em>Jacob Gube is a bilingual web developer (JavaScript and  PHP), web designer, author, and the Founder/Chief Editor of <a href="http://sixrevisions.com/">Six Revisions</a>: an online publication that  shares useful development and design resources and tutorials for web  professionals. If you would like to contact him, send him a tweet and <a href="http://twitter.com/jggube">follow him on Twitter</a>.</em></p>
<hr />
<p><small>Â© Smashing Editorial for <a href="http://www.smashingmagazine.com">Smashing Magazine</a>, 2009. |<br />
<a href="http://www.smashingmagazine.com/2009/06/21/50-fresh-javascript-tools-that-will-improve-your-workflow/">Permalink</a> |<br />
<a href="http://www.smashingmagazine.com/2009/06/21/50-fresh-javascript-tools-that-will-improve-your-workflow/#comments">47 comments</a> |<br />
<a title="Bookmark in del.icio.us" href="http://del.icio.us/post?url=http://www.smashingmagazine.com/2009/06/21/50-fresh-javascript-tools-that-will-improve-your-workflow/&amp;title=50%20Fresh%20JavaScript%20Tools%20That%20Will%20Improve%20Your%20Workflow">Add to del.icio.us</a> | <a title="Bookmark in Digg" href="http://digg.com/submit?phase=2&amp;url=http://www.smashingmagazine.com/2009/06/21/50-fresh-javascript-tools-that-will-improve-your-workflow/">Digg this</a> | <a title="Stumble on StumbleUpon" href="http://www.stumbleupon.com/submit?url=http://www.smashingmagazine.com/2009/06/21/50-fresh-javascript-tools-that-will-improve-your-workflow/">Stumble on StumbleUpon!</a> | <a title="Tweet us!" href="http://twitter.com/home?status=@tweetmeme%20@smashingmag%20Reading%20&#39;50%20Fresh%20JavaScript%20Tools%20That%20Will%20Improve%20Your%20Workflow&#39;%20http://www.smashingmagazine.com/2009/06/21/50-fresh-javascript-tools-that-will-improve-your-workflow/">Tweet it!</a> | <a title="Bookmark in Reddit" href="http://reddit.com/submit?url=http://www.smashingmagazine.com/2009/06/21/50-fresh-javascript-tools-that-will-improve-your-workflow/">Submit to Reddit</a> | <a href="http://forum.smashingmagazine.com/">Forum Smashing Magazine</a></p>
<p>
Post tags: <a href="http://www.smashingmagazine.com/tag/ajax/" rel="tag">ajax</a>, <a href="http://www.smashingmagazine.com/tag/jquery/" rel="tag">jquery</a>, <a href="http://www.smashingmagazine.com/tag/js/" rel="tag">js</a>, <a href="http://www.smashingmagazine.com/tag/tools/" rel="tag">tools</a>, <a href="http://www.smashingmagazine.com/tag/useful/" rel="tag">useful</a><br />
</small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.glennmarcus.com/blog/2009/06/21/50-fresh-javascript-tools-that-will-improve-your-workflow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS Gradient Tool; Build the Apple Navigation Bar</title>
		<link>http://www.glennmarcus.com/blog/2009/06/02/css-gradient-tool-build-the-apple-navigation-bar/</link>
		<comments>http://www.glennmarcus.com/blog/2009/06/02/css-gradient-tool-build-the-apple-navigation-bar/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 13:25:41 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[web20]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[Utility]]></category>

		<guid isPermaLink="false">tag:google.com,2005:reader/item/8435dd18814ec2ce</guid>
		<description><![CDATA[<p><img src="http://ajaxian.com/wp-content/uploads/gradienttool.png" alt="" title="gradienttool" width="500" height="510"/></p>
<p>John Allsop has created a very cool <a href="http://tools.westciv.com/gradients/">CSS gradient exploration tool</a> that lets you get the gradient you need, with the resulting sample and code right there.</p>
<p>You could use it to do what he did, and <a href="http://westciv.com/style_master/blog/apples-navigation-bar-using-only-css">recreate the Apple navigation bar</a> in pure CSS instead of using images.</p>
<p><img src="http://westciv.com/style_master/blog/images/safari.png" width="500"/></p>
<p>John didn&#8217;t stop there, and has already created tools for <a href="http://westciv.com/tools/boxshadows/">Box Shadows</a> <a href="http://westciv.com/tools/shadows/">Shadows</a> and <a href="http://westciv.com/tools/radialgradients/">Radial Gradients</a>.</p>
<div>
<a href="http://feeds2.feedburner.com/~ff/ajaxian?a=g4pd0lYq8R4:XKcoLwIkDDc:yIl2AUoC8zA"><img src="http://feeds2.feedburner.com/~ff/ajaxian?d=yIl2AUoC8zA" border="0"/></a> <a href="http://feeds2.feedburner.com/~ff/ajaxian?a=g4pd0lYq8R4:XKcoLwIkDDc:7Q72WNTAKBA"><img src="http://feeds2.feedburner.com/~ff/ajaxian?d=7Q72WNTAKBA" border="0"/></a> <a href="http://feeds2.feedburner.com/~ff/ajaxian?a=g4pd0lYq8R4:XKcoLwIkDDc:D7DqB2pKExk"><img src="http://feeds2.feedburner.com/~ff/ajaxian?i=g4pd0lYq8R4:XKcoLwIkDDc:D7DqB2pKExk" border="0"/></a>
</div>
]]></description>
			<content:encoded><![CDATA[<p><img src="http://ajaxian.com/wp-content/uploads/gradienttool.png" alt="" title="gradienttool" width="500" height="510"/></p>
<p>John Allsop has created a very cool <a href="http://tools.westciv.com/gradients/">CSS gradient exploration tool</a> that lets you get the gradient you need, with the resulting sample and code right there.</p>
<p>You could use it to do what he did, and <a href="http://westciv.com/style_master/blog/apples-navigation-bar-using-only-css">recreate the Apple navigation bar</a> in pure CSS instead of using images.</p>
<p><img src="http://westciv.com/style_master/blog/images/safari.png" width="500"/></p>
<p>John didn&#8217;t stop there, and has already created tools for <a href="http://westciv.com/tools/boxshadows/">Box Shadows</a> <a href="http://westciv.com/tools/shadows/">Shadows</a> and <a href="http://westciv.com/tools/radialgradients/">Radial Gradients</a>.</p>
<div>
<a href="http://feeds2.feedburner.com/~ff/ajaxian?a=g4pd0lYq8R4:XKcoLwIkDDc:yIl2AUoC8zA"><img src="http://feeds2.feedburner.com/~ff/ajaxian?d=yIl2AUoC8zA" border="0"/></a> <a href="http://feeds2.feedburner.com/~ff/ajaxian?a=g4pd0lYq8R4:XKcoLwIkDDc:7Q72WNTAKBA"><img src="http://feeds2.feedburner.com/~ff/ajaxian?d=7Q72WNTAKBA" border="0"/></a> <a href="http://feeds2.feedburner.com/~ff/ajaxian?a=g4pd0lYq8R4:XKcoLwIkDDc:D7DqB2pKExk"><img src="http://feeds2.feedburner.com/~ff/ajaxian?i=g4pd0lYq8R4:XKcoLwIkDDc:D7DqB2pKExk" border="0"/></a>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.glennmarcus.com/blog/2009/06/02/css-gradient-tool-build-the-apple-navigation-bar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Shutterborg, a New Online Word Processor</title>
		<link>http://www.glennmarcus.com/blog/2009/02/05/shutterborg-a-new-online-word-processor/</link>
		<comments>http://www.glennmarcus.com/blog/2009/02/05/shutterborg-a-new-online-word-processor/#comments</comments>
		<pubDate>Thu, 05 Feb 2009 15:36:24 +0000</pubDate>
		<dc:creator>Sarah Perez</dc:creator>
				<category><![CDATA[web20]]></category>
		<category><![CDATA[Products]]></category>

		<guid isPermaLink="false">tag:google.com,2005:reader/item/2ebbb4a47ea7c01f</guid>
		<description><![CDATA[<p><img src="http://www.readwriteweb.com/images/shutterborg_logo.png"/>Now that we have online office suites like <a href="http://docs.google.com">Google Docs</a>, <a href="http://zoho.com">Zoho</a>, and even Adobe&#8217;s <a href="http://acrobat.com">Acrobat.com</a>, you may not have much desire to go and check out yet another would-be Microsoft Office killer. However, <a href="http://shutterb.org/">Shutterborg</a>, a new online word processor does one thing really well which makes it a unique tool in this space: it lets you open any URL on the internet and edit it like an Office document. </p>
<p align="right"><em>Sponsor</em><br /><a href="http://d1.openx.org/ck.php?n=13695&#38;cb=13695"><img src="http://d1.openx.org/avw.php?zoneid=11205&#38;cb=13695&#38;n=13695" border="0" alt="" align="right"/></a></p>
<p>When you first visit Shutterborg, available online at <a href="http://shutterb.org">http://shutterb.org</a>, you&#8217;re presented with three options: New Document, Open from Disk (coming soon), and Open from Web. The first option &#8211; starting a new document &#8211; will take you right into Shutterborg, where you can then begin to type. </p>
<p>The word processor itself is rather rudimentary. There are some basic options for formatting your text, aligning it, highlighting it, etc. You can also choose to insert photos and links from the &#8220;Insert&#8221; menu or create bulleted and numbered lists. Beyond that, the tool doesn&#8217;t do much in terms of word processing. Also, at the moment, the files you create can only be saved in .HTML format. Other formats like .TXT, .ODT, and .DOC will arrive in later, <a href="http://twitter.com/wordprocessor/status/1174763341">says the company</a>. </p>
<p>If basic word processing was all that Shutterborg did, it probably wouldn&#8217;t be worth a mention just yet. However, the &#8220;Open from Web&#8221; option that is presented to you upon launch is a pretty clever invention. Here, you can enter in any URL on the internet to open an exact replica of that&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.readwriteweb.com/images/shutterborg_logo.png"/>Now that we have online office suites like <a href="http://docs.google.com">Google Docs</a>, <a href="http://zoho.com">Zoho</a>, and even Adobe&#8217;s <a href="http://acrobat.com">Acrobat.com</a>, you may not have much desire to go and check out yet another would-be Microsoft Office killer. However, <a href="http://shutterb.org/">Shutterborg</a>, a new online word processor does one thing really well which makes it a unique tool in this space: it lets you open any URL on the internet and edit it like an Office document. </p>
<p align="right"><em>Sponsor</em><br /><a href="http://d1.openx.org/ck.php?n=13695&amp;cb=13695"><img src="http://d1.openx.org/avw.php?zoneid=11205&amp;cb=13695&amp;n=13695" border="0" alt="" align="right"/></a></p>
<p>When you first visit Shutterborg, available online at <a href="http://shutterb.org">http://shutterb.org</a>, you&#8217;re presented with three options: New Document, Open from Disk (coming soon), and Open from Web. The first option &#8211; starting a new document &#8211; will take you right into Shutterborg, where you can then begin to type. </p>
<p>The word processor itself is rather rudimentary. There are some basic options for formatting your text, aligning it, highlighting it, etc. You can also choose to insert photos and links from the &#8220;Insert&#8221; menu or create bulleted and numbered lists. Beyond that, the tool doesn&#8217;t do much in terms of word processing. Also, at the moment, the files you create can only be saved in .HTML format. Other formats like .TXT, .ODT, and .DOC will arrive in later, <a href="http://twitter.com/wordprocessor/status/1174763341">says the company</a>. </p>
<p>If basic word processing was all that Shutterborg did, it probably wouldn&#8217;t be worth a mention just yet. However, the &#8220;Open from Web&#8221; option that is presented to you upon launch is a pretty clever invention. Here, you can enter in any URL on the internet to open an exact replica of that web page, with the CSS and images intact. You can then edit it as you desire which could obviously lead to some humorous creations. </p>
<p><span style="display:inline"><img alt="shutterb_ex.png" src="http://www.readwriteweb.com/images/shutterb_ex.png" width="599" height="402" style="text-align:center;display:block;margin:0 auto 20px"/></span></p>
<p>That feature alone makes <a href="http://shutterb.org/">Shutterborg</a> worth a look simply because it&#39;s so easy to use. Although the resulting HTML file won&#39;t look like much if opened outside of the Shutterborg processor, it&#39;s easy enough to grab a screenshot of your mocked up creation while you have Shutterborg open. The potential for creating hilarious edits to well-known sites will certainly appeal to the creative types out there. We can&#39;t wait to see what they come up with.Â  </p>
<p>Shutterborg is a creation of <a href="http://developit.ca/">developIT</a>, a small business in Waterloo, Ontario, Canada whose focus is on developing web sites and Rich Internet Applications (RIAs) for businesses of all sizes. </p>
<p><strong><a href="http://www.readwriteweb.com/archives/shutterborg_a_new_online_word_processor.php#comments-open">Discuss</a></strong></p>
<p><a href="http://feedads.googleadservices.com/~at/59ztq0WMfT_QnG_CfUljDg_OX7c/a"><img src="http://feedads.googleadservices.com/~at/59ztq0WMfT_QnG_CfUljDg_OX7c/i" border="0" ismap/></a></p>
<div>
<a href="http://feeds2.feedburner.com/~f/readwriteweb?a=wrQ9pAVl"><img src="http://feeds2.feedburner.com/~f/readwriteweb?d=1035" border="0"/></a> <a href="http://feeds2.feedburner.com/~f/readwriteweb?a=dPSimHKE"><img src="http://feeds2.feedburner.com/~f/readwriteweb?d=41" border="0"/></a> <a href="http://feeds2.feedburner.com/~f/readwriteweb?a=YY29jDsg"><img src="http://feeds2.feedburner.com/~f/readwriteweb?i=YY29jDsg" border="0"/></a> <a href="http://feeds2.feedburner.com/~f/readwriteweb?a=QLsEA1kX"><img src="http://feeds2.feedburner.com/~f/readwriteweb?i=QLsEA1kX" border="0"/></a> <a href="http://feeds2.feedburner.com/~f/readwriteweb?a=H6fPBBBg"><img src="http://feeds2.feedburner.com/~f/readwriteweb?i=H6fPBBBg" border="0"/></a> <a href="http://feeds2.feedburner.com/~f/readwriteweb?a=Leh8qFpy"><img src="http://feeds2.feedburner.com/~f/readwriteweb?d=52" border="0"/></a> <a href="http://feeds2.feedburner.com/~f/readwriteweb?a=54F9nHQ1"><img src="http://feeds2.feedburner.com/~f/readwriteweb?d=1034" border="0"/></a>
</div>
<p><img src="http://feeds2.feedburner.com/~r/readwriteweb/~4/PT-in9V1gNE" height="1" width="1"/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.glennmarcus.com/blog/2009/02/05/shutterborg-a-new-online-word-processor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

