Keywords

1 Introduction

Internet of Things has become more than a marketing buzzword now. Cisco has predicted that global market of Internet of Things will be 14.4 trillion dollars by 2022. Internet of Things envisions a future where all the objects around us will be connected to each other. This vision is shared by many other interrelated research paradigms such as Ubiquitous Computing, Pervasive Computing, Cyber-Physical Systems, wireless sensor networks etc. The objective of all these research areas is to make our lives more comfortable by using devices with communication and computation capability that are connected to each other to sense our surroundings.

However, these areas do not focus much on the emotional and social side of connectivity. This means that the solutions provided by these technologies just strive for providing automation rather than also helping in connecting people with each other. Due to the proliferation of numerous tech gadgets such as smartphones, laptops, smart watches etc. we are beginning to lose touch with our natural surroundings and even alienating us from other people. Therefore, we need technologies that will allow people to be emotionally attached to their surroundings and help in developing the social connection with other people. This implies that we not only need to connect objects in our surroundings with each other but also people with other people and people with other objects. Internet of Everything is based on the same objective of extending networked connection of objects to include people, process, and data. Cisco defines Internet of Everything as intelligent connection of people, process, data, and things that creates new capabilities, richer experiences and unprecedented economic opportunity for business, individuals, and countries [5, 11]. Figure 1 shows the interconnection of people, data, processes and things in Internet of Everything.

Fig. 1
figure 1

Interconnection of people, process, data, and things

Instead of just focusing on technological aspects of an application, researchers are now trying to use knowledge from multiple disciplines such as sociology, psychology, philosophy, architecture etc. to design an application. Researchers want to use the knowledge of human emotions, social connections, and interaction between surrounding devices and humans with each other to provide improved services to users. Smart Spaces is one such application which tries to make our surroundings smarter by utilizing the knowledge from multiple disciplines. Many IoT applications such as Smart Home, Smart Building, Smart HealthCare, Smart Parking, Smart Retail etc. can be classified as a type of Smart Space. All of these applications are somehow interconnected as there is sharing of data between each other. No matter what the approach is for designing each application, final objective of each application is to improve user’s life by providing better services. Although the specific details might be different but the challenges such as interoperability, scalability, security, privacy, etc. are also common for every application. Since these applications are so closely related, it makes sense to understand them together.

In this paper, we give an overview of Smart Spaces in general and then study in detail about two important applications i.e. Smart Home and Smart Shopping. We look at drawbacks in current solutions and classify the reasons why these applications are not being widely accepted by users. According to our analysis, we found that if smart space developers want to have wider market adoption of their technologies then they should shift their focus from technology-centric view to user-centric. Smart space developers should not compromise on some essential features such as low cost, high security, reliability, flexibility and robustness, and easy manageability to enable wider market adoption. In coming future, all the smart spaces will be combined with each other so, it is important to understand the difference various smart spaces in order to combine them. Therefore, we have also given four user-centric criterias (type of stakeholders, number of users, dynamicity of smart space, and user’s requirement) to compare smart home and smart shopping application. After analyzing the challenges and drawbacks in smart spaces, we also provide some future research directions for developing smart spaces.

The rest of the paper is as follows. Section 2 gives a generic overview of Smart spaces. Sections 3 and 4 discuss in detail about Smart Home and Smart Shopping application respectively. Section 5 discusses the difference between Smart Home and Smart Shopping. Finally, in Sect. 6 some research directions for developing smart spaces are provided.

2 Overview of Smart Spaces

Smart Space is any surrounding environment that adapts itself to human behavior and needs by utilizing the data obtained from the interaction between objects and humans. The “objects” here refer to all the devices that are present in our surrounding which may include wearables, smartphones, laptops, or any other device capable of sensing and/or actuation. The objects and users within a smart space can be either stationary or mobile. By using the data from various social networks and other devices in the surroundings, we can analyze and obtain the contextual information and data related to user behavior and requirements. Once we know the user requirements we can use it to provide personalized services and make the lives of users more comfortable.

The development of smart spaces requires knowledge from multiple disciplines such as computer science, psychology, sociology, architecture etc. We need to collect data from sensors and other sources, analyze this data to find some useful features related to human behavior, exchange this data with heterogeneous devices and then configure the devices and systems accordingly. Interactive user interfaces are also one of the most important components to be included in smart space as they make it easier to manage the smart spaces. User-friendly interfaces are required to display the result obtained from different sources of data and enable the interaction with different devices and systems. These interfaces also open new opportunities for exchanging data among users and enable better collaboration among individuals.

Technical challenges such as interoperability, resource discovery, scalability, big data analytics, openness, robustness, security, and privacy are common for every smart space scenario [48]. Interoperability is a major research challenge that needs to be resolved to allow interaction between devices or users located within and across different smart spaces. European Research Cluster on the Internet of Things (IERC) defines four types of interoperability i.e. technical, syntactical, semantic, and organizational interoperability [51]. Technical interoperability is related to hardware/software components and communication protocols that enable machine to machine communication. Syntactical and semantic are related to format, syntax, and meaning of data. Organizational interoperability is about overall ability to communicate and exchange data between two different organizations. Smart spaces need to support the capability to add new devices, users to the existing system and also allow different smart spaces to exchange data with each other. Smart Space is a dynamic environment that consists of a large number of devices and users interacting with each other. Some of the scenarios that need to be handled while managing a smart space are:

  • Addition or removal of devices: Since all the devices interact with each other to provide a comfortable environment, addition or removal of a device will at least require informing the other devices about the change in the configuration of network. Addition or removal of devices will lead to changes in the connectivity and coverage of the network. There is a possibility that addition of new device may make an old device redundant or outdated so the old device would have to be removed. On the other hand, if any functionality was being commonly handled by the removed device and another device, then the other device will have to change its configuration accordingly.

  • Changing the configuration of a device: A device configuration could be changed with time. This change could be either with hardware or software. This change might make some devices incompatible for data exchange which will hamper the functionality of the whole system. Therefore, changes in one device will reflect in all the network and other devices will have to configure themselves accordingly.

  • Reconfiguring the Smart Space according to the user: Nowadays, the services being provided are usually personalized. Each user has different preferences and therefore the user has to modify the settings of devices according to his/her requirements. This problem can be resolved if the smart space can recognize the user and remember the users’ settings. So the next time if the same user enters the smart space, device settings are changed automatically [10].

  • Handling multiple users’ requirement simultaneously: In the previous point, we made the assumption that there is only user present in the smart space. But usually, within a home building or office, there are multiple individuals that are present at any single time. Since each user might have different preferences, it is very difficult to adapt the smart space such that it is suitable for every user. This is an ongoing research challenge to resolve the conflict arising due to multiple users’ requirement [39].

Although the technical issues are important in developing smart spaces but if the researchers want their technological solutions to be widely used by everyone they need to change their approach. Therefore, in recent years, researchers have changed their approach from technology-centric to user-centric. Researchers are focusing more on the requirements of users rather than just thinking about the new technological solutions they can provide. Previous method of just pushing technology into the market did not work so well as users either did not want the solutions at first place or they just could not understand how it worked. We have outlined some of the non-technical issues below that need to be taken into consideration while developing smart spaces.

  1. 1.

    User Profile: It is important to understand whether the smart space is intended to be used by a specific set of users or the solutions provided are applicable for everyone [3]. For e.g.: Ambient assisted living is a smart space application that is usually designed for elderly people and it has to be different from smart space that is designed especially for young kids. This example illustrates the difference in age but in fact, users could be different in terms of habits, social needs, physical and mental health etc.

  2. 2.

    User’s Knowledge about Smart Space: Usually an average user has very little understanding of what is smart space, what are the functions of different devices, and how to configure those devices according to their requirements. In [38, 55], the experience of users operating smart devices in a natural home environment has been studied and it was observed that users cannot fully understand the system behavior so they have to try some hacks to configure the system settings. This kind of situation leads to user frustration.

  3. 3.

    User-Device Interaction: User interfaces for devices within smart spaces must be interactive, simple to use, require low effort for understanding, and most importantly usable by all kinds of users [3]. Yang and Newman [55] analyzed the use of Nest thermostat in natural home settings, it was revealed that good interface design leads to better engagement. Researchers have tried various types of interfaces such as gestures, audio-visual, brain-computer interface. Nowadays, researchers are trying to create interfaces that enable people to interact with their natural surroundings. For e.g. in [25] an interactive interface called “time home pub” has been designed that uses table, whiskey glass, MP3 player as main components for interacting with surroundings.

  4. 4.

    Balance between User-device control: It is important to decide how much control should be given in the hands of users. We could either have a case where users directly control the space around them or another scenario where devices passively monitor the users’ behavior and needs and then configure the space accordingly. It has been found that if users feel out of control or do not understand the working of devices while using autonomous technologies then they impose limitations on the level of automation [39]. This means they might set the settings of a device manually rather than depending on it. Mennicken et al. [39] suggests that it is better to consider in terms of collaboration between users and devices rather than control. In this case, both user and devices exchange useful information with each other in order to make any decision.

3 Smart Home

Smart home is a residential area that automatically adapts itself according to resident’s requirements and allows them to access and control their surroundings that are being monitored using various sensors and other devices. Various kinds of sensors embedded in wearables, smartphones, and surrounding devices collect data related to physical environment, human behavior, and human activities. This data is then analyzed to automatically adapt the physical environment and provide a range of personalized services to humans that help in improving their living experience [13]. Different individuals use smart home services for various objectives but we can classify them into four main types as shown in Fig. 2.

Fig. 2
figure 2

Classification of smart home services

According to a study done in [35], average US citizen spends 15.6 hours inside a home. Since this is almost 2/3rd of our daily time, it becomes essential to provide functionalities that can enhance our comfort while staying inside a home. These functionalities can include providing remote access and control of various appliances within a home, automatically adapting HVAC systems according to physical environment and other contextual information, providing improved security by allowing access to authorized individuals, monitoring the health conditions of inhabitants and sending an alert in case of abnormal situation (fall detection, heart attack etc.), or setting the entertainment systems according to your emotions [4, 54]. In reference [42], authors provide a list of twenty-two services such as smart memories, smart bed, smart table, smart bathroom, smart wardrobe etc. that can be included in a smart home. Authors in [50] use computing technologies to transform normal surfaces inside a home such as a fridge door, kitchen walls, notice boards into smart surfaces that can help us in efficiently organizing our home life. IEEE has created a virtual home, IoT Home of the future, that shows the technologies and functionalities that can be included in a smart home in coming future [26]. Researchers have also created real smart homes such as Mavhome [15], Georgia tech aware home [29], House_n [49] to demonstrate the possible functionalities that could be included in future smart homes.

Most of the services developed for smart home try to enhance our comfort level. Even though comfort and convenience are a priority while developing smart homes, we cannot ignore the damage that could be done to our natural surroundings by over-utilizing the resources like energy. Therefore, there is always a debate between comfort vs energy i.e. whether we should prefer energy-conserving environment or use functionalities that maximize our comfort [39]. This leads to another point of view for smart homes where the focus is on saving energy and money by utilizing energy management systems that also help in reducing the carbon footprint [54]. The basic idea is to use smart meters and other interfaces that inform the user about the total energy being consumed and provide possible solutions that will help in saving the power and money for inhabitants. Energy management systems can be used to program (either automatically or manually) the appliances inside the home such that they are not used at the time of peak electricity price, and they get switched off when not in use or when total power consumption exceeds a threshold. These settings are dependent on the kind of household and their energy demands.

Out of all the smart home applications, ambient assisted living (AAL) has received the most attention by researchers working in this area. AAL aims to make the lives of people with special demands such as elderly, handicapped etc. more comfortable by enabling them to live independently at home [30]. Factors such as increasing aging population, high cost of professional health care personnel, increasing burden on professional health care personnel, and increasing demand of people to continue living independently at their current place of residence has prompted researchers to put more emphasis on this application [46]. It is very challenging to provide a comfortable life for elderly as they generally face issues like the decline in physical activity, vision, hearing, cognitive functionality, and even many age-related diseases such as Alzheimer, Parkinson, Arthritis etc. [46]. Some of the important techniques required for helping the elderly and other such individuals are human activity recognition (to detect daily life patterns) [14], planning (to help plan activities especially for patients suffering from dementia), anomaly detection (to detect wandering patterns or hazardous behavior) [12, 17], identity detection [21] and indoor localization (to track and provide location based services), context modeling (to provide context based services) etc. [46].

While designing solutions for AAL, researchers should take into account the special requirements of the specific individual and continuously monitor whether their current situation or illness affects their capability to use provided technology [23]. According to a study done in [23], it is seen that these individuals, especially elderly, care about connecting and communicating with their peers and other family members. Other important finding from studies done in [4, 23, 30, 46] is that elderly people do not accept modern IT technologies easily. There is also a social stigma attached to using these solutions that it makes them look dependent and in need of professional health care [23]. So they often try to hide the wearables or other sensory devices in their surroundings. Elderly people need technologies that are unobtrusive and adaptable according to specific individuals and context [30].

In recent years, researchers have come up with many innovative solutions that help in solving issues related to AAL. In [33], authors propose some guidelines in adapting the prompting strategies (auditory, pictorial, video or light) according to the cognitive profile of the patients suffering from Alzheimer’s Disease. Since privacy and unobtrusiveness is an important concern for individuals [13], authors in [1] implement a device called vital radio that uses reflection of low power wireless signals off human body to track breathing without violating privacy or using any contact with human body. The technology has reached a point where we can even help in saving a life. Authors in [6] show a case study where it is revealed that life of a patient could have been saved from heart attack by analyzing real-time data from combination of multiple sources such as changes in activities, data from body worn and surrounding sensors, data from medical devices etc.

Apart from AAL application, we have plethora of smart home devices emerging in the market. Every major company including Google, Microsoft, Samsung, Apple, Amazon etc. are introducing devices that promise to automatically adapt our surroundings and make our homes smarter. According to report by IControl Networks that surveyed 1600 consumers [41], 90% of consumers purchase smart home products for increased personal and home security, 70% for saving energy and money, and entertainment being the new emerging factor for buying smart home products. Another interesting trend observed is that 60% people prefer devices that can adapt themselves automatically. It shows that people are ready for smart homes, however, the adoption of the smart home devices is still very low. In [55], study was done to determine problems faced by residents using intelligent systems like NEST thermostat. It was revealed in [55] that users face problem understanding the learning behavior of NEST and in some cases users were even annoyed by the adaptive changes done by Nest. This issue leads to users taking over the control of devices instead of relying on automation done by devices. We identified four major reasons behind low acceptance of smart home products by users which are lack of consideration of user profile, high cost, high complexity, and lack of trust. Each of these issues has been explained in detail in the following subsections.

3.1 Lack of Consideration of User Profile

As mentioned before, most of the research in smart home has been focused towards health related users and even then it is an ongoing research challenge to determine the user attributes for designing home health care technologies [9]. As for other types of users, a lot of research is required to obtain specific and differentiating characteristics [54]. Users differ in terms of age, gender, profession, socio-cultural beliefs, acceptance of technology, physical and mental health, social needs, daily routine, social relationships etc. An individual also changes with time, so a smart home system that works now may not work in near future due to change in user with time [39]. Looking at these differences, it is apparent that designing a smart home even for a single person is very challenging as it needs to be very flexible and meet such varied demands. Usually, smart home consist of multiple individuals that share the space and devices with each other so the chances of conflict are much higher as each individual has its own preference. We have described four criteria below that will help in determining the type of users and the solutions they prefer.

Diversity of users based on age

Most of the smart home services are designed for people who have been staying in their homes for long time [4]. Even though young people have more acceptance towards technology, they cannot take full advantage of these services because most young people prefer to live in rented homes due to affordability factor and their choice of living. According to PwC, 60% of population will live in rented homes in London [43] therefore, the smart home services need to be made more flexible and cheaper. Young people need smart home services that are modular and independent so that they can use these services even in their new homes without worrying about integration issue. Next group of users belongs to the category of families having children. Apart from affordability and flexibility, this group of users is also concerned with energy savings, and security of their home and people inside it. They are interested in services that can help them in monitoring the activities of their children or to get the energy and cost information. The third category of users is older age people who usually live alone in their homes. One important challenge regarding elderly people is that they do not easily accept new technology. So technological solutions that use smartphones or new gadgets might not be the best choice for them as they may not know how to operate that and are not very eager to learn new technologies [4].

Physical and Mental Health

A smart home solution that is suitable for an average individual will definitely not work for someone who is suffering from an illness or physical disability. Users with special needs have different types and stages of illness so they need solutions that are suited according to their individual context [9]. Authors in [33] show how different patients suffering from Alzheimer’s Disease need different prompting strategies according to their cognitive profile. So, even though two individuals may suffer from the same disease, their stage and experience will determine what kind of solution is best suited for them.

Attitude towards smart home automation

Most of the users believe that automating the functionalities in the house will lead to peace of mind and convenience for them [8]. However, everyone does not share the same view as there are some group of users who think that automating functionalities inside the house will make them lazy or they will lose control of their own house [4]. Different users have different philosophical beliefs and cultural differences which makes it difficult to provide a solution that can work for everyone. For example, affluent people who can afford the smart home solutions usually prefer comfort while middle and lower class families want to save money and energy. Another class of users is technophiles who have positive attitude towards adoption of technologies. In recent years, do-it-yourself (DIY) technologies have emerged that allow users to program the smart home solutions themselves. Such solutions are good for technophiles but average user will not adopt them easily as they have very minimal understanding of smart home technologies.

3.2 High Cost

Even if a smart home solution meets the demand of an individual, it never comes at a low cost. Cost here is associated with both time and money. Current smart home solutions are expensive which is the major reason behind limited market adoption. Most smart home systems are outsourced and they are not affordable for average households. Users can have cheaper systems by utilizing do-it-yourself (DIY) technologies that also offer more flexibility but user needs to have sufficient technical knowledge to use them and they have to devote lot of time [52]. Another issue with current smart home systems is that they require some structural changes in the house which again costs money and time [8]. People who stay at rented houses cannot afford to make these structural changes so they usually do not adopt them. In coming future, more people will live in rented houses so these issues need to be resolved to allow more adoption of smart home solutions [43].

3.3 High Complexity

Users want to adopt smart home solutions to make their life more comfortable and convenient, however, if the solutions are complex for them to understand then they will be more annoyed than comfortable [8]. Users want solutions that can be easily managed and controlled. Interactive interface plays a major role in allowing users to achieve this objective. The interface should be simple enough to be understandable by any user irrespective of age or technical background. A study of experiences of users using home automation technologies was done in [8] and it revealed that users did not like that they had to explain the working of smart devices to anyone new to the home. Authors in [31] design context based notification system that is efficient and less disruptive than traditional notifications by smartphone. Such systems make it easier to view and control the devices. It is often observed that smart home devices are usually managed by just one person in the house who is most likely a technophile or one of the elder member. One of the main objectives of smart home technologies is to improve social connection and emotionally connect users to their surroundings and this is definitely not achieved in the current scenario. In [20], authors propose a game-based collaborative system that uses gamification mechanisms such as points, levels etc. to engage all members in a house to collaboratively manage the devices [20]. Another complaint that is received by smart home users is that they cannot customize their systems and thus they have no control over their own houses. Although DIY technologies do help in customizing the houses but they cannot be used by everyone [52]. Smart home users cannot understand the learning process of devices which is frustrating for them as they think they are not in control [55]. This situation is made worse by the fact that sometimes smart home devices do not respond or function in an undesired manner. They always need the help of outsider or someone with technical knowledge in the house to control these devices [8]. Repair is another issue that creates a problem for smart home users. The systems are so complex for them that they require the help of consultants to do even minor repair or changes in configuration [8].

3.4 Lack of Trust

If the users do not trust the smart home solutions then no matter how smart the solutions are, they will not be adopted. Data collected by sensors in the smart home contains a lot of personal information such as location, behavioral data, daily routines etc. which should be kept private and secure. Smart homes are designed to provide remote access and control to individuals which is appealing to users but if the system is not secure then people with evil motives can use it to their advantage. Hackers can remotely use the system to manipulate our physical environment. Therefore, it is important that devices in the smart home can only be used by authorized individuals [13]. Another important point to consider is to keep the data confidential so that privacy of users is maintained. The third factor that leads to lack of trust among smart home users is unreliability of devices. Smart home users often face situations where the devices start adapting in an undesired manner or they become unresponsive [8, 55]. In future smart homes, devices will make autonomic decisions based on learning the human behavior and sometimes this might lead to undesired behavior. Authors in [18] use the concept of autonomic computing to resolve misunderstanding situations that may arise in futuristic home scenarios.

4 Smart Shopping

Over the last decades, the advances of pervasive computing and data analytics are increasingly transforming regular shopping malls into another smart space, where customers’ shopping behaviors can be captured and analyzed, and thus lead to a more user-friendly shopping environment. According to the research results in [47], smart shopping is to minimize the expenditure of time, money, or energy to gain hedonic or utilitarian value from the shopping experience.

There are two aspects, user-oriented and shop-oriented, in smart shopping. Most of current works focus on users’ aspect, which can also be classified into two categories. The first category is to understand customers’ shopping behaviors; the other category is to enhance customers’ shopping experience. Detailed classification is illustrated in Fig. 3.

Fig. 3
figure 3

Classification of smart shopping

4.1 User-Oriented Smart Shopping

4.1.1 Enhance Shopping Experience

Brick and Mortar stores have been facing unrelenting competition from online retailers. An enhanced shopping experience is often perceived as a decisive factor in regaining market share. A lot of research efforts have been put into this perspective.

Wang et al. in [53] modeled retail transaction data for personalized shopping recommendation. While an integrated approach for cost-effective development of innovative in-shop-experience applications leveraging the Internet of Things, HTML5 and Pervasive Display Networks is proposed in [37]. Mahashweta et al. [16] proposed a novel recommender system that helps users in shopping for technical products. The suggestions are generated by leveraging both user preferences and technical product attributes. WeShop [32] is a mobile application which uses social data to help customers navigate the decision process in the store. The authors found that uncertainty about a product can act as a barrier to purchase for a customer. The more confident a customer is about a product, the more likely he or she is to purchase it. At the core of the experience is the use of social profile data as a form of context to provide a tailored experience aimed at reducing customer uncertainty.

4.1.2 Understand Shopping Behavior

Retailers are dying to know more about their customers and have a better understanding of customers’ shopping behaviors which is critical for market adoption and product promotion. Existing works mostly focus on how to collect customers’ shopping data, tracking, and recognize their gestures.

For data collection, TagBooth [36] is an innovative system to detect commodities motion and further discover customers’ behaviors, using COTS RFID devices. The authors exploited the motion of tagged commodities by leveraging physical-layer information, like phase and RSS, and then recognize customers’ actions like picking, toggling events. Another work is a real-time data collection system proposed in [56], which is based on the following queries.

  • To discover the path of a given length (defined by the number of sectors) shared by the largest portion of buyers.

  • To find out the path with as many sectors as possible, subject to a predefined threshold of support.

  • To find out sectors where buyers visit frequently but seldom purchase any products in these sectors.

For tracking customers, Harikrishna et al. proposed a video analytics solution for tracking customer locations in retail shopping malls [45]. In the work, they presented a computer vision based system for tracking customer locations by recognizing individual shopping carts inside shopping malls in order to facilitate location based services. Customers’ traces offer researcher insights about their behaviors. Toshikazu [28] proposed a concept of KANSEI modeling from the aspects of users needs in information service. The key issue is to computationally describe human information processing process from the following aspects; (1) intuitive perception process, (2) subjective interpretation of their situations, (3) knowledge structure of service domain, (4) feature of behavior pattern, and (5) decision making process. Figure 4 illustrates the schematic model of KANSEI.

Fig. 4
figure 4

Schematic model of KANSEI [28]

SangJeong Lee et al. presented a customer malling behavior modeling framework for an urban shopping mall in [34]. The framework utilizes customers’ smartphones to derive a holistic understanding of customer behaviors from physical movement to service semantics and proposed a multi-level structure of customer behavior model as shown in Fig. 5.

Fig. 5
figure 5

Multi-level structure of customer behavior model [34]

For recognizing customers’ gestures, some researcher used WiFi to sense customers’ behaviors in a retail store, since video surveillance can not be used due to high cost and privacy concerns. Zeng et al. [57] showed that various states of a customer such as standing near the entrance to view a promotion or walking quickly to proceed towards the intended item can be accurately classified by profiling Channel State Information (CSI) of WiFi. Also Meera et al. [44] demonstrated that reliably inferring customers’ in-store interactions and behaviors by just observing their hand and foot movement inside a store. The hand gestures and locomotive pattern of the customer is identified by appropriately mining the sensor data from shoppers personal smartphone and wearable devices (like smart watches).

4.2 Shop-Oriented Smart Shopping

Numerous research focus on user aspects, only a few of them try to model shops. ShopProfiler [24] is a shop profiling system on crowdsourcing data. First, they extracted movement patterns from customer trajectories. Then localized shops through WiFi heat map. And lastly they categorized shops by designing an SVM classifier in shop space to support multi-label classification and infer brand name from SSID by applying string similarity measurement.

Karamshuk et al. used a data-driven approach to find the optimal location for a new retail store in [27]. They exploited check-in data from Foursquare and mined two features to predict the popularity of retail stores. The two general signals are geographic, where features are formulated according to the types and density of nearby places, and user mobility, which includes transitions between venues or the incoming flow of mobile users from distant areas.

4.3 Immature Techniques

Smart shopping is not that prevalent currently, as some fundamental techniques are immature and cannot be applied to large real scenarios. For example, accurate indoor positioning system require specialized equipments. Cheap as WiFi-based localization systems are, they can only derive coarse-grained location information. Another example is CSI-based gesture recognition. CSI is utilized to recognize customers’ gestures, but it does not work when there is a lot of customers, which poses a strong assumption against reality.

5 Discussion

Researchers are trying to make everything in our surroundings smart by introducing a different variety of sensors and devices but currently different smart spaces do not really interact with each other. Our needs and behavior are influenced by every small thing that we interact with in our surrounding. This includes all the devices and people at our home, office or any other place. Therefore, if we want to implement a true “Smart” system, then we need to use data from multiple smart spaces. Different smart spaces not only need to share data but interact with each other. We give an imaginary scenario below where three different smart spaces (Smart Home, Smart Parking, and Smart Shopping) interact with each other. This scenario shows how our life will become more comfortable if multiple smart spaces can share the data and interact with each other. Interaction of different smart spaces will drastically change our way of living.

Let’s say there is a scenario where you take your car and go towards Shopping mall to buy some clothes for an upcoming party. Smart Parking application will monitor your trajectory and calculate the time to destination. Based on your previous preference, a parking spot will be reserved for you at the shopping mall and smart parking application will guide you to that particular spot once you reach your destination. At the same time, sensors in your smart home monitor and predict your future requirements. Wearable sensors and sensors on your smartphone analyze your current situation and since you are at a shopping mall, you get a notification that you might need to buy some grocery items as they are almost finished. You select this notification and you get a detailed list of items that need to be bought. Within the shopping mall, smart shopping application will give you personalized recommendations and guide you to make your shopping experience more efficient and enjoyable.

In the coming future, not just these three applications but all the smart spaces that one can imagine such as home, office, hospital, shopping mall, parking lot etc. will interact with each other. There are three main technical challenges that need to be tackled to develop such an integrated system. First one is interoperability to allow sharing of data between heterogeneous systems. Second is scalability so that system is robust enough to add and remove devices/users. Finally, security and privacy cannot be ignored as the interaction of different smart spaces will require access to personal information that should be kept secure.

We analyzed two important smart spaces, Smart Home and Smart Shopping, independently in Sects. 3 and 4 respectively. However, as stated above, we need to think in terms of whole integrated systems rather than individual smart spaces. Even though most of the technical challenges are common for these two smart spaces there are many small differences that should be considered while designing them. We have outlined four main differences (Table 1) below between Smart Home and Smart Shopping application. The four differences given below can also be utilized to differentiate other applications.

Table 1 Difference between smart home and smart shopping application
  1. 1.

    Type of Stakeholder: While developing any technological solution for a smart space, we need to consider who will use the technological solution and what are their requirements. Users who are interested in the smart space solutions are called stakeholders. For any smart home application, we have just one type of stakeholder i.e. household inhabitants. However, these household inhabitants can be further classified into many categories such as children, young people, families, elderly, physically disabled individuals, mentally disabled individuals etc. In Sect. 3, we classified objectives of smart home users into four categories which are comfort and convenience, security, energy conservation, and healthcare. On the other hand, for a smart shopping application, we have two type of stakeholders: i.e. Shop owners and customers. Shop owners are interested in increasing their sales so they want to know different marketing strategies and other useful information that will help them in attracting more customers. While customers want to get the best value for their money and a personalized experience while shopping. Customers are also interested to know the latest update on their favorite products that are launched into the market. Use of technology can help achieve the objective of both the stakeholders but it is important that these solutions are unobtrusive for customers.

  2. 2.

    Number of Users: Scalability is an ongoing research challenge in developing smart spaces. The number of users in a smart home is in the order of tens at maximum while for a smart shopping scenario this number is definitely larger. For super stores like Walmart, this number is around 100,000,000 customers per week [7]. According to Gartner, by the year 2022 number of devices within a single home could be 500 [22]. Currently, we do not have an exact number of devices for smart shopping application but if the number of customers is any indication then the number of devices should at least be in the range of thousands for stores like Walmart. With such huge difference in the number of users and devices for these applications, it is clear that a solution for a smart home cannot be directly applied for smart shopping application.

  3. 3.

    Dynamicity of Smart Spaces: Configuration of a smart space can be changed by addition, removal, or change of devices or users in the system. A smart space should be robust enough to recover from any change in its current configuration. Difficulty in developing a smart space directly depends on how dynamic it is. Smart home application is not as dynamic as Smart Shopping. In the case of a smart home, once the systems are configured according to user’s requirement they are seldom changed later on. Few changes are done when devices are replaced or new user is added but these changes are minimal. However, for a smart shopping application, there is always a constant change in the number of users. The mobility of users in smart shopping scenario is also higher as compared to smart home scenario. There are higher chances of device damage in smart shopping application as the number and types of users utilizing the devices is higher.

  4. 4.

    User’s Requirement: Smart Home users want their surroundings to adapt according to their behavior and requirements. For example automatic adaption of lighting or HVAC system within a home. This is called personalized setting of smart home environment. Now if a smart home consists of multiple inhabitants then everyone wants to set the devices according to their own choice which leads to conflict. In case of Smart Shopping scenario, such a conflict does not occur as users are not interested in personalizing the surrounding environment. Customers in smart shopping application are interested in receiving personalized recommendation for shopping. Shop owners collect data related to their customers and use it for personalized marketing of products. In both cases, users want personalized services but the type of service required is entirely different. Smart space developers should consider type of user’s requirement while integrating multiple smart spaces.

6 Future Directions for Research in Smart Spaces

Today we have tons of products in the market that are being branded as “Smart” devices. However, when these “Smart” devices are used in a practical environment they do not meet the expectations of users [39]. This is why researchers are now testing their solutions in real situations instead of laboratory settings. In previous sections, we analyzed the drawbacks in Smart Home and Smart Shopping application and even compared these two applications. This section points out some research directions for smart space developers. As it has been mentioned earlier that smart space development requires effort from multiple disciplines so we do not cover all possible research directions. Many issues such as policy-making, legal, ethical, philosophical etc. have not been considered in this section.

  1. 1.

    Improved Sensing Technology: Sensing is the fundamental towards development of smart spaces. We use a wide variety of sensors to monitor our physical environments, activities, health signs, and for many other purposes. Authors in [19] classify sensing devices being used in the smart home into three categories i.e. Wearable devices, Direct environment components, and infrastructure mediated system. If we want everything around us to be smarter then we need sensors that have lesser weight, smaller size, and longer battery power and transmission range. Energy harvesting could be a solution to low battery issue but current solutions are not sufficient. Research efforts are required to develop new ways of sensing that are more comfortable and less obtrusive [1]. Issues like absorption of electromagnetic energy by human tissue will be an important concern in coming future as the number of sensing devices around us will be very large [46].

  2. 2.

    Beyond Human Activity Recognition: Usually the services provided to users in a smart space are based on the current context and situation. Context and situation awareness is done based on the recognition and prediction of human activities from sensor data [14]. This is not sufficient though because a smart space means the surrounding environment is adapted based on user’s behavior and requirements. Therefore, researchers should work towards recognition of high-level goal or intent of users [39]. Research is required to develop new algorithms that can predict human emotions, behavior, comfort and eventually their intent in a naturalistic environment. Another area that needs attention is recognition and prediction of critical events based on collected sensor data [14]. This is important because users are more interested to know about anomalies and critical events rather than regular events [14, 39].

  3. 3.

    Interactive Interfaces: Designing interfaces for human-device interaction will continue to be an important issue in coming future. One interesting topic in this research area is to design interfaces for elderly and physical or mentally disabled individuals. Interfaces for these special individuals should be designed differently. One of the major reason for the limited adoption of smart space solutions especially among these individuals is the social stigma attached to using special care facilities [46]. Therefore, they need interfaces that are not only easier to use but also they look more natural and hence are invisible. Interfaces should be designed such that they can be used by anyone irrespective of their technical background or any other difference. Even though devices are being made to autonomously adapt themselves, humans will still be somehow involved in decision-making process. Future interfaces should be designed not only to allow management of devices but also enable collaboration between devices and humans.

  4. 4.

    Interoperability: Use of heterogeneous devices is common for developing a smart space. There are solutions available to handle technical interoperability challenge that occurs due to the difference in communication protocol and standard being used. However, in coming future, we will have multiple smart spaces interacting and sharing data with each other. This means we need interoperability solutions not only to allow transmission of data between completely different systems but also to understand the data being transmitted so that decision-making can be done based on the shared data. Semantic and organizational interoperability will continue to be major challenge at least in coming future [40, 51]. Research efforts are required to develop a standardized architecture for developing smart spaces.

  5. 5.

    Robustness: A smart space is a dynamic environment where users come in or go out, and the behavior and requirement of any particular user changes with space and time. Even the devices in a smart space can be added, removed, or changed based on requirement. Both devices and users could be mobile or static at any time. Basically, the condition of both users and devices changes with time. In coming future, the systems will become even more complex so research is required to develop systems that are flexible and robust enough to adapt to such dynamicity. If any system is not robust then it is not reliable for the user to use it. Failure of systems such as fire-alert or other safety system installed in a building could also be life threatening for user [48].

  6. 6.

    Security and Privacy: Systems in coming future will support autonomous adaption feature which means they will have data related to user behavior and requirements. Such personal data should not be allowed to fall into the hands of unauthorized entities. Therefore, it is important to address issues such as data authentication, data integrity, data confidentiality etc. In order to protect the privacy of users, researchers have proposed that users should have control over which data is being collected, who is using it and where is it being stored [2]. This solution may not work in coming future as we will have sensors everywhere around us collecting data and since multiple smart spaces will be combined, it will be difficult to have control over who will use it and how. New innovative solutions are required that can address security and privacy issues even for complex and scalable smart spaces that will be developed in coming future.