A user belongs to a group, the state of which is represented by the icon of the running instance of Glancing. The icon is an eye and has four states:

  1. closed eye (black and white): nobody has glanced for a long time
  2. half-open eye (black and white): somebody has glanced a while ago
  3. open eye (black and white): somebody has recently glanced
  4. open eye (colour): every member of the group has recently glanced

If possible, many inbetween states should also be represented.

All members of the group share the same glance state.

When a user glances, this raises the group model's glance state. The higher the state, the wider the eye icon. The glance state gradually decreases over time -- a user's glaces should probably be effective for about 1-2 hours, taking 5-10 minutes to have its strongest effect. I'm using a prototype algorithm at the moment.

If all users have glanced recently - this can be achieved by all users glancing when the eye is in its highest-but-one state (within in particular timeframe), which probably only lasts for 5 minutes or so, if not renewed - then the glance state moves into its highest state (4, above). At this point a new menu option is enabled, Chat. Any user choosing this will propose a chat to the others, via an IM application -- if they're all listed as not busy on the IM app.