<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Idle Hands</title>
	<atom:link href="http://www.noodlesoft.com/blog/2008/01/08/idle-hands/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.noodlesoft.com/blog/2008/01/08/idle-hands/</link>
	<description>On Mac OS X programming</description>
	<pubDate>Tue, 02 Dec 2008 12:16:21 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
		<item>
		<title>By: mr_noodle</title>
		<link>http://www.noodlesoft.com/blog/2008/01/08/idle-hands/#comment-19098</link>
		<dc:creator>mr_noodle</dc:creator>
		<pubDate>Thu, 22 May 2008 02:08:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.noodlesoft.com/blog/2008/01/08/idle-hands/#comment-19098</guid>
		<description>Sorry about the tardy reply. I've been in heads-down development mode and haven't paid much attention to the blog.

As far as I know, polling is the only way to do it but I haven't done all that much research on it from that angle. Maybe there's some way in IOKit but that's just pure conjecture.</description>
		<content:encoded><![CDATA[<p>Sorry about the tardy reply. I&#8217;ve been in heads-down development mode and haven&#8217;t paid much attention to the blog.</p>
<p>As far as I know, polling is the only way to do it but I haven&#8217;t done all that much research on it from that angle. Maybe there&#8217;s some way in IOKit but that&#8217;s just pure conjecture.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Alldritt</title>
		<link>http://www.noodlesoft.com/blog/2008/01/08/idle-hands/#comment-17906</link>
		<dc:creator>Mark Alldritt</dc:creator>
		<pubDate>Tue, 06 May 2008 15:15:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.noodlesoft.com/blog/2008/01/08/idle-hands/#comment-17906</guid>
		<description>Thanks for the library, it has been very useful in my work.  I have a question: do you know of a good way of detecting the resumption of user activity once performSelector:withObject:afterSystemIdleTime: has called the selector?

CGEventSourceSecondsSinceLastEventType looks promising, but I would have to continually poll that call.  I'm sure there is a better way. 

Thanks</description>
		<content:encoded><![CDATA[<p>Thanks for the library, it has been very useful in my work.  I have a question: do you know of a good way of detecting the resumption of user activity once performSelector:withObject:afterSystemIdleTime: has called the selector?</p>
<p>CGEventSourceSecondsSinceLastEventType looks promising, but I would have to continually poll that call.  I&#8217;m sure there is a better way. </p>
<p>Thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rory</title>
		<link>http://www.noodlesoft.com/blog/2008/01/08/idle-hands/#comment-11658</link>
		<dc:creator>Rory</dc:creator>
		<pubDate>Thu, 10 Jan 2008 19:16:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.noodlesoft.com/blog/2008/01/08/idle-hands/#comment-11658</guid>
		<description>@MC

I didn't know that. I always thought the timer was to get you to think about installing the extension and make sure you really wanted to install it.</description>
		<content:encoded><![CDATA[<p>@MC</p>
<p>I didn&#8217;t know that. I always thought the timer was to get you to think about installing the extension and make sure you really wanted to install it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mr_noodle</title>
		<link>http://www.noodlesoft.com/blog/2008/01/08/idle-hands/#comment-11646</link>
		<dc:creator>mr_noodle</dc:creator>
		<pubDate>Thu, 10 Jan 2008 16:14:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.noodlesoft.com/blog/2008/01/08/idle-hands/#comment-11646</guid>
		<description>Concerning the HIG, I don't think Apple is eating their own dog food on this one. Software Update pops up on a schedule. As far as I understand it, there is no "app" for it to pop up for when it launches (except for the Software Update app itself).

Also, as indicated here and by others (search for Sparkle on Daring Fireball), some people aren't fond of being interrupted when they launch an app as they launched it to start doing something with that app. I think this may be a case where usage in the field doesn't quite agree with the theory.

Nonetheless, it's a bit of an experimental feature and it's usage is optional so it's up to the dev (or resourceful user - see my comment above) to enable it for their app.

Thanks for the comments, all.</description>
		<content:encoded><![CDATA[<p>Concerning the HIG, I don&#8217;t think Apple is eating their own dog food on this one. Software Update pops up on a schedule. As far as I understand it, there is no &#8220;app&#8221; for it to pop up for when it launches (except for the Software Update app itself).</p>
<p>Also, as indicated here and by others (search for Sparkle on Daring Fireball), some people aren&#8217;t fond of being interrupted when they launch an app as they launched it to start doing something with that app. I think this may be a case where usage in the field doesn&#8217;t quite agree with the theory.</p>
<p>Nonetheless, it&#8217;s a bit of an experimental feature and it&#8217;s usage is optional so it&#8217;s up to the dev (or resourceful user - see my comment above) to enable it for their app.</p>
<p>Thanks for the comments, all.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Karl von L.</title>
		<link>http://www.noodlesoft.com/blog/2008/01/08/idle-hands/#comment-11640</link>
		<dc:creator>Karl von L.</dc:creator>
		<pubDate>Thu, 10 Jan 2008 14:31:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.noodlesoft.com/blog/2008/01/08/idle-hands/#comment-11640</guid>
		<description>Scrod: That statement in Apple's HIG is a lie. At least, I as a user *do not* appreciate that behavior. I even blogged about it &lt;a href="http://www.geocities.com/~karlvonl/blog/2006/01/update-available-shmupdate.html" rel="nofollow"&gt;two years ago&lt;/a&gt;.</description>
		<content:encoded><![CDATA[<p>Scrod: That statement in Apple&#8217;s HIG is a lie. At least, I as a user *do not* appreciate that behavior. I even blogged about it <a href="http://www.geocities.com/~karlvonl/blog/2006/01/update-available-shmupdate.html" rel="nofollow">two years ago</a>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anon</title>
		<link>http://www.noodlesoft.com/blog/2008/01/08/idle-hands/#comment-11612</link>
		<dc:creator>Anon</dc:creator>
		<pubDate>Thu, 10 Jan 2008 04:43:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.noodlesoft.com/blog/2008/01/08/idle-hands/#comment-11612</guid>
		<description>Scrod, the thing you're missing is that the HIG are guidelines, not rules, and aren't always appropriate.  In this case, I would think that an "Open at Login" app like Hazel is an exceptionÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Âyou never really "look it in the face" and so for it to pop up an update notification at any time, including login, it is likely to feel like an interruption.  Notifying on idle avoids that.

I think it's a good compromise, and a nice patch.</description>
		<content:encoded><![CDATA[<p>Scrod, the thing you&#8217;re missing is that the HIG are guidelines, not rules, and aren&#8217;t always appropriate.  In this case, I would think that an &#8220;Open at Login&#8221; app like Hazel is an exceptionÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Âyou never really &#8220;look it in the face&#8221; and so for it to pop up an update notification at any time, including login, it is likely to feel like an interruption.  Notifying on idle avoids that.</p>
<p>I think it&#8217;s a good compromise, and a nice patch.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alexander Rauchfuss</title>
		<link>http://www.noodlesoft.com/blog/2008/01/08/idle-hands/#comment-11611</link>
		<dc:creator>Alexander Rauchfuss</dc:creator>
		<pubDate>Thu, 10 Jan 2008 04:41:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.noodlesoft.com/blog/2008/01/08/idle-hands/#comment-11611</guid>
		<description>@Scrod:
That is what Sparkle does by default.  The problem being that certain apps like Adium are rarely launched.  It would be entirely possible for a user to be unaware of an update for quite awhile.  To combat this Sparkle can be set up to do periodic checks.</description>
		<content:encoded><![CDATA[<p>@Scrod:<br />
That is what Sparkle does by default.  The problem being that certain apps like Adium are rarely launched.  It would be entirely possible for a user to be unaware of an update for quite awhile.  To combat this Sparkle can be set up to do periodic checks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Scrod</title>
		<link>http://www.noodlesoft.com/blog/2008/01/08/idle-hands/#comment-11608</link>
		<dc:creator>Scrod</dc:creator>
		<pubDate>Thu, 10 Jan 2008 03:28:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.noodlesoft.com/blog/2008/01/08/idle-hands/#comment-11608</guid>
		<description>Is there something I'm missing, or has no one actually read the Aqua Human Interface Guidelines where it discusses &lt;a href="http://developer.apple.com/documentation/UserExperience/Conceptual/OSXHIGuidelines/XHIGInstallationsUpdates/chapter_9_section_5.html#" rel="nofollow"&gt;apps that check for updates&lt;/a&gt;?

A stated advantage of Apple's recommendation is that "users will appreciate receiving an update notification consistently and immediately at launch time, rather than at random times during their work."</description>
		<content:encoded><![CDATA[<p>Is there something I&#8217;m missing, or has no one actually read the Aqua Human Interface Guidelines where it discusses <a href="http://developer.apple.com/documentation/UserExperience/Conceptual/OSXHIGuidelines/XHIGInstallationsUpdates/chapter_9_section_5.html#" rel="nofollow">apps that check for updates</a>?</p>
<p>A stated advantage of Apple&#8217;s recommendation is that &#8220;users will appreciate receiving an update notification consistently and immediately at launch time, rather than at random times during their work.&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mr_noodle</title>
		<link>http://www.noodlesoft.com/blog/2008/01/08/idle-hands/#comment-11579</link>
		<dc:creator>mr_noodle</dc:creator>
		<pubDate>Wed, 09 Jan 2008 15:20:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.noodlesoft.com/blog/2008/01/08/idle-hands/#comment-11579</guid>
		<description>Thanks for the info on how Firefox does it. That's a bit more like the solution Peter Hosey proposed for Adium (see link in article). In that case, the alert is brought up front but not made key, meaning it won't accept key presses until you click on the window.

In the case I'm describing, it is not critical to have the alert come up immediately and having any sort of alert/dock icon bounce would be a distraction. In the cases I'm using it for now, it's for alerts that are the result of some timer so from the user's perspective, they can pop up at any time. The alert happens asynchronous to their flow of events so it can be disruptive if it happens while they are actively doing something.

But yes, for more critical/immediate alerts, something like what you or Peter described would be more appropriate.</description>
		<content:encoded><![CDATA[<p>Thanks for the info on how Firefox does it. That&#8217;s a bit more like the solution Peter Hosey proposed for Adium (see link in article). In that case, the alert is brought up front but not made key, meaning it won&#8217;t accept key presses until you click on the window.</p>
<p>In the case I&#8217;m describing, it is not critical to have the alert come up immediately and having any sort of alert/dock icon bounce would be a distraction. In the cases I&#8217;m using it for now, it&#8217;s for alerts that are the result of some timer so from the user&#8217;s perspective, they can pop up at any time. The alert happens asynchronous to their flow of events so it can be disruptive if it happens while they are actively doing something.</p>
<p>But yes, for more critical/immediate alerts, something like what you or Peter described would be more appropriate.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: MC</title>
		<link>http://www.noodlesoft.com/blog/2008/01/08/idle-hands/#comment-11557</link>
		<dc:creator>MC</dc:creator>
		<pubDate>Wed, 09 Jan 2008 07:30:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.noodlesoft.com/blog/2008/01/08/idle-hands/#comment-11557</guid>
		<description>You might want to consider following the approach used in Firefox for important popups, like the alert asking about installing an extension.  (Someone blogged about it a while back.)  Basically they disable the controls on the window and pop it up, and only re-enable the controls after a few seconds delay.  That way the user sees it, the popup doesn't eat any unintended keypresses, and they get a chance to react safely.</description>
		<content:encoded><![CDATA[<p>You might want to consider following the approach used in Firefox for important popups, like the alert asking about installing an extension.  (Someone blogged about it a while back.)  Basically they disable the controls on the window and pop it up, and only re-enable the controls after a few seconds delay.  That way the user sees it, the popup doesn&#8217;t eat any unintended keypresses, and they get a chance to react safely.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
