<?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>GoodCamel Blog &#187; Uncategorized</title>
	<atom:link href="http://blog.goodcamel.com/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.goodcamel.com</link>
	<description></description>
	<lastBuildDate>Fri, 19 Feb 2010 23:28:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Workaround for Google App Engine Static File 304 Not Modified (GAE)</title>
		<link>http://blog.goodcamel.com/2010/01/08/workaround-for-google-app-engine-static-file-304-not-modified-gae/</link>
		<comments>http://blog.goodcamel.com/2010/01/08/workaround-for-google-app-engine-static-file-304-not-modified-gae/#comments</comments>
		<pubDate>Sat, 09 Jan 2010 03:11:50 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.goodcamel.com/?p=84</guid>
		<description><![CDATA[Google App Engine does not support 304 (Not modified) response code for static files. This means it will always return response code 200 with full content data, even if the content has not changed since the last time the browser requested it. This is not good because it waste your bandwidth quotas and it will [...]]]></description>
			<content:encoded><![CDATA[<p>Google App Engine does not support 304 (Not modified) response code for static files. This means it will always return response code 200 with full content data, even if the content has not changed since the last time the browser requested it. This is not good because it waste your bandwidth quotas and it will also cause unnecessary delays when loading pages with static content. This is a well known issue, see <a title="Google App Engines always return 200 for static files, returning 304 would save bandwidth" href="http://code.google.com/p/googleappengine/issues/detail?id=575">Google App Engine Issue 575</a> for more details.</p>
<p>There is actually a very simple workaround for this if you use Google App Engine for Java. Suppose you have the following static file:</p>
<blockquote><p>/static/big_javascript_lib.js</p></blockquote>
<p>In your .html files, you reference that the static file like this:</p>
<blockquote><p>&lt;script type=&#8221;text/javascript&#8221; src=&#8221;<strong>/static/big_javascript_lib.js</strong>&#8220;&gt;&lt;/script&gt;</p></blockquote>
<p>And everytime the browser will load a html page containing the static file, Google App Engine will return status code 200 with the full content of the file, even if the content was not modified since the last time the browser requested it.</p>
<p>The workaround is very simple. First, in <em>&#8220;WEB-INF/web.xml&#8221;</em>, define a servlet for path <em>&#8220;/304_enabled/*&#8221;</em> (you can use any path for which no static content exist):</p>
<blockquote><p>&lt;servlet&gt;<br />
&lt;servlet-name&gt;StaticServlet&lt;/servlet-name&gt;<br />
&lt;servlet-class&gt;com.opcode.servlet.StaticServlet&lt;/servlet-class&gt;<br />
&lt;/servlet&gt;<br />
&lt;servlet-mapping&gt;<br />
&lt;servlet-name&gt;StaticServlet&lt;/servlet-name&gt;<br />
&lt;url-pattern&gt;<strong>/304_enabled/*</strong>&lt;/url-pattern&gt;<br />
&lt;/servlet-mapping&gt;</p></blockquote>
<p>Then, create the StaticServlet class like this:</p>
<blockquote><p>package com.opcode.servlet;</p>
<p>import java.io.IOException;</p>
<p>import javax.servlet.ServletException;<br />
import javax.servlet.http.HttpServlet;<br />
import javax.servlet.http.HttpServletRequest;<br />
import javax.servlet.http.HttpServletResponse;</p>
<p>public class StaticServlet extends HttpServlet {</p>
<p>// This static file handler will correctly return a 304 (Not Modified)<br />
// response code when appropriate. This is not the case with the default app<br />
// engine static file handler.</p>
<p>public static final String <strong>PATH = &#8220;/304_enabled&#8221;</strong>;</p>
<p>@Override<br />
protected void service(HttpServletRequest request, HttpServletResponse response)<br />
throws ServletException, IOException {<br />
String file = request.getRequestURI().substring(<strong>PATH</strong>.length());<br />
request.getRequestDispatcher(file).forward(request, response);<br />
}<br />
}</p></blockquote>
<p>Finally, in your .html files, prepend &#8220;/304_enabled&#8221; to the references of all all static files like this:</p>
<blockquote><p>&lt;script type=&#8221;text/javascript&#8221; src=&#8221;<strong>/304_enabled</strong>/static/big_javascript_lib.js&#8221;&gt;&lt;/script&gt;</p></blockquote>
<p>You must <strong>NOT</strong> move your static files in a <em>&#8220;/304_enabled&#8221;</em> folder, let the static files where they are, the servlet will find them.</p>
<p>Now the servlet will correctly return response code 304 if the static content was not modified since the last time the browser requested it.</p>
<p><strong>UPDATE: This issue is now fixed, so the workaround is not necessary anymore. Thanks Google.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.goodcamel.com/2010/01/08/workaround-for-google-app-engine-static-file-304-not-modified-gae/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Good Camel Games &#8211; Do You Know Your Hollywood?</title>
		<link>http://blog.goodcamel.com/2009/12/11/good-camel-games-do-you-know-your-hollywood/</link>
		<comments>http://blog.goodcamel.com/2009/12/11/good-camel-games-do-you-know-your-hollywood/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 22:10:29 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.goodcamel.com/?p=73</guid>
		<description><![CDATA[We are very proud to announce the release of 6 new games to Good Camel Games this week. Those games will test your knowledge of a specific subject (6 subjects). The concept is the following: you are given a picture and you need to find the correct answer. The subjects are: Hollywood Celebrities, Dog Breeds, [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Good Camel Games - Do You Know Your Hollywood - Single Player" href="http://games.goodcamel.com/play/game/DoYouKnowYour/Hollywood"><img class="alignleft" style="border: 1px solid #808080; padding: 5px; margin-right: 10px;" src="http://games.goodcamel.com/static/images/do-you-know-your-2.png" alt="Do You Know Your ..." width="244" height="130" /></a>We are very proud to announce the release of <strong>6 new games</strong> to <a title="Good Camel Games - Fun Multiplayer Games" href="http://games.goodcamel.com/">Good Camel Games</a> this week. Those games will test your knowledge of a specific subject (6 subjects). The concept is the following: you are given a picture and you need to find the correct answer. The subjects are: <a title="Do You Know Your Hollywood - Single Player" href="http://games.goodcamel.com/play/game/DoYouKnowYour/Hollywood">Hollywood Celebrities</a>, <a title="Do You Know Your Dog Breeds - Single Player" href="http://games.goodcamel.com/play/game/DoYouKnowYour/DogBreeds">Dog Breeds</a>, <a title="Do You Know Your Car Models - Single Player" href="http://games.goodcamel.com/play/game/DoYouKnowYour/CarModels">Car Models</a>, <a title="Do You Know Your History - Single Player" href="http://games.goodcamel.com/play/game/DoYouKnowYour/History">History</a>, <a title="Do You Know Your Country Flags - Single Player" href="http://games.goodcamel.com/play/game/DoYouKnowYour/CountryFlags">Country Flags</a> and <a title="Do You Know Your US Presidents - Single Player" href="http://games.goodcamel.com/play/game/DoYouKnowYour/USPresidents">US Presidents</a>.</p>
<p>In addition to those 6 games, we also added a <a title="Good Camel Games - Game List - All Games" href="http://games.goodcamel.com/games">game list</a> page that shows all games implemented to date on Good Camel Games. From that page, you can easily start any game. That page will be updated as games are added.</p>
<p>What is good about Good Camel Games is games are fun, simple and very intuitive. No need to invest a huge amount of time just to understand the game. The fun starts in seconds.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.goodcamel.com/2009/12/11/good-camel-games-do-you-know-your-hollywood/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Features for Good Camel Games</title>
		<link>http://blog.goodcamel.com/2009/12/03/new-features-for-good-camel-games/</link>
		<comments>http://blog.goodcamel.com/2009/12/03/new-features-for-good-camel-games/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 20:54:27 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.goodcamel.com/?p=62</guid>
		<description><![CDATA[ There has been some work on Good Camel Games lately and new features were released:
UI Improvements &#8211; Now the UI is more consistent and easier to use. A Good Camel logo has been added and each page is properly identified with a title. There is still room for improvements in that area. Suggestions are [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://games.goodcamel.com/"><img class="size-full wp-image-66 alignleft" style="border: 0pt none; margin-right: 10px;" title="Goooood Camel!" src="http://blog.goodcamel.com/wp-content/uploads/2009/12/good-camel.jpg" alt="Goooood Camel!" width="80" height="54" /></a> There has been some work on <a title="Good Camel Games - Fun Multiplayer Games" href="http://games.goodcamel.com/">Good Camel Games</a> lately and new features were released:</p>
<p><strong>UI Improvements</strong> &#8211; Now the UI is more consistent and easier to use. A Good Camel logo has been added and each page is properly identified with a title. There is still room for improvements in that area. Suggestions are welcomed.</p>
<p><strong>Facebook Integration</strong> &#8211; Good Camel Games has a better Facebook integration. Now you will see who of your Facebook friends are also online on Good Camel Games. With the &#8220;Invite Friends&#8221; feature, you will also be able to invite any Facebook friend to play in a matter of seconds. And you do not need to go to <a title="Good Camel Games on Facebook" href="http://apps.facebook.com/good_camel_games/">Good Camel Games on Facebook</a> to get those extras, thanks to <a title="Facebook Connect" href="http://developers.facebook.com/connect.php">Facebook Connect</a>. You&#8217;re not on Facebook? Don&#8217;t worry, you can still chat, play and have fun on Good Camel Games, being on Facebook is not mandatory at all.</p>
<p><strong>New Game: Longest Word &#8211; </strong>A new game called &#8220;Longest Word&#8221; has been added. The goal of the game is to form the longest word you can think of with the given letters. If you like Scrabble, you will love that game. You also get to choose the dictionary to be used for validating words. At the moment, 4 dictionaries are available: <strong>English</strong>, <strong>French</strong>, <strong>Spanish </strong>and <strong>German</strong>. Feel free to suggest more languages if your native language is not in that list.</p>
<p><strong>New Error Handler &#8211; </strong>In our effort to provide quality services, we have a mechanism that notifies us when an error occurs on Good Camel Games. That mechanism will also alert us when an error occurs on the client side (in the browser). In order to do so, the browser sends a request to the server with the details of the error so we can investigate an fix the issue. That part of the server that receives errors is called the Error Handler. In order to make it robust and always available, the Error Handler has been re-implemented as a <a title="Google App Engine" href="http://code.google.com/appengine/">Google App Engine</a> project and is now hosted on Google servers: <a title="Good Camel Games - Error Handler" href="http://opcodesolutions.appspot.com/">Good Camel Games &#8211; Error Handler</a>. This way, the Error Handler will be able to handle errors even if Good Camel Games goes down or is experiencing other major issues.</p>
<p><strong>Play Alone &#8211; </strong>We&#8217;re also proud to announce that most games can now be played alone. So you don&#8217;t have to wait for an opponent to have fun. To play a game alone, just start a new game as usual and click the &#8220;Play Alone&#8221; link. Games are more fun when played with somebody else, but sometimes nobody is available. You can also use that feature if you want to practice your skills at a game.</p>
<p><strong>Send Link &#8211; </strong>In order to facilitate playing with people you know. We added the &#8220;Send Link&#8221; feature. So you can start a game as usual and use the &#8220;Send Link&#8221; feature to copy and send the link (url) to the person you want to play the game with. That person does not need to be on Facebook and does not even have to know about Good Camel Games. When that person clicks the link, you will see him/her as an opponent wanting to join the game and you just have to &#8220;Accept&#8221;.</p>
<p>That&#8217;s all for now! Feel free to suggest more games and features! <a title="Good Camel Games - Fun Multiplayer Games" href="http://games.goodcamel.com/">Good Camel Games &#8211; Fun Multiplayer Games</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.goodcamel.com/2009/12/03/new-features-for-good-camel-games/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My GWT Application is not Indexed by Google</title>
		<link>http://blog.goodcamel.com/2009/11/16/my-gwt-application-is-not-indexed-by-google/</link>
		<comments>http://blog.goodcamel.com/2009/11/16/my-gwt-application-is-not-indexed-by-google/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 18:24:28 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.goodcamel.com/?p=46</guid>
		<description><![CDATA[I submitted Good Camel Games to Google for indexing the other day and I was happy to see it  in Google&#8217;s index shortly after that. Few days later, it was no longer there. I used Google Webmaster Tools to see its indexing status, and it told me the site was not indexed anymore. After reading [...]]]></description>
			<content:encoded><![CDATA[<p>I submitted <a title="Good Camel Games - Fun Multiplayer Games" href="http://games.goodcamel.com/">Good Camel Games</a> to Google for indexing the other day and I was happy to see it  in Google&#8217;s index shortly after that. Few days later, it was no longer there. I used <a title="Google Webmaster Central" href="http://www.google.com/webmasters/">Google Webmaster Tools</a> to see its indexing status, and it told me the site was not indexed anymore. After reading the FAQs and other documentation from Google, I realized that my website was probably violating <a title="Google Webmaster guidelines" href="http://www.google.com/support/webmasters/bin/answer.py?hl=en&amp;answer=35769">Google&#8217;s quality guidelines</a>.</p>
<p><a title="Good Camel Games - Fun Multiplayer Games" href="http://games.goodcamel.com/">Good Camel Games</a> is a <a title="Google Web Toolkit - Google Code" href="http://code.google.com/webtoolkit/">GWT</a> web app and it is therefore a very JavaScript heavy application. The problem is that non-JavaScript enabled users just cannot use my application, so for them, I was showing a page saying they cannot use the application and some information about the application and what it actually does (that info was also available for JavaScript enabled users, but somewhere else). Big mistake! Showing different content to JavaScript VS non-JavaScript users violates <a title="Google Webmaster guidelines" href="http://www.google.com/support/webmasters/bin/answer.py?hl=en&amp;answer=35769">Google&#8217;s quality guidelines</a> because it is often used as deceptive technique to fool search engines. That technique is known as <a title="Definition of Cloaking on Wikipedia" href="http://en.wikipedia.org/wiki/Cloaking">cloaking</a> and Google has mechanisms to detect that.</p>
<p>Fortunately, you can <a title="Webmaster Tools - Request reconsideration" href="https://www.google.com/webmasters/tools/reconsideration">request reconsideration of your site</a>. So I made some changes that hopefully fixes the problem, created a short video explaining the details (not required, but I think it is easier to understand) and submitted the reconsideration request to Google.</p>
<p>Here is the video: <a title="My GWT Application is not Indexed by Google" href="http://www.youtube.com/watch?v=WIHTUJBawnI">My GWT Application is not Indexed by Google</a></p>
<p>Here is the message I included in my reconsideration request:</p>
<blockquote><p>Hi,</p>
<p>My web application has been indexed by Google for a short period of time, but it is not indexed anymore. I think the problem with it is that it is not compliant with Google&#8217;s quality guidelines.</p>
<p>I made a short video that explains why I think it is not compliant with Google&#8217;s quality guidelines and also explains what I did to fix the problem. I made a video because I think it is easier to explain with images and also to help other people not to do the same naive mistake. Here is the video:</p>
<p><a title="My GWT Application is not Indexed by Google" href="http://www.youtube.com/watch?v=WIHTUJBawnI">http://www.youtube.com/watch?v=WIHTUJBawnI</a></p>
<p>Basically, the explanation is the following: My web application is built on GWT and requires JavaScript enabled in the browser. I think the problem with it is that does not present the same content to JavaScript VS non-JavaScript enabled users. I fixed it by adding an extra step (at the beginning) for JavaScript enabled users which shows pretty much the same thing as non-JavaScript enabled users. But see the video, it will be easier to understand and I think it demonstrates my good faith.</p>
<p>To answer your question about SEO, no I did not use any SEO firm, I did this mistake all by myself.</p>
<p>Regards,<br />
Jonathan Demers</p></blockquote>
<p>Here is the automated response I received:</p>
<blockquote><p>We&#8217;ve received a request from a site owner to reconsider how we index the following site: http://games.goodcamel.com/</p>
<p>We&#8217;ll review the site. If we find that it&#8217;s no longer in violation of our Webmaster Guidelines, we&#8217;ll reconsider our indexing of the site. Please allow several weeks for the reconsideration request. We do review all requests, but unfortunately we can&#8217;t reply individually to each request.</p></blockquote>
<p>As suggested, I also asked for a site review in Google Forum: <a title="My Website (Web Application) is not in Google index anymore. Can somebody review my site?" href="http://www.google.com/support/forum/p/Webmasters/thread?tid=4f737efcaa60f630&amp;hl=en"><span id="wavqr3">My Website (Web Application) is not in Google index anymore. Can somebody review my site?</span></a></p>
<p>The only thing is that it can take several weeks for a reconsideration request and you are not notified when the reconsideration process request is over; or your site is OK and added to the index, or it is still not OK and not added to the index. So hopefully, you won&#8217;t do the same naive mistake i did.</p>
<p>Anyways, I&#8217;ll update the post when I get more info.</p>
<p>&#8230; to be continued</p>
<p><strong>UPDATE &#8211; November 18 2009</strong>: I can see <a title="Good Camel Games - Fun Multiplayer Games" href="http://games.goodcamel.com/">Good Camel Games</a> in Google index tonight. Wow, that was fast. Thank you Google!</p>
<p><strong>UPDATE &#8211; November 20 2009</strong>: Yesterday (Nov 19), I actually received a notification from Google telling me that my site has been reviewed. That is nice, I did not expect that. And my application is still in Google index. Here is the Notification:</p>
<blockquote>
<div id=":5k">
<p>We received a request from a site owner to reconsider how we index the following site: <a href="http://games.goodcamel.com/" target="_blank">http://games.goodcamel.com/</a>.</p>
<p>We&#8217;ve now reviewed your site. When we review a site, we check to see if it&#8217;s in violation of our <a href="http://www.google.com/support/webmasters/bin/answer.py?answer=35769&amp;hl=en" target="_blank">Webmaster Guidelines</a>. If we don&#8217;t find any problems, we&#8217;ll reconsider our indexing of your site. If your site still doesn&#8217;t appear in our search results, <a href="http://www.google.com/support/webmasters/bin/answer.py?answer=34444&amp;hl=en" target="_blank">check our Help Center for steps you can take</a>.</p>
<p><em>This is an automated message from Webmaster Tools. Please do not reply to this email. For help, please visit <a href="http://www.google.com/support/webmasters?hl=en" target="_blank">http://www.google.com/support/webmasters</a>.</em></div>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.goodcamel.com/2009/11/16/my-gwt-application-is-not-indexed-by-google/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>GoogleBot Follows URLs in JavaScript</title>
		<link>http://blog.goodcamel.com/2009/11/12/googlebot-follows-urls-in-javascript/</link>
		<comments>http://blog.goodcamel.com/2009/11/12/googlebot-follows-urls-in-javascript/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 03:32:01 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.goodcamel.com/?p=34</guid>
		<description><![CDATA[Yes, me too, I was shocked to see that GoogleBot followed my URLs in JavaScript. Apparently, I am not the only one. Hopefully, Google will have some day a true JavaScript engine to crawl JavaScript heavy applications.]]></description>
			<content:encoded><![CDATA[<p>I was very surprised the other day when I received a notification telling me GoogleBot was having troubles executing JavaScript on my new app <a title="Good Camel Games - Fun Multiplayer Games" href="http://games.goodcamel.com/">Good Camel Games</a>. The thing is that app is built with <a title="Google Web Toolkit" href="http://code.google.com/webtoolkit/">GWT</a> and has tons of JavaScript so I have implemented a Javascript error handler on the client that will send me a notification whenever there is an error executing some JavaScript. This is actually quite simple to implement:</p>
<blockquote><p>&lt;script type=&#8221;text/javascript&#8221;&gt;<br />
window.onerror=function(message, url, line) {<br />
window.location.href=&#8217;/error?msg=&#8217; + escape(&#8221;Error: &#8221; + message + &#8216;\nUrl: &#8216; + url + &#8216;\nLine: &#8216; + line);<br />
return true;<br />
};<br />
&lt;/script&gt;</p></blockquote>
<p>And then, on the server side, I just have a servlet that handles &#8220;/error&#8221; and sends me a notification with the content of request parameter &#8220;msg&#8221; plus some other info about the client.</p>
<p>So I received that error notification (just pasting the relevant parts here):</p>
<blockquote><p>From: googlebot(at)googlebot.com<br />
user-agent: Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)<br />
msg: []</p></blockquote>
<p>After looking at it carefully, I realized that GoogleBot does not actually execute JavaScript. You can see this because the &#8220;msg&#8221; parameter is there but empty, which means GoogleBot sent a request to &#8220;/error?msg=&#8221;, without the parameter value (&#8221;Error: &#8230;&#8221;). So GoogleBot just looks in the JavaScript and  takes whatever resembles to a URL and tries to index that URL.</p>
<p>After some researches on the web, I found I was not the only one:</p>
<ul>
<li>This guy from seomoz.org having unexpected parts of his site indexed: <a title="New Reality: Google Follows Links in JavaScript" href="http://www.seomoz.org/ugc/new-reality-google-follows-links-in-javascript-4930">New Reality: Google Follows Links in JavaScript.</a></li>
<li>This guy explaining  &#8220;Stealth Links&#8221; and mention JavaScript URLs as one of them: <a title="Stealth links and Googlebot" href="http://www.mt-soft.com.ar/2009/04/17/stealth-links-and-googlebot/">Stealth links and Googlebot.</a></li>
<li>This guy having interesting stories about JavaScript crawling by GoogleBot: <a title="GoogleBot Can Crawl JavaScript With Clean URLs" href="http://www.seroundtable.com/archives/003737.html">GoogleBot Can Crawl JavaScript With Clean URLs.</a></li>
<li>This guy who got  call from GoogleBot: <a title="Googlebot called me on my Timpani Live Help" href="http://forums.searchenginewatch.com/showthread.php?t=10542">Googlebot called me on my Timpani Live Help.</a></li>
<li>All in line with a Larry Page quote: <em>&#8220;We added the ability to search for code in more than 40 different programming languages [...]&#8220;</em> from <a title="Google Works on Unified Search Engine" href="http://googlesystem.blogspot.com/2007/02/google-works-on-unified-search-engine.html">Google Works on Unified Search Engine.</a></li>
<li>This guy talking about the implications of that new feature in GoogleBot: <a title="Google Crawls Javascript, News at 11!" href="http://www.azakers.com/google-crawls-javascript-news-at-11.php">Google Crawls Javascript, News at 11!</a></li>
</ul>
<p>To be very sure, I added another test on the home of <a title="Good Camel Games - Fun Multiplayer Games" href="http://games.goodcamel.com/">Good Camel Games</a>:</p>
<blockquote><p>&lt;script type=&#8221;text/javascript&#8221;&gt;<br />
function thisFunctionIsNeverCalled() {<br />
window.location.href=&#8217;/this_page_does_not_exists&#8217;;<br />
}<br />
&lt;/script&gt;</p></blockquote>
<p>If GoogleBot hits the URL &#8220;/this_page_does_not_exists&#8221;, I will receive a 404 error notification. I added that code today, I will update that post when I have the notification. Hopefully, Google will have some day a true JavaScript engine to crawl JavaScript heavy applications.</p>
<p><strong>UPDATE &#8211; November 20 2009: </strong>I confirm GoogleBot tried to access the page &#8220;/this_page_does_not_exists&#8221;. This confirms GoogleBot does not executes the javascript, it just checks for URLs in it. Here is the 404 error notification I received (just pasting the relevant parts here)</p>
<blockquote><p>From: googlebot(at)googlebot.com<br />
user-agent: Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)<br />
Request URL: http://games.goodcamel.com/this_page_does_not_exists</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.goodcamel.com/2009/11/12/googlebot-follows-urls-in-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Test your Pingback/Trackback in WordPress</title>
		<link>http://blog.goodcamel.com/2009/11/12/test-your-pingbacktrackback-in-wordpress/</link>
		<comments>http://blog.goodcamel.com/2009/11/12/test-your-pingbacktrackback-in-wordpress/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 23:08:50 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.goodcamel.com/?p=32</guid>
		<description><![CDATA[Pingback/Trackback are important to bloggers because it helps improving search engine ranking and driving traffic. You can test your ]]></description>
			<content:encoded><![CDATA[<p>I was looking for a way to enable and test Pingback/Trackbacks on my WordPress blog. I fount a great article that explains how the thing works and also allows you to test it. It is very well explained and I am using it right now to test it, here is the link: <a title="Test your trackback" href="http://www.optiniche.com/blog/117/wordpress-trackback-tutorial/">WordPress Trackback Tutorial</a></p>
<p>And actually, I you can also test your Trackback/Pingback using this blog post. I will accept any Trackback/Pingback, as long as it is not spam. However, it may take up to 24 hours for me to approve it, so just be patient <img src='http://blog.goodcamel.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>And if you need to be convinced that Pingback/Trackback are important to your blog, here is a great article that explains why: <a title="Link Marketing: Pingbacks vs Blog Comments" href="http://www.clicknewz.com/2114/pingbacks-vs-blog-comments/">Link Marketing: Pingbacks vs Blog Comments</a></p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">
<h1>Link Marketing: Pingbacks vs Blog Comments</h1>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.goodcamel.com/2009/11/12/test-your-pingbacktrackback-in-wordpress/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Just upgraded to latest WordPress version</title>
		<link>http://blog.goodcamel.com/2009/11/12/just-upgraded-to-latest-wordpress-version/</link>
		<comments>http://blog.goodcamel.com/2009/11/12/just-upgraded-to-latest-wordpress-version/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 20:32:20 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.goodcamel.com/?p=27</guid>
		<description><![CDATA[Ok, I hope I did not miss anything. Testing now with that simple post.
&#8230; well, everything seems pretty good at this point.
What the client sees is very similar, but I have to admit that the admin looks much nicer.
]]></description>
			<content:encoded><![CDATA[<p>Ok, I hope I did not miss anything. Testing now with that simple post.</p>
<p>&#8230; well, everything seems pretty good at this point.</p>
<p>What the client sees is very similar, but I have to admit that the admin looks much nicer.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.goodcamel.com/2009/11/12/just-upgraded-to-latest-wordpress-version/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Good Camel Games &#8211; Fun Multiplayer Games</title>
		<link>http://blog.goodcamel.com/2009/11/11/good-camel-games-fun-multiplayer-games/</link>
		<comments>http://blog.goodcamel.com/2009/11/11/good-camel-games-fun-multiplayer-games/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 21:36:57 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.goodcamel.com/?p=26</guid>
		<description><![CDATA[We are pleased to announce the launch of another Web 2.0 application powered by OpCode Solutions: Good Camel Games &#8211; Fun Multiplayer Games. Good Camel Games provides real-time multiplayer games with public and private chat rooms. Games are free and are online; no need to pay or download anything. No registration is required, just enter [...]]]></description>
			<content:encoded><![CDATA[<p>We are pleased to announce the launch of another Web 2.0 application powered by <a title="OpCode Solutions Inc." href="http://www.opcodesolutions.com/en/">OpCode Solutions</a>: <strong><a title="Good Camel Games - Fun Multiplayer Games" href="http://games.goodcamel.com/">Good Camel Games &#8211; Fun Multiplayer Games</a></strong>. <a title="Good Camel Games - Fun Multiplayer Games" href="http://games.goodcamel.com/">Good Camel Games</a> provides real-time multiplayer games with public and private chat rooms. Games are free and are online; no need to pay or download anything. No registration is required, just enter the app and play with real people around the world, in real-time. On the client side, the app uses <a title="Google Web Toolkit" href="http://code.google.com/webtoolkit">Google Web Toolkit</a> (no flash, no plugin required). On the server side, we have <a title="Sun Java" href="http://java.sun.com/">Java</a> back-end under <a title="Apache Tomcat" href="http://tomcat.apache.org/">Tomcat</a>. What is fun about <a title="Good Camel Games - Fun Multiplayer Games" href="http://games.goodcamel.com/">Good Camel Games</a> it is that games are <strong>short </strong>and <strong>easy to play</strong>, so you can enjoy a game even if you only have 2 minutes. There is also a Facebook integration: <a title="Good Camel Games on Facebook" href="http://www.facebook.com/apps/application.php?id=190321958645">Good Camel Games on Facebook</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.goodcamel.com/2009/11/11/good-camel-games-fun-multiplayer-games/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>USpeak &#8211; Anonymous Discussions</title>
		<link>http://blog.goodcamel.com/2009/09/28/uspeak-anonymous-discussions/</link>
		<comments>http://blog.goodcamel.com/2009/09/28/uspeak-anonymous-discussions/#comments</comments>
		<pubDate>Mon, 28 Sep 2009 14:58:19 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.goodcamel.com/?p=24</guid>
		<description><![CDATA[  I am very please to announce the launch of USpeak. USpeak is a free service allowing anybody to create anonymous and confidential discussions. The discussions on USpeak are anonymous because all messages posted on a discussion are anonymous. The user who created the discussion itself also remains anonymous. However, all participants see who is [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://uspeak.goodcamel.com/" title="USpeak - Anonymous Discussions" target="_blank"><img src="http://blog.goodcamel.com/wp-content/uploads/2009/09/logo15.gif" alt="USpeak - Anonymous Discussions" border="0" hspace="10" /></a>  I am very please to announce the launch of USpeak. <a href="http://uspeak.goodcamel.com/" title="USpeak - Anonymous Discussions" target="_blank">USpeak is a free service allowing anybody to create anonymous and confidential discussions.</a> The discussions on USpeak are anonymous because all messages posted on a discussion are anonymous. The user who created the discussion itself also remains anonymous. However, all participants see who is participating in the discussion, they just don&#8217;t know who said what. Discussions are also confidential because a discussion is only visible to its participants. USpeak makes it easier for people to talk about delicate, unpopular or taboo subjects. Here are few scenarios:</p>
<ul>
<li>A corporation wanting its employees to give anonymous and interactive feedback about things that could be improved in the organization.</li>
<li>A family member expressing his/her views on a taboo subject.</li>
<li>An individual in a group wanting to change things and trying to create a momentum.</li>
</ul>
<p>USpeak firmly believes Freedom of Speech is for everybody and encourages people to freely speak their thoughts. For more information, see <a href="http://uspeak.goodcamel.com/faq" title="USpeak FAQ" target="_blank">USpeak FAQ</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.goodcamel.com/2009/09/28/uspeak-anonymous-discussions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Opcode Blogs Launched</title>
		<link>http://blog.goodcamel.com/2009/04/18/opcode-blogs-launched/</link>
		<comments>http://blog.goodcamel.com/2009/04/18/opcode-blogs-launched/#comments</comments>
		<pubDate>Sat, 18 Apr 2009 19:16:57 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.goodcamel.com/?p=23</guid>
		<description><![CDATA[I am happy to announce the launch of Opcode Blogs today. As a first release, the site aims at providing information about Java in business world. In the future, we may see other blogs appearing as Opcode widens its activities. This is a new achievement for Opcode Solutions!
]]></description>
			<content:encoded><![CDATA[<p>I am happy to announce the launch of <a href="http://blogs.opcodesolutions.com/" title="Opcode Blogs">Opcode Blogs</a> today. As a first release, the site aims at providing information about Java in business world. In the future, we may see other blogs appearing as Opcode widens its activities. This is a new achievement for <a href="http://www.opcodesolutions.com/" title="Opcode Solutions">Opcode Solutions</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.goodcamel.com/2009/04/18/opcode-blogs-launched/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
