<?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>Interactive Llama :: Interactive media tutorials and tips &#187; Tutorials</title>
	<atom:link href="http://www.interactivellama.com/blog/archives/category/tutorial/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.interactivellama.com/blog</link>
	<description>Interactive media tutorials and tips</description>
	<lastBuildDate>Thu, 22 Jul 2010 14:55:12 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Pruning blog posts from syndication feeds</title>
		<link>http://www.interactivellama.com/blog/archives/pruning-blog-posts-from-syndication-feeds-rss/</link>
		<comments>http://www.interactivellama.com/blog/archives/pruning-blog-posts-from-syndication-feeds-rss/#comments</comments>
		<pubDate>Wed, 15 Jul 2009 18:36:42 +0000</pubDate>
		<dc:creator>Stephen James</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Productivity & Workflow]]></category>
		<category><![CDATA[Social Networks]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://www.interactivellama.com/blog/?p=274</guid>
		<description><![CDATA[
Update: FeedHub is dead. It&#8217;s been deceased for almost a year now. Their parent company mSpoke shut the free news feed authority weighing system. I have replaced FeedHub with another free feed weighing service, PostRank. It&#8217;s not as convenient to use. All your feeds are not combined into one feed. If you have over one [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-276" title="rssbuttons" src="http://www.interactivellama.com/blog/wp-content/uploads/2009/06/rssbuttons.jpg" alt="rssbuttons" width="510" height="199" /></p>
<p><em><strong>Update:</strong></em> <a href="http://FeedHub.com">FeedHub</a> is dead. It&#8217;s been deceased for almost a year now. Their parent company <a href="http://www.mspoke.com/">mSpoke</a> shut the free news feed authority weighing system. I have replaced FeedHub with another free feed weighing service, <a href="http://www.postrank.com/">PostRank</a>. It&#8217;s not as convenient to use. All your feeds are not combined into one feed. If you have over one hundred feeds that you subscribe to, you will want to export an OPML file (collection of feed URLs) and import that file into your feed reader. You do however have the option within each feed to allow either all, good, great, or only the best ranked news feed articles.<span id="more-274"></span></p>
<p><em><strong>Original Article: </strong></em>Whether you believe that micro-blogging and syndication feeds provide too much information and makes us either <a href="http://www.theatlantic.com/doc/200807/google ">dumber</a> or <a href="http://www.theatlantic.com/doc/200907/intelligence">smarter</a>, information overload has been here for a while. Even though, Microsoft Internet Explorer has had an RSS button for two versions, I would say that syndication feeds are still not mainstream, yet highly valuable that you can feast on such a cornucopia of information without browsing to a single web page. Think of syndication as requested email (in juxtaposition to the majority of your Inbox, right?). If you are in the <a href="http://www.43folders.com/2007/11/27/sink-or-swim-managing-rss-feeds-better-groups">anal-retentive 43 folders crowd</a>, you&#8217;ve probably already have a syndication feed management process in place for two years. If you haven&#8217;t and the thought of having to browse through 100 new blog posts every day is overwhelming, I recommend <a href="http://www.feedhub.com/">FeedHub</a>.</p>
<p>I use FeedHub to provide me with the &#8220;most popular&#8221; blog posts from over 80 sources. As a web designer, I have a plethora of blogs to choose from. Some recommend if you don&#8217;t regularly get to read your feeds you have too many in your feed reader that you should <a href="http://unclutterer.com/2009/04/17/ask-unclutterer-managing-rss-feeds/">declare RSS bankruptcy</a> (similar to email bankruptcy). Another option is to create categories so that one category is for your &#8220;read all posts from these providers&#8221; and some is your &#8220;if I have time, read these posts.&#8221; I do not prefer this latter method, since I like a well-rounded mix of graphic design, programming (mostly front-end, but a little back-end), social media, blogging, and user interface posts. It is difficult to draw upon raw feeds to receive a variety of information. Some websites can be quite prolific. Do you really want to browse the headlines of all 23 posts from <a href="http://www.mashable.com/">Mashable</a> yesterday?  Probably not, unless you are one of the <a href="http://www.twellow.com/search?q=social+media">thousands of social media experts on Twitter</a>.</p>
<p><strong>What&#8217;s most popular?<br />
</strong></p>
<p>I mentioned above that FeedHub only provides the &#8220;most popular&#8221; blog posts. I don&#8217;t have the exact details&#8211;that would be similar to figuring out Google&#8217;s PageRank, but I know that you can set preferences for certain blog tags over others in order to customize your reading. You can also set that you want the articles with the most comments or links to them. It&#8217;s all part of a machine they call mSpoke.</p>
<p><strong>I like the idea. Where do I start?</strong></p>
<p>You can import <a href="http://www.interactivellama.com/blog/wp-content/uploads/2009/06/interactive-llama-feeds-2009-06.opml">an OPML of my &#8220;daily feeds&#8221;</a> (Right Click/Save As&#8230;) into FeedHub, if you think we would have similar tastes. My original list of blogs to read came from a computer science department of a university that I&#8217;ve now forgotten, and I&#8217;ve slowly added graphic design and social media oriented blogs. You can find a sample of my daily feed reads at the bottom of the Interactive Llama sidebar.</p>
<p><strong>Going forward</strong></p>
<p>For most of us, how connected we are is a lifestyle decision. You can always unplug to hike through the Canadian Rockies or to spend time with your children, unless your job mandates you reply to be &#8220;on call&#8221; and reply within five minutes. If you are in a creative, forward-thinking job (like a web designer at an agency) then, I highly recommend this hybrid of reading RSS feeds&#8211;but not too many, so that you are not overwhelmed, but do stay informed.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.interactivellama.com/blog/archives/pruning-blog-posts-from-syndication-feeds-rss/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hiding an email address from spambots and spiders</title>
		<link>http://www.interactivellama.com/blog/archives/hiding-an-email-address-from-spambots-and-web-spiders-less-spam/</link>
		<comments>http://www.interactivellama.com/blog/archives/hiding-an-email-address-from-spambots-and-web-spiders-less-spam/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 14:24:22 +0000</pubDate>
		<dc:creator>Stephen James</dc:creator>
				<category><![CDATA[HTML and CSS]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[asp]]></category>
		<category><![CDATA[crawlers]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[obfuscation]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[spam]]></category>
		<category><![CDATA[spam-bots]]></category>

		<guid isPermaLink="false">http://www.smjdesign.com/designwell/?p=204</guid>
		<description><![CDATA[
There is an army of spiders out there.  Some, like GoogleBot, you want scanning your site to be listed in their search engine. Many however have a devious purpose&#8211;to collect email addresses to add to spam email lists. If your email address is already out there, then there is no pulling it back in. The [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-266" title="spider-webs" src="http://www.interactivellama.com/blog/wp-content/uploads/2009/06/spider-webs.jpg" alt="spider-webs" width="510" height="283" /></p>
<p>There is an army of spiders out there.  Some, like GoogleBot, you want scanning your site to be listed in their search engine. Many however have a devious purpose&#8211;to collect email addresses to add to spam email lists. If your email address is already out there, then there is no pulling it back in. The only way to eliminate spam is to create a different address and inform all your contacts that you have changed email addresses.</p>
<p>Ways to combat email spam:</p>
<ul>
<li>A non-linked image</li>
<li>HTML entity encoding</li>
<li>Client-side obfuscation/abstraction (via JavaScript)</li>
<li>Server-side redirect</li>
<li>Contact form (no email address listed)</li>
</ul>
<p>If your email address, is spelled out with any client viewable code, it is possible to obtain. Now that search engines can read PDF documents, including your email within a PDF as text may be suspect. I have not gone into great depth on any of them below but have provided a short description of each method with advantages and disadvantages listed.<span id="more-204"></span></p>
<p><strong>A non-linked image</strong></p>
<ul>
<li><em>Anyone viewing images can see your address, but has to visually remember and re-type this address</em></li>
<li><em>Low chance of your email address being grabbed by a spam robot</em></li>
</ul>
<p>This is how Facebook displays email addresses in one’s profile. It is inconvenient to the user, since he or she cannot click the email address in order to send an email. The spider may grab one’s email address if a spam robot uses image reading (Optical Character Recognition) though this is unlikely at this time.</p>
<p><strong>HTML entity encoding</strong></p>
<ul>
<li><em>Anyone with a typical browser will be able to contact you</em></li>
<li><em>Medium to high chance of your email address being grabbed by a spam robot</em></li>
</ul>
<p>This method encodes certain characters of the email address into Unicode.  For instance, “Bob” in Unicode is “&amp;#66;&amp;#111;&amp;#98;” Since computers create Unicode, it does not seem like a hard task to decode from Unicode. I do not recommend this solution.</p>
<p><strong>Client-side obfuscation/abstraction (via JavaScript)<br />
</strong></p>
<ul>
<li><em>Anyone with a typical browser will be able to contact you</em></li>
<li><em>Low chance of your email address being grabbed by a spam robot</em></li>
</ul>
<p>This anti-spam solution is not a cure all&#8211;but it is my favorite right now. Some spider bots do run JavaScript. The majority of the spider robots do not however. The method described here not only prevents your email address from being obvious simple text, but it also performs levels of obfuscation and abstraction that makes it useable for actual browsers to read and gracefully degrade for those without JavaScript running.</p>
<p>In a related form, if you create your JavaScript function or call of the function on the server-side (ASP, PHP, etc) then you can <a href="http://pubs.logicalexpressions.com/Pub0009/LPMArticle.asp?ID=755">slightly change the function over a period of time</a>.  The user will never notice, since the output being given is exactly the same. It is only the input (the simple text) into the JavaScript function that is being changed.</p>
<p><strong>Server-side redirect</strong></p>
<ul>
<li><em>Anyone with a typical browser will be able to contact you</em></li>
<li><em>Medium to high chance of your email address being grabbed by a spam robot</em></li>
</ul>
<p>There are several ways to do this. Most redirect to a script that provides the email address. The problem with this solution is that spam robots will follow the link and eventually grab the URL although the email address is not in plain text. It is being given out. This is an <a href="http://jamesthornton.com/software/redirect-mailto.html">example of the server-side redirect method</a>. A similar solution is <a href="http://mailhide.recaptcha.net/">MailHide</a> from Captcha. I don’t recommend any use of Captcha except as a last resort, since I don’t enjoy using captchas myself.</p>
<p><strong>Contact form (no email address listed)</strong></p>
<ul>
<li><em>Anyone with a typical browser will be able to contact you, but will not know your email address<br />
</em></li>
<li><em>Next to no chance of your email address being grabbed by a spam robot</em></li>
</ul>
<p>This is guaranteed to save your email address from spam lists, since your email address is never used within your page. This solution could be annoying, since a potential vendor will have to use the contact form to hear more about your product. I’ve always thought this was impersonal. Although less of an issue for personal sites, a user often does not feel he or she is contacting the site owner.</p>
<p><strong>In conclusion</strong></p>
<p>The contact form is the only full-proof way, but right now, I prefer JavaScript obscuration. If my email address is captured, Gmail does a very good job (if sometimes, too aggressive) of ferreting out the email spam. If you&#8217;d like to have a small sense of justice, you can link your website to a <a href="http://towerofbabel.com/antispam/">multitude of email addresses</a> that are all fake.</p>
<p>Photo: Lake Tawakoni State Park, Texas, August 15, 2007 (Donna Garde)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.interactivellama.com/blog/archives/hiding-an-email-address-from-spambots-and-web-spiders-less-spam/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Project organization: A reasonable file framework</title>
		<link>http://www.interactivellama.com/blog/archives/project-organization-a-reasonable-file-framework/</link>
		<comments>http://www.interactivellama.com/blog/archives/project-organization-a-reasonable-file-framework/#comments</comments>
		<pubDate>Fri, 01 May 2009 20:00:31 +0000</pubDate>
		<dc:creator>Stephen James</dc:creator>
				<category><![CDATA[OS-X]]></category>
		<category><![CDATA[Productivity & Workflow]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[adobe creative suite]]></category>
		<category><![CDATA[file framework]]></category>
		<category><![CDATA[folder naming]]></category>
		<category><![CDATA[organization]]></category>
		<category><![CDATA[productivty]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[web_developer]]></category>

		<guid isPermaLink="false">http://www.smjdesign.com/designwell/?p=169</guid>
		<description><![CDATA[
The writer, Stewart O&#8217;Nan, once said &#8220;The two hardest things about writing are starting and not stopping.&#8221; Programming at its essentials is writing. When I&#8217;m wearing my web developer hat, it seems that I spend over a quarter of my time browsing around the OS-X Finder. So what better way to start programming then having [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-191" title="file-framework" src="http://www.smjdesign.com/designwell/wp-content/uploads/2009/03/file-framework.jpg" alt="file-framework" width="510" height="139" /></p>
<p>The writer, Stewart O&#8217;Nan, once said &#8220;The two hardest things about writing are starting and not stopping.&#8221; Programming at its essentials is writing. When I&#8217;m wearing my web developer hat, it seems that I spend over a quarter of my time browsing around the OS-X Finder. So what better way to start programming then having a file framework. Not only can you start more quickly, but your structure will stay consistent. Think of the last time you edited someone else&#8217;s project and that person placed all their files in one folder. <em>Oh, the horror!</em></p>
<p><strong>Introduction to my file framework</strong></p>
<p>The guiding principle for my file framework is:</p>
<blockquote><p>Either precisely title all files with hierarchical prefixes or create sub folders to categorize your files.</p></blockquote>
<p>With video projects and print projects that output to one file, file organization isn&#8217;t as essential. With web design, you do not want the files you publish getting mixed up with your source files. Yes, we all have at least once uploaded a 100MB Photoshop file to the online server and wondered why it was taking so long. This file framework focuses on web production and output.<span id="more-169"></span></p>
<p>Balance is key to file organization&#8211;it&#8217;s a means to an end. Besides SEO of a static web site or ease of future editing, most of the time your file organization isn&#8217;t going to impact the final product. I&#8217;ve seen both sides of the coin:</p>
<ul>
<li><em>Artistic Pilers:</em> one folder file organization where that person has taken the visual metaphor of the desktop a little too far, &#8220;creating a well-named folder is not very creative&#8221;</li>
<li><em>Obsessive Compulsive Filers</em><em>:</em> the overcompensation that there are too many files in a folder if you have to scroll or look for a file.</li>
</ul>
<p><strong>The source folder<br />
</strong></p>
<p>My source folder has an abbreviated name of the project. All the subfolders within my source folder start with an underscore. This is because under OS-X folders are not sorted first (this is very annoying!).</p>
<ul>
<li>__jobNumber: <em>(folder) </em>Sometimes I receive job numbers for my projects after I began them. If you don&#8217;t have the job number before you begin work, then do not place the job number in the name of the main folder. This will invalidate all linked files within the folder. Naming a sub folder with the job number will still allow a search for that job number. Remember, do not change the name of the project folder!</li>
<li>_copy: <em>(folder)</em> Place the Word Documents and the text files that you have created from them here. In general, you will want to create text documents before pasting copy into an HTML page to to rid yourself of the Word character encoding.</li>
<li>_flash: <em>(folder)</em> Place Adobe Flash files here (SWFs and FLAs) and move the finalized SWFs to the &#8220;live folder.&#8221; If you have many external file dependencies, it may be more productive to work with the source files in the &#8220;live folder.&#8221;</li>
<li>_flash_source: <em>(folder)</em> Place images and any files that your Flash files link to. If you keep all these linked files here, you can update them by overwriting the old files and clicking Update from within the Flash library.</li>
<li>_fromSuper: <em>(folder)</em> Place original layout files (such as Adobe Illustrator and Photoshop) from your creative director here. There have been too many times in the past that I&#8217;ve overwritten the original and had to ask for it again from my supervisor. Another option could be a _fromClient folder.</li>
<li>_layout: <em>(folder)</em> Place the edited layout files here, and take time to name these files correctly, so that you can refer to them later on.</li>
<li>_old: <em>(folder)</em> Place any files you want to keep, but don&#8217;t want to clutter up the other folders here</li>
<li>Notice to Future Designers: <em>(file)</em> If you want to tell future designers any important information, write a note here. Suggestions include your name and contact information and the path name to your working folder.</li>
</ul>
<p><strong>The live folder<br />
</strong></p>
<p>When working with web sites, your &#8220;live folder&#8221; will need to be in your local servers document folder.</p>
<ul>
<li>images: (folder) Place your graphics here. I recommend naming them close to the DOM of their usage</li>
<li>css: (folder) Place your IE hacks files, PNG fixes, and CSS files here</li>
<li>js: (folder) Place your JavaScript files here</li>
<li>index.html: (file) HTML template containing header information such as meta tags and structural markup such as frameworks/grids/wrappers</li>
</ul>
<p><strong>Current project folders</strong></p>
<p>You are going to want to get to these folders as fast as you possibly can. If you work on a Macintosh, place your source folder and your live folder on the left side of the Finder window. If you work on a Windows computer, place place your source folder and your live folder on the Start Bar or the Places Bar. On my Windows XP machine my Start Bar looks similar to the OS-X dock, since I have so many folder shortcuts (large icons) on it.</p>
<p><strong>In conclusion</strong></p>
<p>I hope these ideas better prepare you for starting new projects and increase your productivity by not placing all your files in one folder&#8211;while also not having to create the same folders when you begin your project or while you are in the middle of working. If you have more suggestions to add to this file framework, <a href="#respond">please respond below</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.interactivellama.com/blog/archives/project-organization-a-reasonable-file-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to create a Twitter book reading list</title>
		<link>http://www.interactivellama.com/blog/archives/how-to-create-twitter-book-reading-list-amazon-wishlist-yahoo-pipes-rss-feed/</link>
		<comments>http://www.interactivellama.com/blog/archives/how-to-create-twitter-book-reading-list-amazon-wishlist-yahoo-pipes-rss-feed/#comments</comments>
		<pubDate>Mon, 16 Feb 2009 18:46:43 +0000</pubDate>
		<dc:creator>Stephen James</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Productivity & Workflow]]></category>
		<category><![CDATA[Social Networks]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[feed]]></category>
		<category><![CDATA[micro-blogging]]></category>
		<category><![CDATA[reading]]></category>
		<category><![CDATA[reading list]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[social_network]]></category>
		<category><![CDATA[tweet]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.smjdesign.com/designwell/?p=151</guid>
		<description><![CDATA[ I enjoy reading books. Most of the time, I read non-fiction. I don&#8217;t have anything against fiction. My wife reads fiction, but it&#8217;s not my cup of tea, unless its a classic. Whatever you read, you would probably like to share it with your friends. Now it&#8217;s easy. With these steps you can tweet [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-153 alignleft" title="twitter-reading-list" src="http://www.smjdesign.com/designwell/wp-content/uploads/2009/02/twitter-reading-list.gif" alt="twitter-reading-list" width="233" height="156" /> I enjoy reading books. Most of the time, I read non-fiction. I don&#8217;t have anything against fiction. My wife reads fiction, but it&#8217;s not my cup of tea, unless its a classic. Whatever you read, you would probably like to share it with your friends. Now it&#8217;s easy. With these steps you can tweet about your latest book by simply adding the book to an Amazon Wishlist. No figuring out how much of the title you can post within the 140 character limit. No creating a TinyURL for the Amazon product page. A few hours later your twitter account will tweet your book addition!<span id="more-151"></span></p>
<p><strong>Amazon WishList to RSS feed</strong></p>
<p>To create my WordPress Reading List and my Twitter Reading List, I start with an Amazon Wishlist. Why? Because I (and probably you) read the largest list of book reviews, before you either buy the book or go to pick it up from the library. So now using my <a href="http://pipes.yahoo.com/pipes/pipe.info?_id=9d73ba552398cb835e2cf1de47599ad7">Amazon Wishlist to RSS Pipe</a> you have an RSS feed of your Reading list.</p>
<p><strong>RSS feed to Twitter tweet</strong></p>
<p>At first, I was dismayed when I heard about <a href="http://twitterfeed.com/">TwitterFeed</a>.  My gut reaction was: What idiot would place a bot within their feed? The whole point of Twitter is to have one on one personal interaction with actual people. Recently, I&#8217;ve been moving away from that view. Bots are helpful if not over-used. I update <a href="http://www.amazon.com/gp/registry/wishlist/3O81AFRHPVBBX/">my book reading list: Stephen M James: Books (Planning or have read)</a> just a few times a month. Not enough to make my followers annoyed. After all, reading books is a part of my online persona that I&#8217;d like to share. In order implement your own Twitter Reading List:</p>
<ol>
<li>Visit Yahoo! Pipes and clone Amazon Wishlist to RSS Pipe and enter your settings into it.</li>
<li>Publish your pipe and copy the URL of the RSS feed.</li>
<li>Log into TwitterFeed (you will have to share your Twitter credentials with TwitterFeed) and create a TwitterFeed from your Pipe RSS</li>
<li>Add your book reading list into an Amazon wishlist.</li>
</ol>
<p>For your TwitterFeed prefix I recommend &#8220;Will read #book soon: &#8221; so that your tweet will end up in the <a href="http://search.twitter.com/search?q=%23book">hash tag twitter search for #book</a>. You have a maximum of 20 characters for the prefix, so make it worth it. Twitterfeed will shorten the name of the book and add a tinyURL to the end that links to the Amazon page (hopefully with your affiliate tag&#8211;although you are more than welcome to use mine!) You might be interested in my post, <a href="http://www.smjdesign.com/designwell/archives/reading-list-wordpress-amazon-wish-list-with-yahoo-pipes-rss/">Create a reading list in WordPress from Amazon Wish List using Yahoo! Pipes</a>,  It&#8217;s about using pipes to create an RSS from an Amazon Wishlist and pulling your reading list into WordPress.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.interactivellama.com/blog/archives/how-to-create-twitter-book-reading-list-amazon-wishlist-yahoo-pipes-rss-feed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gallery2 titles and keywords search engine optimization script</title>
		<link>http://www.interactivellama.com/blog/archives/gallery2-titles-and-keywords-search-engine-optimization-script/</link>
		<comments>http://www.interactivellama.com/blog/archives/gallery2-titles-and-keywords-search-engine-optimization-script/#comments</comments>
		<pubDate>Tue, 13 Jan 2009 15:01:01 +0000</pubDate>
		<dc:creator>Stephen James</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Productivity & Workflow]]></category>
		<category><![CDATA[Search Engine Optimization]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[gallery]]></category>
		<category><![CDATA[gallery2]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[photograph]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://www.smjdesign.com/designwell/?p=137</guid>
		<description><![CDATA[If you are interested in the open-source image gallery web application, Gallery, you have probably read the Thirteen Ways To Add SEO To Gallery2. If you haven’t, then read that tutorial first. Within that tutorial, I mention a bulk renaming script that I have used for years with Gallery2 to change titles and keywords. This [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" style="float: left;" src="http://www.smjdesign.com/designwell/wp-content/uploads/2009/01/gallery2-logo.jpg" alt="" width="230" height="150" />If you are interested in the open-source image gallery web application, <a href="http://gallery.menalto.com/">Gallery</a>, you have probably read the <a href="http://gallery.menalto.com/node/70008">Thirteen Ways To Add SEO To Gallery2</a>. If you haven’t, then read that tutorial first. Within that tutorial, I mention a bulk renaming script that I have used for years with Gallery2 to change titles and keywords. This post is about that title and keyword generating bulk script. It removes some common naming conventions from the titles and removes common words from the keyword list. Do people really want to see all the photographs that contain the articles, &#8220;a,&#8221; &#8220;an&#8221; and &#8220;the.&#8221; I certainly wouldn&#8217;t.</p>
<p>The default title for Gallery2 item uploads is the file name of the image. It easier to name your files well from the beginning from the safety of either than edit the URL, titles, and keywords for your item after they are uploaded. My naming convention for a file name is photo_set-photo_subset-people_or_objects. For a photo of my parents, my bride and myself at my wedding, I used &#8220;wedding-party-parents-rachel-stephen.jpg&#8221;<span id="more-137"></span></p>
<p>When creating titles this script does the following via regular expressions:</p>
<ul>
<li>Removes &#8216;copy&#8217; (a common OS-X filename suffix)</li>
<li>Removes underscores at beginning</li>
<li>Removes underscores at end</li>
<li>Removes double underscores</li>
<li>Removes left and right parenthesis</li>
<li>Removes all single digit numbers and letters</li>
<li>Replaces underscores and hyphens with space</li>
</ul>
<p>When creating keywords from titles, this script removes the following common words and inserts commas between the remaining words:</p>
<blockquote><p>a, about, above, across, act, add, after, again, against, all, along, also, amid, among, an, and, any, are, around, as, at, back, be, been, before, behind, below, beneath, beside, besides, between, beyond, but, by, came, can, cause, change, close, come, concerning, considering, could, cover, cross, despite, did, differ, do, does, down, draw, during, each, even, every, except, excepting, excluding, far, few, find, follow, following, for, found, four, from, get, give, go, grow, had, hard, has, have, he, her, here, high, him, his, how, if, in, inside, into, is, it, just, keep, know, large, last, late, left, let, like, little, long, look, made, make, many, may, might, minus, more, most, move, much, must, my, near, never, no, now, of, off, on, one, only, onto, opposite, or, other, our, out, outside, over, own, part, past, per, plus, put, regarding, right, said, same, saw, say, see, self, set, she, should, side, small, so, some, still, such, take, tell, than, that, the, their, them, then, there, these, they, thing, this, three, through, to, too, toward, towards, try, two, under, underneath, unlike, until, up, upon, us, use, versus, very, via, want, was, way, we, went, were, what, when, where, which, while, who, why, will, with, within, without, would, you, your</p></blockquote>
<p><strong>Usage</strong></p>
<p>You can either edit the setup variables in the script or use URL variables (such as &#8220;?field=g_keywords&amp;begin_id=3000&#8243;). That example would insert keywords (test insert, not commit) based on the titles of all items after item 3000.</p>
<p><strong>Requirements</strong></p>
<ul>
<li>Some familiarity with the PHP language</li>
<li>Login credentials: server, username, database name, password</li>
<li>Item ID to begin with (default is 0, that is &#8220;all items&#8221;)</li>
<li>If you want to change my default title word removal listed above, familiarity with regular expressions</li>
</ul>
<p>Download <a href="http://www.smjdesign.com/designwell/wp-content/uploads/2009/01/gallery-seo-titles-keywords-smjdesign.txt">Gallery2 titles and keywords SEO script</a></p>
<p><em>NOTE: You will need to rename the &#8220;.txt&#8221; file to &#8220;.php&#8221; in order to run it on your server. Also this script will edit not only item names, but also albums. I&#8217;ve included copious comments in this script to aid in customizing it to your needs.<br />
</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.interactivellama.com/blog/archives/gallery2-titles-and-keywords-search-engine-optimization-script/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>CSSsprite: Photoshop script combines two images for CSS hover</title>
		<link>http://www.interactivellama.com/blog/archives/photoshop-script-combine-two-images-css-hover-css-sprite/</link>
		<comments>http://www.interactivellama.com/blog/archives/photoshop-script-combine-two-images-css-hover-css-sprite/#comments</comments>
		<pubDate>Wed, 19 Nov 2008 20:48:41 +0000</pubDate>
		<dc:creator>Stephen James</dc:creator>
				<category><![CDATA[HTML and CSS]]></category>
		<category><![CDATA[Photoshop]]></category>
		<category><![CDATA[Productivity & Workflow]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[actions]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[sprite]]></category>
		<category><![CDATA[Workflow]]></category>

		<guid isPermaLink="false">http://www.smjdesign.com/designwell/?p=132</guid>
		<description><![CDATA[

The need

Professional web developers have been aware of CSS sprites or CSS rollovers/hovers since 2004 (The rollover term is taken JavaScript and hover term is taken from CSS).  They are the background graphics that change position based on mouse hover thus eliminating the need for JavaScript image swaps and image caching since the &#8220;mouse [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-medium wp-image-135" title="csssprites_before" src="http://www.smjdesign.com/designwell/wp-content/uploads/2008/11/csssprites_before-300x123.jpg" alt="" width="300" height="123" /></p>
<p><img class="alignnone size-medium wp-image-136" title="csssprites_after" src="http://www.smjdesign.com/designwell/wp-content/uploads/2008/11/csssprites_after-300x132.jpg" alt="" width="300" height="132" /></p>
<p><strong>The need<br />
</strong></p>
<p>Professional web developers have been aware of <a href="http://www.alistapart.com/articles/sprites/">CSS sprites</a> or CSS rollovers/hovers since 2004 (The rollover term is taken JavaScript and hover term is taken from CSS).  They are the background graphics that change position based on mouse hover thus eliminating the need for JavaScript image swaps and image caching since the &#8220;mouse on&#8221; and &#8220;mouse off&#8221; are one image. I have been using sprites for years. It is a more tedious process than clicking Swap image on a DreamWeaver drop down menu, but it produces more accessible and more clean code. The most tedious part of creating CSS sprites for menu navigation is aligning the static (in-active) and hover (active) images. This script solves this problem by taking two images and merging them into one. I hope this increases your productivity and creates a more standards-compliant web.</p>
<p><span id="more-132"></span></p>
<p>There are <a href="http://spritegen.website-performance.org/">online CSS sprite generators</a> out there. My Photoshop script is not as remarkable as these 20 image sprites, but it’s much simpler, and you can assign a keyboard shortcut to it. Also, all my sites are designed in Illustrator which is a slightly different work flow than most. I find that Photoshop is an awful layout program.</p>
<p><a href="http://www.smjdesign.com/designwell/wp-content/uploads/2008/11/CSSsprite.jsx">Download CSSsprite.jsx</a></p>
<p><strong>Installation<br />
</strong></p>
<p>A JSX script is similar to a Photoshop plugin or an action, but are commands in Photoshop&#8217;s JavaScript based script interface. Download and copy this script within the Presets&gt;&gt;Scripts folder of your Photoshop application folder:</p>
<ul>
<li>OS-X: Macintosh HD/Applications/Adobe Photoshop CS3/Presets/Scripts/</li>
<li>Windows: Program Files/Photoshop CS/Presets/Scripts</li>
</ul>
<p>The Script will appear under File&gt;&gt;Scripts&gt;&gt;CSSsprite on the menu. You can assign a keyboard shortcut to this script. I prefer Control+Command+S. This shortcut fits well with the Save for Web shortcut, Command+Alt+Shift+S.</p>
<p><strong>Usage<br />
</strong></p>
<p>Open two files (and <em>only</em> two files) with the same height and width (if they are different sizes, the offset of your hover button state will not be half of the height). Select the non-hover background image, making it active&#8211;thus making the hover background image de-active. Run the script from the Scripts menu mentioned above. This will place the hover background image on the bottom of the sprite. This script does not support adding a third state to the sprite, but you could add a third <em>and</em> fourth state. To do this, first combine the third and fourth state, and then combine that image with the normal/hover sprite.</p>
<p><strong>For your information: States for this script</strong></p>
<p>The following is a list of Photoshop commands that are executed in this script:</p>
<ul>
<li>Convert Image Mode to RGB</li>
<li>Make horizontal guide at 100% of canvas height</li>
<li>Switch to inactive document (-1 in document array)</li>
<li>&#8220;Duplicate Layer. . .&#8221; Layer Menu via right click</li>
<li>Switch back to inactive document (+1 in document array)</li>
<li>Double canvas size vertically</li>
<li>Transform/Move top layer down (50% of canvas size)</li>
<li>Zoom In (twice)</li>
</ul>
<p><strong>Result<br />
</strong>This gives you a two-layered Photoshop file with second layer the CSS hover layer. Save the file as GIF, PNG, or JPEG using File&gt;&gt;Save for Web.</p>
<p><strong>Notes<br />
</strong>Adobe Photoshop JavaScript is the only cross-platform scripting language for Photoshop. <em>This script was only tested Photoshop CS3 Extended (Mac)</em>. Our firm does not use Photoshop for web layout&#8211;only for image manipulation. We use Illustrator for layout.</p>
<p>I would like to thank the creators of <a href="http://blogs.adobe.com/crawlspace/2006/05/installing_and_1.html">ScriptingListenerJS</a> and <a href="http://ps-scripts.cvs.sourceforge.net/viewvc/ps-scripts/xtools/xapps/">ActionToJavaScript</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.interactivellama.com/blog/archives/photoshop-script-combine-two-images-css-hover-css-sprite/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Secondary Browser: I&#8217;ve been using Chrome for months</title>
		<link>http://www.interactivellama.com/blog/archives/secondary-browser-ive-been-using-chrome-for-months/</link>
		<comments>http://www.interactivellama.com/blog/archives/secondary-browser-ive-been-using-chrome-for-months/#comments</comments>
		<pubDate>Thu, 04 Sep 2008 19:29:06 +0000</pubDate>
		<dc:creator>Stephen James</dc:creator>
				<category><![CDATA[Productivity & Workflow]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[safari]]></category>
		<category><![CDATA[web applications]]></category>

		<guid isPermaLink="false">http://www.smjdesign.com/designwell/?p=130</guid>
		<description><![CDATA[This isn&#8217;t about Chrome, for me it&#8217;s really about using a second browser. A second browser to only use for web applications. Honestly, I admit I haven&#8217;t been using Google Chrome for months now. I&#8217;ve been using Safari. It is my understanding that Google&#8217;s Chrome browser uses WebKit as it&#8217;s rendering engine with the advantage [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-131" title="google-chrome-safari" src="http://www.smjdesign.com/designwell/wp-content/uploads/2008/09/google-chrome-safari.gif" alt="" width="280" height="140" />This isn&#8217;t about Chrome, for me it&#8217;s really about using a second browser. A second browser to only use for web applications. Honestly, I admit I haven&#8217;t been using Google Chrome for months now. I&#8217;ve been using Safari. It is my understanding that <a href="http://www.google.com/chrome">Google&#8217;s Chrome</a> browser uses <a href="http://www.webkit.org/">WebKit</a> as it&#8217;s rendering engine with the advantage of starting each window/tab in a separate process (which Internet Explorer 8b2 also does) to increase stability. The general idea is if your Google Docs crashes, then your Gmail doesn&#8217;t crash&#8211;just how desktop applications work. Your web applications are sand-boxed and protected from other web pages. Safari/WebKit/Chrome: What&#8217;s the difference?<span id="more-130"></span></p>
<p><strong>My secondary browser: Safari<br />
</strong></p>
<p>For over six months now, I&#8217;ve been running my web applications in Safari on my Mac at work and my PC at home (yes, you did read that correctly, Mac at work and PC at home!). I run Gmail, GDocs, Remember The Milk, and others within Safari while I use FireFox to browse the web. I have keyboard shortcuts that run safari.exe/safari.app with the URL of the service I want to use. I can&#8217;t imagine browsing the web without Web Developer, FireBug, Google Toolbar, spell checking and RSS feeds of specific tags of my delicious bookmarks as a LiveBookmark. It would be as if I want back to using Internet Explorer or something.</p>
<p>When Safari for Windows became available in early 2008, I decided to try it. It was fast, but I hated the interface (especially the dimming of the page when you try to Find a word). The interface was too minimalistic. If I wanted less crap on my browser window, I&#8217;d hit F11, thank you very much. What&#8217;s a fast loading, standards compliant, minimal interface browser good for? You guessed it: <em>WebApps! </em>I use<em> </em>Safari for my web applications.</p>
<p><strong>Water-logged about logging in</strong></p>
<p>One of the annoying aspects of web applications is authentication, you have to login. Things become even more annoying if you use multiple accounts. Anyone have more one Gmail account? Thought so.</p>
<p><em>Everyday scenario:</em> I log into my secondary Gmail account that I send my <a href="http://www.smjdesign.com/designwell/archives/features-and-characteristics-of-a-great-404-error-page/">WordPress web sites 404 errors to</a> and new mail pops up from Gmail Notifier in Growl. I click the email and it launches my &#8220;primary web browser.&#8221; In this case it&#8217;s FireFox, and I&#8217;m already logged into Gmail with my secondary account. What happens? FireFox goes to my seconfary account&#8217;s Inbox. I have to log out and re-login in order to view my new email! Using a second browser that is only logged into my primary account solves this probem.</p>
<p><strong>Advantages of using a separate browser for web applications</strong></p>
<ul>
<li>It&#8217;s sand-boxed: Your browsing of other pages won&#8217;t crash browser and thus deleted the email to your mother</li>
<li>It&#8217;s fast: WebKit renders HTML faster than Gecko (Mozilla)</li>
<li>You&#8217;re primary user account is not logged out, it is always there when you need it.</li>
</ul>
<p><strong>Shrugging Chrome</strong></p>
<p>I shrugged when Google announces its Chrome browser this week, I&#8217;ve practically been using it for months now. However, I look forward to see where this goes and will value any increase in performance and productivity a Google browser will give me when using their web applications as well as others.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.interactivellama.com/blog/archives/secondary-browser-ive-been-using-chrome-for-months/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Create reading list in WordPress from Amazon Wish List using Yahoo! Pipes</title>
		<link>http://www.interactivellama.com/blog/archives/reading-list-wordpress-amazon-wish-list-with-yahoo-pipes-rss/</link>
		<comments>http://www.interactivellama.com/blog/archives/reading-list-wordpress-amazon-wish-list-with-yahoo-pipes-rss/#comments</comments>
		<pubDate>Wed, 25 Jun 2008 19:18:04 +0000</pubDate>
		<dc:creator>Stephen James</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Productivity & Workflow]]></category>
		<category><![CDATA[Social Networks]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[amazon book]]></category>
		<category><![CDATA[amazon wish list]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[feed]]></category>
		<category><![CDATA[plug ins]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[reading list]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[yahoo pipes]]></category>

		<guid isPermaLink="false">http://www.smjdesign.com/designwell/?p=127</guid>
		<description><![CDATA[I read many books from the library. I don&#8217;t finished reading many books though. First of all, they are free, since they are from the library, and second my attention span doesn&#8217;t last that long. I believe browsing the web daily from age 14 (circa 1996) will do that to someone (read the latest cover [...]]]></description>
			<content:encoded><![CDATA[<p>I read many books from the library. I don&#8217;t finished reading many books though. First of all, they are free, since they are from the library, and second my attention span doesn&#8217;t last that long. I believe browsing the web daily from age 14 (circa 1996) will do that to someone (read the latest cover story in The Atlantic Monthly, is <a href="http://www.theatlantic.com/doc/200807/google">Google Making Us Stoopid</a>). Most of the books I read come from the magazines I read (<a href="http://www.theatlantic.com/">The Atlantic</a>, <a href="http://www.christianitytoday.com/books/">Books &amp; Culture: A Christian Review</a>) or from the podcasts I listen to (<a href="http://www.wamu.org/programs/dr/">Diane Rehm</a>, <a href="http://www.twit.tv/">This Week in Tech</a>).</p>
<p>Either way, I want to share my latest reading endeavors across my blogs. But how?<span id="more-127"></span></p>
<p>Originally I used Roblog&#8217;s WordPress Plugin, <a href="http://robm.me.uk/projects/plugins/wordpress/now-reading">Now Reading</a>, It&#8217;s truly a great plug-in. You can search Amazon for your book and grab the information. It has <em>Now Reading</em>, <em>Have Read</em> and <em>Planned Reading</em> sections. You can rate your books and write reviews. I discovered early on that I was not interested in writing reviews of the books. The other drawback was that it was locked into one blog. I placed it my Cultured Media blog where I list the podcasts and media that I listen to. I wanted to place my current reading in the sidebar or the footer of all my blogs&#8211;and why stop there? Why not Facebook, too? The other problem is that I didn&#8217;t want to search for the name of the book on Amazon, then log into my blog and paste the name into Now Reading to add it.</p>
<p>Portable list of information that can be subscribed to from multiple locations? Sounds like RSS feeds to me. I found an Amazon Wish List import for <a href="http://www.pipes.yahoo.com/">Yahoo! Pipes</a>. It did an XML look-up on any public wish list and then published the information you wanted. I cloned it to my Pipes page, and soon found out it was an old version of Amazon Web Services. After a few hours spent parsing, the new version 4 web services offering from Amazon, I was good to go.</p>
<p>The limitation of my <a href="http://pipes.yahoo.com/pipes/pipe.info?_id=9d73ba552398cb835e2cf1de47599ad7">Amazon-Yahoo! Pipes RSS lookup</a> is that you can only grab one page of items at a time. This isn&#8217;t a problem for my use. I didn&#8217;t want more than 10 items anyway.</p>
<p>Once, you have your pipes set up, then use <a href="http://rawlinson.us/blog/articles/feedlist-plugin/">FeedList</a> to display your RSS feed from Yahoo! Pipes. An example of this is at the bottom of my blog. When I want to update my reading list, I add an item to my <a href="http://www.amazon.com/gp/registry/wishlist/3O81AFRHPVBBX/">Amazon Wish List</a>. And there&#8217;s nothing to limit this process to books. Whatever you add your Amazon Wish List will show up in the feed&#8211;not only books.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.interactivellama.com/blog/archives/reading-list-wordpress-amazon-wish-list-with-yahoo-pipes-rss/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Plain text link to HTML with a PHP function and regular expressions</title>
		<link>http://www.interactivellama.com/blog/archives/plain-text-link-to-html-with-a-php-function-and-regular-expressions/</link>
		<comments>http://www.interactivellama.com/blog/archives/plain-text-link-to-html-with-a-php-function-and-regular-expressions/#comments</comments>
		<pubDate>Wed, 07 May 2008 20:21:21 +0000</pubDate>
		<dc:creator>Stephen James</dc:creator>
				<category><![CDATA[HTML and CSS]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[regular expressions]]></category>

		<guid isPermaLink="false">http://www.smjdesign.com/designwell/archives/plain-text-link-to-html-with-a-php-function-and-regular-expressions/</guid>
		<description><![CDATA[If you have ever wanted to turn a plain text link, http://www.smjdesign.com, into a "linked" HTML version, http://www.smjdesign.com, you can now. Pass the following function your entire text field and it will find all your links and return tagged HTML.
function replace_plain_text_link($plain_text) {
$url_html = preg_replace(
'/(?&#60;!S)((http(s?):\/\/)&#124;(www.))+([\w.1-9\&#38;=#?\-~%;\/]+)/',
'&#60;a href="http$3://$4$5"&#62;http$3://$4$5&#60;/a&#62;', $plain_text);
return ($url_html);
}
echo replace_plain_text_link("hi this is dummy text before
http://www.smjdesign.com hi this [...]]]></description>
			<content:encoded><![CDATA[<p>If you have ever wanted to turn a plain text link, http://www.smjdesign.com, into a "linked" HTML version, <a href="http://www.smjdesign.com">http://www.smjdesign.com</a>, you can now. Pass the following function your entire text field and it will find all your links and return tagged HTML.</p>
<pre><code>function replace_plain_text_link($plain_text) {
$url_html = preg_replace(
'/(?&lt;!S)((http(s?):\/\/)|(www.))+([\w.1-9\&amp;=#?\-~%;\/]+)/',
'&lt;a href="http$3://$4$5"&gt;http$3://$4$5&lt;/a&gt;', $plain_text);
return ($url_html);
}
echo replace_plain_text_link("hi this is dummy text before
http://www.smjdesign.com hi this is dummy text after")
</code></pre>
<p><span id="more-121"></span></p>
<p>The majority of the above regular expression was not created by me. I however cannot locate the original programmer. It was posted on a message board I visited along with ftp and mailto options. If you can help, please comment.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.interactivellama.com/blog/archives/plain-text-link-to-html-with-a-php-function-and-regular-expressions/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Graphic web design and cascading style sheets</title>
		<link>http://www.interactivellama.com/blog/archives/graphic-web-design-and-cascading-style-sheets/</link>
		<comments>http://www.interactivellama.com/blog/archives/graphic-web-design-and-cascading-style-sheets/#comments</comments>
		<pubDate>Sun, 10 Feb 2008 21:46:48 +0000</pubDate>
		<dc:creator>Stephen James</dc:creator>
				<category><![CDATA[Graphic Design]]></category>
		<category><![CDATA[HTML and CSS]]></category>
		<category><![CDATA[Illustrator]]></category>
		<category><![CDATA[Photoshop]]></category>
		<category><![CDATA[Productivity & Workflow]]></category>
		<category><![CDATA[Search Engine Optimization]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[firefox_extensions]]></category>
		<category><![CDATA[internet_explorer]]></category>
		<category><![CDATA[style sheet]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://www.smjdesign.com/designwell/archives/graphic-web-design-and-cascading-style-sheets/</guid>
		<description><![CDATA[On Saturday, February 9 at 11:30 am, I spoke at BarcampIndy 2008 on Graphic Web Design and Cascading Style Sheets. All presentations were broadcast on BlipTV. You can view a video of this presentation on BlipTV.
The premise of my presentation was to show an overview of the process between layout in Illustrator and PhotoShop to [...]]]></description>
			<content:encoded><![CDATA[<p>On Saturday, February 9 at 11:30 am, I spoke at <a href="http://barcamp.org/barcampindy">BarcampIndy 2008</a> on Graphic Web Design and Cascading Style Sheets. All presentations were broadcast on BlipTV. You can view a <a href="http://blip.tv/file/658349">video of this presentation on BlipTV</a>.</p>
<p>The premise of my presentation was to show an overview of the process between layout in Illustrator and PhotoShop to coding in HTML and CSS. I find that web design is often segmented between the coders and graphic designers. I propose that the best outcome can come from bridging that gap. I do this in my daily workplace and try to show tips and techniques for others to bridge that gap. The time slot was only a half hour, so I could not go into coding detail, but only point to tutorials via links.<span id="more-118"></span></p>
<p>You can view the <a href="http://www.smjdesign.com/public/presentations/barcampindy2008/graphic_web_design-and-css-smjdesign.ppt">Graphic Web Design and Cascading Style Sheets PowerPoint</a> (431KB) or view the <a href="http://www.smjdesign.com/public/presentations/barcampindy2008/graphic_web_design-and-css-smjdesign.htm">presentation in HTML</a>. Some <a href="http://www.smjdesign.com/public/presentations/barcampindy2008/support-images/">support images</a> and <a href="http://del.icio.us/smjdesign/barcampindy2008">all sites discussed can be found on Delicious</a> (theses are notated by &#8220;{link}&#8221; within the presentation).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.interactivellama.com/blog/archives/graphic-web-design-and-cascading-style-sheets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
