On Programmable Interactions: Principles, Concepts and Challenges of Co-Located and Social Interplay
Mäkitalo, Niko (2016)
Mäkitalo, Niko
Tampere University of Technology
2016
Teknis-taloudellinen tiedekunta - Faculty of Business and Technology Management
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:ISBN:978-952-15-3764-6
https://urn.fi/URN:ISBN:978-952-15-3764-6
Tiivistelmä
Computing machines and humans interacting has long followed similar principles – A human gives an input command to a machine, which the machine then executes, gives an output, and waits for the next human input. Thus the interactions are user-initiated, requiring constant active participation, and much attention. Despite this, the number of such interactions has kept increasing since computing has now pervaded all areas of human life. Take mobile devices as an example: they are now considered as magic remote controllers that enable interaction with the whole world. Hence, people are now glued to their mobiles, which makes them more detached from their surroundings and other people nearby. Consequently, there is no need nor desire to socialize with other people in close proximity. Presently, the physical world and the cyber world are melting into each other, and new cyber-physical devices are rapidly emerging. This means that an ever-increasing number of computers are awaiting user input.
This wide array of computing devices and heterogeneous networking capabilities have great potential for improving the ways human interactions with computing can work. The problem is that the current ways of implementing software are not well-suited for implementing interactions where multiple co-located people and devices participate. The tools mainly support implementing apps where a sole user interacts with the device, and possibly, remotely with another person. Vendor-neutrality also causes many challenges as some manufacturers only focus on improving interoperability within ecosystems.
This thesis approaches computing with a novel concept of programmable interactions. The idea is to consider the interactions as first class citizens in software development. Instead of focusing on how a human interacts with a machine, the focus is on how the machines in the same space can share resources and jointly interact with each other, serving the humans – the programmable interactions are based on principles that put humans into a central role in the interactions. For developing such interactions, the thesis presents an Action-Oriented Programming model and its runtime environment. Human and social aspects are considered with a concept of companion devices. These companions carry personal profiles about their owners, and represent them for other devices that are nearby. The devices socialize and interact with each other as well as with their owners proactively, meaning that they are also allowed to initiate interactions.
The approaches and concepts that are presented form the basis for developing software where interactions play a key role. These programmable interactions are based on a set of human-centric principles, and the task of enabling them is highly demanding. Therefore, enabling programmable interactions should rather be considered as a continuous process that improves over time. The most crucial challenges have been identified in this thesis together with a view on how the current technology can be used to respond to them.
This wide array of computing devices and heterogeneous networking capabilities have great potential for improving the ways human interactions with computing can work. The problem is that the current ways of implementing software are not well-suited for implementing interactions where multiple co-located people and devices participate. The tools mainly support implementing apps where a sole user interacts with the device, and possibly, remotely with another person. Vendor-neutrality also causes many challenges as some manufacturers only focus on improving interoperability within ecosystems.
This thesis approaches computing with a novel concept of programmable interactions. The idea is to consider the interactions as first class citizens in software development. Instead of focusing on how a human interacts with a machine, the focus is on how the machines in the same space can share resources and jointly interact with each other, serving the humans – the programmable interactions are based on principles that put humans into a central role in the interactions. For developing such interactions, the thesis presents an Action-Oriented Programming model and its runtime environment. Human and social aspects are considered with a concept of companion devices. These companions carry personal profiles about their owners, and represent them for other devices that are nearby. The devices socialize and interact with each other as well as with their owners proactively, meaning that they are also allowed to initiate interactions.
The approaches and concepts that are presented form the basis for developing software where interactions play a key role. These programmable interactions are based on a set of human-centric principles, and the task of enabling them is highly demanding. Therefore, enabling programmable interactions should rather be considered as a continuous process that improves over time. The most crucial challenges have been identified in this thesis together with a view on how the current technology can be used to respond to them.
Kokoelmat
- Väitöskirjat [4848]