Ubiquitous Computing - The Nature of Software

Software as a Service (SaaS), App Development, Microservices, Marketing APIs, ShopSystems, Gaming.... too many applications are possible. Distributed Systems, respectively client / server applications are the fundament of all used services world wide to this date. Even though its called cloud computing, there are still challanges behind the scences in virtualization, so that you can not always just upscale and expect a software to run anywhere with unlimited ressources. This  is the object of research of find αι ® in ubiquitous computing. It does not only mean to actually really be capable to run a software anywhere, but how all data and processes are defined, so that they are interchangable. This is done through Unique Data IDentification Interchange Terminology (UDIDIT). This can also be refered to Domain Driven Design which communicates functional data. A server process decides which context sensitive solution to deliver.
All cloud applications used to date, are limited to the ressources, infrastructure and the software optimized for the chosen tech stack. 
Write once, run everywhere, was the ambitious idea in the 90s to have a runtime environment, executing programs on any platform and operation system. JAVA in that regard made it to a certain point. In the meanwhile, apps succeeded the webbrowser, which is still the main distributor of cloudapps.

Ubiquitious Computing deals e.g. also with client side databases, exchanging information in a consumable way to any divice. Different types of databases, index strategies, search algorithms all work within an ecosystem. Cloud computing signifies the startingpoint of a new aera of computing, which is ubiquitous computing.