Sign in with
Sign up | Sign in

Nvidia Says Android Needs a Version of WHQL

By - Source: Tom's Hardware US | B 50 comments

Google needs to set more boundaries before Android fragmentation spins way out of control.

During a panel discussion on Wednesday during GTC 2013 in San Jose, Neil Trevett, VP of Mobile Content at Nvidia and four other panelists painted a nightmarish scene of developing for the Android platform. Yet at the same time, Google's platform was described as the next Windows: one operating system allowing for an infinite number of hardware configurations.

As a consumer, it's a pain (putting it lightly) when expensive software refuses to run correctly on a Windows-based desktop or laptop. Heck, it's almost just as annoying when an Android app continuously freezes or crashes to the home screen. Now imagine what it's like on the other side of the code, creating this service and trying to get it running smoothly on an untold number of hardware configurations.

Unfortunately for Android developers, this platform is seemingly repeating the early days of Windows before Microsoft implemented its Windows Hardware Qualifications Labs system. It's the fragmentation of the 90s all over again, only the form factor ranges from pocket-sized to hand-held instead of bulky desktops and laptops (yet).

"I think it's fascinating that the shape of the mobile industry is turning into the similar shape the PC industry used to be," Trevett said. "You have Apple which is vertically integrated, no single point of control, both beautiful and lovely. And then you have another platform that lets a thousand companies innovate and invest and make money. And so you end up with something that is actually more pervasive because a thousand companies can do more than any one company no matter how incredible that one company is. But you inevitably end up with things not being so polished and a little bit more chaotic. But that chaotic platform, because it's harnessing so much more energy, will win the majority of the market share."

Indeed this is happening, he added, as Android is now on 75-percent of the smartphones. He then goes on to point out a possible solution to Android's fragmentation, indicating that Google needs to take notes from Microsoft's success in taming the PC market, and enforce boundaries on what you can do and still call it an Android device.

"I think one of [Microsoft's] biggest achievements was going some way to avoiding this kind of [Android] chaos," he said. "WHQL [he pronounced it as "wickel"] for those of you in the PC space know that [as] Windows [Hardware] Qualifications Labs and their rigorous testing and putting in a few more specifications. That was actually Microsoft's, in my opinion, biggest achievement because you can do a lot with a PC, but it's not quite as chaotic as Android could be if this goes on much further. So perhaps Google should do something like WHQL. There's a lesson to be learned there."

But Android will likely not take the WHQL route. Why? Because Google is out to make money on advertising, and that means reaching as many eyes as it can. That's why it developed an open-source mobile OS so that ODMs (and consumers) can take the platform and run. That's not saying Google isn't working to reduce fragmentation – it is to some degree, but you're only going to support free software so far. Meanwhile, Microsoft has a WHQL testing fee of $250 USD which seemingly goes against the cost savings principles of an open-source platform.

As covered in one of the previous sessions, Apple has seemingly stayed the same throughout the decades: sell an extremely small number of form factors with a finely-tuned, stable software platform. Microsoft has focused mostly on software and reaching as many customers as it can through a number of ODMs. Google is doing the same, yet it's not about selling additional proprietary software for that platform, but to sell additional ads. This may be why fragmentation will only continue to get worse.

The whole conversation about Android fragmentation stemmed from a question to the four panelists – SoftKinectic VP Tim Droz, Metaio SVP of OEM Business Development Graeme Finlayson, SmugMug CEO Don MacAskill and Sensor Platforms VP of Engineering Jim Steel – about what they would put in the next mobile SoC. All of them wanted sensors, but added that it would escalate the already daunting fragmentation problem.

"[Fragmentation] is a huge problem – there's not a lot of debate about that," the SmugMug CEO admitted. "It is from our point of view the single biggest reason why it took us so long to – and why we didn't initially target – build on Android. We are a photography app, and so the myriad of sensors for the cameras is a huge problem, and the myriad of different displays for providing pixel-perfect really well-designed interfaces to let you do the things we think you should be able to do to your photos is a big deal."

He's obviously talking about the numerous camera sensors and display sizes and resolutions provided on a multitude of Android smartphones and tablets. Compare those numbers to the iPhone, iPod Touch and iPad units, and you see why Android development can be a scary, scary thing.

"That's just talking about the hardware," he added. "The software is yet another issue. We've talked to some of our friends in the industry who have test labs of more than 700 devices that they test on, and we just can't go there. We're a small company and so we're forced basically to pick and choose."

Who should try to work on this problem? Hopefully Google is working it, he said. "We've been asking that for years now," he admitted. "[But] the problem seems to be getting worse so I don't know [the answer to the problem]. I wish we did."

The solution may be a WHQL model, or rather an AHQL, but whether that happens or not is up to Google itself. There was quite a lot of buzz during the conference about the X Phone series and the ability to customize a phone, and the idea seems really great from a consumer standpoint. But this custom-built form factor could ultimately make the fragmentation matter much worse if Google doesn't set some type of WHQL-like boundaries.

Contact Us for News Tips, Corrections and Feedback           

Discuss
Display all 50 comments.
This thread is closed for comments
Top Comments
  • 22 Hide
    beayn , March 23, 2013 8:06 AM
    solomaniac85Nvidia, shut up and stop trying to tell other companys what to do and bashing them jesus. Just because you don't get your way or another company does it there way doesnt mean you can just bash them and tell them what to do even if tegra is integrated into android.
    Read the whole article. It isn't just Nvidia asking for this to reduce fragmentation. There was a list of other companies asking for it as well. They all want less fragmentation for a more stable experience.
  • 14 Hide
    back_by_demand , March 23, 2013 8:11 AM
    jhansonxiWindows only worked with x86 (MIPS and Alpha support was abandoned long ago). iOS only has to work with Apple's limited hardware selection. Those are huge differences compared to the various ARM and other architectures Android has to work with

    Seriously?
    ...
    The several billions of combinations of motherboard, cpu, ram, GPU, soundcard, network, HDD and anything else you can think of in a "just an x86" is suddenly brushed off as one thing? Phones and tablets can only dream of having as many divergent combinations as PCs from the last 20 years
    ...
    This is a valid suggestion to improve stability across the industry and for the end user, having quality standards is not a bad thing no matter how you spin it to be an anti-MS rant, just because Android is (supposedly) open source does not mean we should live in a lawless "Wild West" environment
  • 11 Hide
    xpeh , March 23, 2013 8:37 AM
    ibnmuhammadAs a dev, I have to agree with the various companies - Android is a down-right nightmare to develop for, even a simple web app behaves differently across different Samsung-only android devices.Thus, I quit And only worked on the iPhone version - some other poor guy was left to do the Android version.Personally don't care about android - it's the latest spyware from Google, next to Chrome.



    >Implying Apple has no spyware on all of their devices
Other Comments
  • 22 Hide
    beayn , March 23, 2013 8:06 AM
    solomaniac85Nvidia, shut up and stop trying to tell other companys what to do and bashing them jesus. Just because you don't get your way or another company does it there way doesnt mean you can just bash them and tell them what to do even if tegra is integrated into android.
    Read the whole article. It isn't just Nvidia asking for this to reduce fragmentation. There was a list of other companies asking for it as well. They all want less fragmentation for a more stable experience.
  • 14 Hide
    back_by_demand , March 23, 2013 8:11 AM
    jhansonxiWindows only worked with x86 (MIPS and Alpha support was abandoned long ago). iOS only has to work with Apple's limited hardware selection. Those are huge differences compared to the various ARM and other architectures Android has to work with

    Seriously?
    ...
    The several billions of combinations of motherboard, cpu, ram, GPU, soundcard, network, HDD and anything else you can think of in a "just an x86" is suddenly brushed off as one thing? Phones and tablets can only dream of having as many divergent combinations as PCs from the last 20 years
    ...
    This is a valid suggestion to improve stability across the industry and for the end user, having quality standards is not a bad thing no matter how you spin it to be an anti-MS rant, just because Android is (supposedly) open source does not mean we should live in a lawless "Wild West" environment
  • 0 Hide
    nebun , March 23, 2013 8:11 AM
    google does not understand the word "Fragmentation"
  • 7 Hide
    alidan , March 23, 2013 8:26 AM
    you want a solution, here, i got one...

    1) no more manufacture custom anything. it ads bulk to the os and generally slows the system down
    2) google implements a hardware test phase, it figures out what the hell can and cant work, and certs devices for os levels
    3) an EASY to access menu with EVERY program that is running, so you can see what is takeing up background processes better.
    4) some form of a hardware standard, so you dont rely on manufactures to create their own drivers, or windows, drivers built into the os handle most of the crap.

    there, i fixed fragmentation.

    jhansonxiWindows only worked with x86 (MIPS and Alpha support was abandoned long ago). iOS only has to work with Apple's limited hardware selection. Those are huge differences compared to the various ARM and other architectures Android has to work with.Back before WHQL the largest desktop driver problem on Windows was DirectX which was entirely M$'s fault. You would install the latest video card driver from a manufacturer only to have it downgraded to a broken/outdated M$ driver when you installed DirectX. Made IT departments very unhappy.WHQL was more important for server drivers since it helped improve stability and uptime.Problems supporting different screen sizes? Really? Since when is that a driver problem? PC applications have to work with a multitude of screen sizes and unlike phones, the end user can change them at will. Same with cameras.


    look at a game, there is a MAJOR difference between 1280x720 and 2560x1600 (i think the biggest screen so far) im guessing that that is a problem when most pcs aren't even at 1920x1080 but something FAR less powerful has to drive far higher resolutions on the top end.
  • -5 Hide
    ibnmuhammad , March 23, 2013 8:28 AM
    As a dev, I have to agree with the various companies - Android is a down-right nightmare to develop for, even a simple web app behaves differently across different Samsung-only android devices.

    Thus, I quit :) 
    And only worked on the iPhone version - some other poor guy was left to do the Android version.

    Personally don't care about android - it's the latest spyware from Google, next to Chrome.
  • 11 Hide
    xpeh , March 23, 2013 8:37 AM
    ibnmuhammadAs a dev, I have to agree with the various companies - Android is a down-right nightmare to develop for, even a simple web app behaves differently across different Samsung-only android devices.Thus, I quit And only worked on the iPhone version - some other poor guy was left to do the Android version.Personally don't care about android - it's the latest spyware from Google, next to Chrome.



    >Implying Apple has no spyware on all of their devices
  • 4 Hide
    jhansonxi , March 23, 2013 9:14 AM
    back_by_demandSeriously?...The several billions of combinations of motherboard, cpu, ram, GPU, soundcard, network, HDD and anything else you can think of in a "just an x86" is suddenly brushed off as one thing?
    Developing a driver that can cross-compile between different architectures isn't easy.
  • 0 Hide
    jhansonxi , March 23, 2013 9:17 AM
    alidanlook at a game, there is a MAJOR difference between 1280x720 and 2560x1600 (i think the biggest screen so far) im guessing that that is a problem when most pcs aren't even at 1920x1080 but something FAR less powerful has to drive far higher resolutions on the top end.
    True but that's not a driver problem that Nvidia is complaining about. WHQL only applies to drivers, not badly-implemented applications.
  • -2 Hide
    solomaniac85 , March 23, 2013 9:25 AM
    beaynRead the whole article. It isn't just Nvidia asking for this to reduce fragmentation. There was a list of other companies asking for it as well. They all want less fragmentation for a more stable experience.

    My bad...Dident fully read it but with nivida bashing the ps3 with comparing it to a PC because of the deal that dident work with them and physx... Just put that comment from the article title.
  • 1 Hide
    jhansonxi , March 23, 2013 9:53 AM
    xpehEnjoy paying $1000 for Apple's developer license and kit and getting only 70% of what you earn.
    That's a policy similar to console development licensing (similar closed systems).
  • -3 Hide
    marshal11 , March 23, 2013 10:03 AM
    solomaniac85My bad...Dident fully read it but with nivida bashing the ps3 with comparing it to a PC because of the deal that dident work with them and physx... Just put that comment from the article title.


    By PS3 I think you mean PS4? I don't think badly about that at all. Nvidia was flipped off by Sony and they just lost a buttload of money. So, if they were going to have a deal, Nvidia obviously knows the specs of the PS4. So it's not like they are saying bad stuff about it just because they can. They obviously know for a fact that the next gen of consoles are not going to be high end like the previous consoles were in their time. Which is disappointing.
  • -2 Hide
    solomaniac85 , March 23, 2013 10:06 AM
    marshal11By PS3 I think you mean PS4? I don't think badly about that at all. Nvidia was flipped off by Sony and they just lost a buttload of money. So, if they were going to have a deal, Nvidia obviously knows the specs of the PS4. So it's not like they are saying bad stuff about it just because they can. They obviously know for a fact that the next gen of consoles are not going to be high end like the previous consoles were in their time. Which is disappointing.

    True true. I guess every company gets butthurt.
  • 5 Hide
    ericburnby , March 23, 2013 10:20 AM
    xpehEnjoy paying $1000 for Apple's developer license and kit and gettingonly 70% of what you earn.


    It only costs $99 a year to become an iOS developer. The SDK is free to download. If you want to develop in-house Apps for your own devices (like for enterprise use) it costs you $299 per year. Don't know where you got that $1,000 figure from.

    If you had a vending machine would you rather put it in Walmart and keep 70% or put it on some street corner and get 100%?

    BTW, Google Play also takes 30% of the App price and gives you 70%. Geez, do people even think before they post?
  • 4 Hide
    ddpruitt , March 23, 2013 12:03 PM
    Nvidia is right. Fragmentation is horrible on Android. If you don't think so see how many different versions of CyanogenMod there are for such few devices. On the other hand you don't want to limit the inherent innovation available in such an open system. Perhaps the best idea is to standardize on a limited set of hardware so all you need is a single generic driver.
  • 4 Hide
    slomo4sho , March 23, 2013 12:05 PM
    The fragmentation is from the excessive modifications by the manufactures to the OS.

    PCs also have a vast variation in hardware but all programs work because the OS is uniform.
  • 7 Hide
    balister , March 23, 2013 1:07 PM
    jhansonxiWindows only worked with x86 (MIPS and Alpha support was abandoned long ago). iOS only has to work with Apple's limited hardware selection. Those are huge differences compared to the various ARM and other architectures Android has to work with.Back before WHQL the largest desktop driver problem on Windows was DirectX which was entirely M$'s fault. You would install the latest video card driver from a manufacturer only to have it downgraded to a broken/outdated M$ driver when you installed DirectX. Made IT departments very unhappy.WHQL was more important for server drivers since it helped improve stability and uptime.Problems supporting different screen sizes? Really? Since when is that a driver problem? PC applications have to work with a multitude of screen sizes and unlike phones, the end user can change them at will. Same with cameras.


    You really have no idea what you are talking about. WHQL was because started because so many crap drivers were being written for all kinds of hardware add ins that some computers were literally unusable becuase of constant blue screens due to badly written drivers. I worked for MS just before WHQL went into affect and the sheer number of calls we recieved because someone installed a bad driver that crashed the system was astounding. We then had to work with the user to uninstall the device driver in safe mode (which getting people into safe mode sometimes was as frustrating and just trying to solve the issue at hand). Once we got the user into Safe Mode, we'd uninstall the bad driver and then have them install one of the generic drivers that was shipped with Win 95 and 98 an their device would start working, but wouldn't have all the bells and whistles that the broken driver supposedly said it would have.

    I can tell you for a fact that 95%+ of the blue screens caused in Windows 9x were due to bad drivers and a little less that 5% were caused by bad hardware or corrupted files (this is now about 95% of the blue screens since WHQL went in). I was able to actually trigger a known bug in Windows 98 with a system I build back then because I used quality parts with known good drivers where the machine would blue screen have 42 days, 7 hours, some odd minutes and second (in essence 4TB milliseconds) where a memory bit would overwrite itself and force the system to go through a reboot. Due to WHQL, you rarely see these issues anymore (badly written drivers causing blue screens).

    So yes, Nvidia and other developers have it right, Google does need to institute something like WHQL so that all the hardware follows a certain setup so that when an App is written for Android it works across all Android devices properly, not just some.
  • -6 Hide
    jhansonxi , March 23, 2013 2:01 PM
    balisterI can tell you for a fact that 95%+ of the blue screens caused in Windows 9x were due to bad drivers and a little less that 5% were caused by bad hardware or corrupted files (this is now about 95% of the blue screens since WHQL went in).
    95% of the BSODs in Win95 were due to bad OS QA and it didn't become stable until OSR2. Win98 was unusable garbage until 98SE. NT until SP3. XP until SP2.

    balisterI was able to actually trigger a known bug in Windows 98 with a system I build back then because I used quality parts with known good drivers where the machine would blue screen have 42 days, 7 hours, some odd minutes and second (in essence 4TB milliseconds) where a memory bit would overwrite itself and force the system to go through a reboot.
    There were many memory leak bugs in Windows back then that would result in a system freeze. Here is one of several I encountered: http://support.microsoft.com/kb/154162

    balisterNvidia and other developers have it right, Google does need to institute something like WHQL so that all the hardware follows a certain setup so that when an App is written for Android it works across all Android devices properly, not just some.
    The whole point of drivers and the OS is to abstract the hardware from applications. SmugMug's CEO was complaining about display sizes. No Android driver is going to fix that, just like Windows drivers can't. If an app is hard-coded to a specific display size or aspect ratio, then it's not going to be correct for anything outside of that.

    Cameras on phones aren't user-changeable so there is even less variety. Improvements may be needed at the API level but badly-designed drivers aren't going to be fixed by that. In the end it's the device OEM's problem to deal with and if the phone OEMs are not happy with the parts and developer support, then they will just switch to a better vendor. In the end the consumers will buy phones that work properly and the rest will disappear.

    While WHQL was useful to OEMs due to the open-architecture of desktop PCs, phones are fixed platforms. If there are driver stability problems it's the device and phone manufacturers who have to fix it, not Google.
  • 1 Hide
    InvalidError , March 23, 2013 2:32 PM
    ddpruittNvidia is right. Fragmentation is horrible on Android. If you don't think so see how many different versions of CyanogenMod there are for such few devices.

    Unless you want to waste hundreds of MBs of storage space on drivers for stuff your phone/tablet does not have, you are going to have to make device-specific builds to include only drivers and kernel support for whatever hardware is present on the device, so that part of it is hardly avoidable as long as each phone/tablet manufacturer uses proprietary hardware combinations and configurations. PCs were much the same before nearly every major PC function got integrated into industry-standard chipsets manufactured by AMD and Intel to go along with their CPUs. This solved a large chunk of the Windows drivers hell.

    Another difference between Android and Windows is that manufacturers can modify the Android kernel and other system files at will whereas Windows is closed-source so Android device manufacturers can address driver integration from the kernel space if necessary rather than be limited exclusively to modular drivers when trying to resolve optimization, integration and interoperability problems.

    Not much point in having a WHQL-like initiative when every manufacturer can run their own custom kernel tailored to their specific CPU, IGP, RAM, etc. variants. Something like WHQL is only meaningful when dealing with a standard black-box OS.
Display more comments