About this talk
This talk addresses the impact of artificial intelligence on user interface design, noting that the changes are already present. The speaker shares personal experiences where non-technical individuals have begun engaging with AI technologies in their daily lives, which highlights the urgency for developers to adapt UI strategies. Working with Neo4j Graph Academy, the speaker focuses on integrating generative AI into their educational tools, moving from a traditional chatbot to a more interactive learning agent that can perform tasks on users' behalf. The discussion emphasizes three key elements for building effective UIs in this AI era: transparency in workflows, adaptability to user needs, and creating opportunities for serendipitous discoveries. Ultimately, the speaker argues that the new role of UI should facilitate user navigation and problem-solving rather than enforce predefined paths.
Full transcript
Excellent. So, there's a lot of really great talks going on today. So, I appreciate you all taking the time to to be here with me today. What I want to do today is talk a little bit about one of the topics I think is a little bit underserved in this whole discussion of the the new AI era. Everyone's talking about the advancements in models, in reasoning, but
nobody's really talking about how that affects the UI. One of the things I picked up from today is that the a lot of people are talking about the the change or the shift. And it's evident to me that the shift is not on its way, it's already here. The the the changes that I've been hearing people talk about in podcasts for the last 2 3 years is
is really here. And I can tell that because something strange has has started to happen to me recently. My friends and family, non-technical people with with ordinary jobs, have started to come to me and talk to me about AI. And not just you know, vague questions and blank stares, but actually talking to me about how they use AI in their in their day-to-day lives. And on one
hand, I've got that friend. I'm sure we've all got that that one friend that is constantly sending over business plans with overinflated numbers and lots of emojis in them. But on the other hand, my partner who's a teacher has recently come home and started talking about tools that her school is investing in. take care of all the laborious repetitive tasks, the reporting tasks that all teachers will
have to do to allow them to uh actually work on what's most important, which is educating educating the children. And for years, like these two people have had no idea what I do for a living. But all of a sudden, I'm talking to them about hallucinations, retrieval augmented generation, and context graphs. So, for me this is a a use a useful sign, a barometer that actually the
the change that people are talking about is not on its way, it's it's already here. And we need to to cater for that as well. Um and I spend quite a lot of time as trying to apply GenAI to to my data day life. So, not only to get rid of my repetitive and and boring task, but um also to apply it to to my day job.
Um so, I lead the team behind Neo4j Graph Academy. So, it's our job to teach developers and data scientists everything they need to know to be successful with Neo4j. And this puts me in a quite an interesting position. Um and quite a a precious situation um not only do I have to keep up with the advances and the changes, but I also feel the needs to supply
the the same kind of experience to to the the the first movers and the shifters that they get in their their other tools and also provide a reason for them to come out of tools like ChatGPT and and Claude um and come to us for for um education on on Neo4j. Um so, we've had a a chatbot on Graph Academy since around about 2023. as database vendors
across the uh across the board were rushing to um to add like support for the these new vector um embeddings. there were people like me sitting behind the scenes that we're trying to work out how to actually make the um make use of these things and actually um understand how um how to put these in into production. So, >> [snorts] >> I like many other people took
our documentation, took our course content, chunked it into smaller pieces, and then threw that into a vector index. Within a couple of days, I'd not only spiked and tested, but I'd put a chatbot into production. And it was fine. It it did a good enough and the the vector search and the the technique of retrieval augmented generation would give me coherent answers that looks good. but it
just wasn't really that that useful. Um so, one example where the the chatbot fell short is with technical problems, technical issues with the with the platform. So, one of the things we do on Graph Academy, when people um enroll to um our courses, we provision a database for them in the background. The idea behind that is that we reduce any barriers to entry so the user can
just get on and and learn learn our products. Um but I guess as you will know, like third-party integrations are flaky. Um things can go wrong. Um at times where there was high high load and and high demand, it would take maybe a couple of minutes for the the database to start. Um if it did start at all, there could be problems with the um with the
the APIs. Um or it could just be a case that um the the user had a firewall that was blocking certain things from there. Uh like communication bit between the database. As a point of shame, I think still if you Google Graph Academy, the first suggestion you get on Google is the um Graph Academy refused to to connect. Um and in the instance here, like the the
the chatbot would send back a response that was technically accurate, but it was absolutely useless to the user. It didn't help them at all. Um as testament to the usefulness of version one of the chatbot, after a couple of months, I uh disabled the API key and removed the the chatbot. I don't think anybody noticed. Um but then came around uh 2025 and the year of the
agent. So, we've got to the point where the model's been fine-tuned and improved enough that they were good at um selecting tools from a list and these longer agentic workflows. Um so, I thought okay, why not? I'm I'm I'm There's a lot of hype around this. I I want to try it again. But this time, instead of it being this rigid um rag staff of, you know,
looking at the the the vector index, finds the information and then regurgitate that out, um the chatbot will or the learning assistant or the learning agent uh in this case, um needed access to tools that could perform actions on the user's behalf. Um and do it all free the the chat in his face. So, you can see the the the side-by-side comparison. So, previously where the just
some information was was kind of spat out, I guess it's This is what we now call AI slop, well-intentioned AI slop, AI slop nonetheless. Um on the right-hand side, we've now got a a a tool call where we can actually um use the the same functionality inside the website to get the the user's credentials, actually check that that database connection exists, and then work out is the
the problem on the on our side or is it on on the user's side? Um and you can read more about my my experience there um of um migrating over from a rag-based chatbot to uh to a learning agent. Um but as I kind of went through this experience, there were three things, like three um elements that kept emerging as I was building UI's um it for
for the age of of AI. Um the first one of those is um transparency. So, as like these agent patterns and the the workflows become more complex and run for for longer, it's more important than ever to actually understand what these workflows do. Um and now go beyond just a spinner, you know, to anybody who is used to sub-millisecond sub-second clicks um and and responses will just
assume that the the thing is broken. Um but also because we are as humans ultimately accountable for the the output of these agents, the more transparency we can provide about the decisions that made, the tradeoffs that were made, uh the more confidence we can have with that that end decision. um one of the the uh decisions I made for for Graph Academy early on was to provide
the any tool with the ability to update the UI. So, that means we could surface any reasoning, any tool calls, um anything that um that's happening in in the background, so the user can actually understand what is uh uh what is going on. and now that means at the end of this this kind of long-running process, maybe one one two minutes, maybe be looking at deep research
half an hour or so, you can actually understand all of the tradeoffs and the things that have happened at at that point. And now one of the things I I wish I knew and from a technical view, this is relatively simple. Um I ended up building my own implementation without really knowing that this is there, but um LLMs sends uh responses back to to you using uh
technology called server-sent events. What we get really is is a stream uh of events that come back. So, with a um first a type um then optionally a payload that comes along with it. Um so now it just becomes a a case of the API just having enough if statements in there to be able to handle all of these event types, pass the responses, and then do
something um yeah, update the UI to accordingly. Which brings me along to number two. Which is adaptability. So we can now build agents that in theory with access to enough tools and enough permissions can solve any task. Or so we're told anyway. And so that stream of events that comes back from the from the UI just needs to be handled in so from the from the API
needs to be handled in the in the UI. So you can see an example of this in in Claude where when you ask it to build something it an artifact flies out from the right hand side. And you can actually see your your your code sample of what you've asked it to build. first built and then maintained in in real time as well. Um and I'm noticing
more more and more as well that apps instead of just asking open-ended questions, if there is an opportunity to to provide a form with multiple choice questions, then they'll they'll start to do that as well. So the first course that we recommend people take on Graph Academy is called Neo4j Fundamentals. And this teaches people the how, the what, and the why of graph databases. So first we
talk about what a graph database is, it's a collection of nodes and relationships. We talk about when to use them and when not to use We talk about use cases of graph databases in the wild. So the user can be inspired to um to come up with a graph solution themselves. Um and then uh what we do um straight after that is we encourage the user to
enforce that uh through a challenge phase. So, um before this we had this long onboarding process where we asked for a million different things and we um asked the user to to select from 40 different predefined use cases and and and graph models that we had. Um whereas now the the user can actually describe exactly what they want to do. Um and we can understand that. Um
And the um we have a modeling subagent which gets the all this information gets handed off to, uh which will then start to to build and craft this um the this model um for them. Um and the the benefit of this really is is now that we can start to even tailor that approach that we take to education. So, rather than just giving them pre-canned examples, we
can actually relate back to the problem they're trying to solve. Um and then so finally, I believe that um experience should have an element of serendipity to it. in theory we've got this technology at our fingertips that can solve any problem. Um but I think we can go a step further and not just solve the problem that the user is asking, but the the problem that the
the user doesn't know how to articulate, that they can't describe. Um so, on Graph Academy when um a user completes a lesson, they have the opportunity to to provide feedback. Um when they provide us with feedback, um it's because either we've done something wrong or they've not understand understood what's going on. Either way, I don't think that the conversation experience shouldn't um shouldn't end there. So, um
let's say, you know, the the the user is is being kind enough to tell us where where we've gone wrong or maybe they maybe they need a little bit of a bit of understanding. What we do is we take that feedback um and we um use an LM to analyze it and work out okay, is this something that we can help with? Um and if so, we
we open a a new chat session on the right hand side um and then we send that message directly to to the chatbot and we hand off to there. Um and the benefit of this is um either the user has the um is is guided to to a solution is able to to solve their problem. Um or if not, then we get more context from that conversation
to be able to improve the the experience for for that for that learner in future and for for other learners as well. Um so now what we're doing is we're we're starting to to solve the problem that the user didn't know how to ask. This is one of my my favorite examples to show because it's only a couple lines of code in general, but um it provides
a a lot of value for both the the user and for us as well. Um now I mean everyone's talking about um well, every conference is now an AI conference, right? And everyone's talking about MCP. Um I believe that MCP has got a really uh big role to to play in this as well uh because at the moment we have an experience where um you know, we're
we're expecting people to to come into us and then then they provide some sort of authentication um and then they Yeah, and and then they go down our our predefined path that we've set for them. And that might be great for some learners, but for others it's not going um not going to be helpful for them. we we also um we can also see from from the
numbers that the people are are starting to to to work in different ways, starting to to build in different ways, and not really leaving their their coding environment, whether that's Claude or um you know, some other um some some other environment. So, it it's our job as as educators like firstly to get the the right information to them uh, at the right time and to also help
the LLMs cuz otherwise they're just going to generate all sorts of nonsense. Um, so um, we can um, also provide access to our content through MCP. So, I'm going to try a quick demo this. Um, but we will see whether it um, whether it works. But, I've got a a connection to um, an MCP server here. So, um, I'm not going to do this cuz it's very
um, very flaky, but um, um, in theory once they've all authenticated to um, to to Graph Academy via um, via the MCP server, um, they then have access to all of the content that we can provide for them. Um, we can also give them um, access to a database we can provision a database for them at the same time. so now I'm I'm authenticated. I've got this
uh, this server that's running. I can start to to ask some questions. So, I can ask what And the great thing about LLMs you don't have to actually type the the right words. then it will use the the right tool to to surface the the information. So, this this gives the the user the ability to uh, follow our path and follow the the courses that we've defined
for them. and they get the that same experience, but we've met them where they where they are. And so, I can enroll to um, a workshop and as soon as I enroll to workshop using the MCP tools, um it will give uh it will start to to guide me through the the process. Yeah, the information that that that we provide for them. Um and then we can
also from that for for the the other type of learner, the type of learner just wants to build something. Um we can instead use a use a prompt to use a command um and we can just say Um you know, start to build me something. So, I want to build a social network for cats. So, I'm being forced to show you the authentication flow. >> [laughter] >>
Oh, come on. Um and I want to to build that using Python. >> Ooh. Um and then what the um the MCP server will do is is a there's a tool there that works out a learning path for them. We'll build a custom learning path for them and then start to to build out uh or sorry, start to to provide the the content for them. And the
nice thing about this uh experience as well is it provides a little bit of serendipity. Uh so, as the user goes and builds their application, they demonstrate their knowledge or the maybe more accurately LM gen- uh its knowledge. Um we can then provide them certificates of completion for our courses as well. Um we can also understand more what they what the user wants to uh wants to
do. Oh. Um yeah, to to sum it up really if the the question is if the the back ends can can reason then then what is the the role of of UI? Um for me like UI has always been a a way of of us forcing a user down a predefined path. And I don't think that works anymore. Um right now [clears throat] really now our role
is is uh as developers is to help to to guide the user to to solve a can we provide enough transparency as we uh solve the problem as we uh run through these these agentic loops? can we adapt the the UIs and uh adapt adapt the experiences we have as the um as as the user learns? And can we provide a little bit of serendipity and go
beyond to ask the uh answer the question that the uh the user doesn't know how to ask? Because the the role for me um of UI now is not to to get in the way. It's to provide the right friction to a to allow us to um to to solve a problem. But really to to guide the user through the the process. Um so thank you very
much. My name is Adam Cowley. The best way to find me is probably on uh on LinkedIn. Um if you um are curious about traceable AI or um graph databases in general then I can highly recommend uh Neo4j Graph Academy. Um and if you're building agentic UIs um this is something I I thought quite a lot about. Um I've got a lot of opinions. I'm also very
excited about it. So um I'd love to to have that conversation. thank you all for your time. >> [applause]