Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "afresh?"
-
I have been a mobile developer working with Android for about 6 years now. In that time, I have endured countless annoyances in the Android development space. I will endure them no more.
My complaints are:
1. Ridiculous build times. In what universe is it acceptable for us to wait 30 seconds for a build to complete. Yes, I've done all the optimisations mentioned on this page and then some. Don't even mention hot reload as it doesn't work fast enough or just does not work at all. Also, buying better hardware should not be a requirement to build a simple Android app, Xcode builds in 2 seconds with a 8GB Macbook Air. A Macbook Air!
2. IDE. Android Studio is a memory hog even if you throw 32GB of RAM at it. The visual editors are janky as hell. If you use Eclipse, you may as well just chop off your fingers right now because you will have no use for them after you try and build an app from afresh. I mean, just look at some of the posts in this subreddit where the common response is to invalidate caches and restart. That should only be used as a last resort, but it's thrown about like as if it solves everything. Truth be told, it's Gradle's fault. Gradle is so annoying I've dedicated the next point to it.
3. Gradle. I am convinced that Gradle causes 50% of an Android developer's pain. From the build times to the integration into various IDEs to its insane package management system. Why do I need to manually exclude dependencies from other dependencies, the build tool should just handle it for me. C'mon it's 2019. Gradle is so bad that it requires approx 54GB of RAM to work out that I have removed a dependency from the list of dependencies. Also I cannot work out what properties I need to put in what block.
4. API. Android API is over-bloated and hellish. How do I schedule a recurring notification? Oh use an AlarmManager. Yes you heard right, an AlarmManager... Not a NotificationManager because that would be too easy. Also has anyone ever tried running a long running task? Or done an asynchronous task? Or dealt with closing/opening a keyboard? Or handling clicks from a RecyclerView? Yes, I know Android Jetpack aims to solve these issues but over the years I have become so jaded by things that have meant to solve other broken things, that there isn't much hope for Jetpack in my mind 😤
5. API 2. A non-insignificant number of Android users are still on Jelly Bean or KitKat! That means we, as developers, have to support some of your shitty API decisions (Fragments, Activities, ListView) from all the way back then!
6. Not reactive enough. Android has support for Databinding recently but this kind of stuff should have been introduced from the very start. Look at React or Flutter as to how easy it is to make shit happen without any effort.
7. Layouts. What the actual hell is going on here. MDPI, XHDPI, XXHDPI, mipmap, drawable. Fuck it, just chuck it all in the drawable folder. Seriously, Android should handle this for me. If I am designing for a larger screen then it should be responsive. I don't want to deal with 50 different layouts spread over 6 different folders.
8. Permission system. Why was this not included from the very start? Rogue apps have abused this and abused your user's privacy and security. Yet you ban us and not them from the Play Store. What's going on? We need answers.
9. In Android, building an app took me 3 months and I had a lot of work left to do but I got so sick of Android dev I dropped it in favour of Flutter. I built the same app in Flutter and it took me around a month and I completed it all.
10. XML.
If you're a new dev, for the love of all that is good in this world, do NOT get into Android development. Start with Flutter or even iOS. On Flutter and build times are insanely fast and the hot reload is under 500ms constantly. It's a breath of fresh air and will save you a lot of headaches AND it builds for iOS flawlessly.
To the people who build Android, advocate it and work on it, sorry to swear, but fuck you! You have created a mess that we have to work with on a day-to-day basis only for us to get banned from the app store! You have sold us a lie that Android development is amazing with all the sweet treat names and conferences that look bubbly and fun. You have allowed to get it so bad that we can't target an API higher than 18 because some Android users are still using devices that support that!
End this misery. End our pain. End our suffering. Throw this abomination away like you do with some of your other projects and migrate your efforts over to Flutter. Please!
#NoToGoogleIO #AndroidSummitBoycott #FlutterDev #ReactNative16 -
FUCKING FUCK! THE TEAM LEAD WANTS ME TO MAKE AN UNNECESSARY UPDATE, AND IN THAT TOO HE WANTS TO IMPLEMENT A HALF ASSED FEATURE. Upon telling him what it takes(which he doesn't understand shit about cuz he's not from webdev background and has the level of experience that I had when I was midway my first webdev book), not to mention that he hasn't even seen the code of the project I've worked upon, which I got from an intern they fired last year cuz of not working and shitting around everywhere in the code(I asked if we could start afresh and he says that it'll take too much time - guess what, it took us two extra weeks already cuz of that and half of our required features can't be implemented cuz the code is beyond any hope), he tells me that "The client won't need this feature, but we're thinking of more and more features to provide (WHAT THE ACTUAL FUCK).
Okay, you wanna sell your product; fine. I suggested that if we're letting the client select the time stamp on the initial date, then we should let him select the time stamp on the ending date too, right?
"No, we'll not provide this feature" ARE YOU FUCKING BONKERS?! WHAT THE FUCK IS THE FUCKING PROBLEM WITH YOU?!?!
I'll have to make major breaking changes in the code, for which I'm not the only one working on. Great.
This, coupled with the fact that he speaks unbelievably slow and it's so irritating cuz he repeats himself thrice.
What happens(has already happened), when he'll show this to the seniors, he'll say that this is either unnecessary/will suggest a major change, which WOULD HAVE BEEN MUCH FUCKING BETTER IF TOLD BEFORE I START WITH THE CHANGE, YOU FUCKING CUNTS
I thought this would be fun. Well fuck me.2 -
Okay, I'm interning at a government institution & boy let me just tell you... mmmh... A FUCKING MESS!
So I'm tasked with developing a HR system that the whole company should eventually use. I tell them I'm not familiar with the open source technologies they'd like me to use, they tell me no worries, you can develop a prototype with a tech stack that you're familiar with. Also, they tell me that they don't quite have the requirements from HR so what I can do for my prototype is just develop something "general" that works according to their "idea".
Being the good intern I am, I develop quite a good functioning prototype & present it to the team who then present it to the managers.
Finally we're all called in for a final meeting with the managers & HR, and guess what? The requirements for the system are different. Almost 90% of the features we built into the prototype need to change. Also, the system must use open source technologies. The managers promise to send a detailed requirements specification document, with sample data. I think this is a great idea as there's still a lot I don't understand. I expected this to happen, so I soon start to redesign afresh, this time trying as hard as possible to consider open source technologies within my plans.
But noooo... My team wants me to "finish" the system!
"Finish" what system, I ask? That was a prototype!
"Just tweak the functionality you built to meet the new requirements".
WTF!
We don't even have the actual requirements specification document, so I'll still be coding blindly. Also, the whole system needs to be re-built using open source technology!
Instead of pushing me to develop a system blindly, with no requirements, how about you push HR to tell you exactly what they need and how it should work first!?
I'm honestly exhausted with the false sense of urgency from my team!!8 -
it's been a while since my last rant and coming back after so long made me realize how much I missed here.
at some point i realized that the career I wanted and my current situation wouldn't match, I decided to go in real hard, I moved into the dreaded backend development (you can guess, node and mongodb),
I isolated myself from almost everyone and everything, cleared out my mobile games, social media and for almost two months I wanted something stable(might not be job ready but it had to be reasonable). I have come to love backend development so much, the joy of not having anything to do with css.
dad fought me, mum cried, probably thought I was slipping into some deep end, quitting school in my second year of studying food science(still dont know how I accepted that course lol) to start afresh didn't help matters. really hard decisions, made money on some little freelancing gigs, wasnt constant, I needed something stable and that was a job and a degree to get me one.
nothing special, just some regular hustler hoping his passion will pay him, I have always loved what i do but I need something to keep me going.5 -
Nuked my arch today cuz my ssd will soon arrive and ill start afresh. Wanted to practice some c++ so booted up windows and god after staying away for about an year, it feels even worse(windows is fresh install too)
What a fkin nightmare everything was soo fkin laggy, too many distractions and basically the "fluidness" that I'm accustomed to has gone. I'm never fkin coding on windows again thanks.6 -
Is it possible to use another system's processing power?
I have one pc on pentium r, 4gb ram and 448gb hdd. I also have another pc (although temporary), but with core i5. The problem is I have the android workstation (android studio, flutter, sdks, libraries, etc) installed on the insufficient pentium r. Is it possible to piggyback the processing power of the core i5 without installing that entire workstation afresh? Kind of like the way I can project the visuals of a damaged screen to a monitor. The pentium is too slow to run the android stuff so I want to parasite the i5 with the limited time at my disposal. Is this possible?10 -
I believe everything has a solution. It's just not visible at the time. So I just leave that part and go home ( or work on something else if I feel like it ). It never happened that some kind of solution didn't come to my mind when I'm thinking afresh.
-
Before he began dropping the 20K proposed to remodel my flat, I told my father I much preferred a contractor who was recommended by someone I knew, as opposed to using a big corporation like Home Depot. FAMOUS LAST... a neighbour in my building highly recommended the contractor we chose. And, week 7 [or is it 8?] of what was proposed to take no longer than two weeks has begun afresh!
On Friday the fellow who is the owner of the contract remodeling company was here touching the paint. He was here because I forbade the two painters he sent to do the initial painting job.
My internet cut out suddenly around 1300 Friday. He set to leave for the weekend shortly after that. I mentioned the outage to him. The essence of his reply was that there was no way it could have had anything to do with him. The following day, my internet provider sent a tech out to diagnose the problem. What was the problem? The head of the remodeling firm removed a face plate from the wall where there were telephone wires and disconnect them when he tore the wires as he replaced the face plate.
Although the tech told me he wasn't going to charge my account the $85.00 fee for his services because the outage was caused within my flat, I wish to be sure of this. Which brings us to the punchline.
My internet provider is a lame ass business model, dreamed up by a squint-eyed ex-circus monkey, never well endowed in the top story, and now just plain sad.
There were some 911 outages in Washington State last Thursday night. All during the day Friday when you dialled their freephone #. the recorded announcement, before saying anything else, told you they were experiencing heavier than usual call volumes, and my wait would be greater than `10 minutes. Fine. What fried my La Croix silk was that after their customer service dept closed for the weekend, that outgoing message remained.
Today, I wanted to contact my provider to see if they would know if the $ was going to be charged to my account. After pressing the 'send' key, my computer came back with an error message, saying they were having technical difficulties. So, I went on over to the 'chat' page. There's nothing to click on to take me to this enfabled location. So, can't reach them by phone unless I want to hear, every 30 seconds whether or not I wish to, how sorry they are for my delay.
A few years ago I would've used this as an excuse to have a technicolour meltdown. The reason I'm posting this is that I am now able to see beforehand what I'll be doing to myself getting upset over the circumstances. When I do reach somebody, I'm going to tell them as lightly as possible, that if they were an airline, I wouldn't board any of their aircraft. Ever.