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!
|
Mark M. |
how can I help you today?
|
Kai |
Hello Mark
|
Kai |
Just lurking right now
|
Mark M. |
OK -- if you come up with a question, just ask!
|
Kai |
I will
|
Nov 14 | 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
|
Mark M. |
in no particular order:
|
Mark M. |
OkHttp and Retrofit, plus either Moshi or Gson for the JSON parsing
|
Mark M. |
Glide for image loading
|
Mark M. |
for DI, personal preference is Koin, though I wind up using Dagger more on customer projects
|
Mark M. |
(technically the Kotlin runtime and coroutines are non-Google, but I'd call those "standard")
|
Mark M. |
LeakCanary for diagnostics
|
Mark M. |
com.jraska.livedata:testing-ktx and com.nhaarman.mockitokotlin2:mockito-kotlin for testing
|
Nov 14 | 4:15 PM |
Mark M. |
plus various RxJava bits if I'm on a project that uses those
|
Mark M. |
those would be the big ones
|
Kai |
Thanks, that gave me an idea :)
|
Kai |
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.
|
Kai |
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.
|
Kai |
I am surprised that you never stumbled upon the need of loading SVGs.
|
Kai |
I thought the scalability would make it a bit more popular.
|
Mark M. |
mostly, I use them as source for vector drawables
|
Mark M. |
actual SVGs, loaded at runtime, hasn't come up much for me
|
Kai |
Huh
|
Nov 14 | 4:20 PM |
Mark M. |
if I had to guess, it's based on what Adobe tool the designers use as their foundation
|
Mark M. |
if they use Illustrator, they'll like SVGs
|
Mark M. |
if they use Photoshop, they'll be more PNG/JPEG typese
|
Mark M. |
er, types
|
Kai |
Did you just correct your typo before you made it?
|
Kai |
That is amazing foresight
|
Kai |
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
|
Mark M. |
but, no, I made the typo first
|
Kai |
oh... ;-)
|
Kai |
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.
|
Kai |
Or rather where the biggest problems may lie.
|
Kai |
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
|
Mark M. |
(plus the obligatory 2020 doomscrolling)
|
Kai |
That is good to hear!
|
Nov 14 | 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
|
Mark M. |
if we ignore that client, my training usually is for firms or other organizations
|
Mark M. |
but I have done code reviews and that sort of assistance before
|
Kai |
Ok
|
Kai |
I often struggle with how to go forward with our apps, as I have very little experience with software architecture and Android technologies.
|
Kai |
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.
|
Nov 14 | 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
|
Mark M. |
the bad news is that they are "semi-public" -- publicly readable but probably not that widely
|
Mark M. |
for private stuff, I've done small deals for Q&A by email or the occasional Web conference
|
Mark M. |
that includes things like code reviews
|
Mark M. |
the good news: private!
|
Mark M. |
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.
|
Nov 14 | 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
|
Mark M. |
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.
|
Kai |
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
|
Mark M. |
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)
|
Nov 14 | 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)
|
Mark M. |
(I say Java-ish because the Paging 1/2 API was awful in any language)
|
Mark M. |
the risk that you run is that some library on which you depend makes that sort of Kotlin-centric jump
|
Mark M. |
at that point, you may be stuck with the older library, with eventual maintenance issues
|
Mark M. |
you also will start to run into recruiting problems: candidates will look at Java-only organizations as being "behind"
|
Mark M. |
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
|
Kai |
I have very (practical) knowledge of newer technologies.
|
Kai |
+little
|
Kai |
So all experience I get is on old stuff and old architecture and such.
|
Nov 14 | 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.
|
Kai |
But I have a hard time motivating myself to learn modern Android in my spare time.
|
Kai |
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
|
Mark M. |
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
|
Mark M. |
so, yes, you're in a stickier situation than are other developers
|
Kai |
I feel a bit like an independent developer sometimes X)
|
Nov 14 | 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
|
Mark M. |
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
|
Mark M. |
I try to offer a range of ways of getting answers to your questions, because one size does not fit all
|
Nov 14 | 4:55 PM |
Kai |
I'll think about it and then discuss it with my boss.
|
Nov 14 | 5:00 PM |
Mark M. |
and that's a wrap for today's chat
|
Mark M. |
next one is Tuesday at 8:30am US Eastern
|
Mark M. |
have a pleasant day!
|
Kai |
Have a good time and thanks :)
|
Kai | has left the room |
Mark M. | turned off guest access |