Files

255 lines
14 KiB
Plaintext
Raw Permalink Normal View History

Episode: 1975
Title: HPR1975: Interview With An Android App Developer
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr1975/hpr1975.mp3
Transcribed: 2025-10-18 12:43:44
---
This is HPR episode 1975 entitled, Internew with Android Developer.
It is hosted by SIGFLOPS and is about 14 minutes long.
The summer is SIGFLOPS here and HolyCruid it turns out my brother-in-law is an Android Developer.
This episode of HPR is brought to you by an Honesthost.com.
Get 15% discount on all shared hosting with the offer code HPR15.
That's HPR15.
Better web hosting that's Honest and Fair at An Honesthost.com.
Hi everyone, we're here with Dillon, Android Developer, Dillon, whose name last name,
showing me nameless.
How are you doing, Dillon?
Doing all right.
So you're into Android development for your job, right?
Yeah, I've been doing it, I guess professionally for about three years and maybe four years
total.
Oh my goodness, it's been four years.
Yeah, I guess so.
The thing I like to ask people when they come to any of these interviews is how you
got into computers in the first place.
Oh man, I did, I was not that into computers until I took a class in college where we basically
did like microcontroller programming and like breadboard prototyping and so you had to
take just like a microchip, put it on a breadboard, like build the power supply for it and all
the peripheral things you wanted it to do and then write C programs for it.
Oh okay.
So that was like a lot of diving into data sheets to learn how things worked and sort
of like really going out of the hood and figuring stuff out and that's where I kind of think
that the moment I really fell in love with it was when I learned how to kind of make it
talk to like a PC, like a microcontroller and then it was like, oh geez, I could do like
anything now.
Through serial, I take it.
Yeah, that's cool.
That was just kind of one of those like things that was always magic to me and then something
I could do it and everything seemed possible.
Yeah, yeah, for me it was the parallel port that I used to interface things with which
it's really empowering because the computer is connected to it and with the computer you
can do pretty much anything, right?
And so it wasn't the basic stamp, you said it was in C so it can't be the basic stamp.
Yeah, so it was actually just like a microchip like pick.
That was a pick?
Yep.
And then we had like a, I can't remember the basically a C compiler.
Keele probably or something like that.
I can't remember, it was like, I think it was like an IDE as well that our professor is
something he got for us.
Okay, cool.
He just had that and I'm like a five-wire thing that like load your programs on and.
So did you start programming commuters then or I guess, yeah, that was like my first
real.
Cool.
So you were introduced to the C.
Yep.
That's awesome.
I think I'd taken like some CUC plus plus class before but never really, wasn't like super
relevant to what I was studying at the time, was doing mechanical engineering and it seemed
like I'll never use programming.
Yeah.
Yeah, I'm very much a software, I'm a software junkie.
So I'm not so much with the hardware but I still think hardware is rather interesting.
So you've, I've heard through the grapevine that you won this Red Bull Challenge or is it
a...
Yeah, so it was like, I think that was about five years ago as well.
Oh yeah.
I didn't like that at all.
Chees time flies.
I know, but yeah, that was fun.
It was like a hackathon put on by Red Bull, where I basically had 72 hours to do a build
based around some theme that you didn't learn until like the day of the build.
And so I had a team of four people and just sort of like drank a lot of caffeine and
worked a lot.
There you go.
Yeah.
So what got you into Android development?
Um, so I'm trying to think, it was sort of like, I really like doing like a microcontroller
programming but it was always like, oh, it would be kind of cool if I had like a, you
know, like a touch screen input or like a screen or like, oh, now I want to connect to
the internet.
And that was like, essentially, I was like, what a smartphone was was all that stuff packaged
for you.
Yeah.
And so, yeah, I had a friend that was doing iPhone and Android development and I didn't
own a, a Mac at the time, so you couldn't do iPhone programming really without one or
without jumping through some hoops, so I decided to like, bought an Android phone so that
I could program it and then just sort of slowly learn by hacking on it and make it tons
of mistakes.
Cool.
Cool.
That's awesome.
So, um, do you use an IDE like a clips or something like that or the Android studio?
Android studio.
Okay.
That's pretty wicked.
Yeah, I started started out in the clips and then my first like professional job they
were using, like the very first version of Android studio.
I see.
Um.
So, uh, do you use, uh, the curiosity, your development cycle, your iterations, you know,
testing iterations?
Do you use the emulator or do you use actual hardware?
I generally, uh, we'll have, uh, generally use hardware, um, I think the emulators weigh
better than it used to be and put it in my head, it's not, even, so, so yeah, I don't
do that.
Um, but yeah, so I basically have like, I use a Nexus 5, I just like almost always just
use that sort of stock Android and then usually have like some, um, older Samsung's lying
around because they'll generally have some like extra button or like extra feature that
like normal Android phones don't have and that'll eventually throw you off.
So, uh, usually have like, yeah, an old, like, uh, 4.0 version or something of Android running
on like an old slow Samsung phone and sort of use that as my baseline or poor performance
phone.
Yeah, I see.
Uh-huh.
Yeah, I, um, I'm yet to, I, uh, my father has, he's bought my S2, my outgouts, the S2,
so I'm gonna buy it back from him and he's that, right now he's, um, a Note 3 and, uh,
the Samsung S6 Edge Plus for development, notice.
And one thing I've noticed is, um, the Note 3 is fine without having a precision, um,
marker I guess in GLSL where you, you need a precision like, this floating points are
high-productions, something like that.
So that was one thing.
Um, I'm finding a lot, a lot of my apps don't work on that when you have in your hand
right now.
Interesting.
Get CS6 Edge Plus.
So, um, now Zant, cause like, are you, you're doing a lot of stuff, not in Javaland, right?
Yep.
I do very little in Javaland, so you, you do a lot in Javaland, right?
Yeah, that's basically it.
I have a little experience like one of the, company I worked for has used like, sort of
like, um, the J and I before to like, so you had a few different like methods and see
that would collect stuff from like this, just have files of whatever device you're running
on.
And eventually we ported that to, uh, to Javla, cause like, I don't think we needed, I
don't know if there actually was a performance gain there, it was sort of a legacy thing that
was around and like...
It's, the job is so fast right now, it's pretty negligible.
The performance increase when it comes to running something in native.
And I'm not sure like, who, like, we kept running in Delay, I'd get like, SEG files
randomly.
Yeah.
All those like, it seems like never really be reproducible, it was like, uh, this is like
more of a hassle than it's worth, so.
Yeah, see, and C++ programs are a little bit difficult to debug, especially when they're
on a device, do you just use, uh, log, like the log for debugging, or do you use anything
else?
Yeah, usually it is just like, yeah, log.i, or whatever, I'm like, and uh...
Not that V, I think is...
For debug, really.
Yeah, so...
Yeah, I mostly do that, and that'll kind of help you hunt stuff down, but...
So, what are you currently doing, and if you maybe haven't any, uh, no closer, there's
no disclosure agreement here, but...
Oh no, I must.
Currently I work for a company that's, I write an Android SDK for them, and one thing
that they figured out how to do is sort of like, maybe a heat transfer model, or
around, like, Android phones, different models of Android phones, and so we can, um, essentially
use the, uh, the thermocouple inside of the battery in the phone to predict the ambient
temperature around the phone, so you can watch.
That's, that's neat.
Yeah, it's pretty, it's pretty hardcore, um, the...
So you essentially, like, every model of phone, you need to run through this, like, calibration
cycle, and find some sort of, like, heat transfer constants, but then, uh, yeah, we essentially
have a, like, run the SDK on any device, it'll, like, call to our servers to get a calibration
file if you have one, if we go to one, and then, it'll, uh, yeah, run that and run temperature
predictions, um, and it's sort of, like, remotely controllable, like, you can configure some
different things remotely, like, uh, so it's, yeah, it's like a customer, so to have, like,
as a portal that they can, you know, this is, like, how many times I want to take temperature
per hour, or, you know, I want to turn it off completely, or think things like that.
It's interesting.
And that, that was, yeah, that's been a good, uh, yeah, I'd never written, like, a, a
distributable, like, SDK before, so that was, like, a learning experience for how to
do that on Android.
Yes.
Also, you know, just, like, keeping, like, we're, trying to keep really good documentation
for once, uh, since, like, someone actually has to, like, understand all this, the public
API for it.
Yeah.
So that, that's been all, like, sort of stuff I've never had to do before, because I've
basically, like, for a while, I was writing, just, uh, we're doing a dev shop, so you're,
yeah.
A lot of that time, that documentation doesn't need to be there, because it's sort of,
like, quickly spinning off and off for some more.
Yeah.
Oh, I forget this one.
The noise here.
It's actually, uh, Christmas Eve.
Christmas Eve.
Yeah.
Christmas Eve.
Yeah.
So everyone's being married.
Everyone's being married.
You know, Robert.
So you, you, uh, you know, let me ask about it, you had a bug, and I did.
A customer facing piece of code.
Yep.
Like, a ship day, uh, our, one of the first versions of our SDK out to customer, we did
a lot of testing.
They did a lot of testing.
And didn't, uh, bug didn't pop up, but essentially I had a, uh, had a bug in my, uh,
SQLite upgrade code that, uh, missing a space character, a classic story, and, uh, I,
I do not, don't have like, uh, didn't have automated testing set up.
So it was like a code path I never ran, and sort of, like, neglected to think about
running this.
And, uh, yeah, the upgrade path got run and crashed on several devices, and, uh,
cheese.
It was, uh, yeah, it was, it was a good learning experience, something I want to do again,
learn some things from it.
Do you do a lot of testing, or, yeah, it's like mostly manual, like, I'm sort of just,
like, wrapping my head around doing, like, unit testing, and stuff for Android.
I think in general, sort of what I've learned is that, uh, it's, but a lot of it is like
an architecture decision, uh, to do, like, using, like, dependency injection to make,
like, easily testable and swappable classes and stuff like that.
So, uh, that's kind of my next task for this SDK in the next, like, month or so will
be to sort of, see how much test coverage we can get, and, you know, there's, like, places
where that's super useful, like, uh, in, like, a database, uh, so kind of your crud code
for database, like, it'd be really nice to have that testable, because I've, yeah, certainly
introduced really, like, bugs that I have not found for a long time, because I decided
to start, like, sorting, uh, sorting results by, like, ascending orders of descending
orders, something like that, and not, like, changing the rest of the code to accommodate
that. So, um, so, um, so, um, so what was your, what was the first Android program
that you wrote? Oh, I tried to do some, like, my first project was, uh, just, like, a
fun thing, but I wanted to make, like, a, I just got it, been getting into running at
the time, and wanted to make, like, a running tracker app. So, okay. I was essentially
like, you need to be able to sort of, like, uh, you know, start GPS, like, record
your GPS coordinates, um, and sort of keep those in some sort of collection, and then sort
of save your route. So, you could, you could see I'm like a Google map when you were
done, like, the route that you would run, um, and then collect the statistics, like,
time and, uh, you know, average speed, stuff like that, um, and then sort of, so, yeah,
it was just kind of, uh, a fun project, but, yeah, I learned a lot of, like, UI stuff,
learned how to, like, work with some of the, like, the Android sensor APIs, um, and, uh,
you know, just, like, learned GPS, as it turns out, can sometimes be a little bit difficult
to debug because, like, yeah, you want to be, like, moving around, like, get a new, make
sure your location is changing, and, uh, your power issues that can crop up if you're,
like, using it too heavily or using, you know, more accuracy than you really need, kind
of. Um, and this was, like, yeah, a few years ago, so this was before, like, Google
Play Services, uh, location, uh, APIs, which is, uh, once you get it set up is, like, I
think, in general, a little easier to use, and can save you some power, but, okay.
All right, cool. I think, uh, I think we, uh, go back to our Christmas, uh, do these.
Sounds good. Well, thanks for having me on. Oh, yeah. Of course. You take care.
All right. Later. Bye-bye.
You've been listening to Hacker Public Radio as HackerPublicRadio.org.
We are a community podcast network that releases shows every weekday and Monday through Friday.
Today's show, like all our shows, was contributed by an HBR listener like yourself.
If you ever thought of recording a podcast, then click on our contribute link to find out
how easy it really is. HackerPublicRadio was founded by the digital dog pound and the
infonomicum computer club, and is part of the binary revolution and being rev.com.
If you have comments on today's show, please email the host directly,
leave a comment on the website, or record a follow-up episode yourself.
Unless otherwise stated, today's show is released on the creative comments,
attribution, share-like, free-to-life scenes.