<?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>610 Design &#187; tutorials</title>
	<atom:link href="http://www.610design.com/category/tutorials/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.610design.com</link>
	<description>Design the code</description>
	<lastBuildDate>Tue, 08 Feb 2011 12:57:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>HTML5 Showcase &#8211; Flash Killing Demos?</title>
		<link>http://www.610design.com/technology/html5-showcase-flash-killing-demos/</link>
		<comments>http://www.610design.com/technology/html5-showcase-flash-killing-demos/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 17:22:25 +0000</pubDate>
		<dc:creator>schoey</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[tutorials]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[resources]]></category>

		<guid isPermaLink="false">http://www.610design.com/?p=399</guid>
		<description><![CDATA[So you&#8217;ve heard all rumors about HTML5 would take over Adobe Flash. While most web community argues that it&#8217;s possible or not, you must be wandering what makes HTML5 so powerful that even giant company Apple wants to use it to replace Flash. That&#8217;s why this post exists, we&#8217;re not going to talk about what [...]]]></description>
			<content:encoded><![CDATA[<p>So you&#8217;ve heard all rumors about HTML5 would take over Adobe Flash. While most web community argues that it&#8217;s possible or not, you must be wandering what makes HTML5 so powerful that even giant company Apple wants to use it to replace Flash.</p>
<p>That&#8217;s why this post exists, we&#8217;re not going to talk about what HTML5 can do, but show live demos of magical things that HTML5 can achieve with other language like JavaScript, so get ready to be inspired.</p>
<p>Note: As HTML5 is not fully supported by certain web browser like Internet Explorer, you&#8217;re strongly recommended to use <a href="http://www.getfirefox.com/">Firefox browser</a> to view all HTML5 demos below.</p>
<h3>Animation</h3>
<p>The HTML5&#8217;s canvas element is the deciding factor for HTML5 to replace certain Flash animation. It allows you to build dynamic, scriptable rendering of 2D shapes and bitmap images with Javascript, which by other mean is, controllable animation.</p>
<h4><a href="http://9elements.com/io/projects/html5/canvas/">Audioburst Animation</a></h4>
<p>A comfortable and fantastic animation created with HTML5&#8217;s canvas and audio tag.</p>
<h4><a href="http://mrdoob.com/projects/chromeexperiments/ball_pool/">Ball Pool</a></h4>
<p>Being showcased in the last Google I/O event, this demo shows you how dynamic can HTML5 be.</p>
<h4><a href="http://www.blobsallad.se/">Blob Sallad</a></h4>
<p>A HTML5-spawned creature that would please you.</p>
<h4><a href="http://bomomo.com/">Bomomo</a></h4>
<p>With Bomomo, you can observe different atomic movement simulated with HTML5.</p>
<h4><a href="http://experiments.instrum3nt.com/markmahoney/ball/">Browser Ball</a></h4>
<p>Get amazed with this &#8216;cross-browser&#8217; HTML5 ball.</p>
<h4><a href="http://3.paulhamill.com/node/39">Bubbles</a></h4>
<p>Have fun by create endless floating bubbles with different color.</p>
<h4><a href="http://cs.helsinki.fi/u/ilmarihe/canvas_animation_demo/mozcampeu09.html">Canvas Cartoon Animation</a></h4>
<p>A simple and funny HTML5 cartoon that helps you to understand what HTML5&#8217;s canvas element can do.</p>
<h4><a href="http://randomibis.com/coolclock/">Coolclock</a></h4>
<p>A nice, customizable analog clock built by HTML5 and JavaScript.</p>
<h4><a href="http://www.lo2k.net/v7/lab/flickr/login">Flickr PS3 Slideshow</a></h4>
<p>View your Flickr&#8217;s photos with PS3 style slideshow in the web browser.</p>
<h4><a href="http://www.addyosmani.com/resources/canvasphoto/">Interactive Polaroid</a></h4>
<p>An interactive demo that works pretty similar to multi touch interface.</p>
<h4><a href="http://js-fireworks.appspot.com/">JS Fireworks</a></h4>
<p>Enjoy the fireworks moment with your preferred gravity and speed, powered by HTML5 and Javascript.</p>
<h4><a href="http://www.chiptune.com/kaleidoscope/">Kaleidoscope</a></h4>
<p>A very beatiful and futuristic HTML5 kaleidoscope.</p>
<h4><a href="http://spielzeugz.de/html5/liquid-particles.html">Liquid Particles</a></h4>
<p>Sensitive particle animation that reacts based upon your mouse movement.</p>
<h4><a href="http://danforys.com/mesmerizer/">Mesmerizer</a></h4>
<p>Another sensitive and outstanding HTML5 demo that shows how nearby elements react with you mouse movement.</p>
<h4><a href="http://www.professorcloud.com/mainsite/canvas-nebula.htm">Nebula Cloud</a></h4>
<p>Get lost with this wondrous HTML5 nebula.</p>
<h4><a href="http://webdev.stephband.info/parallax_demos.html">Parallax</a></h4>
<p>View all 2D shapes in parallel perspective.</p>
<h4><a href="http://www.feedtank.com/labs/html_canvas/">Particle Animation</a></h4>
<p>An elegant HTML5 particle animation that can form into your preferred message.</p>
<h4><a href="http://tomtheisen.com/spread/">Spread</a></h4>
<p>Get lost with this endless spread animation.</p>
<h4><a href="http://www.chiptune.com/starfield/starfield.html">Starfield</a></h4>
<p>A very cool HTML5 starfield animation that would change direction and speed based on your mouse movement.</p>
<h4><a href="http://craftymind.com/factory/html5video/CanvasVideo.html">Video Destruction</a></h4>
<p>One click to boom a playing video.</p>
<h4><a href="http://modern-carpentry.com/workshop/html5/waveform/">Waveform</a></h4>
<p>Observe how HTML5&#8217;s canvas wave moves by altering its amplitude, wavelength, width, etc.</p>
<h3>3D Effect</h3>
<p>Impressed by canvas animation? That&#8217;s more HTML5&#8217;s canvas element can do, and it&#8217;s called 3D effect. Developer can rely on canvas element, DOM and JavaScript to create 3D effect, which can later be developed into 3D animation or game.</p>
<h4><a href="http://www.xs4all.nl/~peterned/3d/">Canvas3D and Flickr</a></h4>
<p>Have a whole new 3D experience with Flickr&#8217;s photostream.</p>
<h4><a href="http://www.andrew-hoyer.com/experiments/cloth">Cloth Simulation</a></h4>
<p>A realistic, HTML5-based cloth simulation.</p>
<h4><a href="http://deanm.github.com/pre3d/monster.html">Evolving Monster</a></h4>
<p>Observe a monster evolving into a complicated creature, one of its creator is HTML5.</p>
<h4><a href="http://www.addyosmani.com/resources/googlebox/">Google Giftbox</a></h4>
<p>Giant search engine Google is presented in 3D, playable view.</p>
<h4><a href="http://gyu.que.jp/jscloth/touch.html">JS Touch</a></h4>
<p>A high quality and realistic &#8216;3D on 2D Canvas&#8217; showcase.</p>
<h3>Data Presentation</h3>
<p>While HTML5&#8217;s canvas element can be used to create animation and 3D effect, it can also be implemented to present mathematical data.</p>
<h4><a href="http://gnuplot.sourceforge.net/demo_canvas/surface1.html">Gnuplot</a></h4>
<p>Gnuplot, a data plotting application in HTML5 version.</p>
<h4><a href="http://www.rgraph.net/">RGraph</a></h4>
<p>RGraph provides a wide range of data presentation like bar chart, progress bar and traditional radar chart.</p>
<h3>Web Application</h3>
<p>Ultimately, using all possibilities combined by HTML5 and other langauge, one can create interactive application or game that&#8217;s close to Flash application.</p>
<h4><a href="http://canvaspaint.org/">CanvasPaint</a></h4>
<p>Witness the brother of Microsoft Paint comes into your web browser, and his father is HTML5.</p>
<h4><a href="http://alteredqualia.com/canvasmol/">CanvasMol</a></h4>
<p>A scientific application which is built to help you to understand certain earth element&#8217;s structure.</p>
<h4><a href="http://www.hanovsolutions.com/webdraw/">Cartoon Builder</a></h4>
<p>Draw interesting cartoon image with this minimal and interactive cartoon builder.</p>
<h4><a href="http://html5demos.com/drag-anything">Drag Anything Here</a></h4>
<p>Drag anything you can drag in the demo to show details.</p>
<h4><a href="http://www.gartic.com/sketch/">Gartic Sketch</a></h4>
<p>An original HTML5 application that allows you to make some basic drawings that can be saved into different image format like jpeg or png.</p>
<h4><a href="http://physicsketch.appspot.com/">PhysicSketch</a></h4>
<p>Draw whatever you like and see how they react with simulated gravity.</p>
<h4><a href="http://mugtug.com/sketchpad/">Sketchpad</a></h4>
<p>A powerful HTML5 drawing application that enables you to draw and edit your image in the precise manner.</p>
<h4><a href="http://smalltalkapp.com/">Smalltalk</a></h4>
<p>A web application that confirms geographical position of weather-related message acquired from Twitter, thus forming them into a canvas-based &#8217;social weather&#8217; map, quite trivial (as stated by author) but interesting.</p>
<h3>Game</h3>
<h4><a href="http://upsidedownturtle.com/boredboredbored/">3Bored</a></h4>
<p>You would never get bored if you can keep evading hundreds of HTML5 bullets in next second.</p>
<h4><a href="http://billmill.org/static/canvastutorial/">Breakout</a></h4>
<p>Rebound the ball to break all bricks.</p>
<h4><a href="http://www.benjoffe.com/code/demos/canvascape/textures">Canvascape</a></h4>
<p>Not quite a game, but it demonstrates how HTML5 can be used to develop First Person Shooting browser game.</p>
<h4><a href="http://www.xarg.org/project/chrome-experiment/">Catch It</a></h4>
<p>How many balls can you dodge to get your winning HTML5 square?</p>
<h4><a href="http://www.yvoschaap.com/chainrxn/">Chain Reaction</a></h4>
<p>Chain the explosion to achieve the goal, don&#8217;t get addicted.</p>
<h4><a href="http://alteredqualia.com/cubeout/">Cubeout</a></h4>
<p>Play Tetris in 3D, top-down view.</p>
<h4><a href="http://fokistudios.com/etchaphysics/">etchaPhysics</a></h4>
<p>Draw item to move the ball to the star, don&#8217;t forget about the gravity.</p>
<h4><a href="http://www.raymondhill.net/puzzle-rhill/jigsawpuzzle-rhill.php">Jigsaw Puzzle</a></h4>
<p>Click, rotate and drop puzzle pieces to solve this HTML5-based jigsaw puzzle.</p>
<h4><a href="http://nic-nac-project.de/~jcm/index.php?nav=puzzle">Slide Puzzle</a></h4>
<p>Slide to the victory, another HTML5 game that&#8217;s built to squeeze your mind juice.</p>
<h4><a href="http://grenlibre.fr/demo/same/">Same Game</a></h4>
<p>Remove certain group to get another group paired in same color and you would eventually be awarded a victory.</p>
<h4><a href="http://aduros.emufarmers.com/easel/">Tetris</a></h4>
<p>One of the most classic game brought back to life by HTML5.</p>
<h4><a href="http://www.benjoffe.com/code/games/torus/">Torus</a></h4>
<p>Yet another Tetris game in pseudo-3D version.</p>
<h3>Conclusion</h3>
<p>What is the limitation of HTML5? At this point we cannot decide, but with the impressive video below we can know how far the HTML5 has been pushed:</p>
<p>
  <object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/fyfu4OwjUEI&#038;hl=en_US&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param>
    <embed src="http://www.youtube.com/v/fyfu4OwjUEI&#038;hl=en_US&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object>
</p>
<p>Yes, it&#8217;s Quake II in web browser, so now it&#8217;s very clear that with HTML5, more groundbreaking web application would be born to serve billions of internet users. It&#8217;s fast, it&#8217;s evolving, and it&#8217;s changing the world wide web. The question is, how would you use this game-changing HTML5?</p>
<p><strong>We do like to hear your idea!</strong></p>
<p class="source"><a href="http://www.hongkiat.com/blog/48-excellent-html5-demos/"><em>Source: hongkiat</em></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.610design.com/technology/html5-showcase-flash-killing-demos/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Best Practices for CSS3</title>
		<link>http://www.610design.com/coding/best-practices-for-css3/</link>
		<comments>http://www.610design.com/coding/best-practices-for-css3/#comments</comments>
		<pubDate>Fri, 28 May 2010 14:14:07 +0000</pubDate>
		<dc:creator>schoey</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[tutorials]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[user experience]]></category>
		<category><![CDATA[web-design]]></category>

		<guid isPermaLink="false">http://www.610design.com/?p=391</guid>
		<description><![CDATA[Since CSS3 has become such a big deal in the future-thinking minds of web designers today, I think it would be appropriate for front-end developers to begin formulating some best-practice habits and techniques so that any CSS3 development we do is done right, and we therefore are able to get CSS3 development off to a [...]]]></description>
			<content:encoded><![CDATA[<p>Since CSS3 has become such a big deal in the future-thinking minds of   web designers today, I think it would be appropriate for front-end   developers to begin formulating some best-practice habits and techniques   so that any CSS3 development we do is done right, and we therefore are   able to get CSS3 development off to a good start.</p>
<p>By no means do I assume that everything in this article is etched in   stone and error-free, but I think this will be a good starting point for   this topic, and I will be happy to add to or amend any points that   anyone feels need adjusting or clarification.</p>
<p>Consider this a starting point for discussing best practices for   CSS3, especially since there don&#8217;t seem to be many articles available   yet that exclusively discuss CSS3 best practices.</p>
<h2>Think Progressive Enhancement</h2>
<p>The most accessible and widely-supported websites are those created   with progressive enhancement in mind. Standards proponents have for   years discussed the benefits of accessible, backwards-compatible content   &ndash; specifically in relation to <a href="http://www.impressivewebs.com/ajax-progressive-enhancement/">JavaScript   and Ajax-based websites and applications</a>.</p>
<p>The same principles apply to CSS3 development. Website and app   visuals that are critical to the user experience should not be dependent   on CSS3. CSS3 should be used to enrich and enhance an already   fully-functional experience.</p>
<p>Since CSS3 has now crossed into a <a href="http://www.marcofolio.net/reviews/your_two_cents_css3_animation_and_lazy_loading.html">gray   area of event-driven features</a>, more care needs to be taken to   ensure that non-supporting browsers do not greatly hinder the user   experience.</p>
<h2>Organize and Comment Vendor-Specific Syntax</h2>
<p>Unfortunately, since many CSS3 features are supported with different   proprietary syntaxes, this means that some parts of your CSS code will   become bloated. But you can still keep those areas of your code   organized by inserting comments indicating the browser version that the   code is for, and also by keeping the different lines of code in a   recognizable order with the standard format listed last.</p>
<p>It&#8217;s also best practice to list your CSS3 items last in the CSS   declaration. So, for example, if you&#8217;re rotating an item with CSS3, your   code might look something like this:</p>
<pre class="brush: css; title: ; notranslate">
#rotation {
	float: left;
	width: 200px;
	-webkit-transform: rotate(-5deg); // chrome, safari
	-moz-transform: rotate(-5deg); // firefox
	-o-transform: rotate(-5deg); // opera
	transform: rotate(-5deg);
}
</pre>
<p>In the example above, I don&#8217;t believe the standard syntax is   supported by any browser, but this code just serves as a way to   theoretically demonstrate the method of listing CSS3 properties last,   and the standard property at the end of the declaration. Keeping the   CSS3 properties last will also ensure that any &ldquo;fallback&rdquo; properties are   in their correct place. Which brings us to the next point.</p>
<h2>Use Fallbacks for Background-Related Enhancements</h2>
<p>Some of the new CSS3 features require that the background   property be used. The background property is nothing new   to CSS, but the possible values have been upgraded with CSS3, allowing   use of RGBA, HSLA, gradients and even multiple background images.</p>
<p>In most cases, a non-supporting browser will still display a similar   feature, and the lack of an HSLA or RGBA color will not affect the   result. But with a gradient, you may need to declare an IE-only fallback   in a separate stylesheet, or a background color that it will fall back   to if a gradient is not supported.</p>
<p>So, you might need something like this:</p>
<pre class="brush: css; title: ; notranslate">
#element {
	background-image: url(images/bg-transparent.png);
	background-color: rgba(98, 135, 167, .5);
}
</pre>
<p>In the case of multiple backgrounds, be sure to list the most   important element first, so it serves as the fallback.</p>
<p>For most situations, I don&#8217;t think this particular practice will be   necessary, but it&#8217;s good to keep in mind the possibility that a fallback   color or background image may be needed.</p>
<h2>Use Rotations, Animations &amp; Scaling Sparingly</h2>
<p>Although WebKit-based browsers have opened up some incredible   possibilities with CSS3, we don&#8217;t want to get carried away. Subtle,   tastefully selected events and animations are usually the best choice.</p>
<p>There&#8217;s a reason that Flash intro pages became a tiresome practice;   they were often self-indulgent and pretty pointless, doing nothing but   slowing down the user and making them download more resources than   necessary.</p>
<p>To prevent the web from becoming filled with CSS3 trash, let&#8217;s use   the new features carefully and in a dignified manner that doesn&#8217;t harm   or slow down the user experience.</p>
<h2>Be Careful With Typography</h2>
<p>Making enhancements on text with CSS3 has become more common, and   many sites are now employing the @font-face technique to   use custom fonts.</p>
<p>Make sure that any typography-related enhancements do not affect the   readability of the site. Sometimes, as designers, we take an overall   view of a website&#8217;s layout, and try to make every little detail as   beautiful as possible, but forget the most important thing: That the   content should be accessible and readable.</p>
<p>So, if you&#8217;re considering using shadows, gradients, or transforms on   typographical elements, think twice about it, and strip out any   unnecessary enhancements that cause undue harm to the readability or   accessibility of the site.</p>
<h2>Test in All Browsers With Fallbacks Enabled</h2>
<p>Testing of course is one of the most important parts of successfully   adding enhancements. But the advent of CSS3 features may add more   pressure in this area.</p>
<p>Don&#8217;t be content to just test the enhancements at full-throttle in   the most supportive browsers; test in the non-supporting browsers while   temporarily removing some of the enhancements, maybe one by one, to see   the experience with fallback options enabled.</p>
<p>This makes commenting and organizing code even more important, and   will likely add more quality assurance testing to many design teams&#8217;   schedules.</p>
<h2>What Did I Miss?</h2>
<p>Surely this is not a complete list. Add your comments below if you   feel there are important CSS3 enhancements that require a best practice   method or technique, and I&#8217;ll be happy to add to a few end-points to   this article to round it out.</p>
<p class="source">Source: <a href="http://www.impressivewebs.com" target="_blank">impressivewebs</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.610design.com/coding/best-practices-for-css3/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Interviewing Web Developers &#8211; Good Questions to Ask</title>
		<link>http://www.610design.com/tutorials/interviewing-web-developers-good-questions-to-ask/</link>
		<comments>http://www.610design.com/tutorials/interviewing-web-developers-good-questions-to-ask/#comments</comments>
		<pubDate>Tue, 04 May 2010 14:05:26 +0000</pubDate>
		<dc:creator>schoey</dc:creator>
				<category><![CDATA[tutorials]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[designers]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[resources]]></category>

		<guid isPermaLink="false">http://www.610design.com/?p=374</guid>
		<description><![CDATA[The company I&#8217;ve been working for is currently looking for a new web developer/designer. Prior to conducting the interview, I wrote up a list of technical questions I wanted to ask. I decided to build upon this list of question and put together a larger one that everyone could use &#8211; both for interviewers and [...]]]></description>
			<content:encoded><![CDATA[<p>The company I&#8217;ve been working for is currently looking for a new web  developer/designer. Prior to conducting the interview, I wrote up a list of  technical questions I wanted to ask. I decided to build upon this list of question and put together a larger one that everyone could use &#8211; <strong>both for interviewers and interviewees.</strong></p>
<p>The list is not specific to any particular type of development position, but  I tried to balance it between both the design/html/usability side of things and  the back-end/database/programming side. I&#8217;m just focusing on web development  related questions &#8211; you should obviously ask the usual barrage of questions  like &#8220;Why do you want to work for [some company?]&#8221; I&#8217;m not  covering those types here. Also, this list isn&#8217;t in any particular order.</p>
<ol>
<li><strong>What industry sites and blogs do you read regularly?
<p></strong>This  question can give you an idea of how in-tune they are with the latest  industry trends and technologies, as well as how passionate they are  about webdev. It&#8217;ll help separate the people who do it as a career AS  WELL as a hobby from those who might simply be in it for the big  developer paychecks.</li>
<li><strong>Do you prefer to work alone or on a team?
<p></strong>This  is an important question to ask depending on the work environment. If  your project is going to require close interaction with other  developers it&#8217;s very handy to have someone who has had that kind of  experience. On the other hand, many developers thrive while going  solo.  Try to find a developer that fits your needs.</li>
<li><strong>How comfortable are you with writing HTML entirely by hand? (+exercise)
<p></strong>Although  their resume may state that they&#8217;re an HTML expert, often times many  developers can&#8217;t actually write an HTML document from top to bottom.   They rely on an external publisher or have to constantly flip back to a  reference manual.  Any developer worth a damn should at least be able  to write a simple HTML document without relying on external resources.  A possible exercise is to draw up a fake website and ask them to write  the HTML for it. Keep it simple and just make sure they have the basics  down &#8211; watch for mistakes like forgetting the <code>&lt;head&gt;  &lt;/head&gt;</code> tags or serious misuse of certain elements.  If they  write something like: <code>&lt;image src="/some/image.gif"&gt;</code>, it might be  a good hint to wrap things up and call the next interviewee.</li>
<li><strong>What is the w3c?
<p></strong>Standards  compliance in web development is where everything is (hopefully?)  going. Don&#8217;t ask them to recite the w3c&#8217;s mission statement or  anything, but they should at least have a general idea of who they are.</li>
<li><strong>Can you write table-less XHTML?  Do you validate your code?
<p></strong>Weed  out the old-school table-driven design junkies! Find a developer who  uses HTML elements for what they were actually intended. Also, many  developers will say they can go table-less, but when actually building  sites they still use tables out of habit and/or convenience. Possibly  draw up a quick navigation menu or article and have them write the  markup for it. To be tricky, you could draw up tabular data - give them  bonus points if they point out that a table should be used in that  scenario <img src='http://www.610design.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li><strong>What are a few of your favorite development tools and why?</strong>
<p>If they say notepad you&#8217;ve obviously got the wrong person for the job.  Not only can this help you gauge their level of competence, but it&#8217;ll  also see if they match the tools everyone else uses in-house.</li>
<li><strong>Describe/demonstrate your level of competence in a *nix shell environment
<p></strong>See  how well they work without their precious GUI. Ask some basic questions  like how they would recursively copy a directory from one place to  another, or how you&#8217;d make a file only readable by the owner. Find out  what OSs they have experience with.</li>
<li><strong>What skills and technologies are you the most interested in improving upon or learning?
<p></strong>Find out if their future interests match the direction of the position (or the company in general).</li>
<li><strong>Show me your portfolio!</strong>
<p>A portfolio can say a lot about a developer. Do they have an eye for  aesthetics? Are they more creatively or logically oriented? <strong>The most important thing is to look for is solid, extensive, COMPLETED projects</strong>. A half dozen mockups and/or hacked-out scripts is a sign of inexperience or incompetence.</li>
<li><strong>What sized websites have you worked on in the past?
<p></strong>Find  a developer that has experience similar in size to the project you&#8217;re  putting together. Developers with high traffic, large scale site  expertise may offer skills that smaller-sized developers don&#8217;t, such as  fine tuning apache or optimizing heavily hit SQL queries. On the other  hand, developers who typically build smaller sites may have an eye for  things that large scale developers don&#8217;t, such as offering a greater  level of visual creativity.</li>
<li><strong></strong><strong>Show me your code!</strong>
<p>Whether it&#8217;s plain old HTML or freakishly advanced ruby on rails, ask  for code samples.   Source code can say more about a persons work  habits than you think. Clean, elegant code can often be indicative of a  methodical, capable developer. A resume may say 7+ years of perl  experience, but that could mean 7 years of bad, unreadable perl. Also,  make sure you ask for a lot of source code, not just a few isolated  functions or pieces of HTML. Anyone can clean up 20-30 lines of code  for an interview, you want to see the whole shebang. Don&#8217;t ask for a  full, functional app, but make sure it&#8217;s enough that you can tell it&#8217;s  really what their code is like.</li>
<li><strong></strong><strong>What are a few sites you admire and why? (from a webdev perspective)</strong>
<p>Find out what inspires them. While it doesn&#8217;t necessarily &#8220;take one to  know one,&#8221; a great developer should always have a few impressive  favorites.</li>
<li><strong>Fix this code, please.</strong>
<p>Give them some broken code written in the development language they are  expected to know for the position. Have them go through it line by line  and point out all the mistakes.</li>
<li><strong>I  just pulled up the website you built and the browser is displaying a  blank page.  Walk me through the steps you&#8217;d take to troubleshoot the  problem.
<p></strong>This is a great question to determine how  well rounded their abilites are. It tests everything from basic support  skills all the way up to troubleshooting the webserver itself.</li>
<li><strong>What&#8217;s your favorite development language and why?  What other features (if any) do you wish you could add to this language?
<p></strong>Asking  about feature additions is a particularly valuable question &#8211; it can  reveal if they&#8217;re skilled in programming in general or if their  skillset is pigeonholed into their language of choice.</li>
<li><strong>Do you find any particular languages or technologies intimidating?
<p></strong>I&#8217;ve  often felt that the more I learn, the less I feel like I know. Solving  one mystery opens up ten others. Having the interviewee tell you their  faults can reveal a lot about what they know.</li>
<li><strong>Acronym time (oh boy!)</strong>
<p>Some might argue that knowing what acronyms actually stand for is  trivial, but there are certain acronyms that a developer should have  hard-wired into their head ( HTML or CSS, for example). This is the  kind of question that might be better reserved for the phone interview  to weed out those who are very unqualified.</li>
<li><strong>What web browser do you use?
<p></strong>There is a right answer to this question: <strong>all of them</strong>.  A competent developer should be familiar with testing cross-browser  compatibility by using all the major web browsers.  Obviously they&#8217;ll  have a primary browser they use for surfing, but their answer to this  question might be a good way for you to segue to asking how extensively  they test cross-browser issues. Also, if it&#8217;s some kind of css/html  position seeing what toolbars they have installed can be a good metric  of their skillset (I personally find the <a href="https://addons.mozilla.org/firefox/60/">web developer toolbar for firefox</a> to be invaluable)</li>
<li><strong>Rank your interest in these development tasks from 1 to 5 (1 being not interested at all, 5 being extremely interested) </strong>
<p>Write  up a list of tasks the job requires. Having them rank these items  according to their interest level can help you find who is the best  suited for the position.  I know debugging uncommented perl code from  1997 sounds seriously awesome to me.</li>
<li><strong>What are a few personal web projects you&#8217;ve got going on?</strong>
<p>Almost all developers have personal web projects they like to plug away  at in their spare time. This is another question that can help  differentiate the passionate developers from the clock-punchers. It&#8217;s  also a good question to end an interview with, as it&#8217;s usually easy  (and fun) for them to answer.</li>
<li><strong>What do you know about CSS3 and HTML5?
<p></strong>You can judge how up-to-date this person is one web trends.</li>
<li><strong>What side of the Adobe -vs- Apple war are you on?</strong>
<p>A fun question with no clear answer, since both sides can be argued. While this is a &#8220;fluff&#8221; question the interviewee should know about Apple&#8217;s iTouch, iPhone and iPads not supporting flash. Why Apple&#8217;s not support flash on those products and ways around it.</li>
</ol>
<p class="source">Sources: <a href="http://www.seomoz.org" target="_blank">seomoz</a>, <a href="http://www.deyalexander.com.au/" target="_blank">Dey Alexander</a>, <a href="http://www.techinterviews.com" target="_blank">Tech Interviews</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.610design.com/tutorials/interviewing-web-developers-good-questions-to-ask/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>HTML5 &amp; CSS3 Tools, Resources And Guides</title>
		<link>http://www.610design.com/design/html5-css3-tools-resources-and-guides/</link>
		<comments>http://www.610design.com/design/html5-css3-tools-resources-and-guides/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 12:00:32 +0000</pubDate>
		<dc:creator>schoey</dc:creator>
				<category><![CDATA[design]]></category>
		<category><![CDATA[tutorials]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[resources]]></category>

		<guid isPermaLink="false">http://www.610design.com/?p=296</guid>
		<description><![CDATA[HTML5 and CSS3 are bringing new features to us and in this article you’ll be able to find some great tools, cheat sheets and much more you could need to master these new features. Maybe those new features aren&#8217;t yet supported fully, but it&#8217;s a very good thinking to learn new technologies now so you [...]]]></description>
			<content:encoded><![CDATA[<p>HTML5 and CSS3 are bringing new features to us and in this article you’ll be able to find some great tools, cheat sheets and much more you could need to master these new features.</p>
<p>Maybe those new features aren&#8217;t yet supported fully, but it&#8217;s a very good thinking to learn new technologies now so you would be able to use them fully when they are supported. Be modern designer!</p>
<h3>1. <a href="http://tools.css3.info/selectors-test/test.html" target="_blank">CSS3 Selectors Test</a></h3>
<p>After starting the testsuite it will automatically run a large number of small tests which will determine if your browser is compatible with a large number of CSS selectors. If it is not compatible with a particular selector it is marked as such. You can click on each selector to see the results, including a small example and explaination for each of tests.</p>
<h3>2. <a href="http://css3please.com/" target="_blank">CSS3 Please!</a></h3>
<p>CSS3 Please!, produced by Paul Irish and Jonathon Neal, aims to simplify the design process by allowing designers to enter one value, and have this instantly synced and normalised for each vendor-specific prefix, with the corresponding code generated automatically.</p>
<h3>3. <a href="http://www.css3generator.com/" target="_blank">CSS3 Generator</a></h3>
<p>Allows you to create and costumize multiple CSS3 effects.</p>
<h3>4. <a href="http://westciv.com/tools/transforms/index.html" target="_blank">CSS3 Transforms</a></h3>
<p>You can rotate, scale, skew, and otherwise transform HTML elements with CSS 3. Explore CSS3 CSS Transforms  (supported in Opera 10.5, Firefox 3.5 and Safari 4 and higher).</p>
<h3>5. <a href="http://gradients.glrzad.com/" target="_blank">CSS3 Gradient Generator</a></h3>
<p>The CSS3 Gradient Generator was created as showcase of the power of CSS based gradients as well as a tool for developers and designers to generate a gradient in CSS. CSS gradients generate an image result, meaning the result of a CSS gradient can be used anywhere an image can be used, be it a background-image, mask,border, or list item bullet.</p>
<h3>6. <a href="http://border-radius.com/" target="_blank">Border Radius</a></h3>
<p>Allows you to create rounded edge rectangles.</p>
<h3>7. <a href="http://www.modernizr.com/" target="_blank">Modernizr</a></h3>
<p>Modernizr is a small and simple JavaScript library that helps you take advantage of emerging web technologies (CSS3, HTML 5) while still maintaining a fine level of control over older browsers that may not yet support these new technologies.</p>
<h3>8. <a href="http://www.widgetpad.com/694/" target="_blank">CSS3 Generator</a></h3>
<p>This simple CSS generator helps you to understand capabilities of CSS3 introduced by WebKit.</p>
<h3>9. <a href="http://www.css3.info/preview/" target="_blank">CSS3 Previews</a></h3>
<p>Many new CSS3 feature previews and demos.</p>
<h3>10. <a href="http://www.w3.org/TR/css3-layout/#introduction" target="_blank">CSS Template Layout Module</a></h3>
<p>Learn about popular CSS3 modules and opportunities CSS3 offers.</p>
<h3>11. <a href="http://net.tutsplus.com/tutorials/html-css-techniques/5-techniques-to-acquaint-you-with-css-3/" target="_blank">5 Techniques to Acquaint You With CSS 3</a></h3>
<p>Learn some of the most popular new CSS3 features.</p>
<h3>12. <a href="http://www.webdevout.net/browser-support-css" target="_blank">Web Browser CSS Support</a></h3>
<p>This document is a section of the web browser standards support document. It includes detailed information about CSS support in major web browsers.</p>
<h3>13. <a href="http://labs.thecssninja.com/font_dragr/" target="_blank">Font Drag</a></h3>
<p>Font Dragr is a HTML5/CSS3 powered web app for testing custom web fonts. The app allows you to drag and drop your truetype (ttf), opentype (otf), scalable vector graphics (svg) or Web Open Font Format (WOFF) fonts into the webpage for an instant preview of how the font will be rendered in the browser, you can even edit the example text.</p>
<h3>14. <a href="http://www.smashingmagazine.com/2009/07/13/css-3-cheat-sheet-pdf/" target="_blank">CSS3 Cheat Sheet </a></h3>
<p>Downloadable PDF file containing complete listing of all the properties, selectors types and allowed values in the current CSS 3 specification from the W3C.</p>
<h3>15. <a href="http://sizzlejs.com/" target="_blank">Sizzle</a></h3>
<p>A pure-JavaScript CSS selector engine designed to be easily dropped in to a host library.</p>
<h3>16. <a href="http://www.findmebyip.com/litmus/#target-selector" target="_blank">Web Designers&#8217; Browser Support Checklist</a></h3>
<p>Displays web browser support on HTML5 and CSS3.</p>
<h3>17. <a href="http://www.codenique.com/web_color/css3_color_names.php" target="_blank">CSS3 Color Names</a></h3>
<p>CSS3 supports 147 different colors by name (the 17 standard colors plus 130 more). This lists them all, along with their RGB and hexadecimal values.</p>
<h3>18. <a href="http://woork.blogspot.com/2009/09/html-5-visual-cheat-sheet-by-woork.html" target="_blank">HTML5 Visual Cheat Sheet</a></h3>
<p>HTML 5 Visual Cheat Sheet is an useful cheat sheet for web designers and developers designed by Woork. This cheat sheet is essentially a simple visual grid with a list of all HTML tags and of their related attributes supported by HTML versions 4.01 and/or 5.</p>
<h3>19. <a href="http://html5demos.com/" target="_blank">HTML5 Demos And Previews</a></h3>
<p>You can watch HTML5 demos, new features and check out browser support.</p>
<h3>20. <a href="http://perishablepress.com/press/2009/07/19/power-of-html5-css3/" target="_blank">The Power Of HTML5 and CSS3</a></h3>
<p>Article covering HTML5 and CSS3 combination advantages.</p>
<h3>21. <a href="http://www.smashingmagazine.com/2009/07/06/html-5-cheat-sheet-pdf/" target="_blank">HTML5 Cheat Sheet</a></h3>
<p>HTML5 features and useful info at one place.</p>
<h3>22. <a href="http://html5gallery.com/" target="_blank">HTML5 Gallery</a></h3>
<p>A showcase of sites using HTML5 markup</p>
<p class="source"><a href="http://www.1stwebdesigner.com" target="_blank">Source: 1stwebdesigner</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.610design.com/design/html5-css3-tools-resources-and-guides/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>10 tips for front-end web developers</title>
		<link>http://www.610design.com/design/10-tips-for-front-end-web-developers/</link>
		<comments>http://www.610design.com/design/10-tips-for-front-end-web-developers/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 11:05:51 +0000</pubDate>
		<dc:creator>schoey</dc:creator>
				<category><![CDATA[design]]></category>
		<category><![CDATA[tutorials]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[elements]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[resources]]></category>
		<category><![CDATA[web-design]]></category>

		<guid isPermaLink="false">http://www.610design.com/?p=267</guid>
		<description><![CDATA[Explain which div you&#8217;re closing Most of the time when I&#8217;m viewing a website source, I see, at the very bottom of the page, an almost endless list of closing &#60;/div&#62; tags. In fact, many beginners think they just have to use divs instead of tables to produce quality code. Divs are cleaners than tables, [...]]]></description>
			<content:encoded><![CDATA[<h3>Explain which div you&#8217;re closing</h3>
<p>Most of the time when I&#8217;m viewing a website source, I see, at the very bottom of the page, an almost endless list of closing <em>&lt;/div&gt;</em> tags. In fact, many beginners think they just have to use divs instead  of tables to produce quality code. Divs are cleaners than tables, but  without proper code organization, it can be as (or even sometimes more)  messy as table based code.</p>
<p>Using indentation is a good start. But  a tip that can definitely make you save lot of time is to comment every  div tag you&#8217;re closing, as shown in the example below:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;div id=&quot;header&quot;&gt;
  &lt;div id=&quot;sub&quot; class=&quot;first left&quot;&gt;
    ...
  &lt;/div&gt;&lt;!-- #sub.first.left --&gt;
&lt;/div&gt;
&lt;p&gt;
  &lt;!-- #header --&gt;
</pre>
<h3>Use a CSS reset</h3>
<p>Unless you&#8217;re a beginner or if you were on  vacation on a desert island for the last 6 years, you might already  know how useful a CSS reset it. Because by default, browsers don&#8217;t  apply the same default styling to HTML elements, a CSS reset will  ensure that all element have no particular style so you can define your  own without the risk of many cross-browser rendering issues.</p>
<p><strong>Source: <a href="http://meyerweb.com/eric/tools/css/reset/index.html" target="_blank">http://meyerweb.com/eric/tools/css/reset/index.html</a></strong></p>
<h3>Don&#8217;t use @import</h3>
<p>CSS files can be included using the  @import directive. This can be useful when, for example, you want to  include a stylesheet into another. Another common practice is to  include CSS file in html documents using the following:</p>
<pre class="brush: css; title: ; notranslate">
&lt;style type=&quot;text/css&gt;
  @import url('a.css');
  @import url('b.css');
&lt;/style&gt;
</pre>
<p>While it works, the @import directive is much slower than the other way to include stylesheets into a html document:</p>
<pre class="brush: css; title: ; notranslate">
&lt;link rel='stylesheet' type='text/css' href='a.css'&gt;
&lt;link rel='stylesheet' type='text/css' href='proxy.css'&gt;
</pre>
<p>It will not make a difference on low traffic websites, but if you have  the chance to own a popular website, don&#8217;t waste your visitor&#8217;s time  using <em>@import</em>.<br />
<strong>Source: <a href="http://www.stevesouders.com/blog/2009/04/09/dont-use-import/" >http://www.stevesouders.com/blog/2009/04/09/dont-use-import/</a></strong></p>
<h3>&#8220;Smush&#8221; your images</h3>
<p>Being a developer, I always found that  optimizing my images for the web wasn&#8217;t easy. I tried the good old  &#8220;Save for web&#8221; Photoshop command, but most of the time, I ended up with  images that were either too big or without a sufficient quality.<br />
As  a result, I had the bad habit of using unoptimized images on my  websites. This isn&#8217;t a problem when you don&#8217;t have to care about your  site&#8217;s bandwidth, but after my recent switch on my <a href="http://couponsforbloggers.com/go/vpsnet">vps.net</a> virtual private server, I had to be careful with image sizes.</p>
<p>At this time, I found a very cool tool named <a href="http://www.smush.it">Smush It</a>:  You enter your unoptimized image url, and Smush It will create a  perfectly optimized image for you. You can save up to 70% of the file  size, while keeping the original quality.</p>
<h3>Don&#8217;t mix CSS with HTML</h3>
<p>As  a markup language, the right use of HTML is to organize documents by  defining a header, a footer, lists, blockquotes, etc. Some time ago,  front-end web developers often used now deprecated HTML attributes to  style a particular element.</p>
<p>Nowadays, the <em>style</em> attribute  allows developers to insert CSS directly into a html document. This is  very useful for testing or when you&#8217;re in a hurry. But the <em>style</em> attribute is bad practice, that goes completely against the CSS philosophy.</p>
<p>The following example illustrates how dirty and hard to read a simple line of code can become, with the <em>style</em> attribute:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;a href=&quot;http://www.610design.com&quot; style=&quot;background:#069;padding:3px;font-weight:bold;color:#fff;&quot;&gt;610 Design&lt;/a&gt;
</pre>
<h3>Don&#8217;t mix Javascript with HTML</h3>
<p>Just like mixing your html  code with css is bad practice, you shouldn&#8217;t use any Javascript in your  html documents. The following bad practice illustrates an <em>onclick</em> event:</p>
<pre class="brush: jscript; title: ; notranslate">
&lt;a id=&quot;cwc&quot; href=&quot;http://www.610design.com&quot; onclick=&quot;alert('I love this site!');&quot;&gt;610 design&lt;/a&gt;
</pre>
<p>The same result can be achieved using unobstructed Javascript. In this example, I&#8217;m using the popular jQuery framework:</p>
<pre class="brush: jscript; title: ; notranslate">
$(document).ready(function() {
  $('#cwc').click(function() {
    alert('I love this website');
  });
});
</pre>
<p>This may seems a bit harder at first, especially for beginners; but it  is definitely not, and it will keep your html document clean.</p>
<h3>Use conditional comments</h3>
<p>You know it, IE sucks, and some  clients suck even more by requiring you to create webpages which are  compatible with this obsolete browser. To target specific versions of  IE, you can use the well known IE hacks, as shown below:</p>
<pre class="brush: css; title: ; notranslate">
height: 200px; /* normal browsers */
_height: 300px; /* IE6 */
.height: 250px; /* IE7 */
*height: 350px; /* All IEs */
</pre>
<p>Those hacks are extremely useful sometimes, but they are not the  best way to target a specific version of IE, and it will cause your CSS  validation to fail.</p>
<p>Instead, you should use the conditional comment shown below to target IE6.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;link href=&quot;style.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;

&lt;!--[if lte IE 6]&gt;
  &lt;link href=&quot;ie.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;
&lt;![endif]--&gt;
</pre>
<h3>Place Javascript file at the bottom</h3>
<p>A popular practice of the late 90&#8242;s/early 2000&#8242;s was to place Javascript files within the <em>&lt;head&gt;</em> and <em>&lt;/head&gt;</em> tags. The problem is that your javascript files will be loaded first, and consequently your content will be loaded after.</p>
<p>By  placing Javascript files at the bottom of your documents, you&#8217;ll ensure  that JS files will be loaded only when the content has been properly  displayed.</p>
<pre class="brush: xml; title: ; notranslate">
    ...
    &lt;script type='text/javascript' src='jquery.js?ver=1.3.2'&gt;&lt;/script&gt;
  &lt;/body&gt;
&lt;/html&gt;
</pre>
<h3>Use HTML semantically</h3>
<p>HTML is not a programming language. It  is a markup language, used to create structured documents by denoting  structural semantics for text such as headings, paragraphs, lists, and  more.</p>
<p>If you started to create websites in the good old 90&#8242;s or in  the beginning of the century, you know how dirty the markup was at the  time. But happilly, it has evolved.<br />
  Among other things, it is  important to use html element semantically. As an example, a navigation  menu should always be an unordered list:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Home&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#&quot;&gt;About&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Contact&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Blog&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
  </pre>
<h3>Test WHILE you build to avoid cross-browser issues</h3>
<p>One of  the biggest mistake I ever made when developing html, CSS, and  javascript, was not to test my pages on multiple browser while I was  writing them. Instead, I used to write all my code and just view in  Firefox to see how it was rendered.</p>
<p>In theory, this should be good.  But as you know, cross-browser issues are a major problem for front-end  developers, especially due to IE. If you test your documents on  Firefox/IE/Chrome while your writing it, cross-browser rendering  problems will be much easier to fix. I have lost hours not doing it, so  I hope this final tip will help you saving your precious time. To test  on multiple versions of IE, I use <a href="http://spoon.net/browsers/" target="_blank">this very handy tool</a>.</p>
<p class="source">Source: <a href="http://www.catswhocode.com">Cats who code</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.610design.com/design/10-tips-for-front-end-web-developers/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Learning jQuery: 11 excellent resources</title>
		<link>http://www.610design.com/coding/learning-jquery-11-excellent-resources/</link>
		<comments>http://www.610design.com/coding/learning-jquery-11-excellent-resources/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 18:27:56 +0000</pubDate>
		<dc:creator>schoey</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[tutorials]]></category>
		<category><![CDATA[designers]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[resources]]></category>

		<guid isPermaLink="false">http://www.610design.com/?p=216</guid>
		<description><![CDATA[Blog posts with tons of jQuery scripts are pretty cool, but you&#8217;ll have to know how to use them first. To be able to use these scripts, you&#8217;ll have to learn jQuery first. For that, here is a list of the best resources for learning how to use the javascript framework. 1. jQuery tutorials This [...]]]></description>
			<content:encoded><![CDATA[<p>Blog posts with tons of jQuery scripts are pretty cool, but you&#8217;ll have to know how to use them first. To be able to use these scripts, you&#8217;ll have to learn jQuery first. For that, here is a list of the best resources for learning how to use the javascript framework.</p>
<h3>1. <a href="http://docs.jquery.com/Tutorials" target="_blank">jQuery tutorials</a></h3>
<p>This is a page that lists a comprehensive list of quality tutorials in several languages, I&#8217;ve been learning a lot from there.</p>
<h3>2. <a href="http://docs.jquery.com/Main_Page" target="_blank">jQuery docs</a></h3>
<p>Not for beginners, but this section will let you browse references and find most of the informations that you could need.</p>
<h2>Blogs and websites</h2>
<p>Like for other popular frameworks, jQuery gets some websites dedicated to it. The following websites are great resources for anyone wanting to learn jQuery.</p>
<h3>3. <a href="http://www.learningjquery.com/" target="_blank">Learning jQuery</a></h3>
<p>Multi-author weblog providing jQuery tutorials, demos, and announcements. There is tutorials for all skill levels.</p>
<h3>4. <a href="http://www.jqueryfordesigners.com/" target="_blank">jQuery for Designers</a></h3>
<p>One of my favorite jQuery related resources for visual effects.</p>
<h3>5. <a href="http://www.learnjquerynow.com/" target="_blank">Learn jQuery Now</a></h3>
<p>Lots of great tips and tutorials for the jQuery learner.</p>
<h3>6. <a href="http://blog.themeforest.net/screencasts/jquery-for-absolute-beginners-video-series/" target="_blank">jQuery for absolute beginners video series</a></h3>
<p>If you are starting from scratch, these videos will explain you in details how to do some things with jQuery.</p>
<h3>7. <a href="http://jquery-howto.blogspot.com/" target="_blank">jQuery How-To</a></h3>
<p>A tutorial blog for jQuery, good to follow for great advice.</p>
<h3>8. <a href="http://visualjquery.com/1.1.2.html" target="_blank">Visual jQuery</a></h3>
<p>Not exactly a place to learn jQuery, but I understood a lot about the framework by getting a visual overview of the functions.</p>
<h2>Books about jQuery</h2>
<p>Some people learn better from books, the best advantage of working with it is that you&#8217;ll get a better overview and deeper understanding of the topic.</p>
<h3>9. <a href="http://www.amazon.com/gp/product/1933988355?ie=UTF8&amp;tag=desidail-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=1933988355" target="_blank">jQuery in Action</a></h3>
<p>This book introduces you to the jQuery programming model and guides you through the major features and techniques you&#8217;ll need to be productive immediately.</p>
<h3>10. <a href="http://www.amazon.com/gp/product/0321647491?ie=UTF8&amp;tag=desidail-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0321647491" target="_blank">jQuery: Visual QuickStart Guide</a></h3>
<p>This book will teach readers how to make the most of jQuery using the task-based, step-by-step, visual format.</p>
<h3>11. <a href="http://www.amazon.com/gp/product/0596159773?ie=UTF8&amp;tag=desidail-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0596159773" target="_blank">jQuery Cookbook</a></h3>
<p>Learn how to add components from the jQuery library to your websites and web applications, with detailed recipes for tasks ranging from basic integration to complex user interface development.</p>
<p class="source">Source: <a href="http://www.designer-daily.com/">Designer Daily</a></p>
<hr />
]]></content:encoded>
			<wfw:commentRss>http://www.610design.com/coding/learning-jquery-11-excellent-resources/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Fail at Your Design Business</title>
		<link>http://www.610design.com/tutorials/how-to-fail-at-your-design-business/</link>
		<comments>http://www.610design.com/tutorials/how-to-fail-at-your-design-business/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 21:58:52 +0000</pubDate>
		<dc:creator>610design</dc:creator>
				<category><![CDATA[tutorials]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[how-to]]></category>

		<guid isPermaLink="false">http://www.610design.com/?p=132</guid>
		<description><![CDATA[This is it. You’ve worked many long, hard hours developing your Pen tool skills in Illustrator to the point you could probably add “Pen Tool Ninja” to your business card. You’ve learned so much about graphic design that your head is bigger than Rush Limbaugh’s waistline. You know so much about web design that you [...]]]></description>
			<content:encoded><![CDATA[<p>This is it. You’ve worked many long, hard hours developing your Pen tool skills in Illustrator to the point you could probably add “Pen Tool Ninja” to your business card. You’ve learned so much about graphic design that your head is bigger than Rush Limbaugh’s waistline. You know so much about web design that you pretty much invented the Internet. Now’s the time.</p>
<p>You’re starting your own design business.</p>
<p>Running your own design business is part awesome, part OHGODWHATHAVEIDONE. You’ll find tons of How to articles online, dealing with how to be a successful designer slash businessman. But where can you find an article on how to fail at your design business? Right here, readers. Read on for step 1.</p>
<h3>Suck at design</h3>
<p>Step one to failing at running your own design business is to be terrible at design. Use Comic Sans. Have a cute mouse follow the cursor on websites you build. Why use a subtle gradient when you can use a yellow-to-purple gradient, plus embossing, drop shadows and letterpress technique? Be careful though; you can learn to NOT suck if you listen to your peers and seek out constructive criticism on your designs. Avoid this at all costs.</p>
<p><strong>Lesson:</strong> be good at what you do, and seek feedback to keep getting better.</p>
<h3>Do everything yourself</h3>
<p>If you want to fail at your design business, then you should do everything yourself. I’m talking about developing a marketing plan; doing all the accounting; sales; project management; web design; print design; content-management-implementation; identity design and more. Yup – if you do everything yourself, not only will you fail spectacularly – you will probably be bald and malnourished by the time you get to the point of fail.</p>
<p><strong>Lesson:</strong> learn to let go. Hire or subcontract to people you trust, and give them the power to make decisions.</p>
<h3>Deadlines are for losers</h3>
<p>You know what sucks? Conan O’Brien getting the boot from the Tonight Show. You know what else sucks? Deadlines.</p>
<p>Deadlines totally hinder the creative process by making you work efficiently and in a focused manner. Plus, deadlines mean that you actually have to get your work to your client at a pre-determined date so the project can move forward. Such rigid structure in a creative field? No thanks. Plus, your clients actually don’t want you to hit their deadlines. By missing their deadlines, you’re essentially saying to them “You can’t hold me down. I’m a creative REBEL – like a deadly combo of James Dean and David Carson”. Clients find this sexy and will totally call you the next time a project comes up.</p>
<p><strong>Lesson: </strong>learn to work with, respect, and hit both yours and your clients’ deadlines.</p>
<h3>Treat design like art, not business</h3>
<p>The phrase “design business” is sort of an oxymoron, because design is art, like everyone knows. It’s sort of like saying “check out my wicked angel tattoo” – we all know angels aren’t wicked except in that new Legion movie (which totally looks great and definitely not like the worst movie of all time).</p>
<p>I digress. Make sure your clients know that design is art, and if they don’t like your proposed design concepts, it’s because “they just don’t get your art”. As well, a surefire way to effectively gain new clients is to speak YOUR language (art) and not theirs (business). For example, if you’re trying to land a new web design job, be sure to talk about very specific art principles and theories in order to impress them. Avoid, at all costs, talking about how the website you can build for them will increase sales/their bottom line/conversions/anything  measurable. Your clients are business people, and business people hate measurable results.</p>
<p><strong>Lesson:</strong> if you’re starting a design business, recognize it is a business and treat it like such. Learn the language and best practices of business and combine that with your creative skills to be successful.</p>
<h3>Remove ‘No’ from your vocabulary</h3>
<p>If you want to your design business to fail, always say “Yes”. No matter what the deadline is; no matter what the budget is; no matter what else you have on your plate – always say yes. This will ensure failure just like signing Michael Bay on to direct your film will ensure lots of explosions (and deep, thought-provoking dialogue).</p>
<p>The problem with saying “No” is that you end up being selective with your clients and taking on projects that suit your style and goals. Since we’re talking about failure here, we need to say “Yes” to everything – that $50 logo design job that needs to be done tomorrow, that $200 web design job proposed by that guy whose belt is made up of the bones of past designers – everything. So make a rule and hang it in Comic Sans above your workstation: “No is not in our vocabulary”.</p>
<p><strong>Lesson: </strong>sometimes it’s tough, but you have to learn to be able to say no in order to succeed. Not every job is ideal, and not every client is a great match. Learn to see the good ones in advance, and know your limits.</p>
<p>These are only a few way to fail at your design business – there are many more. What are your favorite ways to fail?</p>
<p class="source">Source: <a href="http://www.inspiredm.com" target="_blank">inspiredm</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.610design.com/tutorials/how-to-fail-at-your-design-business/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An Introduction to JavaScript&#8217;s &#8220;this&#8221;</title>
		<link>http://www.610design.com/coding/an-introduction-to-javascripts-this/</link>
		<comments>http://www.610design.com/coding/an-introduction-to-javascripts-this/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 12:19:55 +0000</pubDate>
		<dc:creator>schoey</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[tutorials]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.610design.com/?p=74</guid>
		<description><![CDATA[JavaScript is an amazing little language, but it&#8217;s got some quirks that turn a lot of people off. One of those quirks is this, and how it&#8217;s not necessarily what you expect it to be. this isn&#8217;t that complicated, but there are very few explanations of how it works on the internet. I find myself [...]]]></description>
			<content:encoded><![CDATA[<p>JavaScript is an amazing little language, but it&#8217;s got some quirks that turn a lot of people off. One of those quirks is <code>this</code>, and how it&#8217;s not necessarily what you expect it to be. <code>this</code> isn&#8217;t that complicated, but there are very few explanations of how it works on the internet. I find myself constantly re-explaining the concept to those who are new to JavaScript development. This article is an attempt to explain how <code>this</code> works and how to use it properly.</p>
<h2>What is <code>this</code>?!</h2>
<p><code>this</code> is the current object. People that are used to object oriented languages use objects constantly, and <code>this</code> is how you access your object in JavaScript. This differs from Java and C++. This is best demonstrated by example, so let&#8217;s take a look.</p>
<pre class="brush: jscript; title: ; notranslate">
class HotDog {

public:
     string getCondiments();
private:
     string condiments;
}

string HotDog::getCondiments() {

    return condiments; // The compiler knows to find &quot;condiments&quot; in the current HotDog instance
}
</pre>
<p>Ruby and Python don&#8217;t work this way. Instead, you must say &quot;look for this variable in the current instance&quot;;</p>
<pre class="brush: jscript; title: ; notranslate">
class HotDog:
    condiments
    def getCondiments(self):
         return self.condiments # &quot;self&quot; is a reference to the
         current instance of HotDog.
</pre>
<pre class="brush: jscript; title: ; notranslate">
  class HotDog
         @condiments
         def getCondiments
              return @condiments # @condiments is an instance
              variable of an instance of HotDog

         end
    end
</pre>
<p>JavaScript has more in common with Ruby and Python than with Java and C++. The same thing in JavaScript is:</p>
<pre class="brush: jscript; title: ; notranslate">
function HotDog() {
    this.condiments = &quot;mustard, ketchup&quot;;
    this.getCondiments = function() {

         return this.condiments; //this is expected to be a reference to the current instance
    }
}
</pre>
<p>That&#8217;s what <code>this</code> is expected to be, anyway. It&#8217;s expected to be a reference to the current instance of whatever object it&#8217;s defined within.</p>
<h3><code>this</code> Gets Tricky</h3>
<p>However, let&#8217;s say we wanted to find out what condiments were on our hotdog in 30 seconds. Assuming the HotDog class from above, that code might look like this:</p>
<pre class="brush: jscript; title: ; notranslate">
var myHotDog = new HotDog();

// Call the getCondiments function in 3 seconds
setTimeout(myHotDog.getCondiments, 3000);
</pre>
<p>Many JavaScript beginners are surprised to learn that this code won&#8217;t work. It&#8217;ll give an error saying that <code>this</code> doesn&#8217;t have a member called <code>condiments</code>, even though it clearly does. What happened?!</p>
<p>As it turns out, <code>this</code> in the <code>getCondiments</code> function is set to the global object, <code>window</code>. This is because there is no binding of functions to instances in JavaScript. Whenever the instance isn&#8217;t explicitly stated, then <code>this</code> becomes <code>window</code> (at least in the browser). Writing this as <code>myHotDog.getCondiments()</code> indicates that you want <code>this</code> to be <code>myHotDog</code>, so it works correctly. The <code>setTimeout</code> function, however, just has a reference to that function. When it calls it, it&#8217;s not aware of <code>myHotDog</code>, so JavaScript sets <code>this</code> to <code>window</code></p>
<h2>&quot;Fixing&quot;; <code>this</code></h2>
<p>There are several ways of forcing this to be what you want, and many of them touch on some of the more interesting features available in JavaScript. The first is <code>apply</code>. <code>apply</code> is a member of every function. It says &quot;call this function with this object as this and these arguments. An example might help.</p>
<pre class="brush: jscript; title: ; notranslate">
// These two are equivalent
myHotDog.getCondiments();
myHotDog.getCondiments.apply(myHotDog);

// You could also do this
var yourHotDog = new HotDog();
myHotDog.getCondiments.apply(yourHotDog);

// The above line does the same thing as:
yourHotDog.getCondiments();

// The above two calls will return the condiments off of your hot dog, not mine.
</pre>
<p>That doesn&#8217;t solve our <code>setTimeout</code> problem, however. <code>apply</code> actually calls the function, and we just want a reference to the function that uses the correct <code>this</code>. Luckily this is easily done, but let&#8217;s talk about some background first.</p>
<h3>Lexical Scoping</h3>
<p>In many languages (all the good ones, if you ask me), <a href="http://en.wikipedia.org/wiki/Scope_%28programming%29#Static_scoping_.28also_known_as_lexical_scoping.29">lexical scoping</a> is supported. Lexical scoping basically allows you to access local variables in a parent function. If a function is defined within another function, it can access its own local variables as well as those of the function it was defined within. Time for another example.</p>
<pre class="brush: jscript; title: ; notranslate">
function drinkBeer() {
    var beer = &quot;Big Daddy IPA&quot;;
    function pour() {

         var glass = &quot;Pint Glass&quot;;
         return &quot;Poured &quot; + beer + &quot; into a &quot; + glass;
   }

   function drink() {
         beer = null;
         return &quot;Beer is all gone&quot;;
   }

   pour();
   drink();
}
drinkBeer();
</pre>
<p>This works just fine. <code>drinkBeer</code> cannot access <code>glass</code>, but <code>pour</code> and <code>drink</code> can access <code>beer</code>.</p>
<p>Lexical scoping is extremely powerful. If this small example doesn&#8217;t explain it, I encourage you to look around other examples on the internet until it&#8217;s more clear. While writing JavaScript, look out for ways this can make your life easier. Once you&#8217;re looking, they&#8217;re all over the place.</p>
<h3>Solving our <code>setTimeout</code> Problem</h3>
<p>With lexical scoping, we can easily solve our <code>setTimeout</code> problem.</p>
<pre class="brush: jscript; title: ; notranslate">
var myHotDog = new HotDog();
setTimeout(function() {
    myHotDog.getCondiments();
}, 3000);
</pre>
<p>See what we did there? We created a new function that we passed to <code>setTimeout</code>. Our new function can access <code>myHotDog</code>, so it just applies it to the <code>getCondiments</code> function. Pretty slick.</p>
<h3>Defending against <code>this</code> abuse</h3>
<p>As somebody writing the <code>HotDog</code> class, it might be upsetting to you that people constantly need to keep <code>this</code> in mind when accessing your class. It would be nicer if there was a way to make your class work all the time. Fortunately, there is!</p>
<pre class="brush: jscript; title: ; notranslate">
function HotDog() {
    var my = this; // my references the current this, which is correct.
    my.condiments = &quot;mustard, ketchup&quot;;
    my.getCondiments = function() {
         return my.condiments; //my is guaranteed to be a reference to the original &quot;this&quot;
    }
}
</pre>
<p><code>HotDog</code> is a constructor. You instantiate a new instance of <code>HotDog</code> by writing &quot;<code>new HotDog()</code>&quot;. In constructors, <code>this</code> is always your instance. So we created a new variable, my, that references the <code>HotDog</code> instance. This allows you to always refer to the <code>HotDog</code> instance, no matter how the <code>getCondiments</code> function is called.</p>
<h3>Bind</h3>
<p>Another method of &quot;fixing&quot;; <code>this</code> is adding a <code>bind</code> attribute to every function. This allows you to pass in an object that will be your <code>this</code>. Many JavaScript libraries, such as <a href="http://www.prototypejs.org/">Prototype</a>, do this.</p>
<pre class="brush: jscript; title: ; notranslate">
var boundFunction = myHotDog.getCondiments.bind(myHotDog);
</pre>
<p>Now <code>boundFunction</code> will always call <code>getCondiments</code> with <code>this</code> set to <code>myHotDog</code>. If you&#8217;ve been paying attention, it should be fairly obvious how bind is written.</p>
<pre class="brush: jscript; title: ; notranslate">
function bind(thisObject) {
    var my = this; // this is the function here
    return function() {
        my.apply(thisObject);
    }
}
</pre>
<h2>Whew</h2>
<p>That&#8217;s pretty much all you need to know about <code>this</code>.</p>
<ul>
<li><code>this</code> will be <code>window</code> whenever your function is indirectly called.</li>
<li>Use <code>apply</code> to force <code>this</code> to be what you want</li>
<li>You can use lexical scoping to make sure <code>this</code> behaves in a predictable manner</li>
</ul>
<p>I hope that&#8217;s clear, comment if it&#8217;s not!</p>
<p class="source">Source: <a href="http://justin.harmonize.fm/index.php/2009/09/an-introduction-to-javascripts-this/" target="_blank">Caffeinated Simpleton</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.610design.com/coding/an-introduction-to-javascripts-this/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

