<?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>Navarr&#039;s Tech Side &#187; Google Chrome</title>
	<atom:link href="http://tech.navarr.me/topics/software/google-chrome-software/feed" rel="self" type="application/rss+xml" />
	<link>http://tech.navarr.me</link>
	<description>The Technical Side of my Life</description>
	<lastBuildDate>Tue, 07 Feb 2012 22:32:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<cloud domain='tech.navarr.me' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
		<item>
		<title>Something Chrome Needs</title>
		<link>http://tech.navarr.me/2011/04/something-chrome-needs.html</link>
		<comments>http://tech.navarr.me/2011/04/something-chrome-needs.html#comments</comments>
		<pubDate>Fri, 08 Apr 2011 21:34:37 +0000</pubDate>
		<dc:creator>Navarr</dc:creator>
				<category><![CDATA[Google Chrome]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[college]]></category>
		<category><![CDATA[desktop notifications]]></category>
		<category><![CDATA[google chrome]]></category>
		<category><![CDATA[monetization]]></category>
		<category><![CDATA[notifications]]></category>
		<category><![CDATA[plugins]]></category>

		<guid isPermaLink="false">http://tech.navarr.me/2011/04/something-chrome-needs.html</guid>
		<description><![CDATA[There is a very common type of extension for Google Chrome, and that happens to be the “Notifier” type. You have GMail Notifiers, Google Voice Notifiers, Google Reader, Google Docs, OWA, Facebook, Twitter, etc etc.&#160; Wouldn’t it be nice if Google Chrome just had a single Notification Center with a fantastic User Interface for showing [...]]]></description>
			<content:encoded><![CDATA[<p>There is a very common type of extension for Google Chrome, and that happens to be the “Notifier” type.</p>
<p>You have GMail Notifiers, Google Voice Notifiers, Google Reader, Google Docs, OWA, Facebook, Twitter, etc etc.&#160; Wouldn’t it be nice if Google Chrome just had a single Notification Center with a fantastic User Interface for showing notifications from whatever services register themselves with it?</p>
<p>I think it would, and over the summer – if I have spare time – I think I’m going to program an extension that will can accept additions for showing notifications.&#160; I’ll then ask around for help and/or program some basic services for it to use, and post it to the Chrome WebApp Store.</p>
<p>My next questions are:</p>
<ul>
<li>Would you use this?&#160; Is it a good idea? </li>
<li>Would you code for this? </li>
<li>Would you purchase this for $1? </li>
</ul>
<p>At the moment, I’ve got plenty of cool programming projects, and I’m not making money with any of them.&#160; GVOMS is almost entirely free (no companies have purchased a license to use), and anything else I’ve done so far has been free and open source.</p>
<p>So unless people are going to start donating to me – which I’m pretty sure you aren’t – I need to find some way to make money.&#160; I’m a college student, after all.</p>
<p>And I don’t think $1 would be too much to ask for a unified notification center in Google Chrome, do you?</p>
]]></content:encoded>
			<wfw:commentRss>http://tech.navarr.me/2011/04/something-chrome-needs.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Making More Natural Desktop Notifications in Chrome</title>
		<link>http://tech.navarr.me/2010/11/making-more-natural-desktop-notifications-in-chrome.html</link>
		<comments>http://tech.navarr.me/2010/11/making-more-natural-desktop-notifications-in-chrome.html#comments</comments>
		<pubDate>Tue, 09 Nov 2010 03:40:01 +0000</pubDate>
		<dc:creator>Navarr</dc:creator>
				<category><![CDATA[(X)HTML 5]]></category>
		<category><![CDATA[Google Chrome]]></category>
		<category><![CDATA[desktop notifications]]></category>
		<category><![CDATA[google chrome]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[xhtml5]]></category>

		<guid isPermaLink="false">http://tech.navarr.me/?p=512</guid>
		<description><![CDATA[Do you have a website or application that uses Google Chrome Desktop Notifications?  Well, let me just share with you this very simple snippit of code that will make their interaction a lot more natural. Thats really all there is to it. Lives on a 5 second time. If you hover over it, it stays [...]]]></description>
			<content:encoded><![CDATA[<p>Do you have a website or application that uses Google Chrome Desktop Notifications?  Well, let me just share with you this very simple snippit of code that will make their interaction a lot more natural.</p>
<pre><div id="wpshdo_1" class="wp-synhighlighter-outer"><div id="wpshdt_1" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_1"></a><a id="wpshat_1" class="wp-synhighlighter-title" href="#codesyntax_1"  onClick="javascript:wpsh_toggleBlock(1)" title="Click to show/hide code block">Code block</a></td><td align="right"><a href="#codesyntax_1" onClick="javascript:wpsh_code(1)" title="Show code only"><img border="0" style="border: 0 none" src="http://tech.navarr.me/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_1" onClick="javascript:wpsh_print(1)" title="Print code"><img border="0" style="border: 0 none" src="http://tech.navarr.me/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://tech.navarr.me/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://tech.navarr.me/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_1" class="wp-synhighlighter-inner" style="display: block;"><pre class="xml" style="font-family:monospace;"><span style="color: #00bbdd;">&lt;!DOCTYPE html&gt;</span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;html<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;head<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;meta</span> <span style="color: #000066;">charset</span>=<span style="color: #ff0000;">&quot;utf-8&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;style<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		html * { font-family: sans-serif; }
		h1 { padding: 0; margin: 0; font-size: 12pt; font-weight: bold; }
		body { font-size: 10pt; }
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/style<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;script<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		function changeLinks() { for(var i = 0;i <span style="color: #009900;">&lt; document.getElementsByTagName<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;a&quot;</span><span style="color: #66cc66;">&#41;</span>.length;i++<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span> ele = document.getElementsByTagName<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;a&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>; ele.target = <span style="color: #ff0000;">&quot;_blank&quot;</span>; <span style="color: #66cc66;">&#125;</span> <span style="color: #66cc66;">&#125;</span></span>
<span style="color: #009900;">		function detectClick<span style="color: #66cc66;">&#40;</span>e<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span> var rightclick; if <span style="color: #66cc66;">&#40;</span>!e<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span> var e = window.event; <span style="color: #66cc66;">&#125;</span> if <span style="color: #66cc66;">&#40;</span>e.which<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span> rightclick = <span style="color: #66cc66;">&#40;</span>e.which == 3<span style="color: #66cc66;">&#41;</span>; <span style="color: #66cc66;">&#125;</span> else if <span style="color: #66cc66;">&#40;</span>e.button<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span> rightclick = <span style="color: #66cc66;">&#40;</span>e.button == 2<span style="color: #66cc66;">&#41;</span>; <span style="color: #66cc66;">&#125;</span> if <span style="color: #66cc66;">&#40;</span>rightclick<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span> self.close<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #66cc66;">&#125;</span> <span style="color: #66cc66;">&#125;</span></span>
<span style="color: #009900;">	<span style="color: #000000; font-weight: bold;">&lt;/script<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/head<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;body</span> <span style="color: #000066;">onload</span>=<span style="color: #ff0000;">&quot;document.timeout = setTimeout(self.close,5000);changeLinks();&quot;</span> <span style="color: #000066;">onmouseover</span>=<span style="color: #ff0000;">&quot;clearTimeout(document.timeout);&quot;</span> <span style="color: #000066;">onmouseout</span>=<span style="color: #ff0000;">&quot;document.timeout = setTimeout(self.close,5000);&quot;</span> <span style="color: #000066;">onmouseup</span>=<span style="color: #ff0000;">&quot;detectClick();&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;a</span> <span style="color: #000066;">style</span>=<span style="color: #ff0000;">&quot;display:block;cursor:normal;padding:0;margin:0;color:black;text-decoration:none;&quot;</span> <span style="color: #000066;">onclick</span>=<span style="color: #ff0000;">&quot;self.close();&quot;</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;/link/&quot;</span> <span style="color: #000066;">target</span>=<span style="color: #ff0000;">&quot;_blank&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;h1<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Title<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/h1<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;span<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Message<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/span<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/a<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/body<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;/html<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div></pre>
<p>Thats really all there is to it. Lives on a 5 second time. If you hover over it, it stays longer, if you right click it it closes. If you click it it goes to /link/. Quite nifty, if I do say so myself.</p>
<p>Its slightly buggy regarding links in the message.. but meh.</p>
]]></content:encoded>
			<wfw:commentRss>http://tech.navarr.me/2010/11/making-more-natural-desktop-notifications-in-chrome.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dear Chrome: What the Hell is This?</title>
		<link>http://tech.navarr.me/2010/03/dear-chrome-what-the-hell-is-this.html</link>
		<comments>http://tech.navarr.me/2010/03/dear-chrome-what-the-hell-is-this.html#comments</comments>
		<pubDate>Fri, 19 Mar 2010 21:24:05 +0000</pubDate>
		<dc:creator>Navarr</dc:creator>
				<category><![CDATA[Google Chrome]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[google chrome]]></category>

		<guid isPermaLink="false">http://tech.gtaero.net/2010/03/dear-chrome-what-the-hell-is-this.html</guid>
		<description><![CDATA[I love that you finally added previews for each of your tabs, that amazing Windows 7 feature that all of your competitors adopted before you… But what the light is this?&#160; Why on earth are there this mini-windows, and why are the preview windows themselves so faded out?&#160; Not to mention it doesn’t even WORK [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://tech.gtaero.net/wp-content/uploads/2010/03/image12.png" rel="lightbox[416]"><img style="display: block; float: none; margin-left: auto; margin-right: auto" title="" alt="" src="http://tech.gtaero.net/wp-content/uploads/2010/03/image_thumb10.png" width="500" height="46" /></a> </p>
<p>I love that you finally added previews for each of your tabs, that amazing Windows 7 feature that all of your competitors adopted before you…</p>
<p>But what the light is this?&#160; Why on earth are there this mini-windows, and why are the preview windows themselves so faded out?&#160; Not to mention it doesn’t even WORK when you have Chrome minimized…</p>
<p><a href="http://tech.gtaero.net/wp-content/uploads/2010/03/image13.png" rel="lightbox[416]"><img style="display: block; float: none; margin-left: auto; margin-right: auto" title="" alt="" src="http://tech.gtaero.net/wp-content/uploads/2010/03/image_thumb11.png" width="500" height="312" /></a> </p>
<p>I love you Chrome, but you need to fix these in the next dev release.&#160; <strong>NEED</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://tech.navarr.me/2010/03/dear-chrome-what-the-hell-is-this.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Webkit JavaScript Notifications API</title>
		<link>http://tech.navarr.me/2010/01/webkit-javascript-notifications-api.html</link>
		<comments>http://tech.navarr.me/2010/01/webkit-javascript-notifications-api.html#comments</comments>
		<pubDate>Mon, 25 Jan 2010 20:29:51 +0000</pubDate>
		<dc:creator>Navarr</dc:creator>
				<category><![CDATA[Google Chrome]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[desktop notifications]]></category>
		<category><![CDATA[google chrome]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://tech.gtaero.net/2010/01/webkit-javascript-notifications-api.html</guid>
		<description><![CDATA[Something I learned about recently by following the updates being issued to Chrome, is that with today’s release they also pushed out the Webkit Notifications API to Chrome Stable (v4).&#160; Surprisingly, this is actually the first I’ve heard of it’s existence.&#160; I took a look and played around with it a bit, and it is [...]]]></description>
			<content:encoded><![CDATA[<p>Something I learned about recently by following the updates being issued to Chrome, is that with today’s release they also pushed out the Webkit Notifications API to Chrome Stable (v4).&#160; Surprisingly, this is actually the first I’ve heard of it’s existence.&#160; I took a look and played around with it a bit, and it is qué cool.</p>
<p>Visit <a href="http://sandbox.gtaero.net/chrome/notifications.php">my Sandbox</a> to see the code in action, or continue reading for some code excerpts.</p>
<p> <span id="more-365"></span>
<p>One interesting thing about this new API is that it not only requires a user to authorize it, but in order for an authorization click to appear, the user has to do something.&#160; You can’t make it appear as soon as the user visits the page, they have to click something or trigger an event.</p>
<p>For the sake of this example, lets say the user clicks a link that triggers the JavaScript function “notification();” and we want to show a notification onscreen.</p>
<pre><div id="wpshdo_2" class="wp-synhighlighter-outer"><div id="wpshdt_2" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_2"></a><a id="wpshat_2" class="wp-synhighlighter-title" href="#codesyntax_2"  onClick="javascript:wpsh_toggleBlock(2)" title="Click to show/hide code block">Code block</a></td><td align="right"><a href="#codesyntax_2" onClick="javascript:wpsh_code(2)" title="Show code only"><img border="0" style="border: 0 none" src="http://tech.navarr.me/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_2" onClick="javascript:wpsh_print(2)" title="Print code"><img border="0" style="border: 0 none" src="http://tech.navarr.me/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://tech.navarr.me/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://tech.navarr.me/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_2" class="wp-synhighlighter-inner" style="display: block;"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> notification<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>window.<span style="color: #660066;">webkitNotifications</span><span style="color: #009900;">&#41;</span> <span style="color: #006600; font-style: italic;">// If we have the Notification API</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #003366; font-weight: bold;">var</span> nc <span style="color: #339933;">=</span> window.<span style="color: #660066;">webkitNotifications</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// Set the API to nc for easy access</span>
		<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>nc.<span style="color: #660066;">checkPermission</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #006600; font-style: italic;">// 1 = Not Allowed, 2 = Denied, 0 = Allowed</span>
		<span style="color: #009900;">&#123;</span>
			nc.<span style="color: #660066;">requestPermission</span><span style="color: #009900;">&#40;</span>myNotification<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// Request Permission with a callback to myNotification();</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span> myNotification<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #003366; font-weight: bold;">function</span> myNotification<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000066; font-weight: bold;">try</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #003366; font-weight: bold;">var</span> nc <span style="color: #339933;">=</span> window.<span style="color: #660066;">webkitNotifications</span><span style="color: #339933;">;</span>
		<span style="color: #003366; font-weight: bold;">var</span> notif <span style="color: #339933;">=</span> nc.<span style="color: #660066;">createNotification</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">null</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Notification Title&quot;</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;Notification Body&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// Parameters: string URL_TO_IMAGE, string Title, string Body</span>
		notif.<span style="color: #660066;">show</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// Show Notification</span>
	<span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">catch</span><span style="color: #009900;">&#40;</span>Err<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span>Err.<span style="color: #660066;">message</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// Will output a security error if we don't have permission.</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div></pre>
<p>As you can see from the code, its a fairly straightforward API for showing desktop notifications, and once the user has given the website permission, they can be triggered any time.  Up to five notifications can appear, and the rest will be kept in a queue until the others are dismissed, either by the user or by calling .cancel(); on the notification variable (notif in this case).</p>
]]></content:encoded>
			<wfw:commentRss>http://tech.navarr.me/2010/01/webkit-javascript-notifications-api.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Hunting Down the Bugs &#8211; TwCLI on Chrome for Linux Beta</title>
		<link>http://tech.navarr.me/2009/12/hunting-down-the-bugs-twcli-on-chrome-for-linux-beta.html</link>
		<comments>http://tech.navarr.me/2009/12/hunting-down-the-bugs-twcli-on-chrome-for-linux-beta.html#comments</comments>
		<pubDate>Tue, 15 Dec 2009 18:51:17 +0000</pubDate>
		<dc:creator>Navarr</dc:creator>
				<category><![CDATA[Google Chrome]]></category>
		<category><![CDATA[Hunting Down the Bugs]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[TwCLI]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[google chrome]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://tech.gtaero.net/2009/12/hunting-down-the-bugs-twcli-on-chrome-for-linux-beta.html</guid>
		<description><![CDATA[This is the first post of a new series, looking at some of the odder bugs encountered while developing for the expanding Web, no matter how basic a bug it may be. Thanks to twitter user @paperfairy, a bug was discovered on my Command Line Twitter Client, TwCLI. For some reason, when submitting a command [...]]]></description>
			<content:encoded><![CDATA[<p><em>This is the first post of a new series, looking at some of the odder bugs encountered while developing for the expanding Web, no matter how basic a bug it may be.</em></p>
<p>Thanks to twitter user @<a href="http://twitter.com/paperfairy" rel="nofollow">paperfairy</a>, a bug was discovered on my Command Line Twitter Client, <a title="Twitter Command Line Interface" href="http://twcli.koneko-chan.net/" rel="me">TwCLI</a>.</p>
<p>For some reason, when submitting a command in Chrome for Linux, the page would simply refresh, and the command would never be sent.&#160; At first, I had no possible way to track down this bug.&#160; I didn’t have a linux box (with a GUI, anyway) so I simply told him that it was unfortunate, but it’d have to stay a bug.&#160; Until a <a href="http://lifehacker.com/5426007/most-popular-free-windows-downloads-of-2009" rel="nofollow">recent post on lifehacker</a> brought my attention to <a href="http://lifehacker.com/5195999/portable-ubuntu-runs-ubuntu-inside-windows">Portable Ubuntu</a>. I immediately installed it, opened up the Chrome website in Firiefox, installed Chrome Beta, and headed over to TwCLI to see what was amiss.</p>
<p>Of course, it was a single line in a detection script to send Geo-Data to Twitter (as long as the user approved it, of course):</p>
<div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper">
<div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #0000ff">else</span> <span style="color: #0000ff">if</span>(google.gears) {</pre>
<p><!--CRLF--></div>
</div>
<p>This single line was throwing an exception I hadn’t encountered in other browsers – Google wasn’t defined.&#160; Oddly, I thought it would handle that properly, since google wasn’t defined, it would just skip over it, but instead it threw an error and halted all further javascript code.</p>
<p>The fix was simpler than tracking down the bug, I simply had to add this to the start of the javascript code:</p>
<div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper">
<div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #0000ff">try</span>{ <span style="color: #0000ff">if</span>(!google) { google = 0; } } <span style="color: #0000ff">catch</span>(err) { google = 0; }</pre>
<p><!--CRLF--></div>
</div>
<p>And voila, I had both a check for google, and a catch if it decided to throw errors while checking for it.</p>
<p>Whether this is a Chrome bug or not, I don’t know – I simply don’t know enough about JavaScript in order to say so either way.&#160; But, are undefined variables supposed to throw errors, or are they simply supposed to return false?</p>
]]></content:encoded>
			<wfw:commentRss>http://tech.navarr.me/2009/12/hunting-down-the-bugs-twcli-on-chrome-for-linux-beta.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Chrome’s Next Steps on Windows 7</title>
		<link>http://tech.navarr.me/2009/09/chromes-next-steps-on-windows-7.html</link>
		<comments>http://tech.navarr.me/2009/09/chromes-next-steps-on-windows-7.html#comments</comments>
		<pubDate>Sat, 05 Sep 2009 23:11:00 +0000</pubDate>
		<dc:creator>Navarr</dc:creator>
				<category><![CDATA[Google Chrome]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[2009]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[google chrome]]></category>
		<category><![CDATA[windows 7]]></category>

		<guid isPermaLink="false">http://temptech.gtaero.net/?p=73</guid>
		<description><![CDATA[Back in August, Google Chrome introduced the Jumplist in the Developer’s Version of Chrome; the Jumplist being a new feature in Windows 7 that allows users to quickly and easily access tasks related to the program, as well as quickly open recently opened, and pinned files with the app.  With its new version, Google Chrome [...]]]></description>
			<content:encoded><![CDATA[<p>Back in August, <a href="http://tech.gtaero.net/2009/08/chrome-3-0-197-11-introduces-%e2%80%9cjumplist%e2%80%9d.html">Google Chrome introduced the Jumplist</a> in the Developer’s Version of Chrome; the Jumplist being a new feature in Windows 7 that allows users to quickly and easily access tasks related to the program, as well as quickly open recently opened, and pinned files with the app.  With its new version, Google Chrome had added “Most Visited,” “Recently Opened,” and “Tasks” to its Jumplist.  Now, There are just a few more things Google needs to add to its Chrome web browser before it fits right in with Windows 7.</p>
<p><strong>Tab Previews</strong></p>
<p><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" src="http://lh5.ggpht.com/_uO1cBO_SfPQ/SqLwhdDxbZI/AAAAAAAAAek/FOVJNszCrXY/image%5B1%5D.png?imgmax=800" border="0" alt="image" width="450" height="133" /></p>
<p>In order to better compete with Microsoft’s new version of Internet Explorer 8 for Windows 7, Google needs to add previews for all open tabs on the web browser, allowing a user to quickly select the tab they want right from the Windows taskbar.</p>
<p><strong>Status Indication</strong></p>
<p><img class="alignleft" style="display: inline; margin-left: 5px; margin-right: 5px;" title="image" src="http://lh3.ggpht.com/_uO1cBO_SfPQ/SqLwEkE-fOI/AAAAAAAAAeo/WXyPb66Rct0/image4%5B1%5D.png?imgmax=800" border="0" alt="" width="64" height="44" align="left" /> When Google Chrome is running in the background with that huge demo version of Adobe Premier Pro downloading, you really have no clue how far the download has gone without checking up on your downloads bar.  A quick fix for this would be easily adding the status in the Chrome icon like Windows Explorer does.</p>
<p><strong>Other Things</strong></p>
<p>What else do you think Google Chrome needs to add in order to fit in with the Windows 7 Operating System that will better improve its functionality?</p>
]]></content:encoded>
			<wfw:commentRss>http://tech.navarr.me/2009/09/chromes-next-steps-on-windows-7.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

