Building Nimble & Powerful Mobile Apps w/ IBM MobileFirst Platform

M.Gale & A.Ferrier

Recorded at GOTO 2015

Get notified about M.Gale & A.Ferrier

Sign up to a email when M.Gale & A.Ferrier publishes a new video

welcome so um I'm martingale so I'm the
first person on the list here and my
role is as the basically the technical
lead for all the things that IBM does
with mobile here in the UK and Ireland
so that's everything we do from
consulting through software through the
infrastructure pieces of mobile as well
and what we're going to talk to you
today with my lovely assistant over here
who will introduce himself and roof area
a little later on is talk to you about I
guess some of the new things that are
coming around our mobile platform and
how it's going to play into our platform
as a service story so hopefully we'll
keep it interesting so the health
warning this is the Miss is the most
marketing like slide that you're going
to see from us so neither of us are a
big fan of glossy slides and things like
that but this is just a kind of paint a
picture about what IBM does in mobile
when IBM talks about mobile first and we
talk about it a lot this kind of sort of
four threads to it so the first thing
that we're trying to do is set an agenda
the mobile is all about helping our
customers change the way they do
business whether its retailers changing
the kind of service that we get in
stores or whether it's pilots so we do
you know working with Airlines about how
experience better and more effective and
within the framework of bit you know
business benefits and all of that kind
of stuff so a business transformation is
its kind of the high level thing that we
see for mobile and then all the pieces
that sit behind mobil really so the
piece around security so one of the
things that ibm's focused a lot on is as
well as the transformation making sure
it is underpinned by really wrote really
robust sat the security framework and
making sure that because we're opening
up people's businesses to new channels
and using them in different ways that
they've never used them before that the
crown jewels at the center of the
business aren't compromised as well the
other thing we talked about a lot is
this engagement piece and what we mean
by that is all about well how can we
clearly we can put transactions on a
mobile device you know we can buy we can
think about the device as being a
glorified web web browsers are the way
we can just do transactional commerce
those kind of things but what we're
trying to do is create something that
becomes a much more immersive much more
sticky experience a much more fulfilling
experience for people and there's
various different capabilities that we
have in there ranging from analytics to
see how people are using the apt to if
you like deeper analytics to do things
like cognitive computing so some of you
may have seen the work we did something
called Watson where we actually played
jeopardy build machines play jeopardy or
what we're doing now is looking at how
we can take what's and then make that
available through the mobile channel so
as well as the power of the analytics
you get it delivered through mobile so
bit we're going to focus on here is kind
of the bottom bit which is sort of the
the building and managing things at
scale okay so you can actually bit as
everybody in this room knows actually
you can do some quite simple apps very
very quickly in quite a simple way so
I've put some of my own no critiquing
this is some of my own code here so but
you can build an app pretty quickly so
on the left blob of angularjs that one
actually talks to Watson it's a little
blob of something that I was doing to
ask some questions and stuff maybe a bit
if no j/s come up with a rest handler
that kind of stuff and then good old
Mongo or something like that sat in the
background so we can do single apps in a
very very simple way very very very
quickly and that's great in particular
circumstances and the challenge we find
when we work with customers at kind of
enterprise scale is that actually things
get pretty complex pretty quickly so
some of that complexity comes from the
sheer number of apps so you know within
a big company you might be talking about
hundreds of apps all over the world so
you're thinking about how you just how
you deal with that scale problem the
other piece is the number of different
devices and different operating systems
that you need to support as well again
that's another I guess kind of axis of
complexity really that you that you have
to deal with as well
when customers have gone down a route
where they say to people you can bring
your own device to work and that kind of
thing how do you deal with the fact that
you might have some androids of various
different flavors iOS various different
flavors and form factors and those and
those kind of things and then the other
piece of this is when you've got a
number of different back-end systems to
connect to all over the place that may
be in a greater or lesser state of
repair and readiness for mobile this is
adapted from something that gartner came
up with so gotten used to talk about the
rule of the rule of three if you google
gotten a rule of three you'll see they
talk about some of this different
complexity so got in this view is that
these three things and when you when
we're many years more than three where
variety is more than three we're back
end systems is more than three but that
all sounded a bit twee this made a
little bit more a little bit more sense
to me and the other things you throw in
here is that say if you took you know we
took to the cio of a company you know
lots of pressure to introduce mobile
technology and transform the way the
business is doing things and they want
to be supportive of that but the same
time IE can't can't compromise security
can't do anything to I guess expose we
were saying before expose the kind of
the the core business to any unusual
threats and organizations are getting
more and more familiar with mobile but
it's still that getting people to take
that step and realize that these systems
work in a different way to the ones that
we've been familiar with over a number
of years so yeah can't compromise
security yeah we can't have cost
spiraling as well that's the other kind
of pressure that we get a lot around
mobile project so if you've got lots and
lots of apps you've got lots and lots of
variety unless you think carefully about
how you do it your costs can go that way
well probably that way up rather than
down I should I should say and then
finally oh yeah you've got it you've got
deliver really really quickly but you
can't do anything that's going to hurt
the reputation of the company which is
another competing you know can be a
conflicting challenge as well so we're
all the benefits of agile and speed and
really a lot for a lot of established
companies they will have a very very
maniacal focus on their brand and not
damaging their brand particularly sital
prestige household names
they don't want to be on the front page
of The Daily Mail or something like that
because something's gone wrong with
their logo on it so Enterprise gets
complex quite quickly so we talked about
this this this this notion of and this
has had a few names right so we're
talking here about what we call a mobile
enterprise application platform which is
an industry terms not just niobium term
it has a wikipedia page you can google
exists it's not something we made up and
what the MEAP or the meat as we refer to
it in the vernacular is all about is
trying to help manage some of that
complexity and what IBM's get what I
bm's good at and what we get out with
our middleware historically is looking
at complex situations and coming up the
capabilities that help customers bring
that under some semblance of control you
may hear this referred to as variously
an MCA P and M a DP sometimes an
ambassador I'm about back-end as a
service they're all kind of flavors of
the same thing effectively in n bass is
a cloudy version of where a meat came
from but what you for what that is doing
for you in in general terms is usually
there's some component around developer
productivity in tools and SDKs and those
things so this is all about we need the
advantage we need the advantage quickly
we need to focus on developer
productivity whether it's whether the
vendor is supplying tools so whether
there's a tool that comes with the MEAP
or more often than not these days people
want to turn up with their own IDEs they
all those kind of things but making it
very very easy and effective for them to
do that quickly I think one of the one
of the things with this is when we're in
a world where we're valuing working code
more than very very deep documentation
actually one of the roles of the MEAP is
to say well actually the focus on that
working code is really our working code
our different bit can we come up with
common frameworks libraries tools that
means that we're not worrying about a
whole stack of stuff that somebody else
could be providing for us yes some
abstraction over the device vendors so
there's there's various different guises
of this so again when you're in a world
where you've got and even if
you know Android and iOS or Windows
Phone or blackberry which they will say
back Barry and you've got things like
send notifications for example all have
got different different API is to deal
with them that kind of stuff similarly
you'll find that some Emmy ApS will have
a layer of abstraction that runs on the
device as well so to try and get you
into a write once run anywhere kind of
place so examples like cooled over and
xamarin and things like that that you
may have you may have seen and how to
play with and that would be a good
example something around integrations
having talked before about complexity
coming from the fact we've got lots of
back-end systems to connect to the MEAP
typically will give you some consistent
way of connecting two things which again
from a kind of code sprawl and from a
kind of control and comfort perspective
having some standard way of talking to
an inventory system or commerce system
or an ordering system is kind of a
comfortable place for most people that
run successful businesses anyway and the
other important piece is that the MEAP
helps you expose that and a mobile my
mobile ready way so you might have a
number of different back-end systems
with web services or so all rest or
messaging or something like that sat in
front of them but what you want is
something that's highly consumable to
the device on the end of it so the MEAP
helps you cross that bridge between two
click the other piece of this is yeah
making sure that you've got consistent
access control to everything to
everything that's in the system so for
example if I make or I want to roll out
an app to all of my store associates I'm
a retailer I want to roll out an app to
my store associates and I leave and some
or somebody leaves what I really want is
that when I turn off their access for
all the other systems the mobile channel
isn't left up and wide open we want to
have kind of consistent connection with
all of those other things related to
that from a security perspective if
we're going to start exposing all of our
back-end systems to the outside world
well actually what we don't want is lots
of holes punched in our firewall with
lots of indiscriminate traffic
in talking to all our back-end systems
having some kind of gateway point where
we can say in our network any traffic
from mobile is always going to go
through that particular bit of the that
particular bit of the network is a lot
easier to manage and understand and for
security types to get comfortable with
then last 10 means least there's a
there's a piece in here about actually
if we've got this this kind of single
capability providing this platform that
we build on then actually having some
kind of management information that
tells us who's using which apps which
are the most popular are people getting
stuck what are people using them for
those kind of things if you're in this
constant refining loop that you find
yourself in in Mobile is and you know an
inherently agile world actually you've
got some real data and some insight to
draw upon so you can make things better
and now i'm going to hand over to my
lovely assistant and over the clicker
ego who's going to talk to you a bit
more about what IBM is doing sure so
just to introduce myself very briefly my
name's Andrew Faria I lead a team of
consultants that we have in IBM across
the UK in Germany working very much with
IBM's software offerings in in the field
so I'm the guy at the technical guy who
goes in and helps our customers make
this make this real so what we're going
to do now is I'm just going to quickly
talk through a few more slides we'll
then I'm going to show you a quick demo
of something that we've kind of released
into beta recently and we can we can
take a look at that so what we've really
been just talking about here is this
meat that sits right here in the middle
of the diagram basically we're building
mobile applications and over here on the
cyst we have on the back end what we
might call in sort of somewhat boring
our old fashioned terminology system a
record but what we really mean by that
is some form of back-end system so some
database and services something that we
need to get our mobile application
connected to we have our meat that Mars
has just been talking about sitting in
the middle maybe we have that connected
out some form of authorization directory
so it might be some kind of ldap server
or something like that that controls the
users and the groups and the folks who
use this mobile application and then
it's probably connected to a push
notification service in the cloud as
well something like Apple or Google
Cloud messaging something along those
so let's just briefly introduce what IBM
does in sort of MEAP arena and to do
that we've got to talk about the over
IBM mobilefirst platform now in 2012 we
acquired a small company based out of
Israel and New York called work light
and we quickly kind of rebranded that
technology in 2014 we renamed it to the
IBM mobilefirst platform basically just
to kind of sort of slightly more closely
fit some industry trends that we saw and
traditionally customers that we've had
who've bought this product you know this
is an IBM commercial software product
have deployed it on premise or maybe on
some form of infrastructure of a service
or or sort of server hosting
environments or something like soft
layer or Amazon ec2 and we've had
hundreds of customers using it for many
years for thousands of apps around the
world it's been relatively successful
for us now IBM mobilefirst platformers
are say is ameet is armed meep offering
and it kind of helped sticks it those
six boxes that marketing was just
talking about so for example we provide
eclipse-based IDEs for people who want
to build hybrid styles of applications
or called over for those you might kind
of across that technology but we also
provide command-line tools so that
people can integrate it into their own
tool set and their own tool chain in
their own way of working we provide a
bunch more abstractions on top of base
Cordova so for example we provide a
thing called the Jason store which
allows you to abstract out the way you
store persistent data on two different
devices with a consistent API across all
different types of platforms we provide
what we call adapt it's based in both
javascript and java to allow you to sort
of consistently integrate to to back-end
different types of back-end data sources
so restful services database is that
kind of thing we provide a security
model a consistent security model for
both what we would call a mobile-first
clients or a client-side application
actually running on a phone and our
mobile first server which is what takes
on the role of our meat so that we can
provide a consistent way of having a
security model between those two things
in using a meat like mobile first the
meat server or the mobile first server
in our
case actually then becomes a kind of
single point for all that integration
for managing app updates that kind of
type of thing and also we have a major
feature within mobile first called the
operational analytics platform which
I'll be showing you a very brief slight
very brief section in the demo in a
minute on which is basically a way to
get an understanding of how people are
using a mobile application so what kind
of platforms they're using it on what
they're using it for and so on let's
switch gears for a second I've just
spoken about the IBM mobilefirst
platform we're going to whistle through
a few things fairly quickly what I want
to also talk to you about is bluemix so
bluemix is been around for what year and
a half years yeah something like that
now when it's kind of ibm's developer
centric has platform so platform as a
service where we allow folks to go and
sign up build their own applications
build their own services and host them
up in the cloud and by the way if you
come round to our stand after this
presentation we got lots of demos we can
talk to you about that in a lot more
detail than what we're going to be
talking about in this presentation so
this is roughly what it looks like it's
a non-proprietary platform it's based on
it based on an open-source technology
called cloud foundry and we exploit a
bunch of a sort of standard open source
text so folks who've built things built
applications using things like no Jas
Ruby go PHP Python pretty much all of
these open source communities there are
run times for all of this stuff on
bluemix and one of the really nice
things is for developers you can kind of
get started on bluemix for free so if
you haven't tried it before you can go
and create an IBM ID you can sign up you
can log into the bluemix console and
have an application deployed on there by
the end of the day you get a 30-day free
trial after that you have to put in your
credit card number but even at that
point you're not actually paying anybody
until you go over certain kinds of usage
allowances so it's a pretty nice
platform for kind of getting started and
experimenting with a whole bunch of
different IBM technologies just to give
you a flavor of a few of the things in
fact here over on the right-hand side
you can see all of the different
services that we support on bluemix
there's no awful lot of stuff in the bag
I can't possibly talk through it all but
just to give you a flavor we've got a
few services here on the left-hand side
based out of our Watson Brown
Martin was referring to do to do things
like language translation so we've got
an API where you pump in English texting
you might get out German or you pump in
Spanish and you might get our French
we've got a text to speech engine way
where you can pump in text and get
speech at the back side we've got a
bunch of mobile-focused services and one
of the recent additions there is
something called presence insights which
allows developers to build mobile
applications that can track where users
are going using things like Wi-Fi access
point 3g and so on and then we've also
got some lower-level services so one
example is this application server on
cloud feature here which is basically a
way of in deploying our websphere
application server technology under
blooming so there's a whole bunch of
stuff in there that's kind of
interesting all of them in in itself
just what we need just just one thing I
was going to say because it's not just
IBM stuff in there as well so there's
quite a lot of partner as well so it's
open source things in there there's IBM
you know IBM tools but there's also part
nursing so you there's twilio services
in there there's Mongo you know the
Mongo labs and reedus and various other
things like that so as a whole bunch of
a whole bunch of things sorry yeah short
notice a good point thank you mutton so
we just got to talk about one more thing
before we kind of we kind of move out of
the slide world and into the demo world
and that's and that's docker now I don't
know how much familiarity probably
everyone in the rumors at least heard of
dr. at some point or one sentence
introduction that vastly oversimplifies
it basically docker is a way to
virtualize a process that's running on a
machine in a way that makes you think
it's a little bit like a virtual machine
that it isn't that it is but it isn't
but it is the differences are probably
too subtle to go into here but for all
intents and purposes we can think of it
as a way of container izing software and
you've probably all heard about it it's
a big industry trend at the moment now
IBM provides an implementation of Dhaka
inside bluemix and we call this IDM
containers it's basically docker plus a
few extra things to make it easier to
work with some of the bluemix services
we were just talking about and we
both the registry so a repository for
for docker images that you or someone
else might have built but also a runtime
engine for those containers to run on
bluemix and again this all fellows the
same kind of model that we were just
talking about some of this comes for
free so you can experiment with it this
afternoon but if you if you kind of
thought you know you want to run lots of
stuff you take it into production you
that is a dessert the sort of continuous
payment model so let's kind of smudge
those three things that we just talked
about together we have had for a little
while some capability in bluemix for
people to build mobile applications
that's been mostly separate from the
mobile first platform that we were
talking about but people a we're
starting to get a little confused and be
kept saying well this this full meet
that you talk keep talking about this is
great but we kind of want this on the
cloud right we want this hosted in some
way so now we're making available this
relatively a relatively long named
offering here which is the IBM
mobilefirst platform foundation on IBM
containers on bluemix we don't get to
pick my name's exactly there's less
source in the product than there is in
the name but but anyway so basically
what we're doing is we're taking the IBM
mobilefirst platform and we're making it
available through this container stuff
on blooming so 11 i will do now is just
switch over and give you a quick demo
now one thing i will say and i'll put
this URL up again at the end all of what
i'm about to show you is all based on
freely available things that you can do
there's an IBM article on the IBM
website that talks you through all of
what I'm about to show you so if you're
interested you can easily go and try
this stuff out for yourself you can
easily go and try this stuff out for
yourself afterwards so what you're
seeing here is I'm in the demo is I'm
sitting inside and by the way I
apologize for the pre-recorded video
here I wasn't entirely entirely what's
the words convinced to the of the Wi-Fi
situation and this demo as you can see
it's very reliant on on internet hosted
services so I just kind of wanted to
pre-record a demo just to make sure that
when smoothly but you can see myself
here sitting inside the bluemix console
so at this point obviously I've already
created an account I've already signed
in and you can see by the
the kinds of things that we can create
in bluemix so over here are all those
hundred plus services and api's that i
was just talking about up here or what
we call Cloud Foundry apps so these are
basically so we can create server-side
hosted content so those Ruby PHP go
Python all those kind of engines that we
were talking about allow us to run web
content from the server side sitting up
there down here we actually do have a
full virtual machine offering so that
facade VMware style virtual machines but
what we're interested in talking about
right now is this container stuff that
sits up in the right-hand side so I'm
going to click there on on start
containers and it takes me into the
we can add our own right so if for
example we're building our own docker
based images offline on our laptop we
can add we can upload them and put them
in the registry and then we'll start to
see them appearing here you can see
there's also a bunch of pre can't IBM
built ones that are here and of course
we'll be adding more of those over time
as well I expect so you can see that
we've got for example a node-based
docker image here but the one we are
most interested in here is this IBM
mobilefirst starter that sits up in the
left-hand side so I'm going to go and
click on that that will take me into a
page where I specify what I want to do
with that image now the way docker works
is basically you've got the images and
based on an image you create a runtime
instance of that and that is called the
container so what we're doing at this
point is basically defining the starting
state of a container so i get to specify
what space i want to put it in space is
basically just an administrative concept
in bluemix that allows me to sort of
group group my services and my images
and so on so forth for different
projects then I get to specify a name
for this container so obviously I'll
just give it some dummy name get specify
what size it is sometimes we might want
to deploy some fairly large projects and
so on so i'm going to pick something
relatively meeting and give it two gigs
of memory i also need to give it a
public IP address so that i can get
access to it in a minute and i need to
specify some ports that is going to
listen on and the standard ones that we
need for mobile our first 80 and 90 80
so i'm going to go away and it's going
to it's going to it's going to underway
and create that image due to a slight
niggle it's now taken me
to the back to the bloom main bluemix
page but I can go back into my bluemix
dashboard and I can see any moment now
it'll bring up and it will show me that
my my container is sitting down here in
the left hand side so you now you can
see I've got this brand new container
here you can see it's telling me what
the public IP address of that container
is so I'm going to click on that
container and hopefully any second now
it will show me the information about
that container I paused my maybe I
still running ok sorry moment stick okay
so so now I can see the information
about my container over time it will
start to go in show information in here
about how much memory it's using and so
on and so forth and you can see I can
stop it started delete it that kind of
stuff but in particular what I want to
do now is I want to go and work with
this container now remember the what
contains our mobile first platform
server right so this is the server side
component of our meat it's the thing
that can contains all of our integration
adapters and all of the things that
enable us to enable us to integrate
back-end systems I accidentally typed in
the wrong port number because I wasn't
paying attention during my video
recording but now I've typed in the
right port number and I've gone to this
registration page I'm going to type in
the default part username and password
which is admin admin I'm going to click
on register and that should take me
through to the registration page right
now I'm through the registration page
what you're seeing here is kind of a
getting started page because this is the
evaluation version of this image
specifically for doing for doing demos I
can scroll up and down there and by the
way you can see there's a whole bunch of
links for contacting IBM and going to
documentation and that kind of stuff but
what I'm really interested in is this
operations console so this operations
console is what any developer who've
been using the mobile first platform for
some time even on premise even installed
on their own server would be used to see
so you can see in here I've got a
variety of applications to split
deployed those applications are pre
demo image in reality i'd actually
probably have to upload those myself and
you can see over time where it will
collect some statistics about how many
devices have been using the mobile first
platform server operating systems have
been using it and so on of course i've
just created this image from scratch by
creating a new doctor container so there
isn't anything there yet what I'm going
to do now is I'm going to flip over to
Xcode and by the way I've just realized
the top edge of my video is chopped off
so you actually can't see me clicking on
this run button but any second now I'll
click on this run
button here it will build my xcode
application by the way this is a
standard demo xcode application again
the article on the IBM website based is
on allows you to download all of its
stuff so if you want to try it out
yourself you can I haven't modified any
of it so this application is called wish
list you can't see that because it's
dropped off the top but you'll just have
to believe me this is running inside an
iphone emulator ok so this application
is called wish list and it basically
it's very simple it's got a catalog of a
few products that i can buy and i can
add them to my wish list that's all it
does it's not very sophisticated but
it's enough to show the principle so if
i go into this settings page for this
application firstly i have to specify
the IP address and the port of where
I've deployed my mobile first platform
console now if this were a real
application of course we would have
hard-coded that into the app somewhere
along the line because this is just a
demo purposes we have to tell the app
where our mobile first server actually
sits so it knows where to connect to so
I'm doing that and I'm also giving it
what we call the mobile first project a
platform project name so it knows where
to connect back to so I'm going to save
that and then if I go back to the home
page of the application and I go to
catalog you'll immediately see some
items pop up and you do and you'll have
to believe me because we don't not
demonstrating this directly but all of
this information that you see here is
flowing back from one of the adapters
that we have sitting inside our mobile
first platform server so that's
ultimately coming from a database that
we host on bluemix flowing through the
mobile first black form server so that
one single point of control that
scalable gateway that Martin was talking
about and down to the device so now I've
got a list of items that i can add from
my catalogue i can go and click on one
of those items and the first thing it
does is it pops up an authentication
page so this is all using the OAuth
based authentication that we were
referring to a minute ago I put in the
hard coded user and password as the user
and password again it's all just a demo
of course and I click done and it will
then have added my item to my wish list
and due to a slight bug and all niggle
in the application actually pops up that
dialogue twice but obviously in reality
that would only happen once
what am I going to do now I'm now going
to click on another item and i'm going
going to flip over to my wish list now
one more thing you might notice here is
is actually three items in the wishlist
i've only added to that's because i
treated slightly when i record this demo
i already had an item in the wish list
before i started this whole process but
in any event you get the general idea so
we've now got a wish list that's been
pulled down and incidentally that wish
list itself is flowing through a
mobile-first adapter up to our back-end
database also hosted on bluemix as well
and of course if i flip back to my home
page and I go into the catalog and I add
another item to the wish list again has
the same bug which is of this dialog
pops up twice not quite sure why we'll
see we now got four items in the
wishlist so it's not particularly
sophisticated from a mobile perspective
perhaps but hopefully demonstrates the
principal at least of creating creating
the image on the docker container and
working with that now I will say
obviously there's a few little niggles
in this process so far all of this stuff
is very new we literally only released
it two weeks or so ago into betta so
hopefully you can kind of forgive
forgive those a few little hiccups but
hopefully that's kind of enough to give
you an idea a very high level at least
of what the mobile first platform is
about and kind of how we can deploy
applications that's the end of that that
demonstration or that video as I said
there is if you go to this URL on the
IBM website there's an article that
talks through all of this in a lot more
detail and you can also if you're
interested follow the same steps and go
through that same kind of process and of
course once you have your a mobile-first
server running on bluemix running inside
that container you can develop your own
mobile applications and use it for
whatever you want you don't have to just
just just follow through what we've done
there so I think that's probably pretty
much all we had to say does anyone have
any questions they wanted to raise on it
legend quit over yes yes right how is it
is their kind of implications into that
you are you talking about server-side
coding or are you talking about
client-side coding actually not as a
Marine no yeah okay yeah so you talk
about the xamarin thing could I use the
Army's that glow I always see what you
mean Ryan sorry sorry yes absolutely you
could so so one of the things we didn't
specifically talked about here we have
so we add you have a partnership with
xamarin and as a result of that we have
a client-side sdk for the plugs into
Zaman's client-side technology that
allows you to talk to a mobile-first
server so if you go to I think it's the
xamarin marketplace and these articles a
plenty on the IBM and xamarin websites
that talk about all this stuff if you go
to the xamarin marketplace you can
install a client-side sdk that basically
allows you to work with mostly the same
api's as you would get if you were
working with the ipm client-side
development tools to allow you to talk
to my mom that's ever so the simple
answer to your question is yes anymore
anymore okay well thank you very much
thank you yeah thanks for listening yes
i know i think we're standing between
you and lunch so no more questions leave