Push-pins: design-by-user approach of home automation programming

A tangible programming interface called ``Push-pin'' is proposed, which involves end-users in designing smart home programs for home appliance automation. Programming on the Push-pin system is based on a stimulus-response model in which an appliance connected to another appliance via a network gets activated when the other appliance is activated. To interconnect two appliances, the user puts a pin associated with an output appliance such as a lamp or a robot cleaner into an input module such as a switch or a motion sensor. The input appliance sends stimulus data with the ID of the pin as the destination address.