(AI Gen) Server-driven UI from Scratch

Speaker 1:

Okay. So imagine this. Right? You just launched this awesome new app. Everyone's loving it.

Speaker 1:

And then, oh, no. You find this, like, major bug.

Speaker 2:

Yeah. It's a nightmare scenario, isn't it?

Speaker 1:

Total nightmare. In the old days, you would be, like, totally stuck waiting for App Store approvals and all that stuff.

Speaker 2:

Ugh. Tell me about it. The waiting game is the worst.

Speaker 1:

But what if what if you could just instantly fix it just like that?

Speaker 2:

That would be a game changer, wouldn't it?

Speaker 1:

That's like the power of server driven UI SDUI.

Speaker 2:

SDUI. It's all the buzz these days, and for good reason.

Speaker 1:

And that's exactly what we are diving into today.

Speaker 2:

Look them up.

Speaker 1:

We've got some, super interesting material about this company called Empower, and they used SDUI for their new app over in Southeast Asia.

Speaker 2:

Empower. I've heard good things.

Speaker 1:

Yeah. They're doing some cool stuff. So they basically they wanted to, like, really speed up their development process, iterate faster, you you know, run more experiments to really just get that user experience perfect.

Speaker 2:

Makes sense. I mean, who doesn't wanna move faster and make things better?

Speaker 1:

Totally. So, traditionally, like, the app itself controls what the user sees. Right?

Speaker 2:

Right.

Speaker 1:

But with SDUI, it's like a back end server dynamically manages the whole user interface.

Speaker 2:

It's like having a remote control for your app almost.

Speaker 1:

Exactly. Exactly. And, you know, we, like, often call the server component the what is it? Back end for front end?

Speaker 2:

That's the one, the BFF.

Speaker 1:

The BFF. Short and sweet. So think of it like, the BFF is like a personal assistant for your app. Right?

Speaker 2:

Mhmm.

Speaker 1:

It fetches the right data, the instructions from the main server, and make sure the app's always showing the right stuff.

Speaker 2:

Keeping everything running smoothly behind the scenes.

Speaker 1:

Exactly. Pretty smart. Right.

Speaker 2:

Oh, absolutely.

Speaker 1:

So are we ready to kinda, like, dive in and see how Empower actually built this whole thing?

Speaker 2:

Let's get our hands dirty.

Speaker 1:

Okay. So they went with, Kotlin.

Speaker 2:

Kotlin. Good choice.

Speaker 1:

Yeah. And the Krator framework for the server side of things, and then GraphQL for communication between the app and the, BFF.

Speaker 2:

Solid tech stack. I like it.

Speaker 1:

And then they deployed it all using, Docker and Azure.

Speaker 2:

Nice. Very modern.

Speaker 1:

Yeah. So you know what? To really grasp, like, how they structured their SDUI, I think it helps to think about LEGOs.

Speaker 2:

Oh, I love LEGOs. Great analogy.

Speaker 1:

Right. So each component is like an individual Lego brick. You've got your buttons, your text fields, your images, or even, like, combos of all those things. Right?

Speaker 2:

Yeah.

Speaker 1:

And just like Legos, you can, like, assemble them in all these different ways to create different things. So these components, they actually make up the different screens of the app.

Speaker 2:

Makes sense. It's all about building blocks.

Speaker 1:

Totally. And then you've got what we call actions, and those are what dictate what happens when a user interacts with a component.

Speaker 2:

Like when you tap a button.

Speaker 1:

Right. Exactly. So maybe tapping a button takes them to a whole other screen Mhmm. Or maybe it triggers something, like submitting a form.

Speaker 2:

So some components are pretty static, like a simple picture or something.

Speaker 1:

Yeah.

Speaker 2:

And others, they're a bit more dynamic. They have a state, which is like, you know, how we do things in traditional UI development. Right. But what's really exciting with SD UI is you can just keep adding new components and actions without actually having to update the app. So you got an ever expanding LEGO set.

Speaker 1:

It's like magic.

Speaker 2:

It kind of is.

Speaker 1:

No more trips to the toy store. Okay. So how did Empower bring this whole LEGO concept to, like, to life with their tech choices? They, essentially define each screen in the BFF. Right?

Speaker 1:

Right.

Speaker 2:

And

Speaker 1:

then it fetches all the necessary data from the server. Got it. It's like they've got a blueprint for building each

Speaker 2:

screen

Speaker 1:

out of those Lego like components. Right? It all comes together piece by piece. Exactly. And there are also instructions on how the screen

Speaker 2:

should,

Speaker 1:

like, initially behave when it first loads. Now here's the real beauty of it.

Speaker 2:

I'm listening.

Speaker 1:

If you change the blueprint, you change what the user sees instantly. You can even change how the app behaves without an app update.

Speaker 2:

That's powerful stuff.

Speaker 1:

Seriously powerful. Okay. So let's go back to our Legos for a sec. Imagine, like, a prebuilt set with those step by step instructions. Empower actually has a screen in their app, part of their know your customer flow or KYC that works just like this.

Speaker 2:

KYC essential stuff.

Speaker 1:

Super important. So picture a simple layout, you know, a header up top, then a list of information in the middle, then at the bottom, a disclaimer and a button.

Speaker 2:

Classic layout.

Speaker 1:

Exactly. And the app just renders these components, you know, following the instructions from the, BFF.

Speaker 2:

It's like a well oiled machine.

Speaker 1:

It really is.

Speaker 2:

Yeah.

Speaker 1:

We actually found a screenshot of this, this KYC screen in our source material. It's amazing to see how the visual design matches the component structure in the BFF code. You know? It's like seeing the finished LEGO creation.

Speaker 2:

It all comes full circle.

Speaker 1:

It does. This modular approach, it's, it's really key because you can rearrange components, swap them out, add new ones, and you don't even have to touch the app itself.

Speaker 2:

It's like a a UI playground.

Speaker 1:

It is. It gives them so much flexibility for updates, testing, rolling out features. And guess what? This whole approach, it sped up their development cycle, like, massively. They're pushing out 2, 3 updates to the, to the BFF for every one update to the actual app.

Speaker 2:

That's impressive. Talk about efficiency.

Speaker 1:

I know. Right? It's a huge advantage, especially when you need to respond to, like, user feedback quickly or if the market suddenly changes. You know, there's this, there's this great example where they used SD UI to change their apps flow, and they added a whole new screen all in, like, 2 hours.

Speaker 2:

2 hours. That's incredible.

Speaker 1:

I know. It's insane. With traditional app updates, that would have taken, like, weeks. You know? That's the power of SDY in action.

Speaker 2:

It really highlights the potential for how we can build apps in the future.

Speaker 1:

Totally. It's it's, like, mind blowing how how much more dynamic we can make things.

Speaker 2:

Absolutely.

Speaker 1:

It's exciting stuff.

Speaker 2:

I'm all in on SDUI.

Speaker 1:

Yeah. It's a it's a fascinating shift, isn't it? Imagine, like, tweaking the interface, changing features, or even, like, rolling out a whole new, like, functionality without those long app store reviews or waiting for users to update.

Speaker 2:

Right. It it's like we're blurring the lines between what we think of as an app and a website.

Speaker 1:

Exactly. And that raises, like, some really interesting questions.

Speaker 2:

Mhmm.

Speaker 1:

Like, what other industries could use this kind of, you know, adaptable approach, this dynamic way of doing things? Where else can we use this power of SDUI?

Speaker 2:

Yeah. Good question. Well, we could think about, like, industries where personalization and real time updates are really important.

Speaker 1:

Right.

Speaker 2:

Like e commerce, travel

Speaker 1:

Mhmm.

Speaker 2:

Even, finance.

Speaker 1:

Oh, yeah. Totally.

Speaker 2:

What if you could just, like, tailor product recommendations to each person?

Speaker 1:

Yeah.

Speaker 2:

You know? Or display, like, targeted offers or even update, like, pricing instantly based on user behavior Mhmm. Or what's happening in the market.

Speaker 1:

The possibilities are kind of endless when you think about it.

Speaker 2:

Yeah. The potential impact on user engagement and and conversions would be huge.

Speaker 1:

Absolutely. And and it goes beyond just personalization too. SD UI could revolutionize AB testing, product experimentation, that kind of thing.

Speaker 2:

Oh, for sure.

Speaker 1:

What if you could test different variations of your UI, like different layouts, different messaging, all in real time to figure out what works best for your users?

Speaker 2:

Yeah. It it would be like, you know, a game changer for sure. You could gather data so much faster, you know, make better decisions about your product, and just iterate on features so much more quickly.

Speaker 1:

Exactly. Exactly. Now I know some people listening might be thinking, well, hold on. If so much of the app is on a server, what about security? Is it more vulnerable?

Speaker 2:

That's a that's a valid question for sure. And it's something that, you know, you really have to think carefully about when you're using SDUI. Yeah. You've gotta have strong security measures in place, you know, like secure communication protocols, you know, encrypting all the data, making sure authentication is rock solid.

Speaker 1:

Right. You can't cut corners on that stuff.

Speaker 2:

Absolutely not. It's critical.

Speaker 1:

And, first, you know, there there are challenges.

Speaker 2:

Mhmm.

Speaker 1:

Building a really strong, you know, SDUI system, it takes different skills, different infrastructure compared to how we used to build apps. Apps.

Speaker 2:

That's true. You need, like, a solid understanding of all these server side technologies, you know, API design, and maybe even, like, cloud infrastructure stuff.

Speaker 1:

Yeah. Yeah. And there's definitely a learning curve for developers who are used to working on the client side, you know, with those UI frameworks.

Speaker 2:

It's a different way of thinking for sure.

Speaker 1:

But, you know, even with those challenges, the benefits of SDUI are just, like, massive.

Speaker 2:

Oh, without a doubt.

Speaker 1:

So where is SDUI headed? You know, our sources suggest that Empower is already thinking about some even more ambitious stuff.

Speaker 2:

Oh, really? Like what?

Speaker 1:

They're talking about taking their screen definitions out of the BFF code and putting them into a database.

Speaker 2:

That's that's interesting. So they'd be, like, separating the UI from the code base completely?

Speaker 1:

Yeah. Exactly. It would give them even more flexibility and control. They could even, like, create a web based tool for their product team so they could design and configure screens without needing an engineer at all.

Speaker 2:

That would be revolutionary. Right. Like, giving them a visual editor for their app, just drag, drop, configure, and boom, the changes happen instantly.

Speaker 1:

Exactly. Imagine the possibilities. Right?

Speaker 2:

That's that's a powerful vision for sure.

Speaker 1:

And it's not just Empower who's thinking about this stuff. Other companies are starting to see what SDY can do, and they're experimenting with it too.

Speaker 2:

It's really exciting to see this trend taking off. I really think we're in the early stages of, like, a whole new way of thinking about mobile app development.

Speaker 1:

I think so too. So, basically, SDUI offers this, like, incredible flexibility, control, and speed, and that lets companies build more dynamic and personalized user experiences, you know, more engaging apps.

Speaker 2:

For sure. And it has the potential to change how we build apps in a really fundamental way.

Speaker 1:

Definitely. It's such a fascinating area, and it's changing so fast.

Speaker 2:

It really is. Yeah. So what are your thoughts on all this? What stands out to you about SDUI? Yeah.

Speaker 2:

And what kind of, like, benefits and challenges do you see for, you know, for your work or or for your industry?

Speaker 1:

Wow. That's a lot to think about.

Speaker 2:

Yeah. A lot to unpack for sure. Mhmm. This whole conversation, I mean, it really makes you think. What if, like, one day, most of an app's logic, the UI, all that stuff, lives on a server?

Speaker 2:

Do we even call them apps anymore?

Speaker 1:

Right. It's kinda like the lines are already getting kinda blurry, right, between apps and websites. I mean, look at those, what are they called?

Speaker 2:

Progressive web apps.

Speaker 1:

Those yeah. They're like app like experiences, but right there in your browser.

Speaker 2:

Exactly. So maybe we're moving towards a world where, like, traditional apps just, I don't know, disappear.

Speaker 1:

Yeah. What if and this is a bit out there, but what if your device, your phone or whatever, just becomes like a window to this huge network of services?

Speaker 2:

Mhmm.

Speaker 1:

And all those services are personalized. They're tailored to you, to what you're doing right then. No more app stores, no more downloads, just instant access to whatever you need.

Speaker 2:

Sounds pretty futuristic.

Speaker 1:

It does, but it's like SDUI's helping build that future. You know?

Speaker 2:

It's laying the groundwork.

Speaker 1:

Okay. So if this is the direction things are going, what does it mean for developers? Like, what skills are gonna be most valuable in this, like, server driven world?

Speaker 2:

Well, I think the old, like, front end, back end roles, those might start to, like, blend together.

Speaker 1:

Mhmm.

Speaker 2:

Developers are gonna need to know both sides really well, client side, server side. You know? Plus, they'll need a deep understanding of API design, how to manage data, all that.

Speaker 1:

And we can't forget about, you know, good user experience design. I mean, it's always gonna be important, right, to make intuitive, engaging interfaces even if the UI is, you know, dynamically generated.

Speaker 2:

Oh, for sure. UX designers are gonna have to think differently. It's not just static screens anymore. They'll have to consider how the interface adapts, how it changes based on, you know, what the user's doing, the data that's coming in.

Speaker 1:

Right. So it's a it's a whole new set of challenges.

Speaker 2:

It is. But I think it'll lead to some really amazing new user experiences too. We're gonna see some, like, really creative groundbreaking stuff.

Speaker 1:

Definitely. It's like we're on the edge of a a whole new era in software development. And SDUI, it's, like, one of the forces pushing us there.

Speaker 2:

I totally agree.

Speaker 1:

So to everyone listening, if you haven't already, I mean, seriously, go explore SDUI. Read about it. Try it out. See how you could use it in your own work.

Speaker 2:

Yeah. Jump in. It's an exciting field, lots to learn. And who knows? Maybe you'll build the next big thing.

Speaker 1:

It's a journey worth taking. I think the future of software, it's all about being dynamic, adaptable, personalized. And SDUI, it might just be the key.

Speaker 2:

It might just be.

Speaker 1:

Thanks for joining us today on this deep dive into server driven UI. Hope you found it insightful and are, you know, maybe even a little bit inspired. Until next time, keep exploring, keep learning, keep pushing the boundaries.

2024 Empower Finance