Under the Radar 106: Long Projects
◼
►
welcome to under the radar a show but
◼
►
independent iOS app development I'm mark
◼
►
Worman and I'm David Smith under the
◼
►
radar is never longer than 30 minutes so
◼
►
let's get started so today I wanted to
◼
►
talk through an experience I've been
◼
►
having recently where I so it's very
◼
►
fair to say I typically do lots and lots
◼
►
of small little bursts of work on a
◼
►
variety of my different apps like I have
◼
►
a lot of different apps so I tend to
◼
►
just like be like a little bee just
◼
►
buzzing from flower to flower like
◼
►
taking care of little things as they
◼
►
come I never know and then I find myself
◼
►
in a situation where instead I need to
◼
►
kind of sit down and have a kind of a
◼
►
long extended you know development
◼
►
project to really push a product forward
◼
►
and for me right now that's around
◼
►
workouts plus plus which is my workout
◼
►
management and configuration app for the
◼
►
Apple watch and so usually I would say
◼
►
the longest I work on a you know on a
◼
►
particular update to an app is maybe a
◼
►
week sometimes two at the most and at
◼
►
this point I'm coming up on two months
◼
►
working on this update for workouts plus
◼
►
so it's a pretty substantial amount of
◼
►
time and energy and investment that has
◼
►
gone into this update and you know while
◼
►
I've had to do bits and pieces from side
◼
►
to side which I'll actually get into as
◼
►
a topic it's a long time thing and I
◼
►
think is it looking right now I'm aiming
◼
►
to have the update out at the beginning
◼
►
of December which would have meant that
◼
►
we've been about three months of work
◼
►
which is a substantial investment in him
◼
►
for me in this case too and I also have
◼
►
this vague sort of outside pressure that
◼
►
I want the app to be out at the
◼
►
beginning of December so that it can be
◼
►
you know sort of nice and stable and out
◼
►
and available for the new year when is
◼
►
typically a good good time and a big
◼
►
time for workout and health and fitness
◼
►
so as I've been going through this
◼
►
process I've been trying to keep be
◼
►
aware of kind of some of the things that
◼
►
I've had to keep in mind and some of the
◼
►
things that I've done as a result and it
◼
►
seems like an interesting topic to talk
◼
►
about through the show so like probably
◼
►
best place to start it's just to kind of
◼
►
unpack some of the things that I've
◼
►
tried to make sure that I did before I
◼
►
started and so use some of the questions
◼
►
that I thought I needed
◼
►
like it's like why am I doing this like
◼
►
and you know why do I want to do this
◼
►
update do I think this is actually a
◼
►
good idea is it worth it like is this
◼
►
going to be worth it either in terms of
◼
►
me you know making the apps dramatically
◼
►
better expanding my market making more
◼
►
money or honoring the attention of press
◼
►
or Apple like whatever it is it's like
◼
►
trying to understand why I'm doing it
◼
►
and if it's actually going to be worth
◼
►
doing trying to understand what I'm
◼
►
actually trying to accomplish most least
◼
►
so that I can know when I'm done because
◼
►
from experience I know that often
◼
►
what'll happen is I will go into one of
◼
►
these development projects where I'm
◼
►
like okay I give myself permission to
◼
►
kind of run wild and to not have it be
◼
►
just a couple of weeks and then I can
◼
►
just sort of end up aimlessly wandering
◼
►
in the wilderness for weeks and weeks
◼
►
because I don't really know where I'm
◼
►
going and I'm just enjoying like the
◼
►
development process which can be kind of
◼
►
fun sometimes but can be really damaging
◼
►
or problematic to getting other things
◼
►
done if I just like to have this aimless
◼
►
wanderer so trying to think about like
◼
►
when will I know I'm done what are the
◼
►
the core features what it's like my
◼
►
basic it's almost like when you're
◼
►
running a term paper or something and
◼
►
you so if you try and write the
◼
►
introduction and the conclusion and then
◼
►
you fill in the middle it's like trying
◼
►
to work out well what am I going to put
◼
►
in my release notes when I submit this
◼
►
to the app store and while that may
◼
►
change you know how this development
◼
►
goes it's like if I can't concisely
◼
►
describe what it is I'm trying to do I'm
◼
►
almost certainly going to get into
◼
►
trouble then asking questions like is it
◼
►
possible and if it's not how do I know
◼
►
or if I'm not sure if something's
◼
►
possible like in for example in this
◼
►
update I've been working on a lot of
◼
►
Apple watch audio playback stuff some of
◼
►
that is like kind of possible some some
◼
►
of it is completely impossible you're
◼
►
being very kind we've talked about this
◼
►
before I didn't in Kate detail but
◼
►
finding that line between possible and
◼
►
impossible was very important to find
◼
►
out up front and to make sure before I
◼
►
committed a lot of energy to the parts
◼
►
of audio playback on the watch that are
◼
►
the support of supporting stuff you have
◼
►
the easy part in some ways is that is
◼
►
that core playback experience like the
◼
►
hard part is all the other management
◼
►
and file management and configuration
◼
►
and syncing and stuff you have to do
◼
►
it's like making sure I deal with that
◼
►
first but it's kind of this process of
◼
►
saying like is this possible am I sure I
◼
►
can do it what do I want to do and then
◼
►
why am i doing it and if I can answer
◼
►
those questions that I'm probably in a
◼
►
pretty good place to get started yeah I
◼
►
this is an area the whole just like long
◼
►
term update or new app management that
◼
►
I'm just very bad at this I'm very very
◼
►
bad like I I gave a talk a while ago to
◼
►
NS conference about how I planned
◼
►
overcast from a marketing perspective
◼
►
like 404 1.08 for the initial app launch
◼
►
and I I made this big document you know
◼
►
similar to what you were just saying
◼
►
about how you know how you you kind of
◼
►
imagine the app store release notes as
◼
►
like a goal and like what what what
◼
►
should those say and how do I get there
◼
►
I did I did a similar thing where like I
◼
►
basically like laid out the the
◼
►
marketing bullet points for overcast why
◼
►
choose this over any other podcast app
◼
►
and Latos had early on and did a bunch
◼
►
of market research you know looking at
◼
►
the other apps to see like it that were
◼
►
in the that were competitive at the time
◼
►
and saying like I well why would
◼
►
somebody use overcast over app X and I
◼
►
went through all the competitors at the
◼
►
time big and small why should somebody
◼
►
choose overcast over this app and that
◼
►
kind of helped me plan my marketing you
◼
►
know focus for the app it kind of helped
◼
►
inform the the feature selection what to
◼
►
focus on what what to not really focus
◼
►
on certain markets that I would chose
◼
►
just to not address I'll have my app do
◼
►
XY and Z is you know things like smart
◼
►
speed and voice boost and the main you
◼
►
know the the reorder of a playlist stuff
◼
►
and everything all that stuff that was
◼
►
like my main marketing bullet point list
◼
►
an app is so much more complicated than
◼
►
that in practice there's so much more
◼
►
you have to do those core features of
◼
►
the app were done probably after three
◼
►
or four months or at least close enough
◼
►
to done and then during the beta I kind
◼
►
of finish them but the app took me like
◼
►
a year and a half or two years to make I
◼
►
think so I forget exactly it's been a
◼
►
while and so the entire rest of the time
◼
►
things that were not on my planning list
◼
►
you know just doing all the different
◼
►
administrative screens and the backend
◼
►
on the servers and all the different UI
◼
►
details and I find that I'm very very
◼
►
bad at time management and and I would
◼
►
say completion estimation deadlines
◼
►
estimation once I get into all that
◼
►
nitty-gritty stuff of you know like the
◼
►
main feature might be complete or close
◼
►
to complete because the main feature
◼
►
might be some cool technical thing that
◼
►
I'm doing that you know that took maybe
◼
►
a day or two or a month and in the worst
◼
►
cases you know but then the entire rest
◼
►
of the app around it that's so much more
◼
►
complicated you know I had a major
◼
►
problem with this this past summer when
◼
►
the iOS 11 changes came in and and even
◼
►
before I knew about the I out the the
◼
►
iPhone 10 you know even when I when it
◼
►
was just I was 11 and drag and drop and
◼
►
all the new tableview mechanics and and
◼
►
everything else I thought I would have
◼
►
time for a major feature update this
◼
►
fall as well as a UI update to iOS 11
◼
►
and not only did I did I totally fail at
◼
►
that but then at the very last minute
◼
►
the iPhone 10 was announced and you know
◼
►
we all knew it was rumored we and we
◼
►
kind of knew that something like this
◼
►
was coming but I don't think any of us
◼
►
really knew how much work it would be
◼
►
for apps to adopt it well my original
◼
►
plan for my 4.0 update could contain so
◼
►
much more than what I actually shipped
◼
►
us 4.0 because the basics of it of just
◼
►
like keeping up with Apple that took the
◼
►
entire amount of time I had and the very
◼
►
very small number of bullet point
◼
►
features that actually made it out in
◼
►
addition to those like though like the
◼
►
new like contextual row actions where
◼
►
you can pull across the whole road to
◼
►
delete like mail I added those on the
◼
►
very last day of the beta it took me
◼
►
half a day I added them in the very last
◼
►
build I think the entire rest of the
◼
►
time was spent on yeah every on the
◼
►
massive amount of work required to just
◼
►
update the UI for these things and to to
◼
►
pull out some of my old hacks and put it
◼
►
in a couple of new hacks but try to keep
◼
►
the new hacks at least fewer a number
◼
►
that were severity than the old one
◼
►
and I just completely mismanaged and
◼
►
more importantly totally miss estimated
◼
►
the entire project yes I feel like
◼
►
through the thing that I sound similar
◼
►
happened to you but I know happens to me
◼
►
many times is not necessarily realizing
◼
►
to how once you start embarking down the
◼
►
road of a big update the awkward
◼
►
position it finds you you find yourself
◼
►
in is then like the app from a
◼
►
user-facing perspective essentially
◼
►
appears stalled then your note use all
◼
►
of a sudden you stop getting small minor
◼
►
like incremental updates that you know
◼
►
like the things that just take a half a
◼
►
day to work on to build an ad to the app
◼
►
like all of a sudden they get sort of
◼
►
stuck behind this dam of this big
◼
►
feature that it feels really it's either
◼
►
technically difficult to ship because
◼
►
you end up with weird like version
◼
►
control management stuff of like well I
◼
►
could add it to the old version but the
◼
►
old version is like massively gonna be
◼
►
you know ripped apart and we put back
◼
►
together or it's doing work that is
◼
►
going to be you know replaced or have to
◼
►
be repeated and you know in the actual
◼
►
like the new for the new feature branch
◼
►
or things like that like you end up in
◼
►
these really awkward places where
◼
►
suddenly the app just kind of gets stuck
◼
►
and that's really awkward and I feel
◼
►
like in some ways it's a good thing to
◼
►
keep in the front of my mind that you
◼
►
know right now all of my apps
◼
►
except for workouts plus plus have been
◼
►
updated for the iPhone 10 and that's
◼
►
like that's good like that all those
◼
►
update those updates are up but for
◼
►
users of workouts plus plus as much as
◼
►
it's nice for me be able to say oh
◼
►
coming soon like awesome amazing update
◼
►
that I think you're really going to love
◼
►
it's kind of awkward to that it's you
◼
►
know the app that I'm putting the most
◼
►
effort into is the one that is falling
◼
►
the most behind and so it's probably
◼
►
worth making sure that as we're starting
◼
►
on these projects it's like a sort of
◼
►
timing them right like often I I think
◼
►
we've talked about before in the show
◼
►
where it's often good to do these types
◼
►
of updates maybe in the sort of like
◼
►
February to April time group timeframe
◼
►
in sort of apples development cycle
◼
►
where things tend to be fairly calm
◼
►
which I didn't do this time
◼
►
but in general it's just a weird thing
◼
►
to keep in mind that like you have to
◼
►
make sure that is undertaking this
◼
►
project and pushing making putting the
◼
►
app into this weird sort of hiatus state
◼
►
like worth it and a good thing to do I'm
◼
►
just otherwise you can just sort of you
◼
►
could actually end up shooting yourself
◼
►
in the foot by making the app get where
◼
►
feel sort of feel worse and worse to
◼
►
your customers and by the time you
◼
►
finish you arrive it's like you arrive
◼
►
you arrive back and be like hey here's
◼
►
this great new thing and they've all
◼
►
left and that could be rather
◼
►
problematic this episode is brought to
◼
►
you by euro never think about Wi-Fi
◼
►
again euro has created the dream Wi-Fi
◼
►
set up a fast reliable connection
◼
►
throughout your entire house even out
◼
►
into your backyard if you want to and
◼
►
now is the best time to get on board
◼
►
with Euro is they've just released their
◼
►
super slick second generation devices
◼
►
era has have introduced their tribe and
◼
►
second generation model along with the
◼
►
EO beacon which allows you to build a
◼
►
Wi-Fi system perfectly tailored to your
◼
►
home the second generation arrow
◼
►
includes a third five gigahertz radio
◼
►
making it twice as fast as before this
◼
►
lets you do more than ever whatever your
◼
►
Wi-Fi needs zero has the power to
◼
►
blanket your entire home in fast
◼
►
reliable Wi-Fi it sits flat on any
◼
►
surface just plug into the wall with the
◼
►
included power adapter and you are ready
◼
►
to connect your euro either with
◼
►
Ethernet or wirelessly and the new arrow
◼
►
also includes a new thread radio which
◼
►
lets you connect a low-power devices
◼
►
such as locked doorbells and more and
◼
►
the new euro beacon is pretty cool the
◼
►
Aero beacons you plug it into a wall and
◼
►
it expands coverage into any room you
◼
►
can add as many ear beacons as you want
◼
►
as long as you have a base ear device
◼
►
the for them to connect to and it even
◼
►
includes a built-in LED night light with
◼
►
an ambient night sensors the beacon is
◼
►
super cool super slick plugs right in
◼
►
sits flush against the wall you barely
◼
►
even noticed there it's really great the
◼
►
ero app also to manage your network from
◼
►
the palm of your hand and you can also
◼
►
easily create and share a guest Network
◼
►
too they make it so easy to do all this
◼
►
stuff and the ear accustomed ursa port
◼
►
is great if you need any help the new
◼
►
era system starts it's just 399 for one
◼
►
second generation arrow and two beacons
◼
►
and that is everything you need for I
◼
►
would say almost any place if you need
◼
►
more you can add more later but you
◼
►
probably don't need more than that
◼
►
listeners of this show can get free
◼
►
overnight shipping to the US or Canada
◼
►
when you head over to eurocom it's EER
◼
►
Oh calm and use promo code radar that's
◼
►
yo comm promo code radar for free
◼
►
overnight shipping thank you to ero for
◼
►
supporting this show so once you've
◼
►
gotten through all that and you're
◼
►
actually in the middle of building an
◼
►
update the hardest things I find in a
◼
►
lot of ways is keeping motivated keeping
◼
►
keeping progress moving forward every
◼
►
day because you know in a large port
◼
►
like you an independent development
◼
►
often feels you know fairly isolated or
◼
►
lonely but I definitely feel is the most
◼
►
isolated for me when I'm working on
◼
►
features that take weeks and weeks or
◼
►
months and months to work on because
◼
►
it's just kind of like me often though
◼
►
my own little world working on stuff one
◼
►
thing I wanted to mention in the show is
◼
►
over the years of doing this I've
◼
►
developed a little like I don't know
◼
►
like it's a little mental crutch that
◼
►
for me helps me to stay motivated and to
◼
►
feel like I'm continuing to move forward
◼
►
because often what will happen you know
◼
►
you is you can spend all day like a
◼
►
definitely a focused hard-working day of
◼
►
effort and you get to the end and you
◼
►
don't feel like you accomplished
◼
►
anything and that is just so motivate
◼
►
demotivating so crushing like those days
◼
►
are that like then make me start
◼
►
questioning all kinds of things about
◼
►
whether I should be working on this is
◼
►
this good should I just completely drop
◼
►
this app and like go do something else I
◼
►
find a new career I'm terrible at this
◼
►
like lots of lots of knock not
◼
►
productive good things but you're lucky
◼
►
if those are just days to I've had
◼
►
months like that yeah but one thing that
◼
►
I have found to be helpful for me
◼
►
personally is to try and every day have
◼
►
something one thing that I did that day
◼
►
that I can point to which is can be as
◼
►
small as Paul can be big whatever it is
◼
►
but I try and structure my work such
◼
►
that at the end of the day I have
◼
►
something that one thing that I can
◼
►
point to and say like that's what I did
◼
►
that little feature that thing and it's
◼
►
a concrete tangible example and
◼
►
sometimes you can't do this you know
◼
►
some some projects will just
◼
►
you're do you're doing some deep model
◼
►
layer work that takes a few days and
◼
►
like okay but once you've done it like
◼
►
then that becomes your thing for the
◼
►
land those three days but I found that
◼
►
to be a really and then at the end of
◼
►
every day I consciously make the that I
◼
►
consciously make the decision to think
◼
►
about what I did and to like remind
◼
►
myself of what I of that thing that I
◼
►
accomplished even if it is just one
◼
►
thing and typically it is just one thing
◼
►
and that I found doing that over and
◼
►
over again kind of that this that keeps
◼
►
me honest in terms of keeps me from
◼
►
getting sucked down rabbit holes that
◼
►
are sort of unproductive and I'm not
◼
►
actually getting anywhere in you know
◼
►
it's like if I have nothing to show for
◼
►
the end of the day and that happens like
◼
►
two or three days in a row like maybe
◼
►
something's wrong maybe I'm doing
◼
►
something that I really shouldn't be
◼
►
doing and it gives me that that that
◼
►
awareness and on the flip side it helps
◼
►
me to just be aware of that and say like
◼
►
yes like I did that I did this and if
◼
►
you and I what I found is like it's
◼
►
somewhat obvious but like if you string
◼
►
together enough days where you
◼
►
accomplish something tangible every day
◼
►
you make genuine progress and so I don't
◼
►
that's just like it looks like silly
◼
►
trick that I've found for tricking
◼
►
myself and to feel into making progress
◼
►
especially in the midst of things that
◼
►
can take a long time yeah it also you
◼
►
know for me like you know as I mentioned
◼
►
them a few minutes ago do my little
◼
►
swipe actions thing in half a day at the
◼
►
end it made me feel a lot better about
◼
►
the release like it made me you know I
◼
►
was having so much doubt during the
◼
►
development cycle of my for of like am i
◼
►
doing enough here that customers will
◼
►
actually care about like if this is
◼
►
taking you know I'm spending as we
◼
►
talked before - I'm spending months on
◼
►
this update and is this actually
◼
►
including anything that my customers
◼
►
will get excited about or is it just
◼
►
changing things or just keeping up with
◼
►
iOS and new phones like that's just a
◼
►
bare minimum of what I should be doing
◼
►
is just keeping up you know ideally I'm
◼
►
also making things better and so I
◼
►
started to look for features that were
◼
►
fairly low complexity to implement that
◼
►
people have been asking for and just try
◼
►
to knock some of those out in in like
◼
►
the last few days that I had
◼
►
and that really helped a lot not only
◼
►
for making the update better but for
◼
►
making me feel like I had spent all this
◼
►
time - for a for like a sum total
◼
►
product here of something that was
◼
►
actually worth that time even though the
◼
►
distribution within that of how I spent
◼
►
that time versus those meaningful
◼
►
features might not have been ideal yeah
◼
►
and I think the important thing there is
◼
►
even it almost makes me wonder if you
◼
►
would have been well served to do those
◼
►
small little features in the middle of
◼
►
your development cycle as best as you
◼
►
could to try and like have these little
◼
►
rewards or these little like
◼
►
psychological perks clean Oh for myself
◼
►
like I love having every now and then
◼
►
I'll often ends up happening like this
◼
►
on a Friday but I'll just kind of like
◼
►
have a day where I just allow myself
◼
►
like the thing I'm going to do is try
◼
►
something kind of crazy and I enjoy that
◼
►
and it's like it's a motivating thing
◼
►
and an encouraging thing and it allowing
◼
►
myself kind of a conscious decision to
◼
►
do that it allows me to make progress in
◼
►
the like that the kind of the meat and
◼
►
potatoes part of the app where it's
◼
►
maybe not quite as fun or not quite as
◼
►
interesting it's like well once I've
◼
►
done this then I can work on that cool
◼
►
thing that I know I'm gonna feel good
◼
►
about even though even if it mazey might
◼
►
may be just a teeny little detail or
◼
►
something that most users will never
◼
►
notice like I remember when I was
◼
►
working on the achievement system in
◼
►
pedometer plus plus where you can earn
◼
►
badges if you work on them like I
◼
►
allowed myself a day where I was just
◼
►
gonna work on making the badges sparkle
◼
►
when you earn them that's so cool which
◼
►
was just like a totally silly idea like
◼
►
it's it's I love that this I love it in
◼
►
the app I think it works really well and
◼
►
like it's you know the the menu bar
◼
►
button at the top that opens the badge
◼
►
page sparkles too with the same effect
◼
►
when you have you know have you when you
◼
►
earn a new badge and things and like
◼
►
it's great but it was like it was a
◼
►
reward for a lot of the other hard work
◼
►
of doing like some ridiculously or so
◼
►
maybe surprisingly hard and logic
◼
►
computation to work out you know how you
◼
►
how you calculate how long your streak
◼
►
is and what the longest streak you have
◼
►
is and like there's a really
◼
►
nasty work you have to do to make that
◼
►
make that happen but it's like having
◼
►
these little these little checkpoints
◼
►
along the way and I thought it was so
◼
►
fun on that day too the thickness for my
◼
►
one thing to be like cool sparkly pixie
◼
►
dust like that was great and it's just
◼
►
being okay with the fact that like it's
◼
►
if it sounds a little silly that like
◼
►
you know I'm a grown professional but
◼
►
like these are the things I have to do
◼
►
to make to keep myself motivated be
◼
►
understanding that if I if I'm
◼
►
unmotivated if I'm not working
◼
►
effectively like I'm not making progress
◼
►
like it's not like oh yeah it's like I
◼
►
should just intrinsically be motivated
◼
►
to always work at maximal efficiency
◼
►
it's like no I have to trick myself and
◼
►
I have to do things that get you allow
◼
►
me to get around the fact that I'll get
◼
►
stuck and I'll get demotivated and then
◼
►
my productivity overall will drop
◼
►
precipitously as a result well that you
◼
►
know you're human like you know you
◼
►
can't you can't blame yourself or feel
◼
►
bad for being human and like nobody
◼
►
likes working tirelessly day after day
◼
►
on on a project that feel like it's
◼
►
going nowhere and a lot of people don't
◼
►
have the choice in the matter you know
◼
►
they they just have to do that because
◼
►
their job is you know not very
◼
►
fulfilling or not being managed well we
◼
►
as Indies have the freedom we're lucky
◼
►
that we have the freedom that we can
◼
►
actually take a day in the middle of a
◼
►
giant slog of trying to figure out UI
◼
►
tableview x' new crazy behavior or
◼
►
something like that or some weird bug or
◼
►
trying to implement some really tedious
◼
►
new thing we can take a break in the
◼
►
middle of that and do something for an
◼
►
afternoon or a day that that is
◼
►
fulfilling that we can complete in that
◼
►
time and that can work that can you know
◼
►
the whole reason that we that many of us
◼
►
that I should say but certainly for me
◼
►
the you know one of the reasons why I
◼
►
love programming so much and one of the
◼
►
reasons why I became first a self-taught
◼
►
and then eventually a more formally
◼
►
taught programmer is that you know when
◼
►
when normal people I you know I say I
◼
►
say loosely attempt to program or do
◼
►
something else that they don't really
◼
►
enjoy doing like it may be a certain
◼
►
subject in school growing up when they
◼
►
succeed they might not get any kind of
◼
►
satisfaction out of that
◼
►
the people who stick with programming
◼
►
are the ones who can make it through all
◼
►
tedious and frustrating parts of it
◼
►
which there are many because they are
◼
►
motivated so much by the satisfaction
◼
►
when you make something when something
◼
►
works when you build something you know
◼
►
programmers who really get into it are
◼
►
the ones who like that little hit of
◼
►
satisfaction or adrenaline or whatever
◼
►
it is it motivates us through the rest
◼
►
so you have to find ways if if you're if
◼
►
you are that kind of person like I am
◼
►
you have to find ways to keep that
◼
►
motivation going even when you have to
◼
►
go through a very very long slog and I
◼
►
was very bad at that this summer found
◼
►
it very very hard to to keep myself
◼
►
motivated and to work hard and to make
◼
►
forward progress that have just banging
◼
►
my head against the wall and I think one
◼
►
thing to this I have found to be very
◼
►
helpful is trying to involve other
◼
►
people in the process as best as you can
◼
►
is another thing that I find really
◼
►
helps for these kind of these long slogs
◼
►
and so you know often it's having a very
◼
►
small there's not even really a beta
◼
►
group but just other people who are
◼
►
using the app who can then be giving you
◼
►
feedback giving you suggestions giving
◼
►
you reactions and even just giving you
◼
►
that sense of like you know you ship
◼
►
something that they enjoy or they like
◼
►
and they can tell you they like it like
◼
►
that's encouraging and motivating and
◼
►
this is well before you'd get into the
◼
►
you know kind of a broader beta test or
◼
►
something but just to try and make it so
◼
►
that it's not just you you know even if
◼
►
it's just you and a couple of friends or
◼
►
you and your spouse or whoever it is but
◼
►
just making it so that it's not just
◼
►
like if you can make that a little bit
◼
►
bigger I find this really helpful and
◼
►
it's also probably helpful in making
◼
►
sure that you're actually making
◼
►
progress that you know you can get some
◼
►
prick you can have some perspective
◼
►
shared perspective on like is the app
◼
►
better now with this update than it was
◼
►
before or not because you can easily
◼
►
sort of find yourself sucked down into
◼
►
the rabbit hole where you are doing
◼
►
something because it's what you've been
◼
►
working on for a long time but you may
◼
►
be kind of losing the forest for the
◼
►
trees at a certain point so it's
◼
►
definitely helpful to kind of spread
◼
►
that out a little bit if you have the
◼
►
yes one of the reasons why I took the
◼
►
somewhat I think unusual step of
◼
►
developing the 4.0 UI kind of in the
◼
►
open I did a lot of like Twitter
◼
►
development he's clear I'd like post
◼
►
screenshots on Twitter and say hey what
◼
►
do you think of this or it's kind of
◼
►
weird or which of these four options you
◼
►
think would be best or work well or
◼
►
whatever else taking kind of a lot of
◼
►
like informal Twitter polls basically
◼
►
and normally I would do all this
◼
►
development in secret and then just
◼
►
really you know really support the final
◼
►
product and you know try to make a big
◼
►
splash or whatever else then and try to
◼
►
keep everything secret the whole time
◼
►
which is very stressful and difficult
◼
►
especially if you want to do a large
◼
►
beta and this time I just I decided to
◼
►
just do it in the open in part because I
◼
►
was tired of keeping things secret but
◼
►
also in part because I wanted a little
◼
►
bit more of that validation of that
◼
►
testing and it actually made a better
◼
►
like having public feedback on it and
◼
►
you know I know that it's a luxury not
◼
►
everyone has you know the audience size
◼
►
to do but you know everyone has
◼
►
something like that like you know
◼
►
whatever your you know abilities or
◼
►
resources are use them you know even if
◼
►
it isn't you know a bunch of people on
◼
►
Twitter like it can be friends in real
◼
►
life it can be you know other testers it
◼
►
could be people whose opinion you trust
◼
►
who can take a look at something and can
◼
►
give you feedback on it like that's
◼
►
incredibly valuable for not only the
◼
►
quality of the product which of course
◼
►
is the ultimate goal at the end but also
◼
►
you know this mode this motivation
◼
►
factor in the middle when you're just
◼
►
slogging through it's nice to know that
◼
►
you're working on something that people
◼
►
actually are going to like and probably
◼
►
the last thing that seems like worth
◼
►
talking about through is it's like how
◼
►
to wrap up kind of a big project like
◼
►
this in terms of some of the little like
◼
►
I don't know mistakes I've made in the
◼
►
past that I try and avoid now as I was
◼
►
thinking about that like one thing that
◼
►
I do I've never found that like having
◼
►
an external to-do list management for
◼
►
code level issues or questions like
◼
►
never really it just doesn't work with
◼
►
it great for me but one thing I have
◼
►
found to be really helpful is to leave
◼
►
little like bread crumbs in my code that
◼
►
help me keep track of things that I need
◼
►
to take care of before I wrap up and
◼
►
before I ship and so an objective-c I do
◼
►
these with the pound the warning
◼
►
I don't know what you call it like
◼
►
direct declaration where you can
◼
►
anywhere in Objective C if you just say
◼
►
pound warning and then you write some
◼
►
straight write some text that'll show up
◼
►
when in 8 anytime you build you'll get a
◼
►
list of those sort of and they're almost
◼
►
like to do Zoar things that I need to
◼
►
make sure I check in Swift you don't
◼
►
have quite the same ability but I would
◼
►
have taken 2 there which is kind of a
◼
►
horrible hack but it works is I just say
◼
►
let warning equal and then a string that
◼
►
is what needs to be fixed or taken care
◼
►
so then Swift complains that that that
◼
►
variable is unused and should instead be
◼
►
assigned to underscore which works just
◼
►
but for easyacc it works though like
◼
►
it's it's Swift does not like variables
◼
►
that are unused so that it that's how I
◼
►
do it now these are great because these
◼
►
are usually these are little details
◼
►
they're like things I need to check or
◼
►
because you know but I don't want to do
◼
►
well in developing is like half that
◼
►
feel like I need to take care of every
◼
►
little detail as I'm going along because
◼
►
I made it but wasting a lot of energy on
◼
►
stuff that ends up not getting into the
◼
►
final version so these tend to be little
◼
►
things that like you know it's like make
◼
►
sure this works in like sometimes it's
◼
►
localization stuff or you know different
◼
►
units or it could just be you know trim
◼
►
it's like make sure this actually works
◼
►
on the you know the iPhone 5s whatever
◼
►
the slowest devices or like lieu of
◼
►
reminders and hints it's like a great
◼
►
way to kind of do it and then has like
◼
►
you know as I once I do my final build
◼
►
for the App Store hey you know if
◼
►
there's no warnings then I've taken care
◼
►
of all of those so that's a useful
◼
►
little trick one thing I always do is I
◼
►
do a get diff from the last ship version
◼
►
to the current version that I'm about to
◼
►
ship and just look through it like it
◼
►
sometimes it'll be a little tedious and
◼
►
it'll take a little while but I've got
◼
►
weird bugs or issues that way and it
◼
►
also is just really helpful as I'm
◼
►
preparing my marketing material to
◼
►
actually like remember all of the things
◼
►
that have changed and so I don't forget
◼
►
like cool little you know nuggets or
◼
►
features and things that I added because
◼
►
just you know in the scope of the size
◼
►
of the update I may have missed it so
◼
►
it's usually a worthwhile like you know
◼
►
just spend an hour going through that
◼
►
diff and just kind of getting a sense of
◼
►
all those changes that you made
◼
►
and then lastly it's probably a assume
◼
►
that I have been bitten behind many
◼
►
times by not doing and so now I'm very I
◼
►
try to be very regimented about is
◼
►
making sure that you do it clean or App
◼
►
Store install of the app onto a via onto
◼
►
a fresh device use it for a little while
◼
►
get it set up and then test the update
◼
►
process to Europe you know to this big
◼
►
update because the number of times you
◼
►
kind of forget about things that way you
◼
►
know even back to bite you it can be
◼
►
awful so always make sure that you do
◼
►
that to just catch any weird migration
◼
►
issues or just things that become really
◼
►
confusing because if I've you know I
◼
►
have not been haven't been using the App
◼
►
Store version of my app for months at
◼
►
this point so it's important for me to
◼
►
be reminded of where my customers are
◼
►
coming from and it should feel really
◼
►
old when you see it ideally all right
◼
►
thanks listening everybody I'm going to
◼
►
talk to you next week bye