I've just released a new Drupal module that uses an idea that I heard about a short time ago. The idea is to add a field to a form and hide it with css. If a bot fills in the field, reject the form without any notice (do bots really check for success?), without impacting the user experience. Other devices require extra user interaction.