Office Hours — Today, October 20

Saturday, October 17

Oct 20
8:25 AM
Mark M.
has entered the room
Mark M.
turned on guest access
8:55 AM
Kai H.
has entered the room
Kai H.
Hello
Mark M.
hello, Kai!
how can I help you today?
Kai H.
I guess I have a bit of a personal question, if I may: You spoke at a conference lately and noted that it's probably the last time. I wondered why.
9:00 AM
Mark M.
I don't feel that I am being very useful in that format anymore
Kai H.
As a conference speaker?
Mark M.
yes
Kai H.
Why is that?
Mark M.
I'm nothing special as a speaker. I got into speaking way back in the beginning of Android in part because we didn't have anyone else. Now we have a ton of experts.
Kai H.
Can't you offer your experience and view point as a speaker? It's not always about the topic as such.
9:05 AM
Kai H.
I come in here with technical questions, but more often than not I'll ask about your experience too.
Mark M.
sure, but others can do that too
the problem with conferences is that speaking slots are a true zero-sum game
Kai H.
Which means?
Mark M.
conferences do not expand based upon speaker interest, particularly for conferences held in the physical world (vs. this year's pandemicized virtual ones)
Kai H.
Ok
Mark M.
particularly nowadays, conferences get several times more speaker applicants than they have slots for
Kai H.
I see. I had the impression it was (still) the other way around.
Mark M.
it depends a bit on the event
but, for example, for the past few years, droidcon NYC has gotten about 5x the applicants than they had capacity for
Kai H.
Which is a good thing, I guess
Mark M.
oh, absolutely
Kai H.
Thanks for the answer :)
9:10 AM
Kai H.
I actually have no Android related question today. Still working on adapting to Scoped Storage.
Mark M.
you and everybody else :-)
Kai H.
Especially interesting is that I overlooked that I have to support 4 versions of our app on 5 versions of Android. I was only looking at the most recent version of the app.
Mark M.
4 versions of your app?
Kai H.
Yes. We have a server component and pretty much an app that goes with it.
So for "server vX" there is "app vX" and for "server vX+1" there is "app vX+1" and so on.
9:15 AM
Mark M.
OK. Outside of white-label scenarios, I don't see that pattern all that much, but if it's what you need, it's what you need!
Kai H.
So what I'll do is that I'll start with the oldest version of the app, implement changes and then try and merge those up into the newer versions. And when I'm lucky that actually works. Sometimes there were breaking changes though...
Two versions ago we switched to Jetpack and made an "internal" library "external". That might end up hunting me now.
Mark M.
sounds like fun!
(narrator: it did not sound like fun)
Kai H.
It is very much!
(narrator: It wasn't)
Mark M.
clearly, we need to pay closer attention to our inner narrators
Kai H.
I wonder if I should try and retroactively upgrade the older apps to androidx or if I should do the manual work.
But I think there was some reason not to upgrade, like an API version that was needed for some lib in androidx and such.
So even if I upgraded I'd probably need different versions of the external lib or something.
Mark M.
¯\_(ツ)_/¯
9:20 AM
Mark M.
that's all "inside baseball" for your organization -- other than feeling your pain, there's not a lot that I can advise
Kai H.
I guess so
Maybe you had some experience or story that came to mind.
Maybe not.
Mark M.
sorry, I haven't been in a situation like this
I mean, my gut instinct would have been, back at the start, that there should be one client app that adapts to the specific server that it needs to talk to
but, now that you're in a situation with 4 client apps, I can't say whether consolidating them is a worthwhile investment or not
Kai H.
So you have one app that adapts regarding to the version of the server it speaks to?
I guess that would be a nice way ;-)
And would make some things easier (and some harder maybe)
Mark M.
assuming that the apps are doing largely the same thing, yes -- and since you are describing these as versions, I assume that the apps/servers have the same roles and are simply changing
Kai H.
Exactly. Newer servers have additional functionality. Sometimes an api will change a bit. Stuff like that.
9:25 AM
Mark M.
to put it another way: if the overlap between two versions of the app is 80% or more, it should be one app with a strategy pattern for handling differences
Kai H.
I do wonder why the decision was made to make it a new app every time.
Probably to make it look different and everything and make it feel more like a version is a complete, enclosed package.
The other clients connecting to the server would usually get a bit of a different look with each version too.
Mark M.
even then, though, I'd still aim to have the bulk of the app code in common (e.g., a library module)
Kai H.
I guess so. There even is a library, but it seems not to have too much of that code.
Or rather the division between functionality and GUI is not really there.
And a lot of the functionality is in the app instead of the lib.
9:30 AM
Mark M.
well, that's a wrap for today's chat
next one is Thursday at 7:30pm US Eastern
Kai H.
Have a good time and stay healthy :)
Mark M.
you too!
Kai H.
has left the room
Mark M.
turned off guest access

Saturday, October 17

 

Office Hours

People in this transcript

  • Kai Hatje
  • Mark Murphy