Office Hours — Today, November 14

Thursday, November 12

Mark M.
has entered the room
Mark M.
turned on guest access
Nov 14
4:00 PM
Kai
has entered the room
Mark M.
hello, Kai!
how can I help you today?
Kai
Hello Mark
Just lurking right now
Mark M.
OK -- if you come up with a question, just ask!
Kai
I will
4:10 PM
Kai
What are the non-standard Android libraries that you find yourself coming back to most often?
Mark M.
how do you define "non-standard"?
Kai
"Made by someone else but google". Not Jetpack and the likes.
Mark M.
oh, wow, OK, that's really broad
in no particular order:
OkHttp and Retrofit, plus either Moshi or Gson for the JSON parsing
Glide for image loading
for DI, personal preference is Koin, though I wind up using Dagger more on customer projects
(technically the Kotlin runtime and coroutines are non-Google, but I'd call those "standard")
LeakCanary for diagnostics
com.jraska.livedata:testing-ktx and com.nhaarman.mockitokotlin2:mockito-kotlin for testing
4:15 PM
Mark M.
plus various RxJava bits if I'm on a project that uses those
those would be the big ones
Kai
Thanks, that gave me an idea :)
Glide reminds me of SVG loading, which I am still not satisfied with in our app. There doesn't seem to be a "one fits all" approach.
And it seems to be more complicated than it needs to be.
Mark M.
I haven't had to do a lot of that, but SVG is a complicated spec (particularly if you get into text), so I'm not surprised that there are modest options
Kai
I just wish Glide had native SVG loading.
I am surprised that you never stumbled upon the need of loading SVGs.
I thought the scalability would make it a bit more popular.
Mark M.
mostly, I use them as source for vector drawables
actual SVGs, loaded at runtime, hasn't come up much for me
Kai
Huh
4:20 PM
Mark M.
if I had to guess, it's based on what Adobe tool the designers use as their foundation
if they use Illustrator, they'll like SVGs
if they use Photoshop, they'll be more PNG/JPEG typese
er, types
Kai
Did you just correct your typo before you made it?
That is amazing foresight
Any idea how the stock market is gonna go in the next months?
Mark M.
oh, did they show up in your transcript in opposite order? that's funny if they did
but, no, I made the typo first
Kai
oh... ;-)
Is this the right place to ask about coaching btw?
Mark M.
ummm... that depends on what you mean by "coaching"
Kai
Either training for a certain technology or looking at an app and discussion what the biggest next steps could be in modernizing it.
Or rather where the biggest problems may lie.
Alternatively on how to refactor it architecturewise.
Mark M.
well, right now, I have a full-time client, so I'm not doing much in the way of other jobs right now -- I can barely keep up with them, the books, jetc.dev, and androidx.tech
(plus the obligatory 2020 doomscrolling)
Kai
That is good to hear!
4:25 PM
Mark M.
well, it has pluses and minuses, particularly for subscribers like you -- I can't do as much as I'd like to
if we ignore that client, my training usually is for firms or other organizations
but I have done code reviews and that sort of assistance before
Kai
Ok
I often struggle with how to go forward with our apps, as I have very little experience with software architecture and Android technologies.
And wish I had someone to ask (besides the office hours).
Mark M.
for semi-public questions, in addition to the office hours, you're also welcome to sign up for access to the Android Developer Discussion board at the CommonsWare Community site
Kai
Maybe I should use that more, yes.
4:30 PM
Mark M.
https://community.commonsware.com/t/welcome-to-... if you have not already signed up
Kai
I think I have, some time ago.
Mark M.
the good news about both that and the office hours is that they are just part of the Warescription
the bad news is that they are "semi-public" -- publicly readable but probably not that widely
for private stuff, I've done small deals for Q&A by email or the occasional Web conference
that includes things like code reviews
the good news: private!
the bad news: not free with the Warescription! :-)
Kai
I would expect to pay for something like that
Mark M.
I don't have a ton of time for that stuff, as I mentioned, but feel free to ping me at mmurphy@commonsware.com and we can discuss options
Kai
Ok, thanks for the information.
4:35 PM
Kai
Are you still using Java a lot or are most clients on Kotlin by now?
Mark M.
most stuff that I have dealt with in the past 2-3 years has been in Kotlin
in some cases, the project was migrating to Kotlin and so had a lot of existing Java that we would be converting over as part of ongoing work
Kai
I'm asking because I still wonder if and when we should switch.
Mark M.
I'd try to have that on your roadmap for 2021
Kai
And, once again, I don't have enough experience to tell how that should happen and what areas would benefit the most.
Why?
Mark M.
while Google won't/can't abandon Java, they certainly are going to be aiming their libraries first and foremost at Kotlin developers
in some cases, that means the library is in Kotlin and will be difficult to use in Java (e.g., Paging 3 might not be a lot of fun in Java)
4:40 PM
Mark M.
in some cases, Java won't be a realistic option (e.g,. Jetpack Compose)
Kai
We 2-5 years behind anyway ;-)
Mark M.
sometimes, Google starts with a Java-ish API and then makes a hard jump to Kotlin (Paging 3)
(I say Java-ish because the Paging 1/2 API was awful in any language)
the risk that you run is that some library on which you depend makes that sort of Kotlin-centric jump
at that point, you may be stuck with the older library, with eventual maintenance issues
you also will start to run into recruiting problems: candidates will look at Java-only organizations as being "behind"
not everyone feels the need to be on the latest stuff, but it's a bit of a risk for a candidate to get into a project that might leave them waaaaaay behind the curve if/when they need to go for that next job
Kai
I think I am behind as an Android developer
I have very (practical) knowledge of newer technologies.
+little
So all experience I get is on old stuff and old architecture and such.
4:45 PM
Kai
Fighting with 5 layer deep class inheritance and the sorts :D
Mark M.
and that will start to restrict your options if/when *you* need to go for that next job
Kai
I agree.
But I have a hard time motivating myself to learn modern Android in my spare time.
And with no one to really ask, it's hard.
Mark M.
right -- which is why getting your "day job" onto newer stuff would be a good thing
Kai
I agree. I'd have to onboard my boss ofc. And "refactoring" is always a tough sell, as it has no immediate benefit.
Mark M.
that's why I find the recruiting angle to be an interesting one to pursue with managers
it's something they will feel more directly
Kai
Unfortunately that is a weak argument for us, as there will not be any new Android devs for us.
Mark M.
ah
Kai
I am the only one and working part time and even then some of that time goes to non-Android projects.
Mark M.
oh, right, I think you mentioned this once before
so, yes, you're in a stickier situation than are other developers
Kai
I feel a bit like an independent developer sometimes X)
4:50 PM
Kai
Which is one of the reasons I was asking for coaching or consultancy
Mark M.
if the context is that I would be helping your firm, that's one thing
if you are asking for that kind of help for personal projects, or would otherwise be paying out of your own pocket... that can get expensive
Kai
Ok
Mark M.
which is why I offer these chats, and the forum, and the Stack Overflow "bump" stuff
I try to offer a range of ways of getting answers to your questions, because one size does not fit all
4:55 PM
Kai
I'll think about it and then discuss it with my boss.
5:00 PM
Mark M.
and that's a wrap for today's chat
next one is Tuesday at 8:30am US Eastern
have a pleasant day!
Kai
Have a good time and thanks :)
Kai
has left the room
Mark M.
turned off guest access

Thursday, November 12

 

Office Hours

People in this transcript

  • Kai
  • Mark Murphy