Profile cover photo
Profile photo
Jim Roal
Engineer, car nut, and computer nerd.
Engineer, car nut, and computer nerd.
About
Jim's posts

Post has attachment
Porsche is celebrating its best year in history by giving every single employee a bonus. http://google.com/newsstand/s/CBIwj7vp1DQ

Pushed 2.12.9.1. This is my latest attempt at getting the Android 6 permissions handling right. My app is a utility that the user does not really interact with the UI much. Android 6 permissions are meant to be handled on an as needed basic really. I can't do that so much because many of the permissions are needed for the background service and not the UI. Now it gives you 1 shot to get it right when you install the app. The only one that checks again is the storage access if you go to the manage data screen. If you get the rest wrong, I will presume you wanted it that way and stuff just won't work. Not sure how to make this better really since some don't want to allow some of the permissions. As you saw in my recent rant about permissions the lack of trust leads to denying permissions which leads to stuff not working which leads to bad ratings, uninstalls, etc. 

Post has attachment
Why do I need all those permissions??

The way Android presents permissions makes them seem alarming. It seems like the app is some sort of evil spyware for asking for these permissions. Something as simple as knowing if the user is on the phone or not is presented as if the app is recording all your phone conversions. Because of this, users of Android 6 and up too often deny app permissions and then complain the app does not work correctly.

A2DP Volume permissions are explained here: https://github.com/jroal/a2dpvolume/wiki/Permissions-Explanation

Prior to A2DP Volume version 2.12.9, the Android 6 and up permissions were not handled correctly. For many users, the 5 user selectable permissions were OFF by default. This would cause the app to crash in some cases, and feature would not work in others.

As an app developer, this situation is frustrating. Too often a user will complain a feature does not work only to find out they disabled necessary permissions. I suppose I see their concerns. Why would a volume adjustment app need access to my phone? Not giving that access means that A2DP Volume does not know if you are on a call or not. So, you could be in the middle of a phone call and A2DP Volume may read out a message or notification. Seems like a bad thing right? So, A2DP Volume needs permissions to know the phone state so this permission is required. As a user who does not understand this, reading the description of the permissions would lead you to think the app may be doing all kinds of scary things. Being open source helps, but only for software developers who can read through it to see what the app does with these permissions.

A level of trust is required to enable these permissions. We live in a scary time with many bad people doing very bad things so I get why people do not enable any permissions they don't think the app needs. However, the user does not have adequate information to make this assessment unfortunately. Not sure how to fix this.

I made A2DP Volume for my own needs mostly. I did add several user requested features too. This is just a hobby for me. I have a day job that pays well and I don't want or need any user information. My app does not send anything outside the device. Nothing goes back to any server. I have no server related to any of my apps. Everything stays on your device. You can have a software developer you trust analyze my code, or just trust me. The source code is all here: https://github.com/jroal/a2dpvolume . 

Post has attachment

Pushed 2.12.9 to Alpha test last night. This adds support for Android 6 and up permissions handling. It will prompt the user for permissions. If the user reject a permission, the app should not crash anymore. This was a big problem for people first installing the app on Android 6 or higher.

Another new feature is the ability to push the custom device names you created for each Bluetooth device in A2DP Volume back to Android Bluetooth settings. Now if you switch phones you can export the A2DP Volume data from your old phone, import it to the new phone, and after you pair all your devices to the new phone you can use this feature to set the names of them in Android. I needed this feature because Android 6 has a bug with Bluetooth where it occasionally clears out all the Bluetooth settings, making me re-pair all my devices. I have 3 instances of "Motorola T605" so I can't tell which is which. I named them so I can tell them apart in A2DP Volume but in Android settings they all look the same. Now I can just use this feature in A2DP Volume to match the names I used in A2DP Volume and sync them back to Androdi Settings. 

Post has attachment
So far a few LTR members have signed up for Spring Brake https://clubregistration.net/driver/eventInfo.cfm?event_id=8001 including me. This is a great event and they just repaved the track. This is the perfect venue for new DE drivers. I have been many times and still love it. 

Post has attachment
I am thinking about going to the Chicago Region Road America DE https://clubregistration.net/events/event-details.cfm?event_id=8075 . It's on my list of tracks to drive and I have never driven there. It is Memorial Day wekend. Anyone else going? 

Post has attachment

Post has attachment
Public
The Guardian: A right to repair: why Nebraska farmers are taking on John Deere and Apple. http://google.com/newsstand/s/CBIwlIu4vDk

Post has attachment
Public
Full cars and coffee today.
Wait while more posts are being loaded