Skip to content
Episode 91

LivePerson

Your Host
Tags

About this Episode

It's another customer story - this time find out how LivePerson enables apps to talk with a live person in customer support scenarios.

Show Notes

Follow Us:

Transcript

00:00:10 Matt

Welcome back everyone to the Xamarin podcast, keeping you up to date with the latest and greatest in mobile development. For Xamarin developers, covering the world with xamarin.net, Azure and more. And today we have a special episode. I'm joined by Andreas Wilkins and Brad Dean from live person and we're going to talk about this cool app they made called.

00:00:30 Matt

Agent App

00:00:31 Matt

and I'm also joined by the person voted most likely to take my podcast hosting job one day.

00:00:37 Matt

Swiki Satpathy, swiki, how are you?

00:00:41 Sweeky

I'm so happy that you mentioned that in my intro I.

Read Full Transcript Hide Full Transcript

00:00:45 Sweeky

I mean, I knew you said people wanted me back, but I didn't realize they wanted me to host Alex Blount.

00:00:51 Sweeky

We need to talk.

00:00:53 Matt

Put it on your connect and that's what we have for Microsoft for for our reviews.

00:00:57 Matt

Put it on there so we voted most likely to take my job.

00:01:03 Matt

All right, so before we get too far into me and squeaky just talking Andreas, why don't you go ahead and introduce yourself a little bit and please tell us a little bit about Liveperson, 'cause this is just an interesting company and a very interesting.

00:01:17 Sweeky

Yep.

00:01:18 Andreas

Sure, anyone I miss Andreas Wilkins.

00:01:21 Andreas

I'm I'm very happy to be here.

00:01:22 Andreas

Thanks for the invitation I'm Chief Architect at live person and I'm I'm working with the principal engineers on for the specific services.

00:01:30 Sweeky

This.

00:01:32 Andreas

So the product we're having is called the conversational cloud and it consists of a lot of different.

00:01:38 Andreas

Micro services for specific tasks.

00:01:41 Andreas

So I'm I'm working with the with the engineers on the architectural side and on the innovation side.

00:01:49 Matt

I'm very cool.

00:01:50 Matt

I like I like the conversational cloud that sounds like a really interesting concept, which we'll explore a little bit more so, so Brad, before we get back into the conversational cloud.

00:01:56 Sweeky

Yeah.

00:02:01 Matt

Can you tell us a little bit about yourself?

00:02:03 Brad

Sure, so I'm Brad Dean.

00:02:05 Brad

I'm a Xamarin developer, SDE three at Life person and I'm responsible for writing code for.

00:02:13 Sweeky

Tab.

00:02:14 Matt

And Brad, we know we have a pretty cool story that we'll get to later in his podcast and really wild both speaking myself.

00:02:21 Matt

Andreas back to you, let's talk a little bit about live person.

00:02:24 Matt

I know especially about this agent app, but what it does specifically and how it really like now that we're kind of in the kovid age, how it helps out specifically with helping people with like customer service maybe?

00:02:38 Sweeky

Yeah.

00:02:39 Andreas

Yeah, sure, happy to do so.

00:02:41 Andreas

To give and give an overview.

00:02:42 Andreas

So a little bit back to the conversation Cloud.

00:02:45 Andreas

So the conversation Cloud is is a platform which enables brand to communicate with their customers synchronously.

00:02:50 Andreas

In a chat you know the typical web chat and.

00:02:54 Andreas

Through messaging with this uh, synchronously, which is WhatsApp, it's text messages and and some others. So what we have seen is.

00:03:05 Andreas

And it's not just just a coping thing, so it was the password.

00:03:08 Andreas

Kind of clear that conversations are going off the phone because customers are.

00:03:17 Andreas

We don't.

00:03:17 Andreas

Companies don't want to keep the customers waiting online and and going through all these kind of voicemail systems and menus so they can, they can.

00:03:25 Andreas

Get in front of an agent, which can be a bot agent with AI or a human agent if that's helpful.

00:03:32 Andreas

Just very very quickly to website, or they can even resume the conversation if they're already in a a talk with the with with an agent or representative and it could be for sales and could be for customer support so that that's pretty flexible and we're pretty proud to be a global leader in the conversational AI, so I know it's another conversational.

00:03:52 Andreas

Thing so it's all about the conversations and what conversational AI basically means is we want to we're dealing with humans, so we want to make sure that the convo.

00:04:02 Andreas

Stations are showing empathy and also we want to help the brands to professionally manage these conversations with bots with self learning bots with intent analytics.

00:04:14 Andreas

So it's it's a very very interesting concept.

00:04:15 Andreas

I can go on and talk for hours, but I think we only have 40 minutes or so so that's kind of a very high level overview and we're helping.

00:04:22 Andreas

With this conversational AI.

00:04:26 Andreas

Brands such as Delta Airlines or HSBC Chipotle, so there are very, very interesting use cases.

00:04:33 Andreas

Uh, maybe we can talk about, but expect to the Agent app so.

00:04:38 Andreas

What we have seen is that due to covid the the move the shift from from the typical boys called sender to to messaging was just accelerated.

00:04:50 Andreas

It would have happened anyway, but this accelerated.

00:04:54 Andreas

The transition and it's limited it, so we're pretty sure we're pretty confident this is going to stay because it's a very, very good and proven model where the customer has a lot of benefits and also the the actual company, so it's it's a really cool concept.

00:05:10 Andreas

So Fast forward what we have seen is in the.

00:05:14 Andreas

Traditional world, even the messaging agents were sitting in big contact centers.

00:05:21 Andreas

On the PC, on the Mac, whatever, and answering the conversations.

00:05:25 Andreas

So now with chobit.

00:05:28 Andreas

There was a shift to send this agent home and work from home.

00:05:33 Andreas

So basically work from everywhere to support this we had to create an application in a pretty.

00:05:42 Andreas

Short time frame, which allows nearly the same experience the same speed, the same benefits on a mobile device on a phone or tablet pretty quickly, so that's what the Agent app does.

00:05:54 Andreas

It's basically a mobile workspace for customer support Agent sales agent on the mobile device everywhere.

00:06:02 Andreas

In their pockets?

00:06:03 Andreas

That's that's it in a nutshell.

00:06:06 Matt

Then Brad, let's transition over to you and actually talk about the app a little bit.

00:06:10 Matt

Give me give me a real quick overview.

00:06:12 Matt

What the app, what it might, how it might work, and what what you built it in.

00:06:16 Matt

Of course, I'm I'm.

00:06:17 Matt

I'm going to guess it's Xamarin forms, but yeah, just give us a real quick view of what the app looks like.

00:06:22 Brad

So it is Xamarin forms.

00:06:23 Brad

Yeah, and when you it's an agent facing app.

00:06:29 Brad

So like Andrea says, it's it's conversational messages between agents and consumers.

00:06:36 Brad

And this is the app that faces a.

00:06:38 Brad

Chance so you log in and you'll immediately see a list of conversations that are ongoing and then as conversations come in, they immediately pop up and give you the option to answer them.

00:06:53 Brad

And when the apps in the background it'll give you push notification saying, hey, you have a.

00:06:59 Brad

New conversation that you need to answer or this ongoing conversation has a new message that you need to respond to and then we have options like you can transfer this conversation to another agent. Or you can send photos or files you know PDF's or Excel things like that.

00:07:18 Brad

And one thing that a lot of our customers do is you know you do.

00:07:22 Brad

You're constantly typing the same message over and over, so there'll be a lot of predefined content.

00:07:28 Brad

You know just things that you're always going to be saying like hello, my name is Matthew.

00:07:34 Brad

How can I help you today?

00:07:35 Brad

Things like that.

00:07:37 Sweeky

Uh.

00:07:37 Sweeky

'cause like that, that that's actually pretty exciting like chat apps are are the rage.

00:07:43 Sweeky

I want to say a lot of people are trying to implement some sort of, you know chat, talking social aspect to a lot of their apps.

00:07:51 Sweeky

Especially in sort of this, you know, Kovid world.

00:07:54 Sweeky

I'm sort of curious knowing that this is the requirements of your app.

00:07:58 Sweeky

How or what sort of pushed you towards picking Xamarin as your choice of technology?

00:08:04 Brad

So we actually did do a few POC's we we looked at flutter and we looked at react.

00:08:11 Brad

Native, I actually end up giving a talk at the Microsoft Alpha Retta Office on Flutter and just 'cause I had. You know, I wanted to share my experience with it, but the theteamknew.net so it seemed like a an easy win to to take that knowledge and not have to.

00:08:31 Brad

Re learn a new language.

00:08:33 Brad

And just, you know, I'm a huge fan of Xamarin.

00:08:36 Brad

I've I've been using Xamarin for a long time and I've been doing XAML.

00:08:43 Brad

Since.

00:08:43 Brad

You know, Silverlight, so there's definitely a lot of knowledge there and and you know, like you alluded to Matthew, we were talking about the story beforehand.

00:08:52 Brad

I had been doing a.

00:08:53 Brad

You know not related to live person, just to a side project a couple years ago I wrote a Xamarin app.

00:09:01 Brad

And then as I was releasing it to the App Store, I got a call from a health insurance company asking if they could buy it. And of course I sold it to them and with the money I got from that it was actually enough to to buy a 67 Porsche.

00:09:21 Brad

So you know.

00:09:23 Brad

Definitely appreciative to Xamarin for that I actually printed out.

00:09:27 Brad

Had a metal manufacturer make the Xamarin logo into a grille badge for the the back of the car.

00:09:36 Brad

So just I mean we love Xamarin.

00:09:38 Brad

It's worked really well.

00:09:39 Brad

You can just.

00:09:41 Brad

Really build up apps very quickly without having to have the two different iOS and Android teams, and that gave us such a leg up when we had such a short time span to make the app.

00:09:54 Andreas

Yeah, I wanted to mention this.

00:09:55 Andreas

Sorry so the time to market was very critical, so it's important that that you serve.

00:10:02 Andreas

Android and iOS, and I like it that that's a shared codebase, so we don't have to work.

00:10:09 Andreas

Have double of the effort that will double up the work to do there, and, uh, spread mentioned.

00:10:14 Andreas

It was a very very, very tough time frame because.

00:10:19 Andreas

The business scaled up really, really massively.

00:10:22 Andreas

I'm driven by by the shift to the to the messaging and closing of call centers, so we had to.

00:10:28 Andreas

We had to deliver something very very fast, but with in high quality.

00:10:32 Andreas

So this was was pretty perfect to land.

00:10:35 Andreas

I'm happy that we worked in Xamarin before, so we had a pretty good head start.

00:10:40 Andreas

So we worked on a on a different app for the automotive Division of Life person before so we could just transition over, get started and get it going and it was really, really fast.

00:10:50 Andreas

I think it took 6 to 8 weeks from from the idea to the release of.

00:10:55 Andreas

The initial MVP product and it was very very stable.

00:11:00 Andreas

No customer complaints.

00:11:02 Andreas

It just just worked.

00:11:03 Andreas

Was very very smoothly.

00:11:04 Andreas

So I was.

00:11:05 Andreas

I was very very happy, doesn't success.

00:11:08 Matt

Wow, that is very fast.

00:11:09 Matt

6 to 8 weeks and so I guess during that time then you're using what I'll call vanilla Xamarin forms.

00:11:17 Matt

Or did you have to go down a drop down and create any custom renderers or anything?

00:11:21 Matt

I guess what was?

00:11:23 Sweeky

Did you?

00:11:24 Matt

Did you run?

00:11:25 Sweeky

I.

00:11:25 Matt

Into any problems with Xamarin forms I guess is the what the question I'm asking.

00:11:30 Brad

Uhm, yeah we.

00:11:32 Brad

I wouldn't say problems the we use web sockets for the communication so you know obviously still rest APIs.

00:11:41 Brad

But the the actual real time communication is web sockets which has worked fine for our.

00:11:49 Brad

You know the web based component we the Agent app is the mobile side and then on the web we call it Agent Workspace.

00:11:57 Brad

But on the mobile app we found every time the app goes to the background we have to kill the web socket connection or our back end service doesn't know to send push notifica.

00:12:08 Brad

Options so then every time the app comes back to the foreground we have to reestablish that Websocket connection, and it's not a quick process.

00:12:19 Brad

And then to make it even more fun.

00:12:22 Brad

Xamarin doesn't support Websockets, so the dot NET Framework does but not on Xamarin so.

00:12:33 Brad

You know there is a websocket Nu get package, but it's not really up to date.

00:12:41 Brad

I mean it hasn't been published in several years, and there's several Forks of it, but.

00:12:48 Brad

You know there's several Forks of it, and each one of those has 30 or 40 open issues and several pull requests that haven't been responded to, so it's just, I mean websockets is not a fun thing to do on Xamarin.

00:13:04 Brad

Uhm?

00:13:05 Brad

So that was our initial, uh, of Hiccup and I.

00:13:09 Brad

I think that took the first couple of weeks, I think.

00:13:15 Brad

But it it obviously it did eventually work.

00:13:18 Brad

And we got it going.

00:13:21 Brad

But other than that, I I don't think we're using many.

00:13:25 Brad

You know custom iOS and Android renderers, and we had to use custom web views for video.

00:13:34 Brad

We're doing web RTC for video and so each of those requires a custom renderer and we have a long press renderer.

00:13:45 Brad

But that's you know, that's that's a tiny little thing.

00:13:48 Brad

Other than that, you know you really get a lot of use out of just custom components in XAML and it's.

00:13:55 Brad

It's not like it was a couple of years ago when you really had to drop down to the custom renderers.

00:14:01 Brad

You just don't need to do that much anymore.

00:14:04 Sweeky

Right, right, that was that was actually going to be my question.

00:14:06 Sweeky

So since you've said there's not a lot of you know native renderers or any custom renderers in each class.

00:14:12 Sweeky

Come on, this is like so just I'm.

00:14:16 Sweeky

I'm guessing here.

00:14:17 Sweeky

Feel free to correct me.

00:14:18 Sweeky

So the UI it's the chat UI so we're talking about chat bubbles, avatar icons I guess profile pages.

00:14:27 Sweeky

So like how was your experience?

00:14:30 Sweeky

Sort of having to design all these types of you know?

00:14:33 Sweeky

UI elements that forms was it like.

00:14:36 Sweeky

Did you enjoy the process?

00:14:37 Sweeky

Did you use any of our fun new tooling, hot reload or restart?

00:14:42 Sweeky

How?

00:14:42 Sweeky

How was that?

00:14:44 Brad

OK, well first of all I cheated.

00:14:46 Brad

And I convinced Andreas to pay for Syncfusion.

00:14:51 Brad

So we got the the Avatar view and they actually have a chat control which gives you the little.

00:14:52 Sweeky

Got it.

00:14:52 Sweeky

It.

00:14:59 Brad

Rounded chat, bubble icon and everything like that, so that saved us a ton of time and I'm really happy with their controls and hot reload.

00:15:12 Brad

Is amazing compared to where it is.

00:15:16 Brad

I mean the initial version of Xamarin forms when it just had a couple of controls.

00:15:22 Brad

Uhm Hot Reload came out and it was so frustrating.

00:15:28 Brad

Uhm?

00:15:29 Brad

And it's funny, you know you.

00:15:31 Brad

You said you're gonna ask like my biggest issue with Xamarin.

00:15:36 Brad

And, uh, my will say one of the biggest issues right now is we have hot reload but only for XAML.

00:15:42 Brad

And if you play around with React native.

00:15:45 Brad

They've got hot reload for, you know, even the code, not just the UI, and we don't have that yet.

00:15:51 Brad

You know you you change your view models and you've got to restart the whole thing, but then you look at Maui.

00:15:57 Brad

And you're like, oh OK, well I can't really complain 'cause it's coming.

00:16:01 Sweeky

I was just about to say that.

00:16:01 Sweeky

Yeah.

00:16:02 Matt

Oh, so that's really cool, Brad.

00:16:04 Matt

So you mentioned there's video in there, which is really neat that you're doing.

00:16:08 Matt

You know, real time video over the top so that I assume that's all with the.

00:16:11 Matt

You know this still the same deal where people can actually go and talk with agents as well.

00:16:17 Matt

That that that couldn't be easy I I've tried doing it's RTMP you said.

00:16:23 Brad

It's web RTC and it was interesting because iOS doesn't support in iOS.

00:16:31 Brad

Uh, let me see if I get this right.

00:16:33 Brad

I've got a blog post up on it because it took us so much research.

00:16:38 Brad

So iOS 12 does not support web RTC at all.

00:16:42 Brad

iOS 13 supports web RTC, but only in Safari.

00:16:48 Brad

Sorry.

00:16:49 Brad

So it's not supported in the UI web view, and of course not in the web view at all.

00:16:57 Brad

But if you're trying to use Webct in a UI web view, you cannot use it.

00:17:03 Brad

You have to use an SF Safari view controller.

00:17:08 Brad

But the problem with that is you don't really get the events in SF Safari View Controller and the default you know the view when you use Xamarin Essentials and then open the view controller is it's full screen.

00:17:24 Brad

I mean, so when we're doing video calling, we really don't have nearly as much control over the application at that point as we'd like to, and one of the main feature requests we get is OK, this is awesome.

00:17:40 Brad

We can do video the the use case we get is.

00:17:44 Brad

You know, we've got this major telecom provider and a lot of their stores right now are either in lockdown or just, you know, limited capacity.

00:17:53 Brad

So they have a customer message in and you can show them the phones over video and then they you know once the customer says, yeah, I love that.

00:18:03 Brad

So I wanna come in and buy it then great, but they want to be able to show the phone in a video and also still continue to chat with the customer and they can't do that because the the phones locked out by video.

00:18:13 Brad

There's no keyboard access.

00:18:14 Brad

There's no little text message box.

00:18:16 Brad

And on Android we can do that.

00:18:18 Brad

We can show half and half.

00:18:20 Brad

On iOS, there's.

00:18:21 Brad

There's just no way to do that, and we think we can get around that in the future, but we we're not quite sure it's it's a very tricky thing.

00:18:31 Brad

Dale UM.

00:18:33 Brad

And maybe in iOS 15 we'll get web RTC support in UI Webview, but you just never know with Apple.

00:18:44 Andreas

And The thing is, with the web RTC we we we have a video service on inside the conversation cloud and it was important to have it as friction free as possible.

00:18:56 Andreas

So an agent.

00:18:58 Andreas

Needs to be able to work on the Agent Workspace, which is the desktop version on the mobile.

00:19:03 Andreas

Use the same service every conversation goes into the same data store and on the customer side.

00:19:09 Andreas

It's important that there's no app to download, nothing and it should be agnostic of any device, so you press the button you check with the agent or methods with the agent.

00:19:18 Andreas

And then at some point the agents wants to show you.

00:19:20 Andreas

Let's say the phone and you can invite you easily, very, very seamlessly into a video conversation.

00:19:26 Andreas

You accept for privacy reasons, to grant the access, but that's that no install, no third party components, nothing doesn't matter if it's iPhone or or Android, and that that was kind of the the tricky part, but for us it was very, very important.

00:19:40 Andreas

It's a it's a seamless.

00:19:41 Andreas

With customer experience and for the agent, they used the same same way to initiate the conversations on the desktop and on the mobile device.

00:19:50 Sweeky

That's awesome, I really.

00:19:52 Sweeky

I love it when companies always try to like sort of create that seamless.

00:19:56 Sweeky

You know transition between their products and I'm pretty sure all your customers are really appreciate the effort that's being put into this.

00:20:04 Sweeky

So, Brad, you mentioned for this particular video player use case so you have a blog post already.

00:20:10 Sweeky

With your initial I guess findings is the plan as you try and fix the second half of the problem, can we expect more blog posts on how the rest of the Community can do it?

00:20:20 Sweeky

This.

00:20:21 Brad

Yeah, Andreas has been really supportive of sharing knowledge, so I've been trying to write blog posts.

00:20:29 Brad

As we've been learning, you know things like this about web RTC, and I've got one about a security change and there's a a default setting in Xamarin.

00:20:41 Brad

Or

00:20:42 Brad

I forgot it was some some Android HTTP setting that our security team thought should be changed, but then also things like we use Flurry for analytics and you know we needed to create the.

00:20:56 Brad

You know the native bindings 'cause they didn't have a Xamarin SDK, so we created Nu get packages for us to use internally and we thought you know what we might as well publish these so that anybody else that wants to use this and is using Xamarin can can do that.

00:21:13 Brad

And so we're in the process of we've already got a life.

00:21:16 Brad

Person GitHub we might as well publish.

00:21:19 Brad

Life person Nu get packages for these things.

00:21:22 Brad

So we're going to do that for that.

00:21:24 Brad

And then we're also going to publish a life person API.

00:21:28 Brad

I'm sorry.

00:21:29 Brad

Live person SDK to use our our messaging.

00:21:33 Brad

For xamarin.

00:21:34 Sweeky

That's awesome, that's so good Matt.

00:21:36 Sweeky

Look, who says like I mean not?

00:21:38 Sweeky

Who says?

00:21:39 Sweeky

I keep telling everybody I meet how awesome this Tavern community is.

00:21:43 Sweeky

They just look at this so great.

00:21:45 Matt

I also say that all the time this week is that Xamarin has one of the best communities.

00:21:48 Matt

I mean, you just have to go back to evolve a couple of years ago and see how passionate that was and.

00:21:54 Sweeky

Yeah.

00:21:54 Sweeky

Yeah.

00:21:56 Matt

We have people putting on their Porsches, Xamarin logos on the grill.

00:22:01 Matt

I mean, that's passionate.

00:22:03 Matt

And no, but it's.

00:22:05 Andreas

That's the cool thing is Xamarin developers drive Porsches?

00:22:08 Andreas

That's another good success.

00:22:11 Sweeky

It is great great.

00:22:13 Matt

That's the key though.

00:22:14 Matt

Yeah, Xamarin developers can drive Porsches, but it it totally is is that when we see companies being supportive of the open source.

00:22:23 Matt

World and be able to put packages that their employees have worked on for when I'm gonna put air quotes around real work and be able to support the community that way.

00:22:32 Matt

That's that's amazing.

00:22:34 Matt

Yeah, I mean, the whole Xamarin ecosystem though is better for it.

00:22:34 Sweeky

Yeah.

00:22:34 Sweeky

00:22:38 Matt

And so and thank you, Brad and Andreas or being for doing that Xamarin.

00:22:43 Matt

Folks like to help other Xamarin folks out.

00:22:45 Sweeky

Yep, Yep.

00:22:45 Sweeky

00:22:45 Sweeky

Yep, Yep I'm lowkey.

00:22:47 Sweeky

Kinda just feeling like I I have tons of stickers on my laptops and have badges on my bag.

00:22:51 Sweeky

Nothing compares to a Porsche grill so I'm just trying to up my game as one could say.

00:22:57 Sweeky

Yeah.

00:22:58

Uh.

00:22:59 Andreas

Like you need to send it.

00:23:00 Andreas

Sending a photo of it.

00:23:01 Andreas

It's pretty cool.

00:23:03 Sweeky

Watch out for this space wiki.

00:23:05 Sweeky

Comes back with some amazing new swag.

00:23:10 Matt

Oh, so I guess Brad, what are you?

00:23:14 Matt

We we might have touched on it already, but what are you most proud of for this whole application that you built up in 6 to 8 weeks?

00:23:20 Matt

Which is amazing in itself, but.

00:23:23 Brad

The the timeline definitely I I think I'm I'm proud of UM.

00:23:29 Brad

It was a lot of work and.

00:23:33 Brad

You know we were very tired at the end of it.

00:23:37 Brad

But you know, we got a lot of support from from Andreas and just from Liveperson as a whole.

00:23:44 Brad

You know they they paid for my meals during that that 6 to 8 weeks that a very very supportive company it was, you know it was fun.

00:23:54 Brad

It was a lot of work but it was a lot of fun.

00:23:56 Brad

Gonna say I'm very proud of the video, just figuring out the technical challenges like that.

00:24:04 Brad

I I always really love a technical challenge that you can just sink your teeth into and it was also one of those things where.

00:24:11 Brad

Yeah, like Andre said in the beginning we we run a lot of microservices, so it was one of those things where you have to talk with the Seattle team and find out how the back end service works.

00:24:23 Brad

Then you have to talk to the Germany team and find out how the video service works and then you have to figure out how you're going to do your.

00:24:31 Brad

Brand and I'm here in Atlanta so you've got you know all these multiple time zones going on and it's all these different Slack meetings and that makes it interesting.

00:24:41 Brad

It's not just the technology, but it's the the people.

00:24:45 Brad

And I I was proud of that that we got it working and it's one of the more popular features.

00:24:51 Brad

Because it's one of those things that you can only do on mobile, you can't on desktop.

00:24:57 Brad

Pick up an application and show a customer you know.

00:25:01 Brad

Here's our phone or here's our fridge and then walk around it and sell them that product.

00:25:08 Andreas

OK, what what Brett says.

00:25:11 Andreas

What was really amazing for me was was the teamwork within the company.

00:25:15 Andreas

So you have these service owners so one owner owns the video service so we went there and say hey we want to implement it into the mobile film.

00:25:24 Andreas

And we hit several several issues or just just impediment and quality issues.

00:25:30 Andreas

So something has to be modified there and.

00:25:35 Andreas

They just work with us and they get back to it.

00:25:37 Andreas

We were playing around this.

00:25:39 Andreas

OK yeah tomorrow you get a new release, let let's figure it out.

00:25:42 Andreas

OK we check which we tried so it's a very very great teamwork.

00:25:46 Andreas

Besides their normal they they work for for calling the road map.

00:25:51 Andreas

They were modifying and adopting the video service so it can work with a web RTC view on the mobile phone.

00:26:00 Andreas

This was really really cool and the other thing was really exciting is.

00:26:06 Andreas

We just had we had the mobile developer team, but we need to have a very very solid QA team and a QA plan.

00:26:13 Andreas

So we were just reaching out and asking for help and nearly right away we get help from from a great team in Israel and in our company say hey yeah, we're going to do it and we and you have a test plan.

00:26:26 Andreas

Oh no not yet.

00:26:28 Andreas

OK, I'm going to write one so it was really really hand in hand and it was awesome to see.

00:26:29 Sweeky

Miss.

00:26:33 Andreas

The people.

00:26:35 Andreas

Uhm, we're really passionate about it, so there was a lot of workload.

00:26:39 Andreas

Is that on top of the normal?

00:26:41 Andreas

They work.

00:26:42 Andreas

They did it after I was late on the weekends, but we all had a lot of fun and then the outcome is really, really speaking for itself, so I think.

00:26:51 Andreas

We had one bug because this covered by customer and was a smaller one, but that's it.

00:26:57 Andreas

So it was was really really cool.

00:26:59 Andreas

So no, no that's not my job kind of thing.

00:27:01 Andreas

Everybody was so excited.

00:27:03 Andreas

Everybody was working on it in their in their free time and.

00:27:06 Andreas

To make it happen, and I was very, very pleased to see this commitment and everybody did it because they wanted.

00:27:13 Andreas

So starting with Brett for sure.

00:27:14 Andreas

He was like he was thrown model for it and showing and this this.

00:27:18 Andreas

This caused some kind of traction and just motivated the other people to to go go go there and they said they had a lot of fun and everybody.

00:27:26 Andreas

Really proud of it.

00:27:28 Andreas

So that was my kind of success.

00:27:30 Andreas

My my my thing I'm really proud of.

00:27:32 Andreas

It's it's the people, the people in the company, the teamwork with spirit, and it's really really cool.

00:27:38 Sweeky

For sure, what's it?

00:27:39 Sweeky

Teamwork makes the dream work.

00:27:42 Andreas

That's right.

00:27:43 Sweeky

100% true.

00:27:44 Sweeky

Yep, I also just want to shout out.

00:27:46 Sweeky

I love the fact that you guys have a solid QA plan that you know you came up with it and you QA did.

00:27:51 Sweeky

I'm a sucker for a great testing story so you get you get my extra thumbs up for that.

00:27:58 Andreas

Thank you.

00:27:59 Matt

Swiecie is like the expert on testing.

00:28:02 Matt

I personally haven't written a unit test in my life, so.

00:28:06 Sweeky

I wouldn't say I'm the expert.

00:28:07 Matt

Job.

00:28:08 Sweeky

Expert, I'm more of that annoying voice at the back of your head that reminds you that hey, have you written a test or this will hurt you later on?

00:28:18 Matt

Well, speaking about that though, Brad, did you guys write a whole suite of unit test?

00:28:22 Matt

I mean, what was the plan for that?

00:28:26 Brad

So.

00:28:26 Brad

So we rely on App Center a lot.

00:28:31 Brad

I I will say we probably don't have as many as Swiki would like.

00:28:37 Sweeky

Yeah.

00:28:37 Brad

Or even Andreas yeah, yeah, but it it has saved us already.

00:28:42 Brad

I I do remember we had one point where.

00:28:45 Brad

Everything was running fine as far as the developers were concerned.

00:28:48 Brad

And.

00:28:49 Brad

And App Center started complaining and refused to build.

00:28:53 Brad

So we've got a complete CI CD pipeline where when we check into the dev branch you know we check in through a, you know GitHub flow, so we'll create a branch where request, uh, PR app center will do its thing.

00:29:10 Brad

Test on a virtual device and then say yeah, you're good to to merge.

00:29:15 Brad

And then we dive.

00:29:17 Brad

We merge from there into the master branch and and then if that goes well then that goes off to the App Store and Play Store.

00:29:27 Brad

And so it actually stopped and app Center said now this isn't running on a physical device and it turned out there had been in.

00:29:36 Brad

Android update and it worked fine all the way up to the physical device and for some reason it was causing the app to crash on start.

00:29:47 Brad

Worked fine for some reason on all of our devices when we ran in debug mode.

00:29:55 Sweeky

Right?

00:29:55 Brad

But yeah, it it saved us just by having that Xamarin UI test project and we were able to figure it out before we deployed to.

00:30:04 Brad

You know, it would have gone just to the the test environment and then QA would have caught it.

00:30:08 Brad

But still it's it's always nice to catch it before it gets to that point.

00:30:13 Sweeky

100 percent 100% Yes UI.

00:30:15 Sweeky

Test saves the day, yeah?

00:30:18 Brad

The the next step for us is our QA engineer is saying you know how do I learn how to write the tests for App Center?

00:30:29 Brad

She's like it would save so much time if I'm the one writing those and then all these manual tests that I'm doing.

00:30:36 Brad

I can just automate half of my job and I'm like, yeah, that sounds great.

00:30:42 Sweeky

Yeah.

00:30:44 Andreas

Yeah, we're pretty big on quality and and and security stuff, so that that's really interesting.

00:30:49 Andreas

And and and and test automation.

00:30:51 Andreas

I have one story which is kind of related where which was eye opening to me when before we released and so we had to make sure we we wanted to make and had to make sure the quality is.

00:31:02 Andreas

At the standards they have to beat so enterprise grade quality.

00:31:06 Andreas

We couldn't sacrifice any any any quality or really something which is which is not sorely tested and the second thing is we couldn't sacrifice the security.

00:31:14 Andreas

So that was another cool thing we we hired.

00:31:16 Andreas

An external security testing company who tear the whole thing apart and what what what they found initially we get the report say huh?

00:31:25 Andreas

It's a little bit.

00:31:26 Andreas

This is a little bit.

00:31:26 Andreas

00:31:27 Andreas

Picky maybe, but let's hop on a call and explain.

00:31:32 Andreas

So they were explaining ways how.

00:31:36 Andreas

Security could be breached when when you store credentials.

00:31:42 Andreas

In the key chain and things like that, and they even showed it and I was curious, say hey, show me, show me how this works and it was incredible.

00:31:49 Andreas

I've never seen how people do the security test and also this company would be told them.

00:31:54 Andreas

Hey, in two weeks you need to get it done, but you need to get it done very very carefully and they said, yeah OK, we're going to do it so I'm very very cool company.

00:32:04 Andreas

I think the company was called website, right?

00:32:06 Brad

I think so, yeah.

00:32:08 Andreas

OK, very cool.

00:32:09 Andreas

This was very very eye opening so learned a lot.

00:32:13 Matt

And security is one thing that you never want to, I guess miss out on because everything is cool until you miss it and then everything is very bad.

00:32:22 Sweeky

Yeah.

00:32:23 Andreas

Yeah, yeah, so there was no way to release it without the blessing from the internal security team and the and external testing company, which which is really appreciated.

00:32:33 Andreas

So this was pretty good.

00:32:35 Andreas

Very very interesting.

00:32:35 Sweeky

Like this?

00:32:36 Matt

So, so Brad, what's next for the app?

00:32:39 Matt

I mean, are you guys still iterating on it or we are?

00:32:43 Brad

So the initial version was, you know, senior conversations respond to conversations and.

00:32:52 Brad

You know the the very basics of what an agent needs.

00:32:56 Brad

You know the the call center employee.

00:32:59 Brad

But on the web experience, there's a lot more features.

00:33:04 Brad

They have the ability to see the call center analytics, see how their agents are doing, view the status of a queue, and manage the employees and even look at you know we have a lot of AI.

00:33:19 Brad

Functionality, a lot of bot functionality, things like that.

00:33:23 Brad

So our goal is to reach feature parity with the web version and how we're going to do that because.

00:33:30 Brad

You know there's not a ton of real estate on a phone is we're working towards when you log in on a tablet it shows you a lot more experience.

00:33:40 Brad

So that's our road map is just feature parity.

00:33:43 Sweeky

Do you feel like with the recent updates with Xamarin with all the new community toolkit stuff, are you feeling empowered, inspired for these upcoming features?

00:33:54 Sweeky

They're going to add?

00:33:56 Brad

Yeah, I think so. The the upgrade for us from 4.8 to 5 wasn't too bad. We were using both of the experimental features for media and expander so we had to to rename those gotcha. It wasn't too bad.

00:34:13 Sweeky

Good to hear, good to hear.

00:34:15 Sweeky

We hear mixed Lanegan have mixed.

00:34:18 Sweeky

I hear certain types of stories, but good to hear.

00:34:20 Sweeky

Your transition was great.

00:34:23 Matt

So are you planning on moving up to Maui as soon as you can, or are you going to take a wait and see approach?

00:34:29 Brad

You know, I don't know that we'll do it as soon as we can, but I really don't like.

00:34:33 Brad

Like, uh, you know, delaying the the problem with delaying is if you wait too long then you get. In this situation where it's been six months and now you've got, you know this backlog of OK, I've got 37 Nu get packages and I need to update them all.

00:34:53 Brad

And that's a very dangerous position to be in.

00:34:56 Brad

It's just.

00:34:58 Brad

Yeah, I, I think we'll update as as soon as we reasonably can.

00:35:04 Brad

Uhm, and from what I can tell, it's.

00:35:08 Brad

You know it. It seems scary because you're going from Xamarin forms to Maui, but I think it's less scary if you think of it as I'm going from 5.0 to 6 and and then it's not as bad. So I I think what we'll do is we'll do POC's as the the Maui early releases come out.

00:35:28 Brad

And then we'll kind of gauge how well it goes, and then hopefully it won't be too bad for us.

00:35:35 Matt

Right, and as you go, and this goes for all our listeners too.

00:35:38 Matt

Is let us know how your policies are going and you know ping David or now on Twitter he loves to hear all the feedback.

00:35:46 Sweeky

Oh yeah.

00:35:47 Matt

And on GitHub too.

00:35:48 Matt

So I mean, just let us know how it's going and you know and we the feedback helps more than anything so.

00:35:53 Sweeky

For sure for sure, actually just for David, I have a fun question for both Brad and Andreas, what would you be?

00:35:55 Sweeky

I.

00:35:55 Sweeky

00:36:02 Sweeky

What like I'm I'm your genie.

00:36:04 Sweeky

I give you one wish.

00:36:05 Sweeky

You get to ask David what would you want to see in Maui?

00:36:11 Brad

Oh, can I?

00:36:15 Sweeky

Just one I don't want him to hate me.

00:36:15 Brad

I asked for the new logo.

00:36:20 Sweeky

That's valid, that's valid Andreas, what about you?

00:36:23 Andreas

It is very hard to say I'm more people person so I would love to have a have a clone breath button in there so I feel fresh.

00:36:29 Brad

Yeah.

00:36:34 Sweeky

OK David, you have it from milk from your favorite customers.

00:36:38 Sweeky

That's what they want.

00:36:39 Matt

Well, Brad and Andreas thank you so much for joining us and swiki.

00:36:40 Matt

Thank you as always.

00:36:41 Matt

This is this has been a really fun episode.

00:36:43 Matt

Thank you very much.

00:36:43 Matt

I really appreciate it.

00:36:45 Matt

This has been the Xamarin podcast.

Download Transcript