Mendix MxAssist Logic Bot updated in 9.7 release...Useful or Useless?

Hello again, readers! Mendix recently released 9.7 for their Studio Pro IDE and with it comes a variety of updates on the MxAssist Logic Bot. Mendix wrote a blog post detailing these updates here, but here are the quick notes:

  • They’ve made it “smarter” by mining “…100 million microflow patterns and 12 million Machine Learning parameters”. This means that the recommendations provided by the Logic Bot are more likely to be what you need as a developer.

  • More contextual actions and steps have now been added which provides a more nuanced recommendation than before

  • The UI has been updated. Personally, this wasn’t a big complaint on my end but I’m sure there was a need there.

The UI is faster which is a much bigger issue. Before it often delayed a bit for me in the USA and I suspected it was network lag more than logic calculations which based on their notes is true. They’ve deployed the backend to more regions to reduce that lag in the recommendation.

Image from https://docs.mendix.com/refguide/mx-assist-logic-bot

I really support this progress because of what I believe the future state of app development is shaping up to become. I’ll save that prognostication for another posting but suffice to say I believe similarly that making the developers life easier to be able to produce more accurate code more quickly is necessary to keep up with the explosion of needs in this digital transformation era. When MxAssist Logic Bot first debuted in…I believe it was at Mendix World 2019 but the last few years have muddled my sense of time, I initially wrote it off as something for new developers and not of use for us certified “Experts”. I opened the IDE and immediately disabled the bot after that first blue dot lagged and slowed down my development whenever the mouse crossed its path.

However, as the year progressed and I started a new POC build, I decided it was incumbent on me to understand the features of the platform we have chosen to develop a strategic partnership around. I reluctantly turned the bot back on and began to code. I hovered my mouse over the blue dot in the workflow and a menu popped up with some recommendations for the next step. I had created a “Retrieve” object as my first step, and I always check to make sure that the retrieve object isn’t empty first before writing more steps of the microflow. Nothing worse than writing a bunch of code only to see it throw null pointer errors. Lo and behold, the bot recommended I do that! Interested, I selected that option, and instantly it inserted a decision object to check for empty, a pointer to continue, and a pointer to an end object if it was null. Now, that seems simple and let’s be honest it is, but it saved roughly 10-20 seconds of typing. Again, not much, but if you can imagine a typical app has many dozens and often hundreds of retrieves, and you can remove that time, you are freeing up many minutes of programmer’s time to work on other things. Additionally, you are ensuring that the code is a higher quality because you won’t end up with those pesky null pointers.

I was starting to get excited about what else it could do. I retrieved a list of objects and after checking for a null list, it recommended a loop object which I did need, and another time it recommended an aggregate list object because I had retrieved a set of integers. This was shaping up nicely! Now admittedly, sometimes the limited recommendations were not what I needed. There was this strange mix of helpful and in the way. The lag was noticeable when you hovered for a recommendation and when you got a recommendation. ’ll call it a love/hate relationship though the terminology is a bit strong.

Fast-forward to the 9.7 release and announcements and I get excited about the changes that addressed a lot of my “hate”. I’m a fan because I can see it helping new developers but also saving time for experienced developers. I decided to poll my practice of developers that range from the most experienced Experts to the recently hired trainees about their feelings for the MxAssist Logic Bot. Here were the poll questions:

  • Yes, it’s great!

  • Yes…sometimes it’s useful

  • No…it’s usually not what I need

  • No…I don’t see the value

Keep in mind these are hard-core Mendix developers who do this every working day and sometimes for fun on the weekends. The responses were not exactly what I expected. The first surprise was that not a single developer answered, “Yes, it’s great!”. One senior developer chose, “No…I don’t see the value”. And most importantly, the overwhelming poll answer selected was, “No, it’s not what I need”.

That could seem damning as to the value of the bot, but I see this as opportunity. First, there hasn’t been a big push in the community to explore and understand the potential usefulness of the bot. As a community MVP, I take that role serious to try and amplify the voices of the developers that I interact with both on my team and at our clients. The fact of the matter is that developers are skeptical about bots taking away their creativity to solve problems. We are always the most capable to solve every problem ever…even when we aren’t. I’m not saying developers have large egos, I’m saying that they are on par with surgeons and professional athletes, and if you know anything about that, you understand what I’m saying. There is NO WAY a bot could possibly know better about what I need than me, right?

Well, I’m here to tell you that thinking along those lines in this 2021 is flat out wrong. We need to evangelize the benefits of the MxAssist Logic Bot more and more because I firsthand have come around to appreciate it. Anything that saves time is right up my alley. Think about what low-code development is? You take full-stack development and simplify it through automation, visualization tools, and deliver better applications more quickly. That’s exactly what the bot does! It simplifies your code development process in parts to build better applications more quickly. We’ve got a lot of work to do in the community and Mendix certainly has more work to do convincing the community that the bot is useful, but I’m here to be the tip of that spear because I believe in it, and I’ve seen firsthand what it can do! Ambitiously I’m going to run an experiment and strongly request that my developers turn on the bot and then redo the survey in time to see if the results differ. Either way this is important information to track. I don’t think this is an incrimination that the bot isn’t useful in as much as the value case needs to be shown more so I’ll do just that and report back. Thanks for reading and look forward to if hearts and minds change.