Webix in Practice: food delivery solution

Today we talked to Doug Averch. Doug is the CTO and owner of the U2logic software company based in the United States. The company deals with foodservice companies. Doug is currently the only developer as well. When COVID broke out, he was left alone, as foodservice companies reduced the demand for software and their company couldn’t afford to keep its developers. But that should be changing in a couple of months, when they get back to normal, according to Doug. 

We have a nice opportunity to talk to Doug and to know his feedback on our product.

interview with Johan Smith

Hello Doug! Good to have you with us. Tell us, please, about your position and role in the company?

I am the CTO of the company. I guide all the development as well as picking products and working with clients to articulate their needs into our software.

Could you tell us a bit more about your project, please?

We develop software for foodservice companies to assist them in dispatching, driver scheduling, driver incentive payroll, and warehouse employee administration. We get information from their current systems via web services or manual upload and aggregate that data into our system. Drivers can use our mobile app to make any PTO requests or can see their manifests, or their schedule. Our software is cloud-based and highly scalable. 

interview with Johan Smith

Why did you decide to use a JavaScript UI library in your project?

We used a different JS library. Around 2018 they stopped updating their product because they were coming out with a new release. We got a little scared because when you stop updating your product that depends on browsers that release a new version every six weeks, that can be a big problem. We started looking for a replacement product and we found Webix. Webix is pretty close to what we were used to, not in style, but in the way it works. Webix is very programmer-oriented and that’s why we liked it.

Besides, we had to change the Eclipse IDE plug-in called XLr8Developer that generates our HTML/Javascript code. We are a little different from other companies in that our tool creates 100% of the code, so we don’t have to do the manual work on each form. When we turned to Webix in 2020, it took us a while to recode the tool to use Webix properties and views. Our tool handles all the screens, prompts, and layouts using Webix code without us manually touching it.

That’s cool! How did you learn about Webix?

Found it on Google. Webix is in the top 10 JavaScript libraries on several lists. We created code using all of the top ten libraries we found. We have over 500 forms so it took a lot of work to make sure the one we picked would handle all of our needs.

Which criteria were the most important for you when choosing a library?

The top criterion was menus and if they could be displayed on the left side. The other top criterion was how the data table handles data table events. Our previous vendor data table code had three events: 0, 1, 2, which wasn’t very friendly. These events that come out of a data table are important because we verify the data as the user moves off each column. Webix events, although a little different from what we are expecting, are very complete. Those events are in English, which makes them much more programmer-oriented.

interview with Johan Smith

Which complex Webix widgets do you use?

We are currently using Kanban. We are going to be using Webix Scheduler in about 60 days or so.

Have you faced any challenges using Webix?

The entire syntax is a challenge. But there were enough examples and we mostly found everything we needed in your snippets. We could change the snippets, create our version of those snippets. We didn’t have to do so much hand-coding on our site to figure out how to use certain features because we used your snippets.

Webix filtering in data tables is a little weird. For example, if we load 50000 lines in a table, the filtering takes longer to load than we would expect. So what we do now is server-based filtering, which you do support. We couldn’t exactly figure out how to do it, so we did it with the button that we tied to a server event. You type in a filter and then you have to click on the button which is not ideal but it works.

What is good about Webix for you?

Speed on data tables is about 15%-20% faster than we are used to. We used to code everything by hand ten years ago, so we appreciate the speed and ease of use. Webix allows us to put prompts on top, or the left, and even has a bottom label; coding them is pretty straightforward. Webix has many options for each view, so you don’t have to write your own HTML or CSS to get all you want.

interview with Johan Smith

Where do you usually look for information to help you in your work? Whose advice are you ready to listen to?

I have only my advice now. I can’t always rely on someone’s reviews. Webix is not in the mainstream press. Generally, I get information from Medium (a lot of bloggers, a lot of people writing) or PCMagazine, ComputerWorld.

Yet the tool is good, it is really good. It does what it says, it’s fast, it’s efficient, and it allows us to produce great-looking and functional screens. When we decided to update our driver app, we converted it to Webix – and it was relatively simple. We spent hundreds of thousands of hours to get this app working on the previous platform. Comparatively, we spent only two weeks converting it to Webix. We are running Webix on our driver app, we haven’t optimized it, we are just running as it is. It runs well, everyone is happy with it. And what’s surprising is that the functionality is all there without a lot of work. 

The tool for me is one of the top 5. I’ve used a bunch of others. The easiest one to use is yours. There is a learning curve, but it does what it says and does it efficiently. We have embedded CSS code all over the place, it just looks wonderful. 

We are glad to hear that! Thank you. Do you use Webix Jet?

Webix Jet added too much complexity to our XLr8Developer tool that generates Webix code. Additionally, our tool allows for customization of Webix code through the use of external JavaScript scripts, and that was also a major stumbling block trying to incorporate that functionality while using Webix Jet.

Which libraries do you use apart from Webix?

We currently use DHTMLX for their Scheduler and Vault products. We have an interface with BIRT, an open-source reporting engine, within our Webix code built into our Apache Tomcat web server.

It was very nice talking to you! Thank you for your time and feedback.

If you are ready to share your experience and tell us about your project, do not hesitate to contact us.