<?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:atom="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
<channel>
	
	<title><![CDATA[Jason Miller Design]]></title>
	<link>http://jasonmillerdesign.com/</link>
	<description>A way to stay connected to interesting web technology and news.</description>
	<image>
		<url>http://jasonmillerdesign.com/images/coffee-128.png</url>
		<title>Jason Miller Design</title>
		<link>http://jasonmillerdesign.com/</link>
	</image>

	<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/JasonMillerDesign" /><feedburner:info uri="jasonmillerdesign" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>JasonMillerDesign</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>July 2011 Macbook Air is $949 and iMac is $899</title>
		<link>http://feedproxy.google.com/~r/JasonMillerDesign/~3/2TdASkFHpU4/July_2011_Macbook_Air_is_949_and_iMac_is_899</link>
		<guid isPermaLink="false">http://jasonmillerdesign.com/Blog/July_2011_Macbook_Air_is_949_and_iMac_is_899</guid>
		<pubDate>Fri, 15 Jul 2011 02:17:30 -0500</pubDate>
		<description>&lt;br /&gt;&lt;div&gt;Through some crafty google searching, I just happened on this particularly interesting result:&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div&gt;&lt;img src="http://jasonmillerdesign.com/images/editor-uploads/2011-macbook-air-949.png"&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div&gt;Does this mean we're going to see a price drop for both these computers?  If so, I'm going to be out a ton of cash this month!&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=2TdASkFHpU4:zyAoPs6Pa3U:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=2TdASkFHpU4:zyAoPs6Pa3U:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=2TdASkFHpU4:zyAoPs6Pa3U:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=2TdASkFHpU4:zyAoPs6Pa3U:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=2TdASkFHpU4:zyAoPs6Pa3U:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=2TdASkFHpU4:zyAoPs6Pa3U:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=2TdASkFHpU4:zyAoPs6Pa3U:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JasonMillerDesign/~4/2TdASkFHpU4" height="1" width="1"/&gt;</description>
	<feedburner:origLink>http://jasonmillerdesign.com/Blog/July_2011_Macbook_Air_is_949_and_iMac_is_899</feedburner:origLink></item>

	<item>
		<title>Basic AJAX: Using XMLHttpRequest</title>
		<link>http://feedproxy.google.com/~r/JasonMillerDesign/~3/P2Z_W4wuOus/Basic_AJAX_Using_XMLHttpRequest</link>
		<guid isPermaLink="false">http://jasonmillerdesign.com/Programming/Basic_AJAX_Using_XMLHttpRequest</guid>
		<pubDate>Tue, 31 May 2011 22:58:02 -0500</pubDate>
		<description>&lt;div&gt;So, XMLHttpRequest is a feature in JavaScript that lets a page make HTTP requests to a web server on the same domain&lt;em&gt; (note: there are ways to make requests to subdomains, they are not covered here)&lt;/em&gt;.&lt;/div&gt;  &lt;div&gt;First, you get an instance of it:&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;	&lt;/span&gt;&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;	&lt;/span&gt;var xhr = new XMLHttpRequest();&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;	&lt;/span&gt;&lt;/div&gt;  &lt;div&gt;You need some way to be notified when the HTTP request is done loading and the data is ready.&lt;/div&gt;  &lt;div&gt;It's very similar to the listen() method in chat.botApi.&lt;/div&gt;  &lt;div&gt;To listen for the end of the request, you create a function and assign it as the readyState Change Handler:&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;	&lt;/span&gt;&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-style-span"&gt;xhr.onreadystatechange = function() {&lt;/span&gt;&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;&lt;/span&gt;&lt;/div&gt;  &lt;div&gt;// your stuff here&lt;/div&gt;  &lt;div&gt;};&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;	&lt;/span&gt;&lt;/div&gt;  &lt;div&gt;You need to check that the request has ended, cause that function gets called 3 or 4 times depending on the browser, to indicate the various request states (sending, waiting, receiving, done - with done being readyState 4)&lt;/div&gt;  &lt;div&gt;So, in your handler, check the readyState:&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;	&lt;/span&gt;&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;	&lt;/span&gt;xhr.onreadystatechange = function() {&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;		&lt;/span&gt;if (this.readyState===4) {&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;			&lt;/span&gt;// huzzah, the data is here!&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;			&lt;/span&gt;alert(xhr.responseText);&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;		&lt;/span&gt;}&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;	&lt;/span&gt;};&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;	&lt;/span&gt;&lt;/div&gt;  &lt;div&gt;Once you have that, you open a connection to the server, with the request type (GET or POST, same as for a  action), the URL you want to reach, and Boolean true.&lt;/div&gt;  &lt;div&gt;(the last param, true, means asynchronous, which allows the browser and page to do other stuff while the request is loading. It's important, and you should never use false for that value, if you do browser makers will come to your house and change it. And they won't tell you.)&lt;/div&gt;  &lt;div&gt;So that part goes like this:&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;	&lt;/span&gt;&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;	&lt;/span&gt;xhr.open("GET", "/path/to/file.html", true);&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;	&lt;/span&gt;&lt;/div&gt;  &lt;div&gt;Finally, you need to submit the request to the server. That part is easy, it only takes one parameter - the POST variables (exactly like  fields in a )&lt;/div&gt;  &lt;div&gt;if you want to send an HTTP post to your server, for a form or whatever, you need to URL-encode all the parameters and send it as a string&lt;/div&gt;  &lt;div&gt;if you're just making a GET request, leave it blank, like so:&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;	&lt;/span&gt;&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;	&lt;/span&gt;xhr.send();&lt;/div&gt;  &lt;div&gt;&lt;span class="Apple-tab-span"&gt;	&lt;/span&gt;&lt;/div&gt;  &lt;div&gt;... and we're done!&lt;br /&gt;&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div&gt;Let me know if this helps you out, or if you would be interested in more articles covering JavaScript basics!&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=P2Z_W4wuOus:4VMXnqmMMek:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=P2Z_W4wuOus:4VMXnqmMMek:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=P2Z_W4wuOus:4VMXnqmMMek:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=P2Z_W4wuOus:4VMXnqmMMek:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=P2Z_W4wuOus:4VMXnqmMMek:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=P2Z_W4wuOus:4VMXnqmMMek:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=P2Z_W4wuOus:4VMXnqmMMek:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JasonMillerDesign/~4/P2Z_W4wuOus" height="1" width="1"/&gt;</description>
	<feedburner:origLink>http://jasonmillerdesign.com/Programming/Basic_AJAX_Using_XMLHttpRequest</feedburner:origLink></item>

	<item>
		<title>Smallest JSONp Implementation</title>
		<link>http://feedproxy.google.com/~r/JasonMillerDesign/~3/8yq_I-ylNJ8/Smallest_JSONp_Implementation</link>
		<guid isPermaLink="false">http://jasonmillerdesign.com/Programming/Smallest_JSONp_Implementation</guid>
		<pubDate>Wed, 06 Apr 2011 12:28:12 -0500</pubDate>
		<description>&lt;p&gt;Here's a tiny chunk of JavaScript I wrote while experimenting with writing an insanely small web chat client. I think this might be the worlds smallest JSONp implementation   that doesn't suck.&lt;/p&gt;  &lt;br /&gt;      /** Pico JSONp: */  function jsonp(u,cb){var a=jsonp._c=(jsonp._c||0)+1,b='picojsonp_'+a,c=document,d=c.body,s=c.createElement('script');window[b]=function()  {d.removeChild(s);cb.apply(cb,arguments);cb=c=d=s=null;};s.src=u.replace('{callback}',b);d.appendChild(s);}    /** Example usage: */  jsonp('http://example.com/timeline.json?callback={callback}', function(response) {      console.log(response);  });      &lt;br /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=8yq_I-ylNJ8:TuFGH-aAwx4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=8yq_I-ylNJ8:TuFGH-aAwx4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=8yq_I-ylNJ8:TuFGH-aAwx4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=8yq_I-ylNJ8:TuFGH-aAwx4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=8yq_I-ylNJ8:TuFGH-aAwx4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=8yq_I-ylNJ8:TuFGH-aAwx4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=8yq_I-ylNJ8:TuFGH-aAwx4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JasonMillerDesign/~4/8yq_I-ylNJ8" height="1" width="1"/&gt;</description>
	<feedburner:origLink>http://jasonmillerdesign.com/Programming/Smallest_JSONp_Implementation</feedburner:origLink></item>

	<item>
		<title>What is a Top Tweet?</title>
		<link>http://feedproxy.google.com/~r/JasonMillerDesign/~3/9dKi5ALILgM/What_is_a_Top_Tweet_</link>
		<guid isPermaLink="false">http://jasonmillerdesign.com/Blog/What_is_a_Top_Tweet_</guid>
		<pubDate>Fri, 01 Apr 2011 13:25:20 -0500</pubDate>
		<description>&lt;div&gt;&lt;br /&gt;&lt;/div&gt;  &lt;img src="http://jasonmillerdesign.com/images/editor-uploads/amoebaos-top-tweet.png"&gt;&lt;br /&gt;&lt;div&gt;I posted an article to the amoebaOS Twitter account today, and I noticed later that it had been marked as a "Top Tweet".  It left me wondering what exactly constitutes a "Top Tweet", given that the only re-tweets were from my other accounts (come on, everyone does it).&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div&gt;Does anyone have a theory?  Or is this another mysterious algorithm to lump in with Google Search?&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=9dKi5ALILgM:-5fOwvmSaIc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=9dKi5ALILgM:-5fOwvmSaIc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=9dKi5ALILgM:-5fOwvmSaIc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=9dKi5ALILgM:-5fOwvmSaIc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=9dKi5ALILgM:-5fOwvmSaIc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=9dKi5ALILgM:-5fOwvmSaIc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=9dKi5ALILgM:-5fOwvmSaIc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JasonMillerDesign/~4/9dKi5ALILgM" height="1" width="1"/&gt;</description>
	<feedburner:origLink>http://jasonmillerdesign.com/Blog/What_is_a_Top_Tweet_</feedburner:origLink></item>

	<item>
		<title>The FSF is Out of Control</title>
		<link>http://feedproxy.google.com/~r/JasonMillerDesign/~3/1kXIngb8c70/The_FSF_is_Out_of_Control</link>
		<guid isPermaLink="false">http://jasonmillerdesign.com/Blog/The_FSF_is_Out_of_Control</guid>
		<pubDate>Fri, 01 Apr 2011 08:37:38 -0500</pubDate>
		<description>&lt;div&gt;&lt;br /&gt;&lt;/div&gt;  I understand the need for open-source software.  Especially when it comes to re-usable code libraries.  But seriously? Asking a client-side application to "open up" just proves they don't have sufficient skill available to assess JavaScript-based applications.  It would take a very naive developer to assert that the bulk of Gmail's functionality lies within its JavaScript front-end, considering it is not a thick-client (aka thin server) application.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div&gt;The article to which I am referring is here:&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;a href="http://www.fsf.org/blogs/community/gmail-jstrap/" target="_blank"&gt;http://www.fsf.org/blogs/community/gmail-jstrap/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;  &lt;/div&gt;  &lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div&gt;Honestly, every time I see a &lt;a href="http://jasonmillerdesign.com/Blog/The_FSF_Condemns_Efficient_JavaScript"&gt;statement from the FSF regarding JavaScript&lt;/a&gt; (or any other browser tech), it just deteriorates my opinion of the organisation further.&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=1kXIngb8c70:NAd0wvdOzGY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=1kXIngb8c70:NAd0wvdOzGY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=1kXIngb8c70:NAd0wvdOzGY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=1kXIngb8c70:NAd0wvdOzGY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=1kXIngb8c70:NAd0wvdOzGY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=1kXIngb8c70:NAd0wvdOzGY:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=1kXIngb8c70:NAd0wvdOzGY:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JasonMillerDesign/~4/1kXIngb8c70" height="1" width="1"/&gt;</description>
	<feedburner:origLink>http://jasonmillerdesign.com/Blog/The_FSF_is_Out_of_Control</feedburner:origLink></item>

	<item>
		<title>Delete HTML5 Web SQL Databases</title>
		<link>http://feedproxy.google.com/~r/JasonMillerDesign/~3/CEMKtreO0u4/Delete_HTML5_Web_SQL_Databases</link>
		<guid isPermaLink="false">http://jasonmillerdesign.com/Blog/Delete_HTML5_Web_SQL_Databases</guid>
		<pubDate>Thu, 31 Mar 2011 14:41:02 -0500</pubDate>
		<description>&lt;br /&gt;&lt;div&gt;I've been spending a lot of time in Chrome's new "Clear Browsing Data" UI, and I wanted to make sure other people don't fall into the same trap.&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div&gt;While window.openDatabase and friends are fast and efficient for client-side storage, the API is underwhelming.  For all the complexity of SQL, something like &lt;em&gt;deleting a created database&lt;/em&gt; is &lt;strong&gt;still not possible&lt;/strong&gt;.  That sucks, and I would certainly consider it an oversight in the API design, not a feature as SQLite fans tend to portray it.&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div&gt;The only way to really delete a Web SQL Database (in Chrome, at least), is to clear all client-side storage mechanisms through the Clear Browsing Data interface (Command+Shift+Delete).  &lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div&gt;The main problem with this limitation is that it's possible (and very easy) to screw up Web SQL DBs.  For example, calling openDatabase numerous times on a single page results in this lovely mess in Web Inspector:&lt;/div&gt;  &lt;div&gt;&lt;img src="http://jasonmillerdesign.com/images/editor-uploads/webkitsqlite-fail.png"&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div&gt;How useful is that?  Oh and if you were wondering, all those identically named databases also contain tables named "undefined" with no results that fail to open.&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div&gt;Not that I fault Chrome - it's obviously a very early stage in the development of this API, and they are taking a risk in order to push the web forward faster than the W3C can be bothered to make simple decisions (are they making any these days?).&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div&gt;I'm putting out a call for solutions here - can anyone come up with a way to actually &lt;strong&gt;delete&lt;/strong&gt; (drop?) a WebkitSQLite database in Chrome?&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=CEMKtreO0u4:lSAKtlNAve8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=CEMKtreO0u4:lSAKtlNAve8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=CEMKtreO0u4:lSAKtlNAve8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=CEMKtreO0u4:lSAKtlNAve8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=CEMKtreO0u4:lSAKtlNAve8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=CEMKtreO0u4:lSAKtlNAve8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=CEMKtreO0u4:lSAKtlNAve8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JasonMillerDesign/~4/CEMKtreO0u4" height="1" width="1"/&gt;</description>
	<feedburner:origLink>http://jasonmillerdesign.com/Blog/Delete_HTML5_Web_SQL_Databases</feedburner:origLink></item>

	<item>
		<title>Your Computer has More Web Browsers Than you Think</title>
		<link>http://feedproxy.google.com/~r/JasonMillerDesign/~3/in_ywhEjgg4/Your_Computer_has_More_Web_Browsers_Than_you_Think</link>
		<guid isPermaLink="false">http://jasonmillerdesign.com/Linux_Life/Your_Computer_has_More_Web_Browsers_Than_you_Think</guid>
		<pubDate>Fri, 04 Mar 2011 09:31:19 -0600</pubDate>
		<description>&lt;br /&gt;&lt;div&gt;I'm going to be posting the screenshots I take of amoebaOS running in strange situations here. I'm starting this off now, because I thought this one, in particular, was interesting:&lt;/div&gt;  &lt;ul class="gallery_images"&gt;  	&lt;li class="gallery_image"&gt;  		&lt;a href="http://jasonmillerdesign.com/images/editor-uploads/amoebaos_in_coda_books.png" title="Image: amoebaOS running in Code Books" target="_blank"&gt;  			&lt;img src="http://jasonmillerdesign.com/include/thumbnail.php?size=500&amp;bg=255,255,255&amp;image=editor-uploads/amoebaos_in_coda_books.png" alt="amoebaOS running in Coda Books" height="500" width="500"&gt;  		&lt;/a&gt;  		amoebaOS running in Coda Books  &lt;br /&gt;  &lt;/li&gt;  &lt;li class="gallery_image"&gt;  		&lt;a href="http://jasonmillerdesign.com/images/editor-uploads/amoebaos_in_osx_dashboard2.png" title="Image: amoebaOS running in OS X Dashboard (2)" target="_blank"&gt;  			&lt;img src="http://jasonmillerdesign.com/include/thumbnail.php?size=500&amp;bg=255,255,255&amp;image=editor-uploads/amoebaos_in_osx_dashboard2.png" alt="amoebaOS running in OS X Dashboard" height="500" width="500"&gt;  		&lt;/a&gt;  		amoebaOS running in OS X Dashboard  &lt;br /&gt;  &lt;/li&gt;  &lt;li class="gallery_image"&gt;  		&lt;a href="http://jasonmillerdesign.com/images/editor-uploads/amoebaos_in_osx_dashboard.png" title="Image: amoebaOS running in OS X Dashboard" target="_blank"&gt;  			&lt;img src="http://jasonmillerdesign.com/include/thumbnail.php?size=500&amp;bg=255,255,255&amp;image=editor-uploads/amoebaos_in_osx_dashboard.png" alt="amoebaOS running in OS X Dashboard" height="500" width="500"&gt;  		&lt;/a&gt;  		amoebaOS running in OS X Dashboard  &lt;br /&gt;  &lt;/li&gt;  &lt;li class="gallery_image"&gt;  		&lt;a href="http://jasonmillerdesign.com/images/editor-uploads/cob_wars_in_osx_dashboard.png" title="Image: COB Wars running in OS X Dashboard" target="_blank"&gt;  			&lt;img src="http://jasonmillerdesign.com/include/thumbnail.php?size=500&amp;bg=255,255,255&amp;image=editor-uploads/cob_wars_in_osx_dashboard.png" alt="COB Wars running in OS X Dashboard" height="500" width="500"&gt;  		&lt;/a&gt;  		COB Wars running in OS X Dashboard  &lt;br /&gt;  &lt;/li&gt;  &lt;/ul&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=in_ywhEjgg4:IVkTw8Y1Ecs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=in_ywhEjgg4:IVkTw8Y1Ecs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=in_ywhEjgg4:IVkTw8Y1Ecs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=in_ywhEjgg4:IVkTw8Y1Ecs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=in_ywhEjgg4:IVkTw8Y1Ecs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=in_ywhEjgg4:IVkTw8Y1Ecs:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=in_ywhEjgg4:IVkTw8Y1Ecs:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JasonMillerDesign/~4/in_ywhEjgg4" height="1" width="1"/&gt;</description>
	<feedburner:origLink>http://jasonmillerdesign.com/Linux_Life/Your_Computer_has_More_Web_Browsers_Than_you_Think</feedburner:origLink></item>

	<item>
		<title>Undeniably Awesome:  The .app TLD</title>
		<link>http://feedproxy.google.com/~r/JasonMillerDesign/~3/3L8NAArFceo/Undeniably_Awesome_The_app_TLD</link>
		<guid isPermaLink="false">http://jasonmillerdesign.com/Blog/Undeniably_Awesome_The_app_TLD</guid>
		<pubDate>Wed, 09 Feb 2011 01:14:50 -0600</pubDate>
		<description>&lt;div&gt;&lt;strong&gt;&lt;em&gt;Why don't we already have this? &lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;div&gt;It's the most obvious TLD I can think of, and an excellent way to &lt;a href="http://jasonmillerdesign.com/Blog/Webapp_Or_Website_Does_Anyone_Care_"&gt;differentiate between websites and webapps&lt;/a&gt;!  Apparently there are   125 TLDs on the suggestion list for when the process is formalized in a month or two, perhaps someone has already suggested it (not that I'm aware, but it's possible).&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div&gt;Can you picture the simplicity?  Imagine telling your users "Just type minipng.app into your browser"...&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;  &lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=3L8NAArFceo:5o5HM40u9xI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=3L8NAArFceo:5o5HM40u9xI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=3L8NAArFceo:5o5HM40u9xI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=3L8NAArFceo:5o5HM40u9xI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=3L8NAArFceo:5o5HM40u9xI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=3L8NAArFceo:5o5HM40u9xI:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=3L8NAArFceo:5o5HM40u9xI:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JasonMillerDesign/~4/3L8NAArFceo" height="1" width="1"/&gt;</description>
	<feedburner:origLink>http://jasonmillerdesign.com/Blog/Undeniably_Awesome_The_app_TLD</feedburner:origLink></item>

	<item>
		<title>Webapp Or Website? Does Anyone Care?</title>
		<link>http://feedproxy.google.com/~r/JasonMillerDesign/~3/UYnnjpkux7s/Webapp_Or_Website_Does_Anyone_Care_</link>
		<guid isPermaLink="false">http://jasonmillerdesign.com/Blog/Webapp_Or_Website_Does_Anyone_Care_</guid>
		<pubDate>Wed, 09 Feb 2011 00:46:17 -0600</pubDate>
		<description>&lt;div&gt;&lt;em&gt;In case you hate reading, the answer is yes.  Users care because they want everything to happen as fast as possible.&lt;/em&gt;&lt;/div&gt;    &lt;p&gt;I think the world needs to better understand what differentiates a web&lt;strong&gt;app&lt;/strong&gt; from a web&lt;strong&gt;site&lt;/strong&gt;, because internet users are directly affected by that difference   every single day.  Is Twitter.com a web   app? &lt;em&gt;Yes.&lt;/em&gt;  Is this website a web app?  &lt;em&gt;No.&lt;/em&gt;  Is Gmail a web app? &lt;em&gt;That one is debatable, but yes.&lt;/em&gt;  &lt;/p&gt;    &lt;br /&gt;    &lt;p&gt;What even defines an online resource as being an "app" instead of a "site"?  I think the most definitive answer is that web &lt;strong&gt;apps&lt;/strong&gt; transfer presentation separately from   data, and do not employ a strict request-  response technique for doing so.&lt;/p&gt;    Your users called, they want their time back.  &lt;p&gt;Users care about speed, functionality (therein usefulness) and ease-of use.  As developers, we can draw rather direct parallels to the technical aspects of web development from these general   requirements.  For speed, and since   this is the web, we're talking almost exclusively about speed of data transfer &lt;em&gt;(requests take much longer to transfer than to execute on the server)&lt;/em&gt;.  Functionality is created by selecting   the most effective set of features for an   application &lt;em&gt;(more is not always better)&lt;/em&gt;.  Ease-of-use is important in webapps because we are still collectively helping computer users to adopt a new way of thinking about applications -   if a user's first web-based application   experience is horrible, they will most likely avoid using web-based software in the future.&lt;/p&gt;    So.. why classify "apps" and "sites" based on what the data looks like?  &lt;p&gt;Users care about speed, and we know speed is most affected by data transfer time, so that's where we can draw a clear line between the "old" and "new" approaches.  A website transfers data   and formatting via a single request, which   is optimal when loading new pages is the primary means of retrieving new data.  A webapp transfers formatting and presentation information as part of an initial download process, much like   downloading a desktop application.  Once   this information has been stored, data is then downloaded in a serialized format - optimized for speed in a situation where page loads don't occur. Examining the data being transfered makes it easy to   determine which paradigm something is   optimized for. Simply look to sites like Facebook and Twitter, where you can see an evolution in the direction of "webapp" for no reason other than to provide a better experience to users.&lt;/p&gt;    Doesn't that mean everything should be an app?  &lt;p&gt;You're not getting the point - that would be premature optimization at its finest.  If you are establishing a web presence for a business, where your needs are little more than an online business   card or simple e-commerce site, don't build   an app.  Your time would be better spent working with the client to optimize their site for Search Engines or creating PPC landing pages.  However, it would certainly be beneficial to apply   lessons learned from the world of webapps to   your website - things like HTML5's ApplicationCache and AJAX history can go a long way to improve user experience.  A general rule-of-thumb is this:  if your project is web-based, data-  driven and is its own product, a webapp would   be a wise choice.&lt;/p&gt;    &lt;p&gt;So, there you have it.  Apps, both web and native, have an initial download followed by speedy data transfer.  Sites throw everything into a pile and download formatting intermixed with   data.&lt;/p&gt;    &lt;br /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=UYnnjpkux7s:TPXb4PYsP_A:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=UYnnjpkux7s:TPXb4PYsP_A:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=UYnnjpkux7s:TPXb4PYsP_A:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=UYnnjpkux7s:TPXb4PYsP_A:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=UYnnjpkux7s:TPXb4PYsP_A:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=UYnnjpkux7s:TPXb4PYsP_A:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=UYnnjpkux7s:TPXb4PYsP_A:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JasonMillerDesign/~4/UYnnjpkux7s" height="1" width="1"/&gt;</description>
	<feedburner:origLink>http://jasonmillerdesign.com/Blog/Webapp_Or_Website_Does_Anyone_Care_</feedburner:origLink></item>

	<item>
		<title>The FSF Condemns Efficient JavaScript</title>
		<link>http://feedproxy.google.com/~r/JasonMillerDesign/~3/nKzTDZO9xVw/The_FSF_Condemns_Efficient_JavaScript</link>
		<guid isPermaLink="false">http://jasonmillerdesign.com/Blog/The_FSF_Condemns_Efficient_JavaScript</guid>
		<pubDate>Wed, 01 Dec 2010 22:05:53 -0600</pubDate>
		<description>&lt;div&gt;Sometimes the FSF is just annoying.&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;  &lt;a href="http://www.gnu.org/philosophy/javascript-trap.html" target="_blank"&gt;http://www.gnu.org/philosophy/javascript-trap.html&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;  &lt;div&gt;Do they really think JavaScript can be "closed"?  I feel like that whole article would never have been written had the author google'd "JavaScript De-Obfuscator"...&lt;/div&gt;  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=nKzTDZO9xVw:EG-zaLq8Mhc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=nKzTDZO9xVw:EG-zaLq8Mhc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=nKzTDZO9xVw:EG-zaLq8Mhc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=nKzTDZO9xVw:EG-zaLq8Mhc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=nKzTDZO9xVw:EG-zaLq8Mhc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JasonMillerDesign?a=nKzTDZO9xVw:EG-zaLq8Mhc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JasonMillerDesign?i=nKzTDZO9xVw:EG-zaLq8Mhc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JasonMillerDesign/~4/nKzTDZO9xVw" height="1" width="1"/&gt;</description>
	<feedburner:origLink>http://jasonmillerdesign.com/Blog/The_FSF_Condemns_Efficient_JavaScript</feedburner:origLink></item>

</channel>
</rss>

