yashsingh1/xdaforums huggingface dataset:
[Android Auto General] mikereidis:
More thoughts and information, freely shared (1):

USB Host Mode charging: This will be a challenge.

An HU running in USB host mode is expected to charge the mobile device running AA. This can be done with a powered hub, allowing the AA device to charge from the car's power instead of draining the battery of a tablet based HU.

But the tablet based HU itself needs to charge, especially since it is expected to run with it's display turned on the entire time that the car is running or in accessory mode.

The problem here is that tablets running in USB host mode normally provide power to the device attached, and not the other way around.

Apparently Samsung tablets can be easily set to charge while in host mode. But many others' especially Nexus tablets, require special kernels or other code, and require root to do this.

This is a major issue as I had hoped that an HU tablet could be stock and unrooted, and preferably Nexus. Further, the added complexity of a USB hub and some less common cables is a negative.

I'm not sure if wireless charging of the HU tablet could be a partial solution.

Another solution might be a method to transfer the AA <> HU data wirelessly, which would free up the USB ports for charging both. Google has some code in AA for this, but for whatever reasons they have not yet activated this mode. Technical problems are a reasonably likely reason; Apple Carplay for iOS 8.3 was supposed to have a WiFi mode, but it seems to have been pulled at the last minute.

Purpose built HU devices, designed for this, would not have this problem. This is one more reason that $200 Chinese (or whatever) Android HUs might be a better option than $200 Android tablets.

Heat buildup, in the HU tablet, as well as the USB hub and mobile AA device, is also a concern. Consumer class tablets are often not built to withstand many consecutive hours of use, charging and with the screen on the entire time.

Add the rigors of the car environment, from VERY cold (-30 and colder here in Canada) to very hot, with LOTS of vibration, and I wonder how long the average tablet could run until breaking.
[Android Auto General] mikereidis:
Very relevant article:

"Automakers are trying to stop you from hacking your car": http://www.theverge.com/2015/4/24/8490359/general-motors-eff-copyright-fight-dmca

Autel sells diagostic tools and is now facing a DMCA based lawsuit from Ford.

The EFF is fighting back against stuff like this, but who will win, how much time it takes, and how much money gets spent on lawyers, who knows ?

An independent developer can't really fight stuff like this, whether it's from Google or auto companies or whomever.
[Android Auto General] mikereidis:
"Where the heck is Apple CarPlay?" (And Android Auto too)

"A year after the hype began, automakers are struggling to work out the kinks":

http://www.autonews.com/article/20150426/OEM06/304279998/where-the-heck-is-apple-carplay

Apparently the automakers want Google and Apple to share some of the legal risks (like other auto industry suppliers) and of course Google and Apple want none of that risks. Negotiations are on-going.

But much of the article is about validation testing and the differences between the software and auto manufacturing businesses. Automakers demand VERY robust systems. Software companies and smartphone OEMs often depend on the ability for a user to reboot to clear a problem, or to wait a few weeks for a software fix.

Google's longer term goal with AA is to get Android into the car itself*. But in the meantime, the solution is to require any of a huge variety of phones on the end of random USB cables, to be able to reliably operate and connect to an HU.

(*I note that much of the AA protocol is based on Android APIs; things like KeyCodes and Codec settings and so much more. This means it's much easier to get HU software running on Android itself (as the Pioneers do) than on other car OS's like QNX. This makes sense as far as Google's strategy to get Android embedded in the cars.)

I imagine there are thousands of different ways that we could get disconnected in the middle of navigation, music, phone calls, etc: software bugs on phone or HU, bad cables, bad car power, phone flopping around on the passenger seat, phone discharging and losing battery power,.....

Suddenly that built-in $3000 navigation system with the horrible UI is looking good, compared to the unreliability of a phone pushing and pulling data at a fast rate to/from the HU.

How are the auto OEMs and dealers going to deal with the technical support burden ? Even just limiting "official support" to a handful of high end phones will be very difficult, IMO.

The result will be what we've seen already: Head-scratching about who is responsible to fix the problems with Galaxy S5/S6 phones. Perplexion from why a phone was working with AA and suddenly stops working. Same from random disconnects and many other problems I've been reading in many forums and article comments.

Android Auto was not, and still is not, "ready for release". It's effectively a beta program at present. Heck, so is Android 5.0-5.1; hopefully much better now (???) with 5.1.1. (We'll see, LOL.)
[Android Auto General] mikereidis:
:)

Almost 6 weeks of long. hard hours for a show-able prototype/proof of concept.

AFAIK, The first 3rd party, reverse engineered Android Auto HeadUnit app.

Works on my Nexus 9, may not work on many others. Haven't tested on others yet as this is "hot off the presses".

For experimental use only. Do not use in any vehicle. Do not use in any unsafe manner. You take full responsibility for any bad stuff that happens...

At present, requires familiarity with ADB shell, Android/Linux command line, a fully backup up custom ROM, and a device to test on that could crash for a few weeks or permanently if unlucky, without you complaining about it. If unsure, wait for later releases and more feedback before attempting.

I have not yet implemented the SSL handshake, so a special version of libsslwrapper_jni.so is attached and required ON the PHONE running AA. The app/APK should run on a tablet with a USB OTG cable to connect it to the phone.

Rename the original libsslwrapper_jni.so to libsslwrapper_jnio.so (same with an 'o' added) and copy this one to /data/app/com.google.android.gms-2/lib/arm/ or /data/app/com.google.android.gms-1/lib/arm/ or whatever for your architecture. (Other arch's are in the APK ZIP). Previously was at /system/priv-app/PrebuiltGmsCore/lib/arm/ but latest updates moved to the /data/app/,.. directory.

This special libsslwrapper library will prevent your phone from working with hardware head units; but if you create a /sdcard/shim file it should call through to the ...o.so library.

After adb pushing the new library, reboot the phone or kill gms:car.

On first start, you have to give USB Host permission. You may have to start it a few times to get permissions sorted out.

The app should start automatically when USB is plugged, and that is the best way to start the app. Don't start manually.

Video works well on my N9. Touch works, but it's not Multi-touch yet.

Audio output goes through the phone. I tried the phone microphone, but it didn't seem to work for speech recognition.

After 6 weeks of super-intense work on this, I need a week off for household and family stuff.

Unlike many open source and hobby projects, I don't mind giving ETAs and I do pretty good with them, IMO. Please keep in mind that I have no other source of income than my Android apps when I eventually get to selling this app. I, my wife, kids, cats and even a girl in a remote village we sponsor all have to eat and pay the usual expenses. I have to pay for computers, phones, tablets, head units and all that too....

I've considered doing a crowd-fund; I'd go open source too if I did and had such a stretch goal. Most people dismiss this idea, but if enough people thought it was viable and could convince me, I'd be happy to consider.

APK and arm library attached. Stay safe out there and safen up... ;)

EDIT: Old files removed, see the new: http://xdaforums.com/showpost.php?p=60894402&postcount=94
[Android Auto General] adfurgerson:
[MENTION=3575078]mikereidis[/MENTION] I waited for the Pioneer Android Auto units to be released but decided at the present time the AppRadio4 running ARUR would suit my needs. As I understand it the AppRadio4 runs android so if there is any way to use your finished app with it I would purchase it. Regardless I support your efforts to pursue projects that spark your interest and provide you with an income. I have had a little interaction with you in the Z Ultra forums and know that you are a decent person who is not just out for a quick dollar.
[Android Auto General] mikereidis:
:)

I'm afraid that I doubt I will support hardware head units unless it's something pretty new and some sort of deal was in place.

Just over 4 years ago I started my Spirit1 FM app, and I vowed that it would survive, unlike the WinMo FM app whose developer disappeared and whose thread I read completely at least twice. The 1st users and customers have had 4 years of updates (recent beta) and support now at no extra charge.

Yes, some people have an attitude of self-entitlement, that Google can do it for "free" so why can't all devs ? For some reason everybody else is allowed to charge for their labor but devs must do it for free, and in a field where $100k salaries are normal, and contract rates as much as 2-3x that.

Read some of my app reviews on Play and you may see some calling me a "thief" because it doesn't work on their 100% impossible for FM phone and they couldn't figure out how to email me for a refund despite the app description describing this very clearly.

Maybe I should just go back to contract work... I would not be the first to give up on indie developing...
[Android Auto General] brainscollector:
Check it out http://www.apkmirror.com/apk/google...-069102-1882838-dogfood-android-apk-download/

indie developing is not an easy piece of bread. You know, it's not about making some random apps that will be useless with some time or there are dozens of it, it's about making simething unique that peoples need and are willing to pay for it when it's available. For example traffic recorders. Thing my friend made just for himself and then started making it bigger and bigger. It's not something that earns $$$$$$ of money, but when it would be finished as he would like it to be, then 1st place of best traffic dash cam recorders would be in his hands. Same for you, ages of FM radios passed long time ago (I don't know anyone using radio in phone), I can propose searching for something peoples need and it's something that won't be thrown to garbage after year or two because noone needs to use it.
[Android Auto General] mikereidis:
I know thousands of such people. They are customers and users of my Spirit FM apps.

Every day I get multiple emails from people asking if I can enable FM on their phone, and my answer is usually no.

Just because it's not "the latest thing" doesn't mean there is no demand.

Whatever. I know traditional broadcasting is dying (though depends on how you look at it), and Google, Apple, VZN and many other hyper-powerful mega-corporations are doing everything they can to kill it faster and replace it with their own money makers.

Do note that I am not a teen or 20's living in my parent's house. I was long ago of course and I did LOTs of fun, cool stuff that was never intended as a money maker.

Now I try to be a responsible adult, husband and father. I've made little money in the past 4 years, a small fraction of what "normal" jobs pay, but it's been enough to keep going and unlike 90+% of small businesses that people start, I did not "fail" and have to go back to "regular" work. I'm happy with what I've achieved so far, and hope to do better.
[Android Auto General] mikereidis:
Nexus 9 and original Nexus 7 2012 are working fine.

Nexus 7 2013 and Xperia Z2 tablet w/ CM12 are not working, and same for several phones I tried.

It looks as if the Android Java USB Host mode APIs are not working on as many devices as I had hoped/assumed they would work on. :(

Maybe low level root access will work on more. There's a LOT of confusing/contradicting information out there about specific devices like N7 2013. A device might work with USB OTG to a USB drive, but that doesn't mean USB host mode will work for specific devices such as a phone running AA.
[Android Auto General] RanceJustice:
Thank you Mike for working on the HUE! If at all possible, would you be able to release the project as open source, provided you have a way to monetize ? Perhaps either charging for the compiled binary itself, and/or having a Free version with some limits (ads? some locked features? ) and then sell the "Premium Key"? I'd certainly give you a few bucks if you went the crowdfunding route instead, as well. Besides the fact I prefer Free/Libre, Open Source software myself, I think that if you could create a workable, "easy enough" to use HU Emulator and the code is open, it may inspire Google to do what they should have done in the first place, and make Android Auto "work" directly on device as well.

When I first saw Android Auto, I thought it meant the return of the long-defunct "Car Mode/Auto UI" that I remember from my old Nexus One. It was a nice feature for myself, but when my parents later bought Android phones, they really fell the simple and accessible interface to be worthwhile when driving to the point they lament its absence on their newer phones today. Not knowing anything about Android Auto initially, I downloaded it on my Nexus 6 and was surprised that it did not work without a separate in-car Android HU. After all, if Google wants everyone to see how great an Android based nav-info system can be, allowing it to reside on the existing Android device drivers carry is a much more accessible affair compared to paying hundreds of dollars or more for an in-dash console unit. If users find it useful, they'll be more likely to buy whatever platforms Google is trying to sell to car manufacturers (ie Android Auto compatible systems), when they upgrade or purchase a new vehicle; as opposed to spending lots of money on a system which is proprietary and often goes out of date very swiftly. Google must know that the use of autonomous GPS nav devices, much like media players, have declined over the years as smartphones have risen - its simpler to simply use an auto-dock for your phone (or if you're lucky enough, plug it in to any in-dash screen) and use the up to date apps therein.

Thus, the idea of Android Auto is a sound one, but limiting it exclusively to those who have an in-dash display or truly any secondary display seems foolish. Why not let ALL Android device owners utilize the Android Auto mode if they wish, regardless if that is on-device or through a connected display? Clearly there is a market for it with a handful of "Car Mode" apps, such as Car Dashdroid and Car Home Ultra, as well as custom launchers and whatnot that can simulate most of the features of those applications.. So any progress in this arena, even if it comes via an HU Emulator, is a positive!
[Android Auto General] brainscollector:
It seems that you have missed whole thread as EVERYTHING was explained in it regarding your questions and some random thoughts. So, go back to reading thread (as it's not long) and you will find out answers. Seriously, reading don't hurts
[Android Auto General] mikereidis:
I prefer free software too. My career has been centred on the free Linux for 18 years now.

But free is mostly suited for "hobby" projects, or those where a major corporation sponsors the work.

Virtually nobody is making enough to live on from free/open source Android apps. Please feel free to offer examples you know about that aren't based on raw speculation about how much some developer might be making.

I open sourced a basic version of my Spirit2 app several months ago, with 90% of the code of the paid app. Result: I get emails from people asking for support, and new features, and maybe about $10-15 a month in donations, less than 1% of what I earn from Play Store sales of both Spirit1 and Spirit2. I also heard from someone working to add RDS support, which is one of the extra features of the paid version.

The vast majority of people who advocate for free/open source Android apps are not developers. I can find plenty of websites/blogs etc. where developers write about their experiences selling apps, or raising revenue from ads. Virtually none say "I open sourced my apps and am making a living from donations".

Ads in the car are banned by Google and Apple, for good reason. Putting ads in an app like this would be like begging for lawsuits IMO. And ads only work in apps that are regularly used by millions of people, such as addictive games like Flappy Bird etc.
[Android Auto General] mikereidis:
Google is not going to be "inspired" by some 3rd party app that I think they will not allow on Play.

I saw on Android enthusiast sites a LOT of excitement about AA. Then when we learned that a $700 head unit or new car was needed a LOT of the excitement disappeared.

Google has very specific business plans for AA and support for a standalone AA mode for phones or tablets is not in those plans. IMO Google also does not want to see head unit apps that they have no control over. The fact that Google has not released protocol specs or sample apps or any real information convinces me of this.

Ironically perhaps, this is also why I started this project. My Spirit FM apps have zero competition as far as paid apps go, and that's because the reverse engineering required is a HUGE amount of work and the payoff is very little. I am convinced I will not have to compete with free Google apps because Google will never release a headunit app, same as they never released an FM app.

AA is, and will be, MUCH more than just a fancy car mode. AA is a distraction minimizing UI, with special APIs that AA compatible apps have to use. And those AA compatible apps have to be approved by Google before they can be distributed on Play.

If Google let us run any app on a dash mounted phone, more collisions will happen, they WILL be sued more often, and regulators will ban this.

Further, the "plug phone into car/HU" model is temporary. Google wants to eventually change this to the "Android is the infotainment OS running in the car" model where a phone is not necessarily needed. Automakers are pushing back though, because they want to control infotainment and continue to charge $2,000-4,000 for these optional systems.

Google wants access to the data from cars; things like speed, acceleration, fuel tank level, time of last oil change etc. This will improve things like Waze and provide monetization opportunities like Google directing us to nearby gas stations and oil change outlets with Google getting a percentage of the gas/oil/etc sales.

You can't do stuff like this with a phone mounted on the dash.

I predict that eventually self driving cars will offer to pull in for a hamburger, fuel etc. Google knows we have 10 minutes extra to get to work and the burger and fuel will be paid for without cash through something like Google wallet.

Google has BIG plans for AA, and letting people mount their phone on the dash is not part of those plans.
[Android Auto General] brainscollector:
Sorry for rant but you mention your spirit app very often and I have just checked your apps on Google play and ... Well... All of the apps are way way way overpriced and to be honest those are most expensive apps I have ever seen on Google play, especially transmitter app that for such price I could buy decent transmitter fm and even I have bought one for 1/3 of it's price (beside "i'm rich app" stuff). I know it takes a lot of time, I was working on my own piece for a long weeks so did my friend and even though it's paid it's just a $ stuff because business on Google play don't work that way to put 25$ (considering it's over 80pin in my currency) app that has half of reviews below 5 mark, it's about releasing it with in app purchases or for few bucks (check launchers- years of work that is priced 5$ max). I really know you must have something to live from (as you mentioned few times as well) but it's really not how it works. I could write a lot here but just let it be short rant.

Google play is more like additional earnings source not main income. It can be main income only for some "bulls eye" devs that there is really just a few at many thousands, that they did created something "revolutionary". Long story short it's impossible to live from Google play, it could be as mentioned only with something "revolutionary" that people's would use just for a gimmick.

Anyway, good luck with this project however it will evolve in future, maybe it will be this buttstalion of Google play (please say that you did played borderlands and you know what buttstalion is)
[Android Auto General] adfurgerson:
J

This app isn't as revolutionary as flappy birds but I didn't mind paying $30 for it. I have no idea of the effort it took to create it but can only assume if it were easy there would be cheaper competitors.

https://play.google.com/store/apps/details?id=mars.area51.arunchained&hl=en
[Android Auto General] mikereidis:
There's over 4 years worth of posts on my Spirit threads, and hundreds explaining pricing issues. I've been very honest and straightforward about these things, IMO much more so than the vast majority of devs.

No offense, but I've read and communicated with many indy devs making a living on Play, and I value their thoughts and experiences much more than the many non-developers that have criticized me and were convinced they knew better than me about how to run my business.

Don't forget that I have thousands of customers who've had 3-4 years of updates now. If you know anything of Android Internals you understand how much has changed and required much rework for a complex, highly hardware/root dependent app from Android 2.1-2.2-2.3-4.0-4.1-5.0-5.1.... to say nothing of all the different phones and ROMs. The Android 5 redesign and fixes/workarounds to skirt SELinux alone has sucked up more than 2000 hours of my time.

I've done extensive experiments in pricing. I know the supply/demand curve and my findings pretty much mirror those of other devs.

No, I don't play video games. My obsession for almost 40 years now has been designing and building electronics and computer equipment as well as software. I love it and I'm completely confident that I "kick ass" in my areas of expertise.

Have a nice day...

:)
[Android Auto General] mikereidis:
Yes, $30-40 or so is a common price point I've seen for some specialized car audio type apps or other similar-ish software.

This is the sort of "non-guaranteed" way to make money that most companies won't touch.

Except for the large leaders in various segments, one of the few ways to reliably make money on Android is with addictive games with in app purchases. A small minority of "whales" are really addicted and have money to blow, often in the hundreds of dollars.

Pricing is a funny thing. What I and other devs have seen is that within a range, say $1-10 at least, doubling the price tends to half sales, and vice versa. IE you make about the same regardless of price.

But, it you provide useful, helpful technical support, you tend to want to raise prices to limit the time it requires, because that leaves more time for development and perhaps a personal/family life which we all deserve.

There's really no such thing as a "fair price" for an app (without support*); software is a very abstract thing. (But add support and we can talk about hourly rates from $10-$200 an hour being "fair" depending on many particulars.)

The users usually have no idea how much work it takes and most don't care anyway; it's not "their problem". We all feel the same way I think when we want to buy something like a car. We buy the best for our needs, given our budget, without really caring about how profitable the manufacturers are, or aren't.