<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Trademark Productions Blog » Web Development</title>
	
	<link>http://www.tmprod.com/blog</link>
	<description>Web Development &amp; Internet Marketing Blog</description>
	<lastBuildDate>Tue, 10 Nov 2009 20:32:21 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/tm-web-development" /><feedburner:info uri="tm-web-development" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Just Because It’s Creative Doesn’t Mean It’s Good</title>
		<link>http://feedproxy.google.com/~r/tm-web-development/~3/X-gDP-OA8dg/</link>
		<comments>http://www.tmprod.com/blog/2009/just-because-its-creative-doesnt-mean-its-good/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 17:42:20 +0000</pubDate>
		<dc:creator>Seth Alling</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[webdesign]]></category>

		<guid isPermaLink="false">http://tmprod.tmtesting.com/blog/?p=1160</guid>
		<description><![CDATA[Some people will take creativity to a whole new level. Many times, when this occurs, the creation is no longer good. Being the same case with websites, here are a few tips to help your website maintain creativity, while keeping it within bounds to still function to a level that will keep visitors on your site rather than turn them away.]]></description>
			<content:encoded><![CDATA[<p>Since moving back to Michigan, my wife and I have been house-hunting. Some of these houses that we have gone into have some serious problems, which are better left unsaid. But, then you have these other houses which are in fairly decent condition, yet they have had some of the worst interior designers I have ever seen!</p>
<p>For instance, one of the houses had walls that had either twine or burlap for the wallpaper. Another one had black rooms. The floor was black. The walls were black. The ceiling was black. I&#8217;m am sorry if you may have something similar in your own house, and I am not meaning to offend you if you like it, but it looks <em>bad</em>.</p>
<p>This brings me to my point. Just because something is creative, doesn&#8217;t always make it good. The same thing can be applied with your website. All of the rainbow gradients, blinking text, and flashing lights of the 90&#8217;s are over. Sadly, I&#8217;ll admit I had a website at Geocities back when all of that was popular, and it looked awful, but I thought it looked good. Since then, I have learned quite a bit about design, and I&#8217;ll share a few tips with you.</p>
<p><strong>Less is More</strong><br />
Just because someone owns Photoshop, doesn&#8217;t mean they know how to use Photoshop. Once a beginner learns about the layer effects, some very interesting designs come out. Subtle gradients and shadows are nice. They make a site pop, but using the Photoshop default on everything (especially borders and drop shadows) screams bad design. What looks good to you may not actually look good. Keep it subtle. Keep it simple.</p>
<p><strong>Target Audience Connection</strong><br />
This is commonplace for &#8220;creative&#8221; design. Who is your target audience? Does your design connect with them? Of course, you will not connect with everyone, but if your company is in a technical field, then don&#8217;t have a website that looks like you run a daycare. It needs to look professional, but must also match your personal style. Balance everything, find your edge, and make it look professional.</p>
<p><strong>Good Page load time</strong><br />
Does the page load relatively quick? Most visitors will stay on a page for four seconds while waiting before they leave. If a site takes too long to load, you will lose your visitors (unless they are related to you) before you&#8217;ve even had the chance to make an impression. On second thought, I&#8217;ll correct myself. Your site already made an impression and it&#8217;s not a good one.</p>
<p><strong>SEO Friendly</strong><br />
Finally, is the site SEO friendly? I know many people who want a flash site with music because they think it&#8217;s cool and creative. Flash is only semi-SEO-friendly, meaning if you want anyone to find you in the search engines, I&#8217;d recommend against it. Also, this have nothing to do with SEO, but the music is annoying when it auto starts, so stay away from that too.</p>
<p>The key is balance. When a site is balanced so it&#8217;s pleasing to the eye, matches your business, loads fast, and is SEO-friendly, then your site is a winner. When shows extreme creativity, it just may not fit for this time an age. If you feel your current site may be a little <e>too</em> creative and need some help, <a href="/contact-tm.php" title="Contact TM" rel="nofollow">contact Trademark Productions</a> to have a creative, yet quality, website built for you.</p>
<img src="http://feeds.feedburner.com/~r/tm-web-development/~4/X-gDP-OA8dg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.tmprod.com/blog/2009/just-because-its-creative-doesnt-mean-its-good/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.tmprod.com/blog/2009/just-because-its-creative-doesnt-mean-its-good/</feedburner:origLink></item>
		<item>
		<title>Email Will Never Die</title>
		<link>http://feedproxy.google.com/~r/tm-web-development/~3/Iq9KbY4v7tQ/</link>
		<comments>http://www.tmprod.com/blog/2009/email-will-never-die/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 19:52:39 +0000</pubDate>
		<dc:creator>Seth Alling</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[emailmarketing]]></category>
		<category><![CDATA[socialmedia]]></category>

		<guid isPermaLink="false">http://www.tmprod.com/blog/?p=345</guid>
		<description><![CDATA[With the instant success of social networking websites like Twitter and Facebook, the two seem to be the ultimate form of communication over the Internet.  As more and more Tweets and Wall postings get posted, email gets lost in the shuffle.  Is the frenzy and overusing of Twitter and Facebook destroying electronic mail?]]></description>
			<content:encoded><![CDATA[<p>In a matter of years, social networking websites such as Twitter and Facebook have become a part of our daily routine.Â  With their ever-increasing popularity, it is safe to say that many users log-in to their Twitter and Facebook accounts, daily, if not multiple times within a given hour.Â  <em>Guilty. </em>Typing www.tw or www.face has become an obsessive, sometimes unconscious, habit.Â  Words like &#8220;Tweets,&#8221; &#8220;Facebooking,&#8221; and &#8220;Tweeple&#8221; have naturally been incorporated into everyday vocabulary.Â  It may not be surprising, given its widespread popularity, but a Twittonary does exist.Â  But, while more and more individuals use Twitter and Facebook to keep in touch with their followers and friends through a Direct Message or Wall posting, is communicating by electronic mail a thing of the past?Â  Are these social networking and media websites taking precedence over email, and replacing the original form of communication over the Internet?</p>
<p>&#8220;We all still use email, of course,&#8221; says, Wall Street Journal Staff Reporter, Jessica E. Vascellaro. &#8220;But email was better suited to the way we <em>used</em> to use the Internetâ€”logging off and on, checking our messages in bursts. Now, we are always connected, whether we are sitting at a desk or on a mobile phone. The always-on connection, in turn, has created a host of new ways to communicate that are much faster than email, and more fun.&#8221;</p>
<p>If it wasnâ€™t for email, users would not be able to be a part of websites like Twitter or Facebook.Â  Each requires a valid email address to register, gain access, and receive email updates to and from their website.Â  Just recently, second most popular social networking website (as of September 2009), MySpace, launched their own email service.Â  While the daily visits to these websites may be more frequent than checking what is in your Inbox, social networking sites obviously still understand the importance of email.</p>
<p>Almost everyone on the Internet has an email address.Â  Unlike email, social networking websites is not universal.Â  Some have no interest in joining social networking websites for multiple reasons â€“ privacy, security, reputation, etcetera.Â  Many employees or interns receive an exclusive company-based email address as soon as they begin working, as it may be the only way to electronically communicate with others while in the workplace because many companies are banning access to social networking websites.</p>
<p>Whether or not the idea of communication and its messages can be done in less than 140 characters, a Wall posting, or a rather wordy email, it is all about preference.Â  But, no matter how many users Twitter or Facebook may receive within the next week, email will never die.</p>
<p>Follow Trademark Productions on Twitter â€“ <a title="@TheTMOffice" rel="external" href="http://www.twitter.com/TheTMOffice">@TheTMOffice</a>.</p>
<img src="http://feeds.feedburner.com/~r/tm-web-development/~4/Iq9KbY4v7tQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.tmprod.com/blog/2009/email-will-never-die/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.tmprod.com/blog/2009/email-will-never-die/</feedburner:origLink></item>
		<item>
		<title>Twitter: News in Less Than 140 Characters</title>
		<link>http://feedproxy.google.com/~r/tm-web-development/~3/uaeG87_e35c/</link>
		<comments>http://www.tmprod.com/blog/2009/twitter-share-news-in-less-than-140-characters/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 13:04:25 +0000</pubDate>
		<dc:creator>Seth Alling</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[socialmedia]]></category>

		<guid isPermaLink="false">http://www.tmprod.com/blog/?p=318</guid>
		<description><![CDATA[Some use social networking websites like Facebook and Twitter to keep tabs on their friends.  While the occasional Tweet or Status Update about how much money your friend found under their couch cushions is interesting, users are using Twitter and Facebook to be informed of other issues by linking news reports and technology-related information to the popular social networking sites.]]></description>
			<content:encoded><![CDATA[<p>Visiting social networking websites has become a part of the daily routine, alongside showering, eating, and sleeping.Â  For some, logging onto Twitter and Facebook accounts may take precedence over personal hygiene, however.Â  Beneath your friendsâ€™ updates of &#8220;I just found thirty cents under the couch cushions,&#8221; &#8220;My dog just peed all over the rug,&#8221; and &#8220;Anyone want to go to bar tonight?,&#8221; are &#8220;Tweets&#8221; and Status Updates that provide more useful information. It seems that overnight the popluarity of Twitter has developed into a cultural phenomena. People can now share news and events happening around the world in less than 140 characters in a matter of seconds.</p>
<p>Many Facebook and Twitter users rely on these social networking websites to maintain contact with friends, both old and new, former classmates, and people who share similar interests.Â  But, online advertising network, Chitika, found that traffic and the links shared on Twitter and Facebook goes much deeper than a high school crush or second cousin, twice removed.Â  Because of its ability to get information out quickly to users in mass numbers and in short (given its 140 character limit), but sweet &#8220;Tweets,&#8221; Chitika found that Twitter leads the way in linked news stories over Facebook by ten percent.</p>
<p>Through these Twitter posted links, users were given access to the first pictures of the Turkish Airline plane crash, and breaking news reports of US Airline Flight 1549 landing in the Hudson River.Â  Facebook, while much more established than Twitter, is primarily linked to technology-related websites, which makes up 33% of their referrals and traffic.Â  Despite Facebookhttp://tmprod.tmtesting.com/blog/2009/twitter-share-news-in-less-than-140-characters/â€™s status as being one of the top, most well-known social networking websites, users value Twitterâ€™s speed over Facebookâ€™s reputation to get their news.</p>
<p>Regardless of what Twitterers or Facebookers use the social networking sites for, receiving an update on the insanity surrounding a celebrityâ€™s death easily trumps an update of your friend digging for money under the couch.</p>
<p>If your company does not currently participate in social networking, but is looking to use it as another outlet, Trademark Productions will help get the ball rolling.</p>
<p>Follow us on Twitter &#8211; <a title="@TheTMOffice" href="http://www.twitter.com/TheTMOffice" rel="external">@TheTMOffice</a>.</p>
<img src="http://feeds.feedburner.com/~r/tm-web-development/~4/uaeG87_e35c" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.tmprod.com/blog/2009/twitter-share-news-in-less-than-140-characters/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.tmprod.com/blog/2009/twitter-share-news-in-less-than-140-characters/</feedburner:origLink></item>
		<item>
		<title>Web Jargon and Terminology</title>
		<link>http://feedproxy.google.com/~r/tm-web-development/~3/ifEg-ElRRmw/</link>
		<comments>http://www.tmprod.com/blog/2009/web-jargon-and-terminology/#comments</comments>
		<pubDate>Thu, 21 May 2009 11:47:16 +0000</pubDate>
		<dc:creator>Dean</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[consulting]]></category>

		<guid isPermaLink="false">http://www.tmprod.com/blog/?p=179</guid>
		<description><![CDATA[Have no idea what the guy with the glasses taped down the middle is talking about?  What about the guy with the pen protector?  These might be a couple of the stereotypes of a geek, but let's face it, they are quite knowledgeable in their field.  Without further adieu, the terminology and web jargon that you are dying to know...]]></description>
			<content:encoded><![CDATA[<p>I know that we all have a tendency to speak a little geeky sometimes and you might have trouble understanding what we&#8217;re talking about.Â  I&#8217;ve always wanted to do a glossary and knowledge base on our site to help explain some of the terms and web geek jargon that we use to our visitors, but its quite a large task.Â  I might have to include something in our upcoming site rebuild.</p>
<p>But, for now, <a title="Smashing Magazine" href="http://www.smashingmagazine.com" rel="external">Smashing Magazine</a>, which is a pretty good blog that a couple of us read has a great post this morning worthy of a backlink.Â  Check it out and if you have any questions or need further explanation, feel free to <a title="Contact TM" href="http://www.tmprod.com/contact-us.php" rel="external">ask us</a>.</p>
<p>So without further ado, check out <a title="Web Design Jargon, Glossary and Resources" href="http://www.smashingmagazine.com/2009/05/21/web-design-industry-jargon-glossary-and-resources/" rel="external">Web Design Industry Jargon, Glossary and Resources</a>.</p>
<img src="http://feeds.feedburner.com/~r/tm-web-development/~4/ifEg-ElRRmw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.tmprod.com/blog/2009/web-jargon-and-terminology/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.tmprod.com/blog/2009/web-jargon-and-terminology/</feedburner:origLink></item>
		<item>
		<title>JavaScript Debugging Techniques in IE 6</title>
		<link>http://feedproxy.google.com/~r/tm-web-development/~3/1HxSUroIra0/</link>
		<comments>http://www.tmprod.com/blog/2009/javascript-debugging-techniques-in-ie-6/#comments</comments>
		<pubDate>Sat, 16 May 2009 14:23:26 +0000</pubDate>
		<dc:creator>Dwight Zahringer</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[webdev]]></category>

		<guid isPermaLink="false">http://www.tmprod.com/blog/?p=176</guid>
		<description><![CDATA[We, at Trademark Productions, are Firefox users.  For our web developers, Internet Explorer is detested because of its difficult working nature.  Internet Explorer 6 (IE6) is a bundle of error messages, but with the help of Visual Studio, those errors will now be easier to tackle, thanks to debugging.  ]]></description>
			<content:encoded><![CDATA[<p>Back in January of this year we announced that we would no longer be debugging and building websites to work in IE6. It is unfortunate however not cost effective to continue investing the time needed when smaller and smaller groups of users are actually using Internet Explorer 6.</p>
<p>I follow a great blog, <a title="Six Revisions" href="http://sixrevisions.com/javascript/javascript-debugging-techniques-in-ie-6/" rel="external">Six Revisions</a>, and they did a post recently that explains ways to make IE6 debugging with JavaScript a little less painless. So I am re-posting their recommendations for those that wish to &#8220;make work&#8221; in IE6.</p>
<p>Microsoftâ€™s Internet Explorer 6 is almost universally hated by web developers. Itâ€™s hard to work with and support, but with a few solid techniques, you can make the process less painful. What &#8220;just works&#8221; in the majority of browsers will almost always require hours of tweaks and workarounds to get it working in IE6. With more and more users switching over to newer alternatives such as IE8, Safari and Firefox hopefully support for IE6 can be dropped sooner rather than later. In the mean time though many of us have to make sure our sites work in this awful browser.</p>
<p>To make things worse, IE6 is extremely bad at helping developers diagnose problems. When a JavaScript error occurs, IE6â€™s default behaviour is to display a small error icon in the status bar. Extremely easy to miss!</p>
<p><img src="http://images.sixrevisions.com/2009/05/14-01_status-bar-error.png" alt="Status Bar Error." width="214" height="113" /></p>
<p>Double clicking on this icon will display a popup, and if you then click the &#8220;Show Details&#8221; button youâ€™ll get the actual details of the JavaScript error. Unfortunately the detailed error message can be quite cryptic, and probably not too much help in diagnosing the actual problem. Your best bet is to make a note of the line and column number of the problem and then look that up in the source code. Fortunately, with the help of Visual Studio and by changing a few IE settings, we can make it much easier on ourselves.</p>
<h3>Setting things up</h3>
<p>To enable JavaScript debugging in IE we need to change some default settings, which can be accessed from the Tools&gt; Internet Options menu, and then the Advanced tab. The image below shows the default IE6 settings, with the three settings weâ€™re interested in highlighted.</p>
<p><img src="http://images.sixrevisions.com/2009/05/14-02_settings.png" alt="Settings." width="416" height="465" /></p>
<p>Script debugging in IE needs be enabled, which requires us to disable the first option out of the three. If you also want to debug scripts in other contexts (such as Outlook) then disable the second option. Enable the third option if youâ€™d like the JavaScript error dialog to pop up automatically instead of being displayed as a small icon in the status bar.</p>
<p><img src="http://images.sixrevisions.com/2009/05/14-03_error-debug.png" alt="Error Debugging." width="226" height="160" /></p>
<p>After changing those settings and restarting IE, weâ€™re ready to start debugging. All of the following examples show Visual Studio 2005, but the same applied to 2008. You can also use the free <a href="http://www.microsoft.com/express/download/default.aspx#webInstall">Web Developer Express Edition</a> if you donâ€™t own a full copy of Visual Studio. Instead of IE prompting you to open the debugger, as it does in the examples below, youâ€™ll first need to create a project and then start the debugger yourself. From that point on everything is the same.</p>
<h3>Basic debugging</h3>
<p>Letâ€™s start with a simple example. The code below tries to call a function that doesnâ€™t exist:</p>
<pre>&lt;script type="text/JavaScript"&gt;
	functionDoesNotExist();
&lt;/script&gt;</pre>
<p>Now when we load that up into the browser instead of the tiny icon in the status bar IE will prompt us to open a debugger.</p>
<p><img src="http://images.sixrevisions.com/2009/05/14-04_select-debugger.png" alt="Select Debugger." width="403" height="438" /></p>
<p>Selecting Visual Studio and clicking the yes button will open Visual Studio and highlight the code that is the cause of the problem.</p>
<p><a href="http://images.sixrevisions.com/2009/05/14-13_visual-studio-debugger_large.png"><img src="http://images.sixrevisions.com/2009/05/14-05_visual-studio-debugger.png" alt="Visual Studio." width="550" height="443" /></a></p>
<p>For relatively simple errors, such as the one in the example above, just seeing the actual cause of the error highlighted is probably enough for us to work out what has gone wrong, and how to fix it. In more complex cases, however, weâ€™ll need more information. This where the Visual Studio debugging features come in really handy.</p>
<p>In the code below we have a function, performAction, which takes a function as an argument and calls that function once itâ€™s done. Youâ€™ll commonly see this sort of thing in JavaScript with asynchronous functions such as <a href="https://developer.mozilla.org/en/DOM/window.setTimeout">setTimeout</a> and jQueryâ€™s <a href="http://docs.jquery.com/Ajax/jQuery.get">Get</a>. There is a problem with the code below though: Weâ€™re accidentally passing in a string to performAction rather than a function.</p>
<pre>&lt;script type="text/JavaScript"&gt;
  /**
   * Perform an imaginary action, and then
   * call the callback function once we're done
   */
  function performAction(callback) {
  // Perform an action here
  // ...
  // We're done, call the callback
     callback();
}
  // Call performAction with an anonymous
  // callback function which contains an error
  var myFunc = "this is a string, not a function!";
  performAction(myFunc);
&lt;/script&gt;</pre>
<p>If we load up the code in IE and then debug it in Visual Studio as we have before weâ€™ll see that the code &#8220;callback();&#8221; is highlighted, and is therefore the cause of problem. It wonâ€™t be obvious why this line is causing the problem though, not unless we know what the value of callback is. If callback was actually a function then there wouldnâ€™t be a problem at all. The problem has only arisen because we accidentally passed in a string. This is where the &#8220;locals&#8221; window comes in handy. It lists all local variables along with their value and type. To display this window go to the <em>Debug</em> menu, then <em>Windows</em>, and then select <em>Locals</em>.</p>
<p><a href="http://images.sixrevisions.com/2009/05/14-14_debug-window-menu_large.png"><img src="http://images.sixrevisions.com/2009/05/14-06_debug-window-menu.png" alt="Debug Window." width="550" height="442" /></a></p>
<p>With the locals window displayed itâ€™s clear that the problem is that callback is a string, rather than a function. The locals window doesnâ€™t just support basic types such as integers and strings. If youâ€™ve got a local object you can look at all of its properties and see the value and type of each of them, as weâ€™ll see in the next example.</p>
<p><img src="http://images.sixrevisions.com/2009/05/14-07_local-window.png" alt="Local Window." width="458" height="288" /></p>
<h3>The â€˜debuggerâ€™ keyword</h3>
<p>The â€˜debuggerâ€™ keyword, also supported by the Firefox JavaScript debugger <a href="https://addons.mozilla.org/en-US/firefox/addon/1843">Firebug</a>, can really help us to track down problems. Below is a slightly modified version of the previous example, where this time the callback function is passed an object that should include a status and message property. The message property has been misspelled though:</p>
<pre>&lt;script type="text/JavaScript"&gt;
  /**
   * Perform an imaginary action, and then
   * call the callback function once we're done
   */
  function performAction(callback) {
    // Perform an action here
    // ...

    // We're done, call the callback
    callback({success: true, mesage: 'The action was performed!'});
  }

  // Call performAction with an anonymous
  // callback function which contains an error
  performAction(function(response) {
    alert(response.message);
  });
&lt;/script&gt;</pre>
<p>Because â€˜messageâ€™ has been misspelt as â€˜mesageâ€™ in the performAction function when we run this code in IE weâ€™ll see a popup alert with the message &#8220;undefined&#8221;, rather than the actual message we were hoping to see.</p>
<p><img src="http://images.sixrevisions.com/2009/05/14-08_alert-undefined.png" alt="Alert function." width="205" height="130" /></p>
<p>In a large project it can be difficult to track down why a property we expect to exist is undefined. Instead of trawling through lots of code we can simply add the line &#8220;debugger;&#8221; above the alert statement. IE will then automatically prompt us to debug the code in Visual Studio when it hits that line. From the locals window we can see that the â€˜messageâ€™ property has been misspelt.</p>
<p><a href="http://images.sixrevisions.com/2009/05/14-15_debugger-statement_large.png"><img src="http://images.sixrevisions.com/2009/05/14-09_debugger-statement.png" alt="Debugger statement." width="550" height="444" /></a></p>
<p>Using the call stack window, which can be accessed in the same way we accessed the locals window, shown at the bottom right of the above screenshot we can work out exactly where this problem occurred. If we double click on the â€˜performActionâ€™ line, the previous statement in the call stack, weâ€™ll see the source of the error.</p>
<p><a href="http://images.sixrevisions.com/2009/05/14-16_callstack_large.png"><img src="http://images.sixrevisions.com/2009/05/14-10_callstack.png" alt="Call stack." width="550" height="442" /></a></p>
<p>While debugger statements can be a useful tool in helping you track down problems you should be careful not to leave them in your production code!</p>
<h3>More advanced debugging</h3>
<p>So far weâ€™ve covered some basic examples, such as calling non-existent functions and undefined properties. Using the locals and call stack windows it was relatively straight forward to track these issues down. There are times when the techniques weâ€™ve discussed so far canâ€™t help though. We canâ€™t see what global variables exist or what value they have with the locals window, for example, and the call stack doesnâ€™t always handle remotely loaded or dynamically executed code very well.</p>
<p>For these situations we must turn to the immediate window. It is by far the most powerful debugging tool that Visual Studio has to offer, allowing us to evaluate JavaScript expressions on the fly.</p>
<p>The immediate window can be accessed in the same way that we accessed the other windows. Clicking inside the window will give it focus. We can then type JavaScript statements directly into the window and see the result. For example, type &#8220;window&#8221; followed by enter and youâ€™ll get a print out of everything in the global scope.</p>
<p><a href="http://sixrevisions.com/javascript/wp-content/themes/"><img src="http://images.sixrevisions.com/2009/05/14-11_immediate-window-output.png" alt="Immediate Window." width="550" height="395" /></a></p>
<p>When combined with the JavaScript <a href="https://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Functions_and_function_scope/Arguments">arguments</a> variable we can look in detail at all the current function arguments and the calling function. While the code in the next example isnâ€™t something youâ€™re likely to see in a real project, it does help to demonstrate techniques that can be extremely useful.</p>
<pre>&lt;script type="text/JavaScript"&gt;
  /**
   * This function takes a variable number of arguments.
   */
  function performAction() {
    // We're just interested in the immediate
    // window, start the debugger
    debugger;
  }

  // Call performAction with 4 different arguments, each of a different type
  performAction('argument 1', 2, {argument: 3}, function() { return 4; });
&lt;/script&gt;</pre>
<p>Weâ€™ll load this up into IE and then go straight to the immediate window once weâ€™ve opened up the debugger. If we type &#8220;arguments&#8221; followed by enter weâ€™ll see the following information displayed:</p>
<pre>arguments
{...}
    [0]: "argument 1"
    [1]: 2
    [2]: {...}
    caller: null
    length: 4</pre>
<p>The &#8220;{â€¦}&#8221; tells us that arguments is an object. We also see this next to [2], so we know that the third argument (in array position 2) is an object. We can see what properties this object has by simply typing its name into the window:</p>
<pre>arguments[2]
{...}
    argument: 3</pre>
<p>The fourth argument wasnâ€™t listed in the original output because itâ€™s a function. We know it exists though because the length property tells us that there are 4 arguments. We can also confirm it is there using typeof:</p>
<pre>typeof arguments[3]
"function"</pre>
<p>Unfortunately the immediate window isnâ€™t quite so helpful with functions as it is objects, and if we type in the name of the function we just see &#8220;{â€¦}&#8221; rather than any details of the function itself. Fortunately there is a handy workaround. If we type &#8220;alert(arguments[3]);&#8221; then the function code will be displayed in an alert dialog:</p>
<p><img src="http://images.sixrevisions.com/2009/05/14-12_alert-function.png" alt="Alert function." width="206" height="128" /></p>
<p>Hopefully these examples have conveyed just how powerful the immediate window is.</p>
<h3>Summary</h3>
<p>With the help of Visual Studio it is possible to transform IE6 from obscure error messages into an effective debugger. By using the local and call stack windows we can quickly and easily track down the majority of problems. The debugger statement allows us to automatically jump into the debugger at any point in our code. Should we come up again a more complex where the other tools canâ€™t help us then we can always turn to the immediate window, which allows us to execute arbitrary JavaScript to inspect the current environment.</p>
<img src="http://feeds.feedburner.com/~r/tm-web-development/~4/1HxSUroIra0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.tmprod.com/blog/2009/javascript-debugging-techniques-in-ie-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.tmprod.com/blog/2009/javascript-debugging-techniques-in-ie-6/</feedburner:origLink></item>
		<item>
		<title>Common SEO &amp; Developer Problems</title>
		<link>http://feedproxy.google.com/~r/tm-web-development/~3/hb2mRQCol3c/</link>
		<comments>http://www.tmprod.com/blog/2009/common-seo-developer-problems/#comments</comments>
		<pubDate>Fri, 16 Jan 2009 12:45:51 +0000</pubDate>
		<dc:creator>Dwight Zahringer</dc:creator>
				<category><![CDATA[Search Engine Optimization]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[webdev]]></category>

		<guid isPermaLink="false">http://www.tmprod.com/blog/?p=142</guid>
		<description><![CDATA[Everything and everyone has their problems.  It even happens in the effective worlds of Search Engine Optimization (SEO) and website developers.  Communication between the two groups is difficult, as they each have their own languages.  It would be like an German-speaking individual trying to understand a Spanish-speaking individual.  It's just not going to happen.  Can't we all just get along?

]]></description>
			<content:encoded><![CDATA[<p>Over time, the same set of common problems present themselves in the SEO field.Â  One prominent problem that occurs is the disconnect between the person in charge of SEO and the actual developers.Â  The source of this disconnect is often the lack of specific technical knowledge that the individual in charge has. Having no understanding of the technical aspects of the website you are marketing and no relationship with IT is nothing, but a great opportunity for bad communication and bad SEO implementation.</p>
<p><img class="aligncenter" src="http://www.tmprod.com/images/blog/yoda-dog.jpg" alt="SEO vs. Developers" /><br />
Even for the &#8220;technically challenged,&#8221; implementing SEO on your website is much easier than one would think.Â  Most larger e-commerce sites are produced from a surprisingly small collection of templates that are often populated on the fly with requested information from a database.Â  Typically, this information includes product name, image, description, price, etc.Â  This information is simply inserted into the proper place in the template, and a nicely laid out page is produced.Â  An example:<br />
<code><br />
<strong>&lt;div id="ProductDetails"&gt;<br />
&lt;h1&gt;ProdName&lt;/h1&gt;<br />
&lt;p class="prices"&gt;$fullprice&lt;/p&gt;</strong><br />
<strong>&lt;p&gt;styleDesc&lt;/p&gt;</strong><br />
<strong>&lt;/div&gt;</strong><br />
</code></p>
<p>This little bit of code is part of a larger template.Â  Outside of the variable, you can see the HTML that determines the layout of the page.Â  The product name in this case will be wrapped with an H1 tag.Â  If there were not an H1 tag there, you can see how easily an H tag could be added into the template.</p>
<p>The H1 tag is the primary example here because there is often an immediate question about the fact that H1 tags make the text large and unsightly.Â  While that is true, with a little bit of CSS, we can fix that problem quite easily.<br />
<code><br />
<strong>h1 {<br />
font-family: Georgia, "Times New Roman", Times, serif;<br />
font-size: 18px;<br />
font-weight: bold;<br />
color: #000;<br />
}</strong><br />
</code></p>
<p>You can see readily how this all works.Â  In this example, weâ€™ve specified the size, font, weight, and color of the text in the H1 tag.Â  You can do this inline (right in the HTML of the page) or external (in a CSS file).</p>
<p>Donâ€™t have proper ALT tags on your product images?Â  The page has already called the product and category data to be used as titles and in the breadcrumb navigation.Â  Why not use it in the ALT tag as well?Â  alt=&#8221;ProdName.&#8221;Â  See how easy that is?</p>
<p>Understanding the way these variables work will allow you to communicate with your web developers much more intelligently.Â  Speaking the same language as your developers will reduce friction and help you speed through your projects in a fraction of the time that it used to require.</p>
<img src="http://feeds.feedburner.com/~r/tm-web-development/~4/hb2mRQCol3c" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.tmprod.com/blog/2009/common-seo-developer-problems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.tmprod.com/blog/2009/common-seo-developer-problems/</feedburner:origLink></item>
		<item>
		<title>Importance of a Website Sitemap</title>
		<link>http://feedproxy.google.com/~r/tm-web-development/~3/E_PNAIGrvXQ/</link>
		<comments>http://www.tmprod.com/blog/2008/importance-of-a-website-sitemap/#comments</comments>
		<pubDate>Wed, 26 Nov 2008 13:21:16 +0000</pubDate>
		<dc:creator>Dwight Zahringer</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[webdev]]></category>

		<guid isPermaLink="false">http://www.tmprod.com/blog/?p=125</guid>
		<description><![CDATA[Sitemaps help your website in more ways than one.  While they can be used to help move your website up the search engine rankings, there are certain actions that need to be taken once one is built.  These actions can help your company's website get everything it can out of sitemaps, and give your name the opportunity to be a household one.]]></description>
			<content:encoded><![CDATA[<p>Sitemaps help your website in a number of ways. They can help move your website up on the search results pages. This is accomplished by giving your site what I call &#8220;an Index as in a hard cover book.&#8221;</p>
<p>Sitemap can mean a couple of things. Larger sites like ecommerce and retail sites have visual site maps that can be utilized for quick navigation. Smaller sites have a sitemap that is simple and possibly just outline main category pages in the site.</p>
<p><strong>Some other benefits to having a sitemap include:</strong></p>
<p>If you have non html links (static text links) on your site like flash menus and JavaScript menus,Â  search engines wonâ€™t be able to follow the links and find every page. Google has made advances recently with Flash are are starting to become more friendly to read what is inside of the file, but it is not near perfect.</p>
<p>Sitemaps will let search engines know what pages on the site are more important.</p>
<p>Sitemaps will let the search engines know what pages are updated more often. This helps them to pay more attention to the pages that are updated frequently.</p>
<p>Sitemaps will help let the search engines know when content has been added or updated on your site.</p>
<p>How is a sitemap made? They are made by software tools that generate it from reading the siteâ€™s content. You can search the Internet for sitemap generators, sitemapdocs, or XML Sitemaps.</p>
<p><img class="aligncenter" src="http://www.tmprod.com/images/blog/sitemap.jpg" alt="Google Webmaster Account Sitemap" /></p>
<p>The other kind of sitemap is developed for search engines to index your site. These kinds of sitemaps can take many forms. Google and Yahoo! accept XML feeds of your website. There are free programs that create a XML sitemap of your website that you can provide to them. They offer this as a way to have your site be recognized &#8220;easily&#8221; by Google and Yahoo! So why not take their suggestion?</p>
<p><strong>Once you have the sitemap you should:</strong></p>
<p>Put the sitemap file in the root directory on your server with the primary index file.</p>
<p>Let the search engines know you have a sitemap. Create a Google webmaster account and submit your new site map there.</p>
<p>Put a reference to the sitemap file in your robots.txt file. Many search engines will be able to find your site map even if you have not submitted it to them specifically.</p>
<p>Maintain it. Whenever a page is added to your site you should add it on the sitemap. Every time something is updated on your sire, change the &#8220;lastmod&#8221; setting in the sitemap.</p>
<img src="http://feeds.feedburner.com/~r/tm-web-development/~4/E_PNAIGrvXQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.tmprod.com/blog/2008/importance-of-a-website-sitemap/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.tmprod.com/blog/2008/importance-of-a-website-sitemap/</feedburner:origLink></item>
		<item>
		<title>My New Favorite App – Digsby</title>
		<link>http://feedproxy.google.com/~r/tm-web-development/~3/EolHz-cShus/</link>
		<comments>http://www.tmprod.com/blog/2008/my-new-favorite-app-digsby/#comments</comments>
		<pubDate>Mon, 10 Nov 2008 13:25:30 +0000</pubDate>
		<dc:creator>Dean</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[socialmedia]]></category>

		<guid isPermaLink="false">http://www.tmprod.com/blog/?p=124</guid>
		<description><![CDATA[If you are one of those individuals who is constantly checking their social networking accounts, Digsby may be the application for you.  Digsby, a Firefox plug-in and program that allows users to handle all of their social networking accounts under one banner, has become popular with one Trademark Productions team member.  Does Digsby make social networking easier or more chaotic?]]></description>
			<content:encoded><![CDATA[<p>So after picking on Dwight for months about his obsession with Twitter, I&#8217;ve sold out and gotten one.Â  I have to admit, I&#8217;m kind of addicted to it now.</p>
<p>So in playing with my new Twitter account I started looking for desktop apps to quickly update my twitter.Â  The problem that I faced is that I already have at least four different programs open at all times to keep track of both my personal and professional life.Â  I <em>really</em> didn&#8217;t want another one.</p>
<p>I tried a few Firefox plugins for Twitter since I always have Firefox open anyway, but wasn&#8217;t satisfied with the results.Â  And then&#8230;.I found Digsby!</p>
<p>Not only does Digsby handle my twitter account, it handles all of my IM clients (Yahoo, AIM, etc), my Gmail and Yahoo Mail, my POP3 corporate mail, my MySpace and my Facebook account, all in one spot and with one program.</p>
<p>I&#8217;ve always used pidgin for my instant messenger program.Â  I still love pidgin.Â  BUT, Digsby is just as effective and handles more in the same small space.</p>
<p>What does this mean to me and to anyone else in the &#8220;attached to my computer, getting things done, more, faster world&#8221;?Â  It means that instead of needing my Outlook open for my email, Pidgin for my Instant Messenger, and either having multiple tabs open in Firefox for my personal stuff (Gmail, Yahoo, MySpace, Facebook) or checking them <span class="dicColor"><em>incessantly </em>throughout the day&#8230;.I now have everything, plus Twitter, all in one spot and in one program.Â  It checks all my accounts for me regularly and allows me to just hover over the service in my little IM window to see what&#8217;s crackin!</span></p>
<p><span class="dicColor"> Oh, and when a new something happens like an IM, you get a cute little pop up in the corner of your screen that notifies you and let&#8217;s you quickly respond to a message without having to open another window.Â  Just one of many cool features&#8230;<br />
</span></p>
<p>It&#8217;s not often that I promote other software or services, so there&#8217;s probably something to it.Â  You can check it out and download it at <a href="http://www.digsby.com/">digsby.com</a>. Check it out and let me know what you think.</p>
<img src="http://feeds.feedburner.com/~r/tm-web-development/~4/EolHz-cShus" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.tmprod.com/blog/2008/my-new-favorite-app-digsby/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.tmprod.com/blog/2008/my-new-favorite-app-digsby/</feedburner:origLink></item>
		<item>
		<title>Why CSS is Important</title>
		<link>http://feedproxy.google.com/~r/tm-web-development/~3/1CdQICrTstA/</link>
		<comments>http://www.tmprod.com/blog/2008/why-css-is-important/#comments</comments>
		<pubDate>Mon, 27 Oct 2008 12:16:33 +0000</pubDate>
		<dc:creator>Dwight Zahringer</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[webdesign]]></category>

		<guid isPermaLink="false">http://www.tmprod.com/blog/?p=109</guid>
		<description><![CDATA[What does CSS do for my website?  Cascading Style Sheets (CSS) make the website development process that much easier.  The benefits of using CSS are abundant, and for a website developer, are more than welcome.  You can thank CSS later.     ]]></description>
			<content:encoded><![CDATA[<p>CSS style sheets allow better control pf web pages during their development.Â  Cascading Style Sheets or CSS are style sheets that are linked into the other documents of your site and let&#8217;s you take control of a wide variety of aspects of your site.</p>
<p>While the (x)HTML of your site deals with the actual content and structure of your website, one CSS file has have power over the fonts, colors, positioning, styling of the data for the entire website.Â  Doing this helps avoid <a title="Read Dean's Article on Avoiding Code Bloat here." href="/blog/2008/avoiding-code-bloat/" rel="external">code bloat</a> in your pages, makes them load faster, render across different media types, and the benefits go on and on&#8230;.</p>
<p>There are many benefits to using CSS, and they are listed below.</p>
<p>-Â Â Â  Web pages load easier and they use less bandwidth: many web developers like to use CSS style sheets because they donâ€™t use as much bandwidth as table layouts do.Â  The sheets are downloaded once and stored in cache memory so pages will load quicker.<br />
-Â Â Â  CSS goes well with HTML: when HTML is added to CSS they make well-built, technical sites.<br />
-Â Â Â  CSS will let you position components anywhere on the page: developers really like CSS because they can put elements anywhere they feel like.Â  It is easier for them to make changes on sites they are working on.Â  CSS decreases the risks that deal with website maintenance.<br />
-Â Â Â  CSS is compatible with every web browser: it is mixed with HTML or XHTML to produce web applications because it is compatible with all kind of web browsers.<br />
-Â Â Â  CSS may be used to produce print friendly web pages: web developers also like to use CSS because they can produce print friendly pages.Â  This means the items like images or colors which used to be difficult to print are now printed up simply.<br />
-Â Â Â  CSS lest users customize web pages: lots of current websites let users change the layout or theme of the site without changing the content.Â  Because CSS sheets are stowed externally, the users can make changes on their own.Â  Items like the style of font are now able to be changed.<br />
-Â Â Â  Your website will be highlighted in the search engines easier: developers like CSS because they can put components anywhere on the page.Â  This positioning assists in launching the key contents first so the spiders can find them.Â  The HTML code of CSS is simpler and it will make the spiderâ€™s job easier by getting them to the real content quicker.<br />
-Â Â Â  CSS lets the web pages stay consistent: every expression and text will have characteristics from the external style sheets.Â  Developers donâ€™t need to fret about the characteristic changes in the elements because they have the ability to be changed at any time with the CSS.<br />
-Â Â Â  CSS makes content moveable: with CSS there can be many style sheets for various media.Â  This lets you have some give when displaying the content.Â  You can also change the characteristics of the components in the site to fit your situation.</p>
<p>The point of CSS is to make things easier on your website and let you have control over many components on the site.Â  You can use these advantages to have more user-friendly pages that search engines also embrace well.</p>
<p>If you need help understanding CSS more, or would like to have your site evalueated pleae contact us at 248-582-9210, <a title="Contact TM" href="http://www.tmprod.com/contact-us.php" rel="external">online</a> or comment to this post.</p>
<img src="http://feeds.feedburner.com/~r/tm-web-development/~4/1CdQICrTstA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.tmprod.com/blog/2008/why-css-is-important/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.tmprod.com/blog/2008/why-css-is-important/</feedburner:origLink></item>
		<item>
		<title>You get what you pay for</title>
		<link>http://feedproxy.google.com/~r/tm-web-development/~3/Kbc95_YK8qA/</link>
		<comments>http://www.tmprod.com/blog/2008/you-get-what-you-pay-for/#comments</comments>
		<pubDate>Fri, 24 Oct 2008 20:45:05 +0000</pubDate>
		<dc:creator>Eric Guerin</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[webdev]]></category>

		<guid isPermaLink="false">http://www.tmprod.com/blog/?p=108</guid>
		<description><![CDATA[The adage, "You get what you paid for," is typically true.  In the case of anything Internet-related, it is always a good idea to pay top dollar for anything, especially if quality and your image are on the line.  With anything, cheap will always get you lackluster work, poor quality, and a lack of reliability.  At Trademark Productions, we are here to make the client happy by giving them what they want, when they want.  We are who we are.       


]]></description>
			<content:encoded><![CDATA[<p>Yes indeed, whether it&#8217;s web developers, licensed contractors, electronics, or an ugly wrinkly dog, that famous phrase still stands true, &#8220;You get what you pay for&#8221;. Recently I was in the market for one of those fancy newfangled big TV&#8217;s. I had done my research, knew exactly what I wanted, knew exactly what my price range was for what I wanted, etc etc. When I told my fiancee that I was looking to spend between X and Y dollars, I thought she was going to have a coronary, or at the very least a mild stroke.</p>
<p>So I had to take the time to explain, you get what you pay for. Like Dean said in a previous post long ago, <a title="pretty costs extra lady" href="http://www.tmprod.com/blog/2008/%E2%80%9Cpretty-costs-extra-lady%E2%80%9D-%E2%80%93-budgeting-for-a-website/" rel="external">&#8220;Pretty costs extra, Lady&#8221;</a>. It&#8217;s true, sure I could have went to Costco and got a great TV for 600 bucks, but A. it would have most likely had terrible quality parts in it, no warranty, the picture would have been not much greater than my 27&#8243; tube TV, and it would have broken down 56 minutes after the warranty expired. So I busted the bank, and got something of high quality.</p>
<p>So why am I blabbering about my new TV? Cuz I like it, that&#8217;s why! But really, the same applies to the business we&#8217;re in. There are plenty of people out there (both locally and in far far away lands) that will do the &#8220;same work&#8221; we do for a fraction of the cost. But&#8230;you get what you pay for. I encourage you to go find somebody that will build you an eCommerce site for $800. Once you give them their final payment, and your site breaks 10 minutes later and they&#8217;re out buying a Costco TV and can&#8217;t be bothered to answer your calls, or fix your site, then you&#8217;ll call us.</p>
<p>Why? Because we&#8217;re good at what we do. We&#8217;re quality. We&#8217;re trademark. We&#8217;re the Cadillac of Web Development, Online marketing, and all the other things that we do a fantastic job at.</p>
<p>No, really, we are. Recently a small Mom &amp; Pop company with a big online business came to us because they were unhappy with their current web development company. Why did they decide to go with this other company in the first place? Because they were cheap. Why did they decide to leave them? Because their work reflected their price. Why did they decide to come to TM? Because we do what we do, and we are what we are. We answered numerous phone calls at 11pm and beyond on a Friday night, working until the wee hours of the morning, to get everything with their site situated so that they can begin to improve their business with our help.</p>
<p>So, I&#8217;ll ask you, do you want a no-name Costco TV, or do you want a Sharp Aquos? If you want the Sharp Aquos, <a title="contact trademark productions" href="/contact-us.php">click here and ask why Trademark is better than most</a></p>
<img src="http://feeds.feedburner.com/~r/tm-web-development/~4/Kbc95_YK8qA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.tmprod.com/blog/2008/you-get-what-you-pay-for/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.tmprod.com/blog/2008/you-get-what-you-pay-for/</feedburner:origLink></item>
	</channel>
</rss>
