>> Hello and welcome to this video,
in which I will talk about
a unique way to showcase your IP
and allow potential customers to take
your app on AppSource for a test drive.
I want to give a shout out to
Mike Glue from IndustryBuilt Software
who has created a lot of the content to this video,
and he's helped me out tremendously for the content.
So, thanks Mike for your help.
My name is Daniel Rimmelzwaan,
and I am a partner with Cloud Ready Software,
one of the ISV development centers
who can help you with just about anything
related to Microsoft Dynamics 365 Business Central.
The objectives for this video are as follows.
First, I'll go into AppSource very briefly.
We have published a number of other videos that you can
watch for a much more detailed look,
and I will list some of those videos in this section.
Next, as we take a look at AppSource,
I will show you one of the very few apps
for which you can take a test drive.
In fact, as far as I know,
there's currently only a single app for
Business Central that you can take out for a test drive,
which is the IndustryBuilt app that I'll show you.
A Test Drive is a separate app in itself,
and in the next objective, I will show you the elements
that you need to put together to create such an app.
Then finally, I'll show you an example of that test drive,
this IndustryBuilt app,
which is just one way in which this can be implemented.
The possibilities are really endless.
You can really put all your creativity
into a test drive and make it your own.
So, let's get started.
AppSource is a platform that is used
by Microsoft partners to showcase
their IP in a marketplace that is
discoverable for a number of technologies in Azure.
AppSource is a kind of a storefront
that is used by partners to make their apps
and services available and for
the customers to search for those apps and services.
The key point for AppSource is that it is
a single destination for business users
to discover trial and
acquire line-of-business SaaS apps and services.
Some customers will look for business solutions that will
integrate with technologies that they are already using.
An existing Business Central customers, for instance,
can search for apps that
cater to their specific industry.
They may also need some help
to implement those solutions,
and they may find that help on
AppSource in implementation services.
For business users, it's easy to find apps and
services that are critical to you and your business,
those unique to your industry and role built by
the AppSource ecosystem partners
with the power of Dynamics,
Office and the Azure platform.
Discover content that has to do more with
a Microsoft business apps you're already use every day,
like Dynamic CRM, and Office, and
of course, Business Central.
For partners, it's very helpful to
be able to drive discoverability and
usage of their apps and services within
an existing global network of
business customers through co-marketing opportunities,
lead generation and even support of
Microsoft's worldwide ecosystem and salesforce.
So AppSource provides that platform
to help you reach a wider audience.
Going to market with
AppSource helps in a number of different ways.
One is to promote your brand and your services.
So, you can really build on top of a service
that's ready in AppSource and
your IP goes on top of that,
that you can then use to promote your brand,
your company and maybe some apps and
services that you provide in that ecosystem.
Then you can expand your reach and
visibility to a larger audience,
where you may have limited capability of reaching
many companies or people
in your geographical area, for instance.
By putting your app and your services on AppSource,
you'll be able to actually reach the larger audience,
the entire global community that is looking at AppSource.
So, if your app is in AppSource,
it has Microsoft seller visibility and there might
even be Microsoft roles
that when your app is doing really well,
if you're more and more successful,
you might even get some help from
Microsoft in marketing your offerings.
Then, finally, you'll be able to upsell
your solution with service offerings or vice versa.
So, you have an app and you also provide service.
To implement that app,
maybe you have a service that is
made easier by the use of a certain app,
and so you have the ability to
then co-market those apps and services.
There are a number of related videos
about AppSource where I go
into much more detail on what
AppSource is and how you can use it.
One is a set of
videos that we have in the Dynamics Learning Portal,
which is an area inside of
PartnerSource and the other one, which is recent,
Microsoft has moved a lot of the technical videos
to a YouTube channel for
Microsoft Dynamics 365 Business Central.
There are two videos in particular
I'd like to mention here, one is called
Introduction to the Partner Opportunity,
which I go into much more detail on how
the ecosystem is built
and how you can take advantage of that,
and then the second is an Introduction to
Add-on Apps, and in that video,
I go into much more detail
on all the accounts that you have to set up and
that sort of thing to really take advantage of AppSource.
Let's go into a short demo of AppSource itself,
and then when we are in AppSource,
you'll notice that there are
apps and consulting services.
When I click on "Apps",
it shows all the apps in AppSource and then
of course I can enter some filter criteria,
and when I select "Business Central",
you'll see currently we have
about 113 apps on AppSource for Business Central,
and we have a bunch of
consulting services as well, about 100.
So, I can browse through those as well.
You'll see a number of different offerings where,
for instance, here, we have
a one-hour assessment which is free.
We have another one that's
a four-week implementation of almost $15,000,
some "Contact Me" links.
You'll see a lot of similar offerings,
like one-hour briefings.
It's a sort of an introductory kind of thing.
Often those consulting offerings
will be linked to an app.
So, you might have an app that has consulting offering,
where the company can introduce themselves and talk to
you about how they can be of assistance.
Scrolling down the apps in AppSource,
you'll see a number of entries.
You'll see a "Free Trial".
You see "Contact Me".
You see "Get it Now",
and if we click on one of these entries,
this is what a very good entry in AppSource looks like.
So, you'll see a bunch of the same elements,
like videos, some screenshots of the app,
key benefits linked to the landing page;
and then up here, you'll see there is
only a choice for a free trial.
I work with these people.
I've actually developed this particular app.
They are working on monetizing the app
currently so that you can also
have a paid subscription for it.
Other apps, you can go in here,
for instance, that QuickBooks Data Migration. Get it now.
This is stated to be a free app.
So, you can install this.
This is created by Microsoft.
You can install this in your Business Central tenant and
that integration or that migration becomes
available in your production environment.
What we're going to look at
today is this particular example,
BuildFood Recipe by IndustryBuilt Software Corporation.
You can get it now. They have stated
as it's looking here.
It's a free app, but
they have something that's really cool,
which is called a test drive.
So, this is what this video is about.
So, let's go back to the presentation,
and I will go into the details of that.
Before I introduce the test drive itself,
I'll briefly discuss the underlying principles
of SaaSifying your IP.
This is an essential concept when it comes to getting
your IP ready to go in a cloud ready world,
and it plays a very important part for
making your test drive experience successful.
So very briefly, SaaSifying your IP
means to give your IP an App look and feel.
What that is, it's not really defined.
You can be very creative in how this all works,
but there are a few very important common elements
across all the apps in AppSource.
One of them is SaaSifying what
they call a SaaSified user experience,
which consists of Quick Adoption
where you lead users to features,
various step by step guidance through the app
into the app and a very simplified user experience.
So, you can take this to a very detailed level and this
all comes into play with
what Microsoft calls the "Customer Journey."
Now, the Customer Journey is
a journey that the customer takes,
when they search for and find and try
various apps to meet a certain set of requirements.
If you apply this SaaSified Techniques successfully,
you will be able to take
this Customer Journey into your app and then,
steer your customer into
the decision of actually purchasing
your app without having
a marketing staff or a sale staff,
be on-site to guide that process in person.
I have a related video called
"Developing Your SaaSified User
Experience" which is also available on
dynamics learning portal and also in the YouTube list.
Watch that video, to see a much more detailed description
of what it takes to SaaSify your user experience.
This SaaSifying your user experience
comes down to a number of technical steps.
So, there are four elements that you can create
into your app that will help SaaSifying your IP.
One is called an "Assisted Setup" which is essentially
a list of setups and information
about status of those setups.
Those assistant setups are then linked to "Wizards."
The Wizards are step by
step guidances through a setup process.
So, before a user can use a feature,
they will have to set up
the system in order for that feature to be used,
and you can create a Wizard that takes the user on
a step-by-step guidance into that setup
in order for that feature to be prepared to be used.
Notifications is
contextual information at the right moment.
So, when you have, for instance,
in the additional feature to the Sales Order Process,
will only show up when you open the sales order screen.
Obviously, a notification about the sales process is
irrelevant when you open a purchase order,
and so at that point in time,
the contextual information about
a sales order future isn't that relevant,
and so that notification can then be
shown only at the right moment.
Application Areas is a technique
that is used to simplify the user experience,
and by using this Application Area,
you can show only those things
on the screen that are relevant for the user itself.
So, let's say you have five features in your app,
the user has only set up one of those five features,
you can actually hide the controls that are part
of the features that have not been set up yet,
by setting that up with an Application Area,
and only showing them if
the Application Area has been set up for instance.
A Test Drive is a way to try out apps.
It is created in an isolated tenant,
which is not your production environment.
So, Test Drive is essentially
isolated away from your production environment.
You do not have to install an app that
you may not even use and so,
by taking that for a Test Drive,
you can see the app in action
without modifying
anything to your production environment.
You can create a preconfigured environment
in which you can load scenarios and demo data,
and I'll kind of go into
the details of how you can do that.
Then of course, that app experience
is part of your own app itself and so,
you get to decide whether you want to include
just the standard SaaSification of your regular app
in the Test Drive or if you want to build
additional customer journey elements in
the Test Drive to even show the user more detailed,
more marketing oriented, more sales oriented information,
to get the user to purchase your app,
and so, make it more appealing to the user.
When they're doing the Test Drive,
they are constantly aware of the fact that
they just Test Driving it,
they can mess up the data,
they can just try it whatever
it is that they want to try,
and then, it is in a safe environment.
These Test Drives are available for a limited time,
and you can set this up.
So, you can say, "I want this Test Drive to be just for
one hour or two hours or five hours or a couple of days."
I believe that you can set up the number of hours
up to 999 hours.
Test Drive is not just for Business Central.
Microsoft provides these Test Drives
for anything that's available on AppSource,
and I believe even available within Azure,
but you just have to set it up that way.
So, let's go "Under The Hood",
which is a nice metaphor
because we're taking something for a Test Drive.
If you remember, we were looking
at AppSource and we're looking at
the BuiltFood Recipes entry, by IndustryBuilt Software.
They had a button for
a Test Drive and as you can see in the middle here,
the Test Drive duration is setup for a single hour,
and this Test Drive is a way to try
the app without any commitment to purchase.
So, IndustryBuilt has a tenant out there with a number of
Test Drive companies and
when you click on this Test Drive button,
it will link the user
with which you are logged into AppSource at this point,
which has to be a work login.
It'll link that to a user in
that Test Drive tenant and it will
prepare the demo and at some point,
you will get an email,
and the email, they will let you know, "Okay,
your Test Drive is now ready,
with a link to go to your Test Drive and that will
start the Test Drive period of one hour,
and then you can click on this
"Test Drive user manual" to
go into instructions on how to use this thing."
So, how does this really work?
To make this work, you need a number of subscriptions.
First of all for and I'm
talking specifically about BuildFoods.
For BuildFoods, you need an Azure account,
an Office 365 account
and a Dynamics 365 Business Central account.
So, you must purchase
full licenses for each Test Drive users.
So, if you decide to have
three Test Drive users available at any point,
you will have to buy three licenses for Business Central,
that you assigned for those Test Drive users,
and those are it's part of
your marketing expense to keep those alive.
So, those are real Business Central user.
So, if you build an app,
that sits on top of the Premium subscription,
you will have to get a Test Drive user,
full Test Drive license for the Premium level
Business Central in order for
that Test Drive user to be available.
In addition to the subscriptions,
you also need a Azure function,
an Azure Logic App,
which provides two functions.
One is called ProvisionUsersToFinancials,
and then another one called
DeprovisionUsersFromFinancials,
and then you populate basic configuration in code.
So, that code and I'll show you
a screenshot of that code,
a couple of slides from now.
That is part of an Azure function
and that Azure function will then,
link the business login that you are logged into
AppSource to the Test Drive users
and I'll explain the details in a minute.
You have two Business Central Apps.
One is the functional app,
that's the as-is app from AppSource,
so that's your production app and then on top of that,
you have a dependent App
that's dependent on the functional app,
that is the Test Drive app itself.
So, the Test Drive App will have
additional logic to link
those users to set up the company,
to set up permissions and
anything else that you want to load,
maybe additional assistance setups,
maybe additional functionality that defines
the experience that you want to
provide in this Test Drive experience.
Those two apps will then be uploaded into
your AppSource account as part of your app experience.
Now first of all, you have to manage companies.
So, first thing to remember is that
all users are playing in the same tenant database.
So, if this parking lot is your tenant database,
all the cars in there are
potential companies inside of that tenant database.
So, what you do is you have
one tenant database and then you create companies
inside of that tenant database
and those companies are then used
for those test drives and they will
be assigned users to those companies.
So, the configured limitation
for this particular build food recipes is,
they decided to have a maximum of
three Test Drive users at one time,
and so what you do is,
you provide a template,
a template company and
that template company is
used to create Test Drive Companies.
So, the process starts by having
that template company that contains preconfigured setups.
Maybe some sample transactions,
some sample data, and so everything
that you need to start,
that Test Drive experience data
wise should be part of that template company.
The next step then is to
create additional Test Drive companies.
So, in this example, in this graphic,
we create five Test Drive companies and
they're all copies of the template company.
Now, one user gets sign-up in AppSource,
they click on Test Drive.
The security keeps the user in their own company, so,
part of the logic to prepare
this Test Drive for the user that clicks in
AppSource is to first link
that AppSource user to the Test Drive user.
By using security and permissions,
you keep the user itself into
the company that they are assigned to.
So, a second user gets assigned to the second company,
then a third user comes in,
the third user is assigned to the third company.
At some point, the hour for
the Test Drive for the first user is done,
so that user than expires and then you would have
a fourth user that is
really the third user that's currently live,
and at this point we would have
one company with an expired user,
three companies with active Test Drives and then a fifth
company that is ready to receive another user.
In the meantime, we also have scheduled cleanup jobs into
job queue which removes
the company that's older than an X number of minutes.
That is the time period that
you've set up for that Test Drive.
Then it creates a new company or new copy of
the template company to
replace the one that it was just deleted.
So, in this particular example,
we would then remove
that Test Drive one company and
recreate it based on the copy of templates.
Now we have three companies with
active Test Drive users and
two companies that are ready to receive additional users.
So under the hood,
when the Test Drive begins,
the Office 365 user is created
and then it is assigned to a Business Central license.
The Business Central user record is
created inside of that company which is then
assigned to and available Test Drive Company
and that's one of those five copies.
Then by assigning permissions to the user,
it prepares that user to
be able to log into that demo company.
An email is sent out
that a user can then click on the link,
login to the Test Drive Company
and that's when their trial period starts.
When the Test Drive ends after that hour,
the Office 365 user is removed which
means that that user is at
that time is expired in that company,
and then we have a job and
the job queue that periodically looks
for expert users it disables that users,
cleans up the company and recreates
that company from the template.
As an example of the Azure function configuration,
I have to say this is a screenshot of what is current.
As part of creating this video,
we wanted to set up a demo and we realized
that the configuration in Azure function has changed,
the URL into Business Central had changed,
and so the Test Drive were actually not
working at the time of creating this video.
They are working currently to set this up,
so maybe a tiny little details in
the Azure functions may change a little bit,
but you can see there is some variables that are set.
You have graph.microsoft.com/beta, Default Authority.
You have a Financial Instance Url,
a tenant ID, AppClient ID, et cetera.
These are all parameters that are used to
create the link between
the logging and the company
inside of your Business Central tenant.
So, what does that code look like?
You'll see an example here where we have subscribes
to the On-After-Insert event of the user table.
So, you'll see that On-After-Insert-User,
we call the provision user function
which is a local procedure,
that code unit that actually sets up the company.
So, down here let's see if I can use my cursor.
So, user company name equals
Manage Company Assign User To Company,
and so that function
itself will look for an available company.
So it'll look for- it goes through
those five demo copies and sees if there's
any users inside of each one of
those companies and the first one that
it finds that has no users yet,
that's the one that it will link it
to and then I will add a user to the group,
and that prepares that for the user to actually login.
This is an example of the app installation itself.
You'll see in the OnInstallAppPerCompany Trigger
that'll be part of the install code units.
You'll see that it creates
the old company's job and the old users cleanup jobs.
BFTDE stands for Build Food Test Drive Experience.
That creates those two job queue entries
that does the plumbing for the companies and the users.
So, this is an example.
This is the function that looks
for that next available company.
I'm not going to go through each line of code.
You can pause the video to take a good look at that,
but this is the function
FindNextAvailableCompany that actually looks
for it and returns that company into the next function,
and then you create a user personalization.
You set that up for that user,
and that then prepares that login for that user,
and that's the link that you get.
So, in summary, the user goes to AppSource.
You click on the "Test Drive" button,
it sets up to the Test Drive, you get an email,
and when you click on your "Test Drive" and
that process in between creates those users,
assigns it to the Test Drive.
If all the Test Drive companies are taken,
so if there are already three active users,
it'll wait until one of those companies are available,
and so that might take a little while.
I'm not sure what the mechanics are in between,
how much you can actually
manage no additional emails that say,
"You have to wait an x amount of
time before your user is ready."
I don't think that that is worked out in detail yet,
but that creates that entry into Business Central,
and you click on that link to go to your Test Drive,
that takes you to Dynamics 365 Business Central.
So, the way that it works is first,
you have the Functional app
that's installed from AppSource.
So, that is the same app that
is currently available in AppSource.
Those two are linked. It's the current release.
It has the customer journey.
So, your Functional app already has
the customer journey that you've
designed for your app itself.
On top of the Functional app,
you have a dependent Test Drive app,
that is installed as a tenant customization,
and this Test Drive app manages the users and
the security and it sets up the outside customer journey.
So, if you want to have a Test Drive that is more
specific to marketing-related requirements
that you might have in.
I want to show this feature in action in
such a way that these are
the steps that I want to accentuate,
and so that might be something that is in addition
to the assisted setups
that are available in Functional app.
Maybe you have some additional video.
Maybe you have some additional data
that you want to load in there.
So, part of that is, of course,
part of the data setup,
which is in the template company.
You might have some pre-configured data scenarios.
You could have a code unit in
the Test Drive app that creates some test data,
some additional test data,
or maybe you want to check for some values, et cetera.
et cetera, and then an additional piece for
the data setup is
a mechanism in the job queue that creates
those copies of the template company
that are pre-configured to receive one of those user.
Crystal clear. So, finally,
the last part that I want to mention is
the Cloud Partner Portal where you create the offering.
In the Cloud Partner Portal,
you have a tab for Test Drive
and there you click "Yes" to enable the Test Drive,
and that opens up all the additional fields down there.
You'll see a maximum current test drives,
which is three for a BuildFood Recipes.
We have a duration of one hour.
I believe that you can enter up to 999 hours.
I don't know how many test drives you can have,
but if you have three,
then you have to buy three licenses.
If you set it up for a five,
you have to buy five licenses, et cetera.
To find more documentation,
go to the Cloud Partner Portal and
go to the Logic App Test Drive documentation.
That will also take you into
some additional repose on GitHub.
So, that's really it.
Let's go into the example.
I have some screenshots that I'd like to
show you, which is next.
In this section, I'll show you
some screenshots of the Test Drive app.
I would have liked to show you the actual app,
but the Test Drive itself is down.
So, they're working on getting it back up again after
some changes have been implemented
right as we were preparing this video.
So, no big deal.
I have some really nice screenshot.
So, this is just an example.
So, the example that we're looking at is
the BuildFood Recipes app,
and that BuildFood Recipes app is designed in this way.
So, this is how they have designed
their customer journey of the Test Drive into the app.
You are, of course,
free to use your imagination
and set this up however you want to do this.
There's no single way to do this.
We are probably going to see lots of
different ways to do this.
I think this is one of the most important tools to really
provide a deep dive into your products.
So, I hope that a lot of ISV partners
will use the Test Drive experience
to really showcase their IP.
I think this is a really cool way to do it.
So, this is the example. BuiltFood Recipes.
You'll get this message,
"Thank you for taking BuildFood Recipes for a
Test Drive" after six minutes,
your 60 minutes, your session will expire.
To get started, use the notification at
the top of the roll center to take the product tour.
Don't worry. It will only take a few minutes.
Click "OK" to continue.
So, you click "OK" and then you open Business Central.
This is obviously not a full screenshot,
but at this point, you see here,
"Want to get started with BuildFood Recipes?"
And then you have a link "Yes.
Take me to the product tour".
And so, when you click on that, you get this.
You can watch this little video.
I believe that this particular video
is just about a minute.
A really high level introduction into BuildFood Recipes,
and that's the first step.
Take this little video tour into the product,
and after that you'll get the assisted setup.
So, this is part of the wizard.
The wizard men says "Thank you
for choosing BuildFood Recipe.
To give you a great experience",
and this is the story that you can tell.
Don't worry. It won't take too long.
Click "Next" to continue.
So, you click on "Next".
Now, we are taking you through an assisted set up.
What is it that you want to do?
Well, then you can choose cakes,
cupcakes, bread, pastries, muffins.
I think the example here goes into the cupcakes.
So, you click on "Cupcakes".
You click "Next" and that then
downloads and installs some evaluation data.
Now, in the regular app,
you would have maybe no demo data,
but in the Test Drive, of course,
you can load as much data as you want,
of course, because now you can
actually load as much data in there.
Some of that might be part of the template companies,
so you don't have to create this as part of
walking through the assisted setup.
You can already prepare this in
the template company itself.
"Congratulations.
You've completed the product tour and we have
configured to your evaluation data.
You want to check out a recipe?"
Of course, then you click on "Yes" and
that opens the vanilla cupcake recipe.
At this point in time,
it says, "Want to start working with recipes? "
And so, this is one of
those notifications that are context-specific.
So, we're looking at a recipe.
The record is a recipe,
and when you open the recipe, the system knows, "Hey,
you haven't set up recipes yet,
or we haven't shown you this recipe introduction yet."
And so, you can click on "Yes,
Show Me" and that opens another assisted setup;
and then this particular setup,
now we show an eight minute video
on how you create a recipe.
So, you might have
noticed the first video was very short.
Now, we have a slightly longer video
because we've already
invested some time into opening the test companies.
We've run through some setup information
and we're really sitting down,
we're really taking the time
to go through this Test Drive,
and so this is a perfect opportunity
for the user to go into
a longer video to really take
some time and learn about how this app works.
So, this is a short introduction into
how BuildFood Recipes has created the Test Drive.
In closing, I just want to mention a few key points.
You have to realize we are on the cutting edge.
AppSource and Business Central are
relatively new platforms and products.
The Test Drive itself is also relatively new.
The Test Drive experience is only currently in one app,
as far as I know.
Maybe by the time you watch this video,
there's already more than one,
of course, I hope.
Because it's a moving platform,
it's constantly under construction,
there are constantly new features,
they might implement new features.
So, there are regular changes to the platform,
and so as an app builder on
AppSource you will have to deal with those changes.
So, one of the things that you have to do is you have to
set up a process to keep up with these regular changes.
So, you need to be proactive and make
sure that you are aware of
all the changes that are coming through,
and when they come out those changes,
you immediately take care of making sure that
those changes do not
interfere with the running of your test app;
and for instance, for BuildFood Recipe,
one of those changes is actually
caused the Test Drive to go down.
So, sometimes there are changes that you're not aware of,
which is annoying, but that happens.
So, you have to deal with that situation.
At the same time, since there are
so very few test drives available,
at this point, you should
really take advantage of AppSource.
So, it's really not
all that difficult at this point in time
because there are so few test drives
available to really be creative and stand out.
So, Microsoft does not require you to
do anything specific or
have any mandatory elements in your Test Drive.
You can do whatever it is that you want to
do to make this experience really helpful.
So, especially for those that have
slightly more complex systems,
I think a Test Drive is
a really good opportunity to put
something really special together.
So, that's it, that's all I
have to say about test drives.
If you want to learn more about Business Central apps,
follow the link on your screen,
and all that's left for me to do
is thank you for your time in watching this video.
I hope this has been useful time for you,
and have a nice day.
Không có nhận xét nào:
Đăng nhận xét