How satisfied are you with self-service portals and bots? I’m not, and I designed one.  

The Covid era highly affected how we interact with different services. We were forced to avoid in-person user interaction, which pushed bots and self-service portals into the spotlight.  

 I jumped onto the bandwagon and tried to design one for my customers. Since I work in the infrastructure department, my customers are primarily engineers within my company – so that should make things easier, right? I just need to gather all the information needed and give the end users options catering to their needs.  

The road to hell is paved with good ideas   

In my mind, it was clear as a day, what I wanted to put into self-service, and I was sure I was going in the right direction. The optimistic part of myself was shouting for joy, saying: “This will be an easy win; It will solve all requests in a matter of seconds!”. I had a good team behind it, where I was in charge of collecting and organizing data, and my good colleague Zvonimir Žarinac was in charge of programming the whole thing. 

I was through the roof right until the moment version 1.0 came out. Still, I was kind of happy it was out, but when I took a good look at the final result, it flattened my mood. It had a wall of text, and the options were all over the place, organized without any common sense or structure.   

Here’s our mistake – we were looking at the solution from our perspective, hoping to transfer as many of our tasks into self-service as possible. In the process, we forgot all about the users and what would make their lives easier. A Product Building 101 mistake, if you will.  

But at least we learned something: When launching a new product, you need a test group to bounce your ideas against. When you’re so psyched about your idea, you cannot think straight and see all the holes in it.  

What now? The product we launched was “not great, not terrible,” and definitely not a catastrophe (compared to the one from the show).   

Sure, we needed to rework it, but we had also done a bulk of work, gathering, writing, and adding all the information to the portal. We had a good foundation, and we just needed to build on top of that.   

Everyone’s a critic (and we can learn from that) 

We switched our focus to information logic and how to deliver relevant information to the end user. We tried to think like the user and how we would expect the content to reach us with the least amount of clicks or steps.   

So, we categorized the information. The result was better, all the options were there and better sorted. The main problem, however, remained – there was too much text for users to read.   

The usage data backs this up – engineers using our self-service did not, in fact, read through all the information. We also received some bad feedback, which made us doubt our product altogether.  

Why did we spend so much time on a self-service that end users don’t want to use?! Should this portal have been a call center? At least there would be some elevator music involved.  

But here’s the thing – in reality, our portal was frequently used. And we realized that it’s pretty common for feedback to be skewed. End users are just like that, me included. When something works as it should or helps me, I rarely think: “Oh, what a nice job this self-service does; I should contact the owner and tell him how great it is.” But when something needs fixing, I will let the owner know!  

The data at least validated our idea that a self-service portal could be useful and cut waiting time. All we had to do now was find the best means of interaction between the users and the portal. This can get quite tricky, though, even with feedback. Every user has different feedback and point of view, but you’re supposed to take it all in and create something that works for all of them.  

AI to rule them all 

What is crucial for having the best user experience which we all expect? Can we read the end users’ minds and know what they want before they do?  

Someone on the team proposed that we go minimalistic – remove all the and focus on finding the keyword in the end users’ question. The first thing that came to mind was regular expressions.    

We gave up on the idea when we saw how many combinations and exceptions we needed to use. There is too much information, and covering all scenarios within a reasonable timeframe is impossible, especially with our ever-growing workload.  

I figured I’d be patient and wait for an answer. It has been two years now, and during that time, I daydreamed about a good AI solution that wouldn’t just look for keywords but also learns from the context of the user questions. It’s as close as we’ll ever get to mind-reading (I hope!). 

As unlikely as it seems, waiting for the answer might have been a good strategy. In the wake of the AI revolution and new products cropping up daily, one should fit the bill. There are many things that I, as a developer, expect from an AI-powered self-service bot, but that’s a topic for another blog post. One is coming soon!