Actions

CityWeb

From Modelado Foundation

Revision as of 01:53, March 22, 2017 by imported>Niveditasinghvi

This page is where the CitySDK chapter of the GCTC Transportation Supercluster Report will be written. For questions, comments, concerns or any other matters concerning this chapter of the GCTC report, please contact Daniel Frye (daniel.frye@urban.systems) or Nivedita Singhvi (niveditasinghvi@gmail.com). Any member of the GCTC Transportation SuperCluster is welcome to add or refine content in this report - just remember that your contributions will be edited by others over time as is normal in all crowd-sourced wiki material.


Document below:

___________________________________________________________________________________________________________________________________________________________

CitySDK - Supporting Smart City Application Development

Abstract

Writing "Smart City" applications is hard. Often, the software and tooling environment is proprietary and the resulting applications fail to interoperate with applications developed elsewhere. It can also be expensive due to a lack of in-house knowledge, skills and tools for such software. Having an open source Software Development Kit (SDK) that provides libraries, tools and common APIs could be valuable in addressing this problem. It would make it easier, cheaper and faster to develop, deploy and sustain Smart City applications worldwide. Having common APIs would make it cost-efficient and feasible to share and exploit open data in order to provide a richer, more user-friendly and more efficient digital experience.

There is an understandable hesitation in adopting APIs or standards that are pushed forward by commercial, proprietary vendors. Even if the API is open, the code supporting it often is not, and locks the consumer into the ecosystem of the commercial vendor, without the ability to interoperate with others. The vertical stack supporting such alternatives only results in the use case or application sector getting siloed into fragmented ecosystems. There are significant cost and adoption advantages when APIs are not only open but backed by open source communities. Leveraging such available resources (or getting them to cooperate with each other) would be valuable. It would also align with the Federal initiative for a "City Web", which encourages the adoption of common and proven approaches to the Smart City mission.


Introduction

Technology becomes more pervasive everyday, and cheaper, faster and easier to use. We expect more from it with every new generation. Two significant technology trends, namely Internet of Things (IoT) and Open Data, are promising innovation and change at an even greater pace than the usual rapid-fire deployment and adoption of technology. Federal initiatives pushing standards requiring compliance as well as increased funding in Smart Cities, Transportation, Grid, Energy among others which seek to exploit these trends are driving the need for greater software development in this space. With IoT and Open Data, it is becoming increasingly possible to build complex, interoperable software ecosystems that provide us with a richer, more time-efficient, cost-efficient, more energy-efficient and human-friendly digital quality of life.

However, the cost to develop, deploy and maintain these complex technology projects isn't getting correspondingly cheaper or easier. The burden of achieving these goals is still difficult for those in the public sector, academia, or even commercial organizations who might not have deep emerging technology skills.

We describe in this chapter the concept of a "CitySDK", a software development kit and open source development community to address the needs mentioned above.

Scope and Definitions

Before we discuss an SDK for Smart City applications, we start with clarifying the term "Smart Cities."

Smart Cities

"Smart Cities" is a somewhat fuzzy concept with no single, widely-held definition. As this Smart Cities Definitions paper describes, there are many definitions associated with the term which has been used since the 1990s. For our purposes, we consider the following three closely related descriptions:

  • "Harrison et al. (2010), in an IBM corporate document, stated that the term “smart city” denotes an “instrumented, interconnected and intelligent city.” “Instrumented” refers to the capability of capturing and integrating live real-world data through the use of sensors, meters, appliances, personal devices, and other similar sensors. “Interconnected” means the integration of these data into a computing platform that allows the communication of such information among the various city services. “Intelligent” refers to the inclusion of complex analytics, modelling, optimization, and visualization services to make better operational decisions (Harrison et al., 2010)."
  • "Smart city as a high-tech intensive and advanced city that connects people, information and city elements using new technologies in order to create a sustainable, greener city, competitive and innovative commerce, and an increased life quality (Bakici et. al., 2012)"
  • "A smart city is an urban development vision to integrate multiple information and communication technology (ICT) and Internet of things (IoT) solutions in a secure fashion to manage a city's assets – the city's assets include, but are not limited to, local departments' information systems, schools, libraries, transportation systems, hospitals, power plants, water supply networks, waste management, law enforcement, and other community services. The goal of building a smart city is to improve quality of life by using urban informatics and technology to improve the efficiency of services and meet residents' needs. ICT allows city officials to interact directly with the community and the city infrastructure and to monitor what is happening in the city, how the city is evolving, and how to enable a better quality of life." -- From Wikipedia ("Smart City").

So what would the scope of such a broad term be? For our purposes, we consider the following horizontal sectors or domains, although they are by no means restricted tightly to these:

  • Smart Transit
  • Smart Transportation
  • Smart Buildings
  • Smart Infrastructure
  • Smart Energy
  • The availability and deployment of environmental technologies and information
  • The availability and deployment of weather information
  • The availability and deployment of technologies for stronger communities and public interaction
  • The availability and deployment of technologies for a richer software ecosystem for commercial and non-commercial goals

An SDK for Smart Cities

Although a large number of "horizontals" or different industries and domains are included here, it's helpful to note that there is a great deal of commonality in their vertical stack. Many of the building blocks and functions needed for these applications (e.g. sensor reading, IoT core frameworks, network communication, security, messaging, database and data management, cloud interfaces, etc.) are the same. Industry-specific software components for Smart City applications (such as support for the transit API GTFS) are considered for inclusion in the scope of the Smart Cities SDK as well.


CitySDK Proposal

Provide a high-level overview of a proposed CitySDK project and community. Briefly describe the two primary elements of such a proposed – technical components and common APIs along with a vibrant, sustainable open source development community.

Technical Elements

Describe the technical elements of the proposal

  • Vendor & HW agnostic software development toolkits
  • Support for common APIs
  • Best practice white papers & SME access
  • Github tooling
  • Sample guides
  • Packaging and delivery

Development Community

Describe the community elements of the proposal

  • Community constituents – active, participating members from broad constituent topics:
    • Civic
    • Commercial
    • Academic
    • Individual
  • Open, transparent governance model
  • Open source licensing and copyright retention (by participants)
  • Best practices re modern open source communities
  • Growing and sustaining an active community
  • Naming – leverage of and differentiation to other “CitySKD” projects

Goals of the CitySDK proposal

  • How the CitySDK will help the GCTC Transportation SuperCluster
  • How the CitySDK will help the other GCTC SuperClusters
  • How the CitySDK will help the overall community & marketplace
  • Break goals into time periods – next 12 months, next 24 months, next 36 months

Next Steps and Conclusions

  • Summarize the proposal
  • Detail proposed next steps
    • Gaining consensus
    • Building a critical mass
    • Launching a community/project
    • Initial activities
  • Cross-reference between the varied Supercluster activities and teams

References

  • Papers, talks, proposals, etc. that were major sources of inspiration
  • Other CitySDK projects
  • Relevant Federal references
  • Other references
  • Federal initiatives