<?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>MentorMate Company Blog</title>
	<atom:link href="http://mentormate.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://mentormate.com/blog</link>
	<description></description>
	<lastBuildDate>Fri, 15 Jan 2010 20:31:43 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>The 15 Best Free Android Apps</title>
		<link>http://mentormate.com/blog/best-free-google-android-apps/</link>
		<comments>http://mentormate.com/blog/best-free-google-android-apps/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 20:39:40 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[applications]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://mentormate.com/blog/?p=258</guid>
		<description><![CDATA[Many of the employees at MentorMate have Google Android phones. There are a few iPhone owners too, but they’re in the minority at MentorMate. We did a little survey and found out what Android apps everyone was using. We then consolidated the list and filtered out all the apps that wouldn’t be used by your average Google Android user. What follows is a list of truly great apps that every Google Android user should have. These apps have one more thing in common, they’re all FREE!]]></description>
			<content:encoded><![CDATA[<h2><a href="http://www.kurniadi.org/akproduction/?q=node/6" target="_blank">AK Notepad</a></h2>
<p>Extremely useful app for storing notes in. Includes features to easily share notes with others.</p>
<h2><a href="http://weloveastrid.com/" target="_blank">Astrid</a></h2>
<p>Spectacular to-do list app. Ability to synchronize with rememberthemilk.com so you’ll never lose anything. Tags allow for easy categorization.</p>
<h2><a href="http://www.androidtapp.com/astro-file-manager/" target="_blank">ASTRO File Manager</a></h2>
<p>Manage your files directly with this app, rather than just when you have your device hooked up to a computer with a USB cable.</p>
<h2><a href="http://www.chompsms.com/" target="_blank">chompSMS</a></h2>
<p>The built-in SMS message app works alright, but the interface is not all that special. chompSMS has chat style conversation bubbles that are far more ideal for such communication.</p>
<h2><a href="http://www.gmote.org/" target="_blank">Gmote</a></h2>
<p>Make your android phone function as a remote control for your computer.</p>
<h2><a href="http://www.google.com/sky/skymap.html" target="_blank">Google Sky Map</a></h2>
<p>View the constellations clearly. Changes the view based on your GPS coordinates and the angle at which you hold the phone.</p>
<h2><a href="http://www.google.com/mobile/products/voice.html#p=default" target="_blank">Google Voice</a></h2>
<p>Send text messages to other Google Voice users for free. Setup customized voicemails based on who is calling you. Even allows for transcripts of voicemail, although this particular feature has a lot of room for improvement still.</p>
<h2><a href="http://handycalc.wordpress.com/" target="_blank">handyCalc</a></h2>
<p>Allows for multiple, independent calculations simultaneously and is far less limited than the built-in calculator.</p>
<h2><a href="http://www.twofortyfouram.com/" target="_blank">Locale</a></h2>
<p>Setup auto-triggers on your phone based on your location, time of day, calendar events, battery level, etc.</p>
<h2><a href="http://newsrob.blogspot.com/" target="_blank">NewsRob</a></h2>
<p>RSS reader that syncs with Google reader</p>
<h2><a href="http://www.pandora.com/android" target="_blank">Pandora</a></h2>
<p>Pick an artist and listen to their songs for free and songs from similar artists.</p>
<h2><a href="http://sites.google.com/site/placesdirectory/" target="_blank">Places Directory</a></h2>
<p>Find what you’re looking for near your GPS coordinates by general category.</p>
<h2><a href="http://www.shazam.com/music/web/pages/android.html" target="_blank">Shazam</a></h2>
<p>Never again be stuck wondering what artist/song was just on the radio. Use Shazam to record it and report this information to you.</p>
<h2><a href="http://www.biggu.com/apps/shopsavvy-android/" target="_blank">ShopSavvy</a></h2>
<p>Scan the bar code of a product and compare prices from all over the place.</p>
<h2><a href="http://www.androidtapp.com/the-weather-channel/" target="_blank">The Weather Channel</a></h2>
<p>Weather information on the go with alerts.</p>
]]></content:encoded>
			<wfw:commentRss>http://mentormate.com/blog/best-free-google-android-apps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Is the Google Chrome Browser faster than Internet Explorer in JavaScript performance?</title>
		<link>http://mentormate.com/blog/google-chrome-browser-faster-internet-explorer-javascript-performance/</link>
		<comments>http://mentormate.com/blog/google-chrome-browser-faster-internet-explorer-javascript-performance/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 17:38:52 +0000</pubDate>
		<dc:creator>Georgi</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://mentormate.com/blog/?p=259</guid>
		<description><![CDATA[On November 19, 2009 Google announced their open source Chrome operating system built around the core tenets of speed, simplicity and security. The presentation started with a slide showing the increasing number of Chrome users – the browser that is used as a base in their OS. The slide also stated that Chrome has “39x faster JavaScript than Internet Explorer.” Is it really that much faster or faster at all? Will their built from scratch “V8 JavaScript Engine”  outplay the latest version of the Microsoft browser and will it work almost 40 times faster?]]></description>
			<content:encoded><![CDATA[<h2>JavaScript Speed in Google Chrome versus Internet Explorer</h2>
<p>The latest stable version of Chrome browser at the time this article was written was 3.0.195.33. We will compare it to the current version of IE, which is 8.0.6001.18865. We started with Google’s own benchmark that is hosted at their site and is called <a href="http://v8.googlecode.com/svn/data/benchmarks/current/run.html" target="_blank">V8 Benchmark Suite</a>.  The result differed from one machine to another, but the score of the Google browser was always about 38 times higher than the one of IE – very close to the numbers that Google is claiming. Of course, as much we believe in the accuracy of the tests, we wanted to use some independent benchmarking sites, too. After some research, we found some of the major ones are <a href="http://www2.webkit.org/perf/sunspider-0.9/sunspider.html" target="_blank">SunSpider JavaScript Benchmark</a> and <a href="http://jsbenchmark.celtickane.com/" class="broken_link"  target="_blank">JSBenchmark</a>. Their tests are a complex mixture of different tasks, including drawing, code decompression, encrypting and operations with arrays, dates and handling exceptions. As we expected, the difference between the two browsers was much smaller compared to Google’s own test, but it was again pretty impressive. The results differed from platform to platform, but overall the “SunSpider” test showed that Chrome is ten times faster, while the “JSBenchmark” reported that it is “only” seven times faster.</p>
<h2>JavaScript Speed Test</h2>
<p>In order to conclude that Internet Explorer is much slower than Google Chrome in JavaScript performance though, we still needed more facts. As an alternative to the complex and heavy testing suites, we created a very short example with few array operations. We wanted it to be fairly simple and pretty close to real life examples. Basically, this piece of code assigned random numbers to an array of 20,000 items. Then we reversed the order of the elements. In the next two steps we sorted it in ascending and descending order. The script outputs the milliseconds needed for its completion. We did not expect a lot of difference in doing something so basic. Here is the code:</p>
<h2>JavaScript Speed Test Source Code</h2>
<pre class="brush: plain;">
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot;
    &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;
	&lt;head&gt;
		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html;charset=utf-8&quot; /&gt;
		&lt;title&gt;MentorMate JavaScript simple speed test&lt;/title&gt;
		&lt;script type=&quot;text/javascript&quot;&gt;
			&lt;!--
			function testStart() {
				var mySampleNumbers = new Array();
				var now;
				var start_time_mill;
				var end_time_mill;

				//gets the start date
				now = new Date();
				start_time_mill = now.getTime();

				//assigning random numbers to an array of 20 thousand items
				for (i=0;i&lt;=20000;i++) {
					mySampleNumbers[i] = Math.random();
				}

				//reverse the order of the elements in an array
				mySampleNumbers.reverse();

				//sort the numbers (ascending)
				mySampleNumbers.sort(sortAsc);

				//sort the numbers (descending)
				mySampleNumbers.sort(sortDesc);

				//gets the end date
				now = new Date();
				end_time_mill = now.getTime();
				displayResult(end_time_mill - start_time_mill);
			}
			function sortAsc(m, n) {
				if (m &gt; n) {
					return 1;
				}
				else if (m &lt; n) {
					return -1;
				}
				else {
					return 0;
				}
			}
			function sortDesc(m, n) {
				if (m &gt; n) {
					return -1;
				}
				else if (m &lt; n) {
					return 1;
				}
				else {
					return 0;
				}
			}
			function displayResult(result) {
				alert(&quot;Result: &quot; + result + &quot; ms.&quot;);
			}
			// --&gt;
		&lt;/script&gt;
	&lt;/head&gt;
	&lt;body&gt;
		&lt;form action=&quot;&quot;&gt;
			&lt;p&gt;
				&lt;input type=&quot;button&quot; value=&quot;Start&quot; onclick=&quot;testStart()&quot; /&gt;
			&lt;/p&gt;
		&lt;/form&gt;
	&lt;/body&gt;
&lt;/html&gt;
</pre>
<h2>JavaScript Speed Test Results</h2>
<p>There were differences from PC to PC as with the other tests, but the tendency stayed the same. The time of completion of the tasks in Chrome was about six times faster than IE. This was the smallest advantage the Google browser had compared to the tests that were run so far, but it sounds pretty prestige for Chrome to have such a boost in performance for a really small task.</p>
<p>In conclusion, we can say that Google Chrome has set new standards for speed as far as JavaScript is concerned. Although the advantage the browser has might not be as big as Google claim in their advertising campaigns, it is something very impressive and gives the users additional speed for simple everyday tasks as we saw in the example above. We are looking forward to see the ninth version of Internet Explorer soon, as in the early discussions the developers show ambition to reach the level of performance that Chrome already has. The acceleration of the JavaScript engines for all the browsers can only bring benefits to users and contribute to the creation of richer, more complex Internet applications.</p>
]]></content:encoded>
			<wfw:commentRss>http://mentormate.com/blog/google-chrome-browser-faster-internet-explorer-javascript-performance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SEO Diagram</title>
		<link>http://mentormate.com/blog/seo-diagram/</link>
		<comments>http://mentormate.com/blog/seo-diagram/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 21:56:48 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://mentormate.com/blog/?p=228</guid>
		<description><![CDATA[The following SEO diagram was designed for our SEO presentation. It does a particularly good job of giving an overview of how we get through various steps of SEO to ultimately result in more revenue. A good way to read it is to work your way backwards, starting at the conversions step. Obviously this has a focus on revenue-generating web sites, but most of its principles can be associated with any SEO effort.]]></description>
			<content:encoded><![CDATA[<div class="mceTemp">
<dl id="attachment_242" class="wp-caption alignnone" style="width: 630px;">
<dt class="wp-caption-dt"><img class="size-full wp-image-242 " title="SEO Diagram" src="http://mentormate.com/blog/wp-content/uploads/2009/10/seo-diagram3.jpg" alt="SEO Diagram" width="620" /></dt>
</dl>
</div>
]]></content:encoded>
			<wfw:commentRss>http://mentormate.com/blog/seo-diagram/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Latest SEO Industry News</title>
		<link>http://mentormate.com/blog/latest-seo-industry-news/</link>
		<comments>http://mentormate.com/blog/latest-seo-industry-news/#comments</comments>
		<pubDate>Wed, 23 Sep 2009 21:05:24 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[Marketing]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[seo]]></category>

		<guid isPermaLink="false">http://mentormate.com/blog/?p=171</guid>
		<description><![CDATA[9/21/09 Google officially announces that meta keywords don't impact ranking in Google
9/17/09 Rand Fishkin of SEOMoz changes stance on paid links
7/29/09 Yahoo gives up on search, makes deal with Bing]]></description>
			<content:encoded><![CDATA[<h2>9/21/09 <a title="Google officially announces that meta keywords don't impact ranking in Google" href="http://googlewebmastercentral.blogspot.com/2009/09/google-does-not-use-keywords-meta-tag.html" target="_blank">Google officially announces that meta keywords don&#8217;t impact ranking in Google</a></h2>
<p>Matt Cutts just officially stated that Google does not use meta keywords to impact web sites&#8217; rankings in Google. It has been widely known for a long time that meta keywords did next to nothing, if anything in Google. Cutts decided to make it official. I have always recommended to not use meta keyword tags on web sites because they are a waste of time and competitors can then see what keywords you are targeting. Purposely using meta keywords to trick your competitors into thinking you are targeting certain keywords is still an option I guess, but that seems like a waste of time as well. Any good competitor will be able to figure out the truth anyway, especially with tools like compete.com around.</p>
<h2>9/17/09 <a title="Rand Fishkin of SEOMoz changes stance on paid links" href="http://www.seomoz.org/blog/our-stance-on-paid-links-link-ads" target="_blank">Rand Fishkin of SEOMoz changes stance on paid links</a></h2>
<p>After a lengthy period of pushing paid link services all over the SEOMoz web site, Rand Fishkin has decided to change his stance on paid links. That is, of course, paid links that are not properly deemed as advertisements and actually pass along PageRank. <a title="John Chow's Blog" href="http://www.johnchow.com/" target="_blank">John Chow&#8217;s blog</a> was targeted by Google for this practice awhile ago. As a result, he did not rank for his own name in Google for a long period of time. Google received a lot a negative response for this move from well-known bloggers and recently removed the punishment, allowing Chow to rank for his own name again.</p>
<p>Aaron Wall of <a title="SEOBook" href="http://www.seobook.com/" target="_blank">SEOBook</a> had some interesting thoughts on this move by Fishkin. Wall recently stated on his blog &#8220;If you philosophically didn&#8217;t believe in buying links then why would you spend $1,000,000+ building a web graph of link data? What good is researching all the link data if you take link buying off the table as one of the options? Most of the competing links that you can replicate will require some level of payment.&#8221;</p>
<h2>7/29/09 <a title="Yahoo gives up on search, makes deal with Bing" href="http://www.businessweek.com/technology/content/jul2009/tc20090728_826397.htm" target="_blank">Yahoo gives up on search, makes deal with Bing</a></h2>
<p>While most of you already know about this, it is a major news item for the SEO industry in particular. This means no longer trying to rank in Google, Yahoo! and Bing. Now there are only two major search engine you have to focus your SEO efforts on. I do not know how to feel about this at this time. I am curious however, to see what kind of market share Bing has in a year or so.</p>
<p>QuadsZilla at <a title="SEO Black Hat" href="http://seoblackhat.com" target="_blank">SEO Black Hat</a> seems to be very excited about Bing. He recently wrote a post stating &#8220;We want Bing to succeed: we need a real challenger to Google’s monopoly&#8221; and even goes as far as to get a contact at Bing in order to &#8220;negotiate a deal to bring upwards of 10,000,000 new searchers per year to Bing.com.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://mentormate.com/blog/latest-seo-industry-news/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Secure Data Backup and Recovery Best Practices</title>
		<link>http://mentormate.com/blog/backups/</link>
		<comments>http://mentormate.com/blog/backups/#comments</comments>
		<pubDate>Fri, 31 Jul 2009 13:53:50 +0000</pubDate>
		<dc:creator>Doug</dc:creator>
				<category><![CDATA[IT]]></category>

		<guid isPermaLink="false">http://mentormate.com/blog/?p=72</guid>
		<description><![CDATA[Why make backups? There are many reasons, and it is important to keep them all in mind when you are creating your backup system. Different types of disasters require different methods of recovery.]]></description>
			<content:encoded><![CDATA[<p><strong>Reasons to backup:</strong></p>
<ul>
<li>Hardware Failure, hard drives and other computer components fail regularly.</li>
<li>Destruction of your site, fire or flooding.</li>
<li>Accidental data loss, somebody unintentionally deletes one or more files.</li>
<li>Software error, a software error could corrupt one or more of your files.</li>
</ul>
<h1>The difference between backup and redundancy</h1>
<p>Most modern servers use RAID for redundancy.  This usually means that when you put something on the server, it gets written to two hard drives.  In the event that one hard drive goes down, you can replace it with no disruption to service.  This is an example of redundancy, and will help protect you against a very specific type of failure.  Some systems, like Google, will have multiple servers, allowing an entire server to go down without disruption to service.  It is important to have redundancy so that services to your company or to your clients are not disrupted, but it is not a replacement for backups.</p>
<p>Backups involve creating a second copy of your data.  Often times, multiple backups from different points in time will be maintained.  Restoring a backup takes time, and can result in disruption of service.  Backups help protect from user errors like accidental deletion and software errors that could corrupt data.  Having more than one copy of your files is very important for recovery from these errors.</p>
<h1>What to backup</h1>
<h2>Email</h2>
<p>If you host your own email, this is probably one of the most important things to backup.  If your email is hosted, see if you can backup your email, or see what your provider is doing to backup your email.</p>
<h2>Document Management System</h2>
<p>If you have a document management system or some other type of server that you store your files on, this is also a very important group of files to back up.</p>
<h2>Desktops</h2>
<p>If you have a lot of people, it can be very difficult to back up each desktop that you have.  A better solution is to make sure that all important files are stored on a server so you only need to back up a single server.  You should have a plan in place for what happens when a desktop goes down in order to reduce the impact on the productivity of the person who was using it.</p>
<h2>Web Application Data</h2>
<p>If your website collects data, or if you have any web applications that collect data, make sure that you back up the databases and other information stores.  SQL databases have backup programs that can be run.  You can set your operating system to run the backup regularly.  Also, if there is space where users can upload files, make sure to back up the files as well.</p>
<h2>Custom Software</h2>
<p>Custom software can be expensive to develop.  Make sure that you have a backup of any custom software that you have had built so that you can easily deploy it again if you need to.</p>
<h2>Information in &#8220;The Cloud&#8221;</h2>
<p>You may have documents or other information that is hosted on the internet.  If at all possible, you should take your own backups.  If you cannot take your own backups, how reliable is the service provider?  Think carefully about each of the services that you are subscribed to.  These could be Salesforce, Google Docs, email providers, Online stores (do you need your amazon.</p>
<h2>Any other products that are generated</h2>
<p>Each company produces different types of products.  Make sure that you go through the list of products that you have and ask yourself what would happen and how you would recover if you lost some data.  Make sure to think about digital components that are created to support physical products.</p>
<h1>How</h1>
<p>The number of backup programs that exist and techniques that are available are too numerous to count, so I will only cover a few concepts.</p>
<h2>Important Concepts</h2>
<h3>Local and Offsite</h3>
<p>It is a good idea to have a copy of your data locally and a copy of your data offsite.  The offsite backup is important in the event that your office is destroyed.  The location of the offsite backup could also be destroyed, so having an onsite backup will help protect you against that.  Another reason to keep an onsite backup is that if you need to restore an item, the backup is immediately available.</p>
<h3>Automated Vs. Manual</h3>
<p>Human memory is flawed, people take vacations and sick time, and staffing changes.  If your backup is automated, these events will have a smaller impact on your backup system.  An automated backup system can grab all of your data every night, and push it to an offsite location over the internet or a T1 pipe.  There may be parts of the backup that must be done manually, like changing media, or a few parts of the backup that are difficult to automate, but the more automatic it is, the better.  Still, make sure to check it periodically to make sure that it is still taking the backup and you are not getting errors.</p>
<h3>Backup Media</h3>
<p>Depending on how much you need to back up, you may want different types of media.  Tape drives are popular for large quantities of data.  CD or DVD media is a cheap way to back up small amounts of data, but make sure that you get high quality media, and check it from time to time to make sure that it is not deteriorating.  Hard drives are very convenient since they are rewritable.  Keep in mind that hard drives fail.  Using RAID for redundancy is a good way to help protect yourself from hard drive failure.</p>
<h3>Ensure it works</h3>
<p>After you have created your backup system and are making sure that it runs, make sure to test it by restoring data from the backup.  If you cannot restore a backup, it is not really a backup.</p>
<h3>Security</h3>
<p>If you are backing up confidential or sensitive data, make sure that the backup is at least as secure as the data that you are backing up.  A compromised backup is just as bad as the data being compromised since you have a copy of everything.  If the backup is encrypted, make sure that enough people have the key, and that the key is backed up somewhere.  If you encrypt the data and lose the key, you lose the backup.</p>
<h3>Organization</h3>
<p>Make sure that you always know what backup is current, what backup is old, and when you&#8217;ve taken the backups.  Your software may take care of this for you.  If it does not, putting dates on the folders, or a file with the information within the folder can be good ways to keep organized.  You also need to know where it is going and how to restore it.  Make sure that this is documented in case the person who built the backup is not available when a restore is needed.  You can also streamline the backup process by making sure that the files that need backing up are organized in as few places as possible.</p>
<h3>Human Redundancy</h3>
<p>Make sure that multiple people know where the backup is and how to restore it.  It is a good idea to have some documentation on the backup system, how the backups are created, any manual steps and when they need to be performed, and how to restore each component of the backup, either fully or partially.</p>
<h2>Software</h2>
<h3>Virtual Machines</h3>
<p>Virtual machines typically have a way to make a copy of the entire machine.  This can be taken advantage of to backup an entire system from all of the software that is in stalled to the data files that are on the machine.</p>
<h3>rsync and rdiff-backup</h3>
<p>rsync is used to copy files from one place to another, optionally over the network or internet.  All data transfers are encrypted.  When files are copied, only the files that have changed are copied, reducing the amount of bandwidth required for most cases.  rdiff-backup is similar, but it will keep incremental backups making it so that you can revert to a previous version of your backup.  To save space, files are only saved twice if they have changed.</p>
<h3>dd</h3>
<p>dd can make a copy of a hard drive.  This can be used to make an image of your operating system hard drive from time to time.  If you ever need to restore, you can reload the image to the drive, and all of your software will be ready to go.</p>
<h3>Others</h3>
<p>There is enough backup software out there that I could not hope to cover all of it.  Look at your needs and find the group of software that fills your needs.</p>
<h1>Conclusion</h1>
<p>Make sure you think carefully about why you are backing up your data.  Your reasons for backing up your data will have an impact on how you back it up.  What would happen to you or your business if you lost some or all of your files?  Who is going to be able to restore your files?</p>
]]></content:encoded>
			<wfw:commentRss>http://mentormate.com/blog/backups/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>19 Signs Your Web Site Was Poorly Designed and/or Developed</title>
		<link>http://mentormate.com/blog/19-signs-your-web-site-was-poorly-designed-developed/</link>
		<comments>http://mentormate.com/blog/19-signs-your-web-site-was-poorly-designed-developed/#comments</comments>
		<pubDate>Tue, 26 May 2009 20:28:50 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[Marketing]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://mentormate.com/blog/?p=59</guid>
		<description><![CDATA[MentorMate’s web marketing team has created a list of some commonly-found problems in web site design. These flaws are detrimental aspects to the site in terms of actual site functionality, usability, and/or search engine optimization. They are problems that are readily apparent without an extensive technical background, and ranked in order, beginning with the most severe red flag and ending with more minor inconveniences that could be improved upon.]]></description>
			<content:encoded><![CDATA[<h3>1.    You can’t find your own site on Google</h3>
<p>If you’re looking for your own site and still can’t find it, something big is wrong. This is worst case scenario for a web site; if you can’t find your own site, none of your target audience will be able to either.  If you’ve typed in your company name or something else specific to your brand you should be at or near the top of the results.</p>
<h3>2.    Your visitors aren’t doing what you want them to</h3>
<p>Your site has a specific purpose, whether it’s sales or to generate a lead through a contact form. If your site is receiving traffic, but that traffic isn’t using the site like you intended, there are probably issues with the way your website targets your audience.  In other words, you need to refocus your SEO to allow the right people to find you. Another problem may be with your web site’s usability. If visitors are unable to use it as you intended, your site has some serious problems.</p>
<h3>3.    Browser incompatibility</h3>
<p>This is a design flaw that isn’t always noticed, but is crucial for the user experience. Your web site may look great in the browser you personally use, but different browsers render sites differently. Your site may look great in Firefox, but terrible in Safari.</p>
<h3>4.    Duplicate or nonexistent page titles</h3>
<p>Page titles, the text shown in the top left corner of your browser, are one of the biggest factors in how a search engine finds your site. Each page’s title should accurately reflect the keywords you’re targeting for that specific page. Your pages won’t appear anywhere near the top of the search results without effective page title usage.</p>
<h3>5.    Excessive use of images in place of text</h3>
<p>Text rendered as an image can often look more appealing to the eye, but it can hurt your search rankings.  If you use images in place of text, you’re missing a major opportunity to help search engines figure out what your site is about.</p>
<h3>6.    Main navigation isn’t persistent</h3>
<p>Certain page elements should be present on every page.  The most important is your main navigation.  This might be tabs that are at the top of every page, or a list of website sections on the side of the page.  Regardless of how users navigate through your website, you should never leave them guessing about how to get to more of your content.</p>
<h3>7.    Excessive use of Flash</h3>
<p>Creating a site exclusively with Flash can look impressive, but it is nearly impossible to rank highly in search results by doing this. Flash can be used to enhance a site, but it shouldn’t make up the entire site.</p>
<h3>8.    Websitegrader.com gives site a score less than 25</h3>
<p>Website Grader is a free tool that measures your site’s marketing effectiveness. It analyzes the amount of traffic you receive, your SEO efforts, social networking popularity, and technical factors to produce a score from 1-100. Scoring below 25 would signify major problems in several areas of your site.</p>
<h3>9.    Intro pages</h3>
<p>An extensive introduction may look nice, but intro pages can also detract from the user experience.  This is especially the case for your most valuable user – the repeat visitor – who may not want to sit through the same intro every time they visit your site.</p>
<h3>10.     Page URLs aren’t human readable</h3>
<p>Your URLs should be simple and say what each page is about. For example, www.dogs.com/dalmatians is better than www.dogs.com/show.php?breed=11. This helps search engines better index your content and your users stand a better chance of remembering how to get to your content.</p>
<h3>11.     Site contains excessive text</h3>
<p>Too little text can keep search engines from understanding what your site is about, but too much text can drive away visitors. Follow the rule of thumb that nobody on the web wants to read; users should be able to quickly find and use the information they are looking for without reading anything unnecessary.  Limiting your text also helps you focus on the most important words, too, and this helps search engines figure out what your site is about.</p>
<h3>12.     No contact information is present on the site</h3>
<p>This is obviously easy to remedy, but also a problem that some sites forget about. You need contact info to receive both leads and feedback on areas to improve your site.</p>
<h3>13.     Slow load time</h3>
<p>Internet users are impatient. The longer they wait, the less likely they are to use your site. Significantly slow load times can also negatively impact your rankings in the search engines, resulting in less web traffic to your site.</p>
<h3>14.     Your site is designed for small monitors</h3>
<p>As computer hardware advances, your website needs to also.  A site designed for 800&#215;600 screen resolution may have been state of the art in 1997, but today users expect your site to utilize their entire screen. A width of 960 pixels is optimal these days.</p>
<h3>15.     Canonical URL issues</h3>
<p>http://www.sampledomain.com and http://sampledomain.com (no www) should 301-redirect to one variation of the domain name. You need to choose with or without the www. This way you can ensure no link juice is wasted on the less popular variation of your domain.</p>
<h3>16.     Too many navigation choices or too many clicks to get there</h3>
<p>Your site has to be easy to navigate. Too many options on the home page are overwhelming; will spend too much time reading through all the options.  At the other end of the spectrum is excessive page depth.  Forcing users through a seemingly endless train of pages is a sure way to get them to leave.  As a rule of thumb, users should never have pick between more than 7 navigational options per page and they should be able to get to any page in at most three clicks. All pages should also link back to the home page.</p>
<h3>17.     Single column display format</h3>
<p>This is simply an outdated feel and looks unprofessional as well. Make use of all the space presented to you. Single column formats lead to excessive scrolling. Don’t make extra work for the user.</p>
<h3>18.     Site has no Compete.com data (after six months of existence)</h3>
<p>Compete.com is an online tool used to measure traffic against your competition. If your site has existed for a substantial amount of time and has yet to be noticed by Compete, your site is likely getting very minimal amounts of visitors.</p>
<h3>19.     There are specific on-page browser recommendations</h3>
<p>These should be unnecessary because as previously stated, your site should be usable in all browsers.</p>
]]></content:encoded>
			<wfw:commentRss>http://mentormate.com/blog/19-signs-your-web-site-was-poorly-designed-developed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Optimized paging query implementation for Microsoft SQL Server 2005</title>
		<link>http://mentormate.com/blog/optimized-paging-queries-microsoft-sql-server-2005/</link>
		<comments>http://mentormate.com/blog/optimized-paging-queries-microsoft-sql-server-2005/#comments</comments>
		<pubDate>Wed, 25 Feb 2009 15:03:38 +0000</pubDate>
		<dc:creator>Dimitar Dobrev</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://mentormate.com/blog/?p=45</guid>
		<description><![CDATA[Paging queries or paging records is an often-used approach in web applications. It displays subsets of data records as a page, allowing the user to navigate more easily through all pages. The straightforward implementation of a paging query running over large data sets in a stored procedure in MS SQL 2005 can cause increased server load when large numbers of paging queries are executed simultaneously.]]></description>
			<content:encoded><![CDATA[<p>We did performance tests on several methods of paging implementation and found the fastest one:</p>
<pre class="brush: plain;">DECLARE @PageNumber INT
DECLARE @PageSize INT
SET @PageNumber = 2
SET @PageSize = 10
SELECT TOP (@PageSize) * FROM
(
SELECT
ROW_NUMBER() OVER (ORDER BY FieldA) As RowID,
FieldB,FieldC,
TotalRows=COUNT(*) OVER()
FROM TheTable
) TmpTable
WHERE TmpTable.RowID &gt; ((@PageNumber-1)*@PageSize)</pre>
<p>One significant advantage of this implementation approach is that there is no need for a second query that returns the total count of the paged data. The total record count is returned as a column in the result set. This minimizes the number of queries that are needed to return a paged result set. If not needed, the “TotalRows” column can be removed from the query.</p>
]]></content:encoded>
			<wfw:commentRss>http://mentormate.com/blog/optimized-paging-queries-microsoft-sql-server-2005/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;java.lang.OutOfMemoryError: Java heap space&#8221; Unexpected Tomcat Crash &#8211; Solved</title>
		<link>http://mentormate.com/blog/javalangoutofmemoryerror-java-heap-space-unexpected-tomcat-crash-solved/</link>
		<comments>http://mentormate.com/blog/javalangoutofmemoryerror-java-heap-space-unexpected-tomcat-crash-solved/#comments</comments>
		<pubDate>Wed, 11 Feb 2009 17:07:14 +0000</pubDate>
		<dc:creator>Dimitar Dobrev</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://mentormate.com/blog/?p=35</guid>
		<description><![CDATA[Recently, we've been dealing with an issue related to our Tomcat Application Server and wanted to share how we solved this one. We found one that the application server was irrelevant (it could be Glassfish or another as well). The server was running the latest version, Tomcat Application Server 6.0.18, and it was crashing in irregular intervals. There was no easy solution because the server stopped making logs before crashing.]]></description>
			<content:encoded><![CDATA[<p>We started the usual things like upgrading the core components and making more logs that the Tomcat can output. After all these we got rows in the localhost log saying &#8220;java.lang.OutOfMemoryError: Java heap space&#8221; but with no other information like rows of code, etc. We continued to optimize the memory usage by flushing the input and output streams in the code and others. After that we received this log:</p>
<p><code>
<pre class="brush: plain;">SEVERE: Servlet.service() for servlet jsp threw exception
java.lang.OutOfMemoryError: Java heap space
at java.lang.StringCoding$StringDecoder.decode(StringCoding.java:133)
at java.lang.StringCoding.decode(StringCoding.java:173)
at java.lang.String.(String.java:444)
at org.postgresql.core.Encoding.decode(Encoding.java:193)
at org.postgresql.core.Encoding.decode(Encoding.java:205)
at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getString(AbstractJdbc2ResultSet.java:1892)
at org.apache.tomcat.dbcp.dbcp.DelegatingResultSet.getString(DelegatingResultSet.java:175)</pre>
<p></code></p>
<p>This was the first time when we had a log where there was a specific row number indicating the error. After looking at the code, we found that the row was in logic, where we assign a field from the database to a string variable. It was nothing unusual, so we decided to check the field in the database table. It was a &#8220;text&#8221; field in a PostgreSQL database that we access using JDBC driver. After a SELECT length(‘field&#8217;) command, we estimated that the biggest field data is about 1 MB! So, if we wanted to take the whole table that would be about 400 MB data fetched in a single click that invoked this method. After that we were able to finally reproduce the server crash, clicking several times on the button that invoked the method fetching this abnormally large amount of data. We had to revise the code so that we take only one field when needed. This solved the crashing issue.</p>
<p>The lesson is that we need to make sure we are not requesting too much data using the SQL statements. Even if we are getting a small amount of columns like in this case, we need to have in mind that one of them could contain a lot of information and make the system crash – especially with lots of concurrent users.</p>
]]></content:encoded>
			<wfw:commentRss>http://mentormate.com/blog/javalangoutofmemoryerror-java-heap-space-unexpected-tomcat-crash-solved/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NetBeans Visual JSF editor tutorial on web applications running over HTTPS displaying warning in IE &#8220;This page contains both secure and nonsecure items&#8221;.</title>
		<link>http://mentormate.com/blog/netbeans-visual-jsf-editor-tutorial-web-applications-running-https-displaying-warning-page-secure-nonsecure-items-2/</link>
		<comments>http://mentormate.com/blog/netbeans-visual-jsf-editor-tutorial-web-applications-running-https-displaying-warning-page-secure-nonsecure-items-2/#comments</comments>
		<pubDate>Thu, 05 Feb 2009 19:36:53 +0000</pubDate>
		<dc:creator>Dimitar Dobrev</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://mentormate.com/blog/?p=25</guid>
		<description><![CDATA[Developers who have used NetBeans 6.1 and 6.5 for web development with Visual JSF (Woodstock) might have encountered an issue with their web application when deployed on a secured server (HTTPS) and opened with Internet Explorer. The issue lies in the way IE treats links to JavaScript and CSS files loaded in the pages. Under HTTPS, the links to JavaScript have to be absolute, not relative. IE does not assume that the "relative" folder is secured.]]></description>
			<content:encoded><![CDATA[<p>If you &#8220;view source&#8221; on the page that Woodstock generates, you will see the following line:</p>
<p><span style="font-family: Georgia,'Times New Roman','Bitstream Charter',Times,serif; font-size: 13px; line-height: 19px;">
<pre class="brush: plain;">&lt;/span&gt;&lt;code&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;/app/theme/com/sun/webui/jsf/suntheme4_2-080320/javascript/bootstrap.js&quot;&gt;&lt;/code&gt;&lt;span style=&quot;font-family: Georgia,'Times New Roman','Bitstream Charter',Times,serif; font-size: 13px; line-height: 19px;&quot;&gt;</pre>
<p></span></p>
<p>Now if you change that line to:<br />
<code><br />
</code><span style="font-family: Georgia,'Times New Roman','Bitstream Charter',Times,serif; font-size: 13px; line-height: 19px;">
<pre class="brush: plain;">&lt;/span&gt;&lt;code&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;https://www.yourserver.com:8443/ app/theme/com/sun/webui/jsf/suntheme4_2-080320/javascript/bootstrap.js&quot;&gt;&lt;/code&gt;&lt;span style=&quot;font-family: Georgia,'Times New Roman','Bitstream Charter',Times,serif; font-size: 13px; line-height: 19px;&quot;&gt;</pre>
<p></span></p>
<p>The site will now work under HTTPS without any security warnings. Obviously, this cannot be done straightforward because this piece of HTML code is generated by the Woodstock library. The solution we have implemented to resolve this problem is to change the code in the Woodstock library that generates the HTML header of the pages. The following solution is not the most elegant solution; it’s more of a simple workaround to solve this problem in production environment:</p>
<ol>
<li>Open the Woodstock project web site, https://woodstock.dev.java.net/index.html, and go to &#8220;Build it Yourself.&#8221;</li>
<li>Follow the instructions on the &#8220;Build it Yourself&#8221; page to register and get a CVS access to download the framework source code. The CVS URL will be something like: :pserver:username@cvs.dev.java.net:/cvs. You don’t need NetBeans 5.5, as it is written in the compile instructions.</li>
<li>Open the CVS repository with NetBeans and check out the module &#8220;woodstock/webui&#8221; and branch &#8220;Release42&#8243; as a new project.<img class="alignnone" src="http://mentormate.com/blog/images/netbeans-visual-jsf-tutorial-screenshot-1.jpg" alt="" width="628" height="445" /></li>
<li>Open the project and edit the &#8220;JavaScriptUtilities.java&#8221; file in package com.sun.webui.jsf.util in &#8220;src/runtime&#8221; folder.</li>
<li>In method &#8220;renderJavaScriptInclude&#8221;   change line 578 from:<code><br />
</code><span style="font-family: Georgia,'Times New Roman','Bitstream Charter',Times,serif; font-size: 13px; line-height: 19px;">
<pre class="brush: plain;">&lt;/span&gt;&lt;code&gt;String jsFile = getTheme().getPathToJSFile(file);&lt;/code&gt;&lt;span style=&quot;font-family: Georgia,'Times New Roman','Bitstream Charter',Times,serif; font-size: 13px; line-height: 19px;&quot;&gt;</pre>
<p></span><br />
To:<code><br />
</code><span style="font-family: Georgia,'Times New Roman','Bitstream Charter',Times,serif; font-size: 13px; line-height: 19px;">
<pre class="brush: plain;">&lt;/span&gt;&lt;code&gt;String jsFile = &quot;https://www.yourserver.com:8443&quot; + getTheme().getPathToJSFile(file);&lt;/code&gt;&lt;span style=&quot;font-family: Georgia,'Times New Roman','Bitstream Charter',Times,serif; font-size: 13px; line-height: 19px;&quot;&gt;</pre>
<p></span></li>
<li>Save the file and rebuild the project. During compile, you might notice a lot of warnings, etc – just ignore them.</li>
<li>Copy and overwrite the newly compiled webui-jsf.jar and webui-jsf-dt.jar from the Woodstock source code folder &#8220;woodstockwebuidist&#8221; to the NetBeans subfolder. &#8220;visualweb2modulesext&#8221;. Keep a copy of the original jar files (see below).</li>
<li>Rebuild your WAR file and deploy it on the HTTPS server.</li>
</ol>
<p>There you go. You should now have your website working under IE with no security warnings. Note that the newly compiled .jar files will work only on the server URL you define in Step 5. They won’t work in localhost development environment, so you might want to change with original .jar files during development phase. Cheers.</p>
]]></content:encoded>
			<wfw:commentRss>http://mentormate.com/blog/netbeans-visual-jsf-editor-tutorial-web-applications-running-https-displaying-warning-page-secure-nonsecure-items-2/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Free consulting</title>
		<link>http://mentormate.com/blog/free-consulting/</link>
		<comments>http://mentormate.com/blog/free-consulting/#comments</comments>
		<pubDate>Wed, 28 Jan 2009 19:43:43 +0000</pubDate>
		<dc:creator>Bjorn</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://mentormate.com/blog/?p=13</guid>
		<description><![CDATA[Often in the early stages of selling a prospect they will want you to do a lot of the design and architecting of a solution for free. It is a delicate subject to bring up, but you can't do work for free. The sooner you bring that up and agree that you should be paid for your work - but not proposal writing, sales and marketing - the better off you'll be. The most effective method is to make them want your expertise.]]></description>
			<content:encoded><![CDATA[<p>If you do the positioning right and create a perception of value the prospect will be more likely to agree to pay earlier. If you have not created an impression of value then putting your foot down in this area carries the risk of losing the business to a competitor or just getting a flat no. But done right this will earn you the respect of the client. So think positioning rather than closing. Ideally, the closing is a formality, a logical conclusion reached based on your prior positioning and needs discovery. It is also helpful to explain at the outset of the conversation what is paid work and what is not.</p>
]]></content:encoded>
			<wfw:commentRss>http://mentormate.com/blog/free-consulting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
