Office Hours — Today, August 9

Thursday, August 4

Mark M.
has entered the room
Mark M.
turned on guest access
Aug 9
9:05 AM
Paul R.
has entered the room
Mark M.
hello, Paul!
how can I help you today?
Paul R.
Greetings. Nice to chat with you again.
Let''s talk about the ConstraintLayout artifact.
And how to obtain it as a Gradle dependency.
Mark M.
Paul R.
Even more generally, do you have any insight into why Google just doesn't put all of their dependencies up on Bintray or Maven Central rather than in the SDK?
Mark M.
licensing, as I understand it
while everything(?) in the Android Repository is open source, they still force you to agree to non-Apache license terms to use it
Paul R.
Ah, that make some sense but is not very satisfying.
Mark M.
I can't defend the indefensible :-)
Paul R.
I'm going to read your link ....
9:10 AM
Paul R.
I scanned the issues but they appear to be a little different than mine. My experience is that it appears that new versions of the library get released without me being informed by Android Studio. Also I see what looks like bugs related to using library modules with conflicting versions in the build.gradle files, fwiw.
Was that clear to you?
Mark M.
well, since neither Android Studio 2.2 nor ConstraintLayout are in release form, I'm not shocked that you're having a problem here
9:15 AM
Mark M.
file an issue, if you can reproduce it, or see if one is already filed
Paul R.
Good point.
Do you document using ConstraintLayout yet in your book?
Mark M.
not yet, as it is not in release form yet
sometime this fall, I will be covering it
it depends a bit on the timing of when they ship those things
on the whole, outside of new platform releases (e.g., N Developer Preview), I try to minimize how much I cover of pre-release stuff
Paul R.
Probably a very wise approach.
Mark M.
I have little enough hair to waste it, pulling it out to deal with pre-release stuff :-)
Paul R.
:-)
What is your current thinking on the topic of Firebase and your book?
Mark M.
I will not be covering it
9:20 AM
Mark M.
pretty much the only services that I cover are ones where self-hosting is an option (e.g., ACRA)
for example, I'm working on an OpenStreetMap chapter now, as a counterpart to the Maps V2 chapter
about the only thing that I might cover that's a bit Firebase-y is their job-dispatcher library: https://github.com/firebase/firebase-jobdispatc...
and that's only after I create some plugins to provide non-Firebase options
9:25 AM
Paul R.
On another different, but Android topic, I recently decided that my app was getting too big from a structural perspective. strings.xml was out of control. I concluded that moving some key Activity classes would be better served as separate library modules (like for sign in and an intro screen). Have you wrestled with how to keep an app structured so that it is reasonably easy to maintain?
Mark M.
"strings.xml was out of control" -- note that filenames in res/values-*/ are irrelevant, so you can split your strings and other values resources into whatever files you want
strings.xml is a convention, but you could have strings1.xml and strings2.xml
or whatever sort of organizational structure for them that you want
Paul R.
Is that your solution to encapsulating funciionality?
Mark M.
no, I am just mentioning it with respect to that portion of your question
Paul R.
(pardon my typos)
Mark M.
the only reason I split things into separate modules is for clear technical reasons: the module started somewhere else, the module is reusable, the module is a different app, the module is maintained by somebody else, etc.
however, I have not worked on million-line Android projects, either
9:30 AM
Mark M.
personally, I haven't had a problem with maintenance due strictly to size, so I do not have specific advice with respect to your concerns
ndrocchietto_ivano
has entered the room
Mark M.
Paul: let me take a question from Ivano, and I will return to you shortly
Ivano: your turn! do you have a question?
Paul R.
My current gig started out from scratch. A rare experience based on my career. The previous gig was a half-million line library (Brightcove's native video SDK).
ndrocchietto_ivano
Hi Mark and Paul, I am mostly in peeking mode. the question wanted to ask you regarding shadow$ klass found a solution in SO http://stackoverflow.com/questions/26933888/wha..., for the rest Mark, not questions at all because the RXJava thing is really big and have to catch up with. I guess...
9:35 AM
Paul R.
Strange that you should mention RXJava. I'm wrestling with this mightily. My gut feel is that it is an emperor with no clothes, but I could easily be wrong. Mark, do you have an opinion on RXJava?
Mark M.
Paul: I think there's a strong element of "it's what the cool kids are using"
Paul R.
Amen to that.
ndrocchietto_ivano
Paul Reilly: is something powerful will make retire async task
Mark M.
I was planning on covering it late this year or early next, now that we have Java 8 lambda support
ndrocchietto_ivano
junit easier, less verbosity, amazing synergy between functional and OOP , complex multithreading made easy, are K reasons to think over a revolution
Paul R.
I've been a functional skeptic for over 20 years, maybe 30 now. :-) Best I can say for it is that it just doesn't want to die. :-)
ndrocchietto_ivano
and now all these dependency injections. It looks like Android in 1 year will be completely another language to me. Restrofit2+RX Java is becoming a standard IMO
9:40 AM
ndrocchietto_ivano
Paul--> :)
Paul R.
If Oracle keeps being a pain in Google's butt, in another year we could be using Swift, although Go would be my preference.
Mark M.
Paul: that's not an issue; otherwise, Google would not have switched to OpenJDK
Paul R.
Bottom line, it will be fun to watch and see how this all plays out.
Mark M.
IMHO, Google and Oracle have "buried the hatchet" for the future, and the current legal stuff is mostly for the past and for establishing legal precedent
ndrocchietto_ivano
if SWIFT will be standard ios developers will have huge advantage on us
Mark M.
at the 2016 I|O conference's Android fireside chat, neither Google nor the audience had much interest in Swift
Kotlin had greater audience interest
ndrocchietto_ivano
god bless intelliJ
Paul R.
What are your takes on Kotlin?
9:45 AM
Mark M.
it's not horrible, but IMHO it's also a case of "all the cool kids are using it"
long-term, most likely it will go the route of Scala, Clojure, and other attempts to replace Java on the JVM
ndrocchietto_ivano
yes please!
Paul R.
Woe is me, never having been a cool kid. :-)
ndrocchietto_ivano
what I see as a game changer is firebase instead, it looks big G is investing a lot
Paul R.
I like Firebase but I think it will suffer from a scaling problem. If Firebase gets you pretty far and then you can smoothly roll over to AWS, GCP or your own back end service, then it is OK. Beware the panacea.
ndrocchietto_ivano
too much at stake to not make scalable.. the future of digital marketing could lie there
Paul R.
God willing, that I discover Firebase does have a scaling problem. :-)
9:50 AM
Paul R.
I attend GCP meet-ups in Cambridge that are run by a GCP product manager. He hardly knows what Firebase is. I found that very strange.
ndrocchietto_ivano
i guess corporations will prefer ad hoc system for security reasons
Paul R.
This is a Google Cloud Platform product manager. I would think Firebase and GCP would be parts of a Google corporate strategy. Then again, it would not be the first time the left hand did not know what the right hand was doing.
Mark M.
and Google has lots of hands
9:55 AM
ndrocchietto_ivano
well as we are asking mark opinions
I would like to know from you and Mark about VR.I mean it will be undisputably the next big thing. Will be learning native C/C++ essential for android developers?
Mark M.
"I mean it will be undisputably the next big thing" -- oh, that's very much in dispute, at least for some values of "next big thing"
in certain areas (games, perhaps education), it may become big
ndrocchietto_ivano
OK thanks
Mark M.
"Will be learning native C/C++ essential for android developers?" -- only until some frameworks are created that allow for VR development in other languages
ndrocchietto_ivano
(true I was too much dogmatic)
yes like I am waiting brillo since almost 2 years
Mark M.
for example, I think Unity 3D allows development in stuff other than C/C++ (C#, JavaScript listed on their site)
Paul R.
The whole notion of wearing a device only works for me in the realm of playing games, maybe education. That said, I have seen some very impressive demos of Project Tango that require no contraptions.
10:00 AM
Mark M.
that's a wrap for today's chat
the transcript will go up on https://commonsware.com/office-hours/ shortly
Paul R.
Enjoyed it.
Mark M.
the next chat is Thursday at 7:30pm US Eastern
have a pleasant day/evening/other time unit!
Paul R.
has left the room
ndrocchietto_ivano
has left the room
Mark M.
turned off guest access

Thursday, August 4

 

Office Hours

People in this transcript

  • Mark Murphy
  • ndrocchietto_ivano
  • Paul Reilly

Files in this transcript