<?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/" version="2.0">

<channel>
	<title>Scott Robbin » Tips &amp; Tricks</title>
	
	<link>http://srobbin.com</link>
	<description>A web developer from Chicago, Illinois</description>
	<lastBuildDate>Mon, 10 Jun 2013 15:16:43 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/srobbin-tips-and-tricks" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="srobbin-tips-and-tricks" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>An oscillating fan using CSS transforms and keyframes</title>
		<link>http://srobbin.com/blog/an-oscillating-fan-using-css-transforms-and-keyframes/</link>
		<comments>http://srobbin.com/blog/an-oscillating-fan-using-css-transforms-and-keyframes/#comments</comments>
		<pubDate>Thu, 05 Jul 2012 14:44:06 +0000</pubDate>
		<dc:creator>Scott Robbin</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tips & Tricks]]></category>

		<guid isPermaLink="false">http://srobbin.com/?p=1175</guid>
		<description><![CDATA[A mesmerizing demo of an oscillating fan built with CSS transforms and keyframes. Also, this is my introduction to CodePen, a community of front-end developers sharing what they know.]]></description>
				<content:encoded><![CDATA[<p>A mesmerizing demo of <a href="http://codepen.io/phanza/pen/fan/1">an oscillating fan built with CSS transforms and keyframes</a>. Also, this is my introduction to <a href="http://codepen.io/">CodePen</a>, a community of front-end developers sharing what they know.</p>
<p><img class="alignnone size-full wp-image-1176" title="Oscillating Fan made with CSS" src="http://srobbin.com/wp-content/uploads/2012/07/fan-e1341499534362.jpg" alt="" width="598" height="238" /></p>
]]></content:encoded>
			<wfw:commentRss />
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery Scroll Path</title>
		<link>http://srobbin.com/blog/jquery-scroll-path/</link>
		<comments>http://srobbin.com/blog/jquery-scroll-path/#comments</comments>
		<pubDate>Fri, 15 Jun 2012 18:54:09 +0000</pubDate>
		<dc:creator>Scott Robbin</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Tips & Tricks]]></category>

		<guid isPermaLink="false">http://srobbin.com/?p=1170</guid>
		<description><![CDATA[A clever and fun plugin that lets you draw a custom scroll path for your webpage. ]]></description>
				<content:encoded><![CDATA[<p>A clever and fun plugin that lets you define a custom scroll path for your webpage. <a title="jQuery Scroll Path" href="http://joelb.me/scrollpath/">Check out the demo</a>.</p>
<p><img class="alignnone size-full wp-image-1171" title="jQuery Scroll Path" src="http://srobbin.com/wp-content/uploads/2012/06/scrollpath.png" alt="" width="600" height="358" /></p>
]]></content:encoded>
			<wfw:commentRss />
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fixie.js: Lorem Ipsum on the fly</title>
		<link>http://srobbin.com/blog/fixie/</link>
		<comments>http://srobbin.com/blog/fixie/#comments</comments>
		<pubDate>Thu, 07 Jun 2012 17:00:52 +0000</pubDate>
		<dc:creator>Scott Robbin</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Tips & Tricks]]></category>

		<guid isPermaLink="false">http://srobbin.com/?p=1131</guid>
		<description><![CDATA[Just add a bit of JavaScript to your web page, then add “fixie” classes to elements that you’d like populated with Lorem Ipsum text. Looks like a real time-saver for prototyping.]]></description>
				<content:encoded><![CDATA[<p><a href="http://fixiejs.com/">Fixie</a> is a neat idea. Just add a bit of JavaScript to your web page, then add &#8220;fixie&#8221; classes to elements that you&#8217;d like populated with Lorem Ipsum text. Looks like a real time-saver for prototyping.</p>
<pre rel="JavaScript"><code>&lt;script type="text/javascript" src="https://raw.github.com/rthprog/fixie/master/fixie_min.js"&gt;&lt;/script&gt;</code></pre>
<pre rel="HTML"><code>&lt;p class="fixie"&gt;&lt;/p&gt;</code></pre>
<p>It even handles lists, headers, etc&#8230;</p>
<p><img src="http://srobbin.com/wp-content/uploads/2012/06/fixie_sample.png" alt="" title="Fixie Sample" class="scale" style="border: 1px solid #efefef"  /></p>
<p><a href="http://fixiejs.com/" target="_blank">http://fixiejs.com/</a></p>
]]></content:encoded>
			<wfw:commentRss />
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>3D CSS Book Covers</title>
		<link>http://srobbin.com/blog/3d-css-book-covers/</link>
		<comments>http://srobbin.com/blog/3d-css-book-covers/#comments</comments>
		<pubDate>Tue, 22 May 2012 18:54:18 +0000</pubDate>
		<dc:creator>Scott Robbin</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Tips & Tricks]]></category>

		<guid isPermaLink="false">http://srobbin.com/?p=1011</guid>
		<description><![CDATA[Create 3D book covers using CSS transforms, with pretty nice results.]]></description>
				<content:encoded><![CDATA[<p><img class="scale" title="books" src="http://srobbin.com/wp-content/uploads/2012/05/books.jpg" alt="" width="718" height="403" /></p>
<p>You&#8217;ve seen them before, the angled shots of books like the ones above. I always thought that someone photographed them. That is, until recently, when I helped a friend redo his author website. He showed me <a href="http://www.boxshot3d.com/">Box Shot 3D</a>, a program that turns book covers into three-dimensional books. I wanted to see if we could replicate a 3D book cover with CSS only. Turns out you can, with pretty nice results. In fact, the screenshot above is an image of a CSS rendering for three of <a href="http://www.amazon.com/Patrick-Somerville/e/B001JSCMJY/ref=ntt_athr_dp_pel_1">Patrick&#8217;s books</a>. Here&#8217;s how it&#8217;s done:</p>
<p>First, you&#8217;ll need a image of a book cover:</p>
<p><img class="alignnone size-full wp-image-1015" title="This Bright River by Patrick Somerville" src="http://srobbin.com/wp-content/uploads/2012/05/book.jpg" alt="" width="210" height="317" /></p>
<p>1. Wrap the <code>img</code> in some HTML, like so:</p>
<pre rel="HTML"><code>&lt;div class=&quot;books&quot;&gt;
  &lt;div class=&quot;book&quot;&gt;
    &lt;img src=&quot;book.jpg&quot; /&gt;
  &lt;/div&gt;
&lt;/div&gt;
</code></pre>
<p>2. Include <a href="http://modernizr.com/">Modernizr</a>, so that you can detect support for 3D transforms. <em>Note: if you&#8217;re unsure how to use Modernizr, just include <a href="https://gist.github.com/2773397" title="Convenience gist for including Modernizr with 3D CSS Transform detection">this code</a> at the bottom of your HTML file, before the closing <code>&lt;/body&gt;</code> tag.</em></p>
<p>3. Apply the following styles:</p>
<pre rel="CSS"><code>/* Fallback styles */
.book {
  display: inline-block;
  box-shadow: 5px 5px 20px #333;
  margin: 10px;
}

.book img { vertical-align: middle; }

/*
 *  In order for this to work, you must use Modernizer
 *  to detect 3D transform browser support. This will add
 *  a "csstransforms3d" class to the HTML element.
 *
 *  Visit http://modernizr.com/ for installation instructions
 */

.csstransforms3d  .books {
  -moz-perspective: 100px;
  -moz-transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
}

.csstransforms3d  .book {
  position: relative;
  -moz-perspective: 100px;
  -moz-transform: rotateY(-3deg);
  -webkit-transform: perspective(100) rotateY(-3deg);
  outline: 1px solid transparent; /* Helps smooth jagged edges in Firefox */
  box-shadow: none;
  margin: 0;
}

.csstransforms3d  .book img {
  position: relative;
  max-width: 100%;
}

.csstransforms3d  .book:before,
.csstransforms3d  .book:after {
  position: absolute;
  top: 2%;
  height: 96%;
  content: ' ';
  z-index: -1;
}

.csstransforms3d  .book:before {
  width: 100%;
  left: 7.5%;
  background-color: #5a2d18;
  box-shadow: 5px 5px 20px #333;
}

.csstransforms3d  .book:after {
  width: 5%;
  left: 100%;
  background-color: #EFEFEF;
  box-shadow: inset 0px 0px 5px #aaa;
  -moz-transform: rotateY(20deg);
  -webkit-transform: perspective(100) rotateY(20deg);
}</code></pre>
<p>What happens in browsers that don&#8217;t support 3D transforms, you ask? They degrade quite nicely:</p>
<p><img src="http://srobbin.com/wp-content/uploads/2012/05/book_degrade2.jpg" alt="" title="3D CSS Book Covers on non-Webkit Browsers" width="742" height="383" class="scale" /></p>
<p>Placing several books in a row is easy. Just replicate the book DIVs, and style the back covers accordingly.</p>
<pre rel="HTML"><code>&lt;div class=&quot;books&quot;&gt;
  &lt;div id=&quot;book1&quot; class=&quot;book&quot;&gt;
    &lt;img src=&quot;book.jpg&quot; /&gt;
  &lt;/div&gt;
  &lt;div id=&quot;book2&quot; class=&quot;book&quot;&gt;
    &lt;img src=&quot;book2.jpg&quot; /&gt;
  &lt;/div&gt;
  &lt;div id=&quot;book3&quot; class=&quot;book&quot;&gt;
    &lt;img src=&quot;book3.jpg&quot; /&gt;
  &lt;/div&gt;
&lt;/div&gt;</code></pre>
<pre rel="CSS"><code>.csstransforms3d  #book2:before { background-color: #333; }
.csstransforms3d  #book3:before { background-color: #254053; }</code></pre>
<p>I&#8217;ll leave you with a live preview (for those viewing in modern versions of Chrome, Safari, or Firefox):</p>
<div class="books">
<div id="book1" class="book">
    <img src="http://srobbin.com/wp-content/uploads/2012/05/book4.jpg" width="165" />
  </div>
<div id="book2" class="book">
    <img src="http://srobbin.com/wp-content/uploads/2012/05/book5.jpg" width="165" />
  </div>
<div id="book3" class="book">
    <img src="http://srobbin.com/wp-content/uploads/2012/05/book7.jpeg" width="165" />
  </div>
</div>
<p><br class="sr" /></p>
<hr />
<p><em>Update 5/22/2012</em>: After several requests, I&#8217;ve modified this code to support Firefox in addition to Chrome and Safari. In order to do so, I needed to require the use of <a href="http://modernizr.com/">Modernizr</a>, so that we could detect support for 3D transforms.</p>
]]></content:encoded>
			<wfw:commentRss />
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Data Visualization Tools</title>
		<link>http://srobbin.com/blog/data-visualization-tools/</link>
		<comments>http://srobbin.com/blog/data-visualization-tools/#comments</comments>
		<pubDate>Mon, 21 May 2012 15:27:33 +0000</pubDate>
		<dc:creator>Scott Robbin</dc:creator>
				<category><![CDATA[Tips & Tricks]]></category>

		<guid isPermaLink="false">http://srobbin.com/?p=997</guid>
		<description><![CDATA[A nice, comprehensive gallery of data visualization tools.]]></description>
				<content:encoded><![CDATA[<p>A nice, comprehensive <a href="http://selection.datavisualization.ch/">gallery of data visualization tools</a>.</p>
<p><a class="thumb" href="http://selection.datavisualization.ch/"><img class="scale" title="Datavisualization.ch" src="http://srobbin.com/wp-content/uploads/2012/05/selection.datavisualization.ch_.png" alt="" width="600" height="420" /></a></p>
<p>via <a href="http://www.swiss-miss.com/2012/05/selected-data-visualization-tools.html">swissmiss</a></p>
]]></content:encoded>
			<wfw:commentRss />
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sharing aliases and other bash configurations using Dropbox</title>
		<link>http://srobbin.com/blog/sharing-aliases-and-other-bash-configurations-using-dropbox/</link>
		<comments>http://srobbin.com/blog/sharing-aliases-and-other-bash-configurations-using-dropbox/#comments</comments>
		<pubDate>Tue, 16 Aug 2011 20:59:06 +0000</pubDate>
		<dc:creator>Scott Robbin</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tips & Tricks]]></category>

		<guid isPermaLink="false">http://srobbin.com/blog/?p=915</guid>
		<description><![CDATA[I have two computers: one at work and one at home. Dropbox has been a fantastic way for me to effortlessly share files between the two. I often setup aliases, and other bash configurations, in my .bash_profile to make life easier. Though, sometimes I&#8217;m not so careful; I&#8217;ll set something up on one computer, but [...]]]></description>
				<content:encoded><![CDATA[<p>I have two computers: one at work and one at home. Dropbox has been a fantastic way for me to effortlessly share files between the two.</p>
<p>I often setup aliases, and other bash configurations, in my <code>.bash_profile</code> to make life easier. Though, sometimes I&#8217;m not so careful; I&#8217;ll set something up on one computer, but forget to do it on the other.</p>
<p>Sharing configurations across two computers is easy thanks to Dropbox. Here&#8217;s how:</p>
<ol>
<li>Create a file in your Dropbox. I called mine <code>.bash_profile_shared</code>, and stored it in the root Dropbox folder, for consistency&#8217;s sake, but you can call whatever you like, and store it anywhere on Dropbox.</li>
<li>Edit your local <code>.bash_profile</code> file, and add this as the first line of your script: <code>source ~/Dropbox/.bash_profile_shared</code>, or whatever you named your shared Dropbox file.</li>
<li>Reload your Terminal, or <code>source ~/.bash_profile</code></li>
</ol>
<p>And, that&#8217;s it. Anytime you&#8217;d like to share a config, just add it the <code>.bash_profile_shared</code> file in Dropbox (and wait for it to sync).</p>
]]></content:encoded>
			<wfw:commentRss />
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Django 1.1 on the Google App Engine SDK</title>
		<link>http://srobbin.com/blog/django-1-1-on-the-google-app-engine-sdk/</link>
		<comments>http://srobbin.com/blog/django-1-1-on-the-google-app-engine-sdk/#comments</comments>
		<pubDate>Mon, 06 Sep 2010 17:36:59 +0000</pubDate>
		<dc:creator>Scott Robbin</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[app engine]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://srobbin.com/blog/?p=848</guid>
		<description><![CDATA[If you&#8217;ve used Django 1.1 App Engine, or are trying to, then you&#8217;ve probably read the instructions on how replace Django 0.96 with 1.1. That all fine an dandy in a production environment, but what about local development? Perhaps you&#8217;ve seen the following error message? UnacceptableVersionError: django 1.1 was requested, but 1.2.1.final.0 is already in [...]]]></description>
				<content:encoded><![CDATA[<p>If you&#8217;ve used Django 1.1 App Engine, or are trying to, then you&#8217;ve probably read the i<a title="Django 1.1 on Google App Engine" href="http://code.google.com/appengine/docs/python/tools/libraries.html#Django">nstructions on how replace Django 0.96 with 1.1</a>. That all fine an dandy in a production environment, but what about local development? Perhaps you&#8217;ve seen the following error message?</p>
<blockquote><p>
<code>UnacceptableVersionError: django 1.1 was requested, but 1.2.1.final.0 is already in use<br />
</code>
</p></blockquote>
<p></p>
<p>Me too. After mucking around a bit, I&#8217;ve figured out an acceptable workaround:</p>
<p>First, <a href="http://www.djangoproject.com/download/1.1.1/tarball/">download Django 1.1.1</a> and place it somewhere on your hard drive (I put mine on <a href="http://www.dropbox.com/referrals/NTUxNTA0Njk">Dropbox</a>, so that I could use this fix across multiple computers).</p>
<p>Then, modify your <code>main.py</code> from this:</p>
<blockquote>
<pre>
import os, sys,logging
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
    
from google.appengine.dist import use_library
use_library('django', '1.1')
</pre>
</blockquote>
<p></p>
<p>To look like this:</p>
<blockquote>
<pre>
import os, sys,logging
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

if os.environ.get('SERVER_SOFTWARE','').startswith('Devel'):
    sys.path.insert(0, "/your/local/path/to/Django-1.1.1/")
    
from google.appengine.dist import use_library
use_library('django', '1.1')
</pre>
</blockquote>
<p></p>
<p>Essentially, you&#8217;re telling App Engine that, when it&#8217;s in the Development environment (running on your local computer), it should prepend Django 1.1.1 to the system path. Then, a few lines down, when the App Engine SDK looks for Django, it will see that version first.</p>
]]></content:encoded>
			<wfw:commentRss />
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>W3 Total Cache</title>
		<link>http://srobbin.com/blog/w3-total-cache/</link>
		<comments>http://srobbin.com/blog/w3-total-cache/#comments</comments>
		<pubDate>Fri, 11 Jun 2010 14:55:12 +0000</pubDate>
		<dc:creator>Scott Robbin</dc:creator>
				<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[yslow]]></category>

		<guid isPermaLink="false">http://srobbin.com/blog/?p=765</guid>
		<description><![CDATA[If you&#8217;re looking to enable WP caching, and website performance optimizations, in one fell swoop, check out W3 Total Cache. It&#8217;s a fantastic plugin that will help improve your WordPress site&#8217;s performance. On a related note, I wrote a memo on Weightshift that covers performance tips for client websites. It&#8217;s a primer into the type [...]]]></description>
				<content:encoded><![CDATA[<p>If you&#8217;re looking to enable WP caching, and website performance optimizations, in one fell swoop, check out <a href="http://wordpress.org/extend/plugins/w3-total-cache/" title="W3 Total Cache">W3 Total Cache</a>. It&#8217;s a fantastic plugin that will help improve your WordPress site&#8217;s performance.</p>
<p>On a related note, I wrote a memo on Weightshift that covers <a href="http://weightshift.com/memo/making-client-sites-faster" title="Weightshift: Making Client Sites Faster">performance tips for client websites</a>. It&#8217;s a primer into the type of things we do for our projects, and presented in a way that&#8217;s CMS-agnostic.</p>
]]></content:encoded>
			<wfw:commentRss />
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Making WordPress Faster: Front-end Performance Tips</title>
		<link>http://srobbin.com/blog/making-wordpress-faster-front-end-performance-tips/</link>
		<comments>http://srobbin.com/blog/making-wordpress-faster-front-end-performance-tips/#comments</comments>
		<pubDate>Sat, 05 Jun 2010 21:31:01 +0000</pubDate>
		<dc:creator>Scott Robbin</dc:creator>
				<category><![CDATA[Chicago]]></category>
		<category><![CDATA[Presentation]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[wordcamp]]></category>
		<category><![CDATA[yslow]]></category>

		<guid isPermaLink="false">http://srobbin.com/blog/?p=740</guid>
		<description><![CDATA[The slides from a presentation that I gave today, at WordCamp Chicago. Thank you to everyone who came, asked questions and laughed at my half-assed jokes. Also, many, many thanks to Naz for styling my presentation. I&#8217;m very lucky to stand on the shoulders of a design giant.]]></description>
				<content:encoded><![CDATA[<p>The slides from a presentation that I gave today, at <a title="WordCamp Chicago 2010" href="http://wordcampchicago.com/">WordCamp Chicago</a>. Thank you to everyone who came, asked questions and laughed at my half-assed jokes.</p>
<div id="__ss_4419335" style="width: 425px;"><object id="__sse4419335" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=wpperformancev2slideshare-100605151708-phpapp02&amp;stripped_title=wp-performance-v2slideshare" /><param name="name" value="__sse4419335" /><param name="allowfullscreen" value="true" /><embed id="__sse4419335" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=wpperformancev2slideshare-100605151708-phpapp02&amp;stripped_title=wp-performance-v2slideshare" name="__sse4419335" allowscriptaccess="always" allowfullscreen="true"></embed></object></div>
<div style="width: 425px;"></div>
<div style="width: 425px;">Also, many, many thanks to <a href="http://blog.absenter.org/">Naz</a> for styling my presentation. I&#8217;m very lucky to stand on the shoulders of a design giant.</div>
]]></content:encoded>
			<wfw:commentRss />
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Should You Develop an App or Mobile Website?</title>
		<link>http://srobbin.com/blog/should-you-develop-an-app-or-mobile-website/</link>
		<comments>http://srobbin.com/blog/should-you-develop-an-app-or-mobile-website/#comments</comments>
		<pubDate>Fri, 30 Apr 2010 16:21:08 +0000</pubDate>
		<dc:creator>Scott Robbin</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[notanapp]]></category>

		<guid isPermaLink="false">http://srobbin.com/blog/?p=708</guid>
		<description><![CDATA[Before opening XCode or hiring a developer to build an iPhone/Android app, there are a few questions that you should ask yourself: Will my product require use of the camera, microphone or other device-specific hardware? Will it access the address book, media library or common user data? Will I charge for my product, using an [...]]]></description>
				<content:encoded><![CDATA[<p>Before opening XCode or hiring a developer to build an iPhone/Android app, there are a few questions that you should ask yourself:</p>
<ol>
<li>Will my product require use of the camera, microphone or other device-specific hardware?</li>
<li>Will it access the address book, media library or common user data?</li>
<li>Will I charge for my product, using an app store as the payment processor?</li>
<li>Will I send push notifications or need background processes?</li>
</ol>
<p>If the answer to any of the above is &#8216;yes,&#8217; then an iPhone/Android app may be right for you. If the answer is &#8216;no,&#8217; you may want to consider building an HTML5 mobile website instead.</p>
<p>Mobile websites:</p>
<ul>
<li>Can access <a title="Geolocation in the Browser" href="http://blog.mozilla.com/webdev/2009/05/01/geolocation-in-the-browser/">geolocation</a> info.</li>
<li>Provide offline <a title="HTML5 Offline App Example" href="http://adamblog.heroku.com/past/2010/2/25/an_html5_offline_app_example/">caching</a> and <a title="W3C Offline Web Applications" href="http://www.w3.org/TR/offline-webapps/">storage</a>.</li>
<li>Handle <a href="http://backtothecode.blogspot.com/2009/10/javascript-touch-and-gesture-events.html">touch and gesture events</a>.</li>
<li>Are easily deployed (new versions and bug fixes)</li>
<li>Are cross-platform (Android, iPhone, webOS, etc.)</li>
</ul>
<p>Comments and discussion: <a title="Twitter search results for '#NotAnApp'" href="http://twitter.com/search?q=%23notanapp">#NotAnApp</a></p>
]]></content:encoded>
			<wfw:commentRss />
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
