- MCP server with stdio transport for local use - Search episodes, transcripts, hosts, and series - 4,511 episodes with metadata and transcripts - Data loader with in-memory JSON storage 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
255 lines
14 KiB
Plaintext
255 lines
14 KiB
Plaintext
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.
|