7 ms·
Good luck tring to do a better job replacing these on Android where every device x android version permutation out there = something breaks for a different user
by reader_mode 5y ago
Good luck tring to do a better job replacing these on Android where every device x android version permutation out there = something breaks for a different user.
Like the "Automatic Call Recorder Pro" (highest number of ratings on the list) has "try the free version first to see if this will work on your phone" ... I feel sorry for Android developers. As much as I dislike the "Apple way" of designing products (walled gardens and super opinionated instead of open and providing choices), every time I need to develop something for Android I'm flabergasted at how shit the platform is under the hood. Soo many APIs to do the same thing, depricated system APIs all over the place, but the only way to do things on devices X, but only from manufacturer Y, on Z the API functionality isn't even supported, on W you need to use newer APIs, on Q you need to use a custom solution - nobody really uses Q but your client got 3 complaints and can't determine priorities (understandable given the ecosystem fragmentation)
- jeroenhd 5y agoMost of those buggy features are centered around things that shouldn't be possible anyway. On iOS, these apps would probably not even be available. Call recording used to be easy to implement, until Google took a look at the obvious security problem with apps recording calls from the background, and restricted the normal APIs to system software only. If an app has automatic call recording that works well, the manufacturer probably put an insecure OS on the phone, because then any app or game you download probably has that capability. The supported APIs all have excellent backwards compatibility through AndroidX. You can still many if not most modern APIs all the way back to Android 5 without much change in the code. Most system APIs are backported through Google's libraries, and for many others the standard compat library has shims that avoid most version checks. This is sort of the opposite of iOS, where most users are updated within a few months so many years of backwards compatibility isn't a big priority. Cheap, slow, crappy devices and background task killers are much more of a problem than the problems plaguing a lot of the APIs.
- criddell 5y agoI don't understand why call recording isn't a built-in features to all of the phone apps. I know the standard explanation is that it isn't legal in all locales, but there are plenty of illegal things you can do with your phone.
- hrktb 5y agoTo me it's worse than that, as service providers will record calls and use these recording only at their benefit. In these situations where recording is agreed by both parties, getting restricted on the individual side is frustrating. Basically it's the proverbial technical solution to a social problem.
- Spooky23 5y agoOnline meeting software pretty elegantly addresses the need for recording and avoids many of the gotchas.
- Buttons840 5y agoI've always wondered if "this call may be recorded" messages could be legally interpreted as them giving you permission to record the call, since you-know, they told you it may be recorded.
- hrktb 5y agoNot a lawyer, but I would assume so. I remember it as a matter of consent and most resources point to it being OK as long we both parties are aware. e.g. http://www.dmlp.org/legal-guide/recording-phone-calls-and-conversations http://www.dmlp.org/legal-guide/recording-phone-calls-and-co...
- Forge36 5y agoCall recording is only legal with single party consent in 2 states. Google voice allows recording incoming calls, but not outgoing. 1) Low demand 2) High impact of getting it wrong (untested legal consequences?) 3) lack of a good story. IE: why can't you track what was said in another method? Ie: paper note
- reader_mode 5y ago>Most system APIs are backported through Google's libraries, and for many others the standard compat library has shims that avoid most version checks. Just 6 months ago I took a small side project to port a web app to mobile and add some native functionality. I need to connect the user to a WiFi hotspot (industrial device controller) from code - the new APIs were absolutly not backwards compatible, the old APIs were just killed in Q, even worse the capabilites present in the old APIs (controlling WiFi networks) half wroked on older devices, depending on vendor (eg. not working on Samsung, working on a Pixel, etc.) iOS didn't expose the level of controll straight up and I was able to explain to client that that's just not possible. We saw Android was all over the place in this regard, but because a competitor had a halfassed version that only worked on some devices the client insisted it was possible to implement this on Android. It took us a week to figure out that the whole thing is an unmanageable mess and demo to the client that the competitor is broken in so many scenarios and that we should just use the system UI like we do on the iOS. >On iOS, these apps would probably not even be available. See but I prefer this to Android "it's possible because we were wrong, now we leave it out there but you can't do it going forward". Why not just blacklist it in app store and prevent new apps from using it on review ? Also it's obvious they don't have any sort of certification testing for these APIs because they just straight out don't work on various vendors - they could easily mandate that to qualify for Google services on your device you need to implement system APIs and pass the test suite to solve these inconsistencies.
- AnthonyMouse 5y agoThe problem with this entire mess is that there are things some trustworthy third party software needs to do, but are open to abuse by untrustworthy software using them for nefarious purposes. In theory the answer to this is for the app reviewers to scrutinize any app using those capabilities to make sure it's not abusing them, but in practice the app approval process is actually kind of crap and doesn't do a good job of making those distinctions. Your remaining alternatives are to prohibit that thing from happening whatsoever, which pisses people off, or to make it possible but a huge miserable ordeal, which pisses people off.
- 5y ago
- phendrenad2 5y ago> If an app has automatic call recording that works well, the manufacturer probably put an insecure OS on the phone, because then any app or game you download probably has that capability. I think that's a simplistic way to think of it, and assumes that there are only "apps" with exactly one privilege level. There are a multitude of things the OS could do to give a good user experience AND stay secure from random apps recording you. Off the top of my head, how about: Apps can record you, but only by registering a special chunk of code that will be run with a special "tempfile" privilege, where the app doesn't know where the file is stored to. Then, once the call is over, if the app tries to access that file again, with normal privileges, the OS puts up a confirmation screen that says "Good news! App <Dave's Cool Pachinko Parlor> has recorded your last call. Do you want to keep or delete that recording?"
- nitrogen 5y agoThe screen could/should also display a prominent recording indicator, with the name of the app, while recording.
- snyp 5y agoYour comments about backward compatibility is not at all true. Even today making a simple podcasting app and keeping a crash free rate of over 99% is very very hard. Even while using the latest AndroidX libraries. And all the shiny new data modelling patterns that they seem to release every year. There are fundamental bugs in the implementation of the Fragment which is one of the most basic components of the Android Framework.
- tjoff 5y agoVery bad example. You are not supposed to be able to record calls. Some drivers are working against you and depending on the audio path you might not have access to it. So some use workarounds such as pretending to be a bluetooth device just to get access to the audio. Now you might have a different opinion, that call recording is a basic feature that all phones should have. And I would agree. But if you have any such opinions then IOS is dead on arrival anyway.
- gsich 5y agoAlso the reason why there are no SIP gateways for Android.
- deleted 5y ago[deleted]
- reader_mode 5y agoAndroid has these things all over the place - things you "shouldn't be able to do but can on some deviecs", and it's often usefull stuff. If they didn't want these kinds of things they should implement app store policies on what APIs you're allowed to access.
- majani 5y agoMaybe some of these apps are better off as websites then. Write once, run everywhere.