Do you provide Swagger YAML and JSON files with your APIs?

Every developer has their own swagger based on their background, education, coding style, programming language used, etc. In this blog post I am talking about a different kind/type of Swagger.

When developers are interested in using an API provided by a operating system, platform, service, cloud, or device vendor, I’ll bet that one of the first things they will search for is to see if there is an API binding for their favorite programming language. Or, maybe your developer program members are the type of developers who just need the REST/JSON calling information? Where possible, I like to use client and server language bindings, components or frameworks for my development projects. Wouldn’t it be great if all APIs included great documentation and also YAML and/or JSON files for the APIs?

Swagger to the Rescue

With the Swagger YAML and/or JSON files I could use Swagger’s CodeGen tool to create bindings for more than 20 server side languages and more than 40 client side languages. That would be awesome. With Swagger supporting a range of tools, both the API developer creator can build their APIs using their programming language of choice and the API developer consumer can use their favorite programming language.

My one simple statement is “If your API supports REST and JSON then you can Reach out to Every Developer“. The text statement on the Swagger site say it succinctly – “Swagger is the world’s largest framework of API developer tools for the OpenAPI Specification(OAS), enabling development across the entire API lifecycle, from design and documentation, to test and deployment.” While most developer program APIs support some common languages including Java, C++, C, C#, JavaScript, PHP, Ruby and Python, there are many other programming languages that also support REST and JSON web services. Why would you intentionally make it harder for developers that use other programming languages?

REST/JSON based APIs work with just about every programming language

My REST/JSON and APIs blog post on the Evans Data DevRelate community site includes links to REST/JSON supporting information for additional programming languages. It’s time for more developer program APIs to make it easier for developers,  using all programming languages, to build applications.

The statement on the Swagger CodeGen tool site says it so well – “Build APIs quicker and improve consumption of your Swagger-defined APIs in every popular language with Swagger Codegen. Swagger Codegen can simplify your build process by generating server stubs and client SDKs from your Swagger specification, so your team can focus on your API’s implementation and adoption.”

Do your Developer Program APIs include Swagger support?

Do you provide you developer program APIs with Swagger YAML and/or JSON files? Send me an email if you do and I’ll be very happy to pass along the word to developers.

 

David I

David Intersimone “David I”
Vice President of Developer Communities
Evans Data Corporation
davidi@evansdata.com
Blog: https://devnet.evansdata.org/
Skype: davidi99
Twitter: @davidi99

 

DRC 2017 recap: “Our Journey to a Growing Developer Program”, Susie Wee – Cisco

Susie Wee, VP and CTO of DevNet Innovations at Cisco Systems, gave a presentation at our recent 13th Annual Evans Data Developer Relations Conference. The following is a recap of her session, “Our Journey to a Growing Developer Program”. [David I note: the graphics used in this blog post were not part of the presentation slide deck]

Susie started her session by asking the audience a few questions to understand who was attending and what they wanted to get out of her talk. A great way to start any presentation in order to make any “course corrections” to help the audience.

Cisco DevNet APIs

Susie mentioned that the Cisco DevNet developer network started about 3 years ago. Before that time Cisco had a series of APIs and SDKs for developers but no real developer program and community. What Cisco had was more of a partner community to resell Cisco products. Certifications were offered for the partners. You could ask a couple of questions about the early outreach to developers: why does Cisco have a developer program and isn’t Cisco a networking hardware company?

She explained that Cisco DevNet is a developer community and an innovation ecosystem. Technologies that are available to developers include: Internet of Things, Software Defined Networking, Cloud computing, Collaboration technologies (many developers will recognize Cisco Jabber), Security solutions, Data Center offerings, DevOps solutions, Services and Open Source.

As part of Susie’s talk and also the main focus on the upcoming DevNet Create Conference (May 23-24, 2017 in San Francisco, CA), one of the main themes follows the sentence template of “Where Applications Meet xxx”. Developers who build applications should be able to easily fill in the “xxx” with some of the following: Infrastructure, Things (IoT), Places, People, Design, Architecture, Microservices, Deployment, Security, Analytics, etc. Between the apps that are developed there are interfaces to connect those apps to, well, everything! That is part of what Cisco provides beyond their traditional networking solutions.

Cisco DevNet Create

Susie explained how Cisco DevNet focuses on helping developers:

 

She mentioned that DevNet has more than 415,000 members, who work in more than 24,000 companies, provides 252 learning labs, provides 80 active APIs and more than 170 yearly developer outreach events.

Key to the success of Cisco DevNet are a laser focus on solving three key challenges: how to operate as a developer program, provide a clear value proposition for developers, and continue to grow a fiercely loyal developer community.

One of the stories that Susie mentioned was how DevNet attached itself onto the popular Cisco Live conferences that are help throughout the world. They put together all of their developer learning materials and created a DevNet zone on the side of the main conference. Attendees walked past the area and started telling their friends that there are cool learning labs over in this corner of the conference area. The buzz started to spread among attendees that there was a lab where you could develop software to integrate with Cisco technologies. John Chambers and his Cisco management team stopped by and saw what was happening in the DevNet theater and hands on lab. Now, at Cisco Live, the DevNet zone is the busiest section – Cool!

DevNet – 5 Lessons Learned

Susie shared the 5 lessons that they’ve learned during DevNet’s journey:

chalkboard-1927332_640

5) Operate like a startup and build up your developer credibility

4) Play to your strengths and build a technically talented “extended” team

3) Make your developer members heroes inside their companies and also in their communities

2) Help your team be wildly successful and ensure that your community has a heart

1) Innovate, Innovate, Innovate.

Innovate or Be Left Behind

bulb-40701_640 skull-476740_640

Developers have to solve big problems. A developer program’s mission is to help developers build innovative solutions for their companies and their customers. Your developer program has to continue to provide innovative features, content and tools that will help your developer members create innovative applications. Our industry moves forward, fast. Developers move forward, fast. If your developer program does not innovate to keep up with developer needs, your company and your developer program will be left in the dust.

Thank you, Susie Wee and Cisco, for being a part of our 13th Annual Evans Data Developer Relations Conference.

Additional Information

Cisco DevNet  – https://developer.cisco.com/

DevNet Create Conference (May 23-24, 2017 in San Francisco, CA)

Susie Wee’s session live stream replay is available on Facebook at https://www.facebook.com/ciscodevnet/videos/1962907540605184/

Session Title: DevNet: Fostering innovation where applications meet infrastructure

Session Description: How did a networking company start behaving like a software company and build a thriving developer community? How is DevNet achieving scale by engaging a broader internal and external community? The mission of Cisco DevNet is to provide developers with the tools, resources and code they need to create innovative, network-enabled solutions. But it’s more than just the technologies – DevNet is fostering innovation to help developers create seriously cool stuff. Join Susie Wee as she shares the successes, challenges and lessons learned in building a successful joint developer and innovation program, as well as what’s next for the DevNet community.

SusieWee

Susie Wee – VP and CTO of DevNet Innovations at Cisco Systems

 

Bio:

Susie is the Vice President and Chief Technology Officer of DevNet Innovations at Cisco Systems. She is the founder of DevNet, Cisco’s developer program for infrastructure and application developers, which catalyzes innovation by the developer ecosystem. DevNet covers the breadth of Cisco’s portfolio including networking, cloud, data center, security, collaboration and IoT. The innovations from DevNet improve end user experience, the operational experience and developer experience with the network. Under her leadership, the DevNet community has grown to over 400,000 developers in less than three years.

Prior to her current role, Susie was the Vice President and Chief Technology and Experience Officer of Cisco’s Collaboration Technology Group where she was responsible for driving innovation and experience design in Cisco’s collaboration products and software services, including unified communications, telepresence, web and video conferencing, and cloud collaboration. Before joining Cisco, Susie was the founding Vice President of Experience Software Business and CTO at Hewlett Packard, and Lab Director at HP Labs. Susie was the co-editor of the JPSEC standard for the security of JPEG-2000 images. She was formerly an associate editor for the IEEE Transactions on Circuits, Systems and Video Technology and IEEE Transactions on Image Processing. While at HP Labs, Susie was a consulting assistant professor at Stanford University where she co-taught a graduate-level course on digital video processing.

Susie received Technology Review’s Top 100 Young Innovators award, ComputerWorld’s Top 40 Innovators under 40 award, the Red Dot Design Concept award for augmented collaboration, the INCITs Technical Excellence award, the Women in Technology International Hall of Fame award, and was on the Forbes Most Powerful Women list. She is an IEEE Fellow for her contributions in multimedia technology and has over 50 international publications and 57 granted patents. Susie received her B.S., M.S., and Ph.D. degrees in electrical engineering and computer science from the Massachusetts Institute of Technology.

 

DevNet Create 2017 – more than just another developer conference

When is a developer conference more than just another vendor and developer conference? When the leading technologies including cloud, Internet of Things, devices, platforms, frameworks and architectures are combined with the ingenuity of developers in one location for a couple of days, the result is a creative explosion, a coming together of minds and machines. There are many developer conferences through the calendar year. There are numerous weekend hackathons, maker fairs, meetups and developer gatherings. Blooming this Spring in San Francisco on May 23 and 24, is DevNet Create: The IoT and cloud developer conference where applications meet infrastructure. I can only say one thing: Developer Relations Professionals and Developers – Be There or Be Trapezoidal!

create-865017_640

DevNet Create: Where Applications meet People, Places, Things, the Cloud, and Business

From the conference page: “Join the brightest of the IoT, cloud and enterprise developers to bring clarity to the blurred lines between infrastructure and applications. Enterprise app developers are driving the future of business through cloud, IoT and new developer platforms and tools trends. These apps aren’t just for business—they affect everything—people, places, and things. They are built on a programmable infrastructure connected through APIs and DevOps practices, making the relationship between infrastructure and apps symbiotic.”

communication-1927697_640

Two Tracks, lots of Hands-On to Create: IoT and User Experience, Cloud and DevOps

The call for papers closes this Thursday March 30, 2017. Submit talks at https://www.papercall.io/devnetcreate2017

Blog post announcing “Introducing DevNet Create Conference in May 2017” at http://blogs.cisco.com/cloud/introducing-devnet-create-conference-in-may-2017

Conference home pagehttps://www.devnetcreate.io/2017/

Where: Bespoke at Westfield San Francisco Centre

When: May 23 and 24, 2017

 

Where Apps Meet …

I love the apps focused themes that are included for each of the two tracks. They are all based on a statement that starts with “Where Apps Meet…”

susie-speaker
Read Susie Wee’s (Cisco VP & CTO of DevNet Innovations. Experience/Technology/Teamwork/Developers) blog post: “Where apps meet …

IoT and User Experience track:

  • Where Apps meet Things
  • Where Apps meet Places
  • Where Apps meet People
  • Where Apps meet Design & Architecture

 

Cloud and DevOps track:

  • Where Apps meet Microservices
  • Where Apps meet Deployment / SLAs / Scale / Expectations
  • Where Apps meet Security
  • Where Apps meet Analytics (Intelligence)

 

David I Facebook Avatar


David Intersimone “David I”
Vice President of Developer Communities
Evans Data Corporation
davidi@evansdata.com
Blog: https://www.devrelate.com/blog/
Skype: davidi99
Twitter: @davidi99
LinkedIn: https://www.linkedin.com/in/davidi99/

 

Does your DevRel Program provide “Hero App” template projects?

In marketing our developer focused products, frameworks and services, we often create screen shots, sometimes called the “hero” shot, that provides high level visualizations of the product, frameworks and services and what developers can potentially build. When I visit developer relations program sites, I find lists of SDKs, APIs, tutorials, demos, documentation, videos, white papers, etc. What I seldom find are complete MVP (minimally viable product) or DevRel Hero App template projects for developers.

Hero App Screen Shot

It’s great to see all of the sample projects for each API, these are great for learning the specific calls, parameters and return results. In the early days of Java Enterprise Edition (when it was still part of Sun Microsystems), you could find the Java Pet Store project. The Petstore project gave you the complete solution for an AJAX enabled web application. You could load the project and experiment with you. You could use it as a starting point for your own Java Enterprise web applications. Java Petstore was part of Sun’s BluePrints program: “The Java BluePrints Program program helps developers create robust, scalable, and portable applications by providing guidelines, patterns, and code that illustrate best practices on how to build end-to-end applications using Java technology.”

DevRel Hero App

Examples of DevRel Hero App Template Projects

Here are a few examples of template and complete sample applications provided by developer relations programs. You can also search on your favorite developer platform or service sites and look for application templates, sample projects, and showcase applications.

Microsoft Visual Studio Templates for Web Projects – “Visual Studio includes project templates to help you get started when you create a web project. You can create web application projects or web site projects. By considering the most appropriate project type before you begin, you can save time when you create, test, and deploy the web project.”

DNN Software DNN (formerly known as DotNetNuke) : CMS open source platform for .NET – “DNN Platform is a free, open source .NET CMS and the foundation of DNN’s Evoq product offerings. Over 750,000 organizations worldwide have built websites powered by DNN Platform.”

Google Android XYZTouristAttractions Sample – “This sample aims to be as close to a real world example of a mobile and Wear app combination as possible. It has a more refined design and also provides a practical example of how a mobile app would interact and communicate with its wear counterpart.”

Oracle Jet WorkBetter App – “WorkBetter is a complete sample app showcasing the capabilities of JET for building web applications. WorkBetter has been designed for use as a web application in browsers from a mobile phone up to desktop. WorkBetter demonstrates web UI patterns and best practices, including Routing, ojModule, and data resource interactions.”

Facebook F8 2016 Developer Conference App – this is “the source code of the official F8 app of 2016, powered by React Native and other Facebook open source projects”. It includes sub-projects for iOS and Android apps that were available in the Apple AppStore and Google Play. “We’ve created a series of tutorials at makeitopen.com that explain how we built the app, and that dive into how we used React Native, Redux, Relay, GraphQL, and more.”

DevRel Hero App

 

Do you have DevRel Hero App Template Projects?

If you have Hero App template projects as part of your developer relations project that highlight complete solutions, please email me.

David I Facebook Avatar

David Intersimone “David I”
Vice President of Developer Communities
Evans Data Corporation
davidi@evansdata.com
Blog: https://www.devrelate.com/blog/
Skype: davidi99
Twitter: @davidi99

 

 

OK, Code is King! But, where should you put your Developer Relations sample programs?

All developers require a Developer Relations Programs to follow the “3 C’s” – Community, Code and Content. To this list of C’s I also add a few of my own: Collaboration, Continuity, Cooperation, Communication, Caring, Celebration, Civility, Consideration, Clarity, Conversation and Curiosity. In surveys, during conversations, in emails and as the most commonly asked webinar question, developers tell us that Code is King! Even though we provide documentation for SDKs, APIs, libraries, frameworks, systems and applications, the ultimate documentation is the source code itself. The Computer History Museum (CHM) collects the source code for great computer software programs and systems. Do you want to download the source code for MacPaint and QuickDraw created by Bill Atkinson? You can download them both and you can read the story behind the software too! I love what CHM is doing to preserve the source code artifacts of our industry’s history. Developers tell Evans Data that source code examples, sample projects and tutorials are some of the top requirements for a successful developer relations program. So, the question is, where should you put your sample programs so that your developer relations program members can find it, download it and use it?

Developer Relations – where to put your sample programs, tutorials and source code?

There are several places that Developer Relations programs put there source code. Some programs keep their code on their own servers (ftp or http access), some put code in public repositories and others put their source on code hosting sites. There are many sites to choose from including: Amazon S3, Microsoft Azure StorageGitHubSourceForge, DropBoxCloud Forge, BoxCodePlex, Google DriveAssemblaBitBucket, ProjectLocker, and LaunchPad. Most of these sites support the leading source code version control services including Subversion, Git and Mercurial. Some of the hosting sites will also provide additional tools and services like defect tracking, deploy/install, security scanning, and license compliance audits. Several of these sites are popular places to put open source software projects allowing the developer community to collaborate and enhance the sample code. Some of the sites also provide APIs (GitHub Developer for example) for you to automate interactions, search catalogs of entries, access control, and more. Other developer programs place source code on sites to make it simple to distribute and update the code. Most integrated development environments and programmer’s editors support pulling sample code from repositories.

Sample Programs

Where do you put your Developer Relations program and products sample code?

Send me an email and tell me where you put your developer relations program code.

David Intersimone “David I”
Vice President of Developer Communities
Evans Data Corporation
davidi@evansdata.com
Blog: https://www.devrelate.com/blog/
Skype: davidi99
Twitter: @davidi99

 

Which programming language(s) should your developer platform support?

Depending on the products and services your company provides that are supported by your developer relations program, you will find a large number (or a short list) of programming language you should consider. Of course, you can’t always support every programming language that developers might want to use. Each language choose to support will come with costs including: API interfaces and documentation, source code examples, articles and videos to create, developer tools to test with, developer support, training and more. At the same time, supporting more languages can also extend the developer reach for your company resulting in increased revenue and reputation.

So, how do you decide which programming languages to support? You can look inside your own company, review the Evans Data developer surveys, check out programming language popularity sites, see what developer positions are listed on job boards, look at the programming language popularity on Stack Overflow, searching GitHub projects, factor in the leading platforms and technologies, search for what the top computer science and software engineering schools are teaching and read what tech industry luminaries, bloggers and press write about. If that isn’t enough sources for guidance, you can also use dart and Ouija boards, magic 8-ball and D&D dice (just kidding).

Programming Language(s) Popularity

Here are a few places where you can find information about popular programming languages and programming language rankings.

You Can Support any Programming Language if …

A great benefit of using industry standards for APIs, REST/JSON for example, is that just about every programming language in use today can make REST calls and pass parameters and receive results using JSON. If you are using SOAP, CORBA or some other RPC (probably for legacy systems), you should defintely add support for REST and JSON. Some companies are also exploring the use of Apache Thrift and GraphQL for some of their service APIs. If you interested in microservices for your developer platforms, check out this article “Microservice Showdown – REST vs SOAP vs Apache Thrift (And Why It Matters)“. Also check out this recent article about GitHub adding a GraphQL API “Just Because Github Has a GraphQL API Doesn’t Mean You Should Too“.

Let me know what Programming Language(s) your developer program supports

What programming languages do you support for your developer program and platform? Send me an email!

David I.

davidi@evansdata.com

Twitter: @davidi99