How do I detect when a user is sitting in the chair in front of a computer?

15

7

I am interested in detecting when a user is actually sitting down in a chair in front of a computer. The presence of the user affects many scheduling and user notification decisions that need to be made and as such, the data obtained about the user would need to be readable by a scripting engine.

What I am looking for:

  • Better to accidentally presume the user is in his chair when he is not. If the method of detection is not accurate, it must err on the side of the user being in the chair when he/she is not.
  • Identifying whether the person sitting in the chair in front of the computer is indeed the user that is logged in. This needs to happen without the user explicitly authenticating/identifying. As such, it will not be used for security or privacy related features as it may fail at times.
  • A method of broadcasting what chairs are being occupied (and by whom) to other members of an intranet. A way of managing inventory, tying chairs to computers would be ideal.
  • Mac, Linux and Windows support for the solution :)

Some possible methods that COULD exist out there in the world (but in practice, are not easy to configure and set up):

  1. Monitor inputs with short timeout period. When timeout is reached, broadcast empty chair message.
  2. Add a sitting weight test to the chair which transmits the result to the workstation. If the weight is within a 5lb range of the user's known weight, it presumes the correct user is sitting in front of the machine.
  3. Add motion camera support. Photograph an empty workstation scenario and compare the current image capture to that of the empty, testing the delta with a known threshold.

Update: This is not for employer/employee tracking. It is to allow a user to take part of their workstation user interface with them on their smartphones or portable devices when they leave their desks. Determining where the user is at a given time allows the updates to be sent to the proper device. Consider it an optimization of the signal to noise ratio of notifications. The goal is to avoid sending the notifications to unmanned desktops/the wrong user.

user4881

Posted 2009-08-11T19:11:48.227

Reputation: 488

Question was closed 2017-04-19T06:29:31.320

At my company, everyone gets a tracking chip implanted in their forehead. The computers have sensors to tell not only if someone is sitting there, but who it is and whether they are facing the screen. An upgrade is scheduled for later this year that will enable the computer to differentiate whether the person is sleeping or awake and thinking. A subsequent upgrade will feed the person's thoughts directly into the computer without the need for keyboard or mouse input. – fixer1234 – 2017-04-19T04:07:06.690

4If you can make the system make coffee I don't have to leave my chair! – Ivo Flipse – 2009-08-11T19:15:23.587

30Preemptive nomination for TheDailyWTF.com enshrinement. – TheTXI – 2009-08-11T19:15:52.633

2Is this to be used for evil or for incredibly nefarious PHB purposes? – Nathan Koop – 2009-08-11T19:19:12.597

2You wouldnt happen to be the CEO of Initech would you? Is someone having a case of the Mondays? – Troggy – 2009-08-11T19:29:23.073

10I sense poor management. – Randell – 2009-08-11T19:29:24.603

3Auto coffee management is a must for this product to survive. – Troggy – 2009-08-11T19:30:37.317

12Please tell us where you work... so we can run like hell in the opposite direction! – avstrallen – 2009-08-11T19:40:48.730

5This isn't for employer/employee tracking. It is to allow a user to take part of their workstation user interface with them on their smartphones or portable devices.

Determining where the user is at a given time allows the updates to be sent to the proper device. Consider it an optimization of the signal to noise ratio of notifications sent to users/the wrong user. – user4881 – 2009-08-11T20:32:57.313

This is not a real question – hasen – 2009-08-11T20:54:11.063

This reeks of homework – Izzy – 2009-08-12T05:14:32.920

How about Manacles? – Martin Beckett – 2009-08-11T21:37:57.340

Answers

11

Under Windows there is an API call that returns simple data on keyboard/mouse activity. This is what IM applications use to automatically detect when the user is away or idle. Would that suffice for your needs? There is no doubt an equivalent for other OSs too.

Of course this method can't tell the difference between the user actually being away from the desk and being at the desk but not using the keyboard/mouse (reading documentation perhaps, watching an automated presentation, or discussing matters, ...).

David Spillett

Posted 2009-08-11T19:11:48.227

Reputation: 22 424

Seems like the most cost effective solution to me. – innaM – 2009-08-11T19:47:42.163

3

Just begging for someone to come up with a spring/elastic band attached to the mouse, or drinking bird (http://www.shinyshack.com/product.php?prid=211057) pecking the keyboard type answer.

Look forward to seeing the outcome of this question on TheDailyWTF in a while!

– GAThrawn – 2009-08-11T20:24:24.023

1It does appear to be the simplest solution, and it should probably be used coupled with other presence tests to accurately determine the user's presence.

I agree that it will sometimes generate false positives (user got up and no chance to time out) and false negatives (user not pressing any keys).

Also, it does not allow you to determine what user is sitting at the keyboard at a given point in time. – user4881 – 2009-08-11T20:39:47.520

8

This bit here:

Identifying whether the person sitting in the chair in front of the computer is indeed the user that is logged in. This needs to happen without the user explicitly authenticating/identifying. As such, it will not be used for security or privacy related features as it may fail at times.

Tells me that you're looking for facial recognition and biometric software. This is not likely to be something cheap, or something you're going to find in an off-the-shelf (at least I've never heard of it). Cisco has done this for some of their high-end conference room setups, but beyond that I've not seen it. You'd probably be better off with personnel solution, than a technological one.

Jack M.

Posted 2009-08-11T19:11:48.227

Reputation: 3 133

7

How about "requiring" your "employees" to wear RFID bracelets and install readers at each workstation that reports what RFID tag(s) are present at their location once every 10 seconds or so?

//I can think of no ways that this plan could go wrong.

davethegr8

Posted 2009-08-11T19:11:48.227

Reputation: 470

20The employees could take off the bracelets and leave them at their desks. I suggest slipping in RFID chips during the next company physical/"Flu" shots. – Grant – 2009-08-11T20:01:26.473

-1 for "I can think of no ways that this plan could go wrong" Every authentication/verification method could potentially be broken, circumvented, incorrect, or faked in some way shape or form. – Troggy – 2009-08-19T06:27:08.957

2No, seriously, there is no way in which this plan could go wrong. – gustafc – 2009-08-19T06:45:54.690

@davethegr8 haha....ha. crap. – Troggy – 2009-08-20T04:49:49.840

6

Mandate that company phones should always have bluetooth switched on. Pair phone and PC, detect when phone is no longer in range?

Echoing the above, I can't see any good reason for any of my employers to have ever done something like this.

A more low-tech alternative is a "dead man's switch" as used by train drivers and the like (if the driver's hand isn't holding the lever in place, then the brakes automatically engage). Possibly using weight in the chair, pressure on the mouse, or something similar.

GAThrawn

Posted 2009-08-11T19:11:48.227

Reputation: 4 176

And if employee removes headset and stashes it behind monitor or under some paper...? – cssyphus – 2013-11-15T18:03:02.263

@gibberish erm are you commenting on the right answer, this one doesn't even mention headsets? – GAThrawn – 2013-11-15T23:57:29.547

4

Bananascreen uses face recognition to lock/unlock the screen. Once the screen is locked, you can assume the user is not using the computer ;-).

0x89

Posted 2009-08-11T19:11:48.227

Reputation: 969

2

A script to send a "user away" message to the server upon an inactivity timeout seems by far the easiest. Coupling that with a screensaver that requires authentication would also make it effective at verifying that the user is the correct user.

That being said, if you're going to try to use this system for what we're all assuming you're using it for, you've got much bigger problems than this is going to solve.

Graphics Noob

Posted 2009-08-11T19:11:48.227

Reputation: 360

Someone please enlighten me, what would you ever use a system like this for in a real world scenario? – gabriel1836 – 2009-08-11T20:11:29.807

So your boss can chase you down every time you leave your desk and "not working" – Troggy – 2009-08-11T20:31:08.240

How about for statistical analysis over time so you can identify who is chronically out of their chair? We have a staff person who is just never at their desk... but denies that they are away any more than anyone else. In the meantime, everyone else is picking up their slack... Not fair. – cssyphus – 2013-11-15T18:05:43.087

1

Any Instant Messaging and Presence platform will provide presence and notification information in scriptable form. For Windows there's Office Live Communications Server and Office Communicator.

To get it working on all platforms, you'd need some magic though. There's always Jabber and other conferencing solutions like that Cisco platform - but what you need most is something that is completely and seamlessly integrated with the client OS and user authentication, lock/unlock as well which is a tad more work... at least if you want it reliable and mandatory (easy with Communicator for Windows).

The part that won't work is the requirement of "identifying a user without them authenticating themselves"... ^^

If the user leaves the workstation, they should either lock it or log out depending on their plans. If they log in or unlock another workstation you'd know just by looking at your central authentication records. If they're lazy, give them smartcards, wireless dongles or some other password-replacement method of authentication. Adjust timeouts for locked (and unlocked idle) workstations to have them automatically locked and then later logged off if the user forgets. Wireless dongles will lock when out of range. Smartcards will (if configured to) lock or log out when pulled. Most password-replacement techs will prefer at least a pin cod as well to (re-)authenticate.

Sounds easy to achieve together with some simple user policies. Whatever mobile device they have they need to authenticate on those as well of course.

Oskar Duveborn

Posted 2009-08-11T19:11:48.227

Reputation: 2 616

0

You could implement the practice of having them lock their computer when they walk away from it. then you would definitely know they're not at their desk.

Jason

Posted 2009-08-11T19:11:48.227

Reputation: 101

0

Assuming everyone carries a cellphone and they have bluetooth enabled, you can install software to perform actions when the phones come into and go out of range. (~30 feet)

Chris Nava

Posted 2009-08-11T19:11:48.227

Reputation: 7 009