Crashes on Android 8.1

We receive crash reports on an issue specific for Android 8.1. If you are using CanZE on an Android 8.1 device and experience crashes, please contact us by commenting here or appending on the open issue https://github.com/fesch/CanZE/issues/552

Please provide as much detail as you can such as what screen you had open, what you were doing i.e. editing a field, rotating the device, letting it go to sleep, etc.

It is very much appreciated.

Some more digging in the intestines (Q model)

Two very interesting videos about the inner workings. Even disassembly of a PEB.

Many thanks Dutch forum user “Riesbak”

Statistics revisited

Another episode of the 4-weekly statistics and some additional information

  • Growth is steady. Last month we’ve seen a 4% increase.
  • Crashes and ANRs (unresponsive screens) are again slashed. In the last 7 days (Taken because now most are on 1.37):
    • we have seen zero ANRs, cool!
    • we had 4 crashes, two were instances of the same problem.

The 30 days crashes and ANRs statistics now put us way above the “bad behavior thresholds” google has defined, and solidly into the second quadrile of all applications. We strive for the third quadrile, meaning less issues than the median of all applications in the Play Store. Though you might not notice “less crashes” actively as a user, it is improving the perception in the long run a lot. It is also bloody hard work!

ANRs and crashes are measured as percentage of affected daily sessions, where a daily session is defined as a day where an individual user used the app at least once. For example: suppose on Monday 20 users use the app once or more, and on Tuesday 30, then there are 50 daily sessions in those two days. If one user has 2 crashes on Monday, it counts as one affected session. If no crashes occurred on Tuesday, the crash rate over those two days is 2%. Google defines “bad behavior” for crashes as more than 1.09% over the last 30 days. Given that we see roughly 100 reported daily sessions per day, only one crash per day is “allowed”, though the median of all apps is 0.32%.

Now there are two important notes to address:

  • We only see total numbers. The reports are heavily anonymized and not generated at all if the total number of daily sessions for them is too low. This seems to be to avoid pinpointing users, which is a good thing. Though I admit I sometimes see errors where I think “how did the user manage to do that?”
  • Only users who allow sharing of usage and statistics provide this data, so we have no way of knowing how many actual daily sessions are operated. While we understand the privacy impact, especially towards google, we are very grateful to users who do have this option set to on as it allows us to notice issues and act fast on them. To check or change: Settings > Google > Three dots menu > Usage & Diagnostics > On / Off

Small UI changes coming up

In the next release you will notice some UI changes.

  • All screens will now have an Android style “Home” button, a left pointing arrow left of the title.
  • The main menu will no longer display the settings icon in the title. In line with conventions Settings has moved to the Three-dots menu.
  • The OK and Cancel buttons in the Settings screen are removed. Either pressing the Android return button at the bottom of the screen or the new “Home” button left of the title will save the settings and return to the menu screen. However, you can still Cancel using the Three-dots menu.
  • “Please wait” type of messages are being gradually replaced with a blue spinner, i.e. when opening the setting or when fetching all data.

This draws CanZE a little bit more into Android UI conventions and should make using it slightly more intuitive.

New release 1.37 is rolling out

Title says it all. The only thing you should notice is you can now transfer the app to SD memory. All other changes are technical fixes to further improve stability.

Statistics revisited, with a focus on fixing errors

Four weeks after the first statistics post, a short update on the subjects touched.

  • We’ve rolled out 2 new versions since. Well technically 3, but one was in error and superseded within an hour;
  • Growth the usual 4+% over the last month;
  • Massive (75+%) reduction in crashes and non-responsive states (ANRs).
  • I speculate April will see more of the same as the version released just 3 days ago tackles again 9 of those issues. Our goal is to at least half the crash and ANR rate again.
  • Three crashes after release are already fixed and committed for the next release, one of which is an issue that is very specific for Android 7.1. and one specific for Android 8.1.

We’re slowly heading into more esoteric territory where problems are less bug fixing and more avoiding platform issues on specific Android versions and/or on specific phones.

Please note that every single crash or ANR is anonymously reported through google *). While annoying do realize we investigate and almost always fix each and every one of them. The changelist is always available here.

*) if you didn’t disable that of course. Here’s Google’s wording on that verbatim:

You can view your app’s technical performance details collected from a subset of Android devices & OS versions, whose users have opted in to automatically share usage and diagnostics data. Learn more

Range screen

The Range screen has been fixed and needs some explanation. In essence it compares the available range calculated by the car to three different ranges:

  • The first number is a range based on the current energy content of the battery and the worst consumption;
  • The second number is the same, based on average consumption. One would expect this to be the same as the car reported range, but it isn’t;
  • The thirst number is the same but using the best consumption.

The consumption numbers are calculated by the car. The second number can made a bit worse using the slider to adjust for sporty driving. In my case, leaving it at -10% seems to be about right.

Statistics

CanZE has no “phone home” capabilities, but Google acquires quite a bit of data and I thought it would be fun to give you a bit of an insight at what we’re up against.

  • We are seeing a fairly consistent growth rate of 40% per year. The metric we use is “Installed on devices that have been online in the last 30 days”. As I write this in early March we’re seeing a total of roughly 4400 active installs.
  • Not surprisingly more than half of the installs are in Germany, France and the UK.
  • The top 6 devices are all Samsungs and a quick addition of all Samsung branded devices added up to over 1300.
  • Of the operators what was interesting to see is that about 20% have no operator listed. I interpreted that as devices having a second life without SIM card for basically CanZE only. I like that. Although those would be slow to update and probably miss out on the news bar.
  • Android versions: about 2700 are on Android 7 or higher, but believe it or not, 60 are on Android 4 and just over 300 on 5.

For health statistics we get quite detailed aggregated reports on crashes and hangs. The last couple of weeks you have seen quite bunch of new releases and that is because we really stepped up our efforts to root out as many as possible and as soon as we see them. To give some sort of idea, in the last 7 days, and filtering out devices that have not been updated for months we’ve seen:

  • One non responsive screen
  • Eight different clusters of crashes, 6 of which were reported only once.
  • The two were basically the same and accounted for 13 actual crashes. It is a silly bug in the Tyres screen.

As you can imagine it is that last problem we try to quickly focus on and it shouldn’t be a surprise that it is already fixed in the development branch and it will be fixed in the next release. And so are 3 of the single instance ones. For those interested, you can always check out what is in the pipeline here.

When we release about 35% of the active devices are updated within a day, and 70% within a week. But also note that if we assume the three last releases to be “current”, about 18% is not in that bracket after a week. A year after a release is superseded we still see about 2% of that release on active devices. And that is why we need to filter out some of the crashes.

Unfortunately we can’t see how much CanZE is actually used*) so it’s not easy to put those in perspective, but then again, less than 3 crashes per day on a 4000 installed base is too much but not crazy.

*) No, the new news bar does not tell us that. It fetches the news bar from github and we don’t have statistics about it’s usage.

Sunsetting Fluence and Kangoo support, upping the ante for the Twizy

As much as we like to cover the full ZE spectrum of the Renault brand, the time has come to end support for the Fluence ZE and Kangoo ZE. We have no access to these cars, there are no developers that do and there are active communities and apps for them. FluenceSpy by Alexandre Moleiro is one. Frankly, we never were able to do a good job there and we don’t want to promise more than we can deliver with at least some quality. It’s hard enough to maintain CanZE for the 90 and 110 models without free access to them.

The planning for deprecation is as follows

  • March 2019: this announcement
  • May 2019: message in the news bar in CanZE
  • July 2019: removal of specific code from the App

Of course you can still try to use CanZE in said models but some functions will not work properly anymore and we won’t accept any bug reports or requests that are specific for the models.

On the less sad side of things, a new Twizy owner has taken on the challenge to give the Twizy support a good crank. Stay tuned for news in that department.

CanSee Case #3

The second print (blue) is finally usable, but I refined it to make it fit more neatly. The third print (orange) is the last one I did today and the components of my previous prototype fit perfectly.

The print may not look perfect, but hey, is quite a step above the “duck tape version”, isn’t it?

Top