So now that Apple has released their own screen dimming app, is Apple's implementation any different than flux's? Or did Apple effectively just abuse their app policy so that they could proactively kill a competitor to their "new" feature?
So now that Apple has released their own screen dimming app, is Apple's implementation any different than flux's? Or did Apple effectively just abuse their app policy so that they could proactively kill a competitor to their "new" feature?
This isn't a case where Apple did something incredibly arbitrary and capricious and then immediately ripped someone off (such as if they kicked all poker games out of the store and then included their own poker app). Apple enforced long standing app store rules.
F.lux legitimately deserved to get yelled at, they used private APIs and attempted to circumvent the app distribution system. Both were against the license agreements you have to agree to if you want to use Xcode.
Obviously you can argue about whether the rules should exist, etc. But there was no question that what they were doing would be 100% shot down.
Yes, it is true Apple rejected the app due to private API's. It was against the rules to use those API's, and Apple was within their right to reject them. Just as it is within the communities right to petition Apple afterwards and ask them to open up those API's.
The concern now is that without any form of communication, Apple has gone and released an alternative. It is a "ripoff", and there's no two ways about it. The people from f.lux were very diplomatic in their response.
(You can call it an inbuilt feature instead of an "App" all you want, but the US Department of Justice and EU Regulators have had long-standing concerns against OS vendors bundling in features in an effort to stem competition. To say nothing of the irrelevance of how the feature is distributed.)
I mentioned 'app' because if it WAS an app (which isn't their style, even their apps are often bundled with the OS it would be especially egregious since they'd be doing the exact thing they told flux not to (and as we all know Apple is happy to break their own rules).
I completely agree that in the anti-trust sense (like what happened to MS) the app/built in this is irrelevant.
It's not really the case that they attempted to evade the distribution system and then play the victim card. They've had no illusions that it would likely remain exclusive to the jailbreak community due to the nature of the platform and Apple's rules.
When Apple surprised everyone by saying they would allow sideloading in Xcode 7/iOS 8, f.lux thought great, we'll post it so non-jailbreakers can have it as well. Apple asked them to remove the sideloading variant shortly after, not because it uses private APIs, but because they were not distributing the source. It's always remained available to jailbroken devices (see https://justgetflux.com/cydia/).
I don't entirely buy into some of that philosophy, but to me Apple is different here for one reason: every KNOWS they act like this. It's not like this is some out of the blue thing. I don't have much respect for someone purposely running into a wall and then loudly complaining about it in public.
The first few times some of this stuff happened in the App Store or it was an unwritten rule that was 'violated' yelling was TOTALLY fair.
But violating an obvious and published rule that has gotten numerous others kicked out of the store? Why are you complaining? You knew what would happen.
I find it odd that people develop the kind of things that Apple is very likely to dislike and then act surprised when Apple acts totally in character.
I'm not arguing what Apple did is good/ok/legal/fun, but it was totally predictable. Even if the app wasn't submitted.
I find it hard to fault them when I look at it like that.
But again, because for some reason I had to say this last time too:
DEATHS?
Can we avoid obviously hyperbolic statements? I seriously doubt they could ever prove that.
Clearly the HN hive-mind agrees with you that I'm being to hyperbolic, but downvotes aside I think there's a strong argument that this is so easy that even a very minor health benefit would mandate adding it to every device everywhere.
f.lux is a screen app. You don't need to build it in OS as it works on screen for everything. Its like, tomorrow building an email app or a browser into an OS. f.lux is an application thing, not a system thing.
Or are you suggesting f.lux passes the entire framebuffer at any given point through their code and adjust the color temperature using a shader on the GPU? (No.)
Sometimes I wonder. It sounds like if an API change breaks your app, then your app is broken and should simply get pulled for that.
Furthermore, they tapped the flux guys on the shoulder and told them hosting their code with the instructions for people to sideload it themselves isn't allowed. https://justgetflux.com/sideload/
Don't confused Apple's infamously controlling nature with some desire to adhere to good development practices. It's just Apple being Apple.
A simple solution but a terrible one for users. Imagine apps on your device regularly breaking and having to wait several weeks for developers to update them. If they update them at all. Apple would also have to monitor user reports, test supposedly broken apps, then make a decision to pull them. And if they got the decision wrong they would be killed for it in the press.
You mean like we get right now whenever there's an iOS update?
And if they got the decision wrong they would be killed for it in the press.
You mean like they already are when they make an arbitrary, asinine, illogical decision about pulling someone's app?
Apple's approach to developer relations can be charitably described as that of the honey badger.
Just for reference: f.lux first released an app for iOS in 2011. So there's been four years, half of the entire lifespan of iOS.
https://github.com/jonls/redshift/commit/4818f331cedeba94bb7...
"Huh, how is f.lux doing that? The API looks like it's private."
PS: I'm not very familiar with this expression, but isn't it like.. "co*k blocking"?