Android.
I've been overseeing/testing an app we outsourced (because we don't have the skillset in house) and it's been a fucking nightmare. They are proper cowboys and difficult to communicate with. It's been the bane of my life since February, and today, I think we've finally nailed the last bug that was stopping beta testing going ahead.
The bug only manifested itself on a subset of Android tablets and only in landscape. The devs claim they can't reproduce it. I've given them a list of our test devices and they don't have any of them. So I replicated it on the emulator and they said it still didn't show. I sent them my AVD and
still they claim not to see it.
I don't do Android development but I was getting nowhere with them, so without any other option I dug into the code. I was able to figure out where the bug was and could 'fix' it on the broken devices, but that transferred the issue to the previously working ones. They were using a magic number to estimate the ratio of screen visible when virtual keyboard is shown. I changed the magic number and that's when I saw different results. Armed with the new info as to where the bug [probably] is, I went back to the devs. I don't like the idea of having magic numbers, especially for
estimating things, and if we're seeing that on our small number of test devices, I can guarantee our customers will see it.
devs: "We don't call that method anymore. It's old code."
me:
me: "you clearly do because the app behaviour is modified when I change the ratio"
devs: "no, we don't. search for method calls."
So I did. It was right there. Same file.
me: "so you're saying if I removed that call/method, it should work?"
devs: "yes"
Removed it. Boom! It also fixed another issue we'd been seeing that they also apparently couldn't replicate.
devs: "you mustn't have been running the latest code. we removed this a long time ago"
me:
I was fucking livid at this point. I went straight to git, obviously, and showed them the revision where they re-introduced the method call. They had removed it, like they said, but they'd re-added it about two weeks ago - right about the time we started having the latest batch of problems.
I'm feeling so conflicted right now. Fuming that they managed to fuck up something like this yet again, fuming that they couldn't find the issue (why are we paying 'experts' when we have to do the dirty work ourselves?), yet relieved that this app is finally going to go to beta and I can get on with my proper job again
Fuck mobile apps, fuck outsourcing