Hey, this is the Daily Overpass! My name is Eric and I make apps!
Now today, I want to talk about why you should differentiate your beta builds.
Okay, so as you can see, it is another beautiful summer evening here in England. I love
this weather. It's really great! Had to do the video outside today. Actually, I've
been driving most of the day because I went to go meet a new prospect and one
of my rules is I always wear a suit when I meet for the first time. So yeah, I'm
all done it up in the suit. But I didn't mind the drive or anything because it
was such a nice day. However, before I left this morning, I had a bit of an
issue with a client. Actually wasn't an issue, it was getting that email. So, we
really - to give you some backstory here - really sitting up a couple days ago to a
new client. It wasn't a new release, it was just an update, it was just like a
minor change. And I got that email that you never want to
get after you release an application. "Eric, this is urgent.
it's crashing." I think, "Wait a minute. It's crashing? We tested it.
It shouldn't be crashing in it." So, they sent me a video of showing the
application crashing on one device, but it's working on other devices. Or
sometimes, it's working sometimes, it's not everything like that. And I'm like
racking my brain trying to figure out what it is. I'm looking at the code
thinking there's nothing that we've changed here that could cause it to
start crashing. Now, so it's like a flurry of question, like as a developer, you
start thinking what could it be? Could it be memory? Could it be, you know, could it
be the memory on the phone? Could it be something that we - do we sign it wrong?
What did we do? This on iOS by the way. Alright, so I'm going through doing
all this kind of stuff. Sending all these messages, so I'll send like I will
send like 20 questions. Can you check this? Can you check this? Can you
check this? Can you check this? And I'll get like one response back saying,
"Still not working." So, I'm kind of freaking out because I have to go to
this meeting and everything. In the end it was something simple. It was
something that was - it was such a rookie mistake.
It was so boneheaded, so here's what it was. They had two versions of the app on
their phone. They had the test flight version because I was using my own
iTunes account, and then they had the release version. Of course, there
were two different icons and sometimes they were clicking on the expired test
flight version. And sometimes they were clicking on the new one. Now, the
reason I say this is a rookie mistake is because this kind of stuff happens.
Sometimes, when you have a test system and a live system if you don't have an
easy way to be able to tell the difference between the two of them now
because this was just crashing when the app was opening I couldn't do something
on the GUI anyway but the icon could have looked a little bit different but
most of the time I don't really bother with that right so like a lot of times
when we release an application and we have like we're connecting to like a dev
server or test server when possible we try to change something like maybe the
the color of the header banner or something like that just so we know
which version we're looking at an ideal situation where we said which would be
that we actually have a version number some applications will have a version
number so you can see so like if somebody says it's crashing you say
which version of the app are you sure you're on the latest version right a lot
of the times when you start out like especially when you start out as a
junior developer you work with more junior developers you you get this kind
of situation where you go yeah are you using the latest version how do I tell
them like can you check to see if you know this functionality is there or
whatever and you're actually trying to go through like GUI changes and not the
ideal situation is if you have some sort of burgeoning on it and the reason I say
it's rookie is because it's like everybody knows this but it's something
that I don't do all the time anyway I was really lucky to be able to figure
this out like within the first hour I'll say thinking okay hey hang on a second
check to see if you have another icon there by the way if I release it through
test flight through their account that wouldn't have been the case because it
would you know the update would replace that but because I had two different
batch ID two different you know two different app IDs because one of them
was through my account one of them was through at their account they both
existed at the same time and every so often they would click on one of them
and the other times they would click on the other one and they didn't know the
difference because I didn't name them differently each time and I've done that
in the past where I put tests at the end of it on the on the on the beta version
but this time I did it so anyway my message today for you guys out there if
you have not ever had this kind of situation happen to you it's something
to think about if you're releasing a beta version through test flight or
through you know we use test ferry but you also use Google Play
betta bills and everything like that it's it can be a good idea to
differentiate it some way from the live version especially if you have two
different counts and you or you're like doing a manual build onto it with a
different branch ID or a different you know app ID and everything like that but
it was just such a rookie thing I thought I would share that with you guys
today you know because it was but the main thing was I was just freaking out
because Eric is crashing thing why is it crashing oh my god why is it crashing I
don't see any reason this could be crashing you know and you're just like
you're running around like a chicken with your head cut but anyway turned out
to be a good day after all anyway I hope you guys have a fantastic day and let me
know what you guys do for for versioning and and everything like that because I'd
really like to hear what other developers do in those kind of
situations and that is it for today and I will talk to you guys again tomorrow