►
From YouTube: .NET Virtual User Group - Building Island Tracker – Xamarin, Functions, Table Storage, and More
Description
Seattle Mobile .NET User Group (https://www.meetup.com/SeattleMobileDevelopers) is kicking off our .NET Virtual User Group series with a talk from James Montemagno on how he built and developed his latest app Island Tracker for Animal Crossing.
Slide deck: https://www.slideshare.net/JamesMontemagno/creating-island-tracker-xamarin-azure-functions-table-storage-more
A
A
We
should
be
back
over
welcome
everyone
to
the
first
and
well,
not
the
first
of
the
year,
but
the
second
of
the
year
Seattle
mobile,
dotnet
developers,
user
group
I'm
super
excited,
because
this
is
the
first
time
that
we're
actually
co-hosting
it
over
here
with
the
dotnet
foundation
via
the
dotnet
virtual
user
group,
which
is
super
exciting,
so
I'm
James,
Monson
magna.
You
can
see
me
up
in
the
little
corner
over
there.
Hey
everyone,
there's
me,
which
is
great
and.
A
Well,
that's
funny!
Now
you
can
see
everyone
in
this
chat
message
and
I
can
tell
John
if
he's
listening,
not
to
chat
in
the
chat
message
is
the
first
time
we're
actually
doing.
This
is
actually
really
exciting
where
before
we
had
to
host
everything
completely
separately,
and
now
it's
very
simple,
like
kind
of
Ezra
via
magical
Skype
window
back
and
forth.
So
it's
quite
awesome.
A
My
motivation
behind
it
and
some
of
the
awesome
library
and
components
stuff
that
I
put
together
for
it
like
I,
said
this
is
the
first
meetup
hosted
by
the
dotnet
virtual
user
group.
So
if
you're
already,
a
member
of
the
Seattle
mobile
Don
user
group,
mobile
dotnet
user
group
in
your
use
of
meeting
in
the
reactor
and
Redman
welcome
back
obviously,
and
if
you're
joining
from
anywhere
around
the
world,
not
on
Seattle
time,
Oh.
A
Welcome
as
well
and
I
wanted
to
put
this
slide
in
here,
because
it's
a
growing
brand
new
virtual
user
group
from
the
fauna
foundation
and
the
whole
goal
of
the.net
virtual
user
group
is
to
help
to
support
dotnet
user
groups.
While
everyone
is
in
this
virtual
transition.
Currently,
so
as
user
groups
and
individuals
are
at
home,
more
you
can't
meet
up.
A
A
Well,
we
can
handle
doing
everything
why
I've
handled
the
infrastructure
and
promote
the
user
groups,
so
the
the
user
group
is
actually
hosted
and
promoted
on
both
the
Seattle
mobile
denied
user
group
and
the
done
at
virtual
user
group
and
the
whole
goal
is
to
grow
the
dotnet
virtual
user
groups
and
enable
anyone
so
to
join
in
on
the
user
group
calls.
I,
which
I
think
is
super
duper
fun.
A
So,
if
you're
looking
to
find
on
net
virtual
user
groups,
because
maybe
your
local
one
isn't
going
maybe
reach
out
to
the
to
the
user
group
leader
and
let
them
know-
or
you
know
just
sign
up
and
on
the
meetup
page
and
they'll-
be
more
listed
as
more
donna
user
groups
I
have
some
virtual
meetups
or
join
on
to
be
hosted
by
the
dotnet
virtual
user.
So
super
duper
awesome.
Now
as
most
of
the
user
groups,
we
always
start
off
with.
A
We
start
off
with
some
who
we
are
and
what
we
do
so
I'm
James,
Monson
Magnum
a
program
manager
here
at
Microsoft
and
I
help
co-host
the
Seattle
mobile
Donna
user
group,
usually
in
Redmond
my
good
buddy
Frank
Kruger.
It
was
an
independent
on
it
developer.
We
focus
on
Donna
development,
C,
sharp
F,
sharp
iOS,
Android,
Mac
development,
Windows
development
and
even
game
development
with
unity.
So
we
talk
about
all
things
in
the
world
of
dotnet
heavily
mobile
was
a
mer
not
always,
and
it's
fun
too,
to
see
the
comments
coming
here.
A
Jonathan
bachelor
in
the
chat
says
it's
awesome
to
see,
be
able
to
attend
more
and
more
user
groups
and
feel
free
to
tweet
out
to,
and
let
everyone
know
so
really
excited
about
that
now,
usually
at
the
user
groups,
I
always
like
to
do
some
announcements
from
the
last
month.
So
if
you
haven't
maybe
been
keeping
up
to
date
or
almost
there's
so
much
going
on
in
the
world
of
dotnet,
it's
hard
to
keep
up
with
everything.
I
wanted
to
sort
of
share
some
of
the
build
announcements
in
the
world
of
mobile
net.
A
So
the
first
thing
is
that
xamarin
forms
4.6
shipped
into
stable
and
4.7
is
actually
in
pre-release.
Right
now
is
a
super
good
update,
I'm
shipping
applications
with
this
update.
In
fact,
some
of
them
requires
some
of
the
new
things
in
here.
So
some
cool
improvements
here
are
visual
material
updates,
so
bringing
material
designed
to
iOS
and
Android
and
streamlining
it
there,
which
is
awesome,
also
some
shell
enhancements.
So
in
the
top
right
corner,
you
can
see
some
more
customization.
A
It's
all
based
on
visual
state
manager,
really
really
nice,
there's
a
new
radio
button
with
radio
button
groupings
that
are
going
on
and
also
brand
new
expander
controls,
which
you
can
see
on
the
bottom
right
down
here,
which
is
really
cool
and
also
c-sharp
a
UI
extension.
So
if
you're
doing
c-sharp
development,
though
they're
my
favorite
feature
that
I
use
very,
very
heavily,
which
I'll
showcase
as
well,
which
is
font
embedding,
which
we've
always
had
the
ability
to
do
custom
fonts.
A
A
I'm
really
appreciate
of
it
and
it's
cool
too,
because
all
these
videos
will
be
archived,
so
you
can
always
watch
them
later
kind
of
an
advantage
of
just
streaming
it
right
over
to
YouTube,
which
is
great
now
the
other
really
awesome
announcement
I,
don't
know
why
my
thing
isn't
fullscreen.
Why
isn't
this
thing
fullscreen?
Let
me
see
if
I
can
figure
out
why
I
don't
know
how
to
how
do
I
use
this
thing.
Powerpoint
there
we
go
perfect.
Another
exciting
announcement
was
with
Don
f5
and
dotnet
6
next
year.
A
Some
awesome
things
that
are
coming
for
xamarin
developers
and
just
desktop
developers
and
mobile
developers
and
just
dinette
developers
during
the
dawn
at
5:00
and
Don,
at
6:00
session
from
Scott
hunter
and
Scott
Hanselman,
they
announced
dotnet
Maui,
which
is
the
dotnet
multi-platform
app
UI.
It
is
the
evolution
of
xamarin
form,
so
you
can
think
of
the
next
generation
of
xamarin
forms
reimagine
from
the
ground
up
built
on
top
of
dotnet
5
and
on
9
6,
which
is
really
really
cool.
A
It
features
a
brand
new
project
system
and
single
code
based
system
to
help
developers
be
more
productive.
It's
of
course,
cross-platform
with
native
UI,
has
a
new
underlying
architecture
to
simplify
renderers
and
make
it
really
easy
to
extend
it
to
other
backends
or
front
ends.
If
you
will
such
as
like
Askia
back-end
there.
A
It
also
is
first-class
support
for
mobile
and
desktop
so
iOS
Android,
Windows
and
Mac.
First-Class
support.
Like
I,
said
it's
an
evolution
of
xamarin
forms.
It's
gonna
target
dotnet
6.
So
it's
a
ways
off,
but
it's
open
source
already.
So
you
can
take
a
look
at
the
first
steps
and
all
of
the
great
work
that
the
team
is
doing
and
are
really
open
to
proposals,
not
only
in
the
codebase
of
how
you
build
applications,
but
also
with
the
tooling
as
well
and
I'll
talk
about
some
of
the
tooling
stuff.
A
Here
too,
which
is
cool
and
that's
because
well,
xamarin
and
xamarin
forms
developers
have
been
used
to
zamel
and
mvvm
that'll
still
be
here
in
donna
malli,
but
the
team
is
also
looking
at
adding
an
nvu
code.
First
approach,
so
model
view
update
it's
a
little
bit
different,
but
it
enables
c-sharp
development
actually
actually
in
from
inside
of
BS
code
as
well.
First-Class
support
to
easily
create
user
interfaces
with
hot
reload
built-in,
so
here
you
can
see
from
David
and
Matti
session.
A
David
is
changing
some
of
the
text
here
in
a
label
that
says
I
will
run
X
miles
instead
of
lines
of
this
month
and
you
can
increment
it.
So
the
entire
state
is
saved.
There's
simplified,
naming
and
ways
of
building
up
your
UI.
So
there's
like
a
button
with
a
rounded
border
with
a
frame
around
it.
You
know
with
different
background
colors,
and
this
is
sort
of
this
body
that
gets
updated
whenever,
whenever
your
UI
changes
in
here,
so
it
doesn't
have
to
do
a
full
redraw.
A
Just
does
a
diff
into
the
kind
of
virtual
Dom.
If
you
will,
but
it's
a
native
Dom
in
some
ways:
I'm
gonna
bookmark
that
and
just
Penn
native
Dom.
It's
really
cool
and
you
can
just
again
run
it
right
from
vs
code
or
open
in
vs
on
Mac
or
vs
2019
on
Windows,
and
this
is
really
great,
because
file
noon
from
the
command
line
is
easier
than
ever
dot
new.
You
know
Maui
and
then
boom
you're
good
to
go,
but
also
on
the
team
is
looking
at
how
to
simplify
actually
how
you
build
it.
A
So
remember,
I,
said
single
project
so
now
in
the
days
of
xamarin
application,
yet
you're
Donna,
sander
library,
if
you're
iOS,
Android
your
Mac
or
Windows,
it
gets
unruly.
So
instead
of
having
all
of
that,
you'll
just
simply
have
one
project
with
all
of
your
dependencies,
and
this
is
really
really
nice
and
in
fact,
and
that's
what
you
see
on
the
top
left
here.
You'll
see
resources,
platforms
and
all
of
your
app
code
here,
which
is
a
sam'l
app
in
the
middle
you'll,
see
the
CS
proj
since
it's
gonna
be
built
on
top
of
donna.
A
6
next
fall,
it'll
be
done
at
6
net6,
whatever
in
this
in
our
demo,
is
enough
v
in
simple
project
structure,
for
your
entire
application
and
there'll
be
ways
to
get
to
like
the
info.plist
and
android
stuff.
All
that
stuff
is
really
cool
and
then
also
since
it's
a
single
project,
you
can
easily
deploy
to
any
of
your
target.
A
So,
for
example,
here
on
resources,
you
see
that
there's
fonts,
you
just
put
all
of
your
font
awesome
fonts
in
there
and
then
your
images
all
of
your
images,
your
fonts
will
be
embedded
fonts
that
work
immediately
across
your
entire
application,
and
your
images
will
be
automatically
resized
to
at
1x
at
2x
and
3x,
and
the
appropriate
Android
variations
to
at
compile
time
and
it'll
cache
them.
So
you
only
have
to
do
it
once
it's
very
cool
now.
A
A
So,
for
example,
here
maybe
you
needed
to
access
the
Bluetooth
adapter,
you
just
simply
add
a
c-sharp
file
or
f-sharp
file
into
your
platform
code
right
there
in
the
boom
done
you're
good
to
go
and
it'll
automatically
know
that
it's
Android
stuff
right
there
iOS
stuff,
and
then
you
can
register
it
with
dependency
services
and
everything
like
that.
But
it's
all
gonna
work
how
you
sort
of
would
expect
it
to
work,
which
is
really
really
cool,
really
love
it,
and
that
was
one
of
the
big
announcements.
A
I
encourage
you
to
check
out
the
blog
down
there,
take
a
screenshot
of
that
real,
quick
or
just
scrub,
back
I
guess
in
YouTube
being
a
scrub
backwards
in
there
and
go
from
there.
That's
it.
That's
sort
of
my
news,
my
updates
I
have
and
I
know.
If
anyone
has
any
questions
in
the
chat,
I
can
definitely
go
through
and
answer
them
so
feel
free
to
ask
questions
in
the
chat
and
david
says:
he's
excited
for
donna,
a
maui
jonathan.
A
So
it's
a
low
few
sandy
Aegon's
in
here
I,
like
that
I
was
really
cool
in
J's
in
downtown
Seattle,
hope,
you're,
safe,
doing
well
down.
There
hope
everyone's
doing
safe
as
well
during
during
these
times
very
cool.
Well,
if
you
have
any
questions,
feel
free
to
ask
I
will
transition
over
here
and
into
the
main
talk,
which
is
me,
so
you
have
to
hear
me
talk
even
more
so
there's
that
so
let
me
go
ahead
and
swap
over
into
my
other
slide
deck
that
I
have
opened.
So
let's
go
there.
A
There's
me:
hey
everyone
how's
it
going
whoa,
that's
cool,
just
probably
minimize
that
and
there's
Mia
this
detective
Pikachu
over
there.
That's
pretty
cool
all
the
monkeys
right
over
there.
That's
pretty
cool
too.
Let's
say
that's
my
home
office
currently,
and
this
is
microphone
case.
You
saw
it
right
there,
all
right
cool
you
minimize,
this,
that's
cool!
Let's
go
and
rearrange
some
stuff,
perfect
cool,
all
right,
but
the
bump
bump
perfect
all
right.
A
So
what
I
have
tonight
is
something
that
I've
been
working
on
live
on.
My
live
stream
on
Twitch
I
use,
twitch
stream,
every
Friday
on
on
twitch
on
different
topics
in
xamarin
and
dotnet,
and
all
sorts
of
stuff
and
I've
been
building.
This
application
called
Island
trackers
for
Animal
Crossing,
which
is
a
Nintendo
switch
game.
You
don't
even
necessarily
know
too
much
about
it,
but
I'll
explain
it
a
little
bit
as
to
why
I
care
so
much
about
turnips
in
general.
A
So
there's
that
if
you're
just
coming
in
I'm,
James,
Monson,
magno
I'm
a
principal
lead
program
manager
for
donek
community
I'm
Microsoft-
and
you
can
find
me
everywhere
on
the
Internet,
github,
twitter
and
twitch
at
James,
Monta
magno.
You
can
just
search
for
my
name
on
Google
or
Bing,
and
you
will
find
me
pretty
much
everywhere
possible.
Now,
though,
this
would
be
a
fun
talk,
because
I
spend
a
lot
of
time
building
it
live
getting
input
from
from
people
collaborating
with
people
watching
the
stream
and
also
it
uses
a
lot
of
different
things.
A
It
uses
xamarin,
obviously
to
build
the
application
as
your
functions
and
as
your
table
storage
as
the
backend
and
a
bunch
of
other
cool
services
from
Microsoft
and
third-party.
As
well
so
I
wanted
to
talk
about
the
application.
How
I
went
about
building
it
answer
questions
along
the
way,
I
think
there's,
maybe
about
a
30
second
delay
in
the
chat,
so
I'll
keep
looking
at
the
chat
which
I
have
over
here
so
feel
free
to
ask
questions
or
chat
it
all
and
go
from
there
and
I.
A
Don't
want
to
kind
of
talk
about
some
lessons
learned
I
thought
that
that
would
be
sort
of
a
fun
a
fun
way
of
looking
at
it
is
there's.
You
know
things
that
when
you're
building
that
that
you
might
have
wanted
to
do
different
and
there's
opportunities
to
improve
as
well.
So
this
is
island.
Tracker
Island
tracker
is
a
social
turnip
tracking
application
that
enables
you,
when
you're
playing
Animal
Crossing,
to
easily
track
your
turnip
prices
with
all
of
your
friends.
A
Now,
if
you
don't
know
anything
about
Animal
Crossing,
that's
okay,
you
don't
need
to
I'll,
explain
what
this
application
was
for
and
what
it
is
for
today
and
on
the
App
Store,
and
you
go
to
island
tracker,
app
to
see
the
application
and
see
it
on
the
App
Store
when
you're
playing
Animal
Crossing,
which
is
a
game
for
the
Nintendo
switch.
It
is
a
game
in
which
you
kind
of
build
your
your
town,
your
villagers,
sort
of
like
the
sims
in
away,
but
every
one
are
everyone's
animals.
A
Besides
you,
you
are
building
your
house
you're
getting
stuff
in
it,
you're
buying
and
selling
goods
at
the
the
local
market
and
during
Sunday
and
throughout
the
week
there
saw
a
special
event
that
happens
on
Sundays,
which
is
that
this
character
in
the
game
Daisy
may
visit
your
town
is
it's
everybody's
town
in
the
entire
world?
Basically,
and
she
sells
you
turnips
and
they
call
this
thing.
A
The
stock
market
know
kind
of
like
the
stock
market,
but
the
stalk
like
a
stalk
and
the
whole
goal
of
is
that
you
buy
your
turnips
at
a
specific
price,
and
that
varies
every
time
that
she
comes
to
your
town
and
it's
different
on
everybody's
Island
and
then
throughout
the
week
you
are
able
to
sell
your
turnips
that
you
buy
back
to
the
shop
now.
The
kicker
here
is
that
those
turnip
prices
change
twice
a
day
and
they're
different
every
single
day.
A
So
what
I
found
is
when
I
first
started
playing
the
game
is
that
I
would
start
a
either
a
Google,
Doc,
Excel
spreadsheet,
or
a
group
Texas
Tech
text,
message
thread
and
I
would
just
text
all
my
friends
non-stop.
What
are
your
turnip
prices?
What
are
your
turnip
rises?
Can
I
come
over
because
I
might
be
buying
turnips
for
a
hundred
on
my
island,
but
on
my
friends
Island.
It
might
have
this
huge
spike
of
5.
In
fact,
there's
an
algorithm,
but
people
have
data
mined
to
figure
out
how
this
thing
works.
A
So
you
can
get
predictions
how
my
prediction
is
500
or
wait
over
here
this
next
day,
so
I
said
man
so
tedious
to
try
to
text
message
everyone
over
and
over
and
over
again
what,
if
I,
had
a
way
of
creating
a
social
network
of
friends
where
I
could
see
their
predictions
and
their
prices
as
they're
updating
them
in
real
time?
And
that's
why
island
tracker
was
born.
It
was
a
way
to
stop
text
messaging
friends
and
easily
see
all
of
your
friends
turn
up
prices.
That
way
you
can
make
some
profit
in
the
game.
A
So
I
had
some
goals
set
out
when
I
went
to
first
build
this
application.
The
first
one
was
that
I
wanted
a
good-looking
application.
I
really
wanted
to
take
advantage
of
the
latest
design
paradigms
a
lot
of
the
open
source
initiatives,
and
there
was
graphs
and
charts
that
could
be
associated
with
this
I
wanted
to
do
that.
I
also
wanted
to
be
able
to
track
my
weekly
turn
up
prices
and
get
predictions
like
I
said
earlier.
A
That
actually
had
led
to
some
some
some
craziness,
because
the
prediction
model
was
a
JavaScript
class
at
an
individual
road
and
one
of
my
viewers
converted
to
c-sharp,
which
is
really
cool.
It's
in
the
codebase
Sparky
did
that
which
is
really
cool.
I
want
to
be
able
to
sync
data
and
my
profile
with
a
back-end
I've
built
a
lot
of
applications
and
I've
built
a
few
with
backends,
but
not
necessarily
for
for
at
scale.
Maybe
a
few
thousand
people
but
I
wanted
to
have
constant
updates
before
this
may
be
the
biggest
app
that
did.
A
Syncing
was
like
the
conference
applications
I
I
built,
but
there
were
smaller
bits
of
data
and
didn't
have
you
know,
profiles
and
things
like
that.
It
was
more
social,
login
I
wanted
a
simple
friend
system.
I
didn't
want
any
logins.
That
was
a
goal:
no
login,
there's
no
social
off.
There's
no
off
system.
There's
nothing
like
that.
I
want
to
be
able
to
view
in
sync
friend,
statuses
and
their
prices
in
my
application
and
down
the
road.
I
wanted
to
have
the
ability,
to
maybe
add
push,
notifications
or
desktop
support.
A
So
I
think,
oh,
that
last
feature
really
sort
of
made.
Sure
like
hey
I
was
already
gonna.
Do
it
in
xamarin,
but
I'm
gonna
go
across
platform.
I
want
to
have
a
back-end,
that's
in.net
I
want
my
mobile
apps
to
be
Annette
and
I
want
the
ability
to
do
push
notifications
with
a
native
app
in
the
future
and
maybe
even
create
a
desktop
app.
If
I
need
to
do
so.
A
Those
are
sort
of
my
high-level
goals
there,
but
I
knew
the
first
five
I
really
wanted
to
have
for
a
v1
and
that's
where
violin
tracker
was
born,
and
this
is
actually
what
it
looks
like.
It's
a
I
think
it's
a
really
great
looking
UI
that
uses
a
lot
of
new
paradigms
uses
more
of
this
acrylic
e-card
elevated
view.
On
top
of
it,
it
looks
nearly
identical
between
iOS
and
Android.
As
you
can
see,
there
are
some
differences.
A
The
icon
size
is
a
little
bit
different.
Some
spacing
consideration
is
a
little
bit
different
just
because
of
widths
of
phones
and
things
like
that,
but
in
general
I
wanted
them
to
look
nearly
identical
I'm
using
some
custom
fonts.
Here
with
that
friends
and
the
open
thing,
it's
a
nearly
identical
and
that
was
sort
of
my
my
goal
and
I
think
it
came
off
pretty
good
in
general.
A
You
can
see
there's
some
differences
in
some
of
the
artwork
is
the
same,
but
a
lot
of
the
rest
of
it
uses
emojis,
which
I
was
actually
really
cool,
so
you
can
just
use
emoji
as
artwork,
but
of
course
they
are
different
between
iOS
and
Android,
but
as
far
as
the
sure
codebase
of
it,
I
wanted
to
be
nearly
identical
and
I
wanted
the
apps
to
look
nearly
identical
to
that's
where
xamarin
forms
shell
came
into
the
equation.
I
started
this
application
news
as
completely
greenfield
and
I
had
never
used.
A
Xamarin
forms
shell
for
a
full
application.
I
had
started
to
convert
some
of
my
other
applications
over,
but
I
never
really
filed
new
really
took
advantage
of
some
of
the
new
things
that
they
were
doing.
Homura
says,
looks
similar
to
new
neo
morphism,
yeah
kind
of
that
that
vein
as
well
I
was
definitely
going
for
that
inspiration,
good
good
point
on
yeah
Frank
and
I
talk
about
an
emerge
conflict.
That's
true,
so
I
don't
have
a
specific
name
for
it,
but
that
is
probably
the
Neo
morphism
is
similar.
A
Ask
not
100%,
because
you
can
see
I
didn't
follow
it.
A
hundred
percent
with
the
toggle
buttons
and
stuff
like
that
I
was
there
so
I
got
excited
about
shell
for
many
reasons
that
I'll
get
into,
but
I
thought
it
would
be
a
great
way
to
sort
of
simplify
the
architecture
of
the
app
going
forward
change
over
to
a
URI
based
navigation,
which
I'll
talk
about
here
and
really
start
fresh
with
like
hey.
A
If
this
is
the
direction
of
xamarin
forms
team's
been,
you
know
really
pushing
I've
been
watching
Shane
non-stop
on
his
on
his
streams
and
conference
sessions.
I
really
need
to
embrace
and
through
embracing
I
fell
in
love.
I
did
a
session
during
build
on
the
Microsoft
developer,
twitch
I'm,
a
new
love
and
passion
for
it.
I
have
presented
at
for
some
students
as
well
a
navigation,
and
they
really
fell
in
love
with
it.
A
Just
how
easy
it
was
and
to
me
it
sort
of
made
sense
instead
of
pushing
pages,
you're
pushing
URLs,
and
it
knows
how
to
do
stuff.
So
we'll
talk
about
that
here
in
a
bit
but
shell,
if
you're
brand
new
to
it.
The
whole
concept
is
an
opinionated
way
of
creating
a
shell
of
your
application.
So
it's
an
app
shell
and
you
put
all
of
your
pages,
your
infrastructure
and
you
lets
the
shell
handle
the
navigation,
the
theming,
the
styling,
the
tabs,
the
flyout.
It
does
everything
for
you.
A
So
shell
by
default
has
a
few
modes.
You
can
just
display
a
page
or
you
can
have
a
flyout
navigation
bottom
tabs
top
tabs
bottom
and
top
tabs
you're
gonna
fly
out
to
you
can
have
all
of
them
all
the
things.
So
there
too,
so
in
this
application,
I
used
bottom
tabs.
So
inside
of
my
app
shell,
I
have
a
tab
bar
and
it
has
some
tabs.
I
could
have
if
I
had
multiple
pages
inside
of
a
tab.
A
It
would
be
top
tabs,
but
as
we
can
see,
I
have
three
tabs
I've
a
home
tracking
and
Friends,
and
what's
great
here,
is
that
inside
of
each
of
these,
I
can
clearly
have
a
title.
So
I
have
title
home
route
home
and
that's
gonna,
be
the
URL
of
home.
Is
my
route
I?
Have
a
icon
and
we're
seeing
here
that
I'm
using
font
awesome
for
my
font,
image,
source
and
I'm
using
a
glyph
here,
it's
a
string
from
my
resources
and
I'm
using
the
font.
A
Awesome
solid
family
here,
the
free
version
of
it
and
then
I
have
a
shell
piece
of
content.
So
on
the
fifth
or
so
piece
of
line.
We
have
that
and
I
have
this
thing
called
a
Content
template,
so
how
shell
works
is
instead
of
loading
everything
up
in
memory
it
loads
it
on-demand.
So,
as
I
flip
to
a
tab,
it
then
loads.
This
data
template,
if
you
will
this
content,
template
to
say,
load
this
page,
and
this
is
really
really
nice.
I
could
add
a
flyout
page
really
really
easy
on
topic
here.
A
A
Now
I
also
decided
to
leverage
a
few
other
controls
from
the
latest
version
of
xamarin
forms
that
really
became
really
nifty.
So,
if
I
talk
about
how
I
built
this
application,
this
is
how
I
put
it
together.
I
started
with
collection
view
with
groupings.
So
when
I
have
this
toggle
of
updates
and
gates,
I
can
toggle
between
the
different
modes.
Their
collection
view
was
a
easy
transition
from
ListView.
It's
super
improved.
A
My
performance
really
made
it
really
really
easy
to
update
and
had
all
this
grouping
and
things
built
right
in
I
also
added
these
custom
swipe
options
with
a
new
swipe
view.
That's
built
right
in
so
when
a
user
comes
in
and
swipes
underneath
I
have
these
little
cards
underneath
to
remove
or
to
view
a
friend
code
inside
of
it,
and
you
can
swipe
up
and
down
and
left
and
right,
and
you
can
add,
as
many
of
those
as
you
would
like
completely
customized.
A
So
this
has
a
similar
feel
to
what
an
iOS
user
would
be
used
to
or
even
an
Android
user
swiping,
but
it
has
a
custom
view
under
not
underneath
with
some
font.
Awesome
controls,
which
is
cool
I,
also
used
some
amazing
community
controls
to
make
this
a
pretty
good-looking
application.
As
Homero
says,
this
is
pretty
good-looking
allocation
so
and
honestly,
after
his
Ameren
forms,
I
used
tons
of
built-in
xamarin
forms
controls
shall
all
this
stuff
that
was
built
in,
but
there's
this
amazing
xamarin
forms
and
xamarin
community
have
done
at
developers
with
these
amazing
trol.
A
A
I
actually
use
it
here,
and
here
you
would
think
that
it's
for
these
main
cards,
but
it's
not
I'll,
talk
about
that
next,
but
you
can
note
that
it's
pretty
flat
design
because
it's
a
card,
it
has
a
drop
shadow
right
underneath
that
home
in
that
profile,
but
it's
flexible,
so
I
have
rounded
corners
and
this
sort
of
card
scrolling
thing
as
I
call
it.
That's
what
I'll
call
it
it
comes
this
new
way
of
adding
corners
on
it,
but
you
can
add
different
corner
radiuses
for
top
left
top
right.
A
Bottom
left
bottom
right,
you're
in
full
control.
I
could
also
add
a
gradient
as
the
full
background
if
I
need
it
to,
which
is
very
nice
with
gradient.
Stops,
works
fully
cross-platform
across
iOS,
Android,
Windows,
I,
think
mac
supports
coming
soon
and
I
also
use
it
up
top
here
on
the
top
right
now
it
is
very
similar
to
the
card
or
the
frame
in
xamarin
forms,
but
I
think
it's
just
a
little
bit
more
consistent
as
far
as
the
corner
radiuses
and
that
control.
A
So
that's
why
I
decided
to
use
it
there
now
for
those
main
views
that
you
see
that
were
where
neo
morphism
as
Humaira
said
these.
This
is
something
from
a
good
friend
of
John
Murray
from
sharp
NATO.
He
has
this
awesome
library
called
sharknado,
but
he
broke
out.
This
thing
called
material
frame
and
material
frame
is
really
cool.
It's
what
I
use
in
nearly
all
aspects
of
the
application
and
material
frame
gives
different
styling.
He
called
this
acrylic,
but
it's
kind
of
neo
morphism
in
a
way.
A
There's
a
dark
theme,
a
light
theme,
there's
a
blur
theme,
so
you
can
blur
backgrounds
and
things
like
that
using
the
native
theming
I'm
using
the
acrylic
version
here.
So,
if
you're
looking
at
this
control,
you
could
do
that.
It's
very
similar
to
the
card
view
or
the
pancake
view
like
I
said,
but
they
play
nice
together.
When
you
want
different
styles
in
your
application,
you
want
different,
rounded
corner
our
different
drop
shadow
effects
back
and
forth.
It's
very
customizable,
very
Thema
bewitch
I,
which
I
absolutely
love.
A
I,
also
used
a
bunch
of
sink
fusion
controls.
So
sink
fusion
has
a
free,
Community
Edition
here
I'm
using
a
combo
box,
a
numeric
up/down
a
masked
entry,
so
they
can
only
enter
specific
digits
and
numbers
inside
that
dodo
code.
I'm
using
this
thing
called
an
input
layout.
So
does
this
replace
here
you'll
see
kind
of
the
emoji
status
goes
up
to
the
top
of
it.
A
It
would
fill
it
as
a
placeholder
same
thing
here:
I
wrap
this
and
the
status
same
thing
with
the
dodo
code
that
you
saw
go
up
there
and
if
you
see
here
the
sync
button
when
I
tap
it
it
does
that
little
shim
shimmer
there
that's
a
little
affects
view
that
you
can
add
to
anything
which
is
really
really
cool.
So
I
combined
using
the
sync
fusion
controls
and
I
said
you
know.
A
If
I
sell
a
million
dollars
worth
of
this
stuff
I
will,
you
know,
get
a
license
for
a
sync
fusion,
but
you
can
get
a
free,
Community
Edition,
which
is
cool,
and
these
are
just
some
of
the
controls
that
are
kind
of
similar
to
xamarin
forms
like
you
can
do
most
of
the
stuff
in
xamarin
forms.
But
I
was,
like
you
know,
I
already,
including
a
bunch
of
the
sync
sheesh
and
stuff.
A
It
just
tells
me
get
a
little
bit
more
custom
style
without
having
to
write
the
custom,
renderer
I
also
put
in
charts
and
graphs.
So
this
is
a
beautiful
chart
and
graph
that
I
put
in
for
the
turnip
prices.
The
man
and
Mac
stays
inside
of
here
and
I
also
use
their
expander
control.
This
is
one
that
sync
Fusion
has,
but
now
xamarin
forms
has
one
so
I've
been
looking
at
swapping
it
out
and
I.
A
A
It
was
gave
me
a
lot
more
real
estate
in
the
application
to
to
show
this
cuz
I
didn't
need
it
all
the
time
I
just
you
know,
the
user
was
really
in
control
there,
which
is
nice
and
I,
also
use
a
bunch
of
helpful
packages.
Besides
UI
controls
that
I
figured
I
talked
about
here
and
building
it
first
thing
is
I
use
this
library
called
mvvm
helpers.
It's
simple,
straightforward,
I
built
it
as
from
me,
I
use
it
in
every
single
one
of
my
applications.
A
Ever
it's
a
bunch
of
helper
classes
as
async
command
and
observable
range
collection.
That
should
be
observable
object
a
bunch
of
nice
little
things,
it's
not
an
mvvm
framework,
but
it
is
an
mvvm
sort
of
little
helper
library
in
a
way,
I
also
use
something
called
resize
a
tiser
NT.
This
is
a
library
from
a
good
friend,
Jonathan
dicker
Rath,
our
e
DTH
on
Twitter,
and
it
does
sort
of
cross-platform
images
similar
to
sort
of
where
the
donna
maui
stuff
is
going.
A
But
you
add
all
of
your
images
into
one
folder
and
it
automatically
compiles
everything
for
you
into
the
specific
sizes
that
you
need,
which
is
really
helpful.
I
also
use
font
awesome,
which
you
saw
in
a
bunch
of
the
icons
and
glyphs
that
I
use
throughout
and
those
are
using
embedded
fonts
with
a
single
line
of
code
which
I'll
show
off
when
I
go
into
the
code
there.
A
They
also
use
something
called
monkey
cache,
which
is
another
library
that
I
created,
and
this
is
because
I
don't
have
a
database
in
my
application.
I
use
a
lot
of
xamarin
essentials
to
store
preferences
and
different
data,
and
things
like
that,
but
I
needed
to
store
temporary
weekly
data.
So
every
week
I
wanted
to
track
that
data,
so
monkey
cache
lets.
A
You
traditionally
store
cash
into
a
folder
that
is
deleted
by
the
system
whenever
and
I
use
monkey
cache
for
that
when
I'm
querying
restful,
back-end
services,
usually
cuz
I,
can
cache
that
if
you're
offline
just
return
the
cache
data,
but
in
this
instance
I
use
the
monkey
cache
as
a
permanent
cache
you
can.
You
can
override
this,
the
location
of
where
monkey
cache
stores
are
data
to
put
it
into
a
permanent
location.
That's
what
I'm
doing
here,
which
is
cool.
A
So,
if
you're
ever
looking
for
something
simple,
I
just
use
file
cache,
there's
just
a
file
write
to
write
a
file
to
the
disk,
so
that's
sort
of
the
application
how
I
built
it
but
of
course
the
front
end
and
the
user
interface
is
only
one
half
of
it.
I
also
wanted
to
talk
about
a
back-end
that
I
built
for
it.
A
My
goals
here
with
the
backend
is
that
I
didn't
want
to
have
a
server
I
didn't
want
to
have
to
have
a
always-on
server
that
was
hanging
out.
Always
there
I
didn't
want
databases,
because
I'm,
not
a
sequel,
expert
I
didn't
need
a
data
source
per
se,
but
I
didn't
want
a
database
like
a
sequel
database.
A
I,
don't
want
to
pay
for
two
things
that
was
kind
of
my
goal
with
it,
but
I
did
want
it
to
be
affordable
and
I,
wanted
it
to
scale
if
I
needed,
so
I
use
an
architecture
that
I've
sort
of
fallen
in
love
with
for
my
back-end,
which
is
a
Azure
functions,
and
if
you've
ever
watched
me
on
Twitch
build
some
of
my
applications.
I
use
Azure
functions
as
a
way
of
querying
and
store
a
dating
data
into
blob
storage,
just
JSON
files
and
serving
them
up
well.
I.
A
Don't
want
to
just
save
thing
as
JSON
files,
I
want
to
put
them
into
some
data,
esque
format,
and
that's
where
I
fell
in
love
with
table
storage,
part
of
azure
storage
and
as
your
table
storage
is
a
really
drop
dead.
Simple
key
value,
key
its
key
based,
but
it
has
multiple
values
inside
of
it.
So
if
there's
rows
of
data
inside
of
a
table,
so
you
have
a
user
table
with
all
of
your
users
and
they
have
different
keys
associated
with
them.
A
So
the
whole
goal
here
is
that
the
mobile
application
always
talks
to
the
azure
function,
backend
for
everything,
100%
and
then
the
azure
functions
will
communicate
with
the
table
storage.
On
top
of
here
to
query
data
insert
data
update
data,
delete
data.
Everything
like
that
and
I'll
use
Azure
functions
as
my
restful
api,
for
all
intents
and
purposes,
and
the
reason
I
can
use
Azure
functions
as
my
restful.
Api
is
because
it's
really
cheap
to
be
honest
with
you.
A
The
first
month
of
production,
I
spent
less
than
one
penny
on
Azure
functions,
which
is
amazing
and
with
several
hundred
users.
So
you
can
imagine
scaling
it
out
to
millions
will
be
also
very
cheap
too
and,
as
your
table
storage
was
also
very
cheap
for
the
first
month,
sub
80
cents
or
about
60
cents,
70
cents
or
so
for
this
use
case
that
I
have
and
haven't
really
optimized
that
functionality
to
too
much,
but
I
have
started
to
look
at
some
optimizations
there.
A
So
this
is
how
the
flow
goes
goes
back
and
forth
back
and
forth,
and
this
was
nice
because
I
thought
about
well
what
about
in
the
future,
where
I
went
ahead,
push
notifications
or
other
things
so
I
could
use.
Oh,
we
got
some
got
John
and
his
computer.
Oh
that's
not
me
that
was
John
onedrive,
all
right
cool,
we're
back!
So
I
thought.
Maybe
how
else
could
you
inject
some
other
things?
They
may
be
cue,
storage
or
edger
cues.
A
A
I
want
to
have
this
user
system
and
the
user
system
I
wanted
to
make
it
very
very
simple:
I
call
this
the
Frank
Krueger
architecture,
because
he
told
me
this
is
how
I
should
do
it
and
then
I
did
it
so
I
wanted
to
have
it
very
simple:
private
and
public
keys,
those
that
is
your
user.
It's
just
like
your
identifier,
but
instead
of
having
an
email
and
a
social
authentication,
when
you
start
up
the
application,
you
have
a
private
and
a
public
key,
hey,
Brian,
how's
it
going
Daniel
is
well
good
to
see
you.
A
The
private
key
would
be
stored
and
is
private
to
the
user
in
general.
Here
the
whole
goal
was
that
this
is
for
server
communication.
Only
my
mobile
device
and
myself
know
the
private
key
and
only
the
server
know
my
private
key
when
I
register
I
make
that
handshake
and
that's
the
only
part
in
which
the
authentication
or
bearer
token
is
exchanged
and
that's
of
cryptid
across
the
wire
with
HTTP
and
a
normal
sort
of
bearer
token
authentication.
A
The
public
key,
on
the
other
hand,
would
be
shareable,
you
know,
and
the
combination
of
them
is
a
user.
So
all
of
my
friends
can
have
my
public
key
and
they
can
say,
hey
give
me
all
of
my
friends,
statuses
and
when
they
make
that
query
their
private
key
and
their
public
key
together
up
to
the
server
they
can
go
grab
all
of
their
friends
from
the
database
and
query
the
friends
statuses.
It's
a
very
nice
way
to
be
able
to
do
that.
And
additionally,
it's
how
the
friends
system
works.
A
You
can
share
your
public
key
with
your
friend
and
that's
how
you're
able
to
share
data
with
it.
In
fact,
if
you
ever
have
used
a
Nintendo
switch,
it's
very
similar
on
the
Nintendo
switch
works,
the
Nintendo
switch
itself.
You
have
a
switch
code,
a
friend
code,
that
you
can
give
to
your
friends
to
send
friend
requests
and
then
you
can
see
each
other,
so
that's
sort
of
how
it
works
there.
A
Now
these
codes,
these
keys,
if
you
will
argh
whiz
and
these
are
generated
when
the
app
is
created
and
I
store
them
in
the
keychain
via
xamarin,
essential,
secure
storage,
so
I
only
generate
them
once
when
you
first
create
your
account
boom.
You
have
them
right
away.
I
do
have
a
way
to
import
and
export
profiles,
which
is
a
little
bit
more,
but
they
are
tied
to
your
device.
I
think
that's
the
that's!
The
one
thing
I
wasn't
really
in
love
with
necessarily,
but
it's
tied
to
your
device.
A
So
if
you
upgrade
your
operating
system,
obviously
that's
gonna
upgrade.
If
you
transfer
device
to
device,
that's
gonna
kind
of
depend
on
your
iCloud
data,
backup
situation
right,
it
may
go
or
it
may
not
go,
but
I
do
have
a
way
of
exporting
and
re
importing
your
data
very
easily
in
the
app
with
a
button
click.
A
So
some
users,
you
can
almost
think
of
it
as
2
factor
auth,
where
you
have
those
export
codes,
you
can
always
export
your
code
and
re-import
into
any
device
later
and
that's
a
user
very
simple
and
then
beyond
that
it's
just
poco
option.
You
know
it's
the
poco
option.
It
has
a
private
and
public
key
and
then
everything
else
is
there.
So
I
have
a
bunch
of
demos
here,
I'm
going
to
show
you
my
back-end
and
how
this
actual
application
works.
So,
let's
go
into
it
can
close
this.
Let
me
go
into
visual
studio.
A
Now,
I'm
gonna
go
and
bump
up
my
fonts
to
160
it's
going
to
close
a
bunch
of
stuff
here
there
we
go
so
I
want
to
show
you
the
application,
really
quick.
It's
going
to
zoom
in
and
I
have
my
normal
xamarin
stuff
down
here.
So
I
have
my
my
turnip
tracker
down
here.
I
have
all
my
sam'l
pages,
bla
bla,
bla,
bla
bla,
so
many
zamel
pages,
which
is
cool
I,
have
all
my
dependencies
all
the
packages
that
you
would
expect.
Look
at
all
those
look
at
all
that
sink
fusion
stuff
in
there.
A
So
much
stuff,
which
is
cool,
I,
mean
then
I
have
my
android
and
iOS
projects
here
and
I
then
have
my
Asha
functions,
so
my
azure
functions
enable
me
to
run
locally
and
do
all
my
development
locally
on
my
machine
test,
everything
100%
using
Azure
storage
Explorer
on
both
Mac
and
PC,
which
is
cool,
and
this
is
where
I
have
all
of
my
guts
and
sets
so
I.
Have
things
like
create
profile
which
over
here
is
a
post
and
I,
have
an
update
profile,
which
is
a
put
I?
Could
look
at
me?
A
A
This
is
really
cool
on
the
get
I
have
a
route
that
says,
call
get
friend
request
my
public
key
it'll
automatically,
send
it
down
right
because
we're
not
passing
any
additional
things
here.
We're
gonna
pass
that
down
and
it
also
grabs
azure
table
storage
cloud
tables.
So
this
is
really
nifty.
Every
Azure
function
account
comes
with
an
azure
storage
account
that
you're
already
paying
for,
and
it
has
table
storage
built
into
it.
A
So
I
am
saying,
give
me
my
friend
request
and
my
user
table,
which
is
really
cool
and
that
passes
it
down
100%,
so
I
just
call
this.
The
Azure
function
will
handle
querying
everything
handle
validation
of
user
codes.
Everything
like
that
is
it
automatically
and
I
love
the
debug
ability
of
it
here.
So
I'm
just
gonna
start
running
the
Azure
function
here
locally
and
then
show
you
how
the
data
works.
I've
cleared
out
all
the
data,
so
it's
fresh
and
I
have
some
fresh
apps
that
I
have
here.
A
So
let's
go
ahead
and
build
this
here
and
we'll
get
it
running
there
we
go.
So
it
should
be
star,
not
perfect,
and
this
is
really
nice,
because
often
I'd
have
some
multiple
visual
studios
and
a
debug,
the
Azure
functions
and
debug
my
applications
at
the
same
time.
So
here
we
go
so
I'm
going
to
open
up
this
application
here.
So
here
we
go.
It's
running
I'm,
just
gonna
open
this
up
feel
free
to
ask
questions
and
everything
like
that.
A
If
you
have
questions
as
well,
so
here
it's
gonna,
just
start
it
up
everything
it
has
gone
in
says
here.
My
API
is
the
localhost,
so
I've
approved,
create
get
friend,
request,
public
key
reject
friend.
You
know
these
other
things.
Remove
friends
submit
friend
request
all
the
different
api's,
and
what
this
is
talking
to
here
is
my
local
storage
here.
So
I'm
just
gonna
drop
this
down.
Let's
go
here:
let's
go
here:
I'm
gonna
go
over
into
my
my
attached
storage
emulator
to
storage.
A
Here
we
go
so
we
can
attach
containers
or
we
can
do
emulated
things
and
we
have
tables
there.
We
go
so
here.
If
I
go
into
my
my
azure
storage
Explorer,
that's
what
this
is
as
your
storage
Explorer.
If
you
can
get
that
on
anything,
it
has
my
blobs,
my
Q's
and
my
tables.
So
I
have
a
friend
a
friend
request
and
a
friend
tables
I
create
these
integrate
these
in
Azure
over
there,
and
we
can
see
that
they're
completely
blank
right
now,
so
I'll
go
and
let
the
spin-up
it's
probably
on
skype.
A
A
Great
great
question:
I'll
show
you
that
in
code
John
as
well
good
question,
so
here's
what's
gonna
happen
is
I'm
gonna
go
ahead
and
create
my
profile,
so
I'm
gonna
go
over
here,
the
first
time
the
user
starts
the
application
they're
brought
over
to
this
screen
to
create
a
profile,
but
I
was
debugging
it
earlier.
So
we'll
just
say:
this'll
be
Mott's
1
and
on
the
island
of
Faja.
A
Here
I
can
select.
Let's
say:
I
have
oranges
on
mine
and
here's
one
of
those
masked
items
here
and
I
was
going
to
put
that
in
my
friend
code
and
I
can
then
hit
create
on
here
now
this
will
go
off
and
this
should
call
into
my
header
function,
back-end,
which
should
be
running
here
there
we
go
so
the
post
gets
hit
here,
it's
creating
the
profile
and
executing
it
and
then
boom
I've
created
my
profile.
If
I
refresh
boom
I,
have
my
data
I
can
double
tap
on
this
partition.
A
Key
I've,
given
them
hard-coded
keys
here
for
the
demo
purposes.
But
this
is
what
an
entity
looks
like
over
here:
I
have
our
partition
key
and
a
row
key
1
is
my
public
key
and
one
is
my
private
key
that
I
have
there
to
quids
and
then
I
have
just
information,
so
in
state
x,
strings
and
E
there's
a
bunch
of
different
datatypes
bullying's
binary.
You
can
add
a
bunch
of
stuff
in
here
but
they're.
A
All
here,
which
is
really
cool,
so
I
have
different
emoji
statuses
and
a
bunch
of
different
things
that
I
can
put
in
here.
Some
of
them
I
don't
even
use
right
now
and
they're
all
in
here,
which
is
cool
and
if
I
come
over
back
into
the
application,
and
if
I
update
this
to
say
you
know
cherry
actually,
let's,
let's
do
something
more
visible.
Like
I've
changed,
my
name
hit
sync
again:
I
can
come
over
and
refresh
this
again
and
now
we'll
see
that
we
have
Mott's
2
right
here
instead
of
mots
one.
A
So
it's
sending
that
back
and
forth.
Now
how
this
works
and
John
was
asking
how
to
I
protect
the
function
off
code
on
the
device.
It
actually
doesn't
matter
too
much
to
be
honest
with
you,
because
the
private
key
is
is
is
how
it
secures
this
data,
so
how
this
works
is
inside
of
my
app
I
have
a
big
list
of
keys,
so
I
at
Build
time,
I
swap
out
the
URL
and
my
azor
function
key.
So
every
single
one
of
those
methods
that
I
call
has
a
different
key
associated
with
it.
A
So
it's
function
key,
so
I
have
a
build
script.
I
can
actually
show
it
to
you
here
in
for
App
Center,
which
I
build
on
and
I
switch
out
a
bunch
of
different.
You
know
app
secrets,
keys,
all
sorts
of
different
things
that
I'm
storing
in
my
environment
variables
on
App
Center,
but
how
this
works
is
is
like
this
I
have
a
function
and
let's
say
that
one
which
is
create.
So
this
would
be
a
good
example.
Excite
just
did
create
an
update,
so
what
I'll
do
over
here?
A
Let's
go
into
my
data
service
class
and
let
me
go
into
my
data
service
class.
There
we
go
and
I'll
do
up,
cert
I
have
up
cert
user
profile,
and
this
is
pretty
cool,
so
I
get
my
profile
or
I
pass
it
in
and
I
create
my
user.
So
this
is
my
user
here,
and
the
user
has
all
the
information
that
I
showed
had
updated,
I
make
sure
things
aren't
null
and
all
that
stuff,
and
then
here
I
get
my
my
public
key
and
that
is
coming
from
my
xamarin
xamarin
essentials.
A
So
I
go
and
I
get
my
key
and
when
I
get
my
key,
it
go
ahead
and
it
grabs
it
from
the
secure
storage
over
here,
and
it
just
does
some
validation
on
the
backend.
Now
the
kicker
here
is
this
is
when
I
go
ahead
and
create
this,
we
can
see
that
I
put
do
a
put
or
a
post,
and
here
either
call
update,
profile
or
create
profile,
and
this
is
how
I
make
the
call,
so
the
OP
code
is
inside
of
the
device.
A
So
that's,
secondly,
not
the
most
secure
thing
in
the
entire
world,
but
it's
there
and
over
here
I
have
my
content
that
I'm
sending
now
the
the
the
of
it
is
whenever
I
do
a
put
or
a
post
or
anything
I
come
in
and
I
just
have
very
simple.
Http
calls,
so
I
call
put
a
sync
get
the
response.
Do
some
proper
validation
but
I?
A
Have
this
key
thing
called
set
header
and
the
set
header
is
the
real
key
which,
as
the
authentication
header
into
it,
so
how
this
works
is
I,
go
in
and
I
go
ahead
and
grab
the
authentication
now
I
see
if
it's
has
the
authorization
flag
on
and
if
it
doesn't
I'll
grab.
My
private
key
over
here
and
the
private
key
is
the
key
that
unlocks
the
functionality
in
the
backend
I
do
some
encoding
on
it.
A
I
have
sent
it
to
a
base64
string
and
then
I
simply
create
a
new
bearer
token
authentication,
header
value
and
that's
how
the
back
end
works.
Now,
in
my
back
end,
when
I
go
over
to
my
profile
and
I
say
create
profile,
we'll
see
that
that
looks
pretty
similar
I
go
in
I.
Have
this
util
called
parse
token,
and
when
I
go
in
here
and
I
go
into
definition,
every
single
time,
I
call
it
it
goes
in
and
what
it
does
is
it
takes
my
authentication
header
value.
It
verifies
that
it
exists.
A
It
gets
the
encoding
converts
it
from
base64
and
converts
it
to
a
grid,
and
that's
how
I
know
it's
valid
now.
Additionally,
anyone
can
pass
me
any
grid
and
that
would
be
valid,
but
they
would
have
to
have
the
correct
combination
of
my
private
grid
and
my
public
grid,
because
the
first
thing
I
do
is
I
well,
this
is
create,
so
it's
create,
but
let's
say
I'm
updating
my
profile
after
I
get
that
information
I
ensure
that
that
user
exists.
A
So
in
that
call
there
is
multiple
guard.
Just
one
they'd
have
to
somehow
get
that
HTTP
request.
With
that
token,
they'd
have
to
get
the
grid
that
have
to
serialize
it
correct
there's
unless
you
crack
into
the
keychain
you're,
not
getting
that
grid
per
se,
so
as
sort
of
the
authentication
malla
I
did
there
back
and
forth.
So
there's,
no,
you
know
easy
auth
or
anything
like
that
on
it.
It
just
boom
is
just
right
there.
A
Now,
mostly
that
answers
some
questions,
and
this
was
the
Frank
architecture
that
I
said
earlier
there
we
have
this
right
and
the
whole
goal
is
that
I
have
a
very
easy
way
of
coming
in
going
in
setting
different
statuses.
I
can
update
this.
It
turns
blue,
it
just
updated
it
really
quick.
There
I
can
come
into
my
turn
of
tracking,
and
today
I
could
say
was
190
and
maybe
at
this
afternoon's
150
over
here
and
I
could
set
my
my
buy
price
here
up,
maybe
100
so
we're
back
on
Wednesday.
A
So
we
get
some
information
that
I'd
be
making
some
money.
I
could
look
at
my
predictions.
I
get
a
nice
little
graph
over
here.
Saying.
I
should
probably
sell
right
now,
because
this
is
the
most
it'll
ever
be,
and
then
I
can
also
sync
that
to
the
back
end,
which
is
cool,
good
question,
Homero
was
asking
what
are
my
monthly
cost
for
the
Azure
table
storage.
So
so
far
with
several
hundred
users,
my
with
no
optimizations
I
should
say
my
header
functions.
A
Costs
are
about
one
penny
and
my
hazard
table
storage
costs,
which
I'm
using
hot,
is
about
60
cents.
So
far,
so
that's
what
I'm
at
currently
and
again
I.
Have
it
really
super
optimized
it,
but
I
am
looking
at
further
ways
of
optimizing.
Some
of
the
calls
there
now,
if
I
refresh
this,
there's
some
things
that
are
gonna
happen
here.
A
So
in
fact,
if
I
double
tap
on
this
I'll
see
that
if
I
double
tap
on
this
entry,
you'll
see
if
it's
gonna
open
and
there
we
go
so
we
can
see
I
have
a
new
a.m.
price.
My
I
didn't
update
my
purchase
price
here,
but
I
do
have
my
max
prediction
of
90
minimum
prediction
here
and
my
p.m.
prices
all
this.
All
this
different
data
here
is
gonna.
A
Help
me
share
that
in
general,
but
yeah
yeah,
there's
your
storage
account
is
very
cheap
and-
and
you
can
then
of
course
use
other
things
too,
like
file
storage
and
queues
and
whatnot
too,
but
very
cheap,
so
I'm
not
sure
at
scale
yet
but
I'm,
assuming
that
it
will
be
not
that
bad
so,
but
we'll
see
as
it
grows,
yeah
cool.
So
that's
just
a
little
demo
of
how
the
backend
and
Azure
functions
work
and
how
I
updated
in
the
backend
back
and
forth.
Let's
continue,
I
think
the
real
magic.
A
All
this
entire
thing
is
the
friends
system.
Again,
this
is
the
Frank
Krueger
friend
system,
I'm
very
excited
about
it,
and
it
worked
very
very
well
and
it
works
a
little
bit
like
this
I'm
James
I
am
mots
over
here.
If
you
will
and
I
want
to
have
Homero
be
my
friend-
and
this
is
funnily
how
the
exist.
Nintendo
switch
system
works
so
for
that
to
initiate
what
I'm
gonna
do
is
inside
of
my
application.
A
I
am
going
to
share
my
friend
code
or
my
friend,
a
link
with
Homero
and
Homero,
gets
it
in
a
text
message
and
an
email
and
anything
and
he's
a
go.
Cool
I
got
this
link
and
he
taps
on
it
and
he'll
be
brought
into
the
application
where
he
can
send
me.
A
friend
request,
a
friend
request
gets
sent
into
the
system
and
I
get
notified
inside
of
my
application.
A
That
I
have
a
new
friend
request
and
at
that
point
I
can
approve
or
deny
that
request
in
the
system
and
if
I
approve
it
we're
friends,
we
can
see
each
other's
data.
If
either
of
us
remove
that
friend,
then
we
break
that
friend
link
and
then
we
can
restart
the
process
over
so
I
get
a
friend
link
I,
send
it
to
a
to
my
friend.
They
click
on
it
inside
the
application.
They
submit
a
friend
request
to
me,
I,
prove
or
deny
and
then
boom
it's
there.
So
it
is
the
opposite.
A
It's
more
of
a
Facebook
style
where
I
can
request
to
be
your
friend,
and
you
have
to
approve
it.
Unlike
Twitter,
which
is
I,
can
follow
everybody
by
default,
so
that's
the
difference
in
the
system
there.
So
let
me
show
you
what's
really
cool
about
this
too,
and
how
this
works
really
well
with
xamarin
forms
shell,
because
I
wanted
to
make
it
drop
dead,
simple
for
anyone
to
click
on
that
link
or
open
that
link
inside
the
application.
Since
it's
a
grid,
it's
not
very
pretty.
We
want
to
make
it
pretty
simple.
A
So
how
it
works
is
that
xamarin
form?
Shell
has
an
amazing
navigation
service
space
on
URLs
built
right
in
so
if
I
have
a
master
page
of
this
sort
of
master
detail,
page
of
City
list,
page
I
want
to
go
to
add
each
Paige
I
could
navigate
to
it.
Using
shell
current
go
to
a
sink
detail,
I
could
go
backwards
by
doing
dot.
A
Dot
sort
of
kind
of
like
in
the
command
line,
which
is
kind
of
cool
I
can
also
do
other
things
such
as
send
information
across
the
wire
to
so
I
can
do
detail,
question
mark
ID,
equals
city
ID,
and
that
will
send
that
information
over
to
the
next
page.
It's
pretty
cool,
so
here,
for
example,
we
see
city
ID
with
this
query
property
up
top
and
when
I
pass
that
data
xamarin
form.
Shell
will
automatically
send
that
data
and
set
the
property
in
my
page
or,
in
my
view,
model
automatically,
which
is
really
cool.
A
So
this
is
what
a
friend
code
in
Island
tracker
looks
like
is
not
beautiful.
Okay,
it's
not
elegant,
bye,
Eddy
means,
but
it's
not
trying
to
be
that's
the
difference.
So
the
key
here
is
that
I
have
a
few
important
parts.
The
first
is
a
Sea
Island
tracker.
That
is
my
URI
scheme.
I
could
also
do
this
with
HTTP
I'd
have
to
do
some
configuration
on
a
web
server,
but
I
don't
have
a
website,
so
I
did
a
custom
URI
scheme.
A
So
if
this
is
telling
xamarin
forms
when
it
opens,
it
says,
go
to
the
friends
page
and
then
go
to
the
invite
page
and
pass
this
data
to
it,
which
is
cool,
and
what
we
see
here
is
I.
Give
it
an
ID
which
is
my
public
grid
and
I
also
give
it
the
name.
So
this
way
I
don't
have
to
do
any
validation
on
the
backend
or
any
API
calls
it
just
hey.
A
Here's
the
name
that
I
sent
you
and
you
sent
you
got
it
from
your
friends,
so
you
know
who
it
is
so,
ideally
that
should
be.
Okay,
I
just
want
something
to
display
now
inside
the
application.
This
is
really
neat.
This
is
the
code
from
the
app
inside
of
my
application
class.
I,
have
this
thing
called
an
app
link
request
received
zerrin
forms
automatic,
we'll
handle
deep
linking
for
you.
What
I
do
here
is
when
I
start
I
get
this
request.
I
verify
that
you
didn't
accidentally
tap
on
your
own
key.
A
A
So
let
me
show
you
what
this
looks
like
in
action.
So
over
here,
I'm
going
to
open
my
app
over
here,
we're
gonna
open
the
other
app
on
my
other
emulator
and
my
machine
is
being
has
all
the
memory
used
on
all
these
emulators,
which
is
great.
So
it's
a
little
bit
slow
to
open
here,
but
I'll
give
it
some
some
resources
here.
A
So,
let's
let
it
open
and
we
haven't
created
the
other
user
account
yet
either.
That's
an
important
thing
to
remember
and
ideally
should
open
come
on
there
we
go
and
we
can
see
I'm
using
Ivan
I,
don't
check
into
source
code,
messing
fusion
license,
so
I
get
this
pop-up
every
time.
Let's
go
ahead
and
create
an
account
over
here.
I'm
gonna
go
ahead
and
go
to
my
home
page
click
on
profile
and
we're
gonna
say
that
this
is
himera
cuz
he's
in
the
chat,
very
active
and
we'll
say
his
island
is
laura
island.
A
There
we
go
and
we'll
say
that
he
has
paper
we'll
go
ahead
and
no
friend
code,
that's
fine
and
we'll
just
say,
create
so
it'll
sync
that
profile
created
and
let's
also
give
Homero.
Let's
give
it
a
Camaro,
a
different
emoji.
Let's
give
some
love,
love
emojis,
some
emoji
status,
sync
that
up
there,
let's
go
to
our
tracking
and
we'll
say
you
know
50
today
and
80
this
afternoon
and
we'll
sync
that
up
and
himera
it's
really
fast.
That's
another
thing
too,
is
like
it
just
made
all
those
API
calls
super
duper
fast.
A
It's
local,
obviously,
but
it
also
is
very,
very
fast
too,
especially
when
the
functions
warm.
So,
let's
initiate
this
process
over
here,
I'm
gonna
go
to
my
friends,
page
and
I'm
gonna
go
ahead
and
hit
this
little
arrow.
That
says,
let's
send
a
friend
request,
so
this
will
pop
up
over
here.
I'm
gonna
go
ahead
and
copy
it
to
my
clipboard.
Now
I
could
share
this
via
text
message.
I
could
do
a
bunch
of
different
things
in
the
app
since
I
have
it
on
the
clipboard
I
actually
detect.
If
you
have
it
on
the
clipboard.
A
When
you
go
to
this
page,
you
could
also
come
and
tap
this
button
in
here
too.
So
there's
a
multiple
ways
of
doing
it,
because
deep
linking
is
good
but
different.
Apps
handle
it
differently
like
whatsapp,
handles
it
a
little
bit
different.
So
I
gave
a
way
of
entering
it
manually,
so
you
can
just
enter
and
paste
it
in
here
or
you
can
just
go
into
this
page.
So
so
far
nothing
has
called
the
backend
at
all.
But
let's
go
and
add
a
friend
sending
friend
requests
friend
request
sent
successful.
A
A
So
now,
if
I
look
at
my
back-end
and
we
look
at
our
friend
request
information
here,
let's
pop
this
open
there
we
go,
we
have
one
entry
which
is
partition
key
and
row
key,
so
it's
this
most
simplest
and
a
timestamp.
These
are.
This
is
the
minimum
that
you
have
to
have
in
a
table
row.
The
partition
key
is
the
is
the
friend
that
is
requesting
and
the
grow
key
is
the
requester.
So
it
kind
of
goes
back
and
forth.
A
So
I
can
easily
query
say
give
me
all
my
friends,
so
the
person
that
said
I
want
to
be
your
friend
new.
They
enter
this
in
when
they
do
that.
So
that
way,
when
I
tap
on
this
I'm
calling
the
Azure
function,
that
says,
give
me
all
of
my
friend
requests
and
go.
Give
me
information
about
them.
So
if
I
go
ahead
and
look
over
here
at
the
function
where
I
say
get
a
friend
requests,
I
come
in
I
have
a
get
that
says,
give
me
my
keys,
my
my
friends
I.
A
Do
the
normal
parsing
make
sure
my
public
key
is
valid
I,
make
sure
that
I'm,
an
actual
user
in
the
system
and
then
over
here
I
do
something
pretty
cool
which
is
I
go
in
and
I
say.
Give
me
all
of
my
friend
requests,
so
I
go
ahead
and
I
query
with
this
nice
link,
query
syntax,
I'll,
say:
I'll,
create
a
table.
Query
where
my
partition
key
is
me.
So
give
me
all
my
friend
requests
I
grab
all
those
back,
I
grab
them
here
and
then
what
I
do
is
I
create
a
tacit
I'll
say.
A
Let
me
go
find
all
of
my
all.
The
information
about
that
friend.
So
here
I'll
go
ahead
and
find
a
friend,
and
that
will
give
me
some
information
back
and
I
sort
of
grab
that
information
and
say
returned
this
information,
which
is
when
it
was
created
at
the
island
name,
the
name
and
the
public
key
of
the
user,
and
that's
it
so
I
grab
that
data
back
I
can
I
can
approve
or
deny,
but
I'll
just
go
ahead
and
approve
Homero,
I'll,
say
yes,
approve
and
now
boom
I
have
successfully
added
a
friend
request.
A
If
I
go
over
here
into
my
data
refresh
it,
the
data
is
gone.
If
I
open
up
the
table
row
data
here
and
inside
the
table,
I'll
see
that
I
have
two
entries
and
I
did
this
for
speed
consistency,
because
I
wanted
to
be
able
to
say
give
me
all
of
my
friends
via
the
partition
key.
So
I
have
two
entries,
one
with
friend,
one
friend,
two,
so
kind
of
one
relationship
and
the
other
relationship.
A
So,
let's
go
ahead
now
and
refresh
over
here
refresh
over
here
and
just
like
that,
we
can
see
that
Homero
is
my
friend
with
as
beautiful
emojis
on
Laura
Island
over
here
I
have
my
Mott
stew,
which
is
the
one
on
the
right
and
we're
best
friends
in
the
entire
world.
They
can
see
that
I'm
actually
have
my
gates
open.
So
you
can
come
fly
to
my
Island.
A
I
should
also
say
that
I
have
this
really
I,
don't
can't
really
see
it,
but
there's
a
really
cool
shimmer
that
happens
when
it
goes
and
gets
the
data
it's
just
too
fast
to
see
it,
but
it
kind
of
has
a
cool
shimmery
thing,
but
that's
how
we
do
a
friend
request
system
with
no
login
no
credentials.
No
any
I
mean
no,
not
me,
no
friend
Co,
nothing.
Besides
a
friend
codes
at
all,
so
as
a
user
I
just
use
my
application
I
send
it
out
and
we're
good
to
go.
A
Now
if
I
decide
that
I
don't
want
to
be
the
friend
we
can
just
remove
it
over
here.
If
I
go
and
tap
it
gone.
Just
like
that
I
come
into
my
back-end
boom
data
is
gone.
We
can
also
come
in
and
do
something
cool,
so
I
can
show
you
this
I'll
say
we
re.
Do
the
friend
process,
so
I'll
say
tap
and
let's
go
ahead
and
copy
this
to
the
clipboard
and,
let's
say:
I
come
in,
and
I
and
I
share
this
via
text
message
over
here.
A
So,
let's
say
I
come
into
my
sms
and
I'll
show
you
some
of
the
deep
linking
capabilities
so
I'm
gonna
go
in
and
I'm
gonna
create
a
new
message
here
and,
let's
just
do
I,
don't
know:
tu-tu-tu-tu-tu-tu,
Ted,
okay,
it
doesn't
really
matter
what
it
is
and
I'll
just
paste
this
in
doodoo
paste
it
in
OOP.
Now
some
applications
will
allow
you
to
just
tap
on
it,
so
I
could
just
tap
on
it,
which
is
fascinating.
A
This
one
doesn't
unfortunately,
but
I've
also
built
in
the
ability
to
just
say
open
with
so
here,
I'm
going
to
say,
open
with
and
I
can
say
open
with
island
tracker
over
here
in
the
share
sheet,
which
is
another
option
and
that
will
sort
of
kick
off
a
very
similar
process
over
here.
So
I
can
go
in.
I
can
see
up.
I'm
arrow
has
asked
me
to
do
this.
I'll
approve
it
I'll
close
it
down
or
refresh
it
there
we
go
and
now
we're
friends
again
and
everything's
happy
just
like
that.
A
A
I
can
push
it
up
alright,
so
that
is
island
tracker
in
a
nutshell,
sort
of
using
the
brand-new
xamarin
form
shell,
using
amazing
third-party
controls,
with
sync
fusion,
using
amazing
community
controls
with
pancake
view,
resize
a
ties
or
material
frame
all
that
stuff,
but
I
thought
I
wouldn't
be
a
session
without
having
some
unexpected
learnings
so
and
things.
Maybe
that
I'd
go
back
and
change.
Let
me
go
ahead.
We
get
out
of
this
again
I!
Don't
how
to
make
this
focus.
Let's
go
back
in
here
and
fullscreen.
It
I'm
still
gonna,
be
there
okay.
A
So
the
first
thing
was
adding
personality.
When
I
was
building
this
application,
I
just
had
normal
user
profile
stuff,
and
that
was
fine
and
Frank.
When
I
was
building,
this
application
said
you
need
to
give
people
a
way
to
add
personality,
some
flair
to
it.
So
I
added
this
little
thing
where
you
could
have
an
emoji
status.
I
know
this
would
be
fun.
People
might
just
use
it
to
see
how
they're
feeling
today
or
maybe
it'll,
never
update
it
or
who
knows
or
undocumented
features,
that's
correct,
J,
says
and
in
the
chat
I
agree.
A
Well,
this
led
to
something
very
fascinating
inside
the
game
of
Animal
Crossing.
There's
events
that
happen
on
your
Island.
It
could
be
raining,
it
could
be
sunny,
it
could
be
nighttime,
it
could
be
a
common
storm
like
in
different
comments
coming
down.
There
could
be
different
visitors
on
your
island
and
then
I
got
a
tweet
from
a
Vanessa
user
of
the
application.
A
I
really
enjoyed
the
app,
and
they
said
she
said
I'm
already
debating
whether
whether
emoji
status
should
be
stars
or
should
be
owl,
because
Celeste
who's,
a
character
is
on
your
island
or
doing
something
like
hey.
You
can
buy
artwork
today
or
I
have
another
character.
That's
selling
different
goods
or
the
sloth
that
sells
different
plants
are
on
my
island,
like
how
cool
is
that
that
I
limited
it
to
two
emojis?
But
now
you
can.
You
can
use
it
for
this,
like
messaging
of
what's
happening
on
your
island.
A
Do
it
sort
of
been
stopped
updating
recently,
but
it
does
exactly
what
I
need,
and
the
first
thing
is
that
else
we
generate
graphics
for
the
app
store.
It
will
use
a
bunch
of
different
frames
that
are
out
there
some
of
them.
You
need
to
kind
of
update
yourself
and
an
insert,
but
it
does
this
cool.
You
know
you
sell
these
apps
with
these
cool
backgrounds
and
you
know
jamjam
it
off.
Each
other,
what
does
this
for
free
for
both
Android
and
iOS
and
for
iPad
and
things
like
that?
There's
certain
restrictions
they
keep.
A
A
No,
that
was
cool
again
completely
for
free.
The
other
thing
that
it
is.
It
created
an
entire
website
full
me,
which
is
very,
very
nice.
So
when
you
go
to
island
tracker,
app
I
have
a
redirect.
The
the
app
toolkit
thought
I
oaks
I
didn't
want
to
give
them
ten
bucks
a
month,
and
it
gives
you
this
great
website,
which
is
exactly
what
I
needed.
A
I
didn't
want
to
host
anything
I
didn't
want
to
do
anything,
you
give
it
some
screenshots
and
it
shows
them,
and
you
give
it
some
information
on
the
App
Store
links
and
boom.
It
just
does
it
all
for
you
automatically,
which
is
really
really
nice.
It
will
even
enable
you
to
add
your
privacy
policy
support.
Url
and
things
like
that,
which
is
really
really
nice,
so
if
you're
looking
for
something
like
that
for
your
app
I,
think
it's
really
awesome.
A
I'd
also
say:
ask
for
reviews
early.
This
is
a
failing
on
my
hand.
I
didn't
do
this
in
the
beginning
of
the
application
and
I
didn't
get
a
lot
of
reviews
early
on
I've
now
in
the
last
few
weeks
rolled
this
out
and
I
should
start
to
see
some
updates
soon.
But
this
is
how
I
implemented
into
my
app
I
have
a
plugin
that
I
wrote
a
little
library
called
the
story
of
you
plug
in
and
what
that
does.
A
Is
it
enables
you
to
open
the
store
page
or
request
review
on
an
iOS
which
pops
up
this
dialog?
So
what
I'm
saying
here
is
when
the
user,
after
30
syncs
this
is
my
jamesnicky
Imaan
after
30
syncs
of
my
data
pop
up
an
alert
that
asks
I'm
for
a
review,
because
if
they've
used
it
30
times,
that's
pretty
good.
That's
gonna
take
maybe
a
week
and
a
half
to
two
weeks,
maybe
two
weeks
for
that
to
roll
in.
But
you
know
you
could
change
this.
A
You
could
have
other
things
that
sort
of
hats
at
this
sync
count,
but
I
wanted
to
put
this
in
there
and
I
say
after
30
counts
only
when
it's
30
all
right,
if
it's
under
30
keep
incrementing,
but
once
it
hits
30
then
do
this
thing
and
if
it's
Android
you
you
you
ask
them
like
hey.
Do
you
want
a
raid
island
tracker
pop
up
the
app
store
boom
boom
boom
else
on
iOS?
You
can
call
one
request,
review
and
it'll
pop
up
this
like
little
star
rating
on
here,
which
is
nice.
A
A
So
we
can
see,
even
here
when
out
before
I
went
to
the
App
Store
I
had
a
bunch
of
people,
update
it
and
test
it
out,
and
it's
a
good
way
for
you,
you
to
test
your
App
Store
build.
You
know
ahead
of
time,
which
is
nice
I.
Also,
as
you
can
see
here,
build
166
I
sent
that
to
the
App
Store
Kinect
test
flight
automatically
through
app
centers
I,
don't
have
to
upload
it
through
transport
or
anything
like
that.
I
just
put
it
up
there
for
Android.
A
The
flip
is
that
I
didn't
I,
didn't
use
App
Center
to
distribute
my
app
because
I'm
using
the
new
app
bundle
flag
and
that
actually
reduced
my
app
size
by
50%.
It's
only
about
12
Meg's
on
Android,
which
is
great
down
from
25
using
app
bundles.
That's
just
a
little
toggle
in
there.
I
also
use
analytics
and
crash
reporting,
which
is
SuperDuper,
helpful,
I'm,
just
a
track
to
see
how
the
applications
doing
I
did
setup
application,
imp
or
a
pin
site
export,
which
was
nice
but
somes.
A
Just
something
I
ended
up,
doing
which
I
thought
give
me
a
little
bit
more
information
and
definitely
helped
through
diagnosing
some
early
crashes,
with
my
testers
to
turn
into
a
better
application
at
the
end
of
the
day.
That's
it!
That's
island
tracker!
You
go
check
it
out,
an
island
tracker,
dot
app.
If
you
are
an
animal
crossing
fan
or
know
people
that
are
using
animal
crossing
or
playing
Animal
Crossing,
let
them
know
that's
it.
A
It's
actually
a
fully
open
source,
so
the
entire
application
is
fully
open
source
and
you
can
use
it
for
inspiration
of
your
turn
of
tracking
application
that
you
have.
It's
on
my
github
app
slash,
Island
tracker:
you
can
grab
it
there
go
to
island
tracker
app
and
that's
it.
I
want
to
hear
more
from
me.
We
try
to
do
this
meetup
every
single
month,
which
is
super
awesome
and
we'll
be
back
hopefully
next
month
as
well,
but
hopefully
people
enjoyed
it
and
feel
free.
A
If
you
have
any
more
questions
in
the
chat,
I
will
be
here
for
the
next
ten
minutes
or
so,
and
we
can
hang
out
a
little
to
one
side
of
conversation
but
because
it's
just
me,
I
usually
have
another
host
with
me,
which
would
be
nice,
but
that's
me,
and
hopefully
you
have
some.
You
have
any
questions.
Let
me
know.
I
can
pull
this
up
because
there's
me
how
there's
me
just
nice,
it's
only
me.
A
Let's
see
if
anyone
else
has
any
questions
at
all,
but
I
super
appreciate
everyone
coming
on
and
special
thanks
to
John
and
Sarah,
who
are
in
the
the
chatroom
who
helped
set
up
the
Donna
Foundation
side
of
things,
which
is
cool,
Todd,
says
cool.
Thank
you.
You're
welcome
as
well.
I
hope
that
you
enjoyed
it
so
Jay
asks
us.
Is
great
Jay
says:
are
there
any
app
insights
built
into
the
app
extra
telemetry
great
question,
so
I
use
App
Center
for
that
telemetry.
A
I'll
subtract
so
I
mostly
just
do
event
tracking
so
like
where
users
go
like
I've
used
a
code
or
I
sync,
something
I
don't
track
any
PII,
that's
what
I
don't
really
want
to
do
at
all.
So
I
have
some
just
like
track
event
here,
add
friend,
manually
versus
add
from
a
deep
link,
so
I
just
sort
of
added
that
in
there
to
give
me
some
additional
information,
here's
sent
like
I,
sent
a
friend
request,
so
it's
mostly
just
that
in
general,
so
nothing's
special.
So
what
happens?
A
Is
App
Center
uses
this
data
and
exports
it
into
a
pin
sites
automatically.
So
that's
what
it
doesn't
that
can
query
over
and
do
other
stuff
with
all
the
data
Daniel
really
quick,
yeah,
I'm,
gonna
post,
these
slides
on
the
meetup
page,
so
you'll
see
them
in
the
comments
there.
I'll
do
that
today,
probably
as
well,
and
the
video
will
be
always
at
this
link.
So
you
can
always
go
back
and
watch
this.
You
should
be
able
to
watch
it
in
perpetuity.
A
It's
cool
so
core
quarry
I,
want
to
say
core
core
w
Bamber
core
I
wanna,
say
core,
even
though
it's
not
quarry
but
I'm
gonna
say
quarry
why
the
decision
not
to
use
a
law
to
log
in
users,
great
question
I
didn't
want
to
handle
off.
This
seems
like
a
lazy
excuse,
but
I
wasn't
going
to
be
using
anything
from
their
social
graphs.
I
would
be
purely
using
it
as
an
auth
token,
and
that's
it
so
I
said
well.
A
Why
do
I
need
an
off
so
I
can
have
them
log
in
and
do
credentials
and
do
all
this
stuff
and
implement
in
the
library
into
the
application
when
I
can
just
generate
a
code
for
them?
That
was
it
really
to
be
honest
with
you.
So
nothing
special
send
me:
ask
you
WP
support,
not
right
now,
I've
thought
about
it.
I,
don't
think
it's
just
development
time
in
general.
I
thought
about
it,
because
I
am
on
my
desktop.
A
Often,
when
I
check
my
turn
no
prizes
I
thought
about
that
right
now,
the
only
limitation
I
would
see
is
that
maybe
some
of
the
controls
don't
support
like
maybe
the
material
frame
is
only
iOS
and
Android
shell
is,
might
work
pretty
good.
It's
not
100%
on
you
WP,
so
maybe
when
that's
finished,
I
would
look
at
it.
That's
good
there
yeah,
but
yeah.
A
Whoever
says
thanks
for
the
awesome
talking
things
are
being
my
friend
home
here,
I
appreciate
that
John
says
a
few
of
things,
both
asher
and
third-party
libraries.
Very
cool
awesome,
like
I,
said:
I'll
put
that
out
there
John
us
if
there's
any
crash
metrics
from
App
Center
great
question.
My
half
didn't
crash
at
all,
so
it's
perfect,
so
there's
that
it's
actually
pretty
good
Oh
a
sessile
thanks
for
being
here,
I
appreciate
you
being
here
so
I
have
thought
about
the
crash.
A
Stuff
and
I
have
done
stuff,
so
I
have
done
some
crashes
and
track
some
crashes
back
and
forth,
and
App
Center.
It's
totally
there
in
fact
to
get
that
crash
data.
All
you
do
is
go
into
here
and
you
do
have
this
bunch
of
the
stuff.
I
say
enable
analytics
and
crashes
and
the
startup
code,
and
then
I
could
do
like
what
is
it
like
crashes
dot?
A
Computer
might
be
a
little
slow
there.
We
go
so
I
do
in
in
different
areas.
I
do
this
track
error
so
that
way,
I
can
say
Oh.
Something
went
wrong
here
and
add
a
little
bit
of
extra
data
as
well,
and
my
try
catches
and
there's
errors,
but
there's
also
exceptions.
So
they
marked
those
differently
but
I've
been
pretty
good
yeah.
A
A
So
I
have
this
like
go
to
a
sink
where
I
give
it
a
page
navigation
and
I
just
say:
go
to
shell
and
I
track
the
page
where
the
user
is
going
and
things
like
that,
so
pretty
drop
dead,
simple,
just
using
xamarin
form,
shell
back
navigation.
Things
like
that.
So
and
then
the
each
page
opens
up
and
creates
its
view
model.
So
yeah,
let's
see
so
Jas,
would
converting
to
done
in
Maui.
Give
you
WP
support.
A
I
mean
it
would
in
general,
and
we
also
get
Mac
support
in
the
future
to
make
it
addy
UWP
head
right
now.
Today,
I
bet
ship.
You
know
xamarin
Sam
reforms,
you
WP
apps,
the
shell
part
of
it.
Just
it's
not
a
it's
in
preview
for
you,
WP
xamarin
for
Michelle.
So
it's
not
a
hundred
percent
done
there,
but
I
could
technically
could
ship
it
up.
Yeah.
A
A
All
right,
cool
things
are
all
the
questions.
I
really
appreciate.
It
I
hope
that
you
enjoyed
the
the
user
group.
The
session
hope
that
you,
you
know,
take
a
look
at
the
app
on
the
github.
Take
a
look
at
the
video
later
I'm
gonna.
Definitely
sign
up
for
the
dotnet
community,
stand
up,
sorry
that
I
always
have
theirs
on
that
virtual
user
group,
which
I
talked
about
earlier
and
of
course,
you
can
find
on
meetup
calm
to
find
more
upcoming,
stuff,
but
I
think
that's
gonna.
Do
it
I
think
time,
investment,
good
question.
A
Good
question
so
Jay
asks
time.
Investment
I
spent,
maybe
like
a
month
and
a
half
I,
don't
have
my
actual
time
time.
Investment
on
it
as
far
as
adding
you
WP
support
to
it
depends
of
everything
supporting
it,
maybe
a
few
days,
but
then
it's
also
like
getting
into
the
apps
or
doing
other
stuff
validating
stuff.
But
although,
although
a
lot
of
you,
these
applications
share
99%
of
code
I
think
I
have
like
one
custom
run.
A
No
I
have
I,
have
one
render
on
iOS
for
a
borderless
I
have
30
lines
of
code
platform,
specific
specific,
so
very
minimal
wait
is
it
cool?
Their
goal
is
great.
Some,
it
says
great
surface
Dhulia
new
WPF
done
in
Maui,
yeah
totally
totally
happening,
so
I
can't
wait
for
the
surface
do
actually
and
which
is
cool.
I'm,
yeah
I.
A
Think
it's
one
lesson
I
learned
is
like
you
know,
create
the
apps
and
put
them
everywhere
that
you
want
them
to
be
and-
and
you
can
always
expand
later
to
you
know
what
I
mean
so
cool
Jay
and
enjoy
the
end
and
yeah
it's
real.
It's
totally
enough.
It's
in
the
app
store,
I
had
made
money
off
of
it,
so
it's
cool,
so
Daniel
says
great.
Is
virtual
super
cool
awesome?
Oh,
that's
a
good
idea
just
end
the
Skype
call
alright
I!
Think
that's
it!
Well,
thanks!
Everyone
for
hanging
out!