16

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.

12
  • 4
    If you can make the system make coffee I don't have to leave my chair!
    – Ivo Flipse
    Aug 11, 2009 at 19:15
  • 30
    Preemptive nomination for TheDailyWTF.com enshrinement.
    – TheTXI
    Aug 11, 2009 at 19:15
  • 10
    I sense poor management.
    – Randell
    Aug 11, 2009 at 19:29
  • 12
    Please tell us where you work... so we can run like hell in the opposite direction!
    – avstrallen
    Aug 11, 2009 at 19:40
  • 5
    This 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
    Aug 11, 2009 at 20:32

9 Answers 9

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, ...).

3
  • Seems like the most cost effective solution to me.
    – innaM
    Aug 11, 2009 at 19:47
  • 3
    Just begging for someone to come up with a spring/elastic band attached to the mouse, or drinking bird (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
    Aug 11, 2009 at 20:24
  • 1
    It 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
    Aug 11, 2009 at 20:39
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.

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.

5
  • 20
    The 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
    Aug 11, 2009 at 20:01
  • -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
    Aug 19, 2009 at 6:27
  • 2
    No, seriously, there is no way in which this plan could go wrong.
    – gustafc
    Aug 19, 2009 at 6:45
  • 2
    @Troggy - google.com/…
    – davethegr8
    Aug 19, 2009 at 17:40
  • @davethegr8 haha....ha. crap.
    – Troggy
    Aug 20, 2009 at 4:49
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.

2
  • And if employee removes headset and stashes it behind monitor or under some paper...?
    – cssyphus
    Nov 15, 2013 at 18:03
  • @gibberish erm are you commenting on the right answer, this one doesn't even mention headsets?
    – GAThrawn
    Nov 15, 2013 at 23:57
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 ;-).

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.

3
  • Someone please enlighten me, what would you ever use a system like this for in a real world scenario? Aug 11, 2009 at 20:11
  • So your boss can chase you down every time you leave your desk and "not working"
    – Troggy
    Aug 11, 2009 at 20:31
  • 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
    Nov 15, 2013 at 18:05
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.

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.

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)

Not the answer you're looking for? Browse other questions tagged .