For those who aren't familiar with Insomnia, it's Kong's API testing, design and debugging platform. Insomnia's product vision is to optimize API development by simplifying and automating a developer's workflows. APIOps plays a key role in this vision, optimizing API development by simplifying and automating developers’ workflows.
In this post and video, I'll highlight the latest Insomnia product releases and dive into the roadmap for 2022 that I announced in my Kong Summit 2021 presentation: Keeping You Up (to Speed) With Insomnia.
Insomnia 2021 Release Highlights
gRPC Support (More Protocols)
gRPC is just the beginning! We're planning to support other protocols in the future, including web sockets, for example. Learn more on how we work with gRPC in this tutorial: 6 Ways to Leverage Insomnia as a gRPC Client.
Portable .exe for Windows (Enterprise)
If you use Windows, you can now download a portable .exe so you don't have to install any software. This is particularly useful for controlled environments like virtual desktop interfaces (VDI).
Single Application (UX)
Previously, we had both Insomnia Studio and Insomnia Designer. We've now combined those into a single application to make it easier for you to use. You no longer have to switch contexts depending on which use cases you need to solve at a particular time. If you're just getting started with Insomnia, follow along in this tutorial.
Theming Support (UX)
We now have lots of different themes available in Insomnia. And we recently launched the support for syncing better with your operating systems' light mode and dark mode. We also have a colorblind theme for red-green color blind folks out there. Check that out if you haven’t yet, and get your Insomnia themes the way you want them.
Tags in Inso Config Generation and Various OpenAPI to Kong Improvements (APIOps)
We've been adding new functionality for the declarative configuration generation that the Inso command-line tool uses for several releases. Inso is Insomnia's command-line tool, which is key for the APIOps pipeline. It enables you to run in CI to run tests and generate declarative config for Kong Gateway and other products.
Converting Insomnia to Use TypeScript (Open Source)
This is a huge win for us internally to help develop faster and for the community to contribute to a modern application.
Open Sourced Documentation (Open Source)
We’re excited about our Insomnia Docs experience now and are looking forward to any contributions or issues you want to raise there.
Projects give you a new container that you can use to organize your work, holding many designs and collections and holding many paths or requests. Let's take a quick look at how it works.
Each project with a globe next to it is a remote project associated with a team. We're in the Konnect API project. We could also have local projects for debugging or developing on our own.
So within this Konnect API project, we have different design documents and request collections displayed on a project dashboard. Within this example, these represent the different services within Konnect.
If we jump into the Runtime Manager API, for example, which is a design document, we can see requests associated with it to begin calling that service.
We can also see the full OpenAPI spec here, along with a view of the rendered documentation. This lets us hit the ground running when we're joining a team, and it lets us collaborate better with team members as well.
And further, if our team is building new services or creating these API collections for new services, we have this option to pull these collections. So we can pull the Vitals service right now, for example, and immediately start to build that out and add documentation for our team right alongside the requests.
There’s more to come for helping you stay organized and collaborate with your team, but we're excited about this start and can't wait for you to try it out.
The Insomnia 2022 Roadmap
I'm excited to dive into the new Insomnia enhancements we have planned for next year. Here's what you can expect.
Insomnia Plugin Platform
We already have many great Insomnia plugins that the community is using and has developed over time. We’re excited about more to come. And we had an amazing plugin developed by our Kong Summit Hackathon Insomnia Plugin category winner, Scott Harwell. Find out more about the plugin he created. As we move into next year, we’re excited to evolve our plugin platform to make it even easier to contribute plugins.
All of you love Insomnia because it’s really simple. We think simplicity is one of the key tenets for how we want to build Insomnia going forward. But at the same time, we get lots of feature requests, which those of you on engineering teams or product teams will know that story very well.
We know we need to keep up with a rapidly evolving industry. I mentioned earlier adding Typescript support and keeping up with web sockets and other protocols coming out. So we need to figure out how to add these features and keep up with the evolving industry without necessarily creating an airplane cockpit with bells and whistles and dials all over the place. That's where plugins can come into play.
We want to take Insomnia plugins to the next level by offering you more APIs and more hooks into Insomnia. That way, you can make more interesting plugins that are more valuable and useful for your use cases.
We think that that will provide an opt-in complexity for users. You can say, for example, "Well, I’m developing graphQL but not gRPC, so I'll install some graphQL plugins and not have to worry about the noise that comes with all of the other protocols that I don't use." You can craft Insomnia in the user interface to match what you need.
We believe doing this will start a flywheel of innovation. Enabling more plugin building means we can handle more use cases, and more use cases mean more users can use the tool to get their jobs done. And those new users will bring more needs and ideas, which will generate more plugins, and the cycle will continue.
We’re excited about encouraging this innovation, helping you stay at that forefront of technology as well.
Pluggable Automation Workflow
The next area we’re going to look at is pluggable automation workflows. And speaking of plugins, we also wanted to bring this to the Inso command-line tool, which I mentioned earlier.
The Inso command-line tool is the workhorse for APIOps workflows when using Insomnia for API design and development.
Each organization has slightly different standards that they want to enforce, and they may have different alerting needs, deployment environments, etc.
Today, many organizations will need custom scripts and manual work to integrate into these pipelines and workflows, which goes against that core principle of APIOps: automation, automation, automation.
We want to provide hooks for that automation system into Inso itself. That way, you can get your jobs done by writing code or using other plugins. Custom linting policies are a common example of what organizations want to enforce around an OpenAPI spec, and that's one thing we’re going to target earlier on as we investigate. For Inso plugins, we want to offer more of that end-to-end APIOps story.
The problem we hear from our community regarding other IDEs is that switching between different tools and contexts can be burdensome.
We've also seen more and more work happening within that IDE. So much so that it's starting to live up to its name: Integrated Development Environment. It can almost do everything. Of course, that’s not for everybody. I still like running my Git commands in a separate terminal app, for example, but many people get a lot of value from a unified experience. But there's no doubt that an integrated experience saves time and can even provide a better experience overall if the different pieces are well-integrated.
To that end, we want to start experimenting with an Insomnia IDE extension. Our goal is to make your development experience more efficient, eliminate the need for that context switching and get the API development closer to where the rest is within that IDE.