EfiO2Meter Android App Bluetooth
Android App and Bluetooth Observations
We will try to document any suspicious and unexpected behavior related to our Apps performance as well as Device incompatibilities.
We tested the App so far on 6 devices :
- Samsung Galaxy Tab-2 10.1", Jellybean 4.1.2
- Samsung Galaxy Tab-3 7", Jellybean 4.1.2
- Asus Nexus 7" 2012, Jellybean 4.3 (rooted for more testing)
- HTC One 4.7", Jellybean 4.1.2
- HTC One 4.7", KitKat 4.4
- LG Nexus 5" , KitKat 4.4
- Samsung Galaxy S4, SGH I337, Jellybean 4.2.2
App release 185a runs flawless, at least we didn't find anything not working ... maybe some fuel types or other not main-stream settings might have a flaw or two, but unknown at the moment (it takes forever to do regression testing every setup after every software or firmware change).
The Nexus 5 needs a new release to make the forms fit ... anything newer than build 185 ... should be coming up soon.
Android Bluetooth SPP Software Test
Since we do not believe that we are the only chosen ones by Bluetooth, we also use other products for testing and here it goes.
We have a brand new Lenovo Idea A1000 with Bluetooth ... our app connects sometimes and receives data for about 30 - 60 secs and stops ... a bluetooth mouse and keyboard still keep working ... end of story.
We used the "Bluetooth SPP Pro" from the app store for some of our testing and it was able to show twice a Toast Message saying "SPP communication failure" ... all other times it will NOT even connect.
Feel free and test other Apps and play with our ASCII command line interface ... put the device in Package Enable mode, exit the App and start the BT-SPP-Pro App and watch the serial steam scrolling by ... don't put the Package Enable into binary transport (not supported at the moment), and you will most likely hang the BT-SPP Pro.
We tried it with 3 different bt-radios on the efiO2Meter ... some last longer, some don't ... the Lenovo Idea A100 is a problem-child, no good for BT-SPP.
Android Devices with Bluetooth
While all hopes are high if the Device spec says Bluetooth Support, we experience some differences on the different brands.
While all of our efiO2Meter based Bluetooth-radio modules transmit with about the same transmit power, the receiving end of the tested Android devices show different receiver sensitivities.
We do not have comparison values in db available, we're not setup to do RF evaluations.
- Samsung Galaxy Tab-2 10.1" : good reception and distance reach
- Asus Nexus 7" 2012 : rather poor reception compared to the other models (surprise, otherwise and excellent Tablet)
- HTC One 4.7" : good reception and distance reach
Android Devices without Bluetooth
Don't bother to even look at them, we thought we could and maybe it might work with an external USB Bluetooth adapter ... Nada Nada ... No ... No No ... however you want to call it ... it ain't Windows or Linux (Linux with some question marks, cause it's Linux) ... Android .. NoNo ... unless you have better experiences, please let us and the community know :)
We have now a brand new Chinese V8880 tablet 7", kinda nice, but useless without bluetooth :(
Android App Perfomance
We noticed that our app tends to run less smooth on what appears to be on the newer Android OS versions. We had an earlier release which ran less smooth (displayed data update and graph scroll) on the HTC One with KitKat 4.4 compared to the HTC One with Jellybean 4.1.2, as well as the Nexus 7 exhibited a similar behavior.
This was only in conjunction with our mainstream bt-radio used in the export model. We will keep an eye on it though :)
If you just downloaded the app to evaluate the GUI looks and functionality without having an efiO2Meter connected, you will not see any performance issues showing since this is only related to the processing of the received data-stream.
Android App Crashes
We did not see any repeatable App Crashes for a long time, but we have the app on our devices and upload newer revision without uninstall or similar.
There is a chance that the App crashes the very 1st time after a new install due to the config, log and data plot files being not existent and are being created the very 1st time a newly installed App starts up ... Again we have not seen it for a while, and would like you to inform us about any, to you strange and repeatable behavior ... please go easy on us and give us a chance to fix it, if anything seems broken, instead of de-valuating our App ... thanks :)
Android Device Issues
We do not have the ability to test our App on all of the 1000s of various Android devices on the market.
It's not like on a PC, every Android device has it's own kind of Android flavor spoon-fed into it's in-accessible, locked up Flash memory.
The hardware implementation is happily married with the Android OS flavor and sometimes certain non main-stream hardware and driver support seems to have incompatibilities to the other 1000s of devices.
The next chapter outlines these issues a bit more in detail with a slightly funny note on it.
So, what we do, is to publish the devices our App has Issues with. The lack of Android interface openness and flexibility in Android is most likely the reason, over our ability to make our App perform on all devices ... sorry ... :)
Example ... If our App runs on the majority of Devices and some not ... is it the Apps fault or the few problem-devices one ???
- Lenovo 7" Idea A1000, Jellybean 4.1 : Loss of Bluetooth SPP connection after a few minutes, on all of our different efiO2Meter Bluetooth Radios ... completely useless device for our Bluetooth apps.
- Asus Nexus 7" 2012, Jellybean 4.3 rooted : Stops communication after about 1 hour ... disappointing, but a fact ... usable as long as you don't log data for 30 mins or longer ... this is our development unit, which is being used 27 / 7 and no flaws, except after an hour we sometimes need to exit and open the app again to continue.
- All other devices we tested ran over night and no hickups.
Welcome to the World of Android
Long time ago there was the world of Windows and USB ... you were able to get almost anything the geek in you desired to hook up via USB and if you had a Mainstream Version of Windows (not XP-64, etc) you were able to enjoy it for a couple of years ... until the next release of windows, which rendered most your toys useless, except they called it incompatible now.
Everything had the same look within the same OS release ... so you find something in one computer you have a good chance to find it in another computer with the same OS. From OS to the another OS it was not always as clear.
Then there was the MacIntosh (CrapIntosh) ... as closed Architecture as possible ... only a few things were compatible from the outside Apple World ... it's like being trapped at the Apple Store ... and of course it's "The In Device" ... you find it regularly in upper management and artist circles ... you need to wear the latest Apple fashion to be seen with :)
For the feel of using it ... it's supposed to be easy and all are the same ... reminds me at mid 1960s fashion trends in China ... the Unified Mao-Fashion Look for 90 % of the population ... i'm sure that Karl Marx is smiling upon this kind of equality for all.
Then there is the Linux Family ... oh boy what a mixed up family ... one set of parents and 100s of children (distributions) ... everything is all open and ready to connect, provided if you can find the matching OS-distribution with a matching driver to whatever hardware you want to connect to.
If you are not at least some junior computer wizz, it's not for you.
Now comes Goooooooooogle ... let's get the Linux core, distribute it through different manufactures ... and every one of them cooks their own GUI looks soup ... close the architecture as we have learned from Apple ... so whatever the device has included is what you get ... the word Expansion is almost unknown, as well as the word Driver for Android devices ...
Yes Android has drivers, what's in the shopping-bag (device) is what you get ... you want more, or something different ... get another shopping-bag (device) and give the old one away.
You want to do shopping for specific features, like Bluetooth with SPP, read all the fine print if provided, cross your fingers and maybe it's gonna work if you don't buy Main-Main-Stream brands.
If you just want to listen to music, watch a video, browse the net or even play some games ... the simple stuff ... it's the perfect toy.
Don't even think the USB-Bus in Android has still anything in common with the word Universal ... oh NO, sorry, Universal means "listen to music, watch a video, browse the net or even play some games" ... that's it, period ... haven't you learned from the Mac ??? :)
If it ain't built in, it ain't working, even millions of devices are available for the PC ... on Android it's a simple NO ... just like in the Apple Store ... what's not on the shelf here is for sure not good for you :)
And one more thing ... with Windows you were able to upgrade the OS to new releases for your hardware for a few times, until your hardware was not able to handle the power and memory requirements anymore ... so there was some flexibility, the OS ran on almost anything PC worthy.
Not so in Android ... some device manufacturers provide upgrades for a few releases ... some other ones are already obsolete before they even hit the shop-shelves (i.e. Lenovo Idea A1000).
So have fun picking your Android device :)
We are still feeling the pain of the fun, especially if you're an app developer requiring the not mainstream Bluetooth SPP support.
Note : All published design documentation is Copyright ⓒ efiLabs.com and its use is without exception FOR NON COMMERCIAL PURPOSE ONLY. For commercial licenses contact efilabs.com ... try us, we're reasonable :)