Interaction between humans and traditional robotic systems can be problematic, as the traditional robotic systems often perform repetitive actions in a restricted environment, whereas human interaction is often characterized by novel ways of interactions, which creates an ever-changing environment. Therefore, traditional robotic system methods and technologies are often difficult to apply in situations and applications where the interaction plays a major role. So we developed a new kind of user-guided behavior-based robotics and applied this method to both mobile and humanoid robots, in order to investigate how nonexpert users could develop their own complex robot behaviors within a very short time (e.g., 30-60 min) with no prior knowledge of the robot technology. In the development of the team of humanoid robots, Viki, we used a modern approach to artificial intelligence that puts emphasis on the balance between control, electronic hardware, material, sensory system, and energy. It is possible to develop simple user interfaces with the user-guided behavior-based approach, in order to allow any user to design performances with the humanoid robots. However, we should not only look at the control of robots when designing human-robot interactions, but also on the physical aspects of the robotic system. Therefore, the novel concept of "programming by building" is introduced and exemplified with the creation of a prototype system consisting of building blocks with individual processing and communication capabilities. By assembling such building blocks, the user develops both the physical aspects and the functionality of the robotic system in an easy manner with no need to use a host computer or a traditional programming language. The approach is further exemplified with the implementation of neural building blocks that can later be trained by the user.