<div class="gmail_quote">On Mon, Aug 31, 2009 at 2:49 AM, Max Romantschuk <span dir="ltr"><<a href="mailto:max@romantschuk.fi">max@romantschuk.fi</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Aug 29, 2009, at 00:47, David Bennett wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
There currently is no way to detect the system idle state in the browser.<br>
</blockquote></blockquote>
<br></div><div class="im">
Henri Sivonen wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
How could such a notification be abused? The first abuse use case I can think of is throttling Web Workers-based botnet computation to be less detectable by the user (i.e. taking over the user's compute resources while the user isn't experiencing the slowdown).<br>

</blockquote>
<br></div>
True, but this could probably be implemented to a largely equivalent degree using the techniques currently employed by sites in lieu of a dedicated API to know when the user is  idle.<br></blockquote><div><br></div><div>
True, although they can do this to some degree already as has already been pointed out.   It could also be useful for apps like seti@home to run something in the browser when the user is idle as well.</div><div><br></div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">I agree that an event model would be a good idea. Having a straightforward way to disable wasteful bandwidth usage when the user becomes idle is a good thing.<br>

<br>
Still, being able to check the idle state without events could be useful for some code, say a periodical executer that checks the idle state prior to doing it's work. If events are the only interface a developer would have to implement their own state keeping.<br>
</blockquote><div><br></div><div>The problem with events is that it would end up being a defined idle time set for the entire browser, if I am thinking of how the suggestion was to implement it.  I think this would be limiting, some entities would have different requirements on idleness.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">One issue:<br>
<br>
Is the user idle when the tab is in the background, when the browser is in the background, or when the user is away from the machine? These are all distinct cases of different levels of "idleness", and it's largely depended on the use case which kind of "idleness" makes sense for a particular application.<br>

</blockquote><div><br></div><div>True.  I was looking specifically at system idle, which is when the user is completely away from the machine and not when the task is backgrounded or minimized.  Detecting this is probably different to idle, since you could be idle and also be in the foreground or minimized.</div>
<div><br></div><div>Thanks!</div><div>David.</div></div>