Hacker News new | past | comments | ask | show | jobs | submit login
Sideloading f.lux on iOS with Xcode 7 (justgetflux.com)
293 points by walterbell on Nov 11, 2015 | hide | past | favorite | 67 comments



I'm so insanely happy to see this, even with it's minor shortcomings. f.lux has eliminated all eye-stress for me while computering -- it's been one of the only reasons I've considered jailbreaking my iPhone...until now! Serious thanks to the developers.


Completely agree! I started limiting myself to apps that had night mode such as, Alien Blue and Tweetbot.

Being able to go from a computer with f.lux to my iPhone with f.lux will play much nicer with my eyes at night. I can literally feel the strain in my eyes when going from f.lux to no f.lux.


We can only hope that control of blue light emissions will be natively implemented by all phone and tablet manufacturers, to protect the future health of billions of humans. Here are some articles about the impact of blue light on eyes and sleep.

http://thenextweb.com/lifehacks/2014/04/23/7-things-can-righ..., "Blue light is able to pass through what is called the retinohypothalamic tract, or pathway. This pathway is responsible for regulating our circadian rhythm and a number of other biological and behavioral processes."

http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2831986/, "Hastings and Sweeney’s paper, published in the December 1958 Biological Bulletin, gathered dust for decades. No one thought these findings might hold any relevance for humans, whose circadian rhythms were then widely believed to be relatively insensitive to light. But scientific discoveries in the past two decades have changed all that."

https://theconversation.com/a-dark-night-is-good-for-your-he..., "In the last decade or two it has become clear that the genes which control the endogenous circadian rhythm (the “clock genes”) also control a large part of our entire genome including genes for metabolism (how we process the food we eat), DNA damage response (how we are protected from toxic chemicals and radiation), and cell cycle regulation and hormone production (how our cells and tissues grow)."

There is room lighting with low-blue content, e.g. the G.E. Align PM bulb, http://www.amazon.com/gp/product/B00PLR3M0M & https://gigaom.com/2014/09/01/what-is-the-blue-light-from-ou..., "It remains unclear whether our screens themselves will soon emit less blue light — Hansler is pessimistic because he says that changing the amount of blue light will be like admitting that the screens are causing health problems, and lawsuits could ensue."


> Hansler is pessimistic because he says that changing the amount of blue light will be like admitting that the screens are causing health problems, and lawsuits could ensue.

You don't need to talk of it as a health problem. Just say it makes it kinder on the eyes.


I'm surprised we haven't seen this emergent behavior for iOS yet. As more and more people have Xcode and a dev license, we could have a sufficiently large amount of people to skip the app store for apps that will never be allowed. I wonder how Apple will like that.

I can see it now: the "Sideload App Store"


Apple no longer requires a paid developer license to install apps on your personal device [0].

I agree it will be interesting to see what develops, given it is possible for anyone with a Mac to install whatever they like, now.

[0] http://stackoverflow.com/questions/4952820/test-ios-app-on-d...


Seems like there's a reasonably good chance that we'll see a tool to automate this process—an "installer for apps".

I guess Apple would likely respond by one or both of (a) putting up more roadblocks to getting developer accounts or (b) further restricting what apps can do at a technical level through more sophisticated sandboxes, making the delta in allowed functionality between an app in the App Store and a sideloaded app smaller and smaller.


They must have expected this when they changed the latest xcode to allow free personal provisioning.

There's already some significant annoying limitations, in particular short provisioning expiration limits (must reinstall the app every 90 days), and no access to services like push notifications.


Is the app prevented from starting after 90 days?


Yes, once a provisioning profile expires, apps built against it fail to launch.

You have to rebuild and reinstall the app (with an updated provisioning profile, but Xcode takes care of all that behind the scenes now) to get an expired app working again.


There is also a class of apps that Apple finds objectionable for reasons outside of private API usage. This is my favorite recent example:

http://www.theregister.co.uk/2015/11/02/apple_clubs_chaos_co...

In addition, people underestimate what you can do from the sandbox (and will be able to do for a long time, unless Apple speeds up its development cycle): https://news.ycombinator.com/item?id=10415288


or (c) doing nothing, as it's probably a decently small enough subset of people to not be a problem


I think it could be large enough if CyanogenMod has proven anything. Hard to say.


On the other hand having this other avenue for non-pirated software may result in less people bothering to support CyanogenMod.


It's entirely possible – I drew up a spec of what it could look like a while ago: https://docs.google.com/document/d/1BsOd4PXQ0SfsdMP0n30Ud_Aa...

The only issue with it is that the decision to give everyone a developer certificate for free was to increase Swift adoption. The security implications were not investigated. Apple wasn't aware that they put the final piece of the puzzle in place for something like this to exist.

They can easily reverse the policy.


> I'm surprised we haven't seen this emergent behavior for iOS yet. As more and more people have Xcode and a dev license, we could have a sufficiently large amount of people to skip the app store for apps that will never be allowed.

If this ever happened and got popular, you can be certain that Apple would shoot it down in an upcoming iOS release.

Because that's how Apple works: No freedom permitted on "their" devices.


Apple added the ability to compile and deploy apps without a developer license in iOS 9 and Xcode 7.

In fact, Apple even advertises this ability as the most prominent new feature of Xcode 7.[1]

If your response were true, Apple would never have added this ability in the first place.

[1] https://developer.apple.com/xcode/


Say again? It's already blocked:

https://news.ycombinator.com/item?id=10556375


No, the ability is not blocked. The app is no longer distributed by the developer in response to a request by Apple.


Version 7 and we're just now getting the ability to sideload without a developer license? I think that actually demonstrates the PP's point. This isn't a new liberty, this is a tool to help Apple to drive adoption of their new language.


Their point was that the ability is going to be removed if it gets used at all. That just doesn't make any sense given the fact I outlined in my response.


making sense or not, it has happened,


No, it has not. The ability is still there. Apple only asked the developer to stop distributing the app, which they did.


brew for iOS, go!


Installed this earlier today, only thing thats worrying me so far is that it seems to wake up my phone (to the point it asks for the passcode) every now and then. Not really a fan of that happening all the time as I can see it draining the battery pretty quick. From what I remember reading through the GammaThingy source code it has something to do with needing to wake up the display to change the gamma (https://github.com/thomasfinch/GammaThingy/blob/2b504461c4f1...) but it seems to be doing quite a lot more even once the max temperature has been reached...

Edit: also probably worth mentioning, unlike GammaThingy the implementation of f.lux is hidden inside of a compiled nib.


Author of f.lux here --

This build of f.lux prefers to use notifications (you can turn off the Notification Center ones).

The screen settings we're changing only work when the screen is on but we have to be "ready" when you unlock your phone. We're working on a version that does quite a lot fewer wakeups.

In our jailbreak version, we just hook the screen unlock and do work then, but we can't do this in the jail because we never wake up.

In this version the notifications serve as a "wakeup". If we fail to show a notification, we hit the unlock instead.

The battery impact overall is extremely low.


Can I turn off the lock screen notification and banners though? So like this: http://imgur.com/CYWeuHz.


Thanks for the explanation, that makes sense.


That's awesome. Having used f.lux on all computers, I wish it would just somehow get into iOS (without needing a jailbreak).

On a serious note, have you people talked to Apple directly to get this added either into iOS (possibly the best approach considering how the app store and app policies are structured)?

Also, how did you get this to work on iOS even with side loading (and no jailbreak)? It would be interesting to know.


See this thread for discussion and code, https://news.ycombinator.com/item?id=10378914


This _so_ clearly needs to be implemented in the OS or sufficient APIs need to be allowed for 3rd parties to implement it (à la content blocking concessions Apple made available). Thank you f.lux team! I can check the time at night without fully waking up!


And it's gone:

  Apple has contacted us to say that the f.lux for iOS download (previously available on this page) is in violation of the Developer Program Agreement, so this method of install is no longer available.
Too bad, I missed out on it. I would have loved to install it on my iOS devices, but the download is no longer available.


Wow, what a shame. I installed it before that happened, and it works great. It's now past sundown and my phone is orange at long last.

I guess now I'm stuck on iOS 9 if I want to keep this?

For anyone who wants apple to reconsider, the feedback page is the best place, unless you know someone inside apple: http://www.apple.com/feedback/iphone.html

They actually pay more attention to feedback on that form than to other forms of complaint, rumour is.

edit: it seems that the app will expire in 90 days and need to be rebuilt. I'll hang onto their installer and hopefully that works.


I love flux.

For those people who don't have the ability to sideload via Xcode (e.g., your parents or non techie friends), you can teach them the iOS Low Light Filter:

http://lifehacker.com/toggle-your-iphones-brightness-with-a-...


Thats what I was using until today! So glad to see flux is possible on iOS.


Are there any other cool side-load-only apps for iOS? (Apart from those which require a jailbreak.)


Thank you! I'm actually now preparing to update to Yosemite merely to be able to use this. It's sooo helpful for ensuring good sleep.


With this I can consider switching back to iOS again.


Cool! Incase you're on Android you can download https://play.google.com/store/apps/details?id=com.urbandroid... Its basically teh same thing! I love this app! :) Glad more ppl can get flux now on iOS


cf.lumen is much closer to the same thing, as it actually adjusts your screen's gamma.


oh hmmmmm


Hopefully they can now concentrate on fixing the huge Mac bug that causes my mouse to jump across the screen when your screen is being fluxed: https://justgetflux.com/forum/topic/77/jumping-mouse/11


I still haven't seen any evidence to suggest LCDs perform in a comparable manner to the light source in all those studies they cite.

Where are the studies testing F.lux directly? This is ripe for all of the best biases to take over, which makes me immensely skeptical.


What are you objecting to specifically? I would think that, if your brain responds to light of a particular color or intensity, it's not going to care that the light source is an LCD.


I am going to need more than "I would think that" if I'm going to believe this, and considering how backlight leakage allows extra white light to emit from your screen, I'd consider that an important enough extra variable that needs to be accounted for before we just start equating "pure" blue lights to the complex lightwaves that come out of an LCD monitor.

Besides, the framing of your question is wrong. I don't even need to come up with a specific reason, the burden of proof lies on the makers of F.lux to demonstrate that their specific product does what it says, and simply citing inequivalent studies isn't enough.


>I don't even need to come up with a specific reason, the burden of proof lies on the makers of F.lux to demonstrate that their specific product does what it says

Man who the fuck cares. Millions of people use f.lux every day - personally, it's the first thing I install on any PC or Laptop I know I'll be using for a while.

It doesn't matter whether you have proof one way or the other.

Use it, or don't - honestly nobody gives a shit.


I give a shit, because if I'm going to use it, I want to know if it's going to do anything. Why suffer through the filtering it does to my monitor if it doesn't matter?


Are you honestly so incapable of independent thought that you need someone else to tell you what effect your life choices are having?

If you're interested, try it, see if you like it. If not, don't try it.


That's not how science works, friend.


I don't understand. What's a "complex lightwave"? Light is light.

I agree that it would be good to see more and more specific studies on this, but this focus on LCDs is a weird line of attack.


Light is light except when you have multiple sources of light, some white and some blue, due to backlight leakage that happens to varying degrees in every LCD screen.

Do you know how much white light would negate the blue light in your brain, negating the effects? I don't.


how is the framing of the question wrong? You are criticizing a product, so the burden lies with you to proof what is wrong with it.


You're entirely incorrect. They're the one making an assertion, I'm simply asking them to back it up, not "criticizing" it.

Your comment is pretty terrible, from a quality standpoint, not something I'd expect from HN.


Woah, awesome! It'll be interesting to see how Apple responds to this sort of instillation. I image with this publicity on HN we'll see other devs taking advantage of this instillation option to bring third party apps to users who are not jailbroken.


Awesome! Been wanting this for so long. F.lux has made a huge positive impact on my health.


I think this should just be a builtin at this point, and in fact it would have been by now if it weren't for the walled-garden policies of the new gatekeepers of the modern technological world.


What API is this using? The download is a binary blob :/


Inspected the symbols in the iflux binary. It's using APIs from the private framework IOMobileFramework.framework:

IOMobileFramebufferGetGammaTable IOMobileFramebufferGetMainDisplay IOMobileFramebufferSetColorRemapMode IOMobileFramebufferSetGammaTable



Also, be careful, if you call IOMobileFramebufferSetGammaTable with invalid arguments it will cause your screen to go black until you set a valid gamma table or reboot.


I'm a bit uncomfortable side loading an unsigned binary blob on my device. Does anyone know if it's possible to see the source and compile it from scratch?


I don't suppose there's a way to do this from a non-OS X platform, is there?

I'd assume no, but I'm wondering if anyone's found a way.


[deleted]


From non-OS X, meaning no Xcode. Like Linux or Windows to iOS.


Install OS X in VirtualBox?


I've done that and it was a pain in the ass to get working. It worked, albeit slowly. I didn't try to deploy to an iOS device from there, is that possible/relatively easy too?


This Xcode project does absolutely nothing. Am I missing something?


Stop with "sideloading." It's a silly term. It's just installing software, and making it sound weird with a useless neologism is part of the whole power grab that vendors have tried to ride in with mobile.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: