JetBrains Platform
Plugin and extension development for JetBrains products.
An Interview With Sven Reinck, XSD / WSDL Visualizer Plugin Author
Today we are speaking with Sven Reinck, author of the XSD / WSDL Visualizer Plugin that allows visualizing XML files without leaving your IntelliJ-based IDE.
Welcome to the JetBrains Platform Blog, Sven! Before we discuss the plugin, would you tell us a bit about yourself and your background?
I learned to program when I was six years old, so it was a natural progression for me to go on to study computer science. My favorite programming language is Java, and I am starting to use Kotlin more and more. In 2019, I founded my own software startup FLUXparticle. My flagship product is the “XSD / WSDL Visualizer” plugin for IntelliJ-based IDEs, which helps to visualize XML Schema and WSDL files.
Tell us more about your plugin and its features.
The XSD / WSDL Visualizer plugin makes it easier to understand the meaning of the data described in XML schema (XSD). It provides a graphical representation of the types and elements defined in an XSD file and gives an understanding of the inheritance structure. This is much more convenient than the usual text representation, especially for large and complex XSDs.
Since they are related, the plugin also supports WSDL files. It makes it easy to understand the relations between services, bindings, port types, and parameters at a glance.
The plugin runs on a freemium model. Visualization features are free for users, and editing features require a license. Since the first release, I’ve added some of the licensed features, and I am working with my customers to find out what other features will benefit their workflow the most. If you have any suggestions, please send me an email at support@fluxparticle.com.
How did you come up with the idea to create a plugin for XSD visualization? What’s your motivation to continue its development?
The Plugin Ideas section on JetBrains Marketplace shows the most requested IDE features by the community. I’ve seen many people miss this kind of feature available in Eclipse, so I decided to implement it as a plugin. I announced the release of the plugin in the issue tracker, where I could communicate with potential users and find out their needs from the beginning. It really motivated me when I made my first sales – some company bought ten annual licenses completely out of the blue.
You mentioned that your plugin is “freemium”. Why did you decide to go with this payment model?
Honestly, it was by recommendation of a developer who reached out to me. He contacted me on Facebook when I first posted there about my plugin. He wanted to help me just out of sheer generosity and shared some things he did for marketing, like webinars, blogs, and social media.
One of the reasons for making a freemium plugin was my desire to reach more users first to get feedback. Currently, the biggest challenge for me is finding paying customers. It seems people are happy with the free functionality the plugin provides.
What are your plans for the future development of your plugin?
One thing often requested is annotations to document different parts of the schema. That will be one of the most prominent upcoming features. As my goal is to create more tools to manipulate data visually, my next project will probably focus on JSON schema and related files.
Also, I am now working on getting more visibility for my plugin so more developers can experience and benefit from its time-saving capabilities, and so I can collect more feedback about the features demanded by the users.
Speaking of your experience of building and releasing a plugin on JetBrains Marketplace, what did you like about it? Did you face any difficulties?
The biggest technical challenge was that the core of my plugin (which already existed) uses JavaFX, but the IntelliJ Platform uses Swing. I needed to use a bridge between those and get JavaFX running inside a plugin on the new Apple Silicon hardware. I also had to fix a bug in JavaFX so that horizontal scrolling works in the plugin window. But overall, it was not that difficult to build a plugin. There is good documentation for the IntelliJ SDK, and the support was always constructive and could often solve my challenges immediately. However, as a pure developer, marketing is the hardest part for me. The benefit of JetBrains Marketplace is that it is relatively new, so users are finding my plugin naturally there. It’s like developing an application in the early days of the AppStore when applications could still be discovered on their own just by uploading them.
Do you have any recommendations or tips for anyone who wants to develop plugins for JetBrains Marketplace?
Spend some time thinking about marketing. Who will use the plugin, and how will users find it? Or how would you find them to tell them about your plugin? Also, a great IntelliJ Platform Plugin Template on GitHub is linked in the documentation that can help you get started.
Sven, thank you for joining us to discuss the XSD / WSDL Visualizer Plugin and your experience at JetBrains Marketplace.
Thank you! For all those interested, please visit the plugin page on JetBrains Marketplace and contact me for any feedback at support@fluxparticle.com.