Samsung has modified the version of android on the Note 3 to behave differently when a variety of benchmarking apps are run, producing scores that are 20% higher than they would otherwise be. (Full article here).
Is this a crime (civil, obviously)? If so, what legal definition does this behavior match?
Key details from the article:
[li]The benchmark scores are not published by Samsung.[/li][li]The modification detects benchmarking apps by their uniquely identifiable package name (rather than some behavior that indicates heavy usage) .[/li][li]The modified behavior seems to apply only to benchmarking apps (and thus provides no reasonable benefit to the user).[/li][li] This particular product is intended specifically for the US market (Samsung typically releases a different version for the US than the rest of the world)[/li][/ul]
As have O/S makers - it’s as American as ignoring the speed limit. It’s really the domain of the certifying agencies but I imagine a civil class action suit based on intent to defraud customers would be a possible approach. This could be similar to the suits against Ford CMax and Hyundai vehicles whose MPG claims appear to have been overly optimistic.
It’s just general business fraud/deceptive practice. No new law needs to be passed in the US to specifically mention benchmarks. If a company says “Our X can do Y.” and it can’t, it’s already covered.
The problem is getting someone to actually care enough to do anything about it. You’ll note that frequently it’s state attorneys general that start up a lot of fraud lawsuits (NY and CA in particular) since the FTC is practically a Potemkin Village when it comes to protecting consumers.
The auto industry has been gaming the fuel economy tests since the day they began. That’s why you never, ever, get the fuel economy posted on the sticker. The car (it doesn’t matter in the slightest which brand we’re talking about) is designed to get maximum fuel economy at the conditions of the Federal fuel economy test, which only sorta resemble the conditions people will actually drive under.
Speaking of the auto industry, in 1964 a Pontiac GTO and a Ferrari were in a head-to-head comparison test conducted by Car & Driver magazine. The GTO was much faster than the Ferrari in acceleration tests such as a 1/4 mile drag race.
C&D later found out that the Pontiac was a balanced, blueprinted, and dyno-tuned factory ringer.
This is one reason testing organizations go out of there way to buy from retailers instead of getting a product directly from a manufacturer.
The benchmarks are accurately measuring the performance of the hardware. The hardware is just set to switch to ‘fast mode’ while a benchmark is running (and at no other time).
People making applications are more-or-less at the mercy of the designers of the operating system. If the OS is set up to go “Oh, you’re running a benchmark, let’s crank everything up to 11. Oh, now you’re doing anything else, everyone can go back to slacking.”, it’s unclear how the developers of the benchmarking application are supposed to respond to that.
So why isn’t it always in fast mode? If it’s just to preserve the battery life, then that’s simply enough solved by adding another benchmark, how long the phone can run while running the other benchmark tests.
They could adopt the tactics of virus writers trying to evade anti-virus programs. Random package names, filenames, process ID’s, and code mutations that change the fingerprint of the benchmark program, so the OS/firmware/hardware can’t detect that it’s being run. It does seem rather ridiculous to have to resort to that, however.
That would be a good way to counter this trick. “Sure it runs fast, but it’s get terrible battery life”. However, there’s still the problem of the company deceiving the users since this is not a mode the phone will ever be used in.
The mode is activate when a program/app/package is run whose name matches one of the entries in the devices list of benchmarking apps. It is equivalent to a pc switching modes whenever it runs benchmark.exe (or whatever unique identifier PC/Mac software uses).
As I understand the code sample provided in the article, each time a program is run, it compares the programs name (aka package name) to a list (written into the code). If the program’s name matches an entry on the list, it switches to a high-speed, low-efficiency mode.
If this were an automobile, it would be like the vehicle detecting it’s hooked up to an emissions tester and switching to a different set of operating standards (which I’m pretty sure would be considered deliberately conveying false information and result in severe fines for everybody involved).