Live data from Hacker News

Ask HN: Am I crazy or is Android development awful?

news.ycombinator.com

1–10 of 157 posts

Ask HN: Am I crazy or is Android development awful?

#1
TL;DR - what I can do in 10 minutes on a desktop python app (windows or Linux, both worked fine) seems near impossible as an Android app.

I have a simple application to prototype: take a wired USB webcam, display it on the screen on a computer device (ideally a small device/screen), and draw a few GUI elements on top of it.

Using Python scripting and OpenCV, I had a working cross-compatible script in 10 minutes, for both Linux and Windows.

Then I realized I'd love this to work on an Android phone. I have devices with USB OTG, and a USB-C hub for the webcam. I confirmed the hardware setup working using someone else's closed source app.

However the development process has been awful. Android Studio has so much going on for a 'Hello World', and trying to integrate various USB webcam libraries has been impossible, even with AI assistants and Google guiding me. Things to do with Gradle versions or Kotlin versions being wrong between the libraries and my Android studio; my project not being able to include external repos via dependencies or toml files, etc.

In frustration I then tried a few python-to-android solutions, which promise to take a python script and make an APK. I tried: Kivy + python for android, and then Beeswax or Briefcase (may have butchered names slightly). Neither would build without extremely esoteric errors that neither me nor GPT had any chance to fix.

Well, looks like modern mobile phones are not a great hacker's playground, huh?

I guess I will go for a raspberry pi equivalent. In fact I already have tested my script on a RPi and it's just fine. But what a waste, needing to use a new computer module, screen display, and battery, when the smartphone has all 3 components nicely set up already in one sleek package.

Anyways that's my rant, wanted to get others' takes on Android (or smartphone in general) dev these days, or even some project advice in case anyone has done something similar connecting a wired webcam to a smartphone.

Re: Ask HN: Am I crazy or is Android development awful?

#3
I also agree that the development experience is awful. I have more than 10 years as an Android developer and Android Studio (someone remember when it was derived from Eclipse?) is painfully slow, even in modern machines. Just starting a new project is a ridiculously sluggish process. Also Gradle is a piece of hyper-complicated software that (almost) nobody is interested in, but it is there and you have to deal with it. Nowadays I am basically moving to Flutter, much more simpler and easier than kotlin.

Re: Ask HN: Am I crazy or is Android development awful?

#5
Android is an example of technical debt from poor caked-in design. Its problems are still stemming from being rushed to market (relatively speaking) two decades ago. It's had enormous success as the most viable iOS alternative, but at a cost.

On the flip side, consider PalmOS. It was SotA at its debut in 1996. In the early aughts, Palm made Treo smartphones when almost no one knew what a smartphone was. It had a multiyear lead, yet it got easily marginalized by iOS and Android. Its technical debt was from maintaining backward compatibility with 90's apps, and cost it dearly. To be fair, company management sucked too.

The moral is: caked-in issues suck, but if you're going all in with a design, the most important thing is to time it with the explosion of the market. Palm was too early, others like Maemo and Windows Phone were too late.

Re: Ask HN: Am I crazy or is Android development awful?

#6
Android is a piece of sh.. from developer perspective (and arguably from a user one).

Known fact, take it or leave it :)

To be fair UI development can not be simple in itself.

Because of the exponentially growing state machine => simple Rails style general purpose frameworks are impossible, it will always be a challenging problem.

Re: Ask HN: Am I crazy or is Android development awful?

#7
I've been developing Android since 2012. It was worse then. Still sucks now but isn't as bad. Esoteric errors are still the norm. With 10 years of experience you only have to swear a whole day when updating a library, instead of spending a week.

GPT does poorly with beginners - it's definitely something humans have advantage with AI and I expect the gap to get bigger.

I do not touch legacy projects anymore because they're always horribly broken, half the libraries no longer exist. Many of them are easier to rewrite than fix. You get weird bugs where A needs to be 1.71.0 but B needs A at 1.69.0 or 2+. Upgrading A to 2.0.1 will fix A and B but break CDEFG. Upgrading everything to max breaks switch-case, turns some of your brackets to lambdas, requires you to change your UI from XML to Kotlin, etc, etc.

If you want something to hack stuff with, I made this: https://github.com/smuzani/android-minimalist-template

Originally it was designed for AI with smaller context windows. But it works as a simplified version of our production codebase. The principle behind this is that you should have good peripheral vision and that the shape of the code resembles what it's trying to build.

Re: Ask HN: Am I crazy or is Android development awful?

#8
post #3

I also agree that the development experience is awful. I have more than 10 years as an Android developer and Android Studio (someone remember when it was derived from Eclipse?) is painfully slow, even in modern machines. Just starting a new project is a ridiculously sluggish process. Also Gradle is a piece of hyper-complicated software that (almost) nobody is interested in, but it is there and you have to deal with i…

Most of my stack overflow points are from helping people run their build in Eclipse :)

Gradle is deprecated now though. And Jetpack Compose is about as convenient as Flutter.

Re: Ask HN: Am I crazy or is Android development awful?

#9

Android is an example of technical debt from poor caked-in design. Its problems are still stemming from being rushed to market (relatively speaking) two decades ago. It's had enormous success as the most viable iOS alternative, but at a cost. On the flip side, consider PalmOS. It was SotA at its debut in 1996. In the early aughts, Palm made Treo smartphones when almost no one knew what a smartphone was. It had a mult…

Dart and Flutter were actually meant to be the better design. Lots of features from those were replicated on Kotlin-Jetpack, especially Compose. And lots of those features end up being copied to Java.

Dart-Flutter still supports them better natively though, instead of having to hack things like reactive programming via Kotlin Flow.

Re: Ask HN: Am I crazy or is Android development awful?

#10
post #4

Phones are optimized to handle RF. My engineering advice is to build your application with that in mind. A wireless webcam is the simplest thing that might work. Hosting a video stream on other hardware might be the second simplest thing. Good luck.

Except, phones have exceptional cameras. You'd be spending just as much on a dedicated camera
Post reply on HN