>> Hey, there. Seth Juarez here
with another episode of CodeStories.
We're here in Johannesburg, South Africa
to talk to David, CEO of ComUnity
to see what he's doing locally with Azure. Let's check it out.
[MUSIC]
>> Hello, my friend.
>> Hey, Seth. Welcome to South Africa.
>> Thank you so much.
Tell us who you are and what you do, my friend.
>> I'm David Prosser.
I'm the CEO and Founder of ComUnity.
We build a rapid digitization platform
that runs on Microsoft Azure.
>> I heard a little bit about this town called Knysna
that used your platform during a particularly difficult time.
Tell us about that.
>> Yeah, Knysna built a digital system
that runs on the ComUnity platform,
and they faced a massive disaster where they had huge bush fires.
The ComUnity platform was used by the town of Knysna
to manage that disaster
and manage the way that they saved lives
and manage the relief effort.
[MUSIC]
>> Hi there. My name is Graeme Huddy.
I'm the IT Manager at Knysna municipality.
The town of Knysna is
in the Garden Route in the Western Cape of South Africa.
We're located at about 500 kilometers to the East of Cape Town
and about 1,000 kilometers away from Joburg.
About 70,000 residents.
We're a small town and a small ComUnity.
>> Can you tell me a little bit about some of
the challenges that the ComUnity platform
was supposed to solve for you?
>> Initially, the app was used for communicating news and quoting
things like portals and other information to our citizens,
but it has evolved into something a little bit more complex.
>> Some other ComUnity folks were telling me here about
this disaster that happened in Knysna and how the platform helped.
Can you tell us a little about what happened?
>> Essentially, in June 2017,
we had a large fire that
originated about 30 kilometers
away from the town in the mountains,
and with winds of about 100 kilometers an hour,
the firestorm just got blown straight towards the town.
The town does sit in ball around a lagoon surrounded by forests,
so it seems that the town got cut off from the outside world.
The highway on both sides was cut off,
communications were affected, cellular networks, electricity,
and the ComUnity platform was used as a key tool
in communicating with our citizens in managing the disaster.
We're able to do general broadcast communications
to our citizens and we received the feedback in private,
so that if there is information
that differs on the ground to what we know,
we can still receive it and we can update
our comms and send out a communication.
In addition, we can also do targeted messages.
So we could pick particular suburbs that needed to evacuate,
and through those targeted messages,
you could really focus on the citizens that
needed to receive the communications most.
It's not just the initial disaster
whilst our fire burned for up to a week.
You have the initial event and then you have the aftermath.
With the app, really started coming forth in the aftermath.
>> Can you give me a real life human example
of how people were affected
by the fires and how the platform
helped out during the situation of crisis?
>> The fire resulted in over a thousand households
losing their homes in the town.
In a 70,000 population,
a 1,000 households is a very large percentage of our population.
What that brought with it was a lot of
social relief issues that we as a municipality,
we're not equipped to deal with.
Two ways that the app was used is, one, obviously,
to communicate ComUnity meetings and
updates for the face to face communication.
But another way we used it was to actually
built a humanitarian relief module within the platform,
which we managed to go from
idea phase whiteboard to production in under two weeks.
The idea was we had many NGOs,
different departments come into town,
and each with their own particular service
they wanted to provide to support our citizens.
We were able to build a module where we could actually log
the relief that was provided to those citizens.
Some background into my department.
At the time of the disaster, there was a total of nine of us,
nine members of the staff in my department,
not a single developer.
I had connectivity for my whole organization,
350 users, 50 locations.
I had three 10 meg ADSL lines.
>> That was it. During the fire,
did any of these go out?
>> On the night of the fire, I
had my ISDN lines which run my telephone network were down,
and I had one 10 meg ADSL line that was left.
In order to build a emergency call center,
I bought two Scup phone numbers
and set up a call center in the middle of the night.
The first thing the next morning,
I went to the local shop and bought
five cell phones and got those numbers up
as emergency phone numbers.
>> The people that needed the services
that they needed during this disaster were able to get them;
even though the services that you had went down,
you were able to dynamically change all of this pretty quickly.
[MUSIC]
>> I heard a little bit about Knysna,
but I was hoping you could fill in maybe some
of the more of the story for me.
>> Yeah. As, of course, you know,
one of the real benefits of having
a low code platform is that it's
very quick to make changes to the system.
The system that was deployed at Knysna,
it was a typical citizen engagement platform.
Citizens were able to access their various services,
log complaints, log faults, etc.
But of course, these terrible fires broke out and we were very
quickly able to change
their entire interface to almost
become a disaster management system.
They had problems where the land lines, went down.
I were able to very quickly publish through the app
what the emergency numbers were to
start creating functionality to
report where incidents were happening,
and then to manage the aftermath of a disaster like those fires.
Where we've got to manage people who need food and shelter,
etc, and that was all we were very
quickly able to deliver that through the platform.
>> You're telling me that during this disaster,
they were able to pivot
their entire applications to service this need right away?
>> Literally in real time,
our team is working on the application.
The minute the disaster broke out,
we were going into the toolkit, making the changes,
pushing those changes through to production,
getting those services and
capabilities into the citizens hands literally within hours.
>> You've described a lot of
interesting functionality that was
able to be deployed really quickly.
Can you show me how this was done?
>> Yes, sure. As of the first thing,
the ComUnity platform is available through the Azure Marketplace.
So as a user,
you would come in and one of the options is to deploy
the ComUnity platform through the Azure Marketplace.
We also do have a multi-tenant model where
you can literally just come and start using the platform.
Of course, once the platform is deployed, as a developer,
you need to now start getting into the tools
and customizing and configuring.
For that, we go into our ComUnity platform toolkit,
and this is rarely the IDE for
the ComUnity platform where they
would actually develop the project.
Here, we're looking at the Landing page for a project as this
is a low code project closely associated with Visual Studio.
As you start building out the project,
it's ultimately generating the code in Visual Studio,
Entity Framework, Code First,
and once you've done all that work,
you can go ahead and publish.
The platform then takes care of all that hard work around
publishing all these various assets into the platform,
deploying the data services,
deploying the SQL schema into SQL Azure, etc.
>> When you push that Publish button,
it sends it out to a website and do all of
the phone applications as well?
>> Correct. Here is the platform
actually auto bolts all the native applications
for all versions of iOS,
all versions of Android.
Here we have a version running on Android.
This is the actual Production Knysna application,
and even these feature phones that this is a native application,
Java Micro running on the old feature phones,
the old Nokias, etc.
>> You mentioned that you had to make some quick changes for
Knysna to be able to empower them during this disaster.
Can you show us how those changes were made here?
>> You would set up the templates of your communication.
The end-user them-self is able to
choose which channels they want to be communicated on.
We then go out and add
essentially these event handlers
so when somebody logs a new fault,
we wire in what channels they can be contacted on.
In a particular channel, you can go in and set up
what the template is going to be for that message.
Then very quickly, again,
using a low code or no code model in this case,
you are able to wire in communications across multiple channels.
>> Can you show me what Knysna did on their phones?
>> Yeah, sure. I'm showing you
the live application natively running on Android.
This is the Production Knysna application, here is the news,
they're very proactive around keeping
its citizens informed around news,
notifications around any service delivery issues, etc,
and the ability to list faults, log faults, etc.
>> What about the feature phones?
>> Yes, sure. Here I've got
exactly the same application for Knysna.
We're very excited about the ability to
deliver applications on these feature phones.
This is a native application running Java Micro on these devices,
this is the Knysna Production application.
It's running exactly the same sets of services.
So here we're looking at the News application.
Of course, these feature phones do have
some features which are not available on all devices.
This device may not support GPS, for example,
so the platform gracefully degrades those kind of services,
and we're delivering the services
to citizens who normally wouldn't
get extra such digital capabilities.
>> This is all built on Azure?
Can you describe what part of Azure you're using?
>> Yeah, so the ComUnity platform,
basically, this is a plane on top of Azure.
We're leveraging a number of the services below.
We're using the Azure infrastructure services
to deploy the services and micro services.
We use SQL Azure as the primary data store.
We're using Blob Storage for things like media, Table Storage,
we're using components such as
Logic Apps to do some of the workflow top work.
Then we're leveraging some of the dev capabilities,
we're using Azure DevOps,
and the Bolt Pop-plans to
automate all the client bolts for Android,
iOS, for the Java and Micro, etc,
the web deployments, and various other components.
We're using a lot of the monitoring capabilities
which we surface up through the platform.
[MUSIC]
>> The last question I wanted to ask is, obviously,
your municipality had established processes and rules.
How did you tie those in to the ComUnity platform?
>> That's one of the biggest challenges with the platform,
is that sometimes, the technology
is moving faster than the working bits in the background.
We're still in that learning curve.
I think the key was the rapid deployments,
the ability to be agile,
and obviously, it's available in everywhere.
>> Well, thank you so much for spending some time with us.
This is a very powerful way that you're using
digital transformation to really empower your citizens,
as well as your municipality do amazing things. Thanks so much.
>> Pleasure. Thank you for having me.
[MUSIC]
>> All right. That was amazing.
We talked to the CEO, CTO,
and an actual municipality using
the ComUnity platform that works on top of Azure.
What an amazing story.
This and other CodeStories are online.
Make sure you check them out. See you later.
[MUSIC]