<?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>Karl's Blog</title>
	
	<link>http://karlmendes.com</link>
	<description>My thoughts about the web and maybe some more…</description>
	<lastBuildDate>Mon, 23 Jan 2012 11:21:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/karlmendes" /><feedburner:info uri="karlmendes" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Super bricks HTML5 game</title>
		<link>http://feedproxy.google.com/~r/karlmendes/~3/6reDCJg4__M/</link>
		<comments>http://karlmendes.com/2012/01/super-bricks-html5-game/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 11:20:48 +0000</pubDate>
		<dc:creator>Karl Mendes</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Canvas]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[HTML5 game]]></category>

		<guid isPermaLink="false">http://karlmendes.com/?p=504</guid>
		<description><![CDATA[I decided to have some fun with HTML5 canvas and Javascript, so why not develop a game. Well, I&#8217;m really happy with the decision. I realized that developing a game in a language gives you the opportunity to deal with really basic logical problem solving. Dealing with the dynamics of the moving ball and collision [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:right;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fkarlmendes.com%2F2012%2F01%2Fsuper-bricks-html5-game%2F' data-shr_title='Super+bricks+HTML5+game'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fkarlmendes.com%2F2012%2F01%2Fsuper-bricks-html5-game%2F' data-shr_title='Super+bricks+HTML5+game'></a><a class='shareaholic-tweetbutton' data-shr_count='none' data-shr_href='http%3A%2F%2Fkarlmendes.com%2F2012%2F01%2Fsuper-bricks-html5-game%2F' data-shr_title='Super+bricks+HTML5+game'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetTop Automatic --><p>I decided to have some fun with HTML5 canvas and Javascript, so why not develop a game. Well, I&#8217;m really happy with the decision. I realized that developing a game in a language gives you the opportunity to deal with really basic logical problem solving. Dealing with the dynamics of the moving ball and collision was so much fun. I&#8217;m in the process of getting it better, specially the collisions, they need some more work. I have to give some credit to the basic logic to <a href="http://billmill.org/static/canvastutorial/index.html" target="_blank">this tutorial</a>, but I basically didn&#8217;t like the code so I changed it a lot to be OO. Also the collision dynamics with blocks wasn&#8217;t great for something that should grow with more levels.</p>
<p>If you&#8217;re interested in trying it out you can <a href="http://www.karlmendes.com/static/super-bricks/">play it here</a>. Soon I&#8217;ll have more levels designed. Now if you want to get the Javascript and modify it or add more levels feel free to <a href="https://github.com/kmendes/Super-Bricks-Game">fork it on GitHub</a>. I&#8217;ll add more comments to the code so it&#8217;s easier to understand.</p>
<p>If you&#8217;re a web developer that is interested in understanding more about Javascript I would definitely recommend developing a game, it&#8217;s fun and it will improve your skilss.</p>
<p><a href="http://www.karlmendes.com/static/super-bricks/"><img src="http://karlmendes.com/wp-content/uploads/2012/01/super-bick.jpg" alt="" title="super-brick" width="532" height="537" class="alignnone size-full wp-image-505" /></a></p>
<div class="shr-publisher-504"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->
<p><a href="http://feedads.g.doubleclick.net/~a/CinXgPKlPtoVZ2BXWms8W5MUxD8/0/da"><img src="http://feedads.g.doubleclick.net/~a/CinXgPKlPtoVZ2BXWms8W5MUxD8/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/CinXgPKlPtoVZ2BXWms8W5MUxD8/1/da"><img src="http://feedads.g.doubleclick.net/~a/CinXgPKlPtoVZ2BXWms8W5MUxD8/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/karlmendes/~4/6reDCJg4__M" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://karlmendes.com/2012/01/super-bricks-html5-game/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://karlmendes.com/2012/01/super-bricks-html5-game/</feedburner:origLink></item>
		<item>
		<title>Photo Tagging plugin for jQuery updated (1.3)</title>
		<link>http://feedproxy.google.com/~r/karlmendes/~3/_8Z6fqWlOjY/</link>
		<comments>http://karlmendes.com/2012/01/photo-tagging-plugin-for-jquery-updated-1-3/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 15:30:45 +0000</pubDate>
		<dc:creator>Karl Mendes</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQuery plugin]]></category>

		<guid isPermaLink="false">http://karlmendes.com/?p=491</guid>
		<description><![CDATA[Thank you all for the feedback on this plugin. I fixed some bugs and made it compatible with the latest version of jQuery and jQuery UI. Also now in order to give more information about the image you can use the html attribute data-. For those first visiting here, this is a Facebook like photo [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:right;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fkarlmendes.com%2F2012%2F01%2Fphoto-tagging-plugin-for-jquery-updated-1-3%2F' data-shr_title='Photo+Tagging+plugin+for+jQuery+updated+%281.3%29'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fkarlmendes.com%2F2012%2F01%2Fphoto-tagging-plugin-for-jquery-updated-1-3%2F' data-shr_title='Photo+Tagging+plugin+for+jQuery+updated+%281.3%29'></a><a class='shareaholic-tweetbutton' data-shr_count='none' data-shr_href='http%3A%2F%2Fkarlmendes.com%2F2012%2F01%2Fphoto-tagging-plugin-for-jquery-updated-1-3%2F' data-shr_title='Photo+Tagging+plugin+for+jQuery+updated+%281.3%29'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Thank you all for the feedback on this plugin. I fixed some bugs and made it compatible with the latest version of jQuery and jQuery UI. Also now in order to give more information about the image you can use the html attribute data-.</p>
<p>For those first visiting here, this is a Facebook like photo tagging plugin for jQuery, it&#8217;s mainly for tagging people into pictures but it can also be used for notes. </p>
<p>For more information on how to implement visit the <a href="http://karlmendes.com/2010/07/jquery-photo-tag-plugin/">jQuery Photo Tag plugin post</a>.</p>
<p><a href="http://karlmendes.com/static/photo-tag/tests/photo_tags/">Demo and unit testing</a><br />
<a href="http://github.com/kmendes/Jquery-Photo-Tag">GitHub Project Home Page</a> &#8211; On the download section you can find some examples on how your server responses should look like.<br />
<span id="more-491"></span></p>
<p>Example:</p>
<div style="overflow:visible;margin-bottom:20px;">
<img src="http://karlmendes.com/static/photo-tag/tests/photo_tags/monkeys2.jpg" data-user-id="25" data-image-id="150" data-album-id="200" class="photoTag">
</div>
<div style="display:none">
<link media="screen" type="text/css" href="/static/photo-tag/libraries/jquery-ui-1.8.17.custom.css" rel="stylesheet">
<link media="screen" type="text/css" href="/static/photo-tag/tests/photo_tags/styles2.css" rel="stylesheet">
<script type="text/javascript" src="/static/photo-tag/libraries/jquery.dev.1.7.1.js?v=1"></script><br />
<script type="text/javascript" src="/static/photo-tag/libraries/jquery-ui-1.8.17.custom.min.js?v=1"></script><br />
<script type="text/javascript" src="/static/photo-tag/js/jquery.phototag.js?ver=1.3a"></script><br />
<script type="text/javascript">
$(document).ready(function(){
	$('.photoTag').photoTag({
		requesTagstUrl: '/static/photo-tag/tests/photo_tags/photo-tags.php',
		deleteTagsUrl: '/static/photo-tag/tests/photo_tags/delete.php',
		addTagUrl: '/static/photo-tag/tests/photo_tags/add-tag.php',
		parametersForNewTag: {
			name: {
				parameterKey: 'name',
				isAutocomplete: true,
				autocompleteUrl: '/static/photo-tag/tests/photo_tags/names.php',
				label: 'Name'					
			}
		}
	});
});
</script></div>
<div class="shr-publisher-491"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->
<p><a href="http://feedads.g.doubleclick.net/~a/oW-MWAqgQtq8jgMiBQ9pT0zCaJY/0/da"><img src="http://feedads.g.doubleclick.net/~a/oW-MWAqgQtq8jgMiBQ9pT0zCaJY/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/oW-MWAqgQtq8jgMiBQ9pT0zCaJY/1/da"><img src="http://feedads.g.doubleclick.net/~a/oW-MWAqgQtq8jgMiBQ9pT0zCaJY/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/karlmendes/~4/_8Z6fqWlOjY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://karlmendes.com/2012/01/photo-tagging-plugin-for-jquery-updated-1-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://karlmendes.com/2012/01/photo-tagging-plugin-for-jquery-updated-1-3/</feedburner:origLink></item>
		<item>
		<title>Why Microsoft will beat Apple on UX</title>
		<link>http://feedproxy.google.com/~r/karlmendes/~3/chkecXEu-uE/</link>
		<comments>http://karlmendes.com/2012/01/why-microsoft-will-beat-apple-on-ui-ux/#comments</comments>
		<pubDate>Fri, 06 Jan 2012 11:47:49 +0000</pubDate>
		<dc:creator>Karl Mendes</dc:creator>
				<category><![CDATA[UX/UI]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[popular]]></category>
		<category><![CDATA[ui design]]></category>
		<category><![CDATA[user experience]]></category>

		<guid isPermaLink="false">http://karlmendes.com/?p=412</guid>
		<description><![CDATA[Apple is the UX King, but that's about to change.]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:right;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fkarlmendes.com%2F2012%2F01%2Fwhy-microsoft-will-beat-apple-on-ui-ux%2F' data-shr_title='Why+Microsoft+will+beat+Apple+on+UX'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fkarlmendes.com%2F2012%2F01%2Fwhy-microsoft-will-beat-apple-on-ui-ux%2F' data-shr_title='Why+Microsoft+will+beat+Apple+on+UX'></a><a class='shareaholic-tweetbutton' data-shr_count='none' data-shr_href='http%3A%2F%2Fkarlmendes.com%2F2012%2F01%2Fwhy-microsoft-will-beat-apple-on-ui-ux%2F' data-shr_title='Why+Microsoft+will+beat+Apple+on+UX'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetTop Automatic --><p>It is/was well known that Apple is the king of UX/UI, their UI designs are awesome and you can see that UX is big deal from the moment you unpack your Apple product. But I believe that&#8217;s about to change, Apple will keep their great UX/UI, the point is that Microsoft will provide even a greater UX to their users (I never thought I would never say this words). It&#8217;s clear that Microsoft is investing a lot on the UX of their products and I believe the results are about to come, and this is why:<span id="more-412"></span></p>
<p><img src="http://karlmendes.com/wp-content/uploads/2012/01/appleVSmicrosoft.jpg" alt="" title="appleVSmicrosoft" width="580" height="305" class="aligncenter size-full wp-image-482" /></p>
<h3>1. Apple real world vs. Microsoft brand new virtual world</h3>
<p>Apple relies on the user&#8217;s knowledge of the real world to create great UI. For example since the user already saw and knows how to &#8220;use&#8221; a bookshelf, why not create a virtual one? That&#8217;s exactly what iBooks does, even the book&#8217;s pages look like a real book. The iPhone contacts app also rely on that, it&#8217;s exactly the same as the old paper address book, the user can put their finger on a letter and he will get the contacts that start with that letter.</p>
<p><img src="http://karlmendes.com/wp-content/uploads/2012/01/blog1.jpg" alt="" title="Apple reality - iBooks and Adressbook" width="580" height="607" class="aligncenter size-full wp-image-470" /></p>
<p>This path has brought Apple to top of UX providers. People love their products, and most of peoples comments about are always related with how easy to use the product is. The problem that I see is that the success of relating the real world with the virtual world is about to end. An example of that is a discussion on <a href="http://ux.stackexchange.com/questions/3117/save-icon-is-the-floppy-disk-icon-dead" target="_blank">UX Stack Exchange about the use of the floppy disk for the save icon</a>. The main idea is why use the floppy disk to save if nobody uses it anymore, a teenager has no idea of what a floppy disk is. This show a detachment from the virtual and the real world. More and more we can see that the virtual reality is creating its own language.</p>
<p>Another problem is that when the decision is made to bring the real to the virtual world you create a limitation. Basic is if you create a rule for your design you&#8217;re gonna have to follow it. For example, maybe (just maybe) the next logical step for book readers are to be continues text flowing on the screen like a web site, with no pages. Since the electronic reader (iBook) looks like a book, if Apple does that the user will be confused since the user never saw that happening with a real book.</p>
<p>Enough about Apple, let&#8217;s talk about Microsoft. I don&#8217;t even want to talk about the UI Microsoft provided until, what I want to highlight are the next steps Microsoft is taking. With the design guideline called Metro style Microsoft is redesigning all of their interfaces. They decided to toss everything they had before and start from scratch. A new virtual language has been created, with no attachment to the reality. I believe this is the next reasonable step, the next generation is so deeply involved with the digital world that UI that are related with the reality will be considered old-fashioned.</p>
<p><img src="http://karlmendes.com/wp-content/uploads/2012/01/windows-8.jpg" alt="" title="windows-8" width="580" height="326" class="aligncenter size-full wp-image-475" /></p>
<p>To exemplify this I want to go back to the address book app. Windows phone&#8217;s address book doesn&#8217;t have any limitations, as you can see on the video below Microsoft is free to create something more than an address book because it doesn&#8217;t have any relation with the reality.</p>
<iframe src="http://www.youtube.com/embed/pCqXh3QEVyE?version=3&amp;wmode=transparent" width="580" height="350" title="YouTube video player" style="background-color:#000;display:block;margin-bottom:0;max-width:100%;" frameborder="0" allowfullscreen></iframe><p style="font-size:11px;margin-top:0;"><a href="http://www.youtube.com/watch?v=pCqXh3QEVyE" target="_blank" title="Watch on YouTube">Watch this video on YouTube</a>.</p>
<p>Another example is the semantic zoom, it&#8217;s a new concept where the zoom doesn&#8217;t actually makes things smaller. When when the user zooms out that meas that the user is looking to see the big picture, not exactly to see things smaller, here is another great example:</p>
<iframe src="http://www.youtube.com/embed/BISCAQG8HhU?version=3&amp;wmode=transparent" width="580" height="350" title="YouTube video player" style="background-color:#000;display:block;margin-bottom:0;max-width:100%;" frameborder="0" allowfullscreen></iframe><p style="font-size:11px;margin-top:0;"><a href="http://www.youtube.com/watch?v=BISCAQG8HhU" target="_blank" title="Watch on YouTube">Watch this video on YouTube</a>.</p>
<h3>2. Consistency</h3>
<p>Another great thing about the Metro style is that it&#8217;s prepared for any type of media, from phones, to tablets, to desktops and even TVs. For this reason I believe Microsoft will get a lot of the Mobile market once the Windows 8 is released. Users that have PCs will have the opportunity to have a desktop, a tablet, a video game console and a phone all with the same user interface and language.</p>
<h3>Conclusion</h3>
<p>I love Apple products, but Microsoft&#8217;s strategy to adopt the Metro style is going to turn the table, and maybe soon they&#8217;ll will be considered the kings of UX (calm down Apple fans, I just said maybe).</p>
<div class="shr-publisher-412"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->
<p><a href="http://feedads.g.doubleclick.net/~a/4ySk5xnObqG979I4Mvr7DRAjpWI/0/da"><img src="http://feedads.g.doubleclick.net/~a/4ySk5xnObqG979I4Mvr7DRAjpWI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/4ySk5xnObqG979I4Mvr7DRAjpWI/1/da"><img src="http://feedads.g.doubleclick.net/~a/4ySk5xnObqG979I4Mvr7DRAjpWI/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/karlmendes/~4/chkecXEu-uE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://karlmendes.com/2012/01/why-microsoft-will-beat-apple-on-ui-ux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://karlmendes.com/2012/01/why-microsoft-will-beat-apple-on-ui-ux/</feedburner:origLink></item>
		<item>
		<title>Book review: Eloquent Javascript</title>
		<link>http://feedproxy.google.com/~r/karlmendes/~3/a_wQzmCvpNg/</link>
		<comments>http://karlmendes.com/2011/11/book-review-eloquent-javascript/#comments</comments>
		<pubDate>Wed, 23 Nov 2011 09:58:55 +0000</pubDate>
		<dc:creator>Karl Mendes</dc:creator>
				<category><![CDATA[Book reviews]]></category>
		<category><![CDATA[Front end]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[book review]]></category>

		<guid isPermaLink="false">http://karlmendes.com/?p=459</guid>
		<description><![CDATA[Eloquent JavaScript: A Modern Introduction to Programming I read the whole book even though I was interested in a few chapters. I would fully recommend for almost any level programmers. It starts with the very basics of JS, but it climbs to a good advanced level. Javascript can be fun and evil, so I strongly [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:right;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fkarlmendes.com%2F2011%2F11%2Fbook-review-eloquent-javascript%2F' data-shr_title='Book+review%3A+Eloquent+Javascript'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fkarlmendes.com%2F2011%2F11%2Fbook-review-eloquent-javascript%2F' data-shr_title='Book+review%3A+Eloquent+Javascript'></a><a class='shareaholic-tweetbutton' data-shr_count='none' data-shr_href='http%3A%2F%2Fkarlmendes.com%2F2011%2F11%2Fbook-review-eloquent-javascript%2F' data-shr_title='Book+review%3A+Eloquent+Javascript'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetTop Automatic --><p style="float:left;margin-right:20px"><a href="http://www.amazon.com/gp/product/1593272820/ref=as_li_ss_il?ie=UTF8&#038;tag=kasbl03-20&#038;linkCode=as2&#038;camp=217145&#038;creative=399369&#038;creativeASIN=1593272820"><img border="0" src="http://karlmendes.com/wp-content/uploads/2011/11/516HMiHYz2L._SL160_.jpg" alt="Book cover: Eloquent JavaScript" title="Eloquent JavaScript: A Modern Introduction to Programming " width="121" height="160" ></a><img src="http://www.assoc-amazon.com/e/ir?t=kasbl03-20&#038;l=as2&#038;o=1&#038;a=1593272820&#038;camp=217145&#038;creative=399369" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
</p>
<p><a href="http://www.amazon.com/gp/product/1593272820/ref=as_li_ss_il?ie=UTF8&#038;tag=kasbl03-20&#038;linkCode=as2&#038;camp=217145&#038;creative=399369&#038;creativeASIN=1593272820">Eloquent JavaScript: A Modern Introduction to Programming</a></p>
<p>I read the whole book even though I was interested in a few chapters. I would fully recommend for almost any level programmers. It starts with the very basics of JS, but it climbs to a good advanced level.</p>
<p>Javascript can be fun and evil, so I strongly recommend you always seek more knowledge on this language. If you read the <a href="http://karlmendes.com/2011/01/life-is-too-short-to-learn-javascript-focus-on-jquery-and-play-an-instrument/" title="Life is too short to learn JavaScript, focus on jQuery and play an instrument">article about learning jquery or js</a> and realized you&#8217;re a great jquery programmer but doesn&#8217;t know javascript yet, this is a great book to start with.</p>
<div class="shr-publisher-459"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->
<p><a href="http://feedads.g.doubleclick.net/~a/h6pWAZjCK6z_onFQuqBZSD8k3v0/0/da"><img src="http://feedads.g.doubleclick.net/~a/h6pWAZjCK6z_onFQuqBZSD8k3v0/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/h6pWAZjCK6z_onFQuqBZSD8k3v0/1/da"><img src="http://feedads.g.doubleclick.net/~a/h6pWAZjCK6z_onFQuqBZSD8k3v0/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/karlmendes/~4/a_wQzmCvpNg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://karlmendes.com/2011/11/book-review-eloquent-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://karlmendes.com/2011/11/book-review-eloquent-javascript/</feedburner:origLink></item>
		<item>
		<title>Understanding Javascript automatic type conversion</title>
		<link>http://feedproxy.google.com/~r/karlmendes/~3/pms-FlaVxsc/</link>
		<comments>http://karlmendes.com/2011/11/understanding-javascript-automatic-type-conversion/#comments</comments>
		<pubDate>Fri, 04 Nov 2011 12:12:05 +0000</pubDate>
		<dc:creator>Karl Mendes</dc:creator>
				<category><![CDATA[Front end]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://karlmendes.com/?p=432</guid>
		<description><![CDATA[Javascript is a language created for everybody: developers, designers, both advanced and beginners. That can be good and bad at the same time, what we can say is that it has been proven effective since is so widely used. The problem for advanced programmers is that it&#8217;s oversimplified and not strongly typed, at the same [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:right;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fkarlmendes.com%2F2011%2F11%2Funderstanding-javascript-automatic-type-conversion%2F' data-shr_title='Understanding+Javascript+automatic+type+conversion'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fkarlmendes.com%2F2011%2F11%2Funderstanding-javascript-automatic-type-conversion%2F' data-shr_title='Understanding+Javascript+automatic+type+conversion'></a><a class='shareaholic-tweetbutton' data-shr_count='none' data-shr_href='http%3A%2F%2Fkarlmendes.com%2F2011%2F11%2Funderstanding-javascript-automatic-type-conversion%2F' data-shr_title='Understanding+Javascript+automatic+type+conversion'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Javascript is a language created for everybody: developers, designers, both advanced and beginners. That can be good and bad at the same time, what we can say is that it has been proven effective since is so widely used. The problem for advanced programmers is that it&#8217;s oversimplified and not <a href="http://whatis.techtarget.com/definition/0,,sid9_gci213058,00.html">strongly typed</a>, at the same time, those two problems are the solution for designers and beginners. It makes it easy to get results without understanding what exactly is happening. But there are things in Javascript that need to be explained, someone cannot live their whole life without understanding what&#8217;s happening behind the scenes, it&#8217;s just not right. That&#8217;s why I&#8217;ll try to explain a few weird things that Javascript does to make it work for everybody. <span id="more-432"></span></p>
<p class="aligncenter"><img src="http://karlmendes.com/wp-content/uploads/2011/11/iStock_000009713965XSmall.jpg" alt="" title="iStock_000009713965XSmall" width="425" height="282" class="aligncenter size-full wp-image-453" /></p>
<p>Most of the weird stuff that Javascript does are related to it&#8217;s comparability to automatically type conversion, let&#8217;s see how that works.</p>
<h3>Automatic type conversion</h3>
<p>What are the results of the following statements?<br />
<script type="text/javascript">
function test1(){
	var result = (false == 0);
	alert("test1: " + result);
}
function test2(){
	var result = ("10" == 10);
	alert("test2: " + result);
}
function test3(){
	var result = ("" == 0);
	alert("test3: " + result);
}
function test4(){
    var result = (false == null);
    alert("test4: " + result);
}
function test5(){
    var result = (false == undefined);
    alert("test5: " + result);
}
function test6(){
    var result = (null == undefined);
    alert("test6: " + result);
}
function test7(){
    var a; //a is null
    if(a)
        alert("test7: passed the if");
    else
        alert("test7: didn't pass the if");
}
function test8(){
    try{
        //a is undefined
        if(a)
            alert("test8: passed the if");
        else
            alert("test8: didn't pass the if");
    }catch(e){
        alert("test8:" + e);   
    }
}
function test9(){
    var a = "Hi";
    if(a)
        alert("test9: passed the if");
    else
        alert("test9: didn't pass the if");
}
function test10(){
    var a = 25;
    if(a)
        alert("test10: passed the if");
    else
        alert("test10: didn't pass the if");
}
function test11(){
    try{
        //a is undefined
        if(typeof a)
            alert("test11: passed the if");
        else
            alert("test11: didn't pass the if");
    }catch(e){
        alert("test11:" + e);   
    }
}
function test12(){
    try{
        var a;
        if(typeof a != "undefined"){
            if(a)
               alert("test11: passed the if");
            else alert("test11: didn't pass the if");     
        }
        else
            alert("test11: didn't pass the if");
    }catch(e){
        alert("test11:" + e);   
    }
}
</script></p>
<pre name="code" class="javascript">
function test1(){
	var result = (false == 0); //true
	alert("test1: " + result);
}
function test2(){
	var result = ("10" == 10); //true
	alert("test2: " + result);
}
function test3(){
	var result = (" " == 0); //true
	alert("test3: " + result);
}
</pre>
<p><a href="#" onClick="test1();return false;">Run test1</a> | <a href="#" onClick="test2();return false;">Run test2</a> | <a href="#" onClick="test3();return false;">Run test3</a></p>
<p>If you&#8217;re a designer or a beginner you&#8217;re probably thinking that they are all obvious, maybe except the test number 3. But a programmer will look at this with judgment eyes, specially tests 2 and 3. What happens is that Javascript is trying to make this code work so it will automatically convert the type of the values to be able to compare them.</p>
<p>On test 1 you are comparing a type &#8220;Boolean&#8221; with an &#8220;Integer&#8221;, but Javascript will automatically try to convert the Boolean to an Integer to compare them, and if you didn&#8217;t know this True is a 1 and False is a 0. This also happens in most of programming language because Boolean can always be converted to 0 and 1, they actually are 0 and 1.</p>
<p>Test 2 is the one that might drive some hate from experienced programmers. The first value is a string, and the second one is a Integer, they shouldn&#8217;t be compared because they have different types, but JS will magically try to convert the string in to a number to compare them, if you try the same example with &#8220;hi&#8221; == 10 the result will be false.</p>
<p>Test 3 proves that JS is made to be simple, comparing an almost empty string with zero will result true. Logically to achieve this in some other languages you would have to trim the string (get rid of the white spaces) and then compare it with an empty string (&#8220;&#8221;), resulting in a Boolean and then compare that with zero.</p>
<h3>What about null and undefined</h3>
<p>Let&#8217;s run some other tests:</p>
<pre name="code" class="javascript">
function test4(){
    var result = (false == null); //false
    alert("test4: " + result);
}
function test5(){
    var result = (false == undefined); //false
    alert("test5: " + result);
}
function test6(){
    var result = (null == undefined); //true
    alert("test6: " + result);
}
</pre>
<p><a href="#" onClick="test4();return false;">Run test4</a> | <a href="#" onClick="test5();return false;">Run test5</a> | <a href="#" onClick="test6();return false;">Run test6</a></p>
<p>As we can see null, when compared with undefined will result in true. If you don&#8217;t know the difference between them, null is when you declare a variable that has the value null, undefined means that you never declared that variable, or that it was lost along the way.</p>
<p>So basically JS will not automatically convert null to Boolean(false) to compare it with false. Based on our first tests that would make some sense. The same happens for undefined.</p>
<p>Now let&#8217;s see a trick:</p>
<pre name="code" class="javascript">
function test7(){
    var a; //a is null
    if(a)
        alert("test7: passed the if");
    else
        alert("test7: didn't pass the if");
}
function test8(){
    try{
        //a is undefined
        if(a)
            alert("test8: passed the if");
        else
            alert("test8: didn't pass the if");
    }catch(e){
        alert("test8:" e);
    }
}
</pre>
<p><a href="#" onClick="test7();return false;">Run test7</a> | <a href="#" onClick="test8();return false;">Run test8</a></p>
<p>If you run test 7 you&#8217;ll see that it wont pass the if statement, but wait a minute, we tried to automatically transform null to Boolean and it didn&#8217;t work! I know, logically an error should happen because on a strongly typed language the if statement only accepts a Boolean. As we can see, to make the language simpler JS will do more if you throw a variable to the if statement, if it&#8217;s null it will result in false, it it&#8217;s a string (not empty) or any integer greater than 0 it will result in true. Examples:</p>
<pre name="code" class="javascript">
function test9(){
    var a = "Hi";
    if(a)
        alert("test9: passed the if");
    else
        alert("test9: didn't pass the if");
}
function test10(){
    var a = 25;
    if(a)
        alert("test10: passed the if");
    else
        alert("test10: didn't pass the if");
}
</pre>
<p><a href="#" onClick="test9();return false;">Run test9</a> | <a href="#" onClick="test10();return false;">Run test10</a></p>
<p>On the other hand, test 8 will crash because you&#8217;re trying to use an undefined variable, but if null compared with undefined is true, why not do the same and let it just not pass the if. Well, I don&#8217;t know why, I just know that&#8217;s the way it is. Now, maybe you&#8217;re saying, &#8220;a&#8221; is not undefined, &#8220;a&#8221; doesn&#8217;t exist, so you have to get the type of &#8220;a&#8221;, that will give you undefined and it will work the way you want. Well, that&#8217;s what I thought, let&#8217;s try it out:</p>
<pre name="code" class="javascript">
function test11(){
    try{
        //a is undefined
        if(typeof a) //type of a results in undefined
            alert("test11: passed the if");
        else
            alert("test11: didn't pass the if");
    }catch(e){
        alert("test11:" + e);
    }
}
</pre>
<p><a href="#" onClick="test11();return false;">Run test11</a></p>
<p>As you can see it passed the if, but undefined when compared to null is true, now I throw that undefined in an if statement and it passes the if! Exactly, the problem is the result of typeof is a string: &#8220;boolean&#8221;, &#8220;integer&#8221;, &#8220;undefined&#8221;&#8230; Undefined in this case is a string! And as we saw before our friend JS will pass an if statement if the string is not empty. This is how we can make an if statement that will only pass if the variable is defined and not null:</p>
<pre name="code" class="javascript">
function test12(){
    try{
        var a;
        if(typeof a != "undefined" &#038;&#038; a)
            alert("test12: passed the if");
        else
            alert("test12: didn't pass the if");
    }catch(e){
        alert("test12:" + e);
    }
}
</pre>
<p><a href="#" onClick="test12();return false;">Run test12</a></p>
<h3>Conclusion</h3>
<p>Javascript is very flexible, it&#8217;s made for novice to advanced programmers. If you&#8217;re starting to do development I would advice you to learn some other strongly typed programming language to help you learn good principles and best practices. Knowing only JS is really not good for your programming health, but once you get the main principles JS can give you some flexibility to make you life easier, that&#8217;s gonna be great if you know what you&#8217;re doing.</p>
<div class="shr-publisher-432"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->
<p><a href="http://feedads.g.doubleclick.net/~a/vvQnA0q459w2RdZbC0vDIo1tgxk/0/da"><img src="http://feedads.g.doubleclick.net/~a/vvQnA0q459w2RdZbC0vDIo1tgxk/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/vvQnA0q459w2RdZbC0vDIo1tgxk/1/da"><img src="http://feedads.g.doubleclick.net/~a/vvQnA0q459w2RdZbC0vDIo1tgxk/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/karlmendes/~4/pms-FlaVxsc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://karlmendes.com/2011/11/understanding-javascript-automatic-type-conversion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://karlmendes.com/2011/11/understanding-javascript-automatic-type-conversion/</feedburner:origLink></item>
		<item>
		<title>Book review: A project guide to UX Design</title>
		<link>http://feedproxy.google.com/~r/karlmendes/~3/fQfD0MXli0A/</link>
		<comments>http://karlmendes.com/2011/11/a-project-guide-to-ux-design/#comments</comments>
		<pubDate>Thu, 03 Nov 2011 16:32:59 +0000</pubDate>
		<dc:creator>Karl Mendes</dc:creator>
				<category><![CDATA[Book reviews]]></category>
		<category><![CDATA[Front end]]></category>
		<category><![CDATA[UX/UI]]></category>
		<category><![CDATA[book review]]></category>
		<category><![CDATA[project management]]></category>
		<category><![CDATA[user experience]]></category>

		<guid isPermaLink="false">http://karlmendes.com/?p=416</guid>
		<description><![CDATA[A Project Guide to UX Design: For user experience designers in the field or in the making on Amazon.com Strongly recommended for anyone in the field, specially if you&#8217;re starting your career on UX or even development, it will put you on the right tracks. The book is really detailed about every step of a [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:right;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fkarlmendes.com%2F2011%2F11%2Fa-project-guide-to-ux-design%2F' data-shr_title='Book+review%3A+A+project+guide+to+UX+Design'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fkarlmendes.com%2F2011%2F11%2Fa-project-guide-to-ux-design%2F' data-shr_title='Book+review%3A+A+project+guide+to+UX+Design'></a><a class='shareaholic-tweetbutton' data-shr_count='none' data-shr_href='http%3A%2F%2Fkarlmendes.com%2F2011%2F11%2Fa-project-guide-to-ux-design%2F' data-shr_title='Book+review%3A+A+project+guide+to+UX+Design'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetTop Automatic --><p style="float:left;margin-right:20px"><a href="http://www.amazon.com/gp/product/1118076583/ref=as_li_ss_il?ie=UTF8&#038;tag=kasbl03-20&#038;linkCode=as2&#038;camp=217145&#038;creative=399373&#038;creativeASIN=1118076583"><img border="0" src="http://karlmendes.com/wp-content/uploads/2011/10/411wbgCsgmL._SL160_.jpg" /></a><img src="http://www.assoc-amazon.com/e/ir?t=kasbl03-20&#038;l=as2&#038;o=1&#038;a=1118076583&#038;camp=217145&#038;creative=399373" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></p>
<p><a href="http://www.amazon.com/gp/product/0321607376/ref=as_li_ss_il?ie=UTF8&#038;tag=kasbl03-20&#038;linkCode=as2&#038;camp=217145&#038;creative=399369&#038;creativeASIN=0321607376">A Project Guide to UX Design: For user experience designers in the field or in the making on Amazon.com</a></p>
<p>Strongly recommended for anyone in the field, specially if you&#8217;re starting your career on UX or even development, it will put you on the right tracks.</p>
<p>The book is really detailed about every step of a project related with UX design (any software out there). It even gives you a guide on creating proposals for clients, but a lot of that knowledge can be used if you&#8217;re part of an internal team.</p>
<p>I mostly enjoyed Chapter 4 and 5, &#8220;Project Objectives and Approach&#8221; and &#8220;Business Requirements&#8221;, it&#8217;s a great guide for what I believe can be the hardest part of a project.</p>
<div class="shr-publisher-416"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->
<p><a href="http://feedads.g.doubleclick.net/~a/F-_mavPyULPRk6MYDzdsdh_gU38/0/da"><img src="http://feedads.g.doubleclick.net/~a/F-_mavPyULPRk6MYDzdsdh_gU38/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/F-_mavPyULPRk6MYDzdsdh_gU38/1/da"><img src="http://feedads.g.doubleclick.net/~a/F-_mavPyULPRk6MYDzdsdh_gU38/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/karlmendes/~4/fQfD0MXli0A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://karlmendes.com/2011/11/a-project-guide-to-ux-design/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://karlmendes.com/2011/11/a-project-guide-to-ux-design/</feedburner:origLink></item>
		<item>
		<title>Book review: Professional ASP.NET MVC 3</title>
		<link>http://feedproxy.google.com/~r/karlmendes/~3/rZpePMMA1F0/</link>
		<comments>http://karlmendes.com/2011/10/book-review-professional-mvc3/#comments</comments>
		<pubDate>Mon, 24 Oct 2011 08:32:49 +0000</pubDate>
		<dc:creator>Karl Mendes</dc:creator>
				<category><![CDATA[Asp.Net MVC]]></category>
		<category><![CDATA[Book reviews]]></category>
		<category><![CDATA[I recommend]]></category>
		<category><![CDATA[book review]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://karlmendes.com/?p=405</guid>
		<description><![CDATA[Professional ASP.NET MVC 3 on Amazon.com I started reading this book to see what was new in MVC 3, I&#8217;ve been developing with ASP.NET MVC 2 for a while and now I finally had the opportunity to start a new project with MVC 3. Anyway, the book is really good and highly recommended for those [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:right;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fkarlmendes.com%2F2011%2F10%2Fbook-review-professional-mvc3%2F' data-shr_title='Book+review%3A+Professional+ASP.NET+MVC+3'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fkarlmendes.com%2F2011%2F10%2Fbook-review-professional-mvc3%2F' data-shr_title='Book+review%3A+Professional+ASP.NET+MVC+3'></a><a class='shareaholic-tweetbutton' data-shr_count='none' data-shr_href='http%3A%2F%2Fkarlmendes.com%2F2011%2F10%2Fbook-review-professional-mvc3%2F' data-shr_title='Book+review%3A+Professional+ASP.NET+MVC+3'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetTop Automatic --><p style="float:left;margin-right:20px"><a href="http://www.amazon.com/gp/product/1118076583/ref=as_li_ss_il?ie=UTF8&#038;tag=kasbl03-20&#038;linkCode=as2&#038;camp=217145&#038;creative=399373&#038;creativeASIN=1118076583"><img border="0" src="http://ws.assoc-amazon.com/widgets/q?_encoding=UTF8&#038;Format=_SL160_&#038;ASIN=1118076583&#038;MarketPlace=US&#038;ID=AsinImage&#038;WS=1&#038;tag=kasbl03-20&#038;ServiceVersion=20070822" /><img src="http://karlmendes.com/wp-content/uploads/2011/10/51NlVWhGtoL._SL160_.jpg"/></a></p>
<p><a href="http://www.amazon.com/gp/product/1118076583/ref=as_li_ss_il?ie=UTF8&#038;tag=kasbl03-20&#038;linkCode=as2&#038;camp=217145&#038;creative=399373&#038;creativeASIN=1118076583">Professional ASP.NET MVC 3 on Amazon.com</a></p>
<p>I started reading this book to see what was new in MVC 3, I&#8217;ve been developing with ASP.NET MVC 2 for a while and now I finally had the opportunity to start a new project with MVC 3. Anyway, the book is really good and highly recommended for those getting their hands dirty with MVC 3.</p>
<p>The book goes from basic to some really advanced topics, it doesn&#8217;t only explain how to extend but also shows how the MVC 3 framework works inside.</p>
<p>I would spend a little more time on the unit testing chapter, I think it was a little poor on content but there&#8217;s a lot of content out there that you can go to get more info.</p>
<div class="shr-publisher-405"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->
<p><a href="http://feedads.g.doubleclick.net/~a/Yj-Chv10KJ242FHdRM_tQDqQxeE/0/da"><img src="http://feedads.g.doubleclick.net/~a/Yj-Chv10KJ242FHdRM_tQDqQxeE/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Yj-Chv10KJ242FHdRM_tQDqQxeE/1/da"><img src="http://feedads.g.doubleclick.net/~a/Yj-Chv10KJ242FHdRM_tQDqQxeE/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/karlmendes/~4/rZpePMMA1F0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://karlmendes.com/2011/10/book-review-professional-mvc3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://karlmendes.com/2011/10/book-review-professional-mvc3/</feedburner:origLink></item>
		<item>
		<title>Book review: CSS3 for Web Designers</title>
		<link>http://feedproxy.google.com/~r/karlmendes/~3/SPZsuhLqEgc/</link>
		<comments>http://karlmendes.com/2011/10/book-review-css3-for-web-designers/#comments</comments>
		<pubDate>Wed, 19 Oct 2011 08:04:27 +0000</pubDate>
		<dc:creator>Karl Mendes</dc:creator>
				<category><![CDATA[Book reviews]]></category>
		<category><![CDATA[I recommend]]></category>
		<category><![CDATA[book review]]></category>
		<category><![CDATA[css]]></category>

		<guid isPermaLink="false">http://karlmendes.com/?p=391</guid>
		<description><![CDATA[CSS3 for Web Designers First of all pay attention to the title, I didn&#8217;t and I got a little bit frustrated. It&#8217;s for Web Designers, not for developers so it&#8217;s kind of basic. It&#8217;s good to get an idea of the possibilities that CSS3 can give to you. Like all books from A Book Apart, [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:right;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fkarlmendes.com%2F2011%2F10%2Fbook-review-css3-for-web-designers%2F' data-shr_title='Book+review%3A+CSS3+for+Web+Designers'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fkarlmendes.com%2F2011%2F10%2Fbook-review-css3-for-web-designers%2F' data-shr_title='Book+review%3A+CSS3+for+Web+Designers'></a><a class='shareaholic-tweetbutton' data-shr_count='none' data-shr_href='http%3A%2F%2Fkarlmendes.com%2F2011%2F10%2Fbook-review-css3-for-web-designers%2F' data-shr_title='Book+review%3A+CSS3+for+Web+Designers'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetTop Automatic --><p style="float:left;margin-right:20px"><a href="http://www.abookapart.com/products/css3-for-web-designers"><img src="http://karlmendes.com/wp-content/uploads/2011/10/aba-2-thumb1.png" alt="" title="CSS3 for web designers" width="100" height="154" class="alignnone size-full wp-image-393" /></a></p>
<p><a href="http://www.abookapart.com/products/css3-for-web-designers">CSS3 for Web Designers</a></p>
<p>First of all pay attention to the title, I didn&#8217;t and I got a little bit frustrated. It&#8217;s for Web Designers, not for developers so it&#8217;s kind of basic. It&#8217;s good to get an idea of the possibilities that CSS3 can give to you.</p>
<p>Like all books from A Book Apart, it&#8217;s quick and basic, sometimes they just feel like a long blog post, but at least you know that it&#8217;s a well written blog post. <span id="more-391"></span></p>
<p>The author created a web to demo all the examples that he talks about on the book (<a href="http://css3exp.com/code/view/">http://css3exp.com/code/view/</a>), the only problem is that it crashes in Chrome! That was really disappointing.</p>
<p>Anyway, it&#8217;s cheap and has good content, if you&#8217;re looking for an overview this is the book, if you want to go deep maybe you should look for another book.</p>
<div class="shr-publisher-391"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->
<p><a href="http://feedads.g.doubleclick.net/~a/PvADioYPt86MCFMeBMMtKecf3zw/0/da"><img src="http://feedads.g.doubleclick.net/~a/PvADioYPt86MCFMeBMMtKecf3zw/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/PvADioYPt86MCFMeBMMtKecf3zw/1/da"><img src="http://feedads.g.doubleclick.net/~a/PvADioYPt86MCFMeBMMtKecf3zw/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/karlmendes/~4/SPZsuhLqEgc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://karlmendes.com/2011/10/book-review-css3-for-web-designers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://karlmendes.com/2011/10/book-review-css3-for-web-designers/</feedburner:origLink></item>
		<item>
		<title>Book review: Forms that work</title>
		<link>http://feedproxy.google.com/~r/karlmendes/~3/bNApd_VaJ7w/</link>
		<comments>http://karlmendes.com/2011/10/book-review-fomrs-that-work/#comments</comments>
		<pubDate>Tue, 11 Oct 2011 11:36:43 +0000</pubDate>
		<dc:creator>Karl Mendes</dc:creator>
				<category><![CDATA[Book reviews]]></category>
		<category><![CDATA[Front end]]></category>
		<category><![CDATA[I recommend]]></category>
		<category><![CDATA[UX/UI]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[ui]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[ux]]></category>

		<guid isPermaLink="false">http://karlmendes.com/?p=386</guid>
		<description><![CDATA[Forms that Work: Designing Web Forms for Usability on Amazon.com I really liked this book because it gave me really good insights on the best ways to build forms. I shows what to do, what not to do and why. The structure makes it really easy to read and follow the main ideas. The book [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:right;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fkarlmendes.com%2F2011%2F10%2Fbook-review-fomrs-that-work%2F' data-shr_title='Book+review%3A+Forms+that+work'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fkarlmendes.com%2F2011%2F10%2Fbook-review-fomrs-that-work%2F' data-shr_title='Book+review%3A+Forms+that+work'></a><a class='shareaholic-tweetbutton' data-shr_count='none' data-shr_href='http%3A%2F%2Fkarlmendes.com%2F2011%2F10%2Fbook-review-fomrs-that-work%2F' data-shr_title='Book+review%3A+Forms+that+work'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetTop Automatic --><p style="float:left;margin-right:20px"><a href="http://www.amazon.com/gp/product/1558607102/ref=as_li_tf_il?ie=UTF8&#038;tag=kasbl03-20&#038;linkCode=as2&#038;camp=217145&#038;creative=399377&#038;creativeASIN=1558607102"><img src="http://karlmendes.com/wp-content/uploads/2011/10/51wh4KwQG3L._SL160_.jpg" ></a><img src="http://www.assoc-amazon.com/e/ir?t=kasbl03-20&#038;l=as2&#038;o=1&#038;a=1558607102&#038;camp=217145&#038;creative=399377" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></p>
<p><a href="http://www.amazon.com/gp/product/1558607102/ref=as_li_tf_il?ie=UTF8&#038;tag=kasbl03-20&#038;linkCode=as2&#038;camp=217145&#038;creative=399377&#038;creativeASIN=1558607102">Forms that Work: Designing Web Forms for Usability on Amazon.com</a><img src="http://www.assoc-amazon.com/e/ir?t=kasbl03-20&#038;l=as2&#038;o=1&#038;a=1558607102&#038;camp=217145&#038;creative=399385" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></p>
<p>I really liked this book because it gave me really good insights on the best ways to build forms. I shows what to do, what not to do and why.</p>
<p>The structure makes it really easy to read and follow the main ideas. The book is separated in 3 parts: relationship, conversation and appearance.</p>
<p>One thing that I thought it was interesting was how important (talking ux, not design bs) it can be that your forms have good appearance, how much that can affect the efficiency of the form.</p>
<div class="shr-publisher-386"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->
<p><a href="http://feedads.g.doubleclick.net/~a/046cWHWRdfeR9CV_0oYcFMSPR7c/0/da"><img src="http://feedads.g.doubleclick.net/~a/046cWHWRdfeR9CV_0oYcFMSPR7c/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/046cWHWRdfeR9CV_0oYcFMSPR7c/1/da"><img src="http://feedads.g.doubleclick.net/~a/046cWHWRdfeR9CV_0oYcFMSPR7c/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/karlmendes/~4/bNApd_VaJ7w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://karlmendes.com/2011/10/book-review-fomrs-that-work/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://karlmendes.com/2011/10/book-review-fomrs-that-work/</feedburner:origLink></item>
		<item>
		<title>The definition of the word “Project”</title>
		<link>http://feedproxy.google.com/~r/karlmendes/~3/VdIcNPKtbO8/</link>
		<comments>http://karlmendes.com/2011/04/the-definition-of-the-word-project/#comments</comments>
		<pubDate>Tue, 26 Apr 2011 10:37:25 +0000</pubDate>
		<dc:creator>Karl Mendes</dc:creator>
				<category><![CDATA[Myself]]></category>
		<category><![CDATA[The Web]]></category>

		<guid isPermaLink="false">http://karlmendes.com/?p=370</guid>
		<description><![CDATA[I&#8217;ve been meditating on the definition of the word project, and how that applies on my work days. I&#8217;m getting to the conclusion that the english definition doesn&#8217;t fit the real word, at least not on the web development field. Wordreference Project &#8211; an enterprise carefully planned to achieve a particular aim I disagree on [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:right;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fkarlmendes.com%2F2011%2F04%2Fthe-definition-of-the-word-project%2F' data-shr_title='The+definition+of+the+word+%22Project%22'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fkarlmendes.com%2F2011%2F04%2Fthe-definition-of-the-word-project%2F' data-shr_title='The+definition+of+the+word+%22Project%22'></a><a class='shareaholic-tweetbutton' data-shr_count='none' data-shr_href='http%3A%2F%2Fkarlmendes.com%2F2011%2F04%2Fthe-definition-of-the-word-project%2F' data-shr_title='The+definition+of+the+word+%22Project%22'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetTop Automatic --><p>I&#8217;ve been meditating on the definition of the word project, and how that applies on my work days. I&#8217;m getting to the conclusion that the english definition doesn&#8217;t fit the real word, at least not on the web development field.</p>
<h3>Wordreference</h3>
<blockquote><p>Project &#8211; an enterprise carefully planned to achieve a particular aim</p></blockquote>
<p>I disagree on that one, part of the project usually is to find the particular aim of that project :).</p>
<h3>Wikipedia</h3>
<blockquote><p>A project in business and science is a collaborative enterprise, frequently involving research or design, that is carefully planned to achieve a particular aim.</p></blockquote>
<p>Let&#8217;s take the carefully planned and change it to planned only, just to make it more compatible with the majority of the projects out there. I agree with the guys from <a href="http://37signals.com/">37 signals</a> that planning is 100% guessing, and saying that you carefully guessed how long the project will take to be done is kind of nonsense.</p>
<h3>The free online dictionary</h3>
<blockquote><p>An undertaking requiring concerted effort.</p></blockquote>
<p>Ok, this is good, but it still lacks on some details.</p>
<h3>My definition</h3>
<p>First, let&#8217;s see what we can learn about the characteristics of the majority of projects.<br />
<span id="more-370"></span></p>
<ul>
<li><strong>Urgent</strong> &#8211; I strongly believe I never worked on a project that wasn&#8217;t urgent. This characteristic can also be spotted when the phrase &#8220;it&#8217;s for tomorrow&#8221; is used.</li>
<li><strong>Confidencial</strong> &#8211; I still don&#8217;t know why my clients still tell me their project is confidential. Every project is confidential, you can&#8217;t go telling everyone what you are developing for another client.</li>
<li><strong>Low budget</strong> &#8211; Ok, the key to successful business is earn more than you spend, so basically every normal business will have a low budget for the project, that&#8217;s just life. You don&#8217;t expect someone coming to you and saying: &#8220;I want this and I want to pay the highest amount possible&#8221;. That would be charity, not business.</li>
<li><strong>High quality</strong> &#8211; Who seeks to develop a low quality project on the web?</li>
</ul>
<p>So, what I tried to do is get all of those characteristics and create a definition:</p>
<blockquote><p>Project &#8211; A huge and urgent amount of confidential work load with a impossible deadline (often tomorrow), with the goal of realizing its goals and achieving them with high quality solutions and a low budget.</p></blockquote>
<p>Ta da! If we go by this definition using the words project, urgent, confidential, high quality and low budget on the same sentence would be considered redundancy. So from now on clients, just tell me you have a project and don&#8217;t worry because I know what you mean with that.</p>
<div class="shr-publisher-370"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->
<p><a href="http://feedads.g.doubleclick.net/~a/lrpzlO-JDzYD-lXKX8mcmK-ajEc/0/da"><img src="http://feedads.g.doubleclick.net/~a/lrpzlO-JDzYD-lXKX8mcmK-ajEc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/lrpzlO-JDzYD-lXKX8mcmK-ajEc/1/da"><img src="http://feedads.g.doubleclick.net/~a/lrpzlO-JDzYD-lXKX8mcmK-ajEc/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/karlmendes/~4/VdIcNPKtbO8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://karlmendes.com/2011/04/the-definition-of-the-word-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://karlmendes.com/2011/04/the-definition-of-the-word-project/</feedburner:origLink></item>
	</channel>
</rss>

