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