Cities of the future will need much more than concrete, steel, and hardware to come to fruition. The Smart City and The Internet of Things have been discussed for years by excited futurists and technology innovators alike. Yet a substantial portion of the commentary rests solely on the hardware and devices which will bring about such a reality. With Intel predicting The Internet of Things and smart cities contributing to a potential $70 trillion market with 20 billion devices with embedded sensors, a lot of code will be required to pull everything together.
The importance of software applications, APIs, and development techniques for the actual viability of smart cities is paramount. Without smarter software development, there will never be smart-cities. Whereas construction workers, architects, and engineers built our physical skyscrapers and transportation systems, software developers will be the future masons that take the smart city from futurist pipe dream, to an intelligent reality.
Embedded Hardware Will Need Smarter Software
Although on a much smaller scale than an entire city, the beginning of the intelligent home is already upon us. Companies like Nest and Belkin have released products that communicate directly with computers to stream information about their use, as well as be controlled remotely. Everyday products embedded with sensors or plugged into intelligent electrical outlets have varying protocols that complicate the software development process.
To create value from such embedded items, people will need the ability to control and monitor such products from a single interface or integrate with other products. Congruently, developers will need APIs to communicate between multiple devices and the software that powers their "intelligence."
Now expound this challenge within a single home, to the scale of an entire city with millions of inhabitants, skyscrapers, and complex transportation systems. One possible solution rests in open source software and a vibrant contributor community. There are some early movers in this area such as Open Remote. As reported by MIT Technology Review:
OpenRemote is plugging away on an open-source software platform for linking Internet-connected gadgets, making it easier to control all kinds of smart home devices, regardless of who made them.
A great example of the importance of interconnection between smart-devices is a window blind that descends once a room hits 75 degrees. Now consider such interaction on a large city scale. Potentially this same approach can be used to streamline trains and subways by sensing faults in rail lines or cars in an instant, thus reducing delays, congestion, and repair costs.
Smarter Apps Will Need to Communicate with the Wired City
In cities like Newark and San Francisco, tech-savvy mayors and political figures have pushed for applications that bridge the divide between citizens, their government, and their city. Alameda County in California, recently hosted a hackathon title "Rethink AC", which assemble 100 employees in county government to brainstorm potential app ideas to "enhance technological resources available to residents." Technology aside from embedded city infrastructure and citizen centric mobile apps, has already impacted the way a city responds to things like natural disaster.
For instance, the FDNY Twitter feed was a direct lifeline for many people impacted by Hurricane Sandy. In that same vein, creating apps that facilitate the flow of information between governments, citizens, and sensor embedded infrastructure will be a critical component to achieving the smart city. From businesses to public institutions, apps will allow citizens to interact with their neighborhood and Main Street like never before. Imagine a city-hall appstore for each city, with specified apps for the various functions and information most prevalent to citizens.
In the future, software developers will work hand in hand with local governments to build apps and other types of software that align with the priorities of the city as well as the nuances of their specific implementation of a smart city (pending progress beyond the Healthcare.gov debacle). With countless products being released every week, and numerous updates and maintenance processes necessary for quality usage, your local government will more than likely have a Chief Digital Officer, a CTO, and its own civic-minded development team.
To achieve our collective vision of future cities and The Internet of Things, software development must become completely intertwined with the process. My software development firm witnesses firsthand the trend of local, state and federal governments expressing interest in more advanced technologies and software. With billions of products, buildings, and seemingly innocuous items such as public garbage bins with embedded sensors, software will need to pull everything together to provide a cohesive experience. In the upcoming years, don't be surprised if software developers became as central to the development of cities as civil and electrical engineers.