<?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>EYEMAGINE &#187; web design</title>
	<atom:link href="http://www.eyemaginetech.com/blog/category/web-design/feed" rel="self" type="application/rss+xml" />
	<link>http://www.eyemaginetech.com/blog</link>
	<description>Discover the latest news in Web Design, Online Marketing, and Magento Development at EYEMAGINE&#039;s blog. For more information visit eyemaginetech.com</description>
	<lastBuildDate>Sat, 04 Feb 2012 01:49:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Taking the Guesswork out of User Experience</title>
		<link>http://www.eyemaginetech.com/blog/ecommerce/taking-the-guesswork-out-of-user-experience</link>
		<comments>http://www.eyemaginetech.com/blog/ecommerce/taking-the-guesswork-out-of-user-experience#comments</comments>
		<pubDate>Wed, 21 Apr 2010 00:01:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ecommerce]]></category>
		<category><![CDATA[search engine optimization]]></category>
		<category><![CDATA[user experience]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://www.eyemaginetech.com/our-thoughts/?p=221</guid>
		<description><![CDATA[For many designers, there used to be a bit of mystery and guesswork to finding the sweet spot in a website's design between beautiful and functional. <a href="http://www.eyemaginetech.com/blog/ecommerce/taking-the-guesswork-out-of-user-experience">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Finding the sweet spot between a beautiful design and a functional design used to be a mysterious challenge left to designers crack.</p>
<p><span id="more-221"></span> Currently, there are entire institutions dedicated to performing usability tests that serve to demystify the user experience and explain how a website visitor interacts with a site. Several years ago, virtualhosting.com posted a fascinating article about website visitor eye tracking studies that revealed some very interesting tidbits on how your website design affects your visitors. Despite its age, I feel that many of its findings are quite relevant to the modern web and how visitors interact with websites. I hand picked several of their main points to discuss further here, you may view the list and their explanations in full at: <a href="http://www.virtualhosting.com/blog/2007/scientific-web-design-23-actionable-lessons-from-eye-tracking-studies/" target="_blank">23 Actionable Lessons from Eye-Tracking Studies</a></p>
<ol>
<li>
<h3>1. Text attracts attention before graphics.</h3>
<p>I instinctively want to disagree with this one. After all, everyone loves pictures and good photography can make or break a website&#8217;s design. However, when a visitor is coming to your website, the majority of the time they are looking for information about what you do, who you are, or how you can make them better informed. Your visitors want real substance, not just visual fluff.</li>
<li>
<h3>2. Users initially look at the top left and upper portion of the page before moving down and to the right.</h3>
<p>This point touches on the F shape of a user&#8217;s eye movements over a website. You can use this to your advantage and lay out important calls to action and headlines along this shape to maximize their visibility.</li>
<li>
<h3>3. Readers ignore banners.</h3>
<p>This should come as no surprise to many of you, users have been bombarded with banner ads on many of their favorite sites, and users are learning to completely tune these out. Because of this, it isn&#8217;t wise to design calls to action that resemble banner ads too closely in either shape or design.</li>
<li>
<h3>4. People generally scan lower portions of the page.</h3>
<p>This is a big one in my experience with client relations. All too frequently I get requests to try and stuff everything up on the page to keep the information “above the fold.” With the invention of the scroll wheel on mouses, it has become normal behavior for a user to scroll through a page. An excellent article that expounds on this point can be found at: <a href="http://www.iampaddy.com/lifebelow600/" target="_blank">Life Below 600px</a></li>
<li>
<h3>5. Shorter paragraphs perform better than long ones.</h3>
<p>Your visitors are lazy, they want to get the answer to their question as quickly and easily as possible. There is a challenge in balancing the need for text for SEO purposes, and the need to present your information as plainly as possible for your visitors. Users don&#8217;t read big blocks of text, the shorter and more succinct you can state your point, the more likely it is going to be read. In short, use lists.</li>
<li>
<h3>6. Lists hold reader attention longer.</h3>
<p>Lists present information in short phrases that make it easy for users to scan and find what they want quickly. Lists are the most efficient way to get your information to your users.</li>
<li>
<h3>7. White space is good.</h3>
<p>White space is vital to making your content more digestible for the user. By giving your information space to denote its importance, you make it easier for the user to find what they are looking for.</li>
</ol>
<p>The main goal of user experience studies are to determine how to make your content more accessible and readable by your users. If you would like to find out how EyeMagine can optimize your site&#8217;s content to allow you to better communicate with your audience, please <a href="/contact-us">contact us today</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.eyemaginetech.com/blog/ecommerce/taking-the-guesswork-out-of-user-experience/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building Flash with Common Courtesy</title>
		<link>http://www.eyemaginetech.com/blog/flash/building-flash-with-common-courtesy</link>
		<comments>http://www.eyemaginetech.com/blog/flash/building-flash-with-common-courtesy#comments</comments>
		<pubDate>Sat, 03 Apr 2010 00:55:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[flash]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.eyemaginetech.com/our-thoughts/?p=180</guid>
		<description><![CDATA[Recently I had a conversation with a few members of my team about Flash and we all agreed that there are a thousands of ways to do something in Flash and only a few to do it right. <a href="http://www.eyemaginetech.com/blog/flash/building-flash-with-common-courtesy">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Recently I had a conversation with a few members of my team about Flash and we all agreed that there are a thousands of ways to do something in Flash and only a few to do it right.<span id="more-180"></span> Unplanned and poorly organized Flash projects can dampen productivity and really make life difficult for the developer that inherits the code after you write it.  Below is an introduction to best practices when developing Flash.  It will make your life easier and your Flash developer friendships last longer.</p>
<h3>Create classes for every object</h3>
<p>Procedural, function-based, timeline code has been a bad practice ever since I can remember, yet I still find it in many projects I come across from other developers. It&#8217;s really hard to keep track of as your application grows, and a nightmare to come back to after  long break, if there are upgrades or changes that need to be made after launch. Do yourself a favor and follow the <a href="http://en.wikipedia.org/wiki/Object-oriented_programming">Object Oriented Analysis and Design</a> principles of encapsulation and modularity. You really should understand all of the concepts of OOAD so put in the reading time. It&#8217;ll save you countless hours of future FLASHtrations.</p>
<p>What I like to do is set up my objects in Flash and use frame labels and instance names for the various movie clips that are contained within, then link them to an external <em>ClassName.as</em> file through the object properties screen in the library. You can reference them in your as file by doing something like this:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">package</span> com.<span style="color: #006633;">library</span>.<span style="color: #006633;">ui</span><span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">flash.display.MovieClip</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">flash.text.TextField</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> TextInput <span style="color: #000000; font-weight: bold;">extends</span> MovieClip<span style="color: #009900;">&#123;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">protected</span> var _txtInput<span style="color: #339933;">:</span><span style="color: #003399;">TextField</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">public</span> function TextInput<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">super</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			_txtInput <span style="color: #339933;">=</span> <span style="color: #003399;">TextField</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'txtInput'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000000; font-weight: bold;">public</span> function getText<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #003399;">String</span><span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">return</span> _txtInput.<span style="color: #006633;">text</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000000; font-weight: bold;">public</span> function setText<span style="color: #009900;">&#40;</span>s<span style="color: #339933;">:</span><span style="color: #003399;">String</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">void</span><span style="color: #009900;">&#123;</span>
			_txtInput.<span style="color: #006633;">text</span> <span style="color: #339933;">=</span> s<span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Notice in the above code that I&#8217;m simply linking to an existing <code>TextField</code> object, <code>TextField(this['txtInput'])</code>, within the movie clip, rather than creating one dynamically via <code>new TextField()</code>. This allows me to leave the text formatting, positioning and other design related properties completely separate from my logic and allow me to focus on what I do best, while letting a Flash designer/Animator worry about the rest. Simple, clean, and elegant.</p>
<h3>Leverage &#8220;the Flash way&#8221; of getters and setters</h3>
<p>If you notice above, I created a <code>getText</code> and <code>setText</code> which follows standards for coding Class property accessor methods. Flash&#8217;s standard <code>TextField</code> and many other objects don&#8217;t follow this standard, and in the interest of keeping your objects interchangeable with the ones in Flash, you should adopt the flash way of writing these methods. Let&#8217;s look at what the above code would look like with these changes. I will also add some other TextField methods I plan on using:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">package</span> com.<span style="color: #006633;">library</span>.<span style="color: #006633;">ui</span><span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">flash.display.MovieClip</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">flash.text.TextField</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> TextInput <span style="color: #000000; font-weight: bold;">extends</span> MovieClip<span style="color: #009900;">&#123;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">protected</span> var _txtInput<span style="color: #339933;">:</span><span style="color: #003399;">TextField</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">public</span> function TextInput<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">super</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			_txtInput <span style="color: #339933;">=</span> <span style="color: #003399;">TextField</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'txtInput'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000000; font-weight: bold;">public</span> function get text<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #003399;">String</span><span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">return</span> _txtInput.<span style="color: #006633;">text</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000000; font-weight: bold;">public</span> function set text<span style="color: #009900;">&#40;</span>s<span style="color: #339933;">:</span><span style="color: #003399;">String</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">void</span><span style="color: #009900;">&#123;</span>
			_txtInput.<span style="color: #006633;">text</span> <span style="color: #339933;">=</span> s<span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000000; font-weight: bold;">public</span> function get restrict<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #003399;">String</span><span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">return</span> _txtInput.<span style="color: #006633;">restrict</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000000; font-weight: bold;">public</span> function set restrict<span style="color: #009900;">&#40;</span>s<span style="color: #339933;">:</span><span style="color: #003399;">String</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">void</span><span style="color: #009900;">&#123;</span>
			_txtInput.<span style="color: #006633;">restrict</span> <span style="color: #339933;">=</span> s<span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000000; font-weight: bold;">public</span> function get maxChars<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">return</span> _txtInput.<span style="color: #006633;">maxChars</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000000; font-weight: bold;">public</span> function set maxChars<span style="color: #009900;">&#40;</span>n<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">void</span><span style="color: #009900;">&#123;</span>
			_txtInput.<span style="color: #006633;">maxChars</span> <span style="color: #339933;">=</span> n<span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000000; font-weight: bold;">public</span> override function set tabIndex<span style="color: #009900;">&#40;</span>i<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">void</span><span style="color: #009900;">&#123;</span>
			_txtInput.<span style="color: #006633;">tabIndex</span> <span style="color: #339933;">=</span> i<span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000000; font-weight: bold;">public</span> override function get tabIndex<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">return</span> _txtInput.<span style="color: #006633;">tabIndex</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>What this allows you to do is use this class just like you would any standard flash TextField inputs:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">...
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">flash.text.TextField</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">com.library.ui.TextInput</span><span style="color: #339933;">;</span>
...
<span style="color: #006633;">var</span> tf<span style="color: #339933;">:</span><span style="color: #003399;">TextField</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">TextField</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
tf.<span style="color: #006633;">text</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;foo&quot;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//sets the TextField's text to &quot;foo&quot;</span>
&nbsp;
var myTextInput<span style="color: #339933;">:</span>TextInput <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> TextInput<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
myTextInput.<span style="color: #006633;">text</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;bar&quot;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//sets the encapsulated TextField's text to &quot;bar&quot;</span>
&nbsp;
trace<span style="color: #009900;">&#40;</span>tf.<span style="color: #006633;">text</span> <span style="color: #339933;">+</span> myTextInput.<span style="color: #006633;">text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//output is &quot;foobar&quot;</span>
...</pre></div></div>

<h3>Use inheritance</h3>
<p>Object inheritance is something I love about programming. It really allows me to build well encapsulated objects that do something really well, then later when I need slightly modified versions, I can just inherit from the original and extend the functionality. Lets take our above example and extend it to be a custom number input.</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">package</span> com.<span style="color: #006633;">library</span>.<span style="color: #006633;">ui</span><span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> NumberInput <span style="color: #000000; font-weight: bold;">extends</span> TextInput<span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">public</span> function NumberInput<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">super</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			_txtInput.<span style="color: #006633;">restrict</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'0-9'</span><span style="color: #339933;">;</span>
			_txtInput.<span style="color: #006633;">maxChars</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span>
			_txtInput.<span style="color: #006633;">multiline</span> <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000000; font-weight: bold;">public</span> override function set tabIndex<span style="color: #009900;">&#40;</span>i<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">void</span><span style="color: #009900;">&#123;</span>
			_txtInput.<span style="color: #006633;">tabIndex</span> <span style="color: #339933;">=</span> i<span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000000; font-weight: bold;">public</span> override function get tabIndex<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">return</span> _txtInput.<span style="color: #006633;">tabIndex</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<h3>Keep your code organized in packages</h3>
<p>You may or may not have noticed the package name in the above object had several parts to it. It is split up into folders which keep related classes separate visually and programatically through <a href="http://livedocs.adobe.com/flash/9.0/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&amp;file=00000041.html">packages</a>. What I like to do is to start by creating a <em>com</em> folder to store all of my classes, then put a subfolder with the project name, for project specific classes, and a <em>library</em> folder where I put classes I tend to reuse across projects. These have subfolders to keep related elements organized like a <em>ui</em>, user interface, folder and similar. Here is an example:</p>
<h5>com</h5>
<ul class="disc">
<li>library
<ul>
<li>ui
<ul>
<li>TextInput</li>
<li>NumberInput</li>
</ul>
</li>
<li>events
<ul>
<li>EventWithParameter</li>
</ul>
</li>
</ul>
</li>
<li>myproject
<ul>
<li>ui
<ul>
<li>CustomTextInput (inherits from com.library.ui.TextInput)</li>
<li>CustomNumberInput (inherits from com.library.ui.CustomNumberInput)</li>
</ul>
</li>
<li>Main (document class for myproject)</li>
</ul>
</li>
</ul>
<h3>Keep your object library organized</h3>
<p>Your library should be even more organized because objects often have numerous nested graphics and movie clips that can quickly create an unmanageable mess. How these are best organized is strictly a judgment call, but I can show you what&#8217;s helped me in the past:</p>
<h5>Library</h5>
<ul class="disc">
<li>UserInterface
<ul>
<li>Inputs
<ul>
<li>mcTextInput</li>
<li>mcNumberInput</li>
</ul>
</li>
<li>MyCustomButton
<ul>
<li>mcMyCustomButton</li>
<li>Bitmaps
<ul>
<li>bg_idle.png</li>
<li>bg_hover.png</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>Background
<ul>
<li>Bitmaps
<ul>
<li>background.png</li>
<li>office.png</li>
</ul>
</li>
<li>mcFooter</li>
</ul>
</li>
</ul>
<p>This one will be greatly be appreciated by anyone that has to reuse or modify your code because it will save them lots of time figuring out which pieces go together.</p>
<h3>Conclusion</h3>
<p>Well, there you have it. This isn&#8217;t meant to be a comprehensive list but hopefully the suggestions here will help you on your way to becoming a better Flash developer. Good luck!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.eyemaginetech.com/blog/flash/building-flash-with-common-courtesy/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Biggest Ecommerce Lies and How to Avoid Them</title>
		<link>http://www.eyemaginetech.com/blog/ecommerce/the-biggest-ecommerce-lies-and-how-to-avoid-them</link>
		<comments>http://www.eyemaginetech.com/blog/ecommerce/the-biggest-ecommerce-lies-and-how-to-avoid-them#comments</comments>
		<pubDate>Fri, 13 Nov 2009 00:21:48 +0000</pubDate>
		<dc:creator>Melanie Etemadi</dc:creator>
				<category><![CDATA[ecommerce]]></category>
		<category><![CDATA[magento]]></category>
		<category><![CDATA[online store]]></category>
		<category><![CDATA[search engine optimization]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.eyemaginetech.com/our-thoughts/?p=118</guid>
		<description><![CDATA[One of the great things about ecommerce websites is that the fruits of your labor are so visible and direct... <a href="http://www.eyemaginetech.com/blog/ecommerce/the-biggest-ecommerce-lies-and-how-to-avoid-them">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>One of the great things about ecommerce websites is that the fruits of your labor are so visible and direct, i.e. do a good job and the website makes more money; screw up and profits decline.<span id="more-118"></span> There is something wonderfully black and white about it.</p>
<p>With such measurable and obvious success criteria, you would’ve thought that good practice and winning techniques would by now, be well established, and bad advice would be quickly exposed for what it is. It appears however, that this is not the case.  It’s amazing just how bad some of the advice out there really is.</p>
<p>Here are five of the worst offenders:</p>
<h3>1. You can never give the user too much  [Wrong!]</h3>
<p>On the face of it, this sounds like a good idea. The more information you provide, the better informed their decision becomes. However, in reality too many options can be overwhelming and lead to ‘choice paralysis’.  You know what that’s like: taking much longer to order food from a very long menu than from a shorter one, or taking an eternity to choose which of the thousands of available paint colors to apply to a home.</p>
<p>More is not always better. If you want to encourage users to buy, you need to make their choice a simple one.  Remove everything but the most important information, and minimize the number of choices available. This is something that’s been understood for some time in traditional retailing, but hasn’t filtered through to the web.</p>
<h3>2. Never miss an opportunity to cross-sell [Wrong!]</h3>
<p>We all know supermarkets do it:  You’re lining up at the checkout surrounded by chocolate, magazines and other extras.  You go in for a loaf of bread and come out with a bag full of candy and a magazine on interior design; it’s an effective technique.</p>
<p>Many successful websites also use this approach very effectively, looking for opportunities to cross-sell, based on your buying habits and those of other users.  They may not <em>always</em> up-sell though, as the web is not the same as the real world.  Good online retailers are often careful to avoid distractions at the checkout.  They are user-driven and therefore have to be as easy, focused and fast as possible.</p>
<p>Up-selling is important, but do it before the checkout process begins, or after the transaction is complete. Once the user makes a decision to buy, you need to ensure that nothing gets in the way of that transaction.  Some opportunities to cross-sell are worth missing.</p>
<h3>3. It’s all about your site [Wrong!]</h3>
<p>Web designers want to sell you web site design services. It is therefore unsurprising that they concentrate their attention and advice on the website. However, the website is only one small part of a successful ecommerce business.  The heart of successful ecommerce lies in service, not the website.</p>
<p>Don’t become so fixated on tweaking and improving your website that you neglect other areas of the user experience. Good customer service includes vital components such as email notifications, telephone support, policies, order fulfillment, handling complaints, offers and discounts, and ongoing communication.</p>
<p>Customers who receive superb service are considerably more likely to make a second purchase and recommend you to friends and family.  It’s even possible to substantially reduce your marketing costs if you make customer service a priority; your reputation will spread through word of mouth.</p>
<p>If you want to learn more about customer service, try <a href="http://experiencematters.wordpress.com/">Bruce Temkin&#8217;s blog</a></p>
<p>All that being said, getting your website right is still extremely important. Small things can make a big difference in the eyes of your users. Take for example security…</p>
<h3>4. Users care about security… badges [Wrong!]</h3>
<p>It’s clear that users care about online security. In fact many people are still unwilling to buy online for fear of credit card fraud.  The media has done an excellent job of making the public suspicious of online transactions, even though they willingly hand over credit cards at restaurants.</p>
<p>Whether the users’ concerns are justified or not, we need to take them seriously if we want people to buy.  Many ecommerce businesses spend a lot of money to ensure the site’s security.  How then do they choose to communicate this to their users to reassure them? – They slap a badge on their website!</p>
<p>Simply adding a small VeriSign or MacAfee badge to your checkout page is not enough to alleviate users’ fears.  At best they are free advertising for the companies involved.  At worst they are entirely ignored because they look like banners.  A better approach is to add copy to your website addressing this issue, and the steps you’ve taken to ensure your customers’ security. Don’t rely on a single graphic to say all that needs to be said.</p>
<h3>5. Amazon is the template we should all follow [Wrong]</h3>
<p>This lie is probably the most widely held of all. There is a belief that because Amazon is so successful, all ecommerce websites should follow their example.</p>
<p>There are however, a number of flaws in this argument:</p>
<p>- They don’t get everything right (nobody can)<br />
- They are partially successful as they were one of the very first ecommerce sites<br />
- Their reputation and brand recognition allows them to get away with a lot<br />
- Users are familiar with their site and its eccentricities</p>
<p>In short, what works for them will not necessarily work for you. Too many website owners blindly copy Amazon because they are seen as the leader in ecommerce. Not only is that flawed for the reasons above, it also removes the possibility of you ever being better than Amazon or innovating in any way.</p>
<h3>Bonus lie:  Ecommerce is easy</h3>
<p>Probably the biggest lie of all is that ecommerce is easy. Admittedly off-the-shelf solutions such as <a href="http://www.shopify.com/">Shopify</a> make it extremely easy to build ecommerce websites. However, building the site is only the beginning. The real challenge comes in:</p>
<p>- Marketing your site<br />
- Deciding when to up-sell<br />
- Providing great customer service<br />
- Communicating clearly<br />
- Learning from others</p>
<p>Creating a successful ecommerce business is a long-term commitment that involves continually evolving both your website and your strategy.</p>
<p><a href="http://www.eyemaginetech.com">EyeMagine</a> can make this a whole lot easier for you.  <a title="Contact EyeMagine" href="/contact-us/">Contact us</a> for more details or complete our online <a title="Request for Proposal" href="/contact-us/request-for-proposal.php">Request for Proposal</a> form.<br />
<a title="The Biggest Ecommerce Lies and How to Avoid Them" href="http://boagworld.com/site-content/ecommerce-lies" target="_blank" class="alignright">Read the full article (source)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.eyemaginetech.com/blog/ecommerce/the-biggest-ecommerce-lies-and-how-to-avoid-them/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Things to think about when selecting a Magento Solution Partner</title>
		<link>http://www.eyemaginetech.com/blog/magento/things-to-think-about-when-selecting-a-magento-solution-partner</link>
		<comments>http://www.eyemaginetech.com/blog/magento/things-to-think-about-when-selecting-a-magento-solution-partner#comments</comments>
		<pubDate>Sat, 12 Sep 2009 19:48:15 +0000</pubDate>
		<dc:creator>Andy Etemadi</dc:creator>
				<category><![CDATA[magento]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[web standards]]></category>

		<guid isPermaLink="false">http://www.eyemaginetech.com/our-thoughts/?p=94</guid>
		<description><![CDATA[Finding the right Magento Solution Partner is like finding a soul mate. <a href="http://www.eyemaginetech.com/blog/magento/things-to-think-about-when-selecting-a-magento-solution-partner">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Finding the right Magento Solution Partner is like finding a soul mate. Trustworthiness, sincerity, and that intangible spark are all important when talking about a soul mate or a Magento Solution Partner.<span id="more-94"></span></p>
<p>We&#8217;ve been approached by many storeowners, small companies, mid-sized companies, and media agencies to help with a Magento storefront.  Sometimes it&#8217;s a fit and sometimes it&#8217;s not. EyeMagine has been able to identify a few important things to consider when shopping for a Magento Solution Partner.  We hope this discussion will shed some light on your own search for a Magento developer and we wish you the best!</p>
<h3>Design</h3>
<p>Consider an e-commerce site&#8217;s presentation.  How important <em>is</em> design?  Can you recall a poorly designed e-commerce site? Has the poor design affected your decision to purchase?  Can you imagine how a poorly designed e-commerce site would affect your customers&#8217; decision to make a purchase?</p>
<p>Now let&#8217;s consider a beautifully designed e-commerce store. Has a clean, intuitive, inviting design ever influenced your decision to buy? How do you think an engaging store design will boost your sales?</p>
<p>We believe design and user experience is a critical element of a successful e-commerce store. See some of <a title="Our work" href="/our-work/">our work</a>, for reference. Providing your customers with positive feelings of confidence, assurance, and well-being is a lubricant for any online shopping experience.</p>
<p>We work together to create the ideal design for your store. We ask for sites that inspire you and we research your industry and competitors to understand the difference between a successful e-commerce site and the average e-commerce site.</p>
<p>EyeMagine creates designs in PSD format. This is a standard file format that is converted to HTML files. The resulting HTML files will be used to create a custom Magento theme.</p>
<h3>Custom Features</h3>
<p>While design is quite critical, a store&#8217;s features and function are also very important.</p>
<p>As a Magento Solution Partner, we are versed in Magento&#8217;s native <a title="Magento Features" href="http://www.magentocommerce.com/products/features" target="_blank">features</a>.  It will be very important for you to know and understand the features that Magento provides, off the shelf. We are so familiar with the software that we can add new features.</p>
<p>What would be considered a custom feature? Here some examples of customizations to the Magento e-commerce platform:<br />
- <a title="Invoiced sales report" href="http://www.magentocommerce.com/extension/1716/invoiced-sales-report" target="_blank">Invoiced sales report</a><br />
- Blog<br />
- Press Release content management system<br />
- Product configurator</p>
<p>If your store needs features that are not included in the Magento Community Edition, each of those features will be evaluated and added to the scope of work.</p>
<h3>Theme</h3>
<p>Once we gather all of the feature requirements and create a design, we will proceed to create HTML that will be used to create a custom theme for your store.</p>
<p>Magento is a template-based e-commerce application, which means that it comes with a default theme. This default store can be seen at the <a title="Magento demo" href="http://demo.magentocommerce.com/" target="_blank">Magento demo site</a>. Custom theme templates are created that overload the default set of templates. When creating a new store, we create a new theme for the store that brings the design to life.</p>
<p>That theme will be unique to your store.</p>
<h3>Payment Gateway</h3>
<p>Magento supports online credit card transactions. <a title="Authorize.net" href="http://www.authorize.net/" target="_blank">Authorize.net</a> is an online payment gateway that helps process online credit card transactions. Authorize.net is one of many payment options when offering credit card payment to your customers.</p>
<p><a title="PayPal" href="https://www.paypal.com/" target="_blank">PayPal</a> is another payment gateway that is included in Magento e-commerce platform.</p>
<p>Once a payment gateway is selected, the accounts department will open an account and configure bank account information to begin processing transactions.</p>
<h3>Project Management</h3>
<p>Who will you be speaking with while your Magento store is being produced?</p>
<p>On the surface, this may not sound like a matter of great concern. But, it is. A good project manager will bring your project to completion on time.</p>
<p>Our team understands how important deadlines are. We understand that marketing material is usually published prior to a site launch and we have experience with managing and delivering successful projects.</p>
<h3>Web Hosting</h3>
<p>Where will the site live? Who will be responsible for keeping the site accessible to the online shopping world?</p>
<p>Now that we have covered the visible aspects of a Magento e-commerce solution, we can&#8217;t forget about web hosting.</p>
<p>EyeMagine offers web hosting using our own web servers. We will install your Magento store on one of our development servers while your store is under construction.</p>
<p>Hosting fees vary depending on your business needs and/or anticipated store traffic. Basic hosting packages start at $75 per month.</p>
<p>In addition to the monthly hosting investment, all secure sites require an SSL certificate. An SSL certificate is a means by which secure information is encrypted between a customer&#8217;s computer and the e-commerce web server. Click <a title="SSL Certificate" href="http://en.wikipedia.org/wiki/Ssl_certificate" target="_blank">here</a> to learn more.</p>
<p>One thing to be mindful of is that SSL certificates must be renewed annually.</p>
<h3>Budget</h3>
<p>When considering a Magento Solution Partner, a very important factor in the project scope is the budget.  Just like shopping for a car, shopping for a Magento Solution Partner is going to be a lot more productive when you determine your budget.</p>
<p>When working with our clients, our approach is to gather all of their requirements and estimate the time involved in producing the project.</p>
<p>When working with new clients, we first learn the budget and confirm that there are enough resources for a successful engagement. Next, we gather all of the requirements and work together to create a scope of work that fits within the budget.</p>
<h3>Conclusion</h3>
<p>The above process has resulted in a long history of satisfied clients with successful e-commerce stores. We hope this will help you in your search for the perfect Magento Solution Partner. We would love to hear your response and your suggestions, so please tell us what&#8217;s on your mind.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.eyemaginetech.com/blog/magento/things-to-think-about-when-selecting-a-magento-solution-partner/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Eyemagine is on Smashing Magazine!</title>
		<link>http://www.eyemaginetech.com/blog/horizontal-navigation/eyemagine-is-on-smashing-magazine</link>
		<comments>http://www.eyemaginetech.com/blog/horizontal-navigation/eyemagine-is-on-smashing-magazine#comments</comments>
		<pubDate>Wed, 09 Sep 2009 18:52:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[horizontal navigation]]></category>
		<category><![CDATA[smashing magazine]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://www.eyemaginetech.com/our-thoughts/?p=84</guid>
		<description><![CDATA[I am ecstatic to announce that our site has been featured in an article on the famed Smashing Magazine. <a href="http://www.eyemaginetech.com/blog/horizontal-navigation/eyemagine-is-on-smashing-magazine">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I am ecstatic to announce that our site has been featured in an article on the famed Smashing Magazine.<span id="more-84"></span> It is a great honor to finally see one of my designs featured on a site that I have been using for years as a source of inspiration and industry techniques. Many thanks to Smashing Magazine for the recognition for all of our hard work and dedication to the web.</p>
<p><img src="http://www.eyemaginetech.com/our-thoughts/wp-content/uploads/2009/09/Untitled-1.jpg" alt="Untitled-1" title="Untitled-1" width="540" height="241" class="alignnone size-full wp-image-92" /></p>
<p>You can read the article about horizontal navigation here: <a href="http://www.smashingmagazine.com/2009/09/07/horizontal-navigation-menus-trends-patterns-and-best-practices/">Eyemagine on Smashing Magazine</a>. Look for our screen near the bottom under Various Trends And Styles.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.eyemaginetech.com/blog/horizontal-navigation/eyemagine-is-on-smashing-magazine/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>10 Ways to Improve Your Search Engine Ranking Without Spending a Dime</title>
		<link>http://www.eyemaginetech.com/blog/search-engine-optimization/10-ways-to-improve-your-search-engine-ranking-without-spending-a-dime</link>
		<comments>http://www.eyemaginetech.com/blog/search-engine-optimization/10-ways-to-improve-your-search-engine-ranking-without-spending-a-dime#comments</comments>
		<pubDate>Wed, 01 Jul 2009 20:49:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[search engine optimization]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://eyemaginetech.com/our-thoughts/?p=11</guid>
		<description><![CDATA[Many clients ask me about how to improve their search engine ranking. <a href="http://www.eyemaginetech.com/blog/search-engine-optimization/10-ways-to-improve-your-search-engine-ranking-without-spending-a-dime">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Many clients ask me about how to improve their search engine ranking. There is a certain mystique about search engine optimization (SEO) among business owners. The purpose of this article is to demystify search engine optimization and lay down a simple framework for businesses to target their SEO efforts.<span id="more-11"></span><br />
Search engine optimization (SEO) is the process of improving the volume and quality of traffic to a website for targeted keywords (<a href="http://en.wikipedia.org/wiki/Search_engine_optimization">Wikipedia</a>) The idea is that the earlier that a site is listed in search results, the more potential customers will visit the site. Studies have shown that around 60% of users click on search engine results and not the paid ads on top and side. These clicks are called organic clicks (as opposed to pay-per-click or PPC) and do not cost you anything. Since the majority of visitors find sites through search engine listings, creating an effective SEO strategy is essential.</p>
<p>Please feel free to comment below to add your two cents or correct any inaccurate information.</p>
<h3>1. Choose your core focus market and select keywords</h3>
<p>The first step is to decide what type of visitors your would like to visit your site and what keywords visitors from your industry are using in the major search engines. By solidifying effective search terms that will drive users to your site, you are now prepared to integrate these keywords into your site and blog posts (see below). Spend time deciding what keywords are used by people most who are looking for products or services that you offer and be sure that these keywords appear within the first few lines of your site.</p>
<h3>2. Post on blogs and forums</h3>
<p>This probably the most underused, and similarly over abused method to improve your search ranking. The key here is to answer questions and offer expertise to users on other website owners already established websites. For example if you are a mobile phone store, then you could answer questions users have about a phones features on a Motorola forum. By including a link back to your site, along with industry relevant keywords, your website’s ranking will rapidly increase. Forums allow you to build relationships in your niche industry and help build credibility and trust with potential customers. Furthermore, forums allow you to display your website link in the body of each post. Once the website hosting the forum is indexed by a search engine, there will be a noticeable effect on the ranking of your site. A free blog can be created with <a href="http://www.wordpress.com">WordPress</a></p>
<h3>3. Build Your Site in CSS</h3>
<p>This article isn’t meant to be too technical, but simply put, ask your web designer if your website was built in tables or CSS. If he/she says “tables”, it is time to find a new designer. Many web designers still use tables to build websites. This technique has been completely abandoned by the expert design community and is frowned upon by search engines.</p>
<h3>4. List your site on as many directories as possible</h3>
<p>If you do a quick search using your industry as the keyword – say “los angeles photography” you will probably notice that many of the results that show up are different directories of sorts. Many of these directories are free. Submit your site to these directories along with your business information for instant results. If you are listed on a website that shows up in the first 10 pages of search results, it is likely your site will show up too.</p>
<h3>5. Write articles on your site (like this one)</h3>
<p>Having a blog on your site will provide a steady stream of fresh content that incorporates your keywords. A simple blog like this one can be set up with <a href="http://www.wordpress.org">WordPress</a>, a free open-source blog application.</p>
<h3>6. List your business on google maps</h3>
<p>This tool is free and better than Yellow Pages. Your site ranking will not only improve just by being listed, but users will be provided with a map directly to your organization, basic contact information, and even hours of operation. Customers will thank you for not burying the store phone number deep within your site.<br />
Google Maps</p>
<h3>7. Provide Useful Information</h3>
<p>Search engines look kindly on providing visitors with rich, useful content. Don’t spam potential users. Educate users rather than up sell them. Here are some examples of this logic applied<br />
- Pet care tips for a Vet office or pet supply store<br />
- Valentine’s day date ideas for chocolate shop or florist<br />
- Free excel finance calculators on website for real estate agent</p>
<h3>8. Write press releases</h3>
<p>Releasing a new product? Write a press release. Hire a new CEO? Write a press release. There are many websites that offer free press release listings for you to submit your release to. Make sure to link back to a relevant page on your site.</p>
<h3>9. Submit your site to the search engines yourself.</h3>
<p>Do not pay for any service that offers to resubmit your site to search engines. They could get you permenantly blacklisted from the search engine. Then it’s back to the drawing board. The major search engines are Google, Yahoo, Microsoft, AOL, and ask.com.</p>
<p><a href="http://www.google.com/addurl/">Google</a> &#8211; http://www.google.com/addurl/<br />
<a href="http://search.yahoo.com/info/submit.html">Yahoo</a> &#8211; http://search.yahoo.com/info/submit.html<br />
<a href="http://search.live.com/docs/submit.aspx">Microsoft</a> &#8211; http://search.live.com/docs/submit.aspx<br />
<a href="http://www.dmoz.org/add.html">AOL</a> &#8211; http://www.dmoz.org/add.html<br />
<a href="http://www.garryconn.com/how-do-i-submit-my-site-to-askcom.php">Ask</a> – http://www.garryconn.com/how-do-i-submit-my-site-to-askcom.php</p>
<h3>10. Improve your Metadata</h3>
<p>While search engines have admittedly reduced the importance they place on your meta tags, there is still great value to be had from optimizing all of your meta tags. For the title attribute, use a descriptive title that does more than state the page and your company name. For instance, on your about or company page, rather than have a title that looks like this &#8220;About | Eyemagine&#8221;, a more useful title would be something like &#8220;Eyemagine is an Orange County based web development agency&#8221;. Now, not only is the page title actually describing what content is on the page, but it contains relevant keywords that you want to target. Similarly, try tailoring your meta description to the page itself, rather than using the same description sitewide. For usage info, refer to the w3c page on meta tags: <a href="http://www.w3schools.com/tags/tag_meta.asp">W3C Schools</a>. One important thing to note, search engines have all but completely phased out the keyword meta data from their algorithms due to the abusive keyword usage by webmasters in the past. While many recommend ignoring them completely, I still create keyword lists (no more than 15-20 keywords.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.eyemaginetech.com/blog/search-engine-optimization/10-ways-to-improve-your-search-engine-ranking-without-spending-a-dime/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

