<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:series="http://unfoldingneurons.com/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"> <channel><title>Webdesigntuts+</title> <link>http://webdesign.tutsplus.com</link> <description>In-depth tutorials, screencasts and articles on web design.</description> <lastBuildDate>Mon, 17 Jun 2013 14:19:07 +0000</lastBuildDate> <language /> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.5</generator> <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/webdesigntutsplus" /><feedburner:info uri="webdesigntutsplus" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>webdesigntutsplus</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item><title>Tuts+ Jobs is Now Free!</title><link>http://feedproxy.google.com/~r/webdesigntutsplus/~3/uqIdvsqlUl0/</link> <comments>http://webdesign.tutsplus.com/articles/news/tuts-jobs-is-now-free/#comments</comments> <pubDate>Mon, 17 Jun 2013 14:03:49 +0000</pubDate> <dc:creator>Joel Bankhead</dc:creator> <category><![CDATA[News]]></category> <guid isPermaLink="false">http://webdesign.tutsplus.com/?p=13094</guid> <description>&lt;a
href='http://rss.buysellads.com/click.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=13094&amp;c=1637971403' target='_blank'&gt;&lt;img
src='http://rss.buysellads.com/img.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=13094&amp;c=1637971403' border='0' alt='' /&gt;&lt;/a&gt;&lt;p&gt;&lt;strong&gt;Our awesome &lt;a
href="https://jobs.tutsplus.com/"&gt;new job board&lt;/a&gt; is now free and full of enticing opportunities!&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a
href="https://jobs.tutsplus.com/"&gt;Tuts+ Jobs&lt;/a&gt; is a job board for full time, part time and casual employment opportunities for web and creative professionals. A brand new site to go alongside the &lt;a
href="http://tutsplus.com/"&gt;Tuts+ Educational Network&lt;/a&gt; and the &lt;a
href="http://themeforest.net/"&gt;Envato Marketplaces&lt;/a&gt;, all run by &lt;a
href="http://envato.com/"&gt;Envato&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;There&amp;#8217;s no need to sign up to apply for jobs, and it&amp;#8217;s now free to post a job &amp;#8211; &lt;a
href="https://jobs.tutsplus.com/"&gt;try it now&lt;/a&gt;!&lt;br
/&gt; &lt;span
id="more-13094"&gt;&lt;/span&gt;&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Earn and Learn&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Envato is committed to helping people earn and learn online.&lt;/strong&gt; We provide a wealth of educational material through Tuts+ and Tuts+ Premium, alongside the Envato Marketplaces to help you benefit from the creative skills you learn.&lt;/p&gt;&lt;p&gt;&lt;a
href="https://jobs.tutsplus.com/"&gt;Tuts+ Jobs&lt;/a&gt; furthers this vision perfectly. With Tuts+ you can learn the skills you need to become a creative professional, and with Tuts+ Jobs you can find an amazing job that uses those skills. Our goal here is to take the hassle out of finding a job, so we&amp;#8217;ve made the process as simple as can be!&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;a
href="http://net.tutsplus.com/?attachment_id=32578" rel="attachment wp-att-32578"&gt;&lt;img
src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/06/600.png" alt="600" width="600" height="189" class="alignnone size-full wp-image-32578" /&gt;&lt;/a&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;hr
/&gt;&lt;h2&gt;Finding a Job&lt;/h2&gt;&lt;p&gt;With &lt;a
href="https://jobs.tutsplus.com/"&gt;Tuts+ Jobs&lt;/a&gt; we&amp;#8217;re committed to making every step of the job-finding process more intuitive, simpler and more efficient. We don&amp;#8217;t want to stand between you and a great opportunity.&lt;/p&gt;&lt;p&gt;It&amp;#8217;s totally free to sign up and start applying for jobs, and if nothing matches your initial search you can receive notifications when jobs come up that match your criteria. We will have full time, part time and casual listings from all around the world. Check the listing to find out where the job is based, as some jobs may offer remote opportunities.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;a
href="http://net.tutsplus.com/?attachment_id=32590" rel="attachment wp-att-32590"&gt;&lt;img
src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/06/2.jpg" alt="2" width="600" height="353" class="alignnone size-full wp-image-32590" /&gt;&lt;/a&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;hr
/&gt;&lt;h2&gt;Posting a Job&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Posting a job is now free!&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;If you have a position that you need to fill, or a great part/full-time opportunity, then Tuts+ Jobs is the best way to find a talented and creative individual to do that job. Each 30-day listing is completely free, regardless of the type of job you&amp;#8217;re posting.&lt;/p&gt;&lt;p&gt;Your job listing will be promoted across the entire Tuts+ network. With exposure to our ten million visitors over the course of 30 days, it&amp;#8217;s a brilliant way to reach exactly the type of audience you&amp;#8217;re looking for.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Sign Up, Explore, and Subscribe&lt;/h2&gt;&lt;p&gt;There are lots of great opportunities already on Tuts+ Jobs, and we&amp;#8217;ll be posting even more exciting job positions over the next few weeks, so now is the best time to head over to the site and &lt;a
href="https://jobs.tutsplus.com/"&gt;subscribe to a job search&lt;/a&gt; that interests you. That way you&amp;#8217;ll be the first to know when any new listings show up that match your skill set and requirements.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;a
href="https://jobs.tutsplus.com"&gt;Check out Tuts+ Jobs&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/webdesigntutsplus/~4/uqIdvsqlUl0" height="1" width="1"/&gt;</description> <wfw:commentRss>http://webdesign.tutsplus.com/articles/news/tuts-jobs-is-now-free/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <feedburner:origLink>http://webdesign.tutsplus.com/articles/news/tuts-jobs-is-now-free/</feedburner:origLink></item> <item><title>Foundation for Beginners: Buttons and Dropdowns</title><link>http://feedproxy.google.com/~r/webdesigntutsplus/~3/ELU30QMrQrc/</link> <comments>http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/foundation-for-beginners-buttons-and-dropdowns/#comments</comments> <pubDate>Mon, 17 Jun 2013 12:45:02 +0000</pubDate> <dc:creator>Matt Pilott</dc:creator> <category><![CDATA[HTML/CSS]]></category> <category><![CDATA[buttons]]></category> <category><![CDATA[foundation]]></category> <category><![CDATA[framework]]></category> <guid isPermaLink="false">http://webdesign.tutsplus.com/?p=12465</guid> <description>&lt;a
href='http://rss.buysellads.com/click.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=12465&amp;c=314847273' target='_blank'&gt;&lt;img
src='http://rss.buysellads.com/img.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=12465&amp;c=314847273' border='0' alt='' /&gt;&lt;/a&gt;&lt;p&gt;In this part of &amp;#8220;Foundation for Beginners&amp;#8221; we’ll look at buttons, dropdowns and the &amp;#8220;Clearing&amp;#8221; plugin.&lt;/p&gt;&lt;p&gt;&lt;span
id="more-12465"&gt;&lt;/span&gt;&lt;/p&gt; &lt;figure
class="tutorial_image"&gt;&lt;img
class="alignnone size-full wp-image-12466" alt="foundation-5-1" src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/foundation-5-1.jpg" width="600" height="300" /&gt;&lt;/figure&gt;&lt;hr
/&gt;&lt;h2&gt;Buttons&lt;/h2&gt;&lt;p&gt;Foundation has a solid set of buttons and they are very easy to implement. Simply add a class of ‘button’ to any anchor, input, div or button element to see it transform into a glorious Foundation styled button. This just gets you the standard box button, but there are a wide range of button styles and types you can use. Here’s a quick example:&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/foundation-buttons.png" alt="foundation-buttons" width="600" height="400" class="alignnone size-full wp-image-13139" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;!-- Size Classes --&amp;gt;
&amp;lt;a class=&amp;quot;button&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;Default Button&amp;lt;/a&amp;gt;
&amp;lt;a class=&amp;quot;tiny button&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;Tiny Button&amp;lt;/a&amp;gt;
&amp;lt;a class=&amp;quot;small button&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;Small Button&amp;lt;/a&amp;gt;
&amp;lt;a class=&amp;quot;large button&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;Large Button&amp;lt;/a&amp;gt;
&amp;lt;!-- Color Classes --&amp;gt;
&amp;lt;a class=&amp;quot;button secondary&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;Secondary Button&amp;lt;/a&amp;gt;
&amp;lt;a class=&amp;quot;button success&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;Success Button&amp;lt;/a&amp;gt;
&amp;lt;a class=&amp;quot;button alert&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;Alert Button&amp;lt;/a&amp;gt;
&amp;lt;!-- Radius Classes --&amp;gt;
&amp;lt;a class=&amp;quot;button radius&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;Radius Button&amp;lt;/a&amp;gt;
&amp;lt;a class=&amp;quot;button round&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;Round Button&amp;lt;/a&amp;gt;
&amp;lt;!-- Disabled Class --&amp;gt;
&amp;lt;a class=&amp;quot;button disabled&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;Disabled Button&amp;lt;/a&amp;gt;
&lt;/pre&gt;&lt;p&gt;This example demonstrates all the preset sizes, styles and states. They each offer quite a lot in the way of flexibility; all presets can be overridden with custom styles meaning you don’t need to build up your buttons from scratch.&lt;/p&gt;&lt;p&gt;Buttons use chained classes to achieve different styles. For instance, start with ‘button’ then add a size, ‘small’, a color, ‘success’ and a radius ‘round’. You could also disable any button by adding ‘disabled’, illustrating just how versatile this styling approach is.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Button Groups&lt;/h2&gt;&lt;p&gt;Basic buttons are simple enough to implement and buttons groups are just as easy. They use a simple list structure like so:&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;ul class=&amp;quot;button-group&amp;quot;&amp;gt;
	&amp;lt;li&amp;gt;&amp;lt;a class=&amp;quot;small button&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;Button 1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
	&amp;lt;li&amp;gt;&amp;lt;a class=&amp;quot;small button&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;Button 2&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
	&amp;lt;li&amp;gt;&amp;lt;a class=&amp;quot;small button&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;Button 3&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&lt;/pre&gt;&lt;figure
class="tutorial_image"&gt;&lt;img
class="alignnone size-full wp-image-12468" alt="foundation-5-3" src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/foundation-5-3.jpg" width="600" height="300" /&gt;&lt;/figure&gt;&lt;p&gt;This will give you a standard group of three buttons, however you can add radius classes and classes to control the width, ‘even-2’, ‘even-3’ right through to ‘even-8’. These width classes are used to fill the available space with your buttons and are used best when the number in the even class matches the amount of buttons present. For example, if you had four buttons then ‘even-4’ would be the best choice.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Button Bars&lt;/h2&gt;&lt;p&gt;Button bars could be described as being a group of button groups. Take a div, add &lt;code&gt;class="button-bar"&lt;/code&gt; to that div and place as many button groups as you wish inside it. This can be a real help when it comes to more complex button layouts. Here’s an example:&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;div class=&amp;quot;button-bar&amp;quot;&amp;gt;
&amp;lt;ul class=&amp;quot;button-group&amp;quot;&amp;gt;
	&amp;lt;li&amp;gt;&amp;lt;a class=&amp;quot;small button&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;Button 1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
	&amp;lt;li&amp;gt;&amp;lt;a class=&amp;quot;small button&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;Button 2&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
	&amp;lt;li&amp;gt;&amp;lt;a class=&amp;quot;small button&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;Button 3&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;ul class=&amp;quot;button-group&amp;quot;&amp;gt;
	&amp;lt;li&amp;gt;&amp;lt;a class=&amp;quot;small button&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;Button 1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
	&amp;lt;li&amp;gt;&amp;lt;a class=&amp;quot;small button&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;Button 2&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
	&amp;lt;li&amp;gt;&amp;lt;a class=&amp;quot;small button&amp;quot; href=&amp;quot;#&amp;quot;&amp;gt;Button 3&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/pre&gt;&lt;figure
class="tutorial_image"&gt;&lt;img
class="alignnone size-full wp-image-12472" alt="foundation-5-7" src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/foundation-5-7.jpg" width="600" height="300" /&gt;&lt;/figure&gt;&lt;p&gt;On small screens, each button group within the bar is stacked automatically, allowing for a clean look on any screen. By taking options covered in each of the above sections you can really go to town on your buttons.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Dropdown Buttons&lt;/h2&gt;&lt;p&gt;In the latest major revision of Foundation a new JavaScript plugin called &lt;a
href="http://foundation.zurb.com/docs/components/dropdown.html"&gt;dropdowns&lt;/a&gt; was introduced, which really comes in handy when layered on top of buttons. The markup essentially requires you to add a ‘dropdown’ class to your button, with the addition of a custom attribute namely ‘data-dropdown’.&lt;/p&gt;&lt;p&gt;Follow this with an unordered list containing an id matching your data-dropdown attribute, for example:&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;a class=&amp;quot;button dropdown&amp;quot; href=&amp;quot;#&amp;quot; data-dropdown=&amp;quot;drop1&amp;quot;&amp;gt;Dropdown Button&amp;lt;/a&amp;gt;
&amp;lt;/pre&amp;gt;
&amp;lt;ul class=&amp;quot;f-dropdown&amp;quot; id=&amp;quot;drop1&amp;quot;&amp;gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;This is a link&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;This is another&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Yet another&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&lt;/pre&gt;&lt;p&gt;It’s also important to note that the ‘f-dropdown’ class on the ul is very important so don’t forget to add it.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Don&amp;#8217;t forget to include the dropdown js in your download of Foundation.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt;&lt;img
class="alignnone size-full wp-image-12469" alt="foundation-5-4" src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/foundation-5-4.jpg" width="600" height="300" /&gt;&lt;/figure&gt;&lt;h3&gt;Split Buttons&lt;/h3&gt;&lt;p&gt;The final layer of flexibility you have to play with is the option to add a split in your buttons. This can be used to indicate the availability of a dropdown, a download, whatever you want really. Add it onto your button using the ‘split’ class and a span element that should include the same ‘data-dropdown’ attribute we used earlier in our dropdown example.&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;a class=&amp;quot;button dropdown&amp;quot; href=&amp;quot;#&amp;quot; data-dropdown=&amp;quot;drop1&amp;quot;&amp;gt;Dropdown Button &amp;lt;/a&amp;gt;
&amp;lt;/pre&amp;gt;
&amp;lt;ul class=&amp;quot;f-dropdown&amp;quot; id=&amp;quot;drop1&amp;quot; data-dropdown-content=&amp;quot;&amp;quot;&amp;gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;This is a link&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;This is another&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Yet another&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;pre&amp;gt;
&lt;/pre&gt;&lt;figure
class="tutorial_image"&gt;&lt;img
class="alignnone size-full wp-image-12470" alt="foundation-5-5" src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/foundation-5-5.jpg" width="600" height="300" /&gt;&lt;/figure&gt;&lt;p&gt;As the dropdown JavaScript is a simple plugin, there is only one option to play with &amp;#8211; defining the class name applied to the dropdown when open:&lt;/p&gt;&lt;pre class="brush: jscript; title: ; notranslate"&gt;
$(document).foundation('dropdown', {
  activeClass: 'open'
});
&lt;/pre&gt;&lt;hr
/&gt;&lt;h2&gt;Clearing Plugin&lt;/h2&gt;&lt;blockquote
class="pullquote"&gt;&lt;p&gt;Clearing makes it easy to create responsive lightboxes with any size image.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;a
href="http://foundation.zurb.com/docs/components/clearing.html"&gt;Clearing&lt;/a&gt; is a super fast lightbox plugin. As you can imagine, markup is dead simple and is very useful when the &lt;a
href="http://hub.tutsplus.com/tutorials/foundation-for-beginners-the-grid-system--webdesign-12438"&gt;orbit slider&lt;/a&gt; isn’t working for you.&lt;/p&gt;&lt;p&gt;By now you’ll be very familiar with the way Foundation works with list structures, and they&amp;#8217;re once again at the heart of this plugin. Build an unordered list, with some content within each list item. Add a ‘clearing-thumbs’ class to the ul, plus an empty custom attribute of ‘data-clearing’.&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;&amp;lt;/pre&amp;gt;
&amp;lt;ul class=&amp;quot;clearing-thumbs&amp;quot; data-clearing=&amp;quot;&amp;quot;&amp;gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;path/to/your/img&amp;quot;&amp;gt;&amp;lt;img alt=&amp;quot;&amp;quot; src=&amp;quot;path/to/your/img-th&amp;quot; /&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;path/to/your/img&amp;quot;&amp;gt;&amp;lt;img alt=&amp;quot;&amp;quot; src=&amp;quot;path/to/your/img-th&amp;quot; /&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;path/to/your/img&amp;quot;&amp;gt;&amp;lt;img alt=&amp;quot;&amp;quot; src=&amp;quot;path/to/your/img-th&amp;quot; /&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;pre&amp;gt;
&lt;/pre&gt;&lt;figure
class="tutorial_image"&gt;&lt;img
class="alignnone size-full wp-image-12471" alt="foundation-5-6" src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/foundation-5-6.jpg" width="600" height="300" /&gt;&lt;/figure&gt;&lt;p&gt;If you were to add a ‘clearing-feature’ class to the first li in your ul structure then Foundation would display it as the featured image in your lightbox selection. It’s worth noting that clearing uses the block grid structure we covered &lt;a
href="http://hub.tutsplus.com/tutorials/foundation-for-beginners-the-grid-system--webdesign-12438"&gt;earlier in the series&lt;/a&gt;. This helps ensure all thumbnails are the same height and evenly distributed.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Conclusion&lt;/h2&gt;&lt;p&gt;Following our complete coverage of buttons and dropdowns, we can look forward to covering custom forms and switches. I&amp;#8217;ll see you there!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/webdesigntutsplus/~4/ELU30QMrQrc" height="1" width="1"/&gt;</description> <wfw:commentRss>http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/foundation-for-beginners-buttons-and-dropdowns/feed/</wfw:commentRss> <slash:comments>2</slash:comments> <feedburner:origLink>http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/foundation-for-beginners-buttons-and-dropdowns/</feedburner:origLink></item> <item><title>Foundation for Beginners: The Top Bar</title><link>http://feedproxy.google.com/~r/webdesigntutsplus/~3/rD30Hzw8kZg/</link> <comments>http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/foundation-for-beginners-the-top-bar/#comments</comments> <pubDate>Thu, 13 Jun 2013 15:20:04 +0000</pubDate> <dc:creator>Matt Pilott</dc:creator> <category><![CDATA[HTML/CSS]]></category> <category><![CDATA[foundation]]></category> <category><![CDATA[framework]]></category> <guid isPermaLink="false">http://webdesign.tutsplus.com/?p=12455</guid> <description>&lt;a
href='http://rss.buysellads.com/click.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=12455&amp;c=744571146' target='_blank'&gt;&lt;img
src='http://rss.buysellads.com/img.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=12455&amp;c=744571146' border='0' alt='' /&gt;&lt;/a&gt;&lt;p&gt;Let&amp;#8217;s take a look at the top bar included within the &lt;a
rel="external" href="http://foundation.zurb.com/"&gt;Foundation framework&lt;/a&gt;. As there’s quite a lot to cover we’ll break it down into easy chunks.&lt;/p&gt;&lt;p&gt;&lt;span
id="more-12455"&gt;&lt;/span&gt;&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/foundation-4-1.jpg" alt="foundation-4-1" width="600" height="300" class="alignnone size-full wp-image-12456" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;hr
/&gt;&lt;h2&gt;Top Bar, or no Top Bar&lt;/h2&gt;&lt;p&gt;Foundation&amp;#8217;s top bar is a very useful little component, but it&amp;#8217;s by no means obligatory to use it in your builds. I&amp;#8217;d estimate that I&amp;#8217;ve made use of it in around 40% of the projects I&amp;#8217;ve built with Foundation. Give careful consideration to whether or not it fits the needs of your project; the top bar component is as easy to style as any other, but the interaction is pretty much set.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;The Essential Structure&lt;/h2&gt;&lt;p&gt;To begin building up the top bar we need a &lt;code&gt;&amp;lt;nav&gt;&lt;/code&gt; tag, with the requisite class of &amp;#8220;top-bar&amp;#8221;.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/foundation-4-2.jpg" alt="foundation-4-2" width="600" height="300" class="alignnone size-full wp-image-12457" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;Inside that lies a &lt;code&gt;&amp;lt;ul&gt;&lt;/code&gt; and two &lt;code&gt;&amp;lt;li&gt;&lt;/code&gt;’s, one of which will hold our title/logo the other our &amp;#8220;mobile&amp;#8221; menu.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; you can remove either the class &amp;#8220;menu-icon&amp;#8221;, or the content &amp;#8220;Menu&amp;#8221;, if you prefer to have just one of the two showing.&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;nav class=&amp;quot;top-bar&amp;quot;&amp;gt;
    &amp;lt;ul class=&amp;quot;title-area&amp;quot;&amp;gt;
        &amp;lt;li class=&amp;quot;name&amp;quot;&amp;gt;
             &amp;lt;h1&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Top Bar Title &amp;lt;/a&amp;gt;&amp;lt;/h1&amp;gt;
        &amp;lt;/li&amp;gt;
        &amp;lt;li class=&amp;quot;toggle-topbar menu-icon&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;&amp;lt;span&amp;gt;Menu&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;
        &amp;lt;/li&amp;gt;
    &amp;lt;/ul&amp;gt;
&amp;lt;/nav&amp;gt;
&lt;/pre&gt;&lt;hr
/&gt;&lt;h2&gt;Adding Parent Links&lt;/h2&gt;&lt;p&gt;Adding parent links is our next objective, so before our closing nav tag add in a &lt;code&gt;&amp;lt;section&gt;&lt;/code&gt; with the class &amp;#8220;top-bar-section&amp;#8221;. In this section we need to add an unordered list with several list items.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/foundation-4-3.jpg" alt="foundation-4-3" width="600" height="300" class="alignnone size-full wp-image-12458" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;Foundation has a useful class &amp;#8220;divider&amp;#8221; which can be applied to empty list items, allowing you to separate each menu link with an attractive line. They&amp;#8217;re used in the following example to divide our menu links.&lt;/p&gt;&lt;p&gt;You’ll also notice that the ul has the &amp;#8220;left&amp;#8221; class applied to it, which sends things to the left. You could, for example, have two sets of menu links, one floating left and one (using the “right” class) floating right.&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;section class=&amp;quot;top-bar-section&amp;quot;&amp;gt;
	&amp;lt;ul class=&amp;quot;left&amp;quot;&amp;gt;
		&amp;lt;li class=&amp;quot;divider&amp;quot;&amp;gt;&amp;lt;/li&amp;gt;
		&amp;lt;li class=&amp;quot;active&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Main Item 1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
		&amp;lt;li class=&amp;quot;divider&amp;quot;&amp;gt;&amp;lt;/li&amp;gt;
		&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Main Item 2&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
		&amp;lt;li class=&amp;quot;divider&amp;quot;&amp;gt;&amp;lt;/li&amp;gt;
	&amp;lt;/ul&amp;gt;
&amp;lt;/section&amp;gt;
&lt;/pre&gt;&lt;p&gt;All the links we&amp;#8217;ve added so far will be displayed horizontally along the bar. On smaller screens they&amp;#8217;ll become a dropdown, activated by the Menu button we added earlier.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Adding Submenus&lt;/h2&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/foundation-4-4.jpg" alt="foundation-4-4" width="600" height="300" class="alignnone size-full wp-image-12459" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;Each list item can contain a nested unordered list for sub menus. In order for this to work and be displayed properly, the “has-dropdown” class must be applied to the parent link, with the class &amp;#8220;dropdown&amp;#8221; being applied to the nested unordered list:&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;li class=&amp;quot;has-dropdown&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Main Item 3&amp;lt;/a&amp;gt;
	&amp;lt;ul class=&amp;quot;dropdown&amp;quot;&amp;gt;
		&amp;lt;li&amp;gt;&amp;lt;label&amp;gt;Dropdown Level 3 Label&amp;lt;/label&amp;gt;&amp;lt;/li&amp;gt;
		&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Dropdown Level 3a&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
		&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Dropdown Level 3b&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
		&amp;lt;li class=&amp;quot;divider&amp;quot;&amp;gt;&amp;lt;/li&amp;gt;
		&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Dropdown Level 3c&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
	&amp;lt;/ul&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;li class=&amp;quot;divider&amp;quot;&amp;gt;&amp;lt;/li&amp;gt;
&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; To mark the current page link active, add an “active” class.&lt;/p&gt;&lt;p&gt;Submenus are displayed as a standard dropdown under &amp;#8220;large screen&amp;#8221; circumstances. On smaller screens they slide in from &amp;#8220;off screen&amp;#8221;.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/foundation-top-bar.png" alt="foundation-top-bar" width="600" height="300" class="alignnone size-full wp-image-13048" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;hr
/&gt;&lt;h2&gt;Additional Settings&lt;/h2&gt;&lt;p&gt;In spite of being referred to as the ‘top’ bar, you can place this component anywhere in your layout. If you need the bar to stay fixed on the page whilst you scroll, you can wrap the top bar in a div with the class “fixed”. Alternatively, if you want to keep the top bar within your main container you can set the width of the top bar to the grid width by using the “contain-to-grid” class. Happily, you can use both of these classes (“contain-to-grid” and “fixed”) in combination.&lt;/p&gt;&lt;p&gt;Let’s say you want the top bar in the center of the layout, but need the bar to stick to the top of the page when the user scrolls down. This is possible by wrapping the top bar in the “contain-to-grid” and “sticky” classes.&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;div class=&amp;quot;contain-to-grid sticky&amp;quot;&amp;gt;
	&amp;lt;nav class=&amp;quot;top-bar&amp;quot;&amp;gt;
		&amp;lt;!--nav content--&amp;gt;
	&amp;lt;/nav&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/pre&gt;&lt;hr
/&gt;&lt;h2&gt;Adding a Search Input&lt;/h2&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/foundation-4-5.jpg" alt="foundation-4-5" width="600" height="300" class="alignnone size-full wp-image-12460" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;If all those handy features weren’t enough, you might also want to add an input which you could use for search, or a mailing list signup, or anything you want. When adding form elements within a menu list item, we need to add a class of “has-form”. You can see from the code below that we are actually making use of the grid &lt;em&gt;within&lt;/em&gt; the top bar. This makes placement of the elements easy &amp;#8211; and of course responsive, as the columns shift layout on small screens.&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;li class=&amp;quot;has-form&amp;quot;&amp;gt;
	&amp;lt;form&amp;gt;
		&amp;lt;div class=&amp;quot;row collapse&amp;quot;&amp;gt;
			&amp;lt;div class=&amp;quot;small-8 columns&amp;quot;&amp;gt;
				&amp;lt;input type=&amp;quot;text&amp;quot;&amp;gt;
			&amp;lt;/div&amp;gt;
			&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt;
				&amp;lt;a href=&amp;quot;#&amp;quot; class=&amp;quot;alert button&amp;quot;&amp;gt;Search&amp;lt;/a&amp;gt;
			&amp;lt;/div&amp;gt;
		&amp;lt;/div&amp;gt;
	&amp;lt;/form&amp;gt;
&amp;lt;/li&amp;gt;
&lt;/pre&gt;&lt;hr
/&gt;&lt;h2&gt;Breadcrumbs&lt;/h2&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/foundation-4-6.jpg" alt="foundation-4-6" width="600" height="300" class="alignnone size-full wp-image-12461" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;Breadcrumbs are commonplace on CMS-based websites, such as WordPress, where multi-level page hierarchy can get a little complex. These can be used in any Foundation project by simply adding the “breadcrumbs” class to either a &lt;code&gt;&amp;lt;ul&gt;&lt;/code&gt; tag or a &lt;code&gt;&amp;lt;nav&gt;&lt;/code&gt; tag. When using the unordered list, all links need to be in list items, whereas the links inside the nav element need to be anchor tags.&lt;/p&gt;&lt;p&gt;The only additional classes included in the breadcrumb markup are “unavailable” and “current”.&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;ul class=&amp;quot;breadcrumbs&amp;quot;&amp;gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Home&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
	&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Features&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
	&amp;lt;li class=&amp;quot;unavailable&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Gene Splicing&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
	&amp;lt;li class=&amp;quot;current&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Cloning&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&lt;/pre&gt;&lt;hr
/&gt;&lt;h2&gt;Coming up Next&lt;/h2&gt;&lt;p&gt;The top bar is very flexible and is simple enough to incorporate in any of your foundation-based projects. In the next part of this session we’ll talk about buttons, dropdowns and the clearing plugin.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/webdesigntutsplus/~4/rD30Hzw8kZg" height="1" width="1"/&gt;</description> <wfw:commentRss>http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/foundation-for-beginners-the-top-bar/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <feedburner:origLink>http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/foundation-for-beginners-the-top-bar/</feedburner:origLink></item> <item><title>Presenting Your Web Mockups With Added 3D Flair</title><link>http://feedproxy.google.com/~r/webdesigntutsplus/~3/JpWrJmvR-8U/</link> <comments>http://webdesign.tutsplus.com/tutorials/visuals/presenting-your-web-mockups-with-added-3d-flair/#comments</comments> <pubDate>Tue, 11 Jun 2013 09:00:40 +0000</pubDate> <dc:creator>Taras Kravtchouk</dc:creator> <category><![CDATA[Visuals]]></category> <category><![CDATA[3d]]></category> <category><![CDATA[presentation]]></category> <guid isPermaLink="false">http://webdesign.tutsplus.com/?p=12982</guid> <description>&lt;a
href='http://rss.buysellads.com/click.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=12982&amp;c=1289341947' target='_blank'&gt;&lt;img
src='http://rss.buysellads.com/img.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=12982&amp;c=1289341947' border='0' alt='' /&gt;&lt;/a&gt;&lt;p&gt;In this tutorial I&amp;#8217;m going to show you how to take your flat design (as in &lt;em&gt;two dimensional&lt;/em&gt;, not &lt;em&gt;flat&lt;/em&gt; as in the current design trend) and add some life by mocking it up on a 3D plane in perspective. The purpose of this is to present your design in a more dynamic way, giving it more depth and visual appeal. It can be a very effective way to present visuals to clients.&lt;/p&gt;&lt;p&gt;&lt;span
id="more-12982"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;There are a couple of ways to achieve this effect, such as using Photoshop&amp;#8217;s own 3D tools and creating 3D layers. I am, however, more comfortable using proper 3D software such as &lt;a
href="http://www.autodesk.com/products/autodesk-3ds-max/overview"&gt;3ds Max&lt;/a&gt; as it offers much more control over the camera, allowing you to rotate around the 3D plane with greater control over the lighting and shading. Initially it may look more complicated, but when you&amp;#8217;ve done this once you&amp;#8217;ll later be able to mock your work up in a matter of minutes.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/triplagent-3dmax.png" alt="triplagent-3dmax" width="600" height="450" class="alignnone size-full wp-image-13012" /&gt;&lt;/p&gt; &lt;figcaption&gt;If you&amp;#8217;re new to 3D we have &lt;a
href="http://hub.tutsplus.com/hubs/3d-and-animation"&gt;a plethora of tutorials&lt;/a&gt; to get you started..&lt;/figcaption&gt; &lt;/figure&gt;&lt;p&gt;The principles demonstrated here are application agnostic; you&amp;#8217;ll be able to apply them to any 3D software out there. To follow along you should know your way around Photoshop and have at least opened a 3D tool program before.&lt;/p&gt;&lt;p&gt;Anyways, for this tutorial I will be mocking up the design of our latest app called &lt;a
href="http://www.triplagent.com" title="TriplAgent" id="zoom_close"&gt; TriplAgent&lt;/a&gt;, which seems to be spreading like wildfire on those interwebs. You can see the whole design on my &lt;a
href="http://www.behance.net/gallery/TriplAgent-Branding-and-Design/9012713" title="Taras Kravtchouk Behancé" id="zoom_close"&gt;Behance portfolio&lt;/a&gt;.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;&lt;span&gt;1.&lt;/span&gt; Creating the 3D Plane&lt;/h2&gt;&lt;h3&gt;Step 1&lt;/h3&gt;&lt;p&gt;Open up your 3D application. I am using &lt;a
href="http://www.autodesk.com/products/autodesk-3ds-max/overview"&gt;3ds Max 2012&lt;/a&gt;, but as mentioned before you can use just about any 3D tool.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/triplagent-1.jpg" alt="triplagent-1" width="602" height="460" class="alignnone size-full wp-image-12983" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;h3&gt;Step 2&lt;/h3&gt;&lt;p&gt;I use Vray as the main rendering engine because it offers realistic lighting and shadows. Make sure you turn on &lt;strong&gt;Indirect Illumination&lt;/strong&gt;, but you could also use Max&amp;#8217;s default renderer and achieve similar results.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/triplagent-2.jpg" alt="Neutral Background" width="602" height="460" class="alignnone size-full wp-image-12984" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;Apply similar settings as those in the screenshots.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/triplagent-3.jpg" alt="Neutral Background" width="602" height="460" class="alignnone size-full wp-image-12985" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;h3&gt;Step 3&lt;/h3&gt;&lt;p&gt;Now it&amp;#8217;s time to create the background. Go to &lt;strong&gt;Create &amp;gt; Under Standard Primitives choose VRayPlane&lt;/strong&gt;. A plane will appear as in the screenshot below. Just drag it to the side, it doesn&amp;#8217;t really matter where.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/triplagent-4.jpg" alt="Rectangle Tool Settings" width="602" height="460" class="alignnone size-full wp-image-12986" /&gt;&lt;/p&gt; &lt;figcaption&gt;The VRayPlane will be the background of your scene.&lt;/figcaption&gt; &lt;/figure&gt;&lt;h3&gt;Step 4&lt;/h3&gt;&lt;p&gt;Alright, let&amp;#8217;s create the actual plane where your design will sit. Again, go to &lt;strong&gt;Create &amp;gt; Standard Primitives &amp;gt; Box&lt;/strong&gt;. Under &amp;#8220;parameters&amp;#8221;, enter the dimensions as stated below (this is the screensize for an iPhone 5).&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/triplagent-pl.jpg" alt="Rectangle Tool Settings" width="602" height="460" class="alignnone size-full wp-image-13005" /&gt;&lt;/p&gt; &lt;figcaption&gt;Obviously, you can enter any dimensions you like as long as your design adheres to the same proportions.&lt;/figcaption&gt; &lt;/figure&gt;&lt;p&gt;Now we have to apply a UV map, so that the design wraps nicely around the corners of the plane. Go to &amp;#8220;Modify&amp;#8221; in the panel to the right and choose &lt;strong&gt;UVW Mapping from the Modifier List.&lt;/strong&gt; Make sure &amp;#8220;Planar&amp;#8221; is selected.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/triplagent-6.jpg" alt="Rectangle Tool Settings" width="602" height="460" class="alignnone size-full wp-image-12987" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;h3&gt;Step 5&lt;/h3&gt;&lt;p&gt;Time to apply the materials, so open up the &lt;strong&gt;Material Editor&lt;/strong&gt; in the top right corner of the main toolbar. Create two &lt;a
href="http://en.wikipedia.org/wiki/V-Ray"&gt;VRay&lt;/a&gt; materials, one for your background (the VRay plane) and one for your box you just created. Drag and drop the material onto each object.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/triplagent-7.jpg" alt="triplagent-7" width="602" height="460" class="alignnone size-full wp-image-12988" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;Let&amp;#8217;s perform a quick render. Click on the Render Production (the teapot icon)&amp;#8230;&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/triplagent-8.jpg" alt="triplagent-8" width="602" height="460" class="alignnone size-full wp-image-12989" /&gt;&lt;/p&gt; &lt;figcaption&gt;Kinda gray and naked, but it&amp;#8217;s a good start.&lt;/figcaption&gt; &lt;/figure&gt;&lt;h3&gt;Step 6&lt;/h3&gt;&lt;p&gt;Good job, time to put on a nice dress. We need to apply our actual mockup image as a material to the 3D object. Open up the material editor and click on the material that you assigned to the box.&lt;/p&gt;&lt;p&gt;Scroll down until you see the Maps rollout, then click on &lt;strong&gt;Diffuse &gt; Maps &gt; Standard &gt; Bitmap&lt;/strong&gt; and navigate to the folder where you have saved your design.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; My file was a .png with dimensions of 1136 x 640 pixels.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/triplagent-9.jpg" alt="triplagent-9" width="602" height="460" class="alignnone size-full wp-image-12990" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;You will now see your file wrapped around the sphere in the material slot. Click on the checkered icon and you will see the design wrapped around your box in perspective view. Don&amp;#8217;t forget to set the blur value to 0.01 to get a crisp render of your image.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/triplagent-10.jpg" alt="triplagent-10" width="602" height="460" class="alignnone size-full wp-image-12991" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;Hit &lt;strong&gt;Render&lt;/strong&gt;&amp;#8230;&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/triplagent-11.jpg" alt="triplagent-11" width="602" height="460" class="alignnone size-full wp-image-12992" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;Voila! The design wraps nicely around your box. Go ahead and save this file as a png or tif. Time to change the background color and spice things up..&lt;/p&gt;&lt;h3&gt;Step 7&lt;/h3&gt;&lt;p&gt;There are two ways to change the background color. Either you can change the color of the material you assigned to your VRayPlane or you could change the color in Photoshop. I&amp;#8217;ll show you how to do this in Photoshop, because it is much easier to change the color without re-rendering your scene.&lt;/p&gt;&lt;p&gt;Let&amp;#8217;s move on. Right-click on your VrayPlane and click &amp;#8220;Hide Selected&amp;#8221;.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/triplagent-hide.jpg" alt="triplagent-hide" width="602" height="460" class="alignnone size-full wp-image-13004" /&gt;&lt;/p&gt; &lt;figcaption&gt;We need to hide the backgound so it doesn&amp;#8217;t appear in the rendering.&lt;/figcaption&gt; &lt;/figure&gt;&lt;p&gt;Hit &lt;strong&gt;Render&lt;/strong&gt; and click on the alpha icon as seen below in the screenshot. Save the image as a .png and we are done here.&lt;/p&gt;&lt;p&gt;Time to move on to your best friend, Photoshop.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/triplagent-12.jpg" alt="triplagent-12" width="602" height="460" class="alignnone size-full wp-image-12993" /&gt;&lt;/p&gt; &lt;figcaption&gt;With the alpha channel we can create a mask and isolate the background.&lt;/figcaption&gt; &lt;/figure&gt;&lt;hr
/&gt;&lt;h2&gt;&lt;span&gt;2.&lt;/span&gt; Adjusting Background and Finalizing&lt;/h2&gt;&lt;h3&gt;Step 1&lt;/h3&gt;&lt;p&gt;Take the alpha file you just saved and open it up in Photoshop. Go to &lt;strong&gt;Channels&lt;/strong&gt; and select (CMD+A) the alpha channel on the bottom. Copy it to the clipboard.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/triplagent-13.jpg" alt="triplagent-13" width="602" height="460" class="alignnone size-full wp-image-12994" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;h3&gt;Step 2&lt;/h3&gt;&lt;p&gt;Open up your rendered image that you previously saved. Again, go to the channels window and paste the alpha channel you just copied. This time we need to select the actual mask, so hold down CMD and click on the mask.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/triplagent-14.jpg" alt="triplagent-14" width="602" height="460" class="alignnone size-full wp-image-12995" /&gt;&lt;/p&gt; &lt;figcaption&gt;Make sure the mask is selected.&lt;/figcaption&gt; &lt;/figure&gt;&lt;h3&gt;Step 3&lt;/h3&gt;&lt;p&gt;Open the layers window. Holding down the &lt;strong&gt;CMD&lt;/strong&gt; key, left click on &lt;strong&gt;Add layer mask&lt;/strong&gt; as seen below. The plane should be nicely isolated from the background.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/triplagent-15.jpg" alt="triplagent-15" width="602" height="460" class="alignnone size-full wp-image-12996" /&gt;&lt;/p&gt; &lt;figcaption&gt;Removing the background and isolating the plane.&lt;/figcaption&gt; &lt;/figure&gt;&lt;p&gt;Create a new layer and fill it with any color you like. As long as it looks good. Mkay.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/triplagent-16.jpg" alt="triplagent-16" width="602" height="460" class="alignnone size-full wp-image-12997" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;h3&gt;Step 4&lt;/h3&gt;&lt;p&gt;Now we are going to add shadows. You could keep the shadow that was in the image but let&amp;#8217;s use Photoshop&amp;#8217;s shadows this time. CMD+click on your mask again and create a new layer. Fill the selection with a dark color that matches your background. Open Layer Styles and play around with the drop shadow effect until you find something you like.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/triplagent-17.jpg" alt="triplagent-17" width="602" height="460" class="alignnone size-full wp-image-12998" /&gt;&lt;/p&gt; &lt;figcaption&gt;Make sure the angle of the shadows looks right.&lt;/figcaption&gt; &lt;/figure&gt;&lt;p&gt;Good job, we&amp;#8217;re done! A more pleasing way to look at a 2D design, don&amp;#8217;t you think?&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;a
href="http://www.behance.net/gallery/TriplAgent-Branding-and-Design/9012713"&gt;&lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/triplagent-18.jpg" alt="triplagent-18" width="602" height="460" class="alignnone size-full wp-image-12999" /&gt;&lt;/a&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;This is what you could end up with:&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;a
href="http://www.behance.net/gallery/TriplAgent-Branding-and-Design/9012713"&gt;&lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/triplagent-19.jpg" alt="triplagent-19" width="602" height="460" class="alignnone size-full wp-image-13000" /&gt;&lt;/a&gt;&lt;br
/&gt; &lt;/figure&gt; &lt;figure
class="tutorial_image"&gt; &lt;a
href="http://www.behance.net/gallery/TriplAgent-Branding-and-Design/9012713"&gt;&lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/triplagent-20.jpg" alt="triplagent-20" width="602" height="460" class="alignnone size-full wp-image-13002" /&gt;&lt;/a&gt;&lt;br
/&gt; &lt;/figure&gt; &lt;figure
class="tutorial_image"&gt; &lt;a
href="http://www.behance.net/gallery/TriplAgent-Branding-and-Design/9012713"&gt;&lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/triplagent-21.jpg" alt="triplagent-21" width="602" height="460" class="alignnone size-full wp-image-13003" /&gt;&lt;/a&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;hr
/&gt;&lt;h2&gt;Congratulations! You&amp;#8217;re Done&lt;/h2&gt;&lt;p&gt;In this tutorial, we&amp;#8217;ve walked through how to take a 2D design and transform it into a 3D mockup with perspective. I&amp;#8217;m guessing that many of you were a bit intimidated by the whole 3D thing, but it really is quite basic once you get the hang of it.&lt;/p&gt;&lt;p&gt;Some interesting next steps would be to try experimenting with different plane sizes, using different camera angles and also changing the camera lens to achieve a distortion of the perspective. You can see the whole design on my &lt;a
href="http://www.behance.com/taras-k" title="Taras Kravtchouk Behancé" id="zoom_close"&gt;Behance portfolio&lt;/a&gt;, and also check out &lt;a
href="http://www.triplagent.com" title="TriplAgent - Your world is out there" id="zoom_close"&gt;TriplAgent mobile app&lt;/a&gt;. Thanks for following along!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/webdesigntutsplus/~4/JpWrJmvR-8U" height="1" width="1"/&gt;</description> <wfw:commentRss>http://webdesign.tutsplus.com/tutorials/visuals/presenting-your-web-mockups-with-added-3d-flair/feed/</wfw:commentRss> <slash:comments>18</slash:comments> <feedburner:origLink>http://webdesign.tutsplus.com/tutorials/visuals/presenting-your-web-mockups-with-added-3d-flair/</feedburner:origLink></item> <item><title>Quick Tip: Remember to Style Your ALT Text</title><link>http://feedproxy.google.com/~r/webdesigntutsplus/~3/XH8Kq1Uxpb0/</link> <comments>http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/quick-tip-remember-to-style-your-alt-text/#comments</comments> <pubDate>Mon, 10 Jun 2013 18:15:13 +0000</pubDate> <dc:creator>Nicole Merlin</dc:creator> <category><![CDATA[HTML/CSS]]></category> <category><![CDATA[accessibility]]></category> <category><![CDATA[email]]></category> <guid isPermaLink="false">http://webdesign.tutsplus.com/?p=12928</guid> <description>&lt;a
href='http://rss.buysellads.com/click.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=12928&amp;c=2002730511' target='_blank'&gt;&lt;img
src='http://rss.buysellads.com/img.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=12928&amp;c=2002730511' border='0' alt='' /&gt;&lt;/a&gt;&lt;p&gt;The &lt;a
rel="external" href="http://a11yproject.com/posts/alt-text/"&gt;alt&lt;/a&gt; attribute within an &lt;code&gt;&amp;lt;img&gt;&lt;/code&gt; tag provides alternative content for users who can&amp;#8217;t download images, or who have images turned off altogether. We use this attribute all the time to make our content more accessible, but have you ever considered what it actually looks like?&lt;/p&gt;&lt;p&gt;&lt;span
id="more-12928"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;We&amp;#8217;re going to use the email template &lt;a
rel="external" href="http://enva.to/build-an-html-email-template-from-scratch"&gt;we built in a previous tutorial&lt;/a&gt; as an example, but the principles apply just as well to browser-based web design.&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;img src=&amp;quot;images/h1.gif&amp;quot; alt=&amp;quot;Creating Email Magic&amp;quot; width=&amp;quot;300&amp;quot; height=&amp;quot;230&amp;quot; style=&amp;quot;display: block;&amp;quot; /&amp;gt;
&lt;/pre&gt;&lt;p&gt;If we take a look at our file with images turned off, this is what it looks like:&lt;/p&gt; &lt;figure
class="tutorial_image"&gt;&lt;img
class="alignnone size-full wp-image-12853" alt="altTagsBefore" src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/altTagsBefore.png" /&gt;&lt;/figure&gt;&lt;p&gt;Clearly the ALT text is unattractive — especially the links. We can do a few things to jazz it up.&lt;/p&gt;&lt;p&gt;For the main heading, we’re going to make the text much larger and change it to our dark blue instead of black. We do this by adding styles to the parent element (in this case a cell). These styles will then be applied to the alt tags within that cell.&lt;/p&gt;&lt;p&gt;This is our cell:&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;td align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#70bbd9&amp;quot; style=&amp;quot;padding: 40px 0 30px 0;&amp;quot;&amp;gt;
 &amp;lt;img src=&amp;quot;images/h1.gif&amp;quot; alt=&amp;quot;Creating Email Magic&amp;quot; width=&amp;quot;300&amp;quot; height=&amp;quot;230&amp;quot; style=&amp;quot;display: block;&amp;quot; /&amp;gt;
&amp;lt;/td&amp;gt;
&lt;/pre&gt;&lt;p&gt;We’ll add some text styling so it looks like this:&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;td align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#70bbd9&amp;quot; style=&amp;quot;padding: 40px 0 30px 0; color: #153643; font-size: 28px; font-weight: bold; font-family: Arial, sans-serif;&amp;quot;&amp;gt;
 &amp;lt;img src=&amp;quot;images/h1.gif&amp;quot; alt=&amp;quot;Creating Email Magic&amp;quot; width=&amp;quot;300&amp;quot; height=&amp;quot;230&amp;quot; style=&amp;quot;display: block;&amp;quot; /&amp;gt;
&amp;lt;/td&amp;gt;
&lt;/pre&gt;&lt;p&gt;And we&amp;#8217;ll style our social media links so that they become white:&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&amp;gt;
 &amp;lt;tr&amp;gt;
  &amp;lt;td style=&amp;quot;font-family: Arial, sans-serif; font-size: 12px; font-weight: bold;&amp;quot;&amp;gt;
   &amp;lt;a href=&amp;quot;http://www.twitter.com/&amp;quot; style=&amp;quot;color: #ffffff;&amp;quot;&amp;gt;
    &amp;lt;img src=&amp;quot;images/tw.gif&amp;quot; alt=&amp;quot;Twitter&amp;quot; width=&amp;quot;38&amp;quot; height=&amp;quot;38&amp;quot; style=&amp;quot;display: block;&amp;quot; border=&amp;quot;0&amp;quot; /&amp;gt;
   &amp;lt;/a&amp;gt;
  &amp;lt;/td&amp;gt;
  &amp;lt;td style=&amp;quot;font-size: 0; line-height: 0;&amp;quot; width=&amp;quot;20&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;
  &amp;lt;td style=&amp;quot;font-family: Arial, sans-serif; font-size: 12px; font-weight: bold;&amp;quot;&amp;gt;
   &amp;lt;a href=&amp;quot;http://www.twitter.com/&amp;quot; style=&amp;quot;color: #ffffff;&amp;quot;&amp;gt;
    &amp;lt;img src=&amp;quot;images/fb.gif&amp;quot; alt=&amp;quot;Facebook&amp;quot; width=&amp;quot;38&amp;quot; height=&amp;quot;38&amp;quot; style=&amp;quot;display: block;&amp;quot; border=&amp;quot;0&amp;quot; /&amp;gt;
   &amp;lt;/a&amp;gt;
  &amp;lt;/td&amp;gt;
 &amp;lt;/tr&amp;gt;
&amp;lt;/table&amp;gt;
&lt;/pre&gt;&lt;figure
class="tutorial_image"&gt;&lt;img
class="alignnone size-full wp-image-12852" alt="altTagsAfter" src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/altTagsAfter.png" /&gt;&lt;/figure&gt;&lt;p&gt;Simple as that! Now we can be confident that our email will display well, even with images turned off.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/webdesigntutsplus/~4/XH8Kq1Uxpb0" height="1" width="1"/&gt;</description> <wfw:commentRss>http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/quick-tip-remember-to-style-your-alt-text/feed/</wfw:commentRss> <slash:comments>12</slash:comments> <feedburner:origLink>http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/quick-tip-remember-to-style-your-alt-text/</feedburner:origLink></item> <item><title>Build an HTML Email Template From Scratch</title><link>http://feedproxy.google.com/~r/webdesigntutsplus/~3/VeN84VFuEBg/</link> <comments>http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/build-an-html-email-template-from-scratch/#comments</comments> <pubDate>Mon, 10 Jun 2013 11:40:23 +0000</pubDate> <dc:creator>Nicole Merlin</dc:creator> <category><![CDATA[HTML/CSS]]></category> <category><![CDATA[email]]></category> <category><![CDATA[html]]></category> <guid isPermaLink="false">http://webdesign.tutsplus.com/?p=12770</guid> <description>&lt;a
href='http://rss.buysellads.com/click.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=12770&amp;c=328796774' target='_blank'&gt;&lt;img
src='http://rss.buysellads.com/img.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=12770&amp;c=328796774' border='0' alt='' /&gt;&lt;/a&gt;&lt;p&gt;The best way to understand any process is to carry it out yourself, from the ground up. Today, we&amp;#8217;re going to do just that with email design, by building an HTML email template from scratch.&lt;/p&gt;&lt;p&gt;&lt;span
id="more-12770"&gt;&lt;/span&gt;&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Kick Things Off&lt;/h2&gt;&lt;p&gt;To begin with, it&amp;#8217;s worth mentioning where I pulled some of the resources from.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;The lovely 2D icons are by &lt;a
href="http://dribbble.com/pierreborodin"&gt;Pierre Borodin&lt;/a&gt; on Dribbble&lt;/li&gt;&lt;li&gt;The typefaces used are &lt;a
href="http://www.losttype.com/font/?name=oilcan"&gt;Oil Can&lt;/a&gt;, &lt;a
href="http://www.google.com/fonts/specimen/Source+Sans+Pro"&gt;Source Sans Pro&lt;/a&gt; and &lt;a
href="http://www.losttype.com/font/?name=mission_script"&gt;Mission Script&lt;/a&gt;&lt;/li&gt;&lt;li&gt;The social media icons are from &lt;a
href="http://www.alessioatzeni.com/metrize-icons/"&gt;Metrize Icons&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Now, as we discussed in the &lt;a
href="http://enva.to/what-you-should-know-about-html-email"&gt;previous tutorial&lt;/a&gt;, you&amp;#8217;ll need to begin your HTML email document with an XHTML doctype:&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;&amp;gt;
 &amp;lt;head&amp;gt;
  &amp;lt;meta http-equiv=&amp;quot;Content-Type&amp;quot; content=&amp;quot;text/html; charset=UTF-8&amp;quot; /&amp;gt;
  &amp;lt;title&amp;gt;Demystifying Email Design&amp;lt;/title&amp;gt;
  &amp;lt;meta name=&amp;quot;viewport&amp;quot; content=&amp;quot;width=device-width, initial-scale=1.0&amp;quot;/&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/pre&gt;&lt;p&gt;With that sorted, we can commence building the rest of the structure.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Creating the Body and Main Table&lt;/h2&gt;&lt;p&gt;First, we’ll add an overall structure for our email, starting with a &lt;code&gt;&amp;lt;body&amp;gt;&lt;/code&gt; tag. We&amp;#8217;ll set the margin and padding on the body tag to zero to avoid any unexpected space.&lt;/p&gt;&lt;p&gt;We&amp;#8217;ll also add a table with a width of 100%. This acts as a true body tag for our email, because styling of the body tag isn’t fully supported. If you wanted to add a background color to the ‘body’ of your email, you’d need to apply it to this big table instead.&lt;/p&gt;&lt;p&gt;Set your cellpadding and cellspacing to zero to avoid any unexpected space in the table.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; We’re going to leave &lt;code&gt;border="1"&lt;/code&gt; on all of our tables, so that we can see the skeleton of our layout as we go. We’ll remove them at the end with a simple Find &amp;amp; Replace.&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;body style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;
 &amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot;&amp;gt;
  &amp;lt;tr&amp;gt;
   &amp;lt;td&amp;gt;
    Hello!
   &amp;lt;/td&amp;gt;
  &amp;lt;/tr&amp;gt;
 &amp;lt;/table&amp;gt;
&amp;lt;/body&amp;gt;
&lt;/pre&gt;&lt;figure
class="tutorial_image"&gt;&lt;img
class="alignnone size-full wp-image-12830" alt="1" src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/1.jpg" /&gt;&lt;/figure&gt;&lt;blockquote
class="pullquote"&gt;&lt;p&gt;If an attribute exists in HTML, use that instead of CSS&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Now place a centered table of 600 pixels wide &lt;strong&gt;inside the container table&lt;/strong&gt;. 600 pixels is a safe maximum width for your emails to display comfortably within most desktop and webmail clients on most screen resolutions.&lt;/p&gt;&lt;p&gt;Set this width using HTML instead of CSS, by using the width attribute. The golden rule in HTML email development is: if an attribute exists in HTML, use that instead of CSS.&lt;/p&gt;&lt;p&gt;We’ll replace our little ‘Hello!’ greeting with this table:&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;table align=&amp;quot;center&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;600&amp;quot; style=&amp;quot;border-collapse: collapse;&amp;quot;&amp;gt;
 &amp;lt;tr&amp;gt;
  &amp;lt;td&amp;gt;
   Hello!
  &amp;lt;/td&amp;gt;
 &amp;lt;/tr&amp;gt;
&amp;lt;/table&amp;gt;
&lt;/pre&gt;&lt;p&gt;We&amp;#8217;ve also added an inline style property that sets the &lt;code&gt;border-collapse&lt;/code&gt; property to &lt;code&gt;collapse&lt;/code&gt;. If we don’t do this, newer versions of Outlook will add a small space between our table and our border.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt;&lt;img
class="alignnone size-full wp-image-12831" alt="2" src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/2.jpg" /&gt;&lt;/figure&gt;&lt;hr
/&gt;&lt;h2&gt;Creating the Structure and Header&lt;/h2&gt;&lt;p&gt;In our design we can see that the email is divided into three logical sections, so we&amp;#8217;ll create a row for each.&lt;/p&gt;&lt;p&gt;Let’s duplicate the single row we already made so that we have three in total. I’ve changed the text inside them so that we can easily identify each row.&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;table align=&amp;quot;center&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;600&amp;quot;&amp;gt;
 &amp;lt;tr&amp;gt;
  &amp;lt;td&amp;gt;
   Row 1
  &amp;lt;/td&amp;gt;
 &amp;lt;/tr&amp;gt;
 &amp;lt;tr&amp;gt;
  &amp;lt;td&amp;gt;
   Row 2
  &amp;lt;/td&amp;gt;
 &amp;lt;/tr&amp;gt;
 &amp;lt;tr&amp;gt;
  &amp;lt;td&amp;gt;
   Row 3
  &amp;lt;/td&amp;gt;
 &amp;lt;/tr&amp;gt;
&amp;lt;/table&amp;gt;
&lt;/pre&gt;&lt;figure
class="tutorial_image"&gt;&lt;img
class="alignnone size-full wp-image-12832" alt="3" src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/3.jpg" /&gt;&lt;/figure&gt;&lt;p&gt;Now we’ll color them according to the design. As &lt;code&gt;bgcolor&lt;/code&gt; is a valid HTML attribute, we&amp;#8217;ll use that to set the background color instead of CSS. Always remember to use the full six characters of a hex code, as three character shorthand won’t always work.&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;table align=&amp;quot;center&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;600&amp;quot;&amp;gt;
 &amp;lt;tr&amp;gt;
  &amp;lt;td bgcolor=&amp;quot;#70bbd9&amp;quot;&amp;gt;
   Row 1
  &amp;lt;/td&amp;gt;
 &amp;lt;/tr&amp;gt;
 &amp;lt;tr&amp;gt;
  &amp;lt;td bgcolor=&amp;quot;#ffffff&amp;quot;&amp;gt;
   Row 2
  &amp;lt;/td&amp;gt;
 &amp;lt;/tr&amp;gt;
 &amp;lt;tr&amp;gt;
  &amp;lt;td bgcolor=&amp;quot;#ee4c50&amp;quot;&amp;gt;
   Row 3
  &amp;lt;/td&amp;gt;
 &amp;lt;/tr&amp;gt;
&amp;lt;/table&amp;gt;
&lt;/pre&gt;&lt;figure
class="tutorial_image"&gt;&lt;img
class="alignnone size-full wp-image-12833" alt="4" src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/4.jpg" /&gt;&lt;/figure&gt;&lt;p&gt;Ok, next up we are going to focus on Row 1. We want to adjust the padding on the cell and then insert our image.&lt;/p&gt;&lt;h3&gt;Using Padding&lt;/h3&gt;&lt;p&gt;When using padding in email, you must always specify every single value (top, right, bottom and left) otherwise you can get unpredictable results. I find that you can still use the shorthand, i.e. &lt;code&gt;padding: 10px 10px 8px 5px;&lt;/code&gt;, but if you are having trouble you may wish to write it out longform, i.e. &lt;code&gt;padding-top: 10px; padding-right: 10px; padding-bottom: 8px; padding-left: 5px;&lt;/code&gt;.&lt;/p&gt;&lt;p&gt;If you are having even greater troubles with padding (for example, if your send platform is stripping out your CSS), don’t use it at all. Simply use empty cells to create space. There is no need to use spacer GIFs, just make sure you add &lt;code&gt;style="line-height: 0; font-size: 0;"&lt;/code&gt; to the cell, place an &lt;code&gt;&amp;amp;nbsp;&lt;/code&gt; inside and give it an explicit height or width. Here is an example:&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;tr&amp;gt;&amp;lt;td style=&amp;quot;font-size: 0; line-height: 0;&amp;quot; height=&amp;quot;10&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&lt;/pre&gt;&lt;p&gt;Also note that it’s safe to use padding on TD tags but not on P tags or DIVs. They behave a lot more unpredictably.&lt;/p&gt;&lt;p&gt;So, we’ll use some inline CSS to add padding to the cell. Then we’ll insert our image, adding alt text and adding &lt;code&gt;style="display:block;"&lt;/code&gt; which is a common fix that stops some email clients adding gaps underneath your images. We’ll center the image by adding &lt;code&gt;align="center"&lt;/code&gt; to our td tag. We’ll also add an alt tag which is important for when our email is initially loaded which, in most cases, will be with images off.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; If the contents of your header are really important to your message, don’t use an image-only header. Remember, images are blocked by default for most clients, so if there is an aspect of your email that is crucial, never include it as an image. In this example, however, my header is pretty superfluous.&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;td align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#70bbd9&amp;quot; style=&amp;quot;padding: 40px 0 30px 0;&amp;quot;&amp;gt;
 &amp;lt;img src=&amp;quot;images/h1.gif&amp;quot; alt=&amp;quot;Creating Email Magic&amp;quot; width=&amp;quot;300&amp;quot; height=&amp;quot;230&amp;quot; style=&amp;quot;display: block;&amp;quot; /&amp;gt;
&amp;lt;/td&amp;gt;
&lt;/pre&gt;&lt;figure
class="tutorial_image"&gt;&lt;img
class="alignnone size-full wp-image-12835" alt="6" src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/6.jpg" /&gt;&lt;/figure&gt;&lt;hr
/&gt;&lt;h2&gt;Creating the Content Area&lt;/h2&gt;&lt;p&gt;First off, we’ll add some padding to the middle cell so that the table inside has some space around it, as per our design.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt;&lt;img
class="alignnone size-full wp-image-12836" alt="7" src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/7.jpg" /&gt;&lt;/figure&gt;&lt;p&gt;Now we’ll add a table with three rows for our main content — one for the headline, one for the introductory text, and one for the row with two columns. We&amp;#8217;ll set the width of this table to 100% rather than using a pixel value because this will help us further down the track if we want to make our email responsive. If you always have pixel widths on everything, you can end up with a lot of values to override with media queries. If your nested table widths are based on percentages, then when you adjust the width of the parent element, everything will adapt accordingly.&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;td bgcolor=&amp;quot;#ffffff&amp;quot; style=&amp;quot;padding: 40px 30px 40px 30px;&amp;quot;&amp;gt;
 &amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot;&amp;gt;
  &amp;lt;tr&amp;gt;
   &amp;lt;td&amp;gt;
    Row 1
   &amp;lt;/td&amp;gt;
  &amp;lt;/tr&amp;gt;
  &amp;lt;tr&amp;gt;
   &amp;lt;td&amp;gt;
    Row 2
   &amp;lt;/td&amp;gt;
  &amp;lt;/tr&amp;gt;
  &amp;lt;tr&amp;gt;
   &amp;lt;td&amp;gt;
    Row 3
   &amp;lt;/td&amp;gt;
  &amp;lt;/tr&amp;gt;
 &amp;lt;/table&amp;gt;
&amp;lt;/td&amp;gt;
&lt;/pre&gt;&lt;figure
class="tutorial_image"&gt;&lt;img
class="alignnone size-full wp-image-12837" alt="8" src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/8.jpg" /&gt;&lt;/figure&gt;&lt;p&gt;Now we’ll add in our content, and add some padding to the middle cell.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt;&lt;img
class="alignnone size-full wp-image-12838" alt="9" src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/9.jpg" /&gt;&lt;/figure&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot;&amp;gt;
 &amp;lt;tr&amp;gt;
  &amp;lt;td&amp;gt;
   Lorem ipsum dolor sit amet!
  &amp;lt;/td&amp;gt;
 &amp;lt;/tr&amp;gt;
 &amp;lt;tr&amp;gt;
  &amp;lt;td style=&amp;quot;padding: 20px 0 30px 0;&amp;quot;&amp;gt;
   Lorem ipsum dolor sit amet, consectetur adipiscing elit. In tempus adipiscing felis, sit amet blandit ipsum volutpat sed. Morbi porttitor, eget accumsan dictum, nisi libero ultricies ipsum, in posuere mauris neque at erat.
  &amp;lt;/td&amp;gt;
 &amp;lt;/tr&amp;gt;
 &amp;lt;tr&amp;gt;
  &amp;lt;td&amp;gt;
   Row 3
  &amp;lt;/td&amp;gt;
 &amp;lt;/tr&amp;gt;
&amp;lt;/table&amp;gt;
&lt;/pre&gt;&lt;p&gt;Now we are going to add our two columns of content to Row 3. Because we want a ‘margin’ in between these two cells, but margin isn’t supported, we’ll create a three-column table with an empty cell between the two outer columns.&lt;/p&gt;&lt;p&gt;As much as I like to stick to percentages, when you have content that is a specific size, it can be tricky to convert it to a percentage (in this example, the columns would be 48.1% which could become confusing). For this reason, since our two images are 260px wide, we’ll create columns that are also 260px wide, with a 20px margin cell in the middle. (This will total 540px, which is the 600px width of our table minus the padding of 30px on either side.) Be sure to zero your font-size and line-height and add a a non-breaking space character &lt;code&gt;&amp;amp;nbsp;&lt;/code&gt; in the margin cell.&lt;/p&gt;&lt;p&gt;We&amp;#8217;ll also set the &lt;code&gt;valign&lt;/code&gt; to &lt;code&gt;"top"&lt;/code&gt; for both cells so that they will vertically align to the top, even if one column has more text than the other. The default vertical alignment is &lt;code&gt;"middle"&lt;/code&gt;.&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot;&amp;gt;
 &amp;lt;tr&amp;gt;
  &amp;lt;td width=&amp;quot;260&amp;quot; valign=&amp;quot;top&amp;quot;&amp;gt;
   Column 1
  &amp;lt;/td&amp;gt;
  &amp;lt;td style=&amp;quot;font-size: 0; line-height: 0;&amp;quot; width=&amp;quot;20&amp;quot;&amp;gt;
   &amp;amp;nbsp;
  &amp;lt;/td&amp;gt;
  &amp;lt;td width=&amp;quot;260&amp;quot; valign=&amp;quot;top&amp;quot;&amp;gt;
   Column 2
  &amp;lt;/td&amp;gt;
 &amp;lt;/tr&amp;gt;
&amp;lt;/table&amp;gt;
&lt;/pre&gt;&lt;figure
class="tutorial_image"&gt;&lt;img
class="alignnone size-full wp-image-12866" alt="10" src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/10a.jpg" /&gt;&lt;/figure&gt;&lt;p&gt;Now let’s add our images and content to those columns. As we need multiple rows, we&amp;#8217;ll nest yet another table because we can’t use any colspan or rowspan tags. We’ll also add some padding in between the image and copy in each column.&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot;&amp;gt;
 &amp;lt;tr&amp;gt;
  &amp;lt;td width=&amp;quot;260&amp;quot; valign=&amp;quot;top&amp;quot;&amp;gt;
   &amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot;&amp;gt;
    &amp;lt;tr&amp;gt;
     &amp;lt;td&amp;gt;
      &amp;lt;img src=&amp;quot;images/left.gif&amp;quot; alt=&amp;quot;&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;140&amp;quot; style=&amp;quot;display: block;&amp;quot; /&amp;gt;
     &amp;lt;/td&amp;gt;
    &amp;lt;/tr&amp;gt;
    &amp;lt;tr&amp;gt;
     &amp;lt;td style=&amp;quot;padding: 25px 0 0 0;&amp;quot;&amp;gt;
      Lorem ipsum dolor sit amet, consectetur adipiscing elit. In tempus adipiscing felis, sit amet blandit ipsum volutpat sed. Morbi porttitor, eget accumsan dictum, nisi libero ultricies ipsum, in posuere mauris neque at erat.
     &amp;lt;/td&amp;gt;
    &amp;lt;/tr&amp;gt;
   &amp;lt;/table&amp;gt;
  &amp;lt;/td&amp;gt;
  &amp;lt;td style=&amp;quot;font-size: 0; line-height: 0;&amp;quot; width=&amp;quot;20&amp;quot;&amp;gt;
   &amp;amp;nbsp;
  &amp;lt;/td&amp;gt;
  &amp;lt;td width=&amp;quot;260&amp;quot; valign=&amp;quot;top&amp;quot;&amp;gt;
   &amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot;&amp;gt;
    &amp;lt;tr&amp;gt;
     &amp;lt;td&amp;gt;
      &amp;lt;img src=&amp;quot;images/right.gif&amp;quot; alt=&amp;quot;&amp;quot; width=&amp;quot;100%&amp;quot; height=&amp;quot;140&amp;quot; style=&amp;quot;display: block;&amp;quot; /&amp;gt;
     &amp;lt;/td&amp;gt;
    &amp;lt;/tr&amp;gt;
    &amp;lt;tr&amp;gt;
     &amp;lt;td style=&amp;quot;padding: 25px 0 0 0;&amp;quot;&amp;gt;
      Lorem ipsum dolor sit amet, consectetur adipiscing elit. In tempus adipiscing felis, sit amet blandit ipsum volutpat sed. Morbi porttitor, eget accumsan dictum, nisi libero ultricies ipsum, in posuere mauris neque at erat.
     &amp;lt;/td&amp;gt;
    &amp;lt;/tr&amp;gt;
   &amp;lt;/table&amp;gt;
  &amp;lt;/td&amp;gt;
 &amp;lt;/tr&amp;gt;
&amp;lt;/table&amp;gt;
&lt;/pre&gt;&lt;p&gt;Here we have set the width of the images using HTML at 100% of the column width. This, again, is so that if we make this email responsive, we only have to use media queries to change the width of the parent element. We&amp;#8217;ll have to override the height in pixels because using &lt;code&gt;style="height: auto"&lt;/code&gt; now won’t work in everything &lt;em&gt;(cough cough, Outlook)&lt;/em&gt;. So we’ll set it using pixels. This means we&amp;#8217;d have to set &lt;code&gt;height: auto!important&lt;/code&gt; on those images using media queries to override the pixel value, but we could do that with a single class. As we set the width as a percentage, we won’t need to override that. The fewer things to override, the better.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt;&lt;img
class="alignnone size-full wp-image-12842" alt="13" src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/13.png" /&gt;&lt;/figure&gt;&lt;hr
/&gt;&lt;h2&gt;The Footer&lt;/h2&gt;&lt;p&gt;Now we’ll add our padding to the footer row.&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;td bgcolor=&amp;quot;#ee4c50&amp;quot; style=&amp;quot;padding: 30px 30px 30px 30px;&amp;quot;&amp;gt;
 Row 3
&amp;lt;/td&amp;gt;
&lt;/pre&gt;&lt;figure
class="tutorial_image"&gt;&lt;img
class="alignnone size-full wp-image-12843" alt="14" src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/14.png" /&gt;&lt;/figure&gt;&lt;p&gt;Inside that cell, we’ll nest another table to get our two columns.&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot;&amp;gt;
 &amp;lt;tr&amp;gt;
  &amp;lt;td&amp;gt;
   Column 1
  &amp;lt;/td&amp;gt;
  &amp;lt;td&amp;gt;
   Column 2
  &amp;lt;/td&amp;gt;
 &amp;lt;/tr&amp;gt;
&amp;lt;/table&amp;gt;
&lt;/pre&gt;&lt;figure
class="tutorial_image"&gt;&lt;img
class="alignnone size-full wp-image-12844" alt="15" src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/15.png" /&gt;&lt;/figure&gt;&lt;p&gt;We’ll create another little table for our social media icons. We’ll set its parent cell to &lt;code&gt;align="right"&lt;/code&gt;. Make sure you set &lt;code&gt;border="0"&lt;/code&gt; on these image links (to avoid a blue link border) and don’t forget &lt;code&gt;display:block&lt;/code&gt;.&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;td align=&amp;quot;right&amp;quot;&amp;gt;
 &amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&amp;gt;
  &amp;lt;tr&amp;gt;
   &amp;lt;td&amp;gt;
    &amp;lt;a href=&amp;quot;http://www.twitter.com/&amp;quot;&amp;gt;
     &amp;lt;img src=&amp;quot;images/tw.gif&amp;quot; alt=&amp;quot;Twitter&amp;quot; width=&amp;quot;38&amp;quot; height=&amp;quot;38&amp;quot; style=&amp;quot;display: block;&amp;quot; border=&amp;quot;0&amp;quot; /&amp;gt;
    &amp;lt;/a&amp;gt;
   &amp;lt;/td&amp;gt;
   &amp;lt;td style=&amp;quot;font-size: 0; line-height: 0;&amp;quot; width=&amp;quot;20&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;
   &amp;lt;td&amp;gt;
    &amp;lt;a href=&amp;quot;http://www.twitter.com/&amp;quot;&amp;gt;
     &amp;lt;img src=&amp;quot;images/fb.gif&amp;quot; alt=&amp;quot;Facebook&amp;quot; width=&amp;quot;38&amp;quot; height=&amp;quot;38&amp;quot; style=&amp;quot;display: block;&amp;quot; border=&amp;quot;0&amp;quot; /&amp;gt;
    &amp;lt;/a&amp;gt;
   &amp;lt;/td&amp;gt;
  &amp;lt;/tr&amp;gt;
 &amp;lt;/table&amp;gt;
&amp;lt;/td&amp;gt;
&lt;/pre&gt;&lt;figure
class="tutorial_image"&gt;&lt;img
class="alignnone size-full wp-image-12846" alt="17" src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/17.png" /&gt;&lt;/figure&gt;&lt;p&gt;Now we’ll add our text and add a width to our cells, just to be safe, even though there is a lot of whitespace between them. We&amp;#8217;ll set this cell to 75% and the other to 25%.&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;td width=&amp;quot;75%&amp;quot;&amp;gt;
 &amp;amp;reg; Someone, somewhere 2013&amp;lt;br/&amp;gt;
 Unsubscribe to this newsletter instantly
&amp;lt;/td&amp;gt;
&lt;/pre&gt;&lt;p&gt;And there we have it! Our layout is complete.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Validation&lt;/h2&gt;&lt;p&gt;Let&amp;#8217;s run this through the &lt;a
href="http://validator.w3.org/"&gt;W3C Validator&lt;/a&gt; to make sure nothing is bad or broken. If you’ve followed along exactly, it will say that it has passed.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt;&lt;img
class="alignnone size-full wp-image-12803" alt="email-build-valid" src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/email-build-valid.png" /&gt;&lt;/figure&gt;&lt;p&gt;Next we’re going to run a test through Litmus to make sure the structure of our email works great. Here’s a summary of my test:&lt;/p&gt; &lt;figure
class="tutorial_image"&gt;&lt;img
class="alignnone size-full wp-image-12804" alt="email-build-litmus" src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/email-build-litmus.png" /&gt;&lt;/p&gt; &lt;figcaption&gt;&lt;a
href="https://litmus.com/pub/0fa600c/screenshots"&gt;Take a look online&lt;/a&gt;&lt;/figcaption&gt; &lt;/figure&gt;&lt;hr
/&gt;&lt;h2&gt;Styling our Text&lt;/h2&gt;&lt;p&gt;Our first row is the heading. We’ll use the &lt;code&gt;&amp;lt;b&amp;gt;&lt;/code&gt; tag to create bold text because, as we already know, if it exists in HTML, we use that instead of CSS.&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;td style=&amp;quot;color: #153643; font-family: Arial, sans-serif; font-size: 24px;&amp;quot;&amp;gt;
 &amp;lt;b&amp;gt;Lorem ipsum dolor sit amet!&amp;lt;/b&amp;gt;
&amp;lt;/td&amp;gt;
&lt;/pre&gt;&lt;p&gt;We’ll also add this inline style to all the other cells of text:&lt;/p&gt;&lt;pre class="brush: css; title: ; notranslate"&gt;
style=&amp;quot;color: #153643; font-family: Arial, sans-serif; font-size: 16px; line-height: 20px;&amp;quot;
&lt;/pre&gt;&lt;p&gt;Next we need to style the footer text, and we’ll also tidy up our unsubscribe link. We&amp;#8217;ll style our unsubscribe text link using both CSS and the HTML &lt;code&gt;&amp;lt;font&amp;gt;&lt;/code&gt; tag. This doubling up is the best way to ensure that your links never show up in the default blue.&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;td style=&amp;quot;color: #ffffff; font-family: Arial, sans-serif; font-size: 14px;&amp;quot;&amp;gt;
 &amp;amp;reg; Someone, somewhere 2013&amp;lt;br/&amp;gt;
 &amp;lt;a href=&amp;quot;#&amp;quot; style=&amp;quot;color: #ffffff;&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#ffffff&amp;quot;&amp;gt;Unsubscribe&amp;lt;/font&amp;gt;&amp;lt;/a&amp;gt; to this newsletter instantly
&amp;lt;/td&amp;gt;
&lt;/pre&gt;&lt;figure
class="tutorial_image"&gt;&lt;img
class="alignnone size-full wp-image-12849" alt="20" src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/20.png" /&gt;&lt;/figure&gt;&lt;p&gt;And there we have it! Everything is in. Time to turn off the borders and see it looking beautiful. Go through and replace every occurance of &lt;code&gt;border="1"&lt;/code&gt; with &lt;code&gt;border="0"&lt;/code&gt;.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt;&lt;img
class="alignnone size-full wp-image-12850" alt="21" src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/21.png" /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p&gt;At this point, it’s looking a little sad floating in white space, so let’s go up to our first 600px wide table and add:&lt;/p&gt;&lt;pre class="brush: css; title: ; notranslate"&gt;
style=&amp;quot;border: 1px solid #cccccc;&amp;quot;
&lt;/pre&gt;&lt;p&gt;Now it doesn’t look like it’s floating anymore. As a final touch, I’m going to add 30px of padding to the bottom of the very first cell, to prevent our email from stopping abruptly at the bottom in some webmail clients (like Apple Mail), and 10px of padding at the top, so that our blue header has a little bit of breathing room.&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;td style=&amp;quot;padding: 20px 0 30px 0;&amp;quot;&amp;gt;
&lt;/pre&gt;&lt;figure
class="tutorial_image"&gt;&lt;img
class="alignnone size-full wp-image-12867" alt="23" src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/23.jpg" /&gt;&lt;/a&gt;&lt;/figure&gt;&lt;p&gt;And that’s it! You’re all ready for a final test.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt;&lt;img
class="alignnone size-full wp-image-12802" alt="email-build-litmus-finished" src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/email-build-litmus-finished.png" /&gt;&lt;/p&gt; &lt;figcaption&gt;&lt;a
href="https://litmus.com/pub/d675d96/screenshots"&gt;Take a look online&lt;/a&gt;&lt;/figcaption&gt; &lt;/figure&gt;&lt;hr
/&gt;&lt;h2&gt;That&amp;#8217;s a Wrap!&lt;/h2&gt;&lt;p&gt;Before we call it a day, if you have used any comments, get rid of them. Some email clients can choke on comments so it’s wisest not to have any unnecessary code anywhere in your files.&lt;/p&gt;&lt;p&gt;Now is a good time to do a final test, and then, your HTML email is ready to send!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/webdesigntutsplus/~4/VeN84VFuEBg" height="1" width="1"/&gt;</description> <wfw:commentRss>http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/build-an-html-email-template-from-scratch/feed/</wfw:commentRss> <slash:comments>27</slash:comments> <feedburner:origLink>http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/build-an-html-email-template-from-scratch/</feedburner:origLink></item> <item><title>What You Should Know About HTML Email</title><link>http://feedproxy.google.com/~r/webdesigntutsplus/~3/zOQWwC-bgUo/</link> <comments>http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/what-you-should-know-about-html-email/#comments</comments> <pubDate>Mon, 10 Jun 2013 08:50:23 +0000</pubDate> <dc:creator>Nicole Merlin</dc:creator> <category><![CDATA[HTML/CSS]]></category> <category><![CDATA[email]]></category> <guid isPermaLink="false">http://webdesign.tutsplus.com/?p=12908</guid> <description>&lt;a
href='http://rss.buysellads.com/click.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=12908&amp;c=1983779644' target='_blank'&gt;&lt;img
src='http://rss.buysellads.com/img.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=12908&amp;c=1983779644' border='0' alt='' /&gt;&lt;/a&gt;&lt;p&gt;Email is an awesome medium. It goes straight into the inbox and its &lt;a
rel="external" href="http://en.wikipedia.org/wiki/Return_on_investment"&gt;ROI&lt;/a&gt; is widely reported as being through the roof at 4000%. It’s also perpetually misunderstood and too often it’s done badly. With the recent explosion of smartphones, we’re more often reading our mail on our iPhone or Galaxy, but unfortunately a lot of email marketing has failed to keep up. I see this as a huge missed opportunity because a well executed email can be enjoyable to open and hugely successful.&lt;/p&gt;&lt;p&gt;&lt;span
id="more-12908"&gt;&lt;/span&gt;&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Coding HTML Email Can be a Challenge&lt;/h2&gt;&lt;p&gt;If you&amp;#8217;ve already tried your hand at HTML email design and development, you&amp;#8217;ve probably already established that it can be pretty difficult. And you&amp;#8217;re not imagining it — it is quite hard. Here&amp;#8217;s why:&lt;/p&gt;&lt;h3&gt;Email Standards Don’t Exist&lt;/h3&gt;&lt;blockquote
class="pullquote"&gt;&lt;p&gt;&amp;#91;We will&amp;#93; continue to use Word for creating e-mail messages because we believe it’s the best e-mail authoring experience around.&lt;br
/&gt; &lt;footer&gt;&lt;a
rel="external" href="http://blogs.office.com/b/microsoft-outlook/archive/2009/06/24/the-power-of-word-in-outlook.aspx"&gt;The Outlook Team&lt;/a&gt;&lt;/footer&gt;&lt;/blockquote&gt;&lt;p&gt;When you code for the web, you can at least count on the fact that all of the major browsers (Chrome, Firefox, Internet Explorer, Safari and Opera) are trying to adhere to web standards for rendering HTML and CSS.&lt;/p&gt;&lt;p&gt;When it comes to email clients, you&amp;#8217;re testing on a huge bunch of old and new programs. They range from new phones running on Android and iOS to IBM’s Lotus Notes or Microsoft Office 2007 (which infamously renders your lovingly-created HTML with the &lt;a
rel="external" href="https://litmus.com/blog/outlook-2013-still-powered-by-word-now-available-for-email-testing"&gt;Word HTML rendering engine&lt;/a&gt;. The previous versions of Outlook used a browser to render their HTML — which is actually logical. Why switch to a word processor to render HTML you ask? Well, for &amp;#8220;&lt;a
rel="external" href="http://www.email-standards.org/blog/entry/microsoft-respond-to-our-call-for-standards-support/"&gt;security reasons&lt;/a&gt;&amp;#8220;, they say). And none of these programs have to adhere to any standards. They basically all just make it up. You can see what standards support looks like for some of the most popular email clients at the &lt;a
rel="external" href="http://www.email-standards.org"&gt;Email Standards Project&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;If that isn’t bad enough, couple that with the next fact: there are about a million different combinations of ways that email can render on desktop and mobile.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;a
rel="external" href="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/demystifying-email-rendering.png"&gt;&lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/demystifying-email-rendering.png" alt="demystifying-email-rendering" class="alignnone size-full wp-image-12911" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;figcaption&gt;The rendering possibilities are (almost) endless.&lt;/figcaption&gt; &lt;/figure&gt;&lt;p&gt;Here’s a list of some of the most common email clients:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Mobile clients:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Android 2.3 &amp;#038; 4.0&lt;/li&gt;&lt;li&gt;iPhone 5  iOS 6&lt;/li&gt;&lt;li&gt;iPhone 4S  iOS 6&lt;/li&gt;&lt;li&gt;iPhone 3GS  iOS 5&lt;/li&gt;&lt;li&gt;iPad 2  iOS 6&lt;/li&gt;&lt;li&gt;BlackBerry OS 4 &amp;#038; 5&lt;/li&gt;&lt;li&gt;Symbian S60&lt;/li&gt;&lt;li&gt;Windows Phone 7.5&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Desktop clients:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Apple Mail 4, 5, 6&lt;/li&gt;&lt;li&gt;Lotus Notes 8.5&lt;/li&gt;&lt;li&gt;Lotus Notes 8&lt;/li&gt;&lt;li&gt;Thunderbird&lt;/li&gt;&lt;li&gt;Windows Live Mail&lt;/li&gt;&lt;li&gt;Outlook 2013&lt;/li&gt;&lt;li&gt;Outlook 2011 for Mac&lt;/li&gt;&lt;li&gt;Outlook 2010&lt;/li&gt;&lt;li&gt;Outlook 2007&lt;/li&gt;&lt;li&gt;Outlook 2003&lt;/li&gt;&lt;li&gt;Outlook 2002/XP&lt;/li&gt;&lt;li&gt;Outlook 2000&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Webmail clients:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;AOL Mail (on any browser)&lt;/li&gt;&lt;li&gt;Gmail (on any browser)&lt;/li&gt;&lt;li&gt;Outlook.com (on any browser)&lt;/li&gt;&lt;li&gt;Yahoo! (on any browser)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;That’s a lot of devices!&lt;/p&gt;&lt;blockquote
class="pullquote"&gt;&lt;p&gt;If you are already familiar with web development, forget everything you know about it.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;To compound all of this, conditional styling isn’t much of an option either. There are some things that you can do with conditional comments, but it’s limited to targeting certain versions of Outlook, or everything &lt;em&gt;except&lt;/em&gt; certain versions of Outlook.&lt;/p&gt;&lt;p&gt;If you are already familiar with web development, forget everything you know about it. The single biggest obstacle to you is expecting things to work like ‘normal’ web development. This will frustrate you and hold you back. The worst thing you can do is get angry that you can’t use DIVs or that &lt;code&gt;margin&lt;/code&gt; isn’t fully supported. So forget everything you know about semantic HTML and the latest CSS spec. Trust me, it will help.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;How to Approach Your Work&lt;/h2&gt;&lt;p&gt;Let&amp;#8217;s take a look at some email-building workflow suggestions.&lt;/p&gt;&lt;h3&gt;Work Structurally First&lt;/h3&gt;&lt;p&gt;Building the structure of your email first can help you avoid many bugs and issues later down the track. Never build the whole thing and then test — you can often end up with too many bugs to deal with, and they may all be influencing each other.&lt;/p&gt;&lt;h3&gt;Test Often&lt;/h3&gt;&lt;p&gt;Work until you reach a minor development milestone (for example, when you finish the basic structure) and then run a test. The best way to test is using &lt;a
rel="external" href="https://litmus.com/"&gt;Litmus&lt;/a&gt; or &lt;a
rel="external" href="http://www.emailonacid.com/"&gt;Email on Acid&lt;/a&gt;. I recommend taking out an unlimited plan with either of these companies because being able to test frequently is really important.&lt;/p&gt;&lt;p&gt;I also really like leaving in all my table borders so that I can see what I am creating, then I turn them all off at the end. You can also perhaps color the background of certain cells to help see which sections are where. My ideal workflow is to create a skeleton, test, then add my content, test, style the colors and fonts, test again and finally remove my borders and test again before sending.&lt;/p&gt;&lt;h3&gt;Validate Often&lt;/h3&gt;&lt;p&gt;Validate it using the &lt;a
rel="external" href="http://validator.w3.org/"&gt;W3C Validator&lt;/a&gt; as often as you possibly can. This will help you iron out small details and it will pick up on mistakes like missing or open tags.&lt;/p&gt;&lt;h3&gt;Sending Your Email&lt;/h3&gt;&lt;p&gt;There are a huge number of options when it comes to sending your email. The two services that I use the most are &lt;a
rel="external" href="http://mailchimp.com/"&gt;MailChimp&lt;/a&gt; and &lt;a
rel="external" href="http://www.campaignmonitor.com/"&gt;Campaign Monitor&lt;/a&gt;. They offer competitive pricing and they are very easy to use. There are loads of commercial platforms, too — it all depends on your needs. Sign up for a free account with either of these and have a tinker in their systems to see which one you like. Make sure you utilize the useful data that both services collect about your emails, such as open times and email client usage. This can really help you focus your efforts in the right area the next time you send.&lt;/p&gt;&lt;h3&gt;Content, Development and SPAM Scores&lt;/h3&gt;&lt;p&gt;When it comes to SPAM; content, design and development all go hand in hand. It’s important to avoid typical spammy tactics like using all-caps and lots of exclamation points in your subject line. There are certain words that are likely to trigger SPAM filters too (like ‘free’ and ‘invest’). The cleaner your code, the less likely your email is to be marked as SPAM, and the ratio of images to text also has an effect. Image-reliant emails with no text are more likely to be marked as SPAM and so are emails with really long image filenames.&lt;/p&gt;&lt;p&gt;The world of SPAM scores is a tricky one and it’s important to run a SPAM test through your testing account with Litmus or Email on Acid before you send your email, to make sure all your hard work isn’t headed straight for the Junk folder.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Diving into Development&lt;/h2&gt;&lt;p&gt;Now, for the nitty-gritty of email development..&lt;/p&gt;&lt;h3&gt;Tools of the Trade&lt;/h3&gt;&lt;p&gt;You’ll need a text editor that you like (I use &lt;a
rel="external" href="http://www.sublimetext.com/"&gt;Sublime Text&lt;/a&gt;) and a test account with Litmus or Email on Acid. I highly recommend having an unlimited test account with either of these companies as it will make your life so much easier. If you don’t pay a monthly fee, you will end up paying between $3 and $5 per test which can add up pretty quickly.&lt;/p&gt;&lt;h3&gt;Starting With a Good Base&lt;/h3&gt;&lt;p&gt;I think that it’s good to start with a blank slate. Frameworks like the &lt;a
rel="external" href="http://hub.tutsplus.com/tutorials/say-hello-to-the-html-email-boilerplate--webdesign-5143"&gt;HTML Email Boilerplate&lt;/a&gt; are full of wonderful tricks and snippets that you can implement piece by piece. However, if you are just starting out I don’t recommend using it as a starting point as it contains a lot of elements that you won’t need. Boilerplates can often make it more difficult to troubleshoot any issues if there is a lot of unused code in your file.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Because it can be very precarious to use any kind of editor (especially when it&amp;#8217;s time to troubleshoot), you should never use a WYSIWYG editor, or any kind of editor that promises to take your formatted design and magically turn it into valid HTML for emailing. This stuff just never works.&lt;/p&gt;&lt;h3&gt;!DOCTYPE&lt;/h3&gt;&lt;p&gt;This might seem like a technical detail to start with, but you need a blank template to start working with, and that template needs a Doctype. A doctype is essentially a line of code which informs the program reading it which HTML tags to expect and which set of rules the HTML and CSS adhere to. Quite a few clients strip your Doctype out, and some even apply their own. Many clients do honor your doctype and it can make things much easier if you can validate constantly against a Doctype.&lt;/p&gt;&lt;p&gt;Using an XHTML doctype generally has the fewest quirks and inconsistencies between documents. I use XHTML 1.0 Transitional because it has proven itself to be the most reliable doctype in my experience. In the following tutorial, during which we&amp;#8217;ll build a complete HTML email template, we’ll use the following code to start off our document:&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta http-equiv=&amp;quot;Content-Type&amp;quot; content=&amp;quot;text/html; charset=UTF-8&amp;quot; /&amp;gt;
&amp;lt;title&amp;gt;Demystifying Email Design&amp;lt;/title&amp;gt;
&amp;lt;meta name=&amp;quot;viewport&amp;quot; content=&amp;quot;width=device-width, initial-scale=1.0&amp;quot;/&amp;gt;
&amp;lt;/head&amp;gt;
&lt;/pre&gt;&lt;p&gt;The &lt;code&gt;Content-Type&lt;/code&gt; meta tag is for telling the destination rendering engine how to process text and special characters. In reality, you need to encode all of your special characters anyway (e.g., &amp;amp; becomes &amp;amp;amp; for ampersand) to be safe, but it’s worth keeping this line in there anyway.&lt;/p&gt;&lt;p&gt;The &lt;a
rel="external" href="http://hub.tutsplus.com/tutorials/quick-tip-dont-forget-the-viewport-meta-tag--webdesign-5972"&gt;viewport meta tag&lt;/a&gt; is telling the device to set the viewable area to the width of the device’s screen. It also sets the initial scale to ‘normal’ which is neither zoomed in nor out. If you don’t specify this, many smartphones may scale your content down so that the content fits within the viewable area, but not any of its padding or margins. This can result in text and images butting right up against the edge of the screen.&lt;/p&gt;&lt;p&gt;Finally, always enter a meaningful title because this is what people will see when they view the email in a browser, or share it with their friends.&lt;/p&gt;&lt;h3&gt;Email is All About Nesting Tables&lt;/h3&gt;&lt;p&gt;Due to the lack of standards support in email, it’s not possible to use divs, sections or articles — instead you have to use tables. Moreover, you need to use lots and lots of nested tables because neither the &lt;code&gt;colspan&lt;/code&gt; nor &lt;code&gt;rowspan&lt;/code&gt; attributes are properly supported.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/demystifying-email-nesting.png" alt="demystifying-email-nesting" width="600" height="266" class="alignnone size-full wp-image-12910" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;h3&gt;Paragraphs or Cells?&lt;/h3&gt;&lt;p&gt;Again, because of the lack of standards support, it’s not a great idea to use standard tags like &lt;code&gt;h1&lt;/code&gt;, &lt;code&gt;h2&lt;/code&gt;, &lt;code&gt;h3&lt;/code&gt; or &lt;code&gt;p&lt;/code&gt;. I find that these can render really inconsistently across email clients and can create some pretty big headaches.&lt;/p&gt;&lt;p&gt;Your best bet is to place every block of text into its own cell and apply inline styling to that cell, for example:&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;tr&amp;gt;
 &amp;lt;td style=“font-size: 12px; font-family: Arial, sans-serif; color: #666666;”&amp;gt;
   Text
 &amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&lt;/pre&gt;&lt;h3&gt;Inline Styles or Stylesheets?&lt;/h3&gt;&lt;p&gt;This one is more of a personal choice. I prefer to keep all my styles inline (ie: within the HTML tags themselves) because I like to know exactly where everything is and what is affecting what. You can code using styles and then pull them all inline at the end (Campaign Monitor and MailChimp can do this for you automatically, you can also use &lt;a
rel="external" href="http://premailer.dialect.ca/"&gt;Premailer&lt;/a&gt; or something similar) but the reason I don’t like this is because you get to know your code, run it through an inliner, and then your code can become somewhat unrecognizable. I find that this makes it more difficult to troubleshoot. Saying that, if this is the way you want to work, that’s fine; there is no technical reason why you shouldn’t do it.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Don’t forget:&lt;/strong&gt; You can’t apply multiple classes to things in HTML email because it is not supported. Every element can have a maximum of one class.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Also don’t forget:&lt;/strong&gt; You can’t use shorthand for things like font size (i.e. style=&amp;#8221;font: 8px/14px Arial, sans-serif;&amp;#8221;) because it is not supported.&lt;/p&gt;&lt;h3&gt;Image Names and SPAM Scores&lt;/h3&gt;&lt;p&gt;When saving out images remember that it’s good to give your images names that are short and meaningful because it will improve your spam score. Names like &amp;#8220;campaign_054_design_0x0_v6_email-link.gif&amp;#8221; are likely to have a much higher SPAM score than &amp;#8220;email.gif&amp;#8221;.&lt;/p&gt;&lt;h3&gt;Image Size&lt;/h3&gt;&lt;p&gt;It’s also a really great idea to try to keep your entire email as small as humanly possible: under 100kb is ideal but not always possible, under 250kb is pretty standard. Use a compression app like &lt;a
rel="external" href="http://www.jpegmini.com/"&gt;JPEGmini&lt;/a&gt; or &lt;a
rel="external" href="http://tinypng.org/"&gt;tinyPNG&lt;/a&gt; to cut all your images down to size as much as possible before you send. Slower load times, especially on mobile, can make or break your email if the overall file size is too large.&lt;/p&gt;&lt;h3&gt;Other Gotchas&lt;/h3&gt;&lt;p&gt;Don’t leave anything up to the email client. Specify all your widths, because otherwise you could end up with unexpected results. For your main container elements always set the size in pixels. You can then use percentages inside your containing element if you wish.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Conclusion&lt;/h2&gt;&lt;p&gt;There&amp;#8217;s a lot to take into account when designing and developing HTML email, most of which involves &amp;#8220;un-learning&amp;#8221; standards you&amp;#8217;ve been encouraged to practice for web design over the years. However, this tutorial should have given you a solid base to work from, and you&amp;#8217;re now ready to jump into the actual build process. Onwards!&lt;/p&gt;&lt;h3&gt;Useful Links&lt;/h3&gt;&lt;p&gt;I referenced a few things during this tutorial &amp;#8211; so here they are again, all in one place.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a
rel="external" href="https://litmus.com/"&gt;Litmus&lt;/a&gt; testing tools&lt;/li&gt;&lt;li&gt;&lt;a
rel="external" href="http://www.emailonacid.com/"&gt;Email on Acid&lt;/a&gt; testing tools&lt;/li&gt;&lt;li&gt;&lt;a
rel="external" href="http://blogs.office.com/b/microsoft-outlook/"&gt;The Outlook Team Blog&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a
rel="external" href="https://litmus.com/blog/"&gt;The Litmus Team Blog&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a
rel="external" href="http://www.email-standards.org"&gt;The Email Standards Project&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a
rel="external" href="http://validator.w3.org/"&gt;W3C Validator&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a
rel="external" href="http://mailchimp.com/"&gt;MailChimp&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a
rel="external" href="http://www.campaignmonitor.com/"&gt;Campaign Monitor&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a
rel="external" href="http://premailer.dialect.ca/"&gt;Premailer&lt;/a&gt;, preflight check for emails&lt;/li&gt;&lt;li&gt;&lt;a
rel="external" href="http://www.jpegmini.com/"&gt;JPEGmini&lt;/a&gt; image compression tool&lt;/li&gt;&lt;li&gt;&lt;a
rel="external" href="http://tinypng.org/"&gt;tinyPNG&lt;/a&gt; image compression tool&lt;/li&gt;&lt;li&gt;&lt;a
rel="external" href="http://www.sublimetext.com/"&gt;Sublime Text&lt;/a&gt;, my preferred editor&lt;/li&gt;&lt;li&gt;Say Hello to the &lt;a
rel="external" href="http://hub.tutsplus.com/tutorials/say-hello-to-the-html-email-boilerplate--webdesign-5143"&gt;HTML Email Boilerplate&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Don&amp;#8217;t Forget the &lt;a
rel="external" href="http://hub.tutsplus.com/tutorials/quick-tip-dont-forget-the-viewport-meta-tag--webdesign-5972"&gt;Viewport Meta Tag&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Thumbnail icon by &lt;a
href="http://dribbble.com/shots/1029199-Flat-icons-PSD-3-Dribbble-invites"&gt;Pierre Borodin&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/webdesigntutsplus/~4/zOQWwC-bgUo" height="1" width="1"/&gt;</description> <wfw:commentRss>http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/what-you-should-know-about-html-email/feed/</wfw:commentRss> <slash:comments>20</slash:comments> <feedburner:origLink>http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/what-you-should-know-about-html-email/</feedburner:origLink></item> <item><title>Foundation for Beginners: Navigation</title><link>http://feedproxy.google.com/~r/webdesigntutsplus/~3/3AuAo8O3pUM/</link> <comments>http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/foundation-for-beginners-navigation/#comments</comments> <pubDate>Fri, 07 Jun 2013 11:17:37 +0000</pubDate> <dc:creator>Matt Pilott</dc:creator> <category><![CDATA[HTML/CSS]]></category> <category><![CDATA[foundation]]></category> <category><![CDATA[framework]]></category> <guid isPermaLink="false">http://webdesign.tutsplus.com/?p=12446</guid> <description>&lt;a
href='http://rss.buysellads.com/click.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=12446&amp;c=2131189466' target='_blank'&gt;&lt;img
src='http://rss.buysellads.com/img.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=12446&amp;c=2131189466' border='0' alt='' /&gt;&lt;/a&gt;&lt;p&gt;One of the most important aspects of a front-end framework is how it handles navigation. In this part of Foundation for Beginners, we&amp;#8217;ll take a look at several forms of navigation, along with some JavaScript tools which add extra flourish. I’ll also introduce you to another helpful tool which will help you to become a better Foundation developer.&lt;/p&gt;&lt;p&gt;&lt;span
id="more-12446"&gt;&lt;/span&gt;&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;The Section Plugin&lt;/h2&gt;&lt;p&gt;One of Foundation&amp;#8217;s best JavaScript offerings comes in the form of &lt;a
rel="external" href="http://foundation.zurb.com/docs/components/section.html"&gt;Section&lt;/a&gt;; a plugin for building several forms of navigation, such as accordions, tabs, vertical and horizontal navigation.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;a
rel="external" href="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/foundation-3-section-1.png"&gt;&lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/foundation-3-section-1.png" alt="foundation-3-section-1" width="600" height="250" class="alignnone size-full wp-image-12756" /&gt;&lt;/a&gt;&lt;br
/&gt; &lt;/figure&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/foundation-3-section.png" alt="foundation-3-section" width="600" height="410" class="alignnone size-full wp-image-12757" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;Here&amp;#8217;s some example markup:&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;&amp;lt;div class=&amp;quot;section-container auto&amp;quot; data-section&amp;gt;
  &amp;lt;section&amp;gt;
    &amp;lt;p class=&amp;quot;title&amp;quot; data-section-title&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Section 1&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
    &amp;lt;div class=&amp;quot;content&amp;quot; data-section-content&amp;gt;
      &amp;lt;p&amp;gt;Content of section 1.&amp;lt;/p&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/section&amp;gt;
  &amp;lt;section&amp;gt;
    &amp;lt;p class=&amp;quot;title&amp;quot; data-section-title&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Section 2&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
    &amp;lt;div class=&amp;quot;content&amp;quot; data-section-content&amp;gt;
      &amp;lt;p&amp;gt;Content of section 2.&amp;lt;/p&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/section&amp;gt;
&amp;lt;/div&amp;gt;&lt;/pre&gt;&lt;p&gt;This may look a bit more complex than what we&amp;#8217;ve previously covered, so let me break it down for you.&lt;/p&gt;&lt;p&gt;Any section you create, no matter whether it&amp;#8217;s an accordion, or tabs, or even a nav bar, starts with a div using the &lt;code&gt;section-container&lt;/code&gt; class followed by the &lt;code&gt;auto&lt;/code&gt; class. On that same div add an empty &lt;code&gt;data-section&lt;/code&gt; attribute. This attribute dictates what kind of section we&amp;#8217;re dealing with, by default Foundation assumes we want an accordion. To use a particular type of section, simply change the &lt;code&gt;auto&lt;/code&gt; class to &lt;code&gt;tabs&lt;/code&gt;, &lt;code&gt;accordion&lt;/code&gt;, &lt;code&gt;vertical-nav&lt;/code&gt; or &lt;code&gt;horizontal-nav&lt;/code&gt;. Finally, add that very same class as the &lt;code&gt;data-section&lt;/code&gt; attribute&amp;#8217;s value. This will ensure you are displaying the correct type of section for your needs.&lt;/p&gt;&lt;p&gt;Once the wrapper has been setup, we can add some content. For every section in your wrapper you will need a title and to link that title to the content:&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;&amp;lt;section&amp;gt;
    &amp;lt;p class=&amp;quot;title&amp;quot; data-section-title&amp;gt;&amp;lt;a href=&amp;quot;#panel1&amp;quot;&amp;gt;Section 1&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
    &amp;lt;div class=&amp;quot;content&amp;quot; data-section-content&amp;gt;
      &amp;lt;p&amp;gt;Content of section 1.&amp;lt;/p&amp;gt;
    &amp;lt;/div&amp;gt;
&amp;lt;/section&amp;gt;&lt;/pre&gt;&lt;p&gt;We can see here that each section is wrapped in a &lt;code&gt;&amp;lt;section&gt;&lt;/code&gt; tag (which makes things easy, although you could use a div). Inside each of these sections we have a &lt;code&gt;&amp;lt;p&gt;&lt;/code&gt; tag with a class of &lt;code&gt;title&lt;/code&gt; which encloses the link to the corresponding section. Below the paragraph tag is the div which holds the content for the section; this has a class of &lt;code&gt;content&lt;/code&gt;. Duplicating the code above will create each of your sections inside your section wrapper.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Adding the &lt;code&gt;vertical-nav&lt;/code&gt; class will display a vertical navigation on large screens, but will switch to an accordion when on small screens. Adding &lt;code&gt;horizontal-nav&lt;/code&gt; will evoke the same behavior.&lt;/p&gt;&lt;h3&gt;Deep Linking&lt;/h3&gt;&lt;p&gt;Let’s say you want to link to the second section of your section wrapper, but when you open the page it shows the first section by default. Fear not! Foundation has a built in solution in the form of &lt;a
rel="external" href="http://en.wikipedia.org/wiki/Deep_linking"&gt;Deep Linking&lt;/a&gt;. To get this to work we need to add a new attribute to our wrapper: &lt;code&gt;data-options=”deep_linking:true”&lt;/code&gt;. This tells Foundation that when a user visits a url with a &lt;a
rel="external" href="http://en.wikipedia.org/wiki/Fragment_identifier"&gt;fragment identifier&lt;/a&gt; such as this “http://www.website.com/#section3”, it should load the page with that section showing.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/foundation-3-deep-link.png" alt="foundation-3-deep-link" width="600" height="450" class="alignnone size-full wp-image-12755" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;&amp;lt;div class=&amp;quot;section-container auto&amp;quot; data-section data-options=&amp;quot;deep_linking: true&amp;quot;&amp;gt;
  &amp;lt;section&amp;gt;
    &amp;lt;p class=&amp;quot;title&amp;quot; data-section-title&amp;gt;&amp;lt;a href=&amp;quot;#section1&amp;quot;&amp;gt;Section 1&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
    &amp;lt;div class=&amp;quot;content&amp;quot; data-slug=&amp;quot;section1&amp;quot; data-section-content&amp;gt;
      &amp;lt;p&amp;gt;Content of section 1.&amp;lt;/p&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/section&amp;gt;
  &amp;lt;section&amp;gt;
    &amp;lt;p class=&amp;quot;title&amp;quot; data-section-title&amp;gt;&amp;lt;a href=&amp;quot;#section2&amp;quot;&amp;gt;Section 2&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
    &amp;lt;div class=&amp;quot;content&amp;quot; data-slug=&amp;quot;section2&amp;quot; data-section-content&amp;gt;
      &amp;lt;p&amp;gt;Content of section 2.&amp;lt;/p&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/section&amp;gt;
&amp;lt;/div&amp;gt;&lt;/pre&gt;&lt;p&gt;As you can see, we have added the deep linking data option and also added the &lt;code&gt;data-slug&lt;/code&gt; attribute to the content div. This data slug instructs Foundation which section to display on page load.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Side Nav&lt;/h2&gt;&lt;p&gt;Foundation&amp;#8217;s Side Nav (a simple way to display vertical menus) goes hand in hand with sections. The HTML structure is very simple and allows for dividers where necessary. Let’s look at the markup.&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;&amp;lt;ul class=&amp;quot;side-nav&amp;quot;&amp;gt;
  &amp;lt;li class=&amp;quot;active&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Link 1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Link 2&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
  &amp;lt;li class=&amp;quot;divider&amp;quot;&amp;gt;&amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Link 3&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Link 4&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;&lt;/pre&gt;&lt;p&gt;This is a standard unordered list, comprising list items containing links to.. well whatever you want. Adding the &lt;code&gt;side-nav&lt;/code&gt; class to the &lt;code&gt;&amp;lt;ul&gt;&lt;/code&gt; sets everything up, whilst the &lt;code&gt;active&lt;/code&gt; class can be used to show which link is currently in use. If you need to divide up your list items, add an empty list item with a class of &lt;code&gt;divider&lt;/code&gt;. Easy.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/foundation-3-4.jpg" alt="foundation-3-4" width="600" height="300" class="alignnone size-full wp-image-12450" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;hr
/&gt;&lt;h2&gt;Sub Nav&lt;/h2&gt;&lt;p&gt;Foundation&amp;#8217;s Sub Nav tends to be used for things such as filtering content. The markup is as straight-forward as Side Nav, but differs in that it uses a &lt;a
rel="external" href="http://hub.tutsplus.com/articles/community-project-style-a-description-list--webdesign-8735"&gt;description list&lt;/a&gt; instead of an unordered list. This gives you the option of using a &lt;strong&gt;term&lt;/strong&gt; along with your &lt;strong&gt;description&lt;/strong&gt; tags which hold your links. There are no dividers in the Sub Nav but you can still make use of the &lt;code&gt;active&lt;/code&gt; class. Here’s the markup:&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;&amp;lt;dl class=&amp;quot;sub-nav&amp;quot;&amp;gt;
  &amp;lt;dt&amp;gt;Filter:&amp;lt;/dt&amp;gt;
  &amp;lt;dd class=&amp;quot;active&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;All&amp;lt;/a&amp;gt;&amp;lt;/dd&amp;gt;
  &amp;lt;dd&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Photos&amp;lt;/a&amp;gt;&amp;lt;/dd&amp;gt;
  &amp;lt;dd&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Videos&amp;lt;/a&amp;gt;&amp;lt;/dd&amp;gt;
  &amp;lt;dd&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Music&amp;lt;/a&amp;gt;&amp;lt;/dd&amp;gt;
&amp;lt;/dl&amp;gt;&lt;/pre&gt;&lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/foundation-3-5.jpg" alt="foundation-3-5" width="600" height="300" class="alignnone size-full wp-image-12451" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;hr
/&gt;&lt;h2&gt;Pagination&lt;/h2&gt;&lt;p&gt;&lt;a
rel="external" href="http://foundation.zurb.com/docs/components/pagination.html"&gt;Pagination&lt;/a&gt; is also a form of navigation; in fact, pagination should really be contained within a &lt;code&gt;&amp;lt;nav&gt;&lt;/code&gt; element. Let&amp;#8217;s have a look at the markup of some pagination links in Foundation:&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;&amp;lt;ul class=&amp;quot;pagination&amp;quot;&amp;gt;
  &amp;lt;li class=&amp;quot;arrow unavailable&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;&amp;quot;&amp;gt;&amp;amp;laquo;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
  &amp;lt;li class=&amp;quot;current&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;&amp;quot;&amp;gt;1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;&amp;quot;&amp;gt;2&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;&amp;quot;&amp;gt;3&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;&amp;quot;&amp;gt;4&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
  &amp;lt;li class=&amp;quot;unavailable&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;&amp;quot;&amp;gt;&amp;amp;hellip;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;&amp;quot;&amp;gt;12&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;&amp;quot;&amp;gt;13&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
  &amp;lt;li class=&amp;quot;arrow&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;&amp;quot;&amp;gt;&amp;amp;raquo;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&lt;/pre&gt;&lt;p&gt;Kicking your list items off should be an arrow, which requires the class &lt;code&gt;arrow&lt;/code&gt;. You may want to use either &lt;code&gt;&amp;amp;laquo;&lt;/code&gt; or &lt;code&gt;&amp;amp;lsaquo;&lt;/code&gt; or maybe even &lt;code&gt;&amp;amp;larr;&lt;/code&gt;. Take a look at &lt;a
rel="external" href="http://unicode-table.com/en/search/?q=arrow"&gt;unicode-table.com&lt;/a&gt; for more examples you could use.&lt;/p&gt;&lt;p&gt;The Pagination navigation type allows us to state classes &lt;code&gt;unavailable&lt;/code&gt; and &lt;code&gt;current&lt;/code&gt;, with the latter being very similar to the active class that we went over previously. You may also want to add an arrow to your last list item, this time using either &lt;code&gt;&amp;amp;raquo;&lt;/code&gt; or &lt;code&gt;&amp;amp;rsaquo;&lt;/code&gt;, or maybe even &lt;code&gt;&amp;amp;rarr;&lt;/code&gt;.&lt;/p&gt;&lt;p&gt;As this is simple markup adding it to a content management system such as WordPress is fairly easy.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/foundation-3-pagination.png" alt="foundation-3-pagination" width="600" height="250" class="alignnone size-full wp-image-12761" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;&lt;strong&gt;Bonus:&lt;/strong&gt; You could center the Pagination by wrapping the ul tag in a nav with the &lt;code&gt;pagination-centered&lt;/code&gt; class. As with all Foundation elements, pagination is responsive and easy to style.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Useful Tool&lt;/h2&gt;&lt;p&gt;Using a responsive framework such as Foundation is a rapid way to get your project looking great on all devices, but testing is still a chore. To ease that pain I&amp;#8217;ve create a tool called &lt;a
rel="external" href="http://respondr.webhoard.net"&gt;Respondr&lt;/a&gt;, allowing you to add a url to a smartphone, tablet and desktop giving you the chance to catch any issues quickly and easily.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/foundation-3-7.jpg" alt="foundation-3-7" width="600" height="300" class="alignnone size-full wp-image-12453" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;hr
/&gt;&lt;h2&gt;Coming up Next&lt;/h2&gt;&lt;p&gt;So far we&amp;#8217;ve covered the grid system, block grids, the Orbit slider plugin, the section plugin and three types of navigation. Next time we’ll focus on the Top Bar plugin, breadcrumbs and yet another useful tool.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/webdesigntutsplus/~4/3AuAo8O3pUM" height="1" width="1"/&gt;</description> <wfw:commentRss>http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/foundation-for-beginners-navigation/feed/</wfw:commentRss> <slash:comments>10</slash:comments> <feedburner:origLink>http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/foundation-for-beginners-navigation/</feedburner:origLink></item> <item><title>Foundation for Beginners: The Grid System</title><link>http://feedproxy.google.com/~r/webdesigntutsplus/~3/satJcMgeE20/</link> <comments>http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/foundation-for-beginners-the-grid-system/#comments</comments> <pubDate>Wed, 05 Jun 2013 19:33:41 +0000</pubDate> <dc:creator>Matt Pilott</dc:creator> <category><![CDATA[HTML/CSS]]></category> <category><![CDATA[foundation]]></category> <category><![CDATA[framework]]></category> <category><![CDATA[responsive]]></category> <guid isPermaLink="false">http://webdesign.tutsplus.com/?p=12438</guid> <description>&lt;a
href='http://rss.buysellads.com/click.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=12438&amp;c=591209661' target='_blank'&gt;&lt;img
src='http://rss.buysellads.com/img.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=12438&amp;c=591209661' border='0' alt='' /&gt;&lt;/a&gt;&lt;p&gt;In the &lt;a
href="http://hub.tutsplus.com/tutorials/foundation-for-beginners-getting-started--webdesign-12431"&gt;opening part&lt;/a&gt; of this session on the Foundation Framework, we took a look at how you could make use of this framework, what it can do and how you can fashion a custom build. In this part we’ll look in detail at the grid system, demonstrating some examples as we go. We’ll also shake things up a bit and take a look at the &lt;a
href="http://zurb.com/playground/orbit-jquery-image-slider"&gt;Orbit JavaScript Slider plugin&lt;/a&gt;; a great slider for displaying all sorts of content.&lt;/p&gt;&lt;p&gt;&lt;span
id="more-12438"&gt;&lt;/span&gt;&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/foundation-2-1.png" alt="foundation-2-1" width="600" height="300" class="alignnone size-full wp-image-12439" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;hr
/&gt;&lt;h2&gt;The Grid System&lt;/h2&gt;&lt;blockquote
class="pullquote"&gt;&lt;p&gt;We only use one major breakpoint for the grid in Foundation to shift layouts for screens above 768px wide.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Foundation is a modern framework favoring the &lt;a
href="http://www.abookapart.com/products/mobile-first"&gt;mobile first&lt;/a&gt; approach. This means that the bare minimum code and assets are loaded first to aid page render speed. As with most modern frameworks, Foundation is fully responsive. Unlike most, it makes use of just one break point for structural change. The break point defines the viewport width at which the large grid is put into action, this happens at 768px.&lt;/p&gt;&lt;p&gt;The grid system itself actually has three parts; the desktop grid, the mobile grid and the block grid. As foundation is mobile first, let&amp;#8217;s begin with the mobile grid.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;The Small Grid&lt;/h2&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/foundation-2-2.png" alt="foundation-2-2" width="600" height="300" class="alignnone size-full wp-image-12440" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;&amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;
	&amp;lt;div class=&amp;quot;small-12 columns&amp;quot;&amp;gt;
		&amp;lt;h2&amp;gt;This is Foundation&amp;lt;/h2&amp;gt;
	&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;&lt;/pre&gt;&lt;p&gt;The code above is built up of three important classes; the first being the “row” class which holds our columns, much in the same way as a row in a spreadsheet holds columns of cells. In this demo we&amp;#8217;re using a twelve column grid, so &lt;code&gt;twelve&lt;/code&gt; is the maximum number of columns we can have within one row. Saying that, if you need more, Foundation supports up to sixteen columns which you can select in the custom build form.&lt;/p&gt;&lt;p&gt;The class that defines the columns here is &lt;code&gt;small-12&lt;/code&gt;, changing the number in this class defines the width of said column. Using “small-12” on its own however only defines the width. In order to actually create a column, we need to pair it with the “columns” class. These three classes are the basis for the grid system.&lt;/p&gt;&lt;p&gt;Quite simply, the above markup dictates that there’s a row, with a div which is going to take up twelve columns worth of space (100% of the width). Inside the twelve columns is our content. Let&amp;#8217;s take a look at a slightly more complex version.&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;&amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;
	&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt;
		&amp;lt;h2&amp;gt;This is a sidebar&amp;lt;/h2&amp;gt;
	&amp;lt;/div&amp;gt;
	&amp;lt;div class=&amp;quot;small-8 columns&amp;quot;&amp;gt;
		&amp;lt;h2&amp;gt;This is the content area&amp;lt;/h2&amp;gt;
	&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;&lt;/pre&gt;&lt;p&gt;In this code we can see that there are two divs with the “columns” class. Each is coupled with a class (such as “small-4”) to dictate the specific size. Foundation then lines these columns up next to each other as opposed to on top of each other, as they would in normal HTML document flow. Our two columns occupy four columns&amp;#8217; width and eight columns respectively. The two total a full widht of twelve columns; “small-4” being around 33.3% and “small-8” being approximately 66.6% of the body width.&lt;/p&gt;&lt;p&gt;What’s important to realize here is that these divs are almost infinitely nestable. This offers great flexibility, for instance:&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;&amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;
	&amp;lt;div class=&amp;quot;small-4 columns&amp;quot;&amp;gt;
		&amp;lt;h2&amp;gt;This is a sidebar&amp;lt;/h2&amp;gt;
		&amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;
			&amp;lt;div class=&amp;quot;small-1 columns&amp;quot;&amp;gt;
				&amp;lt;h6&amp;gt;#1&amp;lt;/h6&amp;gt;
			&amp;lt;/div&amp;gt;
			&amp;lt;div class=&amp;quot;small-9 columns&amp;quot;&amp;gt;
				&amp;lt;p&amp;gt;A post title&amp;lt;/p&amp;gt;
			&amp;lt;/div&amp;gt;
			&amp;lt;div class=&amp;quot;small-2 columns&amp;quot;&amp;gt;
				&amp;lt;button&amp;gt;Go&amp;lt;/button&amp;gt;
			&amp;lt;/div&amp;gt;
		&amp;lt;/div&amp;gt;
	&amp;lt;/div&amp;gt;
	&amp;lt;div class=&amp;quot;small-8 columns&amp;quot;&amp;gt;
		&amp;lt;h2&amp;gt;This is the content area&amp;lt;/h2&amp;gt;
	&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;&lt;/pre&gt;&lt;p&gt;You can see that we have added in some content to the sidebar using a row, in a column, in a row, this time making use of three columns of varying sizes. Great stuff eh? Well it’s probably time to throw in some big-screen code to take full advantage of the grid system.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;The Large Grid&lt;/h2&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/foundation-2-3.png" alt="foundation-2-3" width="600" height="300" class="alignnone size-full wp-image-12441" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;&amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;
	&amp;lt;div class=&amp;quot;small-4 large-3 columns&amp;quot;&amp;gt;
		&amp;lt;h2&amp;gt;This is a sidebar&amp;lt;/h2&amp;gt;
	&amp;lt;/div&amp;gt;
	&amp;lt;div class=&amp;quot;small-8 large-9 columns&amp;quot;&amp;gt;
		&amp;lt;h2&amp;gt;This is the content area&amp;lt;/h2&amp;gt;
	&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;&lt;/pre&gt;&lt;p&gt;Here we have added one extra class to each of our columns &lt;code&gt;large-3&lt;/code&gt; and &lt;code&gt;large-9&lt;/code&gt;. This tells Foundation that when the site is viewed on a larger screen it should change the width of the sidebar from the &lt;code&gt;small-4&lt;/code&gt; with of 33.3% to &lt;code&gt;large-3&lt;/code&gt; which equates to around 25% of the body width. Our main area is thus able to grow, giving more room for content. This is a simplistic example but becomes very useful when it comes to re-arranging your layout for different screen sizes.&lt;/p&gt;&lt;p&gt;Whilst we are looking at the grid system it’s worth mentioning that by using &lt;code&gt;large-centered&lt;/code&gt; and &lt;code&gt;small-centered&lt;/code&gt; you can center a column quickly and easily, although you can only do this if there is one column in the row. You can also manipulate the order of elements using the &lt;code&gt;push&lt;/code&gt; and &lt;code&gt;pull&lt;/code&gt; classes.&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;&amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;
	&amp;lt;div class=&amp;quot;small-3 push-9 columns&amp;quot;&amp;gt;3&amp;lt;/div&amp;gt;
	&amp;lt;div class=&amp;quot;small-9 pull-3 columns&amp;quot;&amp;gt;9, last&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;&lt;/pre&gt;&lt;p&gt;This takes the second div, which would typically be displayed &lt;em&gt;after&lt;/em&gt; the first, and pulls it to the front whilst pushing the first to show up afterwards. You can therefore have a list on the left and content on the right on large displays, but push it below on small displays.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;The Block Grid&lt;/h2&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/foundation-2-4.png" alt="foundation-2-4" width="600" height="300" class="alignnone size-full wp-image-12442" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;Having covered the ins and outs of the grid systems, we can look at the block grid which is used to keep list elements evenly spaced, no matter what the screen size. These are ideal for blocked-in content (such as that generated by an application) as they don’t require rows or even columns to display correctly. If your layout is intended to be the same on desktop as well as mobile then you only need use the &lt;code&gt;small-block-grid-#&lt;/code&gt; classes.&lt;/p&gt;&lt;p&gt;This is also the case for the grids we previously spoke about. Instead of using &lt;code&gt;small-12&lt;/code&gt; and &lt;code&gt;large-12&lt;/code&gt; you would only need &lt;code&gt;small-12&lt;/code&gt;. Easy.&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;&amp;lt;ul class=&amp;quot;small-block-grid-2 large-block-grid-4&amp;quot;&amp;gt;
	&amp;lt;li&amp;gt;&amp;lt;img src=&amp;quot;../img/photo1.png&amp;quot;&amp;gt;&amp;lt;/li&amp;gt;
	&amp;lt;li&amp;gt;&amp;lt;img src=&amp;quot;../img/photo2.png&amp;quot;&amp;gt;&amp;lt;/li&amp;gt;
	&amp;lt;li&amp;gt;&amp;lt;img src=&amp;quot;../img/photo3.png&amp;quot;&amp;gt;&amp;lt;/li&amp;gt;
	&amp;lt;li&amp;gt;&amp;lt;img src=&amp;quot;../img/photo4.png&amp;quot;&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;&lt;/pre&gt;&lt;p&gt;That concludes the grid systems that Foundation has to offer in their basic forms. Remember, the small grid will change to the large grid once the screen width hits the main break point. Use the small grid to target smaller devices and the large for what are typically desktops and larger screens.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;The Orbit Plugin&lt;/h2&gt;&lt;p&gt;We&amp;#8217;re going to shake things up a little now, by introducing one of Foundation&amp;#8217;s many useful plugins; Orbit.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/foundation-2-5.png" alt="foundation-2-5" width="600" height="300" class="alignnone size-full wp-image-12443" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;This handy plugin can be used as a slider, allowing you to slide in images, video or regular HTML content. With simple markup it’s easy to get to grips with and is a real eye-pleaser when used properly.&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;&amp;lt;ul data-orbit&amp;gt;
	&amp;lt;li&amp;gt;
		&amp;lt;img src=&amp;quot;../img/demos/demo1.jpg&amp;quot; /&amp;gt;
		&amp;lt;div class=&amp;quot;orbit-caption&amp;quot;&amp;gt;...&amp;lt;/div&amp;gt;
	&amp;lt;/li&amp;gt;
	&amp;lt;li&amp;gt;
		&amp;lt;img src=&amp;quot;../img/demos/demo2.jpg&amp;quot; /&amp;gt;
		&amp;lt;div class=&amp;quot;orbit-caption&amp;quot;&amp;gt;...&amp;lt;/div&amp;gt;
	&amp;lt;/li&amp;gt;
	&amp;lt;li&amp;gt;
		&amp;lt;img src=&amp;quot;../img/demos/demo3.jpg&amp;quot; /&amp;gt;
		&amp;lt;div class=&amp;quot;orbit-caption&amp;quot;&amp;gt;...&amp;lt;/div&amp;gt;
	&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;&lt;/pre&gt;&lt;p&gt;Orbit uses a list structure; each list item being displayed as a slide. Here, along with regular image tags, our list items contain a div with the class &lt;code&gt;orbit-caption&lt;/code&gt; allowing us to place a caption on each image. Orbit takes this code and adds some more markup to get things working. It also includes a bunch of options for displaying pagination, controls and even a timer.&lt;/p&gt;&lt;p&gt;Take a look at some examples of parameters you can change in Orbit:&lt;/p&gt;&lt;pre class="brush: jscript; title: ; notranslate"&gt;
  timer_speed: 10000,
  animation_speed: 500,
  bullets: true,
  stack_on_small: true
&lt;/pre&gt;&lt;p&gt;These include speeds, bullet pagination and the option to stack on small screens. It’s important to note that these are passed on initialization, so you would need to take your standard &lt;code&gt;$(document).foundation();&lt;/code&gt;, found at the bottom of the index.html included in the download:&lt;/p&gt;&lt;pre class="brush: jscript; title: ; notranslate"&gt;
  &amp;lt;script&amp;gt;
    $(document).foundation();
  &amp;lt;/script&amp;gt;
&lt;/pre&gt;&lt;p&gt;then pass in the orbit options.&lt;/p&gt;&lt;pre class="brush: jscript; title: ; notranslate"&gt;
&amp;lt;script&amp;gt;
$(document).foundation('orbit', {
  timer_speed: 10000,
  animation_speed: 500,
  bullets: true,
  stack_on_small: true
});
&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;p&gt;As well as the options shown here you can add classes to all the elements produced by the plugin. These extra options (and more) can be found in the &lt;a
href="http://foundation.zurb.com/docs/components/orbit.html"&gt;Foundation docs&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Your Foundation download will include all the JavaScript bits and pieces you chose, compiled into one minified file. This is referenced at the bottom of the index.html, but you can also opt to uncomment individual JavaScript files if you prefer:&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;
  &amp;lt;script src=&amp;quot;js/foundation.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
  &amp;lt;!--
  &amp;lt;script src=&amp;quot;js/foundation/foundation.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
  &amp;lt;script src=&amp;quot;js/foundation/foundation.dropdown.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
  &amp;lt;script src=&amp;quot;js/foundation/foundation.placeholder.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
  &amp;lt;script src=&amp;quot;js/foundation/foundation.forms.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
  &amp;lt;script src=&amp;quot;js/foundation/foundation.orbit.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
  --&amp;gt;
&lt;/pre&gt;&lt;hr
/&gt;&lt;h3&gt;Useful Tool&lt;/h3&gt;&lt;p&gt;Want to play around with Foundation right now without downloading it? Or perhaps you want a clean environment to test new ideas? Then check out &lt;a
href="http://jsfiddle.net/matt3224/CA669/"&gt;this handy jsfiddle.&lt;/a&gt; It uses the latest build of Foundation and includes all of the components.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Coming Up Next&lt;/h2&gt;&lt;p&gt;In this part of the Foundation guide we covered the grid systems and briefly spoke about the Orbit plugin. In the next installment we&amp;#8217;ll look at navigation and the section plugin, along with another useful tool..&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/webdesigntutsplus/~4/satJcMgeE20" height="1" width="1"/&gt;</description> <wfw:commentRss>http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/foundation-for-beginners-the-grid-system/feed/</wfw:commentRss> <slash:comments>14</slash:comments> <feedburner:origLink>http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/foundation-for-beginners-the-grid-system/</feedburner:origLink></item> <item><title>Foundation for Beginners: Getting Started</title><link>http://feedproxy.google.com/~r/webdesigntutsplus/~3/4cMf0kcX3hQ/</link> <comments>http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/foundation-for-beginners-getting-started/#comments</comments> <pubDate>Wed, 05 Jun 2013 14:23:02 +0000</pubDate> <dc:creator>Matt Pilott</dc:creator> <category><![CDATA[HTML/CSS]]></category> <category><![CDATA[foundation]]></category> <category><![CDATA[framework]]></category> <guid isPermaLink="false">http://webdesign.tutsplus.com/?p=12431</guid> <description>&lt;a
href='http://rss.buysellads.com/click.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=12431&amp;c=426311432' target='_blank'&gt;&lt;img
src='http://rss.buysellads.com/img.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=12431&amp;c=426311432' border='0' alt='' /&gt;&lt;/a&gt;&lt;p&gt;For many web folk, developing a project from scratch every time is part of the job; it&amp;#8217;s often tricky to build up a reusable codebase when each project is different. More experienced developers may have taken the time to build up some form of front-end framework, but doing this properly can be a serious undertaking, not to mention the need to keep things up–to-date and inline with best practices.&lt;/p&gt;&lt;p&gt;Looking at the wants and needs of the every-coder it&amp;#8217;s clear that developers want something that&amp;#8217;s open source, stable, flexible and (most importantly) well documented. Depending on the size of the project a CSS grid system maybe enough, but wouldn&amp;#8217;t it be great if you had the option to add and remove functionality as you saw fit? Well, in this session we’ll be looking at a customisable front-end framework called &lt;a
href="http://foundation.zurb.com/"&gt;Foundation&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;span
id="more-12431"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Covering a framework like Foundation needs to be done properly and in detail, so over the next few weeks I’ll be covering everything from getting started, custom builds, through to the ins-and-outs of the cogs which power this particular framework. Most importantly I&amp;#8217;ll illustrate how it could benefit you in your future web endeavours.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/foundation-1-hand.png" alt="foundation-1-hand" width="600" height="400" class="alignnone size-full wp-image-12720" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;hr
/&gt;&lt;h2&gt;What is Foundation?&lt;/h2&gt;&lt;p&gt;Foundation is a front-end framework consisting of many tools useful for making responsive, mobile first websites. Primarily built with HTML, CSS and jQuery, Foundation uses modern technologies and practices, but gracefully degrades as far back as IE8. Although the framework is most commonly used by HTML and CSS developers, you have the option of taking things further using Foundation in conjunction with &lt;a
href="http://foundation.zurb.com/docs/sass.html"&gt;Sass&lt;/a&gt; and &lt;a
href="http://foundation.zurb.com/docs/rails.html"&gt;Rails&lt;/a&gt;.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/foundation-1-2.jpg" alt="foundation-1-2" width="600" height="356" class="alignnone size-full wp-image-12433" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;The company behind Foundation, &lt;a
href="http://zurb.com/"&gt;ZURB&lt;/a&gt;, have created a tightly regimented toolset for developers and designers. Every module has its part to play in the framework as a whole, but at the same time can work completely independently of central leadership. What this means then, is that you can mix and match features in your current project, or take a single feature and add it into an older project. You can even add it as a feature to a different framework.&lt;/p&gt;&lt;p&gt;So in summary, this is a modern framework which has been well built and which caters for a wide variety of users. It offers a good set of features, it&amp;#8217;s free, and there is a growing community of people to help you out if you do get stuck.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Why Should You Use Foundation?&lt;/h2&gt;&lt;p&gt;Nowadays it&amp;#8217;s commonplace for developers to make use of frameworks (why reinvent the wheel?) Often though, many of these frameworks have become bloated from the creators trying to cover every eventuality on an adhoc basis. What once may have started life as a slick, lightweight tool, can grow into a hundred http requests and a choir to disassemble depending on your needs.&lt;/p&gt;&lt;p&gt;Foundation includes a range of functions and features. It&amp;#8217;s built on a percentage-based fluid grid system, comes packaged with a jQuery slider, a lightbox plugin, has all imaginable HTML elements pleasantly styled and is built with mobile-first in mind. You can create custom forms which use jQuery to re-envision tricky input elements, dropdowns and checkboxes, meaning you can style these easily. The framework also has options for setting out custom mobile layouts by using the mobile grid, giving the flexibility to really personalize your project for mobile and desktop users.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/foundation-1-mobile.png" alt="foundation-1-mobile" width="600" height="200" class="alignnone size-full wp-image-12731" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;Zurb have rebuilt a lot of core functionality in version 4 to cover fairly wide usage cases. The code appears to have been kept clean and commented where it needs to be. Adding and removing functions is straight-forward and allows tailoring of your build to match your requirements.&lt;/p&gt;&lt;p&gt;Users running version 3 are also able to follow &lt;a
href="http://foundation.zurb.com/migration.php"&gt;a migration document&lt;/a&gt; to upgrade their existing installs, or, if they would like, can continue using version 3 as ZURB host the previous version for those that aren&amp;#8217;t ready to make the jump to v4.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Downloading a Custom Build&lt;/h2&gt;&lt;p&gt;Zurb have a download page which allows you to tweak a pre-filled form to generate a custom build perfect for your requirements. Let&amp;#8217;s say you only want a CSS grid? Done. Just uncheck everything except &amp;#8220;grid&amp;#8221; and type in your project measurements. Perhaps you want basic UI elements? Done. Once again just check the UI elements you require, such as labels and buttons, and that&amp;#8217;s exactly what you’ll get. You can even grab everything they offer (referred to as &lt;a
href="http://foundation.zurb.com/docs/components/kitchen-sink.html"&gt;their kitchen sink&lt;/a&gt;) in just one click. It allows for custom default CSS colours and even key sizes such as max-width.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/foundation-1-custom.png" alt="foundation-1-custom" width="600" height="400" class="alignnone size-full wp-image-12727" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;Although this is handy, it&amp;#8217;s still just a form and I feel it could be improved upon. Ideally, I’d like to see a staged process with perhaps some visual representation of the HTML template. Also, as v4 uses em as its measurement unit and &lt;a
href="http://hub.tutsplus.com/articles/taking-the-erm-out-of-ems--webdesign-12321"&gt;em is based on the main font-size&lt;/a&gt; it would seem intuitive to include a px-to-em calculator, just to make it that little bit easier.&lt;/p&gt;&lt;p&gt;Head on over to &lt;a
href="http://foundation.zurb.com"&gt;http://foundation.zurb.com&lt;/a&gt; and click the big download button. You&amp;#8217;ll be presented with many options to customize your framework. Uncheck any features you don’t need, put in your primary, secondary, alert, success and font colors. Combine this with breakpoint widths, max widths, gutters and even a choice of how many columns you want.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;a
href="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/foundation-1-homepage.png"&gt;&lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/foundation-1-homepage.png" alt="foundation-1-homepage" width="600" height="400" class="alignnone size-full wp-image-12724" /&gt;&lt;/a&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;After looking at the key benefits that Foundation offers and running through the custom build download, you should have a personalized build sitting in your downloads folder. Play around with it, try things out and if you get stuck take a look at the &lt;a
href="http://foundation.zurb.com/docs"&gt;docs&lt;/a&gt; or throw your questions into the comment thread below.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Coming up Next&lt;/h2&gt;&lt;p&gt;In the next part of this session we’ll be using the grid system, diving into the navigation, tabs, buttons and a few other key UI elements. We&amp;#8217;ll also talk about some tools which can further aid your development when using Foundation as a basis for your projects.&lt;/p&gt;&lt;h3&gt;Linkage..&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a
href="http://foundation.zurb.com/"&gt;Foundation 4&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a
href="https://twitter.com/foundationzurb"&gt;@foundationzurb&lt;/a&gt; on Twitter&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/webdesigntutsplus/~4/4cMf0kcX3hQ" height="1" width="1"/&gt;</description> <wfw:commentRss>http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/foundation-for-beginners-getting-started/feed/</wfw:commentRss> <slash:comments>15</slash:comments> <feedburner:origLink>http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/foundation-for-beginners-getting-started/</feedburner:origLink></item> <item><title>Become a Better, Faster Front-End Developer</title><link>http://feedproxy.google.com/~r/webdesigntutsplus/~3/gCMCFac-ROE/</link> <comments>http://webdesign.tutsplus.com/articles/general/become-a-better-faster-front-end-developer/#comments</comments> <pubDate>Mon, 03 Jun 2013 16:15:11 +0000</pubDate> <dc:creator>Jonathan Cutrell</dc:creator> <category><![CDATA[General]]></category> <guid isPermaLink="false">http://webdesign.tutsplus.com/?p=12695</guid> <description>&lt;a
href='http://rss.buysellads.com/click.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=12695&amp;c=851469968' target='_blank'&gt;&lt;img
src='http://rss.buysellads.com/img.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=12695&amp;c=851469968' border='0' alt='' /&gt;&lt;/a&gt;&lt;p&gt;So you&amp;#39;re a pretty great web developer already.&lt;/p&gt;&lt;p&gt;You&amp;#39;ve got some killer CSS chops (cross browser even), perhaps you&amp;#39;ve been a Photoshop expert for years, and you&amp;#39;ve got enough jQuery knowledge to make almost any chained animation go smoothly.&lt;/p&gt;&lt;p&gt;But certainly you ask yourself, &lt;strong&gt;what&amp;#39;s next?&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span
id="more-12695"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;In fact, one of the most asked questions about web development is, &amp;quot;how do I stay on the leading edge?&amp;quot; &lt;a
href="http://twitter.com/chriscoyier"&gt;Chris Coyier&lt;/a&gt; recently &lt;a
href="https://speakerdeck.com/chriscoyier/how-to-stay-up-to-date-on-web-technology"&gt;presented a fantastic talk&lt;/a&gt; on the subject, and there are &lt;a
href="http://web-design-weekly.com/"&gt;sites fully dedicated to staying up to date&lt;/a&gt; on the latest web design news. Addy Osmani&amp;#39;s &lt;a
href="http://www.smashingmagazine.com/2012/12/22/talks-to-help-you-become-a-better-front-end-engineer-in-2013/"&gt;roundup on becoming a better front-end engineer&lt;/a&gt; sets some great content out on the board for you to consider on the subject; needless to say, a lot of smart people are thinking about this very subject, so you&amp;#39;re headed in the right direction.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/better-full.png" alt="better-full" width="600" height="300" class="alignnone size-full wp-image-12706" /&gt;&lt;/p&gt; &lt;figcaption&gt;&lt;a
href="http://dribbble.com/shots/702565-Space-Ghost"&gt;Space Ghost&lt;/a&gt; wallpaper, by Mads Frantzen&lt;/figcaption&gt; &lt;/figure&gt;&lt;p&gt;In this article, we will talk about a very important way to set yourself apart and become a better developer: becoming an effective &lt;strong&gt;rapid interaction developer&lt;/strong&gt;.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;What is &amp;quot;Rapid Interaction Development?&amp;quot;&lt;/h2&gt;&lt;p&gt;Rapid interaction development is a term we&amp;#39;re using today to describe the practice of rapidly creating something for the web that a user can interact with, specifically with an intention to quickly iterate and polish the interaction. This is not the same thing as designing flat documents; instead, this includes building something that has one or more &lt;strong&gt;storylines of interaction&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;This may include, for instance, a widget that the user can type into and search, or a dropdown menu that allows a user to select a sub-menu item. These interactive pieces are the building blocks of a larger storyline of the user&amp;#39;s full experience of using a website, and thus they are incredibly important to be able to iterate through and &amp;quot;feel&amp;quot;. When designing a website, these interactions can make or break the user&amp;#39;s experience, and thus could make or break the effectiveness of the site as a whole.&lt;/p&gt;&lt;p&gt;Interactions don&amp;#39;t always have &amp;quot;moving&amp;quot; pieces; in fact, rapid interaction development often relies on content hierarchies and hyperlinks as much as anything else. Interaction development takes into account the full interaction of the human with the computer, incorporating intuitions about the userbase, basic understanding of human factors, and a knowledge of the message and image of the organization or individual represented by the interaction.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Understanding the Value of Rapid Interaction Development&lt;/h2&gt;&lt;p&gt;If I am hiring a front-end web developer (or anyone for that matter), I will be thinking about five primary things.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Does their personality fit my team?&lt;/li&gt;&lt;li&gt;Are they talented?&lt;/li&gt;&lt;li&gt;Are they efficient?&lt;/li&gt;&lt;li&gt;Are they consistent?&lt;/li&gt;&lt;li&gt;Can I pay them properly?&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;These questions are extremely important to any part of the hiring process. The first question is usually decided based off of interaction chemistry &amp;#8211; not something we are going to cover in this article. The fifth is usually decided on a case-by-case basis, and is also something that is outside the scope of this article. However, when answering the other three questions, two primary factors play into the judgement: &lt;em&gt;speed&lt;/em&gt; and &lt;/em&gt;accuracy&lt;/em&gt;. In the case of the web developer, rapid interaction development is a way of proving that you have take the craft of interaction development very seriously.&lt;/p&gt;&lt;p&gt;Rapid interaction development isn&amp;#39;t accidentally fallen upon when a muse strikes (as may be the case with a more art-driven degree). Instead, rapid interaction development is a skill that is honed by the developer. This skill proves efficiency and talent, and gives more confidence in the developers ability to achieve consistency. To be able to rapidly develop interactions, the developer must have the two magic ingredients: &lt;em&gt;speed&lt;/em&gt; and &lt;em&gt;accuracy&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;A disclaimer&lt;/strong&gt;: It may be that someone gets hired because, though they aren&amp;#39;t as talented as another individual, they are extremely consistent and have a great personality. This by no means is a &amp;quot;how to get a job as a developer&amp;quot; guide.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Let&amp;#39;s Get On With It, Shall We?&lt;/h2&gt;&lt;p&gt;With the understanding of the importance of rapid interaction development, we now can understand how you can &lt;em&gt;immediately&lt;/em&gt; begin to hone this skill. Some of these tips take a simple change in mindset, while others take an investment of learning or pattern change. All of these, however, can help you become a better, faster, more valuable web developer.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Optimize Your Patterns&lt;/h2&gt;&lt;p&gt;Have you adopted a CSS framework? If so, then you understand the value of reusable code. You have most likely adopted patterns without realizing it. In order to prove this, ask yourself, &amp;quot;when I start to build a website, what is my first step?&amp;quot; If your answer is &amp;quot;I don&amp;#39;t know&amp;quot;, then it&amp;#39;s time to figure it out. If your answer is &amp;quot;first I open my text editor&amp;quot;, then you&amp;#39;ve adopted at least one step in a pattern.&lt;/p&gt;&lt;p&gt;So, how do you optimize a pattern? These are often called workflows, but that&amp;#39;s not an adequate description, as workflow doesn&amp;#39;t include everything we want to talk about here. Some common tools to help you structure your pattern are CSS and JS &amp;quot;frameworks&amp;quot; like &lt;a
href="http://twitter.github.io/bootstrap/"&gt;Twitter Bootstrap&lt;/a&gt;, &lt;a
href="http://foundation.zurb.com/"&gt;Foundation&lt;/a&gt;, or &lt;a
href="http://topcoat.io/"&gt;Topcoat&lt;/a&gt;..&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/rapid-foundation.png" alt="rapid-foundation" width="600" height="220" class="alignnone size-full wp-image-12700" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;..preprocessing tools like &lt;a
href="http://sass-lang.com"&gt;SASS&lt;/a&gt; or &lt;a
href="http://lesscss.org"&gt;LESS&lt;/a&gt;..&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/rapid-less.png" alt="rapid-less" width="600" height="342" class="alignnone size-full wp-image-12702" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;..perhaps full optimization and processor tools like &lt;a
href="http://incident57.com/codekit/"&gt;CodeKit&lt;/a&gt;..&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/rapid-codekit.png" alt="rapid-codekit" width="600" height="289" class="alignnone size-full wp-image-12698" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;..startup WordPress themes like &lt;a
href="http://themble.com/bones/"&gt;Bones&lt;/a&gt;, and even the option of building customized scripts powered by a command line. If you&amp;#39;re a more advanced JavaScript developer and are looking to move into a new space, you should consider looking at &lt;a
href="http://backbonejs.org"&gt;Backbone&lt;/a&gt;, &lt;a
href="http://emberjs.com/"&gt;Ember&lt;/a&gt;, and other (MVC-oriented JavaScript frameworks)[http://todomvc.com/]; it would also be advised to look into &lt;a
href="http://nodejs.org"&gt;Node&lt;/a&gt;, which empowers server-side JavaScript. It may take you some time, but picking up and learning some of these tools certainly increases productivity in the long run.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Recommendation:&lt;/strong&gt; decide on some kind of HTML boilerplate/reusable &amp;quot;index.html&amp;quot; document and associated file structure that follows commonly accepted conventions, is built with semantic markup, and gives a &amp;quot;blank slate&amp;quot; to work from (think: &lt;a
href="http://h5bp.com"&gt;HTML5 Boilerplate&lt;/a&gt;). Perhaps if you work primarily with WordPress or another tool, you&amp;#39;d want to find a similar boilerplate with base-level functionality for that tool.&lt;/p&gt;&lt;p&gt;If you&amp;#39;re a bit more advanced, &lt;a
href="http://hub.tutsplus.com/tutorials/say-yo-to-yeoman--net-27167"&gt;pick up some Yeoman skills&lt;/a&gt; for fast project scaffolding and wizard-based boilerplate generation. Decide on a CSS and/or JS framework (Bootstrap, Foundation, Topcoat), and &lt;a
href="http://css-tricks.com/musings-on-preprocessing/"&gt;start using a preprocessor for CSS sooner rather than later&lt;/a&gt;. Learning a preprocessor is well worth the time investment, and won&amp;#39;t reduce productivity as LESS and SASS can both handle vanilla CSS. Try building a full wireframe of a basic layout completely with a framework&amp;#39;s built-in classes. You&amp;#39;ll likely be surprised how little code you need to write to make a functional layout happen very quickly. This reduces the overhead of writing repetitive code and also has the added benefit of pulling from much more extensive testing and cross-browser considerations than one person can do on their own.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Work With What you Know; Intentionally Learn What you Don&amp;#39;t.&lt;/h2&gt;&lt;p&gt;It&amp;#39;s absolutely important to adopt a &lt;strong&gt;lifestyle of learning&lt;/strong&gt; as a developer. Adopting new tools and skills like those discussed above is a part of the lifeblood of any successful developer. The technology we are using every day is changing faster than anything else; in order to stay at or above our current place in the industry, it is imperative that we learn continuously.&lt;/p&gt;&lt;p&gt;&lt;em&gt;But&lt;/em&gt; &amp;#8211; it is also as important to understand that &lt;strong&gt;learning new technology will slow you down&lt;/strong&gt; &amp;#8211; at first. For this reason, when you are practicing rapid interaction iteration, you shouldn&amp;#39;t also be learning a new framework. Instead, intentionally take some time out of your week and dedicate it to learning that framework through a pet project, weekend hack night, or by implementing pieces of the new tool in a project that absolutely &lt;em&gt;needs&lt;/em&gt; the new functionalities provided by that solution. This will allow you to maintain your momentum, and solve problems fluently rather than in a stop-go Google and StackOverflow binge. Most importantly, this intentional segregation allows you to focus on what matters: solving design problems instead of code bugs.&lt;/p&gt;&lt;p&gt;As a secondary note, when you are intentionally learning, it also helps to solve problems that already have well-known and well-documented solutions; of course, the world doesn&amp;#39;t need &lt;em&gt;another&lt;/em&gt; simple to-do application. But creating a to-do application may help you understand JavaScript much more, and may help you in the future when you are synthesizing information in order to solve new problems. Building solutions for problems that already have well documented solutions helps you compare and contrast your solution, and makes it easier to search for help when you get stuck. If you are in uncharted territory and trying to learn at the same time, getting lost is much more likely, and will detract from the goal of the learning process.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Adopt Hyperfocused Mini-Sprints&lt;/h2&gt;&lt;p&gt;If you&amp;#39;ve heard the term &amp;quot;agile&amp;quot;, you might have some idea of what a sprint is. Sprints are short, pre-defined work periods where developers decide on a set of goals, and &amp;quot;sprint&amp;quot; to finish those goals within the alotted amount of time. Because we are talking about rapid interaction development, a sprint is well suited to this discussion. Here are the basics.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Define&lt;br
/&gt; Prioritize tasks/goals, define the length of the sprint, remove or add tasks until the estimated amount of time to complete the tasks matches the predefined length of the sprint&lt;/li&gt;&lt;li&gt;Sprint&lt;br
/&gt; This is time where you are &amp;quot;in the zone&amp;quot; &amp;#8211; zero distractions, etc.&lt;/li&gt;&lt;li&gt;Reflect&lt;br
/&gt; Once the sprint is complete, check your progress. Did you meet or exceed your goals? What caused the most hangup?&lt;/li&gt;&lt;li&gt;Adapt&lt;br
/&gt; Learn from what you reflected on, and put systems into place to help avoid the hangups.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;In the traditional agile approach, sprints are based on helping with team collaboration and generally last multiple days or even weeks. Here, we are talking about self-management and hyperfocused mini-sprints. These mini-sprints might even simply focus on a single task or interaction, and its associated goals. The process of defining and prioritizing the task or its subtasks before diving into the work, and subsequently taking time to reflect on the process and adapt your workflow or patterns (remember, it&amp;#39;s important to optimize your patterns) will help you become more objectively aware of your speed and productivity, and will allow you to be more conscious of what could use improvement at a micro-level.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Recommendation&lt;/strong&gt;: define two 3 hour sprints for one day, each with a primary task. The purpose of the sprint (as with a physical sprint) is to drive your brain as hard as you can for those 3 hours. After those 3 hours, you will need a brain break; perhaps this is your lunch break, or maybe you&amp;#39;ve chosen to adopt an &lt;a
href="http://ngokevin.com/blog/5pm/"&gt;alternative schedule&lt;/a&gt; to allow for an uninterrupted hyper-focused block of time (more on that later). Whatever the case, planning these sprints apart from each other will help you recharge your brain. It&amp;#39;s worth trying completely opposite types of activity (like taking a walk or reading fiction) or even a &lt;a
href="http://lifehacker.com/5950732/the-science-of-the-perfect-nap"&gt;nap&lt;/a&gt; &amp;#8211; more on that &lt;a
href="http://www.boston.com/bostonglobe/ideas/naps/"&gt;here&lt;/a&gt;. If you work for an agency, perhaps the break in between is the time you set aside for meetings, administrative tasks, or less taxing development tasks. Some people consider this the best way to work every day, and some may choose to do this kind of &amp;quot;sprint interval training&amp;quot; sporadically; choose what ends up making you the most productive, and increases your interaction development speed.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Temporarily Block Go-To Websites&lt;/h2&gt;&lt;p&gt;If you are like most people, your fingers have muscle memory; when you open a browser, is it instinct to immediately type in Hacker News, Tuts+, or Twitter? What are the sites that cause you to procrastinate?&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;a
href="http://xkcd.com/862/"&gt;&lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/rapid-let_go.png" alt="rapid-let_go" class="alignnone size-full wp-image-12711" /&gt;&lt;/a&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;Hacker News has attacked this problem in a specific way, offering signed-up users the ability to set up a &amp;quot;noprocrastinate&amp;quot; restriction. There are some interesting tools that also offer these kinds of restrictions, but why not do it yourself? On a Mac, run the following commands from terminal:&lt;/p&gt;&lt;pre class="brush: plain; title: ; notranslate"&gt;sudo nano /etc/hosts
# enter your password when it asks for it.
# This will open a file in a terminal-based code editor;
# Don't worry! You won't be doing much in here. Type the following lines.
0.0.0.0 twitter.com
0.0.0.0 facebook.com
# press Ctrl+C (exit), Y (yes I'd like to save), and enter (save as the existing filename)
&lt;/pre&gt;&lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/rapid-console.png" alt="rapid-console"  class="alignnone size-full wp-image-12699" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;You can edit the same file on Windows (see &lt;a
href="http://blog.kowalczyk.info/article/10c/Local-DNS-modifications-on-Windows-etchosts-equi.html"&gt;this explanation&lt;/a&gt;).&lt;/p&gt;&lt;p&gt;This will block you from using Twitter or Facebook, and will instead redirect you to your localhost (0.0.0.0 is a shortcut to your machine). To get back to social-network-land, just follow the same steps, but remove the lines you added.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Recommendation:&lt;/strong&gt; Should you block Facebook and Twitter all the time while you are working? We say no. It makes sense to be able to take small breaks between tasks to keep from burning out. However, during a sprint, if these sites are seemingly causing you to waste time, it&amp;#39;s important (at least until you break the muscle-memory driven habit) to put them on pause. The important note here is, &lt;em&gt;control your procrastination&lt;/em&gt;, even if that means scheduling time &lt;em&gt;to waste&lt;/em&gt;. Being aware of the time you are putting into a given activity will help you be more conscious of whether or not that time is slipping away from your control.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Minimize Interruption&lt;/h2&gt;&lt;p&gt;Interruptions have long been known to decrease productivity of knowledge workers. (See &lt;a
href="http://blog.ninlabs.com/2013/01/programmer-interrupted/"&gt;here&lt;/a&gt;, &lt;a
href="http://interruptions.net/literature/CubeSmart-productivity-wp1.pdf"&gt;here&lt;/a&gt;, &lt;a
href="http://www.nytimes.com/2005/10/16/magazine/16guru.html?pagewanted=1&amp;amp;_r=2&amp;amp;"&gt;here&lt;/a&gt;, &lt;a
href="http://interruptions.net/literature/Cutrell-Interact01-Messaging.pdf"&gt;here&lt;/a&gt; &amp;#8211; and there is much more available through a quick Google search.) Programmers (and, therefore, web designers) are susceptible to potentially only getting &lt;strong&gt;one&lt;/strong&gt; uninterrupted 2-hour session in a day. In agile methodology, there is the concept of &lt;a
href="http://practicalagility.blogspot.co.uk/2010/06/core-hours.html"&gt;core hours&lt;/a&gt; that holds that strong focus should be maintained for 5 total hours per day. This is a far jump from the two hours programmers can expect to achieve in a normal office.&lt;/p&gt;&lt;h3&gt;The Anatomy of an Interruption&lt;/h3&gt;&lt;p&gt;There are many kinds of interruptions, but we will look at two specific aspects of interruption today. The first are welcomed or &amp;quot;self-inflicted&amp;quot; interruptions, the second are external or &amp;quot;intrusive&amp;quot; interruptions. Both types are detrimental to productivity, and both types can be somewhat managed in different ways.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Self inflicted interruptions&lt;/strong&gt; occur because you have in some way created space for them to occur. These usually come in the form of programmable notifications (phone, computer, etc).&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;a
href="http://www.flickr.com/photos/epitti/2565571337/"&gt;&lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/rapid-push.jpg" alt="rapid-push" width="600" height="425" class="alignnone size-full wp-image-12713" /&gt;&lt;/a&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;&lt;strong&gt;Intrusive interruptions&lt;/strong&gt; occur because other humans need you to pay attention to them. The disconnect is the &lt;em&gt;timing&lt;/em&gt; and &lt;em&gt;sense of urgency&lt;/em&gt;. You must manage your own time, and you must put into place ways of doing so that circumvent the negative effects of interruption as much as possible.&lt;/p&gt;&lt;p&gt;So what do you do to alleviate interruptions? How do you achieve Zen Zone Time? Here are a few of our recommendations.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Minimize or completely disable notifications&lt;br
/&gt; This includes phone notifications like texts, email, Twitter, and even &amp;quot;chat&amp;quot;. Hide your chat windows, and attend to them as a part of your workflow, instead of on a response &amp;quot;demand&amp;quot; basis. This may seem like it will hurt your productivity at first, but you might be surprised how willing people are to wait if it is &lt;em&gt;actually important&lt;/em&gt;, and how likely they are to problem solve for themselves if you are too busy to break from what you are doing.&lt;/li&gt;&lt;li&gt;Have your management read this: &lt;strong&gt;adopt an organizational respect for The Zone.&lt;/strong&gt;&lt;br
/&gt; Create rules in the organization about &amp;quot;zone time&amp;quot; or &amp;quot;maker time&amp;quot;. This means there are specific boundaries for when, where, and how you can interrupt someone when they are in the zone. Have specific ways of signifying you are &amp;quot;under&amp;quot;, like putting your headphones in or working in a specific part of your office. This is the purpose of &amp;quot;away&amp;quot; messages on chat, as well. &lt;strong&gt;Management must set aside time for the cultivation of rapid interaction development!&lt;/strong&gt;&lt;br
/&gt; Managers &amp;#8211; this may seem like a potential threat to the office, but like anything, you can try this for a bit to see what pieces fail and what pieces succeed. You will likely see productivity increases immediately.&lt;/li&gt;&lt;li&gt;Isolate yourself&lt;br
/&gt; Perhaps the most effective solution, isolating yourself makes you the controller of your space. This can happen in many different formats; for instance, many web designers and developers work from coffee shops to dive into isolation. This will prevent interruptions that happen as a result of physical proximity. Isolation doesn&amp;#39;t always mean location, however; if most of the office works from 9-5, perhaps you work from 6AM to 2PM or 12PM to 8PM. This will give you space and time to think and work without interruption. Perhaps you can work remotely one or two days per week? Maybe it&amp;#39;s much simpler than that for you, particularly if you are a freelancer.&lt;/li&gt;&lt;li&gt;Be diligent with scheduled communication&lt;br
/&gt; If you are going to put barriers up around you, you must also be willing to stick to your word and respond to messages when you come out from under the Zone. Don&amp;#39;t let this slip, or else the productive aspects of your Zone time will be reduced by the negative aspects of your communication habits. Oh, and don&amp;#39;t forget to call your mother!&lt;/li&gt;&lt;/ol&gt;&lt;hr
/&gt;&lt;h2&gt;Game On: Competition and Reward&lt;/h2&gt;&lt;p&gt;What makes &amp;quot;hackathon&amp;quot; events so productive? How do people turn out viable products in 48 hours? Perhaps it is a mixture of characteristics.&lt;br
/&gt; 1. Anticipated, protected, planned time for focused rapid development&lt;br
/&gt; 2. Competition with others&lt;br
/&gt; 3. Cash rewards&lt;br
/&gt; Hackathons break from the &amp;quot;normal flow&amp;quot; of every day work. Certainly, we wouldn&amp;#39;t want to work 48 hours in a row &lt;em&gt;all the time&lt;/em&gt;. But the productivity mindsets that arise from this are extremely important. We&amp;#39;ve alluded already to how important focus and uninterrupted time is. However, it&amp;#39;s a worthy effort to consider how creating some personal competition and reward systems may help increase your efficiency in development. This helps set benchmarks and naturally trains your brain to adapt to the behaviors that are rewarding.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Recommendation&lt;/strong&gt;: if you work with another developer, decide on a competition with clear goals, and make it time oriented. Doesn&amp;#39;t really matter what those goals are. Take some time to work through them. Perhaps you can compete against yourself; practice by using the sprints as your competition, and set your goals to &lt;em&gt;increase&lt;/em&gt; your efficiency by some amount of time. Set rewards up both for when you are in a competitive mode, as well as for when you complete any focused sprint of work. This will help keep you focused during the sprint itself. A reward may be a physical thing (like a cup of coffee) or something less concrete (like a VIP parking spot for a week or &amp;quot;free time&amp;quot;).&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Dive into the Open Source Community&lt;/h2&gt;&lt;p&gt;We will keep this tip short, because the benefits here will be obvious. The Open Source World is full of amazing and talented people building things that help others do their jobs better every day. Examples like the frameworks we mentioned above just barely scratch the surface. Here are some of the benefits to working and communicating with the open source community.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Exposure to new tools&lt;/li&gt;&lt;li&gt;Free solutions to common problems&lt;/li&gt;&lt;li&gt;New solutions to emergent problems&lt;/li&gt;&lt;li&gt;A better understanding of problems you may not know exist&lt;/li&gt;&lt;li&gt;Opportunity to contribute and become a part of the giving/receiving cycle&lt;/li&gt;&lt;li&gt;Thought Osmosis: learning by repetition and exposure&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Diving into the open source community and learning to use tools that are offered can immediately increase productivity, but also makes it much more likely that another person could pick up your project and continue developing on that project. Open source allows for people to collaborate around a decided standard and pre-existing documentation. This reduces cognitive overhead for transfer of projects, and makes you a much more literate developer; this immediately translates into higher efficiency.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Recommendation:&lt;/strong&gt; Get a GitHub account, and start building things with tools available on GitHub.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/06/rapid-gh.png" alt="rapid-gh" width="600" height="352" class="alignnone size-full wp-image-12701" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;This is somewhat of a reiteration of what we said earlier &amp;#8211; use open source frameworks to solve problems in predictable, patterned ways, and participate in the community of other people who are doing so. Collaboration and discussion are very important keys to learning.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Conclusion&lt;/h2&gt;&lt;p&gt;This by no means is a complete list of things you can do to become a rapid interaction developer. Leave some notes in the comments of things you&amp;#39;ve tried that have worked, failed, or have had little to no effect!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/webdesigntutsplus/~4/gCMCFac-ROE" height="1" width="1"/&gt;</description> <wfw:commentRss>http://webdesign.tutsplus.com/articles/general/become-a-better-faster-front-end-developer/feed/</wfw:commentRss> <slash:comments>17</slash:comments> <feedburner:origLink>http://webdesign.tutsplus.com/articles/general/become-a-better-faster-front-end-developer/</feedburner:origLink></item> <item><title>Taking Ems Even Further</title><link>http://feedproxy.google.com/~r/webdesigntutsplus/~3/LMp7PB4B0LM/</link> <comments>http://webdesign.tutsplus.com/articles/typography-articles/taking-ems-even-further/#comments</comments> <pubDate>Wed, 29 May 2013 15:40:13 +0000</pubDate> <dc:creator>Ian Yates</dc:creator> <category><![CDATA[Typography]]></category> <category><![CDATA[ems]]></category> <category><![CDATA[mixins]]></category> <category><![CDATA[rems]]></category> <category><![CDATA[typography]]></category> <guid isPermaLink="false">http://webdesign.tutsplus.com/?p=12543</guid> <description>&lt;a
href='http://rss.buysellads.com/click.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=12543&amp;c=1671340616' target='_blank'&gt;&lt;img
src='http://rss.buysellads.com/img.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=12543&amp;c=1671340616' border='0' alt='' /&gt;&lt;/a&gt;&lt;p&gt;I recently &lt;a
rel="external" href="http://hub.tutsplus.com/articles/taking-the-erm-out-of-ems--webdesign-12321"&gt;wrote about ems&lt;/a&gt;; what they are, how they&amp;#8217;re used and some bits and pieces to bear in mind when you implement them yourself. I only scratched the surface though, and the comments thread threw up twice as many questions as the article answered! In this follow-up I&amp;#8217;ll take things further, looking at ems in even more detail.&lt;/p&gt;&lt;p&gt;&lt;span
id="more-12543"&gt;&lt;/span&gt;&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;a
href="http://dribbble.com/shots/1092455-E"&gt;&lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/taking-ems-even-further-E.png" alt="taking-ems-even-further-E" class="alignnone size-full wp-image-12684" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;figcaption&gt;E &lt;a
href="http://dribbble.com/shots/1092455-E" rel="external"&gt;on Dribbble&lt;/a&gt;&lt;/figcaption&gt; &lt;/figure&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The &lt;a
rel="external" href="http://hub.tutsplus.com/articles/taking-the-erm-out-of-ems--webdesign-12321"&gt;previous article&lt;/a&gt; covers all the basics. I recommend you read up on them before going any further.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Unitless Measurement Values&lt;/h2&gt;&lt;p&gt;The subject of unitless measurements (ie: values without pixels, percentages, ems, yards, fathoms..) was offered up by &lt;a
rel="external" href="http://hub.tutsplus.com/articles/taking-the-erm-out-of-ems--webdesign-12321#comment-897498765"&gt;a couple&lt;/a&gt; &lt;a
rel="external" href="http://hub.tutsplus.com/articles/taking-the-erm-out-of-ems--webdesign-12321#comment-899316710"&gt;of people&lt;/a&gt; last time, especially as I&amp;#8217;d encouraged the use of ems for specifying &lt;code&gt;line-height&lt;/code&gt;.&lt;/p&gt;&lt;p&gt;Ems make perfect sense in this case as they&amp;#8217;re relative to the &lt;code&gt;font-size&lt;/code&gt;. If the text in question grows or shrinks, so too does the line-height if it&amp;#8217;s set in ems. Absolute units, like pixels, would really mess things up. The same is true of &lt;code&gt;letter-spacing&lt;/code&gt;, another example of a dimension which should &lt;strong&gt;always be relative to the font-size&lt;/strong&gt;.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/taking-ems-even-further-lineheight.png" alt="taking-ems-even-further-lineheight" width="600" height="300" class="alignnone size-full wp-image-12548" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;However, we can improve on this. Ems complicate things as their values cascade; elements inherit their parent&amp;#8217;s em values. Take this arrangement for example: an article which contains a paragraph:&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/taking-ems-even-further-article-1.png" alt="taking-ems-even-further-article-1" width="600" height="300" class="alignnone size-full wp-image-12544" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;If we apply the line-height to the article, it will also be inherited by the paragraph, which is fine:&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/taking-ems-even-further-article-2.png" alt="taking-ems-even-further-article-2" width="600" height="300" class="alignnone size-full wp-image-12545" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;But what the paragraph is actually inheriting is the &lt;strong&gt;computed value&lt;/strong&gt; (in this case effectively 24px), so its line-height is relative to the article&amp;#8217;s font-size, not its own. If we increase the paragraph&amp;#8217;s font-size to the equivalent of 20px:&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/taking-ems-even-further-article-3.png" alt="taking-ems-even-further-article-3" width="600" height="300" class="alignnone size-full wp-image-12546" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;then its line-height remains staunchly at 24px. Ideally, we&amp;#8217;d like its line-height to appear 1.5 * 20 = 30px.&lt;/p&gt;&lt;p&gt;This is where unitless measurements come in. By removing the em unit from the article&amp;#8217;s line-height:&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/taking-ems-even-further-article-4.png" alt="taking-ems-even-further-article-4" width="600" height="300" class="alignnone size-full wp-image-12547" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;the paragraph will inherit the unitless value instead, 1.5. The paragraph&amp;#8217;s line-height is now relative to its own font-size, bingo!&lt;/p&gt; &lt;figure
class="tutorial_image"&gt;&lt;pre class="codepen" data-height="400" data-type="result" data-href="Fivoy" data-user="snaptin" data-safe="true"&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;&lt;figcaption&gt;&lt;a
rel="external" href="http://codepen.io/snaptin/pen/Fivoy"&gt;This pen should help you out..&lt;/a&gt;&lt;/figcaption&gt;&lt;p&gt;&lt;script async src="http://codepen.io/assets/embed/ei.js"&gt;&lt;/script&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;Interestingly though, this doesn&amp;#8217;t apply to &lt;code&gt;letter-spacing&lt;/code&gt;. And you can completely forget about &lt;code&gt;margins&lt;/code&gt;, &lt;code&gt;text-indent&lt;/code&gt;, that sort of thing.&lt;/p&gt;&lt;p&gt;If you&amp;#8217;re interested in reading more on the topic &lt;a
rel="external" href="http://meyerweb.com/eric/thoughts/2006/02/08/unitless-line-heights/"&gt;Eric Meyer covered it solidly&lt;/a&gt; way back in 2006, plus Harry Roberts has a &lt;a
rel="external" href="http://csswizardry.com/2011/12/measuring-and-sizing-uis-2011-style/"&gt;great overview of measurement units&lt;/a&gt; from a couple of years back.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Ems and Macrotypography&lt;/h2&gt;&lt;p&gt;Whereas &lt;strong&gt;microtypography&lt;/strong&gt; refers to the tiny details within a document (punctuation marks, ligatures, hyphenation, kerning and so on) &lt;strong&gt;macrotypography&lt;/strong&gt; handles all the &amp;#8220;big&amp;#8221; stuff. Think about all the aspects of typography which make a body of text readable; whitespace, line length (measure), paragraph indentation etc.&lt;/p&gt;&lt;p&gt;Take a look at this fluid column setup:&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/taking-ems-even-further-columns.png" alt="taking-ems-even-further-columns" width="600" height="400" class="alignnone size-full wp-image-12563" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;A perfectly decent layout; two divs, each one precisely 50% wide, with some padding left and right to form the gutters (inside each div, assuming &lt;a
rel="external" href="http://www.paulirish.com/2012/box-sizing-border-box-ftw/"&gt;* { box-sizing: border-box }&lt;/a&gt; is being used). Typically, you&amp;#8217;d be tempted to define the padding using pixels, or (even better) percentages, if you were feeling super flexible.&lt;/p&gt;&lt;p&gt;However, pixels and percentages will both have a detrimental effect on the readability of the content, if (when) the font-size is altered. Gutter width, as with whitespace in general, should really be sized relative to the text. In this example, we have two columns of text, with guttering applied as a percentage of the column width, just like we described above:&lt;/p&gt;&lt;pre class="brush: css; title: ; notranslate"&gt;
.column {
	width: 50%;
	float: left;
	padding: 0 3%;
}
&lt;/pre&gt;&lt;figure
class="tutorial_image"&gt; &lt;a
rel="external" href="http://source.tutsplus.com/webdesign/tutorials/033_ems-even-more/index-percentage.html"&gt;&lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/taking-ems-even-further-columns-1.png" alt="taking-ems-even-further-columns-1" width="600" height="600" class="alignnone size-full wp-image-12560" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;figcaption&gt; This is a live demo, &lt;a
rel="external" href="http://source.tutsplus.com/webdesign/tutorials/033_ems-even-more/index-percentage.html"&gt;take a look and mess around with it yourself..&lt;/a&gt;&lt;/figcaption&gt; &lt;/figure&gt;&lt;p&gt;When you alter the font-size however, you&amp;#8217;ll notice the gutter becomes relatively narrower, blurring the division between the columns of text and making it more difficult to read.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;a
rel="external" href="http://source.tutsplus.com/webdesign/tutorials/033_ems-even-more/index-percentage.html"&gt;&lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/taking-ems-even-further-columns-3.png" alt="taking-ems-even-further-columns-3" width="600" height="620" class="alignnone size-full wp-image-12562" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;figcaption&gt; This is an extreme example, with absurdly large text for the column width, but it illustrates the point..&lt;/figcaption&gt; &lt;/figure&gt;&lt;p&gt;Far better would be to define the padding using ems:&lt;/p&gt;&lt;pre class="brush: css; title: ; notranslate"&gt;
.column {
	width: 50%;
	float: left;
	padding: 0 1.2em;
}
&lt;/pre&gt;&lt;p&gt;This way, the gutter grows and shrinks along with the text, maintaining the distance between columns and keeping things readable.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;a
rel="external" href="http://source.tutsplus.com/webdesign/tutorials/033_ems-even-more/index.html"&gt;&lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/taking-ems-even-further-columns-2.png" alt="taking-ems-even-further-columns-2" width="600" height="620" class="alignnone size-full wp-image-12561" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;figcaption&gt; &lt;a
rel="external" href="http://source.tutsplus.com/webdesign/tutorials/033_ems-even-more/index.html"&gt;Try playing with this one..&lt;/a&gt;&lt;/figcaption&gt; &lt;/figure&gt;&lt;hr
/&gt;&lt;h2&gt;The Ol&amp;#8217; 62.5% Setup&lt;/h2&gt;&lt;p&gt;If you aren&amp;#8217;t yet using ems, it&amp;#8217;s probably down to one of two things which you don&amp;#8217;t like about them; the fact that their values cascade, or having to calculate those values in the first place.&lt;/p&gt;&lt;p&gt;The 62.5% approach (first &lt;a
rel="external" href="http://clagnut.com/blog/348/"&gt;proposed by Richard Rutter&lt;/a&gt; way back in 2004) will help you out on the second one. Quite simply, instead of setting the base font–size to 100% (which we’ll assume is 16px) we set it to 62.5%, effectively 10px.&lt;/p&gt;&lt;p&gt;From that point, 1em = 10px. Therefore:&lt;/p&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Ems&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;Equivalent pixels&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tr&gt;&lt;td&gt;0.5em&lt;/td&gt;&lt;td&gt;5px&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&amp;hellip;&lt;/td&gt;&lt;td&gt;&amp;hellip;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1.1em&lt;/td&gt;&lt;td&gt;11px&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1.2em&lt;/td&gt;&lt;td&gt;12px&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1.3em&lt;/td&gt;&lt;td&gt;13px&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1.4em&lt;/td&gt;&lt;td&gt;14px&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&amp;hellip;&lt;/td&gt;&lt;td&gt;&amp;hellip;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;47.3em&lt;/td&gt;&lt;td&gt;473px&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;and so on, which should remove some of the mental arithmetic. &lt;em&gt;However&lt;/em&gt;, there is a small issue with this approach, and it all has to do with&amp;hellip;&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Em-based Media Queries&lt;/h2&gt;&lt;p&gt;We&amp;#8217;ll talk a bit about the 62.5% caveat in a moment, but first we need to lay down some foundations.&lt;/p&gt;&lt;p&gt;In their simplest form, media queries help us apply CSS rules under different circumstances, most commonly depending on screen size. Screen resolutions are measured in pixels, so it&amp;#8217;s only logical we define media queries in the same way:&lt;/p&gt;&lt;pre class="brush: css; title: ; notranslate"&gt;
@media only screen and (min–width: 600px) {
/*some stuff*/
}
&lt;/pre&gt;&lt;p&gt;Let&amp;#8217;s apply this to our previous demo, to split the columns up after a certain point.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/taking-ems-even-further-media-query.png" alt="taking-ems-even-further-media-query" width="600" height="400" class="alignnone size-full wp-image-12654" /&gt;&lt;/p&gt; &lt;figcaption&gt;In this mobile first approach, our columns are split once the viewport reaches 600px&lt;/figcaption&gt; &lt;/figure&gt;&lt;p&gt;The arbritrary figure of 600px just happens to be fine in this case; optimum line length (or &lt;strong&gt;measure&lt;/strong&gt;) is a highly debated topic, but as Robert Brighurst states:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Anything from 45 to 75 characters is widely-regarded as a satisfactory length of line for a single-column page set in a serifed text face in a text size. The 66-character line (counting both letters and spaces) is widely regarded as ideal.&lt;br
/&gt; &lt;footer&gt;Robert Brighurst &amp;#8211; &lt;a
rel="external" href="http://www.amazon.com/Elements-Typographic-Style-Robert-Bringhurst/dp/0881792063/"&gt;The Elements of Typographic Style&lt;/a&gt;&lt;/footer&gt;&lt;/blockquote&gt;&lt;p&gt;In our demo, at font-size of 1em, the measure now hits around 70 characters before splitting into two columns.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/taking-ems-even-further-mq-single.png" alt="taking-ems-even-further-mq-single" width="630" height="268" class="alignnone size-full wp-image-12665" /&gt;&lt;br
/&gt; &lt;/figure&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/taking-ems-even-further-mq-double.png" alt="taking-ems-even-further-mq-double" width="630" height="268" class="alignnone size-full wp-image-12664" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;Once we hit two columns, the measure is perhaps a little narrower than we&amp;#8217;d ideally like, but these columns are perfectly okay for the purposes of this demo. However, problems arise when we alter our browser&amp;#8217;s font-size (hit command +).&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/taking-ems-even-further-mq-double-big.png" alt="taking-ems-even-further-mq-double-big" width="630" height="268" class="alignnone size-full wp-image-12666" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;With font-size boosted to &amp;#8220;Very Large&amp;#8221; (I&amp;#8217;m using Chrome) our column measures are &lt;em&gt;way&lt;/em&gt; too narrow, making the content pretty unreadable. For this reason, we should consider making our media queries relative to font-size too.&lt;/p&gt;&lt;p&gt;Remember the formula from &lt;a
rel="external" href="http://hub.tutsplus.com/articles/taking-the-erm-out-of-ems--webdesign-12321"&gt;our previous article&lt;/a&gt;?&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;a
rel="external" href="http://hub.tutsplus.com/articles/taking-the-erm-out-of-ems--webdesign-12321"&gt;&lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/demystifying-ems-equation-2.png" alt="demystifying-ems-equation-2" width="600" height="400" class="alignnone size-full wp-image-12658" /&gt;&lt;/a&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;We&amp;#8217;re aiming for 600px, from an inherited font-size of 16px. &lt;code&gt;600/16 = 37.5em&lt;/code&gt;, so let&amp;#8217;s change our media query to reflect that:&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/taking-ems-even-further-media-query-ems.png" alt="taking-ems-even-further-media-query-ems" width="600" height="400" class="alignnone size-full wp-image-12659" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;Now, when our browser&amp;#8217;s font size settings are altered, we see a difference in the way the media query behaves. With larger text, here&amp;#8217;s the pixel-based media query, with the viewport set at around 630px wide:&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/taking-ems-even-further-media-query-pixel-based.png" alt="taking-ems-even-further-media-query-pixel-based" width="630" height="600" class="alignnone size-full wp-image-12660" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;Whereas, at that screen width, the em-based media query keeps things neatly in one column; nice and readable.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/taking-ems-even-further-media-query-em-based.png" alt="taking-ems-even-further-media-query-em-based" width="630" height="600" class="alignnone size-full wp-image-12661" /&gt;&lt;/p&gt; &lt;figcaption&gt;&lt;a
rel="external" href="http://source.tutsplus.com/webdesign/tutorials/035_ems-even-more/index-ems.html"&gt;Zoom in/out&lt;/a&gt; and watch the media query take effect&lt;/figcaption&gt; &lt;/figure&gt;&lt;h3&gt;Back to That 62.5% Thing&lt;/h3&gt;&lt;p&gt;Here&amp;#8217;s the crunch; em-based media queries are totally disinterested in any sizing on the &lt;code&gt;html&lt;/code&gt;, &lt;code&gt;body&lt;/code&gt;, or whatever; they&amp;#8217;re relative to the browser&amp;#8217;s font-size. This means that, by setting the base font-size to anything other than 100%, you&amp;#8217;ll have to manage two scales of em values.&lt;/p&gt;&lt;p&gt;Work from a base of 100% and everything will begin from a level playing field. Besides, as &lt;a
rel="external" href="http://filamentgroup.com/lab/how_we_learned_to_leave_body_font_size_alone/"&gt;Filament Group argue&lt;/a&gt;, working in this way moves you away from thinking in pixels, which is a good thing.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Ems, Rems, Functions and Mixins&lt;/h2&gt;&lt;p&gt;One word came up more than any other in the comments thread of the previous article; &lt;strong&gt;mixin&lt;/strong&gt;. If you&amp;#8217;re struggling to get your head around the calculations, then why not let a CSS preprocessor do the heavy lifting for you?&lt;/p&gt;&lt;p&gt;With CSS preprocessors, such as &lt;a
rel="external" href="http://sass-lang.com/"&gt;Sass&lt;/a&gt;, &lt;a
rel="external" href="http://lesscss.org/"&gt;LESS&lt;/a&gt; and &lt;a
rel="external" href="http://learnboost.github.io/stylus/docs/mixins.html"&gt;Stylus&lt;/a&gt;, you can define mixins and functions. These accept parameters, then calculate and churn out CSS values for you.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; If you&amp;#8217;re new to the concept, take a look at &lt;a
rel="external" href="http://hub.tutsplus.com/tutorials/mastering-sass-lesson-2--net-19073"&gt;Mastering Sass: Lesson 2&lt;/a&gt; in which Jeffrey introduces Sass mixins.&lt;/p&gt;&lt;p&gt;&lt;a
rel="external" href="http://thesassway.com/advanced/pure-sass-functions"&gt;Mixins and functions&lt;/a&gt; can handle all kinds of things for you, including the troublesome mathmatics surrounding ems.&lt;/p&gt;&lt;p&gt;Take &lt;a
rel="external" href="http://erskinedesign.com/blog/calculating-ems-scss/"&gt;this simple example&lt;/a&gt; from Garrett Winder at Erskine. He starts out defining a function (called &amp;#8220;em&amp;#8221;) which accepts two values (just as our formula from earlier) though the context value has a default of 16, so it needn&amp;#8217;t be specified again unless necessary.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/taking-ems-even-further-mixin-base.png" alt="taking-ems-even-further-mixin-base" width="600" height="300" class="alignnone size-full wp-image-12670" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;We can then use that &amp;#8220;em&amp;#8221; function within CSS thereafter, asking it to calculate the equivalent of 30px:&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/taking-ems-even-further-mixin-use.png" alt="taking-ems-even-further-mixin-use" width="600" height="300" class="alignnone size-full wp-image-12675" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;Which, when compiled, outputs the CSS in its raw form:&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/taking-ems-even-further-mixin-result.png" alt="taking-ems-even-further-mixin-result" width="600" height="300" class="alignnone size-full wp-image-12674" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;And this isn&amp;#8217;t the only example of its type either &amp;#8211; thousands of front end developers have cut their preprocessing teeth by writing their own em mixins. Rems too; by inputting the desired pixel value in &lt;a
rel="external" href="http://css-tricks.com/snippets/css/less-mixin-for-rem-font-sizing/"&gt;this mixin featured by Chris Coyier&lt;/a&gt;, you can just as easily have rems outputted, with fallback pixels.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/taking-ems-even-further-mixin-rem-base.png" alt="taking-ems-even-further-mixin-rem-base" width="600" height="300" class="alignnone size-full wp-image-12671" /&gt;&lt;/p&gt; &lt;figcaption&gt;Here&amp;#8217;s the mixin.&lt;/figcaption&gt; &lt;/figure&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/taking-ems-even-further-mixin-rem-use.png" alt="taking-ems-even-further-mixin-rem-use" width="600" height="300" class="alignnone size-full wp-image-12673" /&gt;&lt;/p&gt; &lt;figcaption&gt;Here&amp;#8217;s the usage.&lt;/figcaption&gt; &lt;/figure&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/taking-ems-even-further-mixin-rem-result.png" alt="taking-ems-even-further-mixin-rem-result" width="600" height="300" class="alignnone size-full wp-image-12672" /&gt;&lt;/p&gt; &lt;figcaption&gt;Here&amp;#8217;s the result.&lt;/figcaption&gt; &lt;/figure&gt;&lt;p&gt;The list is almost endless, but if you have any mixins you like to use in your own work (for outputting ems and rems) let me know in the comments and I&amp;#8217;ll add them here:&lt;/p&gt;&lt;h3&gt;Sass&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a
rel="external" href="http://css-tricks.com/snippets/css/less-mixin-for-rem-font-sizing/"&gt;Mixins for Rem Font Sizing&lt;/a&gt; on CSS Tricks&lt;/li&gt;&lt;li&gt;&lt;a
rel="external" href="http://hugogiraudel.com/2013/03/18/ultimate-rem-mixin/"&gt;The Ultimate PX/REM Mixin&lt;/a&gt; from Hugo Giraudel&lt;/li&gt;&lt;li&gt;&lt;a
rel="external" href="https://github.com/bitmanic/rem"&gt;rem&lt;/a&gt; from bitmanic on GitHub&lt;/li&gt;&lt;li&gt;&lt;a
rel="external" href="http://seesparkbox.com/foundry/scss_rem_mixin_now_with_a_better_fallback"&gt;Scss Rem Mixin Now With a Better Fallback&lt;/a&gt; from Sparkbox&amp;#8217;s Adam Simpson&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Less&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a
rel="external" href="http://css-tricks.com/snippets/css/less-mixin-for-rem-font-sizing/"&gt;Mixins for Rem Font Sizing&lt;/a&gt; on CSS Tricks&lt;/li&gt;&lt;li&gt;&lt;a
rel="external" href="http://drublic.de/blog/rem-fallback-sass-less/"&gt;The REM Fallback with Sass or LESS&lt;/a&gt; by Hans Christian&lt;/li&gt;&lt;li&gt;&lt;a
rel="external" href="https://coderwall.com/p/hvwebq"&gt;Using rem units with an easy pixel fallback&lt;/a&gt; by some guy called Cory Simmons&lt;/li&gt;&lt;li&gt;&lt;a
rel="external" href="http://codepen.io/machal/pen/less-mixin-font-size-rem"&gt;Less Mixin&lt;/a&gt; from Martin Mich&amp;aaccute;lek on Codepen&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Stylus&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a
rel="external" href="http://why.dowefall.com/stylus/2012/12/08/font-size-using-rem-with-fallback-in-stylus/"&gt;Font-size using rem with fallback in Stylus&lt;/a&gt; from Yuya Saito&lt;/li&gt;&lt;li&gt;&lt;a
rel="external" href="http://css-tricks.com/snippets/css/less-mixin-for-rem-font-sizing/#comment-167458"&gt;Comment on CSS Tricks&lt;/a&gt; from Maxim&lt;/li&gt;&lt;li&gt;Wow.. this list needs help&lt;/li&gt;&lt;/ul&gt;&lt;hr
/&gt;&lt;h2&gt;Conclusion&lt;/h2&gt;&lt;p&gt;It&amp;#8217;s a broad subject, there&amp;#8217;s clearly loads to take in, but diving into the world of ems is one of the more satisfying challenges in front-end web development. Stop thinking pixels and start thinking relatively, today!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/webdesigntutsplus/~4/LMp7PB4B0LM" height="1" width="1"/&gt;</description> <wfw:commentRss>http://webdesign.tutsplus.com/articles/typography-articles/taking-ems-even-further/feed/</wfw:commentRss> <slash:comments>11</slash:comments> <feedburner:origLink>http://webdesign.tutsplus.com/articles/typography-articles/taking-ems-even-further/</feedburner:origLink></item> <item><title>Making the Most of Your Student Years</title><link>http://feedproxy.google.com/~r/webdesigntutsplus/~3/KT0k487eJDA/</link> <comments>http://webdesign.tutsplus.com/articles/workflow/making-the-most-of-your-student-years/#comments</comments> <pubDate>Tue, 28 May 2013 18:00:41 +0000</pubDate> <dc:creator>Sven Lenaerts</dc:creator> <category><![CDATA[Workflow]]></category> <category><![CDATA[creativity]]></category> <category><![CDATA[student]]></category> <category><![CDATA[workflow]]></category> <guid isPermaLink="false">http://webdesign.tutsplus.com/?p=12637</guid> <description>&lt;a
href='http://rss.buysellads.com/click.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=12637&amp;c=962805101' target='_blank'&gt;&lt;img
src='http://rss.buysellads.com/img.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=12637&amp;c=962805101' border='0' alt='' /&gt;&lt;/a&gt;&lt;p&gt;For any aspiring designer or developer, your student years are a time full of opportunities to develop your professional life. Why should you wait until you have a degree to become more professional in what you do? In this article, we&amp;#8217;ll explore how you can use your student time to give you a great start in a professional career. Even though this article is aimed at students specifically, any designer or developer could pick up a thing or two to improve their (budding) career.&lt;/p&gt;&lt;p&gt;&lt;span
id="more-12637"&gt;&lt;/span&gt;&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/exploit-potential-banner.jpg" alt="exploit-potential-banner" width="600" height="300" class="alignnone size-full wp-image-12639" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;hr
/&gt;&lt;h2&gt;Work Hard, Get Better&lt;/h2&gt;&lt;p&gt;How&amp;#8217;s that for beginning with a massive clich&amp;eacute;?&lt;/p&gt;&lt;p&gt;Every budding designer is familiar with the following situation: you stumble across beautiful work by other designers and you feel disappointed or ashamed because you simply don&amp;#8217;t reach that level. It&amp;#8217;s a very natural thing to be disappointed by your skills in the very early stage of your career. This shouldn&amp;#8217;t demotivate you or let you doubt your skills. Ira Glass has a &lt;a
href="http://www.youtube.com/watch?v=BI23U7U2aUY" target="_blank"&gt;wonderful quote&lt;/a&gt; on this topic:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Nobody tells this to people who are beginners, I wish someone told me. All of us who do creative work, we get into it because we have good taste. But there is this gap. For the first couple years you make stuff, it&amp;#8217;s just not that good. It&amp;#8217;s trying to be good, it has potential, but it&amp;#8217;s not. But your taste, the thing that got you into the game, is still killer. And your taste is why your work disappoints you. A lot of people never get past this phase, they quit. &amp;hellp; It is only by going through a volume of work that you will close that gap, and your work will be as good as your ambitions. And I took longer to figure out how to do this than anyone I&amp;#8217;ve ever met. It&amp;#8217;s gonna take awhile. It&amp;#8217;s normal to take awhile. You&amp;#8217;ve just gotta fight your way through.&lt;br
/&gt; &lt;footer&gt;&lt;a
href="http://www.youtube.com/watch?v=BI23U7U2aUY" target="_blank"&gt;Ira Glass&lt;/a&gt;&lt;/footer&gt;&lt;/blockquote&gt;&lt;p&gt;The motivation to become an amazing designer keeps you on track on improving your work. Glass mentions that by practicing, you become better. If you go about finishing your school assignments and sticking with that, you&amp;#8217;ll be disappointed by your level of skill once you have your degree. Forcing yourself to improve your skills &lt;em&gt;outside&lt;/em&gt; classes is the first step in making that leap to a professional career. Explore new techniques and try to experiment with what&amp;#8217;s possible on the web. You&amp;#8217;ll improve your capabilities as time passes.&lt;/p&gt;&lt;p&gt;Any experienced designer can relate to this. Whenever you look at old work such as your first website, it&amp;#8217;s hideous. Looking at old work makes you realize that you&amp;#8217;re making progress in what yo do. At first, it might be difficult to notice that you&amp;#8217;re getting better. Don&amp;#8217;t focus on progress, but focus on your passion, your ambition and motivation. Work hard, get better and become respected in what you do.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Don&amp;#8217;t Let School Limit You&lt;/h2&gt;&lt;p&gt;One of the problems I experience while following classes is that education is focused on studying in group. Which means that classes can end up being either too slow or too fast, too simple or too advanced. Besides that, schools often have issues with keeping up with the latest evolutions in the industry.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/exploit-potential-classroom.jpg" alt="exploit-potential-classroom" width="600" height="300" class="alignnone size-full wp-image-12640" /&gt;&lt;/p&gt; &lt;figcaption&gt;Classroom by Kyle Lambert on &lt;a
href="http://dribbble.com/shots/560897-Classroom-Illustration" target="_blank"&gt;Dribbble&lt;/a&gt;&lt;/figcaption&gt; &lt;/figure&gt;&lt;p&gt;The best solution for this is that you spend your spare time on studying what you&amp;#8217;d love to learn (such as the latest trends in web design, for example) at your own pace.&lt;/p&gt;&lt;p&gt;The fact you&amp;#8217;re reading this article means that you&amp;#8217;re doing a good job already. There&amp;#8217;s so much amazing material to be found online to help you learn new skills or improve old ones. Be inspired, be informed.&lt;/p&gt;&lt;blockquote
class="pullquote"&gt;&lt;p&gt;Teachers can be great assets; ask them for feedback on work you&amp;#8217;ve done outside school, for example.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;The great thing about higher education though is that it collects people with the same interests, both students and teachers. Teachers can be great assets, especially those whose classes you really enjoy and those who just do an amazing job at educating people. Why don&amp;#8217;t you ask them for feedback on work you&amp;#8217;ve completed outside school? Or ask for some tips while trying something new?&lt;/p&gt;&lt;p&gt;Ideally, teachers will have experience from working in the industry themselves. Those who love their job know that it&amp;#8217;s impossible to teach you &lt;em&gt;everything&lt;/em&gt; in class, but they might have that extra knowledge you&amp;#8217;re looking for, provide answers on questions, offer feedback or useful tips.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Contests, Awards and Opportunities&lt;/h2&gt;&lt;p&gt;My personal game-changer was the participation in design contests. Even though chances might be small that you win (you&amp;#8217;re a beginner after all), it still offers you the practice to translate a brief to a concrete product.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/exploit-potential-award.jpg" alt="exploit-potential-award" width="600" height="300" class="alignnone size-full wp-image-12638" /&gt;&lt;/p&gt; &lt;figcaption&gt;Achievement Badges by Steve Czech on &lt;a
href="http://dribbble.com/shots/885799-Achievement-Badges" target="_blank"&gt;Dribbble&lt;/a&gt;&lt;/figcaption&gt; &lt;/figure&gt;&lt;p&gt;Contests are a great way to start building up a professional network. Always go to the award ceremony (if there is one), even if you didn&amp;#8217;t win. It sounds more scary than that it actually is. It&amp;#8217;s an easy way to get in contact with other designers and people who are in need of designers. Talking with other, experienced designers is another great way to get to know people who can be useful assets during the development of your career. Showing your face and small-talk is fine. Get people to know and recognize you in your environment!&lt;/p&gt;&lt;p&gt;With dedication and luck you could even win a design contest. This doesn&amp;#8217;t only result in the direct rewards and/or award of the contest itself, but also the opportunity to meet people and perhaps get other work. These are the opportunities you&amp;#8217;re looking for.&lt;/p&gt;&lt;blockquote
class="pullquote"&gt;&lt;p&gt;Don&amp;#8217;t just think as a designer, think as an entrepreneur!&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;You might not always have the fortune to win contests and that shouldn&amp;#8217;t be your only way to build up a professional network and improve your skills. In your student environment, there are numerous ways to practice your craft. Student parties can have a hideous flyer or some student clubs have an ugly website (or no website at all?) Why not offer to rework it if you know those people? Naturally, this isn&amp;#8217;t the most spectacular work you&amp;#8217;ll do and you&amp;#8217;ll likely end up doing it for free, but it&amp;#8217;s a very good investment in the start of your career.&lt;/p&gt;&lt;p&gt;As time passes you might get known for your work and other people might ask you to help them. In this fashion, your first paid opportunities might come and you can slowly filter out the free work.&lt;/p&gt;&lt;p&gt;Besides thinking as a designer, you also need to start thinking as an entrepreneur. Dare to think in a more commercial fashion once you believe you have the skills and the opportunities in front of you.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;People Buy People&lt;/h2&gt;&lt;blockquote
class="pullquote"&gt;&lt;p&gt;Your network will be your main source of income.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&amp;#8220;Networking&amp;#8221; seems like a horrible term for a lot of designers, but it&amp;#8217;s not as difficult as people believe. Besides, if you want to work as freelancer your network will become your main source of income. In marketing &amp;#8220;people buy people&amp;#8221; is a very familiar concept. It isn&amp;#8217;t just about your skills, it&amp;#8217;s also about who (or what) you&amp;#8217;re buying something from. Your designs shouldn&amp;#8217;t just be awesome, you as a person should be awesome. Stay friendly, stay humble, be yourself.&lt;/p&gt;&lt;p&gt;Networking can be simplified. Anyone you basically communicate with, in any form, can be a potential peer in your professional network. The chances are you don&amp;#8217;t even realize you are networking.&lt;/p&gt;&lt;blockquote
class="pullquote"&gt;&lt;p&gt;Never quit meeting people.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;The great thing about being a student is that you meet so many people on so many occasions. This results in many acquaintances who can prove useful at some point in your career. After all, some of them are the entrepreneurs of tomorrow and will start a company. They&amp;#8217;ll also need a website at a certain point. Never quit meeting people. Continue to ask for feedback on your designs, even though the people you ask may not be familiar with our industry (this is were you receive the most interesting feedback!)&lt;/p&gt;&lt;p&gt;Finally, do you have a portfolio or a blog by now? Are you perhaps active on Dribbble or Behance? Show off your work online. Community design-related websites are a way to communicate with other designers but also potential clients. Besides, the community on these websites can offer you feedback from the best designers out there!&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Your First Freelance Assignment&lt;/h2&gt;&lt;p&gt;The most obvious step in launching your career is to work with real clients. We&amp;#8217;ve discussed some possible routes to achieve this so far. Participating in design contests for example, networking, but also putting work online (letting people find you) are ways to get that first brief in your inbox.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/exploit-potential-freelancer.jpg" alt="exploit-potential-freelancer" width="600" height="300" class="alignnone size-full wp-image-12642" /&gt;&lt;/p&gt; &lt;figcaption&gt;&lt;a
href="http://lefft.com/tinyvoyage/" target="_blank"&gt;A Tiny Voyage&lt;/a&gt; by Paddy Donnely &amp;#8211; also used as the preview thumbnail for this article&lt;/figcaption&gt; &lt;/figure&gt;&lt;p&gt;Obtaining your first client is often the most difficult. Don&amp;#8217;t expect large jobs initially, something small such as designing a logo or developing a newsletter are a great start. Nothing exciting yet, but good things come to those who deliver great work. Besides, receiving your first paycheck by doing what you love feels great!&lt;/p&gt;&lt;p&gt;Always respect the client and the job, no matter how small or large. If clients don&amp;#8217;t appear, keep working on improving your skills and completing personal projects in your spare time. Update your online visibility and perhaps redesign a website you often visit as personal project for fun and experience. It&amp;#8217;s work you can put in your portfolio and it gives clients a taster of what you&amp;#8217;re capable of.&lt;/p&gt;&lt;blockquote
class="pullquote"&gt;&lt;p&gt;Take initiative as freelancing designer, it can be very rewarding.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Last, I&amp;#8217;ve already mentioned thinking like an entrepreneur. Instead of waiting until you receive your first freelance assignment, you can also actively look for clients. Take initiative, especially if you see opportunities ahead of you. Out of personal experience, taking initiatives and making offers has gotten me much further.&lt;/p&gt;&lt;hr/&gt;&lt;h2&gt;Work and School: Finding a Workflow&lt;/h2&gt;&lt;blockquote
class="pullquote"&gt;&lt;p&gt;There isn&amp;#8217;t a perfect method to decide what&amp;#8217;s more important.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;As you become better and participate in more projects, there will be a moment that you find yourself stuck between work you need to finish for school and opportunities or work for clients. There isn&amp;#8217;t a perfect method which decides on what you need to focus. I personally work with setting priorities on short-term and on long-term. Some people decide to quit with school if that&amp;#8217;s a better choice. It&amp;#8217;s arguable, but it can be a good choice if one reflects on its current situation and considers the risks.&lt;/p&gt;&lt;blockquote
class="pullquote"&gt;&lt;p&gt;Don&amp;#8217;t say yes on every opportunity which comes your way.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Personally, I prefer to plan carefully and give enough room for error in my agenda. Am I faster than my schedule? Excellent. Am I slower? Not a big problem, I&amp;#8217;ve got spare room to make mistakes or work longer on something than expected. Be realistic in your planning. Don&amp;#8217;t say yes to every opportunity which comes in your way if you&amp;#8217;re already busy (it&amp;#8217;s a mistake beginners often make). Make sure you&amp;#8217;re capable of dealing with your workload. Always consider that you might get extra work at school or the client you&amp;#8217;re working with is a difficult person.&lt;/p&gt;&lt;p&gt;Finally, every day, take some time to relax. You can&amp;#8217;t be productive every single hour you&amp;#8217;re awake, that&amp;#8217;s asking for a burnout.&lt;/p&gt;&lt;hr/&gt;&lt;h2&gt;Conclusion&lt;/h2&gt;&lt;p&gt;I hope by now you&amp;#8217;re inspired to get the most potential out of your time as a student. Work hard, get better at what you do. Get to know people, participate in opportunities and become an entrepreneur besides a designer. Work towards your first freelance assignment, your second, your third, etc. The final rule: design everything. Everything you say, do or share. By the time you finish your school, you&amp;#8217;ll have an amazing starting point to start your career for real.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/webdesigntutsplus/~4/KT0k487eJDA" height="1" width="1"/&gt;</description> <wfw:commentRss>http://webdesign.tutsplus.com/articles/workflow/making-the-most-of-your-student-years/feed/</wfw:commentRss> <slash:comments>21</slash:comments> <feedburner:origLink>http://webdesign.tutsplus.com/articles/workflow/making-the-most-of-your-student-years/</feedburner:origLink></item> <item><title>Connecting Creativity and Commerce</title><link>http://feedproxy.google.com/~r/webdesigntutsplus/~3/mYyuV2TRPZA/</link> <comments>http://webdesign.tutsplus.com/articles/general/connecting-creativity-and-commerce/#comments</comments> <pubDate>Tue, 28 May 2013 08:26:25 +0000</pubDate> <dc:creator>Sven Lenaerts</dc:creator> <category><![CDATA[General]]></category> <category><![CDATA[creativity]]></category> <guid isPermaLink="false">http://webdesign.tutsplus.com/?p=12621</guid> <description>&lt;a
href='http://rss.buysellads.com/click.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=12621&amp;c=4312477' target='_blank'&gt;&lt;img
src='http://rss.buysellads.com/img.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=12621&amp;c=4312477' border='0' alt='' /&gt;&lt;/a&gt;&lt;p&gt;During &lt;a
href="http://hub.tutsplus.com/sessions/lets-talk-about-creativity--webdesign-11826"&gt;previous articles&lt;/a&gt;, we&amp;#8217;ve focused on being more creative, or overcoming obstacles which prevent you from being creative. Today, we&amp;#8217;re making the sometimes difficult connection between creativity and business.&lt;/p&gt;&lt;p&gt;&lt;span
id="more-12621"&gt;&lt;/span&gt;&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/creativity-and-commerce-banner.jpg" alt="creativity-and-commerce-banner" width="600" height="300" class="alignnone size-full wp-image-12624" /&gt;&lt;/p&gt; &lt;figcaption&gt;Gift by Roman Jusdado on &lt;a
href="http://dribbble.com/shots/413903-Gift-for-Joel" target="_blank"&gt;Dribbble&lt;/a&gt;&lt;/figcaption&gt; &lt;/figure&gt;&lt;p&gt;Creativity is important from an economical point of view and it&amp;#8217;s perfectly possible to monetize creativity. Even though during the session we&amp;#8217;ve never really emphasized the power of creativity in a commercial way, by now you should understand to an extent how creativity can improve your business.&lt;/p&gt;&lt;p&gt;The great thing about really creative people is that they can come up with &lt;strong&gt;qualitative ideas&lt;/strong&gt; in a short period of time. Besides this, they are able to beat creative block in a fairly efficient way by analyzing the cause and dealing with it. To put it simply, businesses should invest in creative people because they save time. Saving time means saving costs. Now, how can we make this happen?&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Commercial Creativity Means Efficiency&lt;/h2&gt;&lt;p&gt;As we discussed in &lt;a
href="http://hub.tutsplus.com/articles/polishing-up-your-creative-process--webdesign-12241" target="_blank"&gt;the previous article&lt;/a&gt; where we polished up our creative process, there&amp;#8217;s a split between either generating ideas and selecting ideas. In a commercial environment this means shortening the amount of time it takes to go through these two steps while still having valuable concepts.&lt;/p&gt;&lt;p&gt;First generate ideas (don&amp;#8217;t judge!), then translate those ideas to a number of workable concepts.&lt;/p&gt;&lt;h3&gt;Idea Generation&lt;/h3&gt;&lt;p&gt;It&amp;#8217;s important during the idea generation process that you work in an efficient fashion.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/creativity-and-commerce-idea.jpg" alt="creativity-and-commerce-idea" width="600" height="300" class="alignnone size-full wp-image-12626" /&gt;&lt;/p&gt; &lt;figcaption&gt;Making of &lt;a
href="http://culturedcode.com/things/iphone/makingof/" target="_blank"&gt;Things&lt;/a&gt;&lt;/figcaption&gt; &lt;/figure&gt;&lt;p&gt;I personally prefer to go through this whole phase in a set amount of time with my preferred techniques to gain valuable concepts. There&amp;#8217;s a difference between working in a team and working alone.&lt;/p&gt;&lt;blockquote
class="pullquote"&gt;&lt;p&gt;Even though our creative process can be a very chaotic one, in business it&amp;#8217;s better to have it structured.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;For &lt;strong&gt;teams&lt;/strong&gt; it&amp;#8217;s advisable to go through the whole process together; from brief to brainstorm. By having more people participate in your idea generation process in a limited amount of time, you&amp;#8217;ll gain a lot of input within a short period. This is a great start for the idea selection, which can be done with fewer people, such as the art director and the lead developer.&lt;/p&gt;&lt;p&gt;The preferred techniques are a good old brainstorm, with rules explained in &lt;a
href="http://hub.tutsplus.com/articles/polishing-up-your-creative-process--webdesign-12241" target="_blank"&gt;our previous article&lt;/a&gt;.&lt;/p&gt;&lt;blockquote
class="pullquote"&gt;&lt;p&gt;Creativity depends on the right conditions rather than time.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;But what if you&amp;#8217;re working &lt;strong&gt;alone&lt;/strong&gt;? The problem with working alone is that you can be in a very creative mood and can come up with a lot of ideas quickly, or simply have no inspiration at all. This is why, unlike in team settings, it&amp;#8217;s not really recommended to put a time limit on your creative process unless you feel experienced with time pressure and creativity.&lt;/p&gt;&lt;p&gt;Recognize when you&amp;#8217;re creative and use that time for idea generation instead of developing, for example. Find your preferable methods which work out the best for you. The best tip is that whenever you lack creative ideas, step away from the problem (and your computer) for a while. Go grab a coffee or take a walk. A fresh mind does miracles. Creativity depends on the right conditions rather than time.&lt;/p&gt;&lt;p&gt;Even though our creative process can be a very chaotic one, in business it&amp;#8217;s better to have it structured. Why? Simply, it generates results in a fashion you enjoy in a limited timespan. This is my preferred method, but you can play around with yours until you found the perfect approach for you or your company!&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Start with a quick brief. Even if it&amp;#8217;s just you. Define the problem. Understand the project and the expectations.&lt;/li&gt;&lt;li&gt;Spend about 15 minutes on the internet to figure what exists, what the best practices are and some general inspiration.&lt;/li&gt;&lt;li&gt;Shut down your computer, have a brainstorm with just you, a pencil and paper. Limit yourself in time. I prefer about 45 minutes. (In groups, have an old-fashioned brainstorm!)&lt;/li&gt;&lt;li&gt;Time&amp;#8217;s up. Have a coffee together, have a conversation about what you ended up with. This first interaction is important. If you&amp;#8217;re alone, try to call anyone who you believe can offer some feedback or insight. &lt;strong&gt;Always&lt;/strong&gt; have a chat with somebody else before moving on.&lt;/li&gt;&lt;li&gt;Spend a half hour refining your ideas to a number of concrete concepts. (Still on paper!)&lt;/li&gt;&lt;li&gt;Time to move to the idea selection.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;With an investment of about two hours, you should have a good start to the project. Keep things nicely open-ended. You might have a creative block during this process. No problem, remember the previous articles. Focus on finding the cause and beating it and you&amp;#8217;ll be fine.&lt;/p&gt;&lt;h3&gt;Idea Selection&lt;/h3&gt;&lt;p&gt;Idea selection is usually a much smoother process. Again I prefer to work with a structure.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Scrap the obvious bad ideas after you&amp;#8217;ve checked them if they can&amp;#8217;t be combined with your other ideas.&lt;/li&gt;&lt;li&gt;Use any preferred technique to reduce your ideas to two/three concepts.&lt;/li&gt;&lt;li&gt;Take each concept to the next level. More than that you should.&lt;/li&gt;&lt;li&gt;Open your computer, start with intensive communication with your client.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;When presenting ideas, don&amp;#8217;t design pixel-perfectly. Rather, get your idea and the mood of your idea across. The power of moodboards are incredible. They are low-effort and give clients visuals. Clients love visuals. Always provide them together with your concepts.&lt;/p&gt;&lt;blockquote
class="pullquote"&gt;&lt;p&gt;Make sure that you like the concepts you are about to present.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;On the topic of concepts, always read your brief again before presenting them to a client. Always make sure that you like the concepts you are about to present. You should be excited yourself. It&amp;#8217;s far easier to sell something which you believe is really amazing and would be fun to work on. If it doesn&amp;#8217;t make anyone excited, honestly, what&amp;#8217;s the point then?&lt;/p&gt;&lt;p&gt;Three variations of one idea is still just one concept. Don&amp;#8217;t offer clients variations, rather select which variation is best as a designer. Don&amp;#8217;t provide one amazing concept and two bad ones in the hope that the client will select the amazing one. Even in this very early stage of your project, deliver gold. Have varied concepts, have a good discussion with clients how you came to these and how they can solve the clients problem. Choose a concept together and blow their mind.&lt;/p&gt;&lt;hr/&gt;&lt;h2&gt;Commercial Creativity Means Taking Decisions&lt;/h2&gt;&lt;p&gt;Even when everyone has agreed on a concept, during the development process there will come a moment that you feel something is wrong. One of the guilty things we designers tend to do is move around elements, design variations or simply continue with the hope that it will get better, when it actually just becomes worse.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/creativity-and-commerce-decision.jpg" alt="creativity-and-commerce-decision" width="600" height="300" class="alignnone size-full wp-image-12625" /&gt;&lt;/p&gt; &lt;figcaption&gt;Switch by Delacro on &lt;a
href="http://dribbble.com/shots/765858-Switch-gif" target="_blank"&gt;Dribbble&lt;/a&gt;&lt;/figcaption&gt; &lt;/figure&gt;&lt;p&gt;Understand you&amp;#8217;re doing something which is totally useless and stop it. There&amp;#8217;s something wrong and you have to figure out what exactly is wrong. Ask other people what they think (they haven&amp;#8217;t been staring so long on something as you have), what they believe the conflict is or start retracing your steps until you&amp;#8217;ve figured what went wrong. This might look like a waste of time, but it&amp;#8217;s smarter and quicker than making variations.&lt;/p&gt;&lt;hr/&gt;&lt;h2&gt;Risks, Innovation and Silliness&lt;/h2&gt;&lt;blockquote
class="pullquote"&gt;&lt;p&gt;Silly projects relate to you as commercial designer, in that they make you a better one.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Creativity always has some magic tricks up its sleeve. Designers have crazy (and fun) ideas. Take &lt;a
href="http://inception.davepedu.com/" target="_blank"&gt;this&lt;/a&gt; for example, or &lt;a
href="http://www.theuselessweb.com/" target="_blank"&gt;this&lt;/a&gt;, or even &lt;a
href="http://eelslap.com/" target="_blank"&gt;this&lt;/a&gt;. These silly projects might not have any commercial value, but they experiment with the possibilities on the internet. They might attempt new techniques. They might inspire you during the development process. They relate to commercial projects in a sense that make you a better designer.&lt;/p&gt;&lt;p&gt;Even when it comes to business models, creativity is an important asset. They can help you define new ways to earn revenue, reduce the risks or invent innovative ideas which can be a game-changer. Simply, it&amp;#8217;s a skill you can use every day in any situation. To be truly creative, you will have to take risks and try to be innovative. Dare to beat the industry standards and blow everyone away.&lt;/p&gt;&lt;hr/&gt;&lt;h2&gt;Conclusion&lt;/h2&gt;&lt;p&gt;Creativity has commercial value and it&amp;#8217;s an important asset you&amp;#8217;ll keep using day by day. Don&amp;#8217;t be afraid to try something new to make your creativity more efficient. Question your way of working from time to time.&lt;/p&gt;&lt;p&gt;Take clients on a wonderful journey during the design process, communicate efficiently and deliver something better than you expected in the first place!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/webdesigntutsplus/~4/mYyuV2TRPZA" height="1" width="1"/&gt;</description> <wfw:commentRss>http://webdesign.tutsplus.com/articles/general/connecting-creativity-and-commerce/feed/</wfw:commentRss> <slash:comments>1</slash:comments> <feedburner:origLink>http://webdesign.tutsplus.com/articles/general/connecting-creativity-and-commerce/</feedburner:origLink></item> <item><title>How They Did It: Flickr Redesign</title><link>http://feedproxy.google.com/~r/webdesigntutsplus/~3/HHDczworII4/</link> <comments>http://webdesign.tutsplus.com/articles/general/how-they-did-it-flickr-com-redesign/#comments</comments> <pubDate>Mon, 27 May 2013 09:43:18 +0000</pubDate> <dc:creator>Jonathan Cutrell</dc:creator> <category><![CDATA[General]]></category> <category><![CDATA[flickr]]></category> <category><![CDATA[how they did it]]></category> <guid isPermaLink="false">http://webdesign.tutsplus.com/?p=12573</guid> <description>&lt;a
href='http://rss.buysellads.com/click.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=12573&amp;c=650211968' target='_blank'&gt;&lt;img
src='http://rss.buysellads.com/img.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=12573&amp;c=650211968' border='0' alt='' /&gt;&lt;/a&gt;&lt;p&gt;Fresh on the heels of Yahoo!&amp;#39;s acquisition of Tumblr, Yahoo! has implemented a complete redesign of &lt;a
target="_blank" href="http://www.flickr.com/"&gt;Flickr.com&lt;/a&gt;. This was met with some &lt;a
target="_blank" href="http://www.techradar.com/news/world-of-tech/photography-video-capture/new-flickr-has-yahoo-lost-its-mind--1153038"&gt;strong criticism&lt;/a&gt; as well as &lt;a
target="_blank" href="http://danwin.com/2013/05/flickr-redesign-a-photo-service-worth-sharing/"&gt;strong praise&lt;/a&gt;, a lot of which has been attributed to Yahoo!&amp;#39;s new leader, &lt;a
target="_blank" href="http://www.forbes.com/profile/marissa-mayer/"&gt;Marissa Mayer&lt;/a&gt;. In this article, we will talk about the design decisions and some of the implementation details in the redesign, and we will open some conversation about Yahoo!&amp;#39;s acquisition of Tumblr.&lt;/p&gt;&lt;p&gt;&lt;span
id="more-12573"&gt;&lt;/span&gt;&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Built for Photography Enthusiasts&lt;/h2&gt;&lt;p&gt;The role of Flickr is often questioned by critics of Yahoo!, as Facebook surpassed it as the most popular online photo uploading service. In this redesign of Flickr, we see an interesting set of priorities reflected, which we will discuss in this section.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/flickr-how-they-did-it-hom.png" alt="flickr-how-they-did-it-hom" width="600" height="394" class="alignnone size-full wp-image-12582" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;These priorities reflect that Flickr is targeting an audience of photography enthusiasts.&lt;/p&gt;&lt;h3&gt;The Home Page Image Choices&lt;/h3&gt;&lt;p&gt;By looking at a random selection of photos from Facebook, you will most likely see a collection of friends-at-the-beach or &amp;quot;selfie&amp;quot; photos. Even in Facebook&amp;#39;s advertisements, we see images that are driven by one factor: capturing socially driven moments.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/flickr-how-they-did-it-selfie.png" alt="flickr-how-they-did-it-selfie" width="600" height="399" class="alignnone size-full wp-image-12584" /&gt;&lt;/p&gt; &lt;figcaption&gt;Writer Justin Rocket Silverman &lt;a
target="_blank" href="http://www.nydailynews.com/life-style/photo-tips-selfie-obsessed-article-1.1312835"&gt;learns the art of the &amp;#8216;selfie&amp;#8217;&lt;/a&gt;&lt;/figcaption&gt; &lt;/figure&gt;&lt;p&gt;However, looking at the Flickr homepage, we don&amp;#39;t see a single image that would be primarily considered &amp;quot;social&amp;quot;. We instead see a selection of primarily nature or pet images, with a few other posed photos. These images are best understood as highly intentional, taken by photography enthusiasts.&lt;/p&gt;&lt;h3&gt;The Home Page Information Choices&lt;/h3&gt;&lt;p&gt;The home page of Flickr pushes a few messages and a single call to action. The primary message is Flickr&amp;#39;s groundbreaking free terabyte of space for images and videos. They emphasize this in the primary landing message, &amp;quot;Smile. Everyone gets a free terabyte&amp;quot; and further in the second &amp;quot;Biggr&amp;quot; slide below the fold, which allows the user to see how many images of a given resolution they could upload to Flickr.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/flickr-how-they-did-it-biggr1.png" alt="flickr-how-they-did-it-biggr" width="600" height="366" class="alignnone size-full wp-image-12587" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;The megapixel slider goes from 0 to 16 Megapixels. The third slide explains that users can upload their images at their original resolution, and can expect no loss of quality.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/flickr-how-they-did-it-resolution.png" alt="flickr-how-they-did-it-resolution" width="600" height="293" class="alignnone size-full wp-image-12589" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;These messages speak strongly to photography enthusiasts; having enough free space to upload high quality images is of importance to photographers. In contrast, Facebook does not communicate any quality or space implications to uploading images.&lt;/p&gt;&lt;h3&gt;Photos are King: Content Citizenship&lt;/h3&gt;&lt;p&gt;The new Flickr is hyper-focused on photo-centric experiences. This generally places user accounts as a secondary content element. For instance, when a user signs in, the &amp;quot;home&amp;quot; page shows a feed of images and their associated interactions from other users. The logged-in user&amp;#39;s groups can be seen to the right. Clicking on a photo opens a navigable lightbox.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/flickr-how-they-did-it-logged-in.png" alt="flickr-how-they-did-it-logged-in" width="600" height="301" class="alignnone size-full wp-image-12590" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;Flickr also has created a new slideshow experience. The search bar focuses on user uploads (rather than user &amp;quot;profiles&amp;quot;) by default. The next two options are your personal photostream, then your &amp;quot;contacts&amp;#39; photos&amp;quot;. Finally, the search type can be changed to groups, and lastly for members.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Flickr Isn&amp;#39;t Confused&lt;/h2&gt;&lt;p&gt;As a secondary effect of Flickr&amp;#39;s hyper-focus on photography and the people who care about it, we can quickly see that Flickr&amp;#39;s goal isn&amp;#39;t to compete with Facebook. Instead, it is to become &lt;em&gt;the&lt;/em&gt; photography cloud service for the average photography enthusiast and the professional career photographer to store and discuss photos.&lt;/p&gt;&lt;p&gt;This is not to diminish the interactions enabled by the new redesign. In fact, interaction and conversation is encouraged more than the previous Flickr, which was primarily focused on showing each individual user their most recently uploaded photos. But Flickr&amp;#39;s social interactions revolve entirely around &lt;em&gt;the photos;&lt;/em&gt; in fact, on a single user&amp;#39;s profile page, there is no &amp;quot;wall&amp;quot;. Instead, there is a stream of that user&amp;#39;s uploaded photos, which can easily be launched into a slideshow. If you like a particular user, you can &amp;quot;Follow&amp;quot; them (Tumblr, anyone?), which will bring that user&amp;#39;s photos and associated comments to your logged-in home feed.&lt;/p&gt;&lt;p&gt;Users can access FlickrMail, but only if they have people added to their Contacts; furthermore, access to FlickrMail is somewhat buried.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/flickr-how-they-did-it-mail.png" alt="flickr-how-they-did-it-mail" width="600" height="400" class="alignnone size-full wp-image-12592" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;Groups can post very simple &amp;quot;discussions&amp;quot;, which are like forum posts; however, further communication is relatively limited to comments on photos.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Flickr isn&amp;#39;t confused or unfocused;&lt;/strong&gt; instead, it is clearly focused on creating a place to talk about and store photographs.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Some Dirty Details&lt;/h2&gt;&lt;p&gt;As is the custom with the &amp;quot;How they did it&amp;quot; series, we are going to spend some time talking about the technical aspects of the new implementation. This section isn&amp;#39;t about the overall strategy or whether or not it&amp;#39;s effective; instead, this section is packed with tips and tricks based on Flickr&amp;#39;s implementation.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Welcome to the Future&lt;/h2&gt;&lt;p&gt;Flickr&amp;#39;s design hasn&amp;#39;t seen a significant update for about seven years. In that time, there have been large advancements made in computing, including much more widespread access to broadband, a general increase in broadband speeds, and a massive shift to mobility and multi-device accessibility. For this reason, Flickr of 2012 looked quite dated, primarily based on a low-bandwidth thumbnail focus, generally displaying one higher resolution image at a time. Furthermore, the Flickr before the redesign did not take advantage of many of the affordances of newer browser technologies.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/flickr-how-they-did-it-large.jpg" alt="flickr-how-they-did-it-large" width="600" height="404" class="alignnone size-full wp-image-12594" /&gt;&lt;/p&gt; &lt;figcaption&gt;Flickr of yesteryear&lt;/figcaption&gt; &lt;/figure&gt;&lt;h3&gt;Parallax &amp;#8211; Flickr is Doing it Right&lt;/h3&gt;&lt;p&gt;We&amp;#39;ve posted about parallax on Tuts+ &lt;a
target="_blank" href="http://hub.tutsplus.com/search?utf8=%E2%9C%93&amp;#038;s=parallax"&gt;plenty of times before&lt;/a&gt;. When opening a conversation about parallax techniques, one of the first issues addressed is performance. Too often, parallax is implemented in naive ways, like some variation of the following (or worse).&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; this assumes the site is using jQuery..&lt;/p&gt;&lt;pre class="brush: jscript; title: ; notranslate"&gt;$(window).on(&amp;quot;scroll&amp;quot;, function(){
  $(&amp;quot;.parallax-item&amp;quot;).each(function(){
    $(this).css({
      marginTop : $(window).scrollTop()*.5
    });
  });
});
&lt;/pre&gt;&lt;p&gt;For an example, &lt;a
target="_blank" href="http://codepen.io/jcutrell/pen/hFlda"&gt;check out this Pen!&lt;/a&gt;&lt;/p&gt;&lt;p&gt;What&amp;#39;s wrong with this approach? First, every scroll event runs the function being called. There is no caching of JavaScript objects, no scroll throttling and as importantly, this doesn&amp;#39;t take advantage of CSS3 transforms or hardware acceleration.&lt;/p&gt;&lt;p&gt;Making simple changes can help dramatically increase performance in scroll-event-powered interaction, and Flickr has done just that. Here are the primary JavaScript functions used in the parallax technique. (We&amp;#39;ve taken the liberty to add some comments for understanding&amp;#39;s sake.)&lt;/p&gt;&lt;pre class="brush: jscript; title: ; notranslate"&gt;(function () {
            // setting up variables to be used throughout
                var useTransform = true;
                var useParallax = true;
                var ua = navigator.userAgent;
                var winLoc = window.location.toString();
                // useragent matching for progressive enhancements
                var is_webkit = ua.match(/webkit/i);
                var is_firefox = ua.match(/gecko/i);
                var is\_newer\_ie = ua.match(/msie (9|([1-9][0-9]))/i);
                var is\_older\_ie = ua.match(/msie/i) &amp;amp;&amp;amp; !is\_newer\_ie;
                var is\_ancient\_ie = ua.match(/msie 6/i);
                var is_mobile = ua.match(/mobile/i);
                // to see the page's performance with 2d transforms (instead of 3d), visit http://www.flickr.com/#transform=2d
                var use2DTransform = (ua.match(/msie 9/i) || winLoc.match(/transform\=2d/i));
                var requestAnimationFrame = null;
                var prefixes, transform;
                var parallaxItems = [];
                var scrollHandler = null;
                var nodes;
                var lastExec = new Date();
                // The next two checks potentially used for debugging, or for specific devices or links.
                // To see the page's performance without transforms (margin-top implementation), visit http://www.flickr.com/#notransform
                if (winLoc.match(/notransform/i)) {
                    useTransform = false;
                }
                // to see the page without parallax, visit http://www.flickr.com/#noparallax
                if (winLoc.match(/noparallax/i)) {
                    useParallax = false;
                }
                // Check user agent variables to decide whether or not to use parallax.
                if (is_mobile || is\_ancient\_ie) {
                    useParallax = false;
                }
                // If the url has &amp;quot;useraf&amp;quot; in it, use request animation frame
                if (winLoc.match(/useraf/i)) {
                    requestAnimationFrame = (window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame);
                }
                // setting up transform prefixes
                prefixes = {
                    webkit: 'webkitTransform',
                    firefox: 'MozTransform',
                    ie: 'msTransform',
                    w3c: 'transform'
                };
                if (useTransform) {
                    if (is_webkit) {
                        transform = prefixes.webkit;
                    } else if (is_firefox) {
                        transform = prefixes.firefox;
                    } else if (is\_newer\_ie) {
                        transform = prefixes.ie;
                    }
                }
                // The main function for parallax items
                // takes a containerNode param, which is the relative-positioned
                // parent of the absolutely positioned parallax image.
                function ParallaxItem(containerNode) {
                    // set up some vars for caching values throughout
                    var container, bgElements, offset, bgHeight, containerHeight, maxScrolls, height;
                    // cache a YUI-wrapped instance of the container, similar to $(containerNode) in jQuery
                    container = Y.one(containerNode);
                    // get the elements with a class of &amp;quot;parallax-background&amp;quot; inside the container.
                    // the homepage only has one element per container, but this could scale to have multiple bg items
                    bgElements = container.all('.parallax-background');
                    // function to refresh variables for each parallax item
                    function refreshCoords() {
                        offset = container.getY();
                        containerHeight = container.get('offsetHeight');
                        bgHeights = [];
                        maxScrolls = [];
                        bgElements.each(function (item) {
                            height = item.get('offsetHeight');
                            bgHeights.push(height);
                            // max scroll of each container is the
                            // container's offsetHeight - parallax item's offset height + 2
                            maxScrolls.push(containerHeight - height + 2);
                        });
                    }
                    // the actual parallax moving function
                    function refresh(docScrollY) {
                        var i, j, scroll, transformParam;
                        i = 0;
                        bgElements.each(function (bgElement) {
                            // scroll is set to the max of the element's maxscroll and the
                            // document's scroll position minus the offset of the current container
                            // divided by the container's height multiplied by the max scroll.
                            scroll = -Math.round(((docScrollY - offset) / containerHeight) * maxScrolls[i]);
                            scroll = Math.max(scroll, maxScrolls[i]);
                            var transformParam;
                            if (!use2DTransform) {
                                transformParam = 'translate3d(0px,' + scroll + 'px, 0px)';
                            } else {
                                transformParam = 'translateY(' + scroll + 'px)';
                            } if (transform &amp;amp;&amp;amp; transformParam) {
                                bgElement.setStyle(transform, transformParam);
                                bgElement.setStyle(prefixes.w3c, transformParam);
                            } else {
                                bgElement.setStyle('marginTop', scroll + 'px');
                            }
                            i++;
                        });
                    }
                    refreshCoords();
                    return {
                        'refresh': refresh,
                        'refreshCoords': refreshCoords
                    }
                }
                // this runs the parallax mover &amp;quot;refresh&amp;quot; function if there are parallax items,
                // passing in the current scroll position of the document
                function refreshParallaxItems() {
                    var docScrollY = Y.DOM.docScrollY();
                    if (!parallaxItems || !parallaxItems.length) {
                        return false;
                    }
                    for (var i = 0, j = parallaxItems.length; i &amp;lt; j; i++) {
                        parallaxItems[i].refresh(docScrollY);
                    }
                }
                function scrollWatcher() {
                    if (requestAnimationFrame) {
                        requestAnimationFrame(refreshParallaxItems);
                    } else {
                        refreshParallaxItems();
                    }
                }
                function addParallaxItem(containerNode) {
                    parallaxItems.push(new ParallaxItem(containerNode));
                    if (!scrollHandler) {
                        scrollHandler = Y.on('scroll', scrollWatcher);
                    }
                }
                // finally, this actually goes through the parallax items and adds them to memory,
                // which sets up all of the event watching, etc
                if (useParallax) {
                    nodes = Y.all('#flickr-frames .parallax-item');
                    nodes.each(function (item) {
                        addParallaxItem(item);
                    });
                    // Whenever a PhotoListView is rendered,
                    // refresh the coordinates of the parallax pieces
                    Y.on('PhotoListView:render', function () {
                        var now = new Date();
                        if (now - lastExec &amp;gt; 250) {
                            for (var i = 0, j = parallaxItems.length; i &amp;lt; j; i++) {
                                parallaxItems[i].refreshCoords();
                            }
                            lastExec = now;
                        }
                    });
                    // Load in the coordinates of the parallax pieces when the document loads
                    refreshParallaxItems();
                }
            }());
&lt;/pre&gt;&lt;p&gt;Check out the comments we&amp;#39;ve added to get a fuller understanding of what&amp;#39;s happening here. This may seem a bit daunting, especially if you aren&amp;#39;t familiar with Yahoo!&amp;#39;s YUI node JS utilities. Instead of getting caught up on all of the details of this code, let&amp;#39;s look at a few specific important pieces that matter.&lt;/p&gt;&lt;p&gt;First we see the extensive use of variable caching. This includes setting up max heights, offsets, etc in a refresh. Next, we see use of progressive enhancement to define when to use 3D, 2D, or no transforms. This greatly improves performance for newer browsers. Furthermore, 3D transforms are supported in all current major browsers (except Opera and Opera Mini), which means a significant performance improvement by way of hardware acceleration, which kicks in when using 3D transforms on a given element. (Check out &lt;a
target="_blank" href="http://www.html5rocks.com/en/tutorials/speed/html5/"&gt;this article&lt;/a&gt; for more information). This helps the homepage realize much higher framerates &amp;#8211; usually at or above 60fps.&lt;/p&gt;&lt;p&gt;It&amp;#39;s interesting to note that the Flickr dev team left some seemingly unused pieces in the source code, like url-based functionality switches that enable or disable things like parallax and transforms. Perhaps this is used for certain device redirects; this may have been a debugging technique the dev team forgot to take out. It also could be a callout to devs to play around with the application and see the performance benefits of using these different techniques. Whatever it is, it&amp;#39;s a blast to play around with once you find it, and has virtually no performance impact.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;One more note about the parallax implementation:&lt;/strong&gt; Flickr has completely avoided using background-size for the image containers, and has avoided &amp;quot;full-screen&amp;quot; sizing as well, opting instead for generally min-height parallax container elements. Why? &lt;a
target="_blank" href="http://stackoverflow.com/questions/7033979/my-fixed-background-made-scrolling-the-site-very-slow-what-can-i-do-to-improve"&gt;Performance of &lt;code&gt;background-size:cover&lt;/code&gt; is terrible&lt;/a&gt;, causing low framerates and generally a degraded user experience. Instead, Flickr has chosen to load larger background images; 2048&amp;#215;850, to be exact. This covers the width of almost any screen, and provides enough height to do an effective parallax implementation. Browser repaints are reduced significantly as well.&lt;/p&gt;&lt;h3&gt;CSS3 Powered Call-to-action&lt;/h3&gt;&lt;p&gt;In a throttled scroll-watching function, the final call-to-action at the bottom of the Flickr homepage transitions in as the user scrolls over a wall of horizontally justified photos from users. The animation is powered by CSS3 transitions, including a 12px webkit blur filter, opacity, and scaling. The call to action includes large typography (10em or 144px to be exact), and a fittingly large CSS3-styled button.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/flickr-how-they-did-it-signup.png" alt="flickr-how-they-did-it-signup" width="600" height="400" class="alignnone size-full wp-image-12595" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;Here is the CSS for the button.&lt;/p&gt;&lt;pre class="brush: css; title: ; notranslate"&gt;/* Webdesigntuts+ note: browser-specific prefixes removed */
display: inline-block;
padding: 0px 2em 5px 2em;
font-size: 2em;
line-height: 1.75em;
font-weight: 400;
text-decoration: none;
background: #ff0084;
color: #fff;
box-shadow: 0px 2px 8px rgba(0,0,0,0.5);
border-radius: 5px;
background-image: linear-gradient(bottom, rgb(215,0,104) 35%, rgb(243,0,111) 84%);
background-clip: padding-box;
&lt;/pre&gt;&lt;p&gt;Fairly straightforward, but effective. The internal site once a user has signed up has similarly large elements, like the upload form.&lt;/p&gt;&lt;h3&gt;Other Polish and Best Practices&lt;/h3&gt;&lt;p&gt;Small enhancements throughout the homepage also work to improve user experience. For instance, the megapixel slider utilizes an inline data uri for the handle, while the slider trough solely uses css gradients and other definitions. No http requests are required for any part of the slider, other than its associated JavaScript.&lt;/p&gt;&lt;p&gt;Very slight text shadows are used on the headers to lift them off of their associated background images a bit. Semi-transparent (RGBa) background colors are being used for the top navigation bar as well as the image wall titles. Flickr is also using &lt;a
target="_blank" href="http://mustache.github.io/"&gt;Mustache templates&lt;/a&gt; for the image wall. All of these elements allude to the fact that Flickr is getting a push towards maintaining a much more leading-edge front-end design.&lt;/p&gt;&lt;h3&gt;Criticism&lt;/h3&gt;&lt;p&gt;Here are a few thoughts about things that could be better with the new Flickr, or that you may consider in your development practices.&lt;/p&gt;&lt;h4&gt;Responsive Implementation&lt;/h4&gt;&lt;p&gt;Right now, the mobile strategy adopted by Flickr relies on two main points: native applications and a mobile specific site. The mobile specific site is much less attractive than the desktop version. Considering the simple fact that mobile is growing faster than ever, this redesign could and should be reconsidered as an opportunity to adopt responsive strategies. The desktop version of the site is less than ideal at anything lower than 960px. This throws out many smaller tablets and almost any phone.&lt;/p&gt;&lt;h4&gt;Minified, Less, More Specific JavaScript&lt;/h4&gt;&lt;p&gt;Best practices tell us that marketing-driven, call-to-action homepages and splash pages are not the best place to load application content. However, Some of the scripts loaded on Flickr.com&amp;#39;s new homepage are used throughout the rest of the application. It would be benefical to, instead, create a single, smaller JavaScript file that relies less on the YUI library, and more on simple event listeners, selectors, and AJAX functions.&lt;/p&gt;&lt;p&gt;That JavaScript file needs to be minified as well; however, it may be the case that it isn&amp;#39;t minified for the sake of developers who want to peek at the source. (See &lt;a
href="#flickr-developer-callout"&gt;the developer callout&lt;/a&gt; at the end of this article.)&lt;/p&gt;&lt;h4&gt;UA Sniffing is Unreliable&lt;/h4&gt;&lt;p&gt;User-agent sniffing is bad news unless you thoroughly check every string with every device (less practical than is useful). Unfortunately, using a simple string like &amp;quot;mobile&amp;quot; as Flickr is doing here isn&amp;#39;t enough to definitively say whether or not we&amp;#39;re on a mobile device. Sure, this may cover a significant percentage of devices, let&amp;#39;s say even 99%, but when that&amp;#39;s 99% of 200 million people, youre leaving 2,000,000 devices out.&lt;/p&gt;&lt;p&gt;It&amp;#39;s also unlikely that using something that enhances performance drastically, like transforms, should be limited by simple UA sniffing. Instead, using a feature detection suite like &lt;a
target="_blank" href="http://modernizr.com"&gt;Modernizr&lt;/a&gt; would be more beneficial and more definitive of the user&amp;#39;s browser abilities. Seeing as Modernizr is backed by some of the folks at Google, it&amp;#39;s not surprising we don&amp;#39;t see it included on Flickr, but the underlying concept is simple, and the tests are easily replicable.&lt;/p&gt;&lt;h4&gt;OpenGraph Tags&lt;/h4&gt;&lt;p&gt;&lt;a
target="_blank" href="http://hub.tutsplus.com/articles/take-control-of-your-social-snippets--webdesign-10187"&gt;OpenGraph tags are essential&lt;/a&gt; to sharing a site on Facebook. Sharing a site on Facebook is a basic function of the web for many users. Unfortunately, if a site doesn&amp;#39;t specifically implement OpenGraph meta tags, the shared link item looks fairly bare on a Facebook news feed.&lt;/p&gt;&lt;p&gt;If Flickr is indeed competing with Facebook, this may be a gamble that it will help them turn people against Facebook, or disassociate Flickr from Facebook entirely. Or, it could just be an oversight. Either way, it makes me (and likely some other users) avoid sharing Flickr.com with my Facebook friends.&lt;/p&gt;&lt;h4&gt;Copywriting Considerations&lt;/h4&gt;&lt;p&gt;Okay, we get that Flickr (and Tumblr) don&amp;#39;t like er&amp;#39;s. But, there comes a point where removing letters from words gets &lt;em&gt;annoying and cheesy&lt;/em&gt;, and even difficult to read. Flickr is edging on that line. Using things like &amp;quot;Biggr&amp;quot;, &amp;quot;Spectaculr&amp;quot;, and &amp;quot;Wherevr&amp;quot; arguably don&amp;#39;t improve the branding or user experience. Flickr is the name of the service; &amp;quot;bigger&amp;quot; describes a new feature of that service. Otherwise, why not also change &amp;quot;follower&amp;quot; to &amp;quot;followr&amp;quot;, or &amp;quot;developer&amp;quot; to &amp;quot;developr&amp;quot;? Because it doesn&amp;#39;t make sense and sounds alienatingly strange. Consider Apple&amp;#39;s incredibly effective advertising copywriting; &amp;quot;iPad&amp;quot; does not translate into copy like &amp;quot;Take your iMac with you, iAnywhere&amp;quot;.&lt;/p&gt;&lt;hr
/&gt;&lt;h2 id="flickr-developer-callout"&gt;Bonus: A Callout to Developers&lt;/h2&gt;&lt;p&gt;An interesting piece Yahoo! included in the source for Flickr is a callout to front-end devs, with news that &lt;a
target="_blank" href="http://flickr.com/jobs/"&gt;Flickr is hiring&lt;/a&gt;. This cool ascii logo can be found in the head tag.&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;head&amp;gt;
   ad88 88 88            88
  d8&amp;quot;   88 &amp;quot;&amp;quot;            88
  88    88               88
d88888d 88 88  ,adPPYba, 88   ,d8  8b,dPPYba,
  88    88 88 a8&amp;quot;     &amp;quot;&amp;quot; 88 ,a8&amp;quot;   88P'   &amp;quot;Y8
  88    88 88 8b         8888[     88
  88    88 88 &amp;quot;8a,   ,aa 88`&amp;quot;Yba,  88
  88    88 88  `&amp;quot;Ybbd8&amp;quot;' 88   `Y8a 88
You're reading. We're hiring.
http://flickr.com/jobs/
&lt;/pre&gt;&lt;hr
/&gt;&lt;h2&gt;What Will Happen to Tumblr?&lt;/h2&gt;&lt;p&gt;Known for its younger audience with a propensity to be more brash than, say, Blogger users, but less brash than Redditors, Tumblr sits in a unique position having been acquired by a giant like Yahoo!.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/flickr-how-they-did-it-tumblr-yahoo.png" alt="flickr-how-they-did-it-tumblr-yahoo" width="600" height="400" class="alignnone size-full wp-image-12579" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;Will Yahoo! kill the free-form nature of Tumblr&amp;#39;s content creation? Will Flickr and Tumblr become integrated, so that users can publish Flickr photos automatically to Tumblr? Or will Tumblr transparently continue to exist, with simply a new terms of service that allows Yahoo! to collect and use data from Tumblr&amp;#39;s 109 million blogs and 51.2 billion posts? It could be an incredible source of data to Yahoo!, who seem to be in acquisition mode, &lt;a
target="_blank" href="http://techcrunch.com/2013/05/23/yahoo-acquires-gaming-platform-startup-playerscale/"&gt;acquiring PlayerScale days after acquiring Tumblr&lt;/a&gt;.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;What do You Think?&lt;/h2&gt;&lt;p&gt;Let us know what you think of the new Flickr, and what you think about the future of Tumblr under Yahoo!&amp;#39;s direction, in the comments!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/webdesigntutsplus/~4/HHDczworII4" height="1" width="1"/&gt;</description> <wfw:commentRss>http://webdesign.tutsplus.com/articles/general/how-they-did-it-flickr-com-redesign/feed/</wfw:commentRss> <slash:comments>7</slash:comments> <feedburner:origLink>http://webdesign.tutsplus.com/articles/general/how-they-did-it-flickr-com-redesign/</feedburner:origLink></item> <item><title>Win a Ticket to Our New Tuts+ Live Workshop</title><link>http://feedproxy.google.com/~r/webdesigntutsplus/~3/69Kq-4svh08/</link> <comments>http://webdesign.tutsplus.com/articles/news/win-a-ticket-to-our-new-tuts-live-workshop/#comments</comments> <pubDate>Thu, 23 May 2013 13:38:36 +0000</pubDate> <dc:creator>Joel Bankhead</dc:creator> <category><![CDATA[News]]></category> <guid isPermaLink="false">http://webdesign.tutsplus.com/?p=12502</guid> <description>&lt;a
href='http://rss.buysellads.com/click.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=12502&amp;c=257147575' target='_blank'&gt;&lt;img
src='http://rss.buysellads.com/img.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=12502&amp;c=257147575' border='0' alt='' /&gt;&lt;/a&gt;&lt;p&gt;&lt;strong&gt;This giveaway has now finished &amp;#8211; but &lt;a
href="http://eepurl.com/qnEP5"&gt;sign up to the newsletter&lt;/a&gt; to hear about every exciting new workshop before they&amp;#8217;re announced!&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;We have 5 tickets to give away for our newest Tuts+ Live Workshop, all you have to do is &lt;a
href="http://eepurl.com/qnEP5"&gt;subscribe to our newsletter&lt;/a&gt;. Be quick though, this giveaway ends on Monday!&lt;/p&gt;&lt;p&gt;We have a superb new Workshop, &lt;a
href="http://workshops.tutsplus.com/plugin-development.html?utm_source=wdtuts&amp;#038;utm_medium=giveawaypost&amp;#038;utm_campaign=pluginw"&gt;Introduction to WordPress Plugin Development&lt;/a&gt;, starting in a week. This is your chance to win a free ticket!&lt;/p&gt;&lt;p&gt;Simply &lt;a
href="http://eepurl.com/qnEP5"&gt;subscribe to the Tuts+ Live Workshops newsletter&lt;/a&gt; and we’ll pick the winners on Monday 27th. Read on to find out more about the Workshop and for more details about the giveaway!&lt;/p&gt;&lt;p&gt;&lt;span
id="more-12502"&gt;&lt;/span&gt;&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Introduction to WordPress Plugin Development&lt;/h2&gt;&lt;p&gt;Our newest Tuts+ Live Workshop, Introduction to WordPress Plugin Development, teaches you everything that you need to know to start developing WordPress plugins; from setting up a local development environment, all the way through to building a WordPress plugin that&amp;#8217;s ready for release into the WordPress Plugin Repository.&lt;/p&gt;&lt;p&gt;It&amp;#8217;s led by Instructor Tom McFarlin, a self-employed WordPress developer who divides his time between running his own WordPress development shop, building plugins for WordPress, blogging every day about software development in the context of WordPress, and working for 8BIT (the team responsible for Standard Theme and WP Daily).&lt;/p&gt;&lt;p&gt;Each weekly workshop will last one hour, running over a five week period. You&amp;#8217;ll have the opportunity to follow along with Tom, ask questions live during the workshop, and complete a weekly homework assignment. Not able to make it to the live recording? No problem! All of the workshop recordings will be made available online the day after the live workshop.&lt;/p&gt;&lt;p&gt;&lt;a
href="http://workshops.tutsplus.com/plugin-development.html?utm_source=wdtuts&amp;#038;utm_medium=giveawaypost&amp;#038;utm_campaign=pluginw"&gt;Learn more about Introduction to WordPress Plugin Development&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;iframe
width="640" height="360" src="http://www.youtube.com/embed/QErsaJMdmCc?rel=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Subscribe and Win a Ticket!&lt;/h2&gt;&lt;p&gt;We have 5 tickets to give away and will be choosing the winners from everyone who has subscribed to the Tuts+ Live Workshops newsletter, so no worries if you’ve already signed up. We’ll also reimburse any winners who have already paid for their ticket.&lt;/p&gt;&lt;p&gt;To enter simply &lt;a
href="http://eepurl.com/qnEP5"&gt;subscribe to the Tuts+ Live Workshops newsletter&lt;/a&gt; and stay informed on upcoming workshops!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/webdesigntutsplus/~4/69Kq-4svh08" height="1" width="1"/&gt;</description> <wfw:commentRss>http://webdesign.tutsplus.com/articles/news/win-a-ticket-to-our-new-tuts-live-workshop/feed/</wfw:commentRss> <slash:comments>4</slash:comments> <feedburner:origLink>http://webdesign.tutsplus.com/articles/news/win-a-ticket-to-our-new-tuts-live-workshop/</feedburner:origLink></item> <item><title>Quick Tip: Switch Over to Photoshop Swatches</title><link>http://feedproxy.google.com/~r/webdesigntutsplus/~3/KdHf0F-ptSU/</link> <comments>http://webdesign.tutsplus.com/tutorials/applications/quick-tip-switch-over-to-photoshop-swatches/#comments</comments> <pubDate>Thu, 23 May 2013 12:37:33 +0000</pubDate> <dc:creator>Adi Purdila</dc:creator> <category><![CDATA[Applications and Tools]]></category> <category><![CDATA[color]]></category> <category><![CDATA[photoshop]]></category> <category><![CDATA[swatches]]></category> <category><![CDATA[Tips]]></category> <category><![CDATA[Videos]]></category> <guid isPermaLink="false">http://webdesign.tutsplus.com/?p=12529</guid> <description>&lt;a
href='http://rss.buysellads.com/click.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=12529&amp;c=1121624152' target='_blank'&gt;&lt;img
src='http://rss.buysellads.com/img.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=12529&amp;c=1121624152' border='0' alt='' /&gt;&lt;/a&gt;&lt;p&gt;Let&amp;#8217;s talk about Photoshop&amp;#8217;s swatches panel. This is one of those tools which you may overlook or even intentionally ignore, which is a shame as it&amp;#8217;s really powerful! Let me show you how it works compared to your usual color-picking workflow; hopefully I&amp;#8217;ll convince you to make the switch..&lt;/p&gt;&lt;p&gt;&lt;span
id="more-12529"&gt;&lt;/span&gt;&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;(S)Watch Screencast&lt;/h2&gt; &lt;figure
class="tutorial_image"&gt; &lt;iframe
width="600" height="338" src="http://www.youtube.com/embed/ExEZIwbRw58" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;/p&gt; &lt;figcaption&gt;Alternatively, &lt;a
href="http://source.tutsplus.com/webdesign/tutorials/032_color-swatches/qt-final.mov.zip" rel="external"&gt;Download&lt;/a&gt; the video, or subscribe to Webdesigntuts+ screencasts via &lt;a
href="http://www.youtube.com/user/webdesigntutsplus/" rel="external"&gt;YouTube&lt;/a&gt;&lt;/figcaption&gt; &lt;/figure&gt;&lt;img src="http://feeds.feedburner.com/~r/webdesigntutsplus/~4/KdHf0F-ptSU" height="1" width="1"/&gt;</description> <wfw:commentRss>http://webdesign.tutsplus.com/tutorials/applications/quick-tip-switch-over-to-photoshop-swatches/feed/</wfw:commentRss> <slash:comments>4</slash:comments> <feedburner:origLink>http://webdesign.tutsplus.com/tutorials/applications/quick-tip-switch-over-to-photoshop-swatches/</feedburner:origLink></item> <item><title>Any Old Icon: All Wrapped up!</title><link>http://feedproxy.google.com/~r/webdesigntutsplus/~3/jK_yB8ToANE/</link> <comments>http://webdesign.tutsplus.com/articles/workshops/any-old-icon-all-wrapped-up/#comments</comments> <pubDate>Wed, 22 May 2013 15:59:51 +0000</pubDate> <dc:creator>Ian Yates</dc:creator> <category><![CDATA[Workshops]]></category> <category><![CDATA[icon]]></category> <category><![CDATA[tuts-workshop]]></category> <guid isPermaLink="false">http://webdesign.tutsplus.com/?p=12374</guid> <description>&lt;a
href='http://rss.buysellads.com/click.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=12374&amp;c=865587042' target='_blank'&gt;&lt;img
src='http://rss.buysellads.com/img.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=12374&amp;c=865587042' border='0' alt='' /&gt;&lt;/a&gt;&lt;p&gt;&lt;a
rel="external" href="http://tutsplus.github.io/Any-Old-Icon/"&gt;Any Old Icon&lt;/a&gt; is complete, 70 icons in all! Thank you to everyone who contributed, you can be proud to have participated in the most random icon set on Earth! For the rest of you, here&amp;#8217;s how to download and use the set..&lt;/p&gt;&lt;p&gt;&lt;span
id="more-12374"&gt;&lt;/span&gt;&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Quick Hat-Tip to Icomoon&lt;/h2&gt;&lt;p&gt;This really wouldn&amp;#8217;t have been so easy to realise without the genius of &lt;a
rel="external" href="http://twitter.com/keyamoon"&gt;@Keyamoon&lt;/a&gt;&amp;#8216;s &lt;a
rel="external" href="http://icomoon.io/app/"&gt;Icomoon&lt;/a&gt; webfont app. Uploading a pile of SVGs and outputting as a neat, usable webfont package has never been easier! And I&amp;#8217;m very happy to report that Any Old Icon is now featured within the &lt;a
rel="external" href="http://icomoon.io/app/#library"&gt;Icomoon library&lt;/a&gt; for everyone to use.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/any-old-icon-finished-library.png" alt="any-old-icon-finished-library" width="600" height="400" class="alignnone size-full wp-image-12513" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;hr
/&gt;&lt;h2&gt;Get it. Use it.&lt;/h2&gt;&lt;p&gt;I bet you&amp;#8217;re itching to use this icon set in your next project, well here&amp;#8217;s how to do it..&lt;/p&gt;&lt;h3&gt;Download&lt;/h3&gt;&lt;p&gt;To begin with, head on over to the project page &lt;a
rel="external" href="http://tutsplus.github.io/Any-Old-Icon/"&gt;http://tutsplus.github.io/Any-Old-Icon/&lt;/a&gt;. Browse the icons if you wish (I&amp;#8217;ll wait) then head back and hit the big download button.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;a
rel="external" href="http://tutsplus.github.io/Any-Old-Icon/"&gt;&lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/any-old-icon-finished-button.png" alt="any-old-icon-finished-button" width="600" height="400" class="alignnone size-full wp-image-12507" /&gt;&lt;/a&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;h3&gt;Files&lt;/h3&gt;&lt;p&gt;You&amp;#8217;ll end up with a folder called &amp;#8220;Any-Old-Icon-Master&amp;#8221;, zipped up courtesy of GitHub, which looks a bit like this:&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/any-old-icon-finished-folder.png" alt="any-old-icon-finished-folder" width="600" height="660" class="alignnone size-full wp-image-12509" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;In it you&amp;#8217;ll find the font files, an &lt;code&gt;index.html&lt;/code&gt; demo web page, a &lt;code&gt;style.css&lt;/code&gt; file, some other stuff and an &amp;#8220;svg&amp;#8221; folder which contains all the original vector artwork.&lt;/p&gt;&lt;h3&gt;Installing the Fonts on Your System&lt;/h3&gt;&lt;p&gt;If you&amp;#8217;d like to be able to use the fonts in Photoshop, Illustrator and so on, double click the &lt;code&gt;.ttf&lt;/code&gt; Truetype file and it will (should) automatically install to your system, whatever platform you&amp;#8217;re using.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/any-old-icon-finished-install.png" alt="any-old-icon-finished-install" width="600" height="340" class="alignnone size-full wp-image-12512" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;You&amp;#8217;ll then be able to select the &amp;#8220;any-old-icon&amp;#8221; font from within your favorite design application. Go nuts.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/any-old-icon-finished-photoshop.png" alt="any-old-icon-finished-photoshop" width="600" height="300" class="alignnone size-full wp-image-12514" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;h3&gt;The Web&lt;/h3&gt;&lt;p&gt;The demo &lt;code&gt;index.html&lt;/code&gt; file is what Icomoon automatically churns out and illustrates a couple of ways you can use webfont icons on the web. Take a look at &lt;code&gt;style.css&lt;/code&gt; and you&amp;#8217;ll see the necessary bits and bobs.&lt;/p&gt;&lt;p&gt;To begin with, the &lt;code&gt;@font-face&lt;/code&gt; rules, which assign a font family name (any-old-icon) and point to all the font files which you&amp;#8217;ll need to upload to a web server. Make sure all the paths are correct, relative to the css file.&lt;/p&gt;&lt;pre class="brush: css; title: ; notranslate"&gt;
@font-face {
	font-family: 'any-old-icon';
	src:url('fonts/any-old-icon.eot');
	src:url('fonts/any-old-icon.eot?#iefix') format('embedded-opentype'),
		url('fonts/any-old-icon.woff') format('woff'),
		url('fonts/any-old-icon.ttf') format('truetype'),
		url('fonts/any-old-icon.svg#any-old-icon') format('svg');
	font-weight: normal;
	font-style: normal;
}&lt;/pre&gt;&lt;p&gt;With that set, you can now use the font files in a couple of ways. The next chunk of code in &lt;code&gt;style.css&lt;/code&gt; looks like this:&lt;/p&gt;&lt;pre class="brush: css; title: ; notranslate"&gt;
/* Use the following CSS code if you want to use data attributes for inserting your icons */
[data-icon]:before {
	font-family: 'any-old-icon';
	content: attr(data-icon);
	speak: none;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
}
&lt;/pre&gt;&lt;p&gt;It sets up the styles to use &lt;a
rel="external" href="http://hub.tutsplus.com/tutorials/all-you-need-to-know-about-the-html5-data-attribute--webdesign-9642"&gt;data-attributes&lt;/a&gt;, applying a pseudo-element to any element on your page which has a data-attribute of &lt;code&gt;data-icon&lt;/code&gt;. For example, you may have:&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;span data-icon=&amp;quot;&amp;amp;#xe039;&amp;quot;&amp;gt;This span will have a :before element applied!&amp;lt;/span&amp;gt;
&lt;/pre&gt;&lt;p&gt;In which case, the value within the data-icon, an HTML entity (&lt;code&gt;&amp;amp;#xe039;&lt;/code&gt;) will be injected into the :before pseudo element. The any-old-icon font family is applied to this :before element, so the correct icon is displayed.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/any-old-icon-finished-html.png" alt="any-old-icon-finished-html" width="600" height="200" class="alignnone size-full wp-image-12510" /&gt;&lt;br
/&gt; &lt;/figure&gt; &lt;figcaption&gt;This is just how Icomoon styles things, you can handle it however you want of course..&lt;/figcaption&gt;&lt;h3&gt;Or..&lt;/h3&gt;&lt;p&gt;The next chunk of CSS applies indvidual classes for each icon (pretty big chunk of code). Then each class has further styling, applying the pseudo element in a similar way to before, but representing the icons using &lt;a
rel="external" href="http://www.w3.org/International/questions/qa-escapes#cssescapes"&gt;escaped unicode entities&lt;/a&gt;, which is necessary in CSS.&lt;/p&gt;&lt;pre class="brush: css; title: ; notranslate"&gt;
.juan-ortiz-zaforas-plug-c-female:before {
	content: &amp;quot;\e01a&amp;quot;;
}
&lt;/pre&gt;&lt;h3&gt;Lastly..&lt;/h3&gt;&lt;p&gt;What you may prefer to do, though which arguably incurs a small performance hit, is to apply the font-family to a global selector like this:&lt;/p&gt;&lt;pre class="brush: css; title: ; notranslate"&gt;
.icon {
	font-family: 'any-old-icon';
}
&lt;/pre&gt;&lt;p&gt;Which then points to the following:&lt;/p&gt;&lt;pre class="brush: xml; title: ; notranslate"&gt;
&amp;lt;span aria-hidden=&amp;quot;true&amp;quot; class=&amp;quot;icon&amp;quot;&amp;gt;&amp;amp;#xe039;&amp;lt;/span&amp;gt;
&lt;/pre&gt;&lt;p&gt;Slightly muddying up the markup, but hey.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; that &lt;code&gt;aria-hidden="true"&lt;/code&gt; is useful for hiding the markup from screenreaders and other assistive technologies. The character has little meaning without the icon, so could cause confusion.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Changing the Character Mapping&lt;/h2&gt;&lt;p&gt;If you prefer to use different characters with these icons, head on over to &lt;a
rel="external" href="http://icomoon.io/app"&gt;Icomoon&lt;/a&gt;, use Any Old Icon from the library there (or upload the font files provided with our own source), then assign whichever characters you wish before downloading the package.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/any-old-icon-finished-encoding.png" alt="any-old-icon-finished-encoding" width="600" height="576" class="alignnone size-full wp-image-12508" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;hr
/&gt;&lt;h2&gt;One Last Time&lt;/h2&gt;&lt;p&gt;Thanks again to everyone who took part! If your icon didn&amp;#8217;t make it into the final cut, I&amp;#8217;m sorry, but I have a feeling we&amp;#8217;ll be running more of these in the future. Enjoy the icon set!&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/any-old-icon-finished-icons.png" alt="any-old-icon-finished-icons" width="600" height="509" class="alignnone size-full wp-image-12511" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;img src="http://feeds.feedburner.com/~r/webdesigntutsplus/~4/jK_yB8ToANE" height="1" width="1"/&gt;</description> <wfw:commentRss>http://webdesign.tutsplus.com/articles/workshops/any-old-icon-all-wrapped-up/feed/</wfw:commentRss> <slash:comments>23</slash:comments> <feedburner:origLink>http://webdesign.tutsplus.com/articles/workshops/any-old-icon-all-wrapped-up/</feedburner:origLink></item> <item><title>Learning from Historic Web Archives</title><link>http://feedproxy.google.com/~r/webdesigntutsplus/~3/-QkOrcdexTg/</link> <comments>http://webdesign.tutsplus.com/articles/general/learning-from-historic-web-archives/#comments</comments> <pubDate>Tue, 21 May 2013 15:19:59 +0000</pubDate> <dc:creator>Warren Day</dc:creator> <category><![CDATA[General]]></category> <category><![CDATA[Design Analysis]]></category> <category><![CDATA[design theory]]></category> <category><![CDATA[Workflows]]></category> <guid isPermaLink="false">http://webdesign.tutsplus.com/?p=12474</guid> <description>&lt;a
href='http://rss.buysellads.com/click.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=12474&amp;c=59100268' target='_blank'&gt;&lt;img
src='http://rss.buysellads.com/img.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=12474&amp;c=59100268' border='0' alt='' /&gt;&lt;/a&gt;&lt;p&gt;There are a plethora of resources available to aid in your success on the web. From countless analytics and SEO applications, to thousands of articles and reports from our peers. For anyone who runs their own website we can use these resources to improve and fine tune the online experience we give our visitors. One oft-overlooked resource is the &lt;a
href="http://archive.org/" rel="external"&gt;Internet Archive&lt;/a&gt;, which contains years of fine-tuned updates and improvements from the world’s biggest and most successful websites &amp;#8211; and we can learn from them.&lt;/p&gt;&lt;p&gt;&lt;span
id="more-12474"&gt;&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;How can we have critical thinking without being able to quote and being able to compare what happened in the past?&lt;br
/&gt; &lt;footer&gt;Brewster Kahle, the founder of Internet Archive&lt;/footer&gt;&lt;/blockquote&gt;&lt;hr
/&gt;&lt;h2&gt;What are the Internet Archives?&lt;/h2&gt;&lt;p&gt;As you would expect from any kind of historial record, the &lt;a
href="http://archive.org/" rel="external"&gt;Internet Archive&lt;/a&gt; houses information dating back years. But there’s a twist; these records are cached snapshots of websites, so you can actually visit webpages such as Google from as far back as 1998. This information is priceless (not to mention quite humorous) and it&amp;#8217;s astonishing to see how design has changed over the years.&lt;/p&gt;&lt;p&gt;Check out this example from 1998 when Google was still in Beta!&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/historic-archives-google-1998.jpg" alt="historic-archives-google-1998" width="600" height="289" class="alignnone size-full wp-image-12480" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;All these amazing resources can be found on the waybackmachine over at &lt;a
href="http://archive.org/" target="_blank"&gt;archive.org&lt;/a&gt;. Simply type in a URL and start exploring.  You can have a lot of fun seeing how some of your favorite sites have developed over the years (or am I just a huge nerd?) Regardless, a lot of time, research and money had gone into improving and tweaking these websites and we can observe this information for our own benefit.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;How can we Learn From These Records?&lt;/h2&gt;&lt;blockquote&gt;&lt;p&gt;A people without the knowledge of their past history, origin and culture is like a tree without roots.&lt;br
/&gt; &lt;footer&gt;Marcus Garvey&lt;/footer&gt;&lt;/blockquote&gt;&lt;p&gt;We are always building on the knowledge of others, and I can’t think of a better place to apply this ideal than in the field of web design. By analysing the archives available to us we can see (through a certain amount of assumption) why certain decisions and changes have been made. This can help to not only see the natural progression of a website, but better understand the development process involved in bringing something like Google to what it is today.&lt;/p&gt;&lt;p&gt;By comparing the progression of many websites we can also see how design trends have changed over the years. Currently flat design is &amp;#8220;in&amp;#8221; and you can see how Webdesigntuts+ itself has changed to embrace this style.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/historic-archives-webdesigntuts.jpg" alt="historic-archives-webdesigntuts" width="432" height="244" class="alignnone size-full wp-image-12485" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;Leveraging archives is essential in learning from past developments and mistakes, so let’s take a look at a process I often use.&lt;/p&gt;&lt;h3&gt;Step 1: Choose a Website&lt;/h3&gt;&lt;p&gt;It&amp;#8217;s important to choose a subject to begin your research, preferably within the same field you wish to improve on. If you run a blog then choose a successful blog in a similar niche, if you have an online store then learn from the eCommerce masters. Of course, these are just examples.&lt;/p&gt;&lt;p&gt;When you encounter these sites as they are today it&amp;#8217;s easy to think that they popped up from nowhere with overnight success, but the Waybackmachine will tell a different story. With archives we can begin to see the years of hard work put in to achieve their current position and their design progression along the way. So just how did they do it?&lt;/p&gt;&lt;h3&gt;Step 2: Follow From the Very Beginning&lt;/h3&gt;&lt;p&gt;I will use play.com as an example here. Being the desirable URL that it is, there is data running back until 1996. However, I came across its first instance as the eCommerce store it is today on 7th August 2003. The first thing I noticed is the iconic look and feel Play have maintained for years until being acquired by &lt;a
href="http://www.rakuten.com/" rel="external"&gt;Rakuten&lt;/a&gt; back in 2011, at which point it underwent a much larger update and style change.&lt;/p&gt;&lt;p&gt;As we look at each incarnation of the site we must also remember that there are always the technological limits of the time at work, such as cross-browser support and reduced speeds.&lt;/p&gt;&lt;h3&gt;Step 3: Analyse the Progression&lt;/h3&gt;&lt;p&gt;By comparing how Play started to what it is today, you will find that the changes have been drastic. Let&amp;#8217;s drill down and examine areas such as user-experience, functionality and aesthetics. I have found four snapshots for the large updates made between 2003 and 2013. So let’s take a look and begin to understand how each change has contributed towards the next.&lt;/p&gt;&lt;h4&gt;2003&lt;/h4&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/historic-archives-Play1.jpg" alt="historic-archives-Play1" width="600" height="375" class="alignnone size-full wp-image-12481" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;This is the very first version launched in 2003. Built with tabular markup, which at the time was common, and has a simplistic layout. A unique style has been developed to give strong brand identity. The large area in the center has clearly been chosen as the prime spot for internal advertising whilst the search bar is given little weight on the page.&lt;/p&gt;&lt;h4&gt;2007&lt;/h4&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/historic-archives-Play2.jpg" alt="historic-archives-Play2" width="600" height="375" class="alignnone size-full wp-image-12482" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;Four years later you can see from the number of categories that the product range has grown substantially. The main navigation has managed, however, to maintain the same format with a much needed design upgrade. You wouldn’t think it today, but heavy bevels were actually pretty trendy at one point..&lt;/p&gt;&lt;p&gt;The old center piece has been moved down to make way for a more prominent advertising section. Not having removing it completely indicates that it was actually doing well, but it was felt the area could be put to better use.&lt;/p&gt;&lt;h4&gt;2010&lt;/h4&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/historic-archives-Play3.jpg" alt="historic-archives-Play3" width="600" height="375" class="alignnone size-full wp-image-12483" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;Again the catalogue of products has expanded. The menu has grown substantially, becoming left justified to better fit all content. The original center piece (after losing its prime spot) has fallen from grace, becoming second best to the more prominent feature, ultimately being removed completely.&lt;/p&gt;&lt;p&gt;The search bar has finally been given more weight on the page, most likely due to analysis, perhaps heat maps and user feedback highlighting its importance. You can also see how the way people interact with a website has changed as on site search became more popular.&lt;/p&gt;&lt;h4&gt;2013&lt;/h4&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/historic-archives-Play4.jpg" alt="historic-archives-Play4" width="600" height="375" class="alignnone size-full wp-image-12484" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;Finally we have play.com today; this is by far the biggest update of all. The side bar has been removed completely and there is much more whitespace. The center piece has now stretched to the full width of the page after proving for years that it held an important role on the page.&lt;/p&gt;&lt;p&gt;The style of the site has changed completely and it has almost been totally rebranded. Some familiar colors remain, however, and it is easy to see that we are still on the same website. The search bar is now much bigger than before and a user trend has clearly been noted for this to happen.&lt;/p&gt;&lt;h3&gt;Step 4: Gather Your Results&lt;/h3&gt;&lt;p&gt;By looking at each step towards the final and definitive website we can take a lot away to learn from. We can see that search has become a crucial part of eCommerce, user interaction has changed and from this I can begin to make accurate assumptions.  I believe that a user will already have in mind what they are looking for before they even get to the site, heading straight for the search bar. For this reason they will become relatively blind to most elements on the page. By making the main advertising section massively more prominent it can better catch a visitor’s eye, even subconsciously.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Bringing it all Together&lt;/h2&gt;&lt;p&gt;Now that we understand the benefits of learning from archives we can add it to our arsenal of tools and resources available to us. By using archives alongside other tools we can uncover even more information.&lt;/p&gt;&lt;p&gt;With &lt;a
href="http://www.alexa.com/" target="_blank"&gt;Alexa.com&lt;/a&gt; we are able to track the traffic of a site over the course of the last two years. By comparing this to archives we can often observe correlation. Often this can be a way to confirm our analysis of a page, be it good or bad. Sometimes a change could have had negative effects on traffic and we can learn from this not to make the same mistakes.&lt;/p&gt;&lt;h3&gt;Don&amp;#8217;t Jump to Conclusions&lt;/h3&gt;&lt;p&gt;When seeing correlations between Alexa and Internet Archives you must be sure not to jump to conclusions. The demise of MySpace was not due to a design change, but the rise of stronger opposition.&lt;/p&gt;&lt;p&gt;Do your research in order to make sure your results are accurate.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Case Study: Disqus&lt;/h2&gt;&lt;p&gt;Disqus is an awesome commenting system used across millions of websites (includiung Tuts+). Over the last year its popularity has seen huge gains. This would have been for a number of reasons, but at the time of its rise in traffic it just so happens that a large design update was made. This has surely contributed to the rise and we can begin to question why.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/historic-archives-disqus-chart.png" alt="historic-archives-disqus-chart" width="640" height="299" class="alignnone size-full wp-image-12477" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;h3&gt;The Old Design&lt;/h3&gt;&lt;p&gt;Here is the landing page of the site back in 2011.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/historic-archives-disqus1.jpg" alt="historic-archives-disqus1" width="600" height="400" class="alignnone size-full wp-image-12478" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;blockquote
class="pullquote"&gt;&lt;p&gt;You have just 10 seconds to engage users and convince them to take a closer look.&lt;br
/&gt; &lt;footer&gt;Jakob Nielsen&lt;/footer&gt;&lt;/blockquote&gt;&lt;p&gt;The overall design is solid, but the actual product is not well displayed. Without reading into it you would not have a clue what Disqus is or does. Dr Jakob Nielsen, a renowned usability expert noted that you have just 10 seconds to engage users and convince them to take a closer look. This means you need to get your initial message across as quickly as possible in order to convert visitors, here I am not convinced. Bring in the new design.&lt;/p&gt;&lt;h3&gt;The New Design&lt;/h3&gt;&lt;p&gt;Instantly you can see a huge improvement in aesthetics, the design is clean and simple.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/historic-archives-disqus3.png" alt="historic-archives-disqus3" width="600" height="334" class="alignnone size-full wp-image-12489" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;The product itself is now clearly understandable and has been given a prime spot on the page. From this, users with no clue about Disqus can better see that it is an onsite commenting system. Although the previous graphic looked nice, it held little meaning and was rather distracting from the purpose. The call to action “Get this on your site” is also much more prominent now and better guides the eye towards it.&lt;/p&gt;&lt;p&gt;I believe that from this there is clear evidence that a design change has contributed towards the increase in traffic and a decrease in drop rate. We can take this information and use it as a guide towards our own decisions when designing a splash page or advertising a product online.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Conclusion&lt;/h2&gt;&lt;p&gt;From these examples we can clearly see the benefit of learning from historic archives. They can form a crucial part of the research process in order to gain inside knowledge of the most successful websites around today.&lt;/p&gt;&lt;p&gt;It is important to do your research and use Archives as a tool alongside all other resources available. Remember that you can only make assumptions here and nothing will be hard fact. Archives can compliment your arsenal and improve the quality of your research.&lt;/p&gt;&lt;p&gt;I hope you enjoyed this article and thanks for reading!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/webdesigntutsplus/~4/-QkOrcdexTg" height="1" width="1"/&gt;</description> <wfw:commentRss>http://webdesign.tutsplus.com/articles/general/learning-from-historic-web-archives/feed/</wfw:commentRss> <slash:comments>8</slash:comments> <feedburner:origLink>http://webdesign.tutsplus.com/articles/general/learning-from-historic-web-archives/</feedburner:origLink></item> <item><title>Dunked: Launched, but Hardly Finished</title><link>http://feedproxy.google.com/~r/webdesigntutsplus/~3/XrTFagrHEbA/</link> <comments>http://webdesign.tutsplus.com/articles/workflow/dunked-launched-but-hardly-finished/#comments</comments> <pubDate>Tue, 21 May 2013 08:22:59 +0000</pubDate> <dc:creator>Mark Southard</dc:creator> <category><![CDATA[Workflow]]></category> <category><![CDATA[beta]]></category> <guid isPermaLink="false">http://webdesign.tutsplus.com/?p=12414</guid> <description>&lt;a
href='http://rss.buysellads.com/click.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=12414&amp;c=51526552' target='_blank'&gt;&lt;img
src='http://rss.buysellads.com/img.php?z=1260586&amp;k=bd32b265e46b660b3d64f818ce58f2d8&amp;a=12414&amp;c=51526552' border='0' alt='' /&gt;&lt;/a&gt;&lt;p&gt;I&amp;#39;m part of the team that has recently launched a web app called &lt;a
rel="external" href="http://www.dunked.com"&gt;Dunked&lt;/a&gt;. Dunked is a free simple-to-use online portfolio for creative types. As of May 2013, we are in public beta; continuing to build out features as well as making incremental improvements based on user feedback.&lt;/p&gt;&lt;p&gt;In this article, I am going to discuss some of the reasons I believe that a beta launch is important to the development of your product. I will also discuss how we, at Dunked, are going about the process of monitoring and gathering user feedback. Finally, I will discuss how were are going about implementing changes based on user feedback as we continue to build the product out.&lt;/p&gt;&lt;p&gt;&lt;span
id="more-12414"&gt;&lt;/span&gt;&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/dunked-process.jpg" alt="dunked-process" width="638" height="425" class="alignnone size-full wp-image-12417" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;hr
/&gt;&lt;h2&gt;Why I Like Beta Launch&lt;/h2&gt;&lt;p&gt;I personally believe that having a beta launch is a really great idea. Of course, it&amp;#8217;s inadvisable to release something which is riddled with bugs. It&amp;#8217;s also a bad idea to release a product that isn&amp;#8217;t ready for public consumption. It&amp;#8217;s far better to release the product once it has the necessary core features and is free of bugs.&lt;/p&gt;&lt;p&gt;Google is probably one of the more well known companies that initially offers products as a beta release. &lt;a
rel="external" href="http://mail.google.com"&gt;Gmail&lt;/a&gt; is a great example. Gmail was in private beta from April 2004 to February 2007, when it was made available to the general public. Even then, it still had the &amp;quot;beta&amp;quot; label. Gmail wasn&amp;#39;t officially taken out of beta for another two years. Having it as a beta product enabled Google engineers to continue enhancing Gmail based on user data as well as to test various additions.&lt;/p&gt;&lt;blockquote
class="pullquote"&gt;&lt;p&gt;Perfect just doesn&amp;#39;t exist within software development&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;I recognize that it can be tough letting users see a product before you believe it to be perfect. But perfect just doesn&amp;#39;t exist within software development. You will always need to iterate over a product in a constant effort to make improvements. I believe that by releasing a beta version of a product, you put yourself in a position to best offer users what they want. You may have assumptions that are just flat out wrong. By operating in beta, you can quickly pivot to improve your product to your users&amp;#39; needs.&lt;/p&gt;&lt;p&gt;In taking Dunked to launch, we felt that it was crucially important to identify and establish the differences between must-have features and nice-to-have features. Must-have features are the features which shape, and essentially, make your product. Must-haves are the features on which you should focus your time pre-launch. Once you&amp;#39;ve completed your list of must-haves, launch. After launch, you can tackle the nice-to-haves, fix any bugs that arise, and make adjustments based upon user feedback.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Monitoring and Gathering User Feedback&lt;/h2&gt;&lt;p&gt;As we continue to build, user feedback is like gold. Users tell us when we&amp;#39;re doing things great; when we&amp;#39;re doing things wrong; and when we&amp;#39;re being just plain stupid. Because user feedback is so valuable, it is important that you have a system in place prior to launch so that you can monitor and gather feedback. You must also establish a system to act upon the feedback that you receive.&lt;/p&gt;&lt;p&gt;Monitoring and gathering feedback is no easy task. Users are all different, with varying preferences in how they go about expressing their opinions. Therefore, you need to have a system in place to actively monitor a variety of channels of feedback. We&amp;#39;ve opted to use &lt;a
rel="external" href="http://www.desk.com"&gt;Desk&lt;/a&gt;. It serves as our central hub collecting all tweets directed at our &lt;a
rel="external" href="http://twitter.com/DunkedHQ"&gt;@DunkedHQ&lt;/a&gt; Twitter handle, comments on our Facebook page and emails sent via our support contact form (this form is linked to from within the app itself). It enables me to log into a single location, where I can review and respond to feedback in the order it was submitted. This is a win-win for us and for users. Users can express their opinions however they feel most comfortable, and we can very easily access all feedback in a single location.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/dunked-desk.jpg" alt="dunked-desk" width="638" height="425" class="alignnone size-full wp-image-12416" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;That handles current users, but what about the people that just delete their accounts without offering any feedback. Know that accounts will be closed, and do your best to collect information from users closing their accounts. At Dunked, we direct the user to a quick &amp;quot;exit&amp;quot; survey once they have completed the account deletion process. The survey is completely optional and can be completed in under five minutes. Most folks have been willing to fill it out, providing us with additional feedback on why they deleted their account. We&amp;#39;ve used &lt;a
rel="external" href="http://www.wufoo.com"&gt;Wufoo&lt;/a&gt; to handle our survey needs because they make it really dang easy.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Using User Feedback&lt;/h2&gt;&lt;p&gt;Now that we have a method of monitoring and gathering feedback, what should we do with it? For Dunked, we have a pretty simple approach. We use a to-do list within &lt;a
rel="external" href="http://basecamp.com"&gt;Basecamp&lt;/a&gt; to house the feedback we collect. Whenever a user writes in with a suggested improvement or requests a missing feature, we add it to our Wishlist/Suggestions to-do list. This list also contains our previously mentioned nice-to-have features. Not all the items that get added to the list will be added to Dunked, but it helps us to monitor the suggestions. Common feature requests are noted, moved to the top of the list, and are often included in our code sprints, which I will discuss later.&lt;/p&gt;&lt;p&gt;Unfortunately, the Dunked platform hasn&amp;#39;t been perfect, so we do occasionally get bug reports. We maintain a separate bug list also within Basecamp. Any item added to the bug list is considered a top priority and is fixed as quickly as possible.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/dunked-basecamp.jpg" alt="dunked-basecamp" width="638" height="425" class="alignnone size-full wp-image-12415" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;As I previously mentioned, we are continuing to build out core features for Dunked, but we feel it is important to act upon the feedback provided by early users. Because users have been so great in providing us with feedback, we want to implement their suggestions as time permits. We do this through daily code sprints. Once or twice a week, we will go through our Suggestions/Feedback list, and pick a few items that can be completed in a single day of coding. We complete those items, test on our development server, and then push to the production server once we are happy with the code.&lt;/p&gt;&lt;p&gt;To illustrate how user feedback has improved Dunked, consider the following example. For image uploads, we created a simple, click-to-upload button. Clicking the button launched the file browser on the user&amp;#39;s computer enabling them to browse to and upload images for their projects. It worked perfectly for us. Users, however, had some issues.&lt;/p&gt;&lt;p&gt;There are two basic options on how to handle image uploads: click-to-upload or drag-and-drop to upload. As it turns out, we (Team Dunked) each prefer click-to-upload. We didn&amp;#39;t envision that users would want drag-and-drop uploads. In gathering feedback, it became evident that we had room for improvement in image uploads. We added &amp;quot;Drag-and-drop uploads&amp;quot; to our Wishlist/Suggestions list. After multiple requests, drag-and-drop uploads was added to one of our early code sprints. Now when you want to upload images to a project, you can click-to-upload or drag-and-drop.&lt;/p&gt; &lt;figure
class="tutorial_image"&gt; &lt;img
src="http://cdn.tutsplus.com/webdesign.tutsplus.com/uploads/2013/05/dunked-uploads.jpg" alt="dunked-uploads" width="638" height="425" class="alignnone size-full wp-image-12418" /&gt;&lt;br
/&gt; &lt;/figure&gt;&lt;p&gt;This is a rather simple example of how users used Dunked differently than we envisioned. We never considered that users would be put off by our traditional method of image uploads. In monitoring, gathering, and acting upon user feedback, however, we were able to improve the Dunked for our users.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;The Limitations of a Beta Release&lt;/h2&gt;&lt;p&gt;Now that I&amp;#39;ve explained a bit about our approach to a beta release and why I think beta releases are great, I must discuss some of the mistakes and limitations that could plague a beta release. The biggest mistake that one could make in a beta release is to release a beta before it is ready. If you encounter bugs in your own testing or if you haven&amp;#39;t run a thorough set of tests on your application, you have no business releasing into beta. When you release software that you know isn&amp;#39;t ready for release, you are risking the trust of your users and the life of your product. While most beta users are willing to forgive minor bugs that pop up in beta, releasing a product that you know to be buggy is irresponsible.&lt;/p&gt;&lt;blockquote
class="pullquote"&gt;&lt;p&gt;When you release software that you know isn&amp;#39;t ready for release, you are risking the trust of your users and the life of your product.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;The second biggest mistake you could make in a beta release is to let in users too fast. While you can run stress tests, you won&amp;#39;t 100% know what your server can handle until it&amp;#39;s been put under a real test. If the server is going to crash, you want it to crash with 1,000 beta invites out and not 10,000 or 100,000 beta invites outstanding. Additionally, you are in beta, so it is possible that you will come across a bug or two. With Dunked, for example, we had an odd bug related to certain project slugs. Everything worked fine with the admin, but the live page resulted in a 403 error. It turned out to be a very simple fix. But because the issue was related the URLs, we had to correct existing URL slugs. It was certainly easier to search and remedy hundreds of project and page slugs than it would have been for hundreds of thousands.&lt;/p&gt;&lt;p&gt;One of the biggest limitations of a beta release is related to feedback. Granting users beta access, does not mean that they will provide you with feedback. Users may fully intend in provide feedback, but simply don&amp;#39;t have the time put their feedback into words. They may also feel that they are doing something wrong, when the application doesn&amp;#39;t work as they expect, and thus don&amp;#39;t write you with feedback. Additionally, if you have to iterate over a certain component within your application, odds are that the quality and quantity of the feedback is going to wane.&lt;/p&gt;&lt;hr
/&gt;&lt;h2&gt;Summary&lt;/h2&gt;&lt;p&gt;I do not believe that it is not wise to try and include every single wanted feature when launching a product. I think you are better off launching a &amp;quot;completed&amp;quot; beta version, and then continuing to iterate over the product, adding additional features. In doing so, you&amp;#39;ll be able to gather and use user feedback to improve your product.&lt;/p&gt;&lt;p&gt;Saying that, you must have a plan in place as to how you are going to monitor, gather, and act upon the feedback you collect. Thus, you&amp;#39;ll be in a position to add features that create real value for the user, improving your chances of success.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/webdesigntutsplus/~4/XrTFagrHEbA" height="1" width="1"/&gt;</description> <wfw:commentRss>http://webdesign.tutsplus.com/articles/workflow/dunked-launched-but-hardly-finished/feed/</wfw:commentRss> <slash:comments>7</slash:comments> <feedburner:origLink>http://webdesign.tutsplus.com/articles/workflow/dunked-launched-but-hardly-finished/</feedburner:origLink></item> </channel> </rss><!-- Dynamic Page Served (once) in 1.468 seconds -->
