In his book The Design of Everyday Things, Donald Norman defines affordances as follows:
"Affordances provide strong clues to the operations of things. Plates are for pushing. Knobs are for turning. Slots are for inserting things into. Balls are for throwing or bouncing. When affordances are taken advantage of, the user knows what to do just by looking: no picture, label, or instruction is required. Complex things may require explanation, but simple things should not. When simple things need pictures, labels, or instructions, the design has failed."
It is an excellent book, and recommended for anyone with an interest in design, although the section on the affordances of doors may ruin your interactions with buildings as you will encounter examples of poorly thought-out design almost daily.
As adoption of the Internet of Things gathers pace, more and more of our cities, homes and environment will become suffused with technology. With these additional behaviours and capabilities will come additional complexity - something that successful designers of connected devices and services will need to counter.
By their very nature, many of the new capabilities bestowed upon objects will be hidden from sight or not immediately apparent from first glance, which makes intuitive design difficult. What are the affordances of digitally-enhanced objects?
How do we convey to the user of an object that it can communicate with the cloud? Or that this device is capable of short-range comminication such as RFID? What does it mean that a toy knows what the temperature is, or when it is shaken? How do you know if your local bus shelter is watching you or, possibly more importantly, why?
An important start is to keep the existing affordances of the object being enhanced. Users who don't realise that a device has any extra capabilities should still be able to use it as if it hasn't. Although this sounds like common sense, it is often discarded due to costs or difficulties in design.
For example, a "dumb" light dimmer switch is usually implemented as a rotary knob which gives the user fine-grained control over the brightness; when hooked up to a home-automation system, the difficulties of synchronising the state of both the knob and the light level, now that the brightness can be controlled remotely or automatically, often leads to the knob being replaced by a couple of buttons. As a result the user loses the ability to make both rapid large changes and smaller, fine-grained adjustments. A better approach would be to adopt the system used on many stereo systems where the volume knob is a motorized potentiometer - the user can still adjust it in the conventional manner, and any changes made by the remote are instantly reflected in the position of the volume knob.
Things get trickier with invisible behaviours, but sometimes we can design the physical form of the object to encourage the right behaviour - there isn't anything inherent in RFID that requires it to be laid out flat in a card, but that leads the user towards the correct interaction of tapping their Oyster card onto the similarly flat reader surface when travelling on the London Underground.
Similar rules apply when designing physical interfaces. Don't overload familiar connectors with unfamiliar behaviours - 3.5mm audio jacks shouldn't be used to provide power, although alternative "data"-level uses are probably okay. And if you're designing a new connector completely then think about ways to prevent the user connecting it the wrong way round. LittleBits have a nice approach in this respect, using magnets to both discourage incorrect connection whilst also encouraging the correct connection.