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

<channel>
	<title>Vectorthis &#187; Instructional</title>
	<atom:link href="http://www.vectorthis.com/category/instructional/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.vectorthis.com</link>
	<description>Intelligent New Media</description>
	<lastBuildDate>Fri, 07 Jan 2011 21:32:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>IE6 .PNG Transparency Hacks</title>
		<link>http://www.vectorthis.com/ie6-png-transparency-hacks/</link>
		<comments>http://www.vectorthis.com/ie6-png-transparency-hacks/#comments</comments>
		<pubDate>Sat, 07 Feb 2009 11:41:40 +0000</pubDate>
		<dc:creator>Derek</dc:creator>
				<category><![CDATA[Instructional]]></category>

		<guid isPermaLink="false">http://www.vectorthis.com/?p=193</guid>
		<description><![CDATA[The .PNG (<em>Portable Network Graphics</em>, <em>PNGs not GIFs</em>)  has been around for years. Over a decade actually. Mid 1990’s (95-96) discussions arose revolving around the replacement for the popular .GIF format for various reasons: the 256 colour limit, the Unisys and LZW patent enforcement, among others. As of 2004 .PNG has been recognized as an International Standard (ISO/IEC 15948:2003).

With the web2.0 boom  and exponential increase in popularity with xhtml/css in 2006/2006 the .PNG has also been embraced by the web development community. The shortcoming. however: IE6. IE6’s final release was in the summer of 2001, years before .PNG was adopted as a standard, thus IE6 does not support 24bit. As of January 2009 an astonishing 18.5% of Internet surfers are <em>still</em> browsing with 8 year old IE6, which handcuff’s many web developers who are not allowed to drop support for such a percentage (still 1/5th of the market). The Solution: <strong>IE6 .PNG transparency hacks</strong>.]]></description>
			<content:encoded><![CDATA[<p>The .PNG (<em>Portable Network Graphics</em>, <em>PNGs not GIFs</em>)  has been around for years. Over a decade actually. Mid 1990’s (95-96) discussions arose revolving around the replacement for the popular .GIF format for various reasons: the 256 colour limit, the Unisys and LZW patent enforcement, among others. As of 2004 .PNG has been recognized as an International Standard (ISO/IEC 15948:2003).</p>
<p>With the web2.0 boom  and exponential increase in popularity with xhtml/css in 2006/2006 the .PNG has also been embraced by the web development community. The shortcoming. however: IE6. IE6’s final release was in the summer of 2001, years before .PNG was adopted as a standard, thus IE6 does not support 24bit. As of January 2009 an astonishing 18.5% of Internet surfers are <em>still</em> browsing with 8 year old IE6, which handcuff’s many web developers who are not allowed to drop support for such a percentage (still 1/5th of the market). The Solution: <strong>IE6 .PNG transparency hacks</strong>.</p>
<p>There are many IE6 .PNG fixes floating around the Internet, but the one I have found most effective is the .HTC method offered by <a href="http://www.twinhelix.com/css/iepngfix/" rel="nofollow" title="Twin Helix">Twin Helix</a>: It requires only one line in your CSS file, and no changes to your website HTML. &lt;IMG&gt; tags and background images are both supported. As of August 2008, v2.0 alpha 3 offers support for background tiling and positioning.</p>
<h3 class="subtitle"> How to Get the .PNG Hack Working:</h3>
<ol>
<li>Open the .HTC file and look for the following line “<strong>IEPNGFix.blankImg</strong>”. This script applies all transparent .PNGs via a background property, so for <img /> tags, it makes use of a 1&#215;1 transparent .GIF. To avoid getting IE&#8217;s red x, ensure this path points to a transparent .GIF. <em>The path is relative to the .HTC file’s location.</em></li>
<li>Once updated, place the .HTC file in the root folder of your web site directory</li>
<li>In your CSS file, preferably an IE6 only stylesheet (<a href="#IE6Only" title="see below" rel="nofollow">see below</a>) add the following: <strong><em>img, div { behavior: url(/path/to/iepngfix.htc) }</em></strong> amending the tag list to include everything you wish to have the filter applied to. See <a href="#sparingly" rel="nofollow" title="This Tip">this tip</a> for more details.</li>
<li>To make use of CSS properties including <em>background-repeat</em> and <em>background-position</em> you will need to add a javascript call to your html file: <strong><em>&lt;script src=&#8221;path/to/iepngfix_tilebg.js&#8221; type=&#8221;text/javascript&#8221;&gt;&lt;/script&gt;</em></strong></li>
</ol>
<p>Below are some of the &#8216;<em>best practices</em>&#8216; I have adopted when using this hack.</p>
<p><a id="IE6Only"></a></p>
<h3 class="subtitle">Make use of an IE6 Only stylesheet</h3>
<p>I don’t recall the technical issues that arose, but IE7 did not play nicely with this script. Page loads became incredibly sluggish and the pc usage went haywire. The solution was simple: implement an IE6 only stylesheet. IE6 is the only browser that needs this script to support .PNG transparency, so keep your CSS files clear of any hiccups use the following code so it’s only active when someone browses your site with IE6:<br />
<strong><em>&lt;!&#8211;[if IE 6]&gt;<br />
	&lt;link rel=&#8221;stylesheet&#8221; href=&#8221;path/to/css/ie6.css&#8221; type=&#8221;text/css&#8221; media=&#8221;screen&#8221; /&gt;<br />
&lt;![endif]&#8211;&gt;</em></strong></p>
<p><a id="sparingly"></a></p>
<h3 class="subtitle">Use the .PNG Hack Sparingly</h3>
<p>This script runs a filter on every tag you assign to it via your stylesheet. As a result, if you use .PNGs frequently across a large variety of html elements, the number of elements to check and run the filter against will pile up dramatically. Some practices I&#8217;ve adopted for this are:</p>
<ul class="tri-buls">
<li>Use a .GIF when available &#8211; .GIFs are still incrdibly handy for simple, light weight images like bullets or underlines, or background tiles that don’t require transparency. The fewer elements you assign to the HTC file, the fewer times it will run.</li>
<li>In addition to using .GIFs, be more specific with your selectors &#8211; If you use a .PNG as a background image on 3 &lt;DIV&gt;s, there&#8217;s no sense in checking against every single one, so identify it specifically in your css declaration: <strong><em>img.photo, #checkList li, .widgetTile { behavior: url(/path/to/iepngfix.htc) }</em></strong></li>
</ul>
<h3 class="subtitle">Do Not Repeat Horizontally</h3>
<p>This is a stupid bug I&#8217;ve noticed.</p>
<p>While v2 of this script supports background tiling and background positioning, I have noticed serious drops in performance when trying to repeat tiles horizontally. While it doesn’t provide a solution for wanting a .PNG background tile for the &lt;BODY&gt; element, a solution I&#8217;ve adopted is to identify the largest element that would make use of a certain .PNG tile, save it out at that size, then just let it overflow off smaller elements. For example:</p>
<blockquote><p>I have a side column where I want all widgets to be wrapped in a semi-transparent box. I want my main column also to be wrapped with the same tile &#8211; I save out the .PNG to the width of the main column, then in my css declarations I assign the same background image with repeat-y on both classes. It&#8217;s the same theory as just using a 1&#215;1 .PNG and tiling across both axes,  just repeating only on the one and letting the extra just run off with the smaller elements.</p></blockquote>
<h3 class="subtitle">Examples:</h3>
<p>Below are links to test-development sites where I have implemented this fix in one form or another:</p>
<ul class="tri-buls">
<li><a href="http://dev.vectorthis.com/ideo/splash.html" title="Ideo Splash Test" target="_blank" rel="nofollow">Ideo Splash Concept</a></li>
<li><a href="http://dev.vectorthis.com/parking/travel_summer_lander.html" title="Summer Travel Lander" target="_blank" rel="nofollow">Summer Travel Lander</a></li>
<li><a href="http://dev.vectorthis.com/parking/professional_lander.html" title="Professional Services Lander" target="_blank" rel="nofollow">Professional Services Lander</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.vectorthis.com/ie6-png-transparency-hacks/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Grid Based Design: Creating the Grid</title>
		<link>http://www.vectorthis.com/web-design-creating-the-grid/</link>
		<comments>http://www.vectorthis.com/web-design-creating-the-grid/#comments</comments>
		<pubDate>Sat, 20 Dec 2008 14:11:09 +0000</pubDate>
		<dc:creator>Derek</dc:creator>
				<category><![CDATA[Instructional]]></category>

		<guid isPermaLink="false">http://www.vectorthis.com/?p=177</guid>
		<description><![CDATA[Over the last couple weeks I've gotten a few requests for design advice from a few friends regarding layout/structure and the common thing I noticed with each is that no strict margin/grid system was being implemented.

I wrote up an explanation illustrating the process I follow to get my structures in place, so I've decided to throw it up in the blog for anyone else who might stumble upon it.]]></description>
			<content:encoded><![CDATA[<p>Over the last couple weeks I&#8217;ve gotten a few requests for design advice from a few friends regarding layout/structure and the common thing I noticed with each is that no strict margin/grid system was being implemented.</p>
<p>I wrote up an explanation illustrating the process I follow to get my structures in place, so I&#8217;ve decided to throw it up in the blog for anyone else who might stumble upon it.</p>
<h3 class="subtitle">Step 1: Defining the Parameters</h3>
<p>Before I start working with any numbers I layout my initial canvas as a rough sketch &#8211; I often sketch mine right out on paper. I do this to define the type of architecture &#8211; liquid graphics or framed within a box &#8211; and to get a rough idea of how I want to control content, IE column numbers. These often vary from project to project.</p>
<h3 class="subtitle">Step2: Setting up the Canvas</h3>
<p>In general, I&#8217;ve stopped supporting 800&#215;600 designs, I optimize for 1024px so depending on the design style, I usually pick between 960px-1000px widths. I like to push my backgrounds to the 1280-1440 range, but I limit my content to something below 1024. If you&#8217;re required to work for an 800&#215;600 audience, I remember 780 was my sweet spot.</p>
<p>For fluid/open concept designs, I often use larger margins, so I tend to set my content boundaries around 1000px. For framed designs, I&#8217;m going to have an extra margin on each side of the content boundary for the space between the content and the frame, so I often set my content boundary to 960, so once I&#8217;ve set the frame up, the whole thing is still under the 1024 mark.</p>
<h3 class="subtitle">Step 3: Setting the Margin/Grid Values</h3>
<p>With web design, it&#8217;s a little tricky to work with an absolute grid (like graphing paper, it&#8217;s generally solid along the x-axis, but y gets tricky, especially when dealing with dynamic content) with different browser&#8217;s sizing interpretations, but I like to keep all my blocks of content/graphics separated by a consistent spacing value.</p>
<p>Again, depending on the type of architecture (open or framed) I&#8217;ll settle on something between 10px-30px.</p>
<h3 class="subtitle">Step 4: Setting up the Grid</h3>
<p>With the design process I follow I usually end up establishing the first 3 steps as I&#8217;m brainstorming different interface ideas/concepts, so I&#8217;m usually hovering between step 3 and 4 by the time I finally make my way into Photoshop.</p>
<p>The key to setting up a solid grid is knowing how well you will be able to mix and match content block sizes. I like to define fairly thin grid sizes, so while I may only break my content into 3 or 4 columns, I want to be able to break each column into 2 or 3 pieces, so I could have a content column worth 50% of my design, and be able to break off 1/8th for a related photo and everything will still conform to the grid I&#8217;ve established. See my <a title="Vectorthis Grid Arrangement" href="http://www.vectorthis.com/wp-content/uploads/vt_grid.jpg" rel="cbox">Vectorthis grid arrangement</a> for an example, specifically, the time line.</p>
<p>On one page, you may want to break your content in half/quarters, but another you may want to break into thirds. A common thing I&#8217;ve started to run into is working with halves and thirds on the same page. In <a title="Designs using both halves and thirds" href="http://www.vectorthis.com/wp-content/uploads/travel_grid.jpg" target="_blank" rel="cbox">this example</a> I&#8217;ve broken the top half into 1/2 &amp; 2/4, and the bottom into thirds. As a result, I like to try and pick a number of grid bars that can be divisible by both 3 and 4, such as 12 or 24 &#8211; essentially, I try to work with increments of 12 unless it&#8217;s a special case where I know I won&#8217;t have to cater to both, IE I could use 18 grid bars for strictly thirds.</p>
<h3 class="subtitle">Step 5: The Equation</h3>
<p>After I&#8217;ve defined my canvas size and functionality limitations of the content, I do some simple arithmetic to define my grid bar sizes. For the following example, I&#8217;m going to set up a grid for a content area of 960, trying to set up 18 grid bars (columns of thirds). Ideally I want a margin of something around 12px.</p>
<ol>
<li>Take your column number, subtract 1, then multiply by your desired margin value. We want 18 bars, which means we&#8217;re only going to have 17 spaces, because the left/right bars will be flush with the edges of our 960 content boundary. We want each bar to be 12px apart so we will have consistent  spacing across the canvas. Our first step will look like this: <strong>17*12 = 204</strong></li>
<li>Next, subtract that value from your total content area: <strong>960 &#8211; 204 = 756</strong></li>
<li>Next, divide that result by your column number: <strong>756/18 = 42</strong>.</li>
<li>If you&#8217;re working with a framed design, add an extra margin space to each side of your content boundary to separate it from the edges of the frame, <a title="establishing the framed margins" href="http://www.vectorthis.com/wp-content/uploads/ideo_grid.jpg" target="_blank" rel="cbox">like so</a>. If you&#8217;re working with an open concept design, you can skip this part since the only frame you&#8217;ll deal with is the browser window.</li>
</ol>
<p>Now that you have a whole number, your grid bars will be 42px wide. If you end up with a decimal, you need to repeat the process trying different values for your margins / total grid numbers. If you tried 14px margins, you&#8217;d end up with a column width of 40.1111 and since you can&#8217;t work with fractions of a pixel, you won&#8217;t evenly take up the space.</p>
<h3 class="subtitle">Additional Thoughts</h3>
<p>Sometimes it&#8217;s a little tricky to strictly stick to the grid lines &#8211; IE dynamic items like horizontal menus, login/status information &#8211; but as long as you try your hardest to keep content blocks (IE treat the menu as a solid block and don&#8217;t count the space between each link) conforming to the grid, it generally comes out pretty solid.</p>
<p>Also, a common thing you&#8217;ll run into is dividing content. Sometimes you may have content appearing in a box, or you have dividing lines between content blocks. A practice I&#8217;ve adopted from print/magazine design is to keep the content conforming to the grid and to apply any accents outside the grid to 1/2 the margin value. <a href="http://www.vectorthis.com/wp-content/uploads/cognitive_grid.jpg" target="_blank" rel="cbox">In this example</a> you can see I had my accents bleed 50% into the margins. This allows content to stay aligned to each other regardless of any highlighting accent &#8211; See the top content block stay aligned with the Feature Product text underneath it.</p>
<p>Sometimes your content won&#8217;t allow you to make up all of your own column sizes. If you&#8217;re working with any kind of advertising you&#8217;re going to be forced to work with some fixed column sizes. In those cases, what I do is I&#8217;ll establish my advertising columns, then I&#8217;ll isolate the content columns as my boundaries and apply the same process. You can see with <a href="http://www.vectorthis.com/wp-content/uploads/hockey_grid.jpg" target="_blank" rel="cbox">Hockey.com</a> I framed off two side columns for advertising/widgets then applied my process to the available space left over.</p>
<hr />
<h3 class="subtitle">Edit ( Jul 27 2010 )</h3>
<p>This was the process I followed for a long time. About a month later I came across <a href="http://www.grafikk.co.uk/gridmaker/" title="The Gridmaker" target="_blank" rel="nofollow">The Gridmaker</a>. I have hesitated from taking the post down because there&#8217;s still useful info present on why I use grids and how, not just how I create the bars.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vectorthis.com/web-design-creating-the-grid/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

