CCBL: A Language for Better Supporting Context Centered Programming in the Smart Home
In PACMHCI 1(1). pages 1-18. 2017.
This paper presents CCBL (Cascading Contexts Based Language), an end-user programming language dedicated to Smart Home. We design CCBL to avoid the problems encountered by end-users programming with ECA (Event Conditions Actions), which is the dominant approach in the domain. We present the results of an experiment where we asked 21 adults (11 experimented programmers and 10 non-programmers) to express four increasingly complex behaviors using both CCBL and ECA. We show that significantly less errors were made using CCBL than using ECA. From this experiment, we also propose some categorization and explanation of the errors made when using ECA and explain why users avoid these errors when programming with CCBL.