Episode 91
LivePerson
April 23rd, 2021
37 mins 2 secs
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.