Actions

CityWeb

From Modelado Foundation

Revision as of 21:17, March 21, 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

  • Definition of a SDK for Smart City Applications
  • Scope of problem
    • Cover app development for both the IoT and web application levels
    • High level diagram of a proposed toolkit
  • The importance of adopting common APIs
  • Open source projects and communities

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