Webix continues to gather feedback from our customers to improve and to look for new valuable ideas. Today we have Malte Sussdorff (LinkedIn profile) with us. Malte is an experienced developer, Agile coach, and Scrum trainer. His current project is Cognovis, which deals with translation management systems. We are happy Malte has agreed to share his experience with us.
Hello Malte! Nice to meet you. Tell us, please about the project that you work at?
Hi, my name is Malte Sussdorff and I’ve been a software developer since 1992. Currently, I own a company that is building a solution for translation agencies to do all their business, from getting new customers to finding freelancers, invoicing, and translation management system software. So, it’s a fully integrated open-source solution. Usually, I work on the backend side. I’ve been developing the backend part since 1998.
Pic.1: Application with translation mode enabled, allows the customers to change the displayed text depending on language.
How did you learn about Webix?
Google. In 2015 we decided to switch away from our classic JS-based front end. We started to use Sencha as a framework, but later we decided to look for something else. We have much experience with different frameworks, but we have come to the moment when using just one popular framework is not enough to do what we like. Besides, we don’t want to develop components, we are just users. Finally, we stumbled upon Webix in our search and ended up using it. We started with an open-source variant and realized you have a lot more features in the commercial product, especially with complex components. We haven’t used them so far, but we have them in mind. The driving factor behind getting the professional license was on the one hand the option of complex widgets and the support we could get. The documentation and forum were quite helpful.
Which of the Webix widgets have you used so far?
Pop-ups, a date picker, data tables, charts, many input selectors; the complete app is built in Webix Jet. We use the components in Jet and we write in Typescript. We are heavily reliant on backend functionality, so we auto-generate the calls from Typescript and have interfaces that allow us to connect to any service we need by running code from OpenAPI definitions. This is auto-generating the code and this is tremendously helpful, as we are only two people working on this at the moment. We try to stay ahead of the curve when it comes down to code generation and use what other people have been doing to solve our problems.
What were the most important criteria when you were choosing a library?
Commercial support, ease of using components, Webix UI Designer. As we use Webix Jet, the components are really easy to configure. So, we are not using what you offer internally, but we connect what you have, redirect it to our internal storage and it works perfectly. As long as Webix keeps innovating, we keep using it.
Good to know! What were the challenges of using Webix?
We needed to learn the logic behind Webix. The documentation around Webix Jet is patchy. We were picking the information pieces on how to create Webix SPA using Webix Jet, it was kind of a hurdle, but it was resolved. We needed some kind of a guide or a video for that. Most apps need to connect to the backend, so we needed the info on how to do that and also on how to include the components like Chat while running the service separately. Our backend has a lot of functionality, so we decided it would be a good idea for us to tie our backend system with the Webix backend in the front-end application. It worked out successfully and it became a major learning for us. With the tendency of moving towards microservices, this might be a strong selling point of Webix. If you need the functionality, Webix provides so much out of the box. And having the tutorial on how you can combine that with the existing backend will be an advantage.
I also noticed that the API is not automatically documented. If you just need the code generation, this is not included in the documentation. Webix’s frontend knows how to talk to the backend, so it would be nice if everyone else who has their own backend can automatically code that (e.g. by using server code generated from OpenAPI specification)
Do you have any ideas on improving Webix?
Well, to have a search component, for instance. We’ve developed our own when we learned you don’t have anything like that, so we could provide you with it. I missed a global search across multiple business objects and to display that data somehow.
Pic. 2: Full text search in action, showing types of customers (icon) and status (color) in the search result on the left.
I’m curious to see the designer because we have a workflow system in the backend application, so we could tie that designer into our workflow engine in the backend. This might be an interesting thing for your further development. Not only to make and save designs but to have a backend service that allows a designed workflow to play out using business process modeling. You have covered the complex part, and watching you deal with the backend services, I have a feeling you can do that. That will make Webix a strong option for organizations doing business applications.
Pic. 3: Search results showing type of projects as well as actions we can do by clicking on the icon on the right.
Where do you usually find the information on development?
Stack overflow, Webix site, and forum, open sources for the backend, Udemy courses for learning something special like Typescript for example.
How likely are you to recommend Webix to your colleagues?
If we talk about startups, I would recommend it. But the majority of people I know are dependent on traditional business solutions, and they are very cautious about choosing a vendor. They don’t want to invest in learning several options. They are concerned whether the chosen vendor will stay in use for the next 5 years, so it’s a trust issue.
Thank you, Malte! It was nice talking to you.
If you also have something to tell us about Webix, please, contact us. We will arrange a convenient time for a talk.