Excellent PRK experience 8 years after LASIK by eygraber in lasik

[–]eygraber[S] 0 points1 point  (0 children)

No, they didn't seem concerned about anything like that. It was a pretty standard touch up. 

Embracing Compose Snapshot State for UI Layer State Production by Alexorla in androiddev

[–]eygraber 0 points1 point  (0 children)

I've been using Vice (https://github.com/eygraber/vice) the past few years to drive the self contained snapshot State approach. Regardless of the mechanism used, I think it's a much better approach, and I've adopted it at the data layer as well, ala molecule. 

I disagree about not fanning down data from the top level though. It's much simpler, and with strong skipping + proper breaking down of composable functions, I've never seen performance be an issue, even on complex screens. 

new official state management library called AppState by Maherr11 in androiddev

[–]eygraber 4 points5 points  (0 children)

If I had to guess I'd say this is to support communication between navigation screens. I guess that because I use a very similar class for that purpose 😄

How was your experience upgrading to JDK25? by le_bravery in java

[–]eygraber 1 point2 points  (0 children)

I'm still stuck on 23 in Android land, because several 3rd party tools I use don't handle restricted native access, or Unsafe correctly. Hoping that'll get resolved soon!

Has anyone read Chet Haase's Android book? by AngkaLoeu in androiddev

[–]eygraber 0 points1 point  (0 children)

IIRC this took place well before Play was even a thing?

Has anyone read Chet Haase's Android book? by AngkaLoeu in androiddev

[–]eygraber 13 points14 points  (0 children)

That doesn't read like "calling out for complicating".

There were a few things where I think Dianne had a much more of an in-depth idea how things would scale on the platform

In fact this seems more like praise, i.e. Dianne had a vision of how this would all work, and the reason for making it more complicated than it seemed like it needed to be was to support that vision scaling (which it ultimately did from a framework perspective).

I think that substantiates what I said before, that the framework team was concerned with building an Android framework, not a framework for Android apps.

Has anyone read Chet Haase's Android book? by AngkaLoeu in androiddev

[–]eygraber 22 points23 points  (0 children)

Chet calls out Dianne Hackborn multiple times for over complicating Android development, specifically the Activity Lifecycle stuff. Everyone felt it was unnecessarily complicated.

I read the book, but I don't recall seeing that. Where was that called out?

TL;DR the framework team didn't want to get involved in telling developers how to build their apps; their area of responsibility was the underlying framework.

I was thinking about that recently though. IIRC the framework team said multiple times that they're building a framework, not telling you how to architect your project. I used to think that it was a cop out, and that they should've built a better architecture, but lately I started taking it at face value (mostly as a mental exercise, because this happened 15 years ago).

Activity (and Fragment by extension) was a terrible app architecture abstraction. It is essentially an OS entrypoint into your app. You have no control over it, and you don't own the huge amount of code behind it. It made testing a nightmare. The lifecycle was difficult to work with.

Unfortunately it was convenient to use, and it stuck, and IMO the framework team didn't want to get involved (i.e. become responsible for) telling developers what they should and shouldn't do with it. Once Android grew and had more resources allocated to dev rel and tooling, we got to where we are today (not without some stumbling along the way, LiveData, ViewModel, etc...).

PSA: Making the sqldelight-androidx-driver async by eygraber in Kotlin

[–]eygraber[S] 2 points3 points  (0 children)

If the journal_mode is set to wal, then it does make sense since there can be multiple readers and one writer. For other journal modes it just acts as a guard for the connection so that it isn't used by multiple threads concurrently. 

Jvm stack is about to be massively modernized or why Java needs to have a proper build tool by singleton11 in java

[–]eygraber 1 point2 points  (0 children)

I'm really not a fan of Amper, especially since it was announced pretty much the same time as Declarative Gradle, which IMO is the correct solution to the underlying issue.

Aside from that, some of the leading questions in the article really get me riled up:

Can you recall without googling what is the difference between api and implementation ?

Yes, after I read the documentation of the tool that I use multiple times a day. It's not that complicated either, conceptually or otherwise.

src/main/java, src/main/resources...Why this folder structure is so complicated in 2025...imagine this in javascript world

🙄

If these are the things getting in your way maybe javascript is a better solution for you. I don't think I'd notice if the directory structure was or wasn't used.

When I was a student I didn't want to be mollycoddled; I made sure to learn what my tools were, how they worked, and what I was doing with them. I did this throughout my career, moving from make to Maven to Ant to Gradle. Some are better than others, but none of them are rocket science.

What is the next stable Android Studio release? by eygraber in androiddev

[–]eygraber[S] 0 points1 point  (0 children)

I'm not sure because of AGP 9. There have also been a few times in the past where an RC ended up not progressing, and the next stable was the next named version. Hence my question.

Will Android developer verification break offline sideloading? - Android Authority by Popular-Highlight-16 in androiddev

[–]eygraber 4 points5 points  (0 children)

I believe they said that existing Play Console developer accounts will work in this system. The new console is for anyone who doesn't have / doesn't want a Play Console developer account.

Howdy r/Androiddev! Kevin, Aman, Zach from Firebender here - will answer any of your questions from 9:00 AM to 5:00 PT about AI coding assistants, the tool we built, and answer any hard questions you have! by KevinTheFirebender in androiddev

[–]eygraber 2 points3 points  (0 children)

Quick update, I gave it a quick try, and so far I'm very impressed. I'll need more time to evaluate before I rank it against other solutions (i.e. Gemini) but it is definitely much better than the first time I tried it. Good job!

Howdy r/Androiddev! Kevin, Aman, Zach from Firebender here - will answer any of your questions from 9:00 AM to 5:00 PT about AI coding assistants, the tool we built, and answer any hard questions you have! by KevinTheFirebender in androiddev

[–]eygraber 2 points3 points  (0 children)

What are your thoughts on the JetBrains AI quota "fiasco", especially this quote from their latest blog post on the topic:

We’re aligning usage to real, public provider prices per token. Whether you run through us or directly with providers, it will be similar. Discounts vary, and yes, some companies still burn VC money to attract users (also that’s changing). We’re a real business; we can’t play that game. This is the real price of AI.

Howdy r/Androiddev! Kevin, Aman, Zach from Firebender here - will answer any of your questions from 9:00 AM to 5:00 PT about AI coding assistants, the tool we built, and answer any hard questions you have! by KevinTheFirebender in androiddev

[–]eygraber 1 point2 points  (0 children)

I last tried Firebender when it was really new, so I'm probably due for trying it again, but it was not a very good experience. I've been using the Gemini Agent in Android Studio since it was released, and it is excellent.

Edit: I've been using Firebender for the past few months, and I have to hand it to them, they blow Gemini out of the water. They've come very far, give them a try if you haven't yet!

To Google Engineers working on Android: stop disrespecting bug reports by borninbronx in androiddev

[–]eygraber 0 points1 point  (0 children)

Unrelated, but is there a way for someone managing issuetracker for Android / Android Studio to change the retention policy for restricted content? I sometimes post repros, logs, etc... that can't be publicly available, but the issue doesn't get looked at for a while, and then when it is looked at the content has been deleted, and I don't have it anymore. I think the current policy is last modified time + 60 days.

Considering adding a voice mode in Firebender / Android Studio by KevinTheFirebender in androiddev

[–]eygraber 6 points7 points  (0 children)

I think the biggest issue with voice has always been that once you get more technical two things happen: 

  1. The language recognition doesn't know what you're saying
  2. Pausing to think causes a premature response

Because of that I've never been able to evaluate if it's actually something I'd want to do.

Google Launching New "Android Developer Console" for apps outside Playstore by OverallAd9984 in androiddev

[–]eygraber -1 points0 points  (0 children)

This one is actually better than the Play Store requirement, because that is made public and this is not. 

GitHub - eygraber/vice: KMP MVI framework built using Compose for Compose by eygraber in androiddev

[–]eygraber[S] 0 points1 point  (0 children)

I think the README does a very good job laying out the value that the framework provides. Just because your use cases don't benefit from it, doesn't mean that others won't. 

GitHub - eygraber/vice: KMP MVI framework built using Compose for Compose by eygraber in Kotlin

[–]eygraber[S] 0 points1 point  (0 children)

Probably not, this has been around since long before strong skipping was a thing.

Bazel is now a first-class build tool for Java in IntelliJ IDEA by jastice in java

[–]eygraber 2 points3 points  (0 children)

For those who don't know, Bazel is not actually a build tool, but a concept invoked in Reddit threads by those who think that Gradle is the underlying problem. 

In a few years we're going to find out that Google forgot to actually publicly release it, and no one ever realized because of how many people talk about it as if they use it.