<?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>Shepherd Interactive</title>
	<atom:link href="http://shepherdinteractive.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://shepherdinteractive.com</link>
	<description>Shepherd Interactive specializes in internet communication solutions that work. We blend content, art, and technology into innovative communication tools that create effective interactive experiences and give you the edge in your industry.</description>
	<lastBuildDate>Tue, 13 Jul 2010 22:01:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Is the iPad a tool or toy?</title>
		<link>http://shepherdinteractive.com/about-us/blog/2010/07/is-the-ipad-a-tool-or-toy/</link>
		<comments>http://shepherdinteractive.com/about-us/blog/2010/07/is-the-ipad-a-tool-or-toy/#comments</comments>
		<pubDate>Thu, 08 Jul 2010 23:28:18 +0000</pubDate>
		<dc:creator>james</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://shepherdinteractive.com/?p=908</guid>
		<description><![CDATA[ 

As soon as the iPad was announced and released I began leveraging its ability as an effective sales tool.  One week after pulling out of the box and loading it with content, I took it on the road as it seemed to be a perfect way to engage prospective clients by taking advantage of its [...]]]></description>
			<content:encoded><![CDATA[<h1><a href="http://shepherdinteractive.com/wp-content/uploads/2010/07/ipad.jpg"></a> </h1>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-911" title="ipad" src="http://shepherdinteractive.com/wp-content/uploads/2010/07/ipad.jpg" alt="" width="300" height="201" /></p>
<p>As soon as the iPad was announced and released I began leveraging its ability as an effective sales tool.  One week after pulling out of the box and loading it with content, I took it on the road as it seemed to be a perfect way to engage prospective clients by taking advantage of its flexibility and demonstrating examples of our work in real time.</p>
<p><span id="more-908"></span>I have been able to load the iPad with key data, presentations, and examples of client projects, and use it as a display tool at events and social meetings.  The iPad has a certain “Wow” value, which is dying off, but people still what to hold it and explore on their own, which gives me the opportunity to show specific content, access the web, and engage quickly and clearly with people I am talking with.</p>
<p>One example of effectively using the iPad as a marketing tool in the field was at a trade show a couple months ago.  The iPad had just been released so the curiosity was still high and I was able to speak with potential clients and show them our firms’ capabilities in real time.  This was a great use of the tool and created a high volume of business leads and comments like “great to see your work”, “your leveraging technology better than anyone else”, and “what a wonderful use of the iPad”.</p>
<p>The notion that the iPad is a toy or just a big iPhone, is not accurate in my evaluation.  I have been able to use it as a very powerful tool to present and market to passive customers. Mercedes Benz has adopted a <a title="Mercedes to Use iPad as Sales Tool" href="http://usnews.rankingsandreviews.com/cars-trucks/daily-news/100601-Mercedes-to-Use-iPad-as-Sales-Tool/" target="_blank">new approch</a> to selling cars with the iPad that is a good example of to leverage the new technology.</p>
<p>I’d like to know what others think and hear how you might have leveraged the ipad as a tool in your work. <a href="mailto:james@shepherd-interactive.com">james@shepherd-interactive.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://shepherdinteractive.com/about-us/blog/2010/07/is-the-ipad-a-tool-or-toy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lost &amp; found</title>
		<link>http://shepherdinteractive.com/about-us/blog/2010/05/lost-found/</link>
		<comments>http://shepherdinteractive.com/about-us/blog/2010/05/lost-found/#comments</comments>
		<pubDate>Tue, 25 May 2010 23:32:54 +0000</pubDate>
		<dc:creator>mikec</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://shepherdinteractive.com/?p=894</guid>
		<description><![CDATA[
I’ve always enjoyed looking for found art while hoofing it around town. Not only is it a good chance to open up the mind when finding little gems, but the exercise is good and you will be removing litter for your collection. There is something about finding objects out of context that is intriguing, they [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://shepherdinteractive.com/wp-content/uploads/2010/05/found_blog_pic1.jpg"><img class="size-medium wp-image-896      aligncenter" title="found_blog_pic" src="http://shepherdinteractive.com/wp-content/uploads/2010/05/found_blog_pic1-167x300.jpg" alt="" width="167" height="300" /></a></p>
<p>I’ve always enjoyed looking for found art while hoofing it around town. Not only is it a good chance to open up the mind when finding little gems, but the exercise is good and you will be removing litter for your collection. There is something about finding objects out of context that is intriguing, they seem to take on another meaning. The coiled wire in my pic collage always looked like a bow-legged cowboy to me. The red velvet heart and broken key has always amused me. There are also things that border on haunting like the note in peeling off <a href="http://www.letraset.com/design/shopdisplayproducts.asp?id=2913&amp;cat=Commercial+Script" target="_blank">letraset</a> I found a few weeks ago that just said  “come back”.<br />
<span id="more-894"></span></p>
<p>Some found objects can make for excellent textures like weathered paper with rusted staples, old letterpress postcards with scalloped borders or used duct tape. If your just into the voyeuristic angle you can find volumes of found stuff at <a href="http://www.foundmagazine.com/find/5401" target="_blank">Found Magazine.com</a>. They have taken their subculture magazine online and have a find of the day that’s fun.</p>
<p style="text-align: center;"><a href="http://shepherdinteractive.com/wp-content/uploads/2010/05/julie_tape_sm.jpg"><img class="size-full wp-image-897  aligncenter" title="julie_tape_sm" src="http://shepherdinteractive.com/wp-content/uploads/2010/05/julie_tape_sm.jpg" alt="" width="295" height="185" /></a></p>
<p>Taking this a bit further into lost music, here’s a site promoting the book “Cassette From My Ex: Stories and Soundtracks of Lost Loves”. On the site you can listen to old Fuji, TDK or Maxell tape mixes like <a href="http://www.cassettefrommyex.com/?p=26" target="_blank">Julie’s Mix</a>. Side one is Dean Martin and some new age movie vs. side two’s Velocity Girl, Mecca Normal and Pegboy. The Book is a 224-page cassetteophile’s dream with cover illustration by <a href="http://www.hopegangloff.com/drawings.html" target="_blank">Hope Gangloff</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://shepherdinteractive.com/about-us/blog/2010/05/lost-found/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Inspired by wrought iron</title>
		<link>http://shepherdinteractive.com/about-us/blog/2010/04/inspired-by-wrought-iron/</link>
		<comments>http://shepherdinteractive.com/about-us/blog/2010/04/inspired-by-wrought-iron/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 22:27:09 +0000</pubDate>
		<dc:creator>mikec</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://shepherdinteractive.com/?p=881</guid>
		<description><![CDATA[
Portland’s wrought iron fire escapes and trellises have inspired me for sometime. There’s something about the simplicity of form and line, the timeless functionality, and the small design details that attract my graphic eye. Maybe it’s the weight and thickness of the metal? Maybe it’s the ornate flourishes? Maybe it’s the rugged, handmade craft that [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://shepherdinteractive.com/wp-content/uploads/2010/04/blog_firescape11.jpg"><img class="aligncenter size-medium wp-image-892" title="blog_firescape1" src="http://shepherdinteractive.com/wp-content/uploads/2010/04/blog_firescape11-300x224.jpg" alt="worught iron fire escape" width="300" height="224" /></a></p>
<p style="text-align: left;">Portland’s wrought iron fire escapes and trellises have inspired me for sometime. There’s something about the simplicity of form and line, the timeless functionality, and the small design details that attract my graphic eye. Maybe it’s the weight and thickness of the metal? Maybe it’s the ornate flourishes? Maybe it’s the rugged, handmade craft that speaks to me. Or, perhaps it’s the shadows and plays with the light that gets me out for a walk with my archaic digi-cam.<br />
<span id="more-881"></span></p>
<p>The industrial brick buildings contrasted with the classic iron features is so Portland to me, I felt compelled to capture it in pixels. I’ve posted some select pics here on a <a href="http://www.flickr.com/photos/48653997@N06/4455418556/in/photostream/" target="_blank">Flickr page</a> to share my inspiration. If you’re into gardening and landscape you might think about designing your own garden gate or trellis, Portland has a lot of iron benders still around. This <a href="http://www.metacafe.com/watch/2783398/portland_oregon_wrought_iron_gates_and_rails/" target="_blank">iron gate and fence video</a>, complete with cheesy soundtrack and photo flash sound effect shows a few original creations.</p>
<p>Apparently, I’m not the only one that enjoys Portland’s many iron fire escapes. Check out the live <a href="http://www.kgw.com/community/blogs/raptor-cam/Welcome-to-the-4th-season-of-Raptor-Cam-84254742.html" target="_blank">Audubon Raptor Cam</a> and follow a pair of Hawks as they nest on a Portland fire escape for the 4th season.</p>
]]></content:encoded>
			<wfw:commentRss>http://shepherdinteractive.com/about-us/blog/2010/04/inspired-by-wrought-iron/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First Ever SI Art Show</title>
		<link>http://shepherdinteractive.com/about-us/blog/2010/03/first-ever-si-art-show/</link>
		<comments>http://shepherdinteractive.com/about-us/blog/2010/03/first-ever-si-art-show/#comments</comments>
		<pubDate>Sat, 20 Mar 2010 22:50:53 +0000</pubDate>
		<dc:creator>Brent Rieck</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://shepherdinteractive.com/?p=866</guid>
		<description><![CDATA[
We are excited to announce the first of many art  exhibitions here at Shepherd Interactive.  To kick things off we will be featuring  art created by our very own staff members.  Our talents range from  photography to painting and mixed-media assemblage.
On view now&#8230;
Aimee Wilson
&#8220;Sideshow&#8221;
Paintings

A series of paintings depicting therianthropic interpretations [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-948" title="artshow1" src="http://shepherdinteractive.com/wp-content/uploads/2010/03/artshow1.jpg" alt="" width="446" height="342" /></p>
<p>We are excited to announce the first of many art  exhibitions here at Shepherd Interactive.  To kick things off we will be featuring  art created by our very own staff members.  Our talents range from  photography to painting and mixed-media assemblage.</p>
<p>On view now&#8230;</p>
<p><strong>Aimee Wilson<br />
</strong><em>&#8220;Sideshow&#8221;</em><br />
Paintings<br />
<span id="more-866"></span><br />
A series of paintings depicting <a href="http://dictionary.reference.com/browse/therianthropic">therianthropic</a> interpretations  of classic circus fairway <a href="http://www.pbs.org/wgbh/roadshow/fts/tampa_200502A42.html">sideshow curiosities</a>.   Inspired by the vintage promotional posters of <a href="http://www.coneyisland.com/">Coney Island</a> and <a href="http://en.wikipedia.org/wiki/Barnum_and_Bailey">Barnum &amp; Bailey</a> these humorous paintings pair well-know human curiosities of yester-year  with their animal kingdom counterpart.</p>
<p><a href="http://shepherdinteractive.com/wp-content/uploads/2010/03/gorilla.jpg"><img class="alignnone size-full wp-image-951" title="gorilla" src="http://shepherdinteractive.com/wp-content/uploads/2010/03/gorilla.jpg" alt="" width="240" height="242" /></a><a href="http://shepherdinteractive.com/wp-content/uploads/2010/03/goat.jpg"><img class="alignnone size-full wp-image-950" title="goat" src="http://shepherdinteractive.com/wp-content/uploads/2010/03/goat.jpg" alt="" width="162" height="242" /></a></p>
<p>In our show you will see The World&#8217;s Strongest Man (man + <a href="http://nationalzoo.si.edu/Animals/Primates/Facts/FactSheets/Gorillas/default.cfm">gorilla</a>) lift  mind boggling weight with ease and bend solid steel bars with his bare hands.  Next have your heart strings tugged at as you witness the tender  bond between a Bearded Lady (woman + <a href="http://www.coachfarm.com/">nanny goat</a>) and  her Four-Legged Kid (<a href="http://www.youtube.com/watch?v=0CWwwRke2QY">goat kid</a>).   As you continue along be sure to see the remarkable closeness shared by the Siamese Twins (girl + <a href="http://www.siameserescue.org/">Siamese cat</a>).   Finally we present the strangest of all&#8230; out of the deeps off the coast of Maine comes Lobster Boy (boy + <a href="http://www.marthastewart.com/recipe/boiled-maine-lobster">lobster</a>).   Spend all the time you wish looking at this fine collection just beware&#8230; they&#8217;ll  stare back at you.</p>
<p><a href="http://shepherdinteractive.com/wp-content/uploads/2010/03/cats.jpg"><img class="alignnone size-full wp-image-949" title="cats" src="http://shepherdinteractive.com/wp-content/uploads/2010/03/cats.jpg" alt="" width="242" height="242" /></a><a href="http://shepherdinteractive.com/wp-content/uploads/2010/03/lobster.jpg"><img class="alignnone size-full wp-image-952" title="lobster" src="http://shepherdinteractive.com/wp-content/uploads/2010/03/lobster.jpg" alt="" width="160" height="241" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://shepherdinteractive.com/about-us/blog/2010/03/first-ever-si-art-show/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First time’s a charm! Get your company’s website right the first time around</title>
		<link>http://shepherdinteractive.com/about-us/blog/2010/03/first-times-a-charm-get-your-company%e2%80%99s-website-right-the-first-time-around/</link>
		<comments>http://shepherdinteractive.com/about-us/blog/2010/03/first-times-a-charm-get-your-company%e2%80%99s-website-right-the-first-time-around/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 22:44:57 +0000</pubDate>
		<dc:creator>Mike Spicer</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://shepherdinteractive.com/?p=862</guid>
		<description><![CDATA[For most things in life, “third time’s a charm” will do quite nicely. However, when it comes to launching a new website, your company will be much better off  if you get it right the first time.
A website is often the first contact a customer has with a firm and its products. The online [...]]]></description>
			<content:encoded><![CDATA[<p>For most things in life, “third time’s a charm” will do quite nicely. However, when it comes to launching a new website, your company will be much better off  if you get it right the first time.<br />
A website is often the first contact a customer has with a firm and its products. The online experience has to be able to reach out and grab the user, be meaningful, memorable, and provide efficient access to information. Accomplishing all of these at once, as well as managing the technological issues, can be a daunting task. But with careful planning and a little foresight, your website can be a powerful marketing tool that won’t give you headaches down the road.<br />
<span id="more-862"></span><br />
When developing your site, you’ll need to plan on three different fronts:</p>
<ul>
<li>Design: Is it eye-catching and appealing? Does it reflect your brand and add to the overall impact of the site?</li>
<li>Information  Architecture &amp; Navigation: Can users find information easily and quickly? Does the site provide all the necessary information and is it arranged logically? Is the content fresh, interesting, and engaging?</li>
<li>Technical: Can the user upload the site in a reasonable amount of time? Is the site search engine-friendly? Is the site compatible with most browsers? Is the code structured to make it easy to update?</li>
</ul>
<p>Approaching your project with an eye toward each of these perspectives will put you ahead of the game as you develop your website. By covering all the angles, you can not only avoid future glitches but also present a more comprehensive and seamless experience for your clients.</p>
<h2>Design</h2>
<p>Design may not be the core focus of your website, but it does provide the context in which users view and absorb your information. Not only do you want your design to appeal to your audience, but you want it to contribute to the overall effectiveness of your brand strategy. Following are a few key things to keep in mind:</p>
<ul>
<li><strong>Keep it simple:</strong> An overload of imagery is not only overwhelming to the eye, but can also cause a frustrating slowdown in upload time. Consider that your user is likely busy, distracted, and anxious to find what they need. Keep your design functional.
<li><strong>Design for the screen:</strong> Screen design is different from print design. Make sure you are considering how your design will appear when users adjust the size of their windows. Keep your fonts easy to read and avoid patterns that distract the eye.
<li><strong>Standout graphics:</strong> A single standout image or graphic can serve as a hook or anchor for visitors, making your site instantly memorable. By repeating or echoing the image throughout the pages, you may have more flexibility with other design elements while still maintaining a common thread.
</ul>
<h2>Information Architecture and Navigation</h2>
<p>This is the core of your website and should be well thought out and carefully planned. Create a primary menu with major sections of the website and keep that menu the same throughout the site. Sub-menus can help keep your site uncongested. Here are more tips:</p>
<ul>
<li>
<strong>Tier your information:</strong> Web surfers skim through information; keep your sentences and paragraphs short and compartmentalize information as much as possible. Headings, subheads, bylines, and bullets will make it easy for readers to scan through to the information they need. Watch out for overly cleverly-worded titles; your headings and subheads should be meaningful enough to help users accurately identify sections before they have to read in-depth information.</p>
<li><strong>Perform the click test:</strong> Have several people look for specific information on the site and find out how many clicks of the mouse it takes to get there. If it’s more than three or four (or takes longer than 15-30 seconds), you might need to rethink the navigation.
</ul>
<h2>Technical</h2>
<p>You want your website coding to be as strategically planned and organized as your web content. This will make future updates and enhancements simpler and more cost effective. Following are some factors you’ll want to incorporate as you construct your site:</p>
<ul>
<li><strong>Search engine optimization:</strong> To be a powerful marketing tool, you want your website at the top of the list in searches. If it was easy everyone would be at the top, so plan for an ongoing strategy to ensure your marketing goals are met.</p>
<li><strong>Compatibility with various browsers:</strong> Your website needs to be coded so that it is compatible with a variety of web browsers. You want your images and text to appear correctly whether your customer is using Safari or Explorer!
<li><strong>Information generation:</strong> A variety of analytical tools can help you generate information about the customers who visit your website. Take advantage of the opportunity to strategically gather information and use this data to align your efforts.
</ul>
<p>Learning from our mistakes is important, but in web development, it may be better to learn from others’ mistakes. Don’t hesitate to seek professional assistance in any area of web development in which you feel less than confident: in the long run, you will be glad that you did it right the first time.</p>
]]></content:encoded>
			<wfw:commentRss>http://shepherdinteractive.com/about-us/blog/2010/03/first-times-a-charm-get-your-company%e2%80%99s-website-right-the-first-time-around/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How do you choose the right CMS for your company?</title>
		<link>http://shepherdinteractive.com/about-us/blog/2010/03/how-do-you-choose-the-right-cms-for-your-company/</link>
		<comments>http://shepherdinteractive.com/about-us/blog/2010/03/how-do-you-choose-the-right-cms-for-your-company/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 22:43:13 +0000</pubDate>
		<dc:creator>Heath Schweitzer</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://shepherdinteractive.com/?p=855</guid>
		<description><![CDATA[Choosing the right CMS (Content Management System) is perhaps the most important decision in the implementation of a new website. A poor choice can lead to lost time and efficiency, unnecessary limitations, difficulty scaling to your company’s future needs, and costly changes down the road. A good choice can save your company money, time, and [...]]]></description>
			<content:encoded><![CDATA[<p>Choosing the right CMS (Content Management System) is perhaps the most important decision in the implementation of a new website. A poor choice can lead to lost time and efficiency, unnecessary limitations, difficulty scaling to your company’s future needs, and costly changes down the road. A good choice can save your company money, time, and future re-development.<br />
<span id="more-855"></span><br />
To determine what CMS is best for your company, start by establishing criteria with which to compare the many options available. At Shepherd Interactive we recommend categorizing your criteria into business objectives, technical objectives, and other miscellaneous objectives and then prioritizing the criteria in each category in order to give more weight to items that are of higher importance. Below is an outline of what your business and technical criteria could look like in a condensed format:</p>
<p><strong>Top 5 Business Criteria</strong></p>
<ol>
<li>Increased Lead Generation
<ul>
<li>Improve search engine rankings</li>
<li>Increase quantity of leads</li>
<li>Increase quality of leads</li>
</ul>
</li>
<li>Foster Brand Identity as a World Leader
<ul>
<li>The ability to provide a consistent brand experience across all products</li>
<li>The ability to create a custom look and feel that’s not limited by design templates</li>
<li>Fully customizable style sheets and “table-less” design layouts</li>
</ul>
</li>
<li>Support Development of New OEM Markets
<ul>
<li>Flexibility to allow for customization for engaging emerging markets</li>
<li>Ability for non developers to add new site pages and site sections</li>
</ul>
<li>Support Customer Base
<ul>
<li>Make it easy for visitors of the site to find information</li>
<li>Increase interactivity between customers and our company</li>
<li>Highest degree of lifetime customer support</li>
</ul>
<li>Workflow &#038; Scalability (Site Maintainability)
<ul>
<li>Simplicity; must be quick and easy to make content updates yet allow for reviews and approvals</li>
<li>No proprietary software or technology needed to add features and maintain the site</li>
<li>Future growth capabilities (multi-lingual, performance, more pages, and so forth)</li>
</ul>
</li>
</ol>
<p><strong>Top 5 Technical Criteria</strong></p>
<ol>
<li>Flexible Website Editing (Open Source Technology)
<ul>
<li>Ability to edit key aspects of the site content including navigational names</li>
<li>Ability to include/embed images, video, and other media into content areas of a web page</li>
<li>Full access to source code and database</li>
<li>Use of common non-proprietary technologies (&#8220;any developer&#8221; approach)</li>
</ul>
</li>
<li>SEO Friendly Design &#038; Standards Compliant Coding
<ul>
<li>HTML 5 markup</li>
<li>CSS 3.0 compliant</li>
<li>Backwards compatibility</li>
<li>Mobile Support</li>
<li>RSS capabilities</li>
</ul>
</li>
<li>Reporting
<ul>
<li>Audit trail of all content managed through the CMS</li>
<li>Version control with tools for highlighting differences between two version</li>
<li>Content approvals prior to publishing (workflow process)</li>
</ul>
</li>
<li>Staging Environment
<ul>
<li>Preview feature for content updates and review</li>
<li>Mirrored staging environment for design and feature updates</li>
</ul>
</li>
<li>Flexible Updates
<ul>
<li>Ability to update the CMS with security patches, new features, and new versions</li>
<li>Scalable to allow for future growth</li>
</ul>
</li>
</ol>
<p><strong>Other Criteria</strong></p>
<ol>
<li>Leverage existing team skill sets</li>
<li>Scalability</li>
<li>Low total cost of ownership</li>
</ol>
<p>By establishing the top criteria for your business or organization, an evaluation matrix can be generated that allows for weighted scoring of viable CMS candidates. Careful evaluation and scoring will uncover potential issues, help rule out some options, and allow a small number of candidates to “rise to the surface.” The evaluation approach can vary from production demonstration to hands-on experience, but it’s best to seek the consultative support of experienced professionals to help ensure the evaluations are as accurate as possible. Misleading evaluation information can be counterproductive to the end goal of choosing the best CMS given the criteria.</p>
<p>At Shepherd Interactive, we’ll condense the findings into vendor summaries highlighting the pros and cons of each CMS vendor that was evaluated. We’ll also make recommendations to aid in the decision-making process, but since we’re a technology-agnostic agency, we ultimately leave the final decision in the hands of our clients so as not to force them to use one technology over another. In the end, the CMS chosen will have been selected for clearly defined reasons, providing assurances that it will be capable of meeting the needs from an organizational perspective as well as a technological perspective.</p>
]]></content:encoded>
			<wfw:commentRss>http://shepherdinteractive.com/about-us/blog/2010/03/how-do-you-choose-the-right-cms-for-your-company/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exception programming in Java</title>
		<link>http://shepherdinteractive.com/about-us/blog/2009/08/exception-programming-in-java/</link>
		<comments>http://shepherdinteractive.com/about-us/blog/2009/08/exception-programming-in-java/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 06:49:06 +0000</pubDate>
		<dc:creator>Jeff Wu</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://shepherd-interactive.com/?p=674</guid>
		<description><![CDATA[In the past, Java programmers were actually encouraged to have deeply-nested if statements to handle business-logic errors. According to Robert C. Martin in his 1997 essay, “Java and C++ A critical comparison,” this was because during the early development of the Java language, Sun modeled Java’s Exception mechanism heavily against C++. Since then, Sun has [...]]]></description>
			<content:encoded><![CDATA[<p>In the past, Java programmers were actually encouraged to have deeply-nested if statements to handle business-logic errors. According to <a href="http://en.wikipedia.org/wiki/Robert_Cecil_Martin" target="_blank">Robert C. Martin</a> in his 1997 essay, “<a href="http://www.objectmentor.com/resources/articles/javacpp.pdf" target="_blank">Java and C++ A critical comparison</a>,” this was because during the early development of the Java language, Sun modeled Java’s Exception mechanism heavily against C++. Since then, Sun has come up with two different categorizations of Exceptions: checked and unchecked.<br />
<span id="more-674"></span><br />
Today, Java programmers today know the difference between “checked” and “unchecked” Exceptions, which is fairly straightforward. The real trick is knowing how to properly take advantage of the differences in your code.</p>
<p><strong>Unchecked Exceptions</strong>: This type of Exception is represented as a <code>RuntimeException</code> within the Java language and are not required to be declared in the <code>throws</code> clause of the method. These types of exceptions indicate a problem that should not routinely happen (ie. <code>IllegalArguementException</code>) and are unrelated to business logic errors.</p>
<p><strong>Checked Exceptions</strong>: A checked Exception is treated differently than an unchecked Exception by the compiler and virtual machine. This type of Exception must be caught in the body of the method or declared in the throws clause of the method declaration. This allows the code to clearly identify the problems that may occur within a method and require the user of that method to handle them appropriately.</p>
<p>The key here to take advantage of the differences is to avoid superfluous Exception handling code for better maintainability and robustness. Let’s consider the following method signature as an example:</p>
<pre class="brush: java">public void reflectionMethod()
    throws NoSuchMethodException, IllegalAccessException, MyCustomMethod {</pre>
<p>The only Exception that really matters here is <code>MyCustomMethod</code>, because it indicates a violation of a business rule. If any of the other Exceptions are thrown, a programming error has occurred. We could have declared our <code>reflectionMethod()</code> method to throw <code>Exception</code> or as <code>Throwable</code>.  But that’s a bad idea since that would allow any kind of <code>Exception</code> to be thrown. Subsequently, its calling method is now obligated to rethrow these exceptions or deal with them. This quickly propagates in your code until practically every method is declared with throws Exception and could potentially hide legitimate Exceptions such as <code>NullPointerException</code> and create a HUGE maintenance nightmare.</p>
<p>The best way to deal with this is to filter the exceptions so that you don’t have to declare them in the throws clause, but still maintain differentiated exceptions that can propagate down the call stack. This is where the unchecked exception (<code>RuntimeException</code> subclasses) come in handy. Consider the revised code:</p>
<pre class="brush: java">public void reflectionMethod() throws MyCustomMethod {
  try {
    // some code
  }
  catch(NoSuchMethodException e) {
    throw new RuntimeException(e);
  }
  catch(IllegalAccessException e) {
    throw new RuntimeException(e);
  }
}</pre>
<p>With this re-written code, you now make use of Java’s <a title="Chained Exceptions" href="http://java.sun.com/docs/books/tutorial/essential/exceptions/chained.html" target="_blank">chained exception facility</a>, allowing you to know when one exception causes another — very helpful when looking at a stack trace. This code now also allows you to filter the exceptions that would indicate programming problems and pass them on without declaring them in the <code>throws</code> clause.</p>
<p>OK, if Exceptions are so straightforward, then what is the problem? The problem is that sometimes even the best programmers do not properly implement Exceptions and this can lead to many hard to track down bugs. In past projects, this has accounted for a great deal of my debugging time, so I know the pain. Here is an example:</p>
<p>Improper Exception usage &#8211; a JDBC example. This type of problem is very hard to debug and can lead to hours of frustration. Here’s why. Let’s say you’ve got a JDBC-based GUI application. It runs some SQL against a data source and stores the data in a cache to be used by the GUI. Here’s the code:</p>
<pre class="brush: java">package com.shepherdinteractive.exceptions;
public class ExceptionalTraps implements TableModel {
  private ArrayList data; // Data cache for GUI
  private String sql;
  public int loadData(final Connection conn, final String sql) throws SQLException {
    int result = 0;
    Statement stmt = null;
    ResultSet rs = null;
    Object[] record = null;
    this.data = new ArrayList();
    try {
      this.sql = sql;
      stmt = conn.createStatement();
      rs = stmt.executeQuery(sql);
      int i = 0;
      int columnCount = rs.getMetaData().getColumnCount();
      while(rs.next()) {
        record = new Object[columnCount];
        for(i = 0; i &lt; columnCount; i++) {
          record[i] = rs.getObject(i);
        }
      data.add(record);
      }
    }
    finally {
      if(rs != null) {
      rs.close();
      }
      if(stmt != null) {
      stmt.close();
      }
    }
    return result;
  }
}</pre>
<p>The main problem here is that the cache gets filled on each iteration of the RecordSet. But each of these iterations could potentially cause a checked exception, leaving the cache partially filled at the time of the exception; an unstable state. This could have repercussions throughout the application as other Objects, such as listeners, throw Exceptions which would then cause a massive chain reaction of Exceptions that eventually crash the application.</p>
<p>The user, not knowing anything about databases or exceptions, fills out a bug report that says, “Using the ‘MyWidget’ menu item sometimes causes the application to crash.” Once you receive this bug report, you first try to replicate the error to figure out what is wrong with the method. However, you don’t get the transaction problem the user did, so you can’t reproduce the bug. You now have a transient bug that will be extremely difficult to find, as there could be thousands of lines of code between the invocation of the menu item and this method.</p>
<p>Fortunately, the solution is easy, if you know what to look out for. In this case, we re-write the code so that you first try to do all of the operations that could cause an exception prior to setting the instance variables. Here is the re-written code:</p>
<pre class="brush: java">ArrayList tempCache = new ArrayList();
try {
  // some code...
  while (rs.next( )) {
    record = new Object[columnCount];
    for (i = 0; i &lt; columnCount; i++) {
      record[i] = rs.getObject(i);
    }
    tempCache.add(record);
  }
}
finally {
  // some code...
}
this.data = temp;
this.sql = sql;
return result;</pre>
<p>By modifying the code this way, the data can never become corrupted. If an exception is thrown in the method body, the virtual machine will execute the finally block and exit the method, return control to the caller, the instance members won’t be set (they will be in a valid state.)</p>
]]></content:encoded>
			<wfw:commentRss>http://shepherdinteractive.com/about-us/blog/2009/08/exception-programming-in-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An exploration of Immutable Types in Java</title>
		<link>http://shepherdinteractive.com/about-us/blog/2009/08/an-exploration-of-immutable-types-in-java/</link>
		<comments>http://shepherdinteractive.com/about-us/blog/2009/08/an-exploration-of-immutable-types-in-java/#comments</comments>
		<pubDate>Sat, 22 Aug 2009 06:47:39 +0000</pubDate>
		<dc:creator>Jeff Wu</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://shepherd-interactive.com/?p=672</guid>
		<description><![CDATA[In Java, many frustrating Exceptions, like a NullPointerException can be avoided with a judicious application of Immutable types. The most common mistake I see when developers are creating an immutable class is that it may *appear* to immutable, but it really isn’t (for several different reasons — some are easy to spot and some are [...]]]></description>
			<content:encoded><![CDATA[<p>In Java, many frustrating Exceptions, like a <code>NullPointerException</code> can be avoided with a judicious application of Immutable types. The most common mistake I see when developers are creating an immutable class is that it may *appear* to immutable, but it really isn’t (for several different reasons — some are easy to spot and some are not).<br />
<span id="more-672"></span><br />
How about an example. Let’s say a developer was tasked to create an Immutable base class, say <code>Automobile</code>. They may produce something like this:</p>
<pre class="brush: java">package com.example.project.businessunit;

import java.lang;

public class Automobile {
  private String make;
  private String model;
  public Automobile(String make, String model) {
    this.make = make;
    this.model = model;
  }
  public String getMake() {
    return this.make;
  }
  public String getModel() {
    return this.model;
  }
}</pre>
<p>At first glance, it looks good (no setters) but I see two problems with this approach. First, the <code>private</code> keyword only applies to external classes; another developer working on the same business unit could potentially write a setter that assigns a null value to the property. Second, using reflection, the access protection on the class could be removed and then the values could be changed.</p>
<p>The solution in this particular case is to declare the members of the class as <code>final</code>:</p>
<pre class="brush: java">private final String make;
private final String model;</pre>
<p>Then, throwing an exception if a null is assigned via the constructor:</p>
<pre class="brush: java">public Automobile(final String make, final String model) {
  if(null == make) {
    throw new NullPointerException("Automobile make cannot be null");
  }
  if(null == model) {
    throw new NullPointerException("Automobile model cannot be null");
  }
  this.make = make;
  this.model = model;
}</pre>
<p>Here is another common problem I’ve encountered with incorrect implementations of Immutable Types. Let’s start off with some code:</p>
<pre class="brush: java">package com.shepherdinteractive.example.immutable;

import com.shepherdinteractive.example.immutable.components.Engine;

public class Automobile {
  private final Engine engine;
  public Automobile(final Engine engine) {
    this.engine = engine;
  }
  public Engine getEngine() {
    return engine;
  }
}</pre>
<p>At first glance, the code looks OK for an immutable class, but there are actually two problems. The first problem occurs in the constructor. Variables that contain constructed objects in Java are actually reference variables. Therefore, this.engine points to the same object the caller passed in. In other words, when creating an instance of the Automobile class with Engine parameterized constructor, the caller still has a reference to the object held in the internal variable this.engine. The following code will help illustrate the point:</p>
<pre class="brush: java">package com.shepherdinteractive.example.immutable.test;

import com.shepherdinteractive.example.immutable.Automobile;
import com.shepherdinteractive.example.immutable.components.Engine;

public class Tester {
  public final static void main(final String[] args) {
    Engine n54b30 = new Engine(2979);
    Automobile genericCar = new Automobile(n54b30);
    n54b30.setDisplacement(3000);
    // Assume the toString() method outputs displacement value.
    System.out.println(genericCar.getEngine());
  }
}</pre>
<p>Running the program on the command line will produce something like this:</p>
<pre>&gt; [java] com.shepherdinteractive.example.immutable.components.Engine[3000]</pre>
<p>As you can see, the value actually shouldn’t be 3000, it should be 2979.</p>
<p>The second problem occurs in the getter. When the <code>Engine</code> is returned from the get method, the caller will get a reference to the same instance as the one contained in the supposedly immutable type <code>Automobile</code>. Note that the <code>final</code> keyword doesn’t protect you because it will only block someone from changing the <code>Engine</code> to which the variable <code>engine</code> points to; even when declared as a <code>final</code>, the contents of the <code>Engine</code> object stored in the <code>engine</code> variable can be modified.</p>
<p>The solution to this problem is to make copies of mutable objects when creating new instances of classes. So the constructor would be re-written thus:</p>
<pre class="brush: java">public Automobile(final Engine engine) {
  this.engine = new Engine(engine.getDisplacement());
}</pre>
<p>And here’s the re-written getter:</p>
<pre class="brush: java">public Engine getEngine() {
  return new Engine(engine.getDisplacement());
}</pre>
<p>This notion of copying mutable members of immutable objects can also apply to <strong>mutable</strong> objects when coding for encapsulation (when you only want to expose the interface, not the implementation details, of a class to the users of that class). This type of defensive copying is costly (ie. this is precisely the reason why they tell you to use <code>StringBuffer</code> for repetitive <code>String</code> manipulations), so please be aware of this. You could easily end up creating applications that eat memory the way I eat sushi (not a good thing).</p>
<p>With the proper implementation of Immutable Types, there is no way that another developer in your team can accidentally (or on purpose) break your encapsulation because they can never get a reference to the internal object. Furthermore, with proper understanding and application, you can create very robust thread-safe software using the fundamental techniques outlined in this article.</p>
]]></content:encoded>
			<wfw:commentRss>http://shepherdinteractive.com/about-us/blog/2009/08/an-exploration-of-immutable-types-in-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spring 2009 • Issue 2</title>
		<link>http://shepherdinteractive.com/about-us/newsletters/2009/05/shepherd-launches-resers-dip-in/</link>
		<comments>http://shepherdinteractive.com/about-us/newsletters/2009/05/shepherd-launches-resers-dip-in/#comments</comments>
		<pubDate>Wed, 27 May 2009 19:51:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Newsletters]]></category>

		<guid isPermaLink="false">http://shepherd-interactive.com/?p=658</guid>
		<description><![CDATA[Shepherd launches Reser&#8217;s, dip in.
Over the past 16 years, Reser&#8217;s Fine Foods has acquired multiple product lines. Shepherd Interactive came to the table to create a powerful online presence that highlights these product lines under one branded experience.

Check out some recipes or cooking tips from Chef Barb. You never know when you may need some [...]]]></description>
			<content:encoded><![CDATA[<h4><a title="Download the PDF of our newsletter" href="http://shepherd-interactive.com/wp-content/uploads/2009/05/si_news-2009-05.pdf" target="_blank"><img class="size-medium wp-image-662 alignright" style="float:right;" src="http://shepherd-interactive.com/wp-content/uploads/2009/05/si_news-2009-05-147x300.jpg" alt="Spring 2009 Newsletter" width="147" height="300" /></a>Shepherd launches Reser&#8217;s, dip in.</h4>
<p>Over the past 16 years, Reser&#8217;s Fine Foods has acquired multiple product lines. Shepherd Interactive came to the table to create a powerful online presence that highlights these product lines under one branded experience.<br />
<span id="more-658"></span><br />
Check out some recipes or cooking tips from Chef Barb. You never know when you may need some culinary ideas for your next tailgate party. Visit the new website at <a href="http://www.resers.com/" target="_blank">resers.com</a>.</p>
<h4>Shepherd is wired for 2009.</h4>
<p>You never know where you may see us show up next. So we&#8217;ve given you a colorful snapshot of some of the things going on with Shepherd Interactive lately:</p>
<ul>
<li>Video crews have been on a two state road trip over the last few months filming video segments for Climax Portable Machine tools.</li>
<li>Developers visited the Big Apple to get RedDot certified and to eat some real bagels East coast style.</li>
<li>Why not personalize your local franchise? We helped Rebath do just that. <a href="http://rebathoregon.com/" target="_blank">rebathoregon.com</a></li>
<li>Fiji sounds good about this time of year. That&#8217;s why we are working with Turtle Island to improve their site functionality. Forget about the perks!</li>
<li>Shepherd Interactive is working with Chinese Rice Wine on a full re-branding and a new e-commerce website. Look for the new website in June 2009.</li>
</ul>
<h4>Employee Profile</h4>
<h5>Mike Crossley, Creative Directory</h5>
<p>With a passion for design and branding, Mike brings over fifteen years of integrated marketing experience to Shepherd Interactive. Whether directing or designing work for brands like Bridgetown Brewing, Arbor Homes, Adidas or Novell, he has a track record for doing award-winning work and crafting memorable consumer experiences that build relationships. Mike enjoys working on a diverse mix of media that brings together print, interactive and brand identity.</p>
]]></content:encoded>
			<wfw:commentRss>http://shepherdinteractive.com/about-us/newsletters/2009/05/shepherd-launches-resers-dip-in/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Create a Buzz without the Sting</title>
		<link>http://shepherdinteractive.com/about-us/newsletters/2009/05/create-a-buzz-without-the-sting/</link>
		<comments>http://shepherdinteractive.com/about-us/newsletters/2009/05/create-a-buzz-without-the-sting/#comments</comments>
		<pubDate>Wed, 27 May 2009 17:58:18 +0000</pubDate>
		<dc:creator>Mike Spicer</dc:creator>
				<category><![CDATA[Articles]]></category>

		<guid isPermaLink="false">http://shepherd-interactive.com/?p=629</guid>
		<description><![CDATA[Marketing your message in a tight economy
In this kind of economy, marketing efforts may be one of the first areas to feel the effects of budget tightening and cost trimming. But slimmer spending can be an opportunity to explore less expensive, more effective methods for getting your message out. You can keep the marketing momentum [...]]]></description>
			<content:encoded><![CDATA[<h4>Marketing your message in a tight economy</h4>
<p>In this kind of economy, marketing efforts may be one of the first areas to feel the effects of budget tightening and cost trimming. But slimmer spending can be an opportunity to explore less expensive, more effective methods for getting your message out. You can keep the marketing momentum going with a few creative approaches to communication.<br />
<span id="more-629"></span></p>
<h4>Let your expertise speak for itself</h4>
<p>You’ve spent years and dollars advertising, strategizing, marketing, and building a brand. Now’s the time to let your expertise and knowledge communicate your value. Trade and industry publications are often seeking useful, fresh content from experienced professionals. There is usually little to no cost (other than your time) involved in having articles published in newsletters, weblogs, magazines, and other print and online media. What better way to give your firm a voice? Translate your proficiency into written words and you have the ability to speak directly to your target audience, not only reinforcing your brand and highlighting your firm’s capabilities but also creating goodwill among your client base by offering helpful information and advice.</p>
<p>Many publications provide submission guidelines online. Become familiar with their needs for article length, topics of relevance, and tone before presenting your work for publication. If the guidelines are not posted, you can contact the editor directly to discuss guidelines and submission for publication. Industry blogs may be open for commentary; add your voice and promote your firm to a highly targeted audience.</p>
<p>You can also speak directly to your audience (literally) by seeking out speaking engagements. Conferences, trade shows, seminars, and webcasts provide an excellent forum for you to demonstrate leadership in your industry. Additionally, engaging your audience in person can provide an opportunity to build face-to-face rapport and thus strong relationships with clients and prospects. Search for potential positions as a panelist, openings for keynote speakers, and even opportunities to lead, assist, or answer questions for seminar attendees. Keep in mind that speaking engagements may be booked far in advance, so start your search early.</p>
<h4>Package your public relations</h4>
<p>Press releases and other traditional PR can be a significant supplement to your marketing strategy. But in this oversaturated media environment, you can give your campaigns greater impact with a little thoughtful packaging. Consider adding a multimedia element to your PR messages. Introduce product launches, announce sales events, and update the press on your company’s activities with more than just text. Photographs, videos, soundbites, and links to online resources make your message more powerful. Create interactive news releases and the press may find your PR more newsworthy.</p>
<h4>Capture market share with case studies</h4>
<p>Word-of-mouth is one of the most effective means by which businesses gain clientele. People tend to trust those who offer up recommendations based purely on satisfying experiences. While getting the word out person-to-person may not be viable, case studies can achieve a similar effect. People enjoy sharing good fortune; if you have satisfied clients, chances are they would be pleased to talk about their experience with your firm for a case study. And both clients and potential clients appreciate hearing objective feedback from others. It reaffirms that a decision to hire your firm is a sound decision. Use your best case studies as marketing materials or feature them on your website.</p>
<h4>Make time to be social</h4>
<p>We’ve come a long way since the days of rotary phones and hand-written missives. The ways that people share information have changed. The latest trend to hit the collective communication consciousness is social media. Think about the wonders of YouTube, Facebook, MySpace, and Twitter. Include these and similar avenues of communication in your strategy to reach the new generation of web-savvy consumers. Gaining familiarity with blogs, social networking, and instant message technology can extend the scope of your marketing in virtually unlimited ways.</p>
<p>In this slower economy, you can keep your company moving forward. Expand your marketing tool box to include a few new strategies and innovative communication ideas. You’ll find you can create a healthy buzz about your firm without an accompanying sting to your budget.</p>
]]></content:encoded>
			<wfw:commentRss>http://shepherdinteractive.com/about-us/newsletters/2009/05/create-a-buzz-without-the-sting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
