  Smart cities solutions are often monolithically implemented, from sensors
data handling through to the provided services. The same challenges are
regularly faced by different developers, for every new solution in a new city.
Expertise and know-how can be re-used and the effort shared. In this article we
present the methodologies to minimize the efforts of implementing new smart
city solutions and maximizing the sharing of components. The final target is to
have a live technical community of smart city application developers. The
results of this activity comes from the implementation of 35 city services in
27 cities between Europe and South Korea. To share efforts, we encourage
developers to devise applications using a modular approach. Single-function
components that are re-usable by other city services are packaged and published
as standalone components, named Atomic Services. We identify 15 atomic services
addressing smart city challenges in data analytics, data evaluation, data
integration, data validation, and visualization. 38 instances of the atomic
services are already operational in several smart city services. We detail in
this article, as atomic service examples, some data predictor components.
Furthermore, we describe real-world atomic services usage in the scenarios of
Santander and three Danish cities. The resulting atomic services also generate
a side market for smart city solutions, allowing expertise and know-how to be
re-used by different stakeholders.
