In the last two decades, the advancement of computation technology has produced more powerful processors, storage, and memory devices for low prices. Eventually, many physical things will be embedded with more computation capabilities and interconnected via the Internet in a cost-effective manner. This will lead IoT to the next level, which enriches the idea of Ubiquitous Computing that Mark Weiser came up with in 1988. That is, bringing computation into the physical world and making effective use of computer technologies.

This article covers a rarely discussed topic; ubiquitous computing and how IoT will lead achieving its characteristics.

Ubiquitous Computing

You may have seen the above picture online (e.g A web post from boredpanda) and social media with a main criticism of the impact of modern technologies on human society.

"Capturing the moment on your smartphone will never be as good as actually living the moment" -
Facebook Post

As most argue, is it the elderly woman with no modern devices only enjoying the moment? And the new generation is enslaved by modern tools?

The issue is not with the generation. It is the current direction of technologies or tools that interfere the normal human-world interactions. Let's imagine that technology today is advanced enough to embed the elderly woman's spectacles with a tiny camera, which automatically starts recording the moments based on system's understanding of her past preferences, and the recording automatically streams to her personal storage in the cloud. The technology, in this way, does not bring any hindrance for natural human behavior nor bring any additional tools. The technology itself vanishes into the available physical things. This is the direction of technology considered in the subject of Ubiquitous Computing.

Ubiquitous computing is the method of
enhancing computer use by making many computers
available throughout the physical environment but making them effectively
invisible to the user.

Mark Weiser, in his paper, had the above definition for ubiquitous computing. The definition highlights the following main properties.

Pervasive computers: Technology is moving in a direction that makes computation capabilities available throughout our physical environment. The direction of current computing technologies has mainly focused on taking computers to the foreground as devices or tools (e.g. smartphones, tablets). Ubiquitous computing tries to abstract the computation over the actual physical things. In other words, integrating computation capabilities in all possible physical things.

Invisible computers: We also continue to abstract computation behind physical objects. Ubiquitous computing enables many computation capabilities throughout the physical environment, but making them vanish or becoming invisible to the user.

Enhanced computers: Building on the last two points, making computation capabilities pervasive and invisible throughout the environment would enhance computer usage, which is the objective of ubiquitous computing;

Expand human’s conscious: Like spectacles capable of capturing a user’s preferred moment automatically, many other things can be embedded with similar features on behalf of users — for example, enabling auto-detection of obstacles in vehicles to prevent accidents. Smart homes automatically control electricity usage when no one is at home. Refrigerators inform users when they're out of stock.

Make context-aware and responsive environments: Ubiquitous computing enhances physical things with a new dimension of features but without affecting the context of actual usage. And it enables other interconnected things to know the user’s current context so they respond in a way that improves the overall activities of the user. In another way, the surrounding things become responsive to users in their activities of that context.

Improve human-world interaction: Ubiquitous computing allows technology to bind itself into the surrounding environment and open up new possibilities, which leads to novel ways of human-computer interaction. It will not introduce new tools but continuously empower the existing things.

Improve performance: Altogether, the main goal of ubiquitous computing is to improve the performance of human activities. But ubiquitous computing uses rather the opposite approach to improving performance by taking technology into the background, which allows users to focus only on their natural activities towards the world. The technology drives users' tasks in an optimized manner in the background.

Analysis of Existing IoT

There are many research and commercial IoT products available today, with the following main categories.

Smart homes: Smart homes are the most active area of IoT today, with solutions like Nest's smart thermostats that heat homes efficiently with the use of real-time weather forecast and activities within the home, LIFX’s multi-functional lights, ConnectSense's power-saving smart outlets, and Eyedro's home electricity monitor.

Smart cities: There are several commercial products available today that make cities smart. These include Smart Belly, which uses real-time data collections from trash pick-up and alters municipal services to collect the bins. Then there's Echelon’s smart lighting system, allowing cities to provide the right level of lighting needed during the day based on season and weather conditions. Finally, Streetline’s parking service enables drivers to quickly spot a parking place.

Smart industries: Similar to smart homes, several industries have started using smart devices that improve their productivity. A few examples are the SmartPile system, which uses wireless sensors embedded within concrete foundations to ensure the quality and integrity of structures, and OnFarm, which uses real-time sensor data to measure soil moisture levels, weather forecasts, and pesticide usage from farming sites to spot any crop issues.

Smart environment: Several applications are available today that can be considered smart environments: The Air Quality Egg, a community-driven air quality sensing network; Lion Tracking Collars, a wildlife tracking collar system to protect the last 2,000 lions living Southern Kenya; Floating Sensors, a project from the University of Berkeley, which uses floating sensors that monitor the movement of water, contaminants, and other conditions in waterways to detect any unanticipated disasters.

A few common factors are apparent in both the commercial and research areas of existing IoT projects. A lack of standardization is the commonly seen concern in most of the ecosystem, which has missed the important factors (the collaboration and interoperability) between IoT applications that would enrich the idea of ubiquitous computing. For example, LIFX’s Wi-Fi lighting, ConnectSense's smart outlet, and Eyedro's home electricity monitor products have the same intention of efficient use of electricity. But each product has its own applications providing different monitoring and tracking features. If someone owns these three products, they have to set up each application separately to access individual features. If there was any protocol that allows collaboration of data from these three different devices, a more advanced power saving application could have been implemented. In the same way, smart homes could be built in a standardized way, helping build up to better smart cities. The main issue for such a collaboration is the lack of standardization.

Another common factor is the engagement of similar architecture patterns. Most solutions consider IoT as just a set of sensors that capture data and consolidate them to provide useful monitoring or tracking services via the web or mobile applications. The following figure depicts the overview of the design approach taken in most of existing IoT work.

As shown in the above diagram, IoT frameworks today follow the idea of virtualizing the devices on server components (most cases on the cloud) and provide a set of services over mobile or web applications. As it clearly seen in the diagram, these applications are not autonomous and interoperable with each other, nor is any collaboration possible. Also, IoT devices are rapidly growing every day. The cloud will not be the best place to visualize all these IoT devices (see Fog Computing).

In summary, the current direction of IoT and its applications does not meet the characteristics of ubiquitous computing. In the second part of this series, we will discuss the requirements and related technology directions for such a possible IoT platform that strengthens the properties of ubiquitous computing.