Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Seems like there's a few android equivalents:

https://play.google.com/store/apps/details?id=com.panshen.mo...

https://play.google.com/store/apps/details?id=com.urbandroid...

And even one that claims to work with sound:

https://play.google.com/store/apps/details?id=com.samsung.a1...

EDIT: Actually there's an enormous number of apps like this, many released very recently with similar style etc. Weird.



If you're like me and want an open or non-google-play alternative to these, this is available on F-Droid: https://f-droid.org/en/packages/dev.davidv.motionsickness/

I can't vouch for it (yet) but am going to give it a try!


This one works well. Small, simple, no ads, open source.


It does have weird jumps if you tilt your phone though. Something's not quite right with its algorithm.


It's been rumored that Google would build it into Android for years:

https://www.androidauthority.com/google-motion-cues-pixels-n...

I've tried some of those Android equivalents and they seemed to work on any motion, not on acceleration like the Apple one.


That's physically impossible.


I think what he means is that the iPhone dots seem to move based on vehicle acceleration and deceleration, whereas the android ones use all phone motion.

If I move my iPhone around in my hands the dots don't move, but on my android they do (ie are simulating a stable horizon as the phone tilts, immediately). I don't know which is more effective. I thought the iPhone one was broken at first and didn't have the best results from it, I'm hoping the less-subtle android ones will work better for me.

Edit: I read from the docs that Apple's works best when facing forward, and I was often sitting sideways on a train


That's strange, any idea how it could be able to differentiate?

My only guess is some sort of processing, like wait and see if it follows the expected acceleration pattern (moderate initial acceleration from the unexpected-to-the-user car motion, followed by a stronger acceleration in the same direction as one's hands push the phone to keep it in the same visual place) but I'd assume such lag is precisely the issue VR etc. has and makes people extra sick. By the time you've counteracted it, your brain has clearly registered that the movement is disjointed from the visual input, so then it's too late for them dots to help right?! That couldn't possibly work (or could it). Very curious how this works. Like, surely it doesn't need to be connected to a compatible car?

Edit: wait, or the camera. That would be very battery-intensive (I guess theoretically it could turn on only 1% of 1 color channel on the sensor, but I'm not aware that this is a mode that the hardware/firmware supports), but when you move it yourself, then the camera would see motion in the opposite direction as when you're unexpectedly being moved such as in a car. Still seems unlikely


It doesn't seem to actually differentiate at all. If I move my iPhone around on a plane (table), the dots move. If I hold in in my hand and move left/right, the dots move. If I hold it in my hand and raise/lower my arm, the dots don't move. That's actually just an integration of acceleration/gyro, and possibly combined with a simple model of how a phone is held (e.g. assume rotations happen from a point 30cm away from the bottom of the phone).


The difference is very simple:

Apple uses the derivative (i.e. rate of change) of acceleration, while all the other (ineffective, in my experience) third-party apps simply use acceleration.

People with motion sickness can deal with speed just fine. While relaxing on an equatorial beach, you’ll have no qualms hurtling around the poles at 1600 km/h.

Acceleration is also perfectly fine for motion sickness. Most people are being pulled towards the centre of the earth at 1.0 G with no complaints whatsoever.

But the significance during motion sickness is the rate of change of the rate of change. That thing where the vehicle slows down, turns a corner, goes over a bump.

This is why Apple’s motion cues actually work, because they use what actually matters for motion sickness.


Seems unlikely/strange that all these clones would miss this little thing of using the derivative instead of the accelerometer directly so that it 'actually works'

> But the significance during motion sickness is the rate of change of the rate of change. That thing where the vehicle slows down, turns a corner, goes over a bump.

That's the same as being pulled towards the earth at 1 gee. Both are acceleration from the accelerometer's point of view. I'm not sure how to convey this well in text, but maybe try installing a sensor reader (e.g. https://f-droid.org/en/packages/de.rwth_aachen.phyphox/) and looking at how the accelerometer values change when you move it in various ways


It works in a plane, so it’s somehow able to detect the higher rate of speed, maybe by integrating, but I think it does use signals from CarPlay as well.


From an accelerometer's point of view, there is no observable difference between standing "still" (on earth's surface, moving some km/s around its axis, which also moves around the sun, which also moves around the milky way, which...) and being in an airplane. Both feel ~9.8m/s/s acceleration in the same direction because both are in a moving reference frame that stands still with respect to the accelerometer. The 'absolute' speed of the airplane (relative to the ground or air) is not something the accelerometer can measure, so it couldn't not work at 'higher rates of speed'. (If I understood your comment correctly!)


Yeah, probably could have phrased that better.

They are using completely different approaches. Apple seems to be mostly using the accelerometer, to draw dots and visualize inertia. The Android apps are using the gyroscope, to draw a horizon.


You can't only use the accelerometers. If you do as soon as you tilt the phone it will think you are rapidly accelerating.

Apple will be doing full 6 DoF sensor fusion, and then processing the result in a different way.


Ah, ok. Thanks for the clarification.


I've found Kinestop to be much more effective and immediate than Apple's, highly recommend.


Same, +1 for KineStop.


Be careful with these apps. The permissions they ask for are quite expansive.


You're correct, but there's a good reason: they need to draw over other apps to do what they do. So it's not necessarily nefarious. But it is an excellent reason to build the functionality into the OS.

(The reason the permission is so dangerous is they can trick you into pressing the wrong button by relabeling dangerous text with innocuous text.)


The presence of a good reason is exactly why you have to be so careful. Creating an app with a legitimate reason to request permission, only to also abuse it, is a great strategy for an attacker.


Absolutely, which is why I really appreciate the network permission on GrapheneOS. It makes me more comfortable to allow other permissions knowing no data can be exfiltrated.


It's wild to me that "internet access" is not revokable or even displayed in the Play Store in stock Android. It's such a huge security and privacy concern, even if most apps semi-legitimately need it.

Or, it would be wild, if it weren't fairly obvious that this is just Google protecting their mobile ad revenue.


There's basically zero apps without some sort of analytics nowadays.


More than half of the ones I have installed have no internet access. Most because they don't have the permission (thanks, F-Droid!) and the rest because I've rejected that permission (thanks, GrapheneOS!)


That's fine. The OS should still let me turn off all outbound network connections for an app.

Apps that are solely relying on analytics still tend to function when the analytics are unreachable.


Not in all app repositories. This isn't so common among open source software as it is in the commercial/adware ones you find very prominently in Google's curated collection


Sounds like a concern for app devs but something that shouldn't be a concern for users (because they should be able to turn it off)


Well, Google is the advertisement company.


>no data can be exfiltrated.

Well, that depends on the other apps you have installed. Unless things have changed in newer versions, apps with no networking can still do IPC, so any app can for example use Cronet to make network requests via Google Play Services, regardless of the toggle, as long as sandboxed Google Play Services has network permission.


Good point and thanks for the heads up.

Mostly asking it as a question, given that graphene runs Google play services (optionally) as a normal, sandboxed service with no special permissions might help a bit, but I guess unless you disable networking for every other service installed, this is sort of impossible to plug 100%? IPC can be quite the security hole.


Only if the other services provide a network proxy right? You'd need to find an exploit in the app otherwise.

Edit: although, I just remembered that it's actually as simple as sending "open this URL" intents to the Android equivalent of sensible-browser, which everyone will have installed. That does rely on users not understanding or caring about what's happening or it only works for the first user


Yeah, there are endless holes unfortunately with IPC. It has been hardened by more recent android versions https://developer.android.com/guide/topics/manifest/queries-...

but even something like "share via Chat app" can be used to leak information, e.g. it will have the link preview loaded".


Yes IPC is definitely a security hole, but because the two apps communicating need to both explicitly support it (I really doubt there'd be an exploitable vulnerability here of all places), it's a much smaller concern. Here I'd mainly worry about apps like Google Photos talking to Google Play Services. GrapheneOS has mentioned they'd like to implement IPC scopes to isolate apps, just like contact scopes and storage scopes.


Yep, nothing has changed yet. GOS project still has this in the road map, but as of now Inter Profile Sharing still works.


> so any app can for example use Cronet to make network requests via Google Play Services

Cronet? Isn't that Chromium's networking library? How's that letting apps connect via Google Play Services?


Agreed.


Network permissions could be used to avoid ads on Android. The horror!


And it even fails in the way that apps will see no-wifi and believe the entire device is offline. That way they can't detect it and mess around without harming regular offline users.


Depends. One of the reasons I stopped using Spotify was because its offline mode refused to work when my device had all radios off (who even thought of this?). Once I turned on Wi-Fi, even without connecting to a network, it would load immediately.


Try Metrolist it's free, fantastic and supports offline caching.

https://metrolist.meowery.eu/


Funnily enough, the Huawei P30 Pro I was using previously (back when these things could run Android with GMS) had network toggles for all apps. They weren't in the permissions menu, as they were meant for data saving purposes but you had the additional granularity of choosing if an app could access mobile data or Wi-Fi separately.

That solved the problem of ads in games much better than DNS :D


Any self-respecting OS has packet filtering, this isn't unique to or surprising from GrapheneOS. On my Samsung/OneUI I use AFWall+ which sets iptables rules iirc


KineStop at least claims to collect no user data, and has no ads: https://play.google.com/store/apps/datasafety?id=com.urbandr...


> EDIT: Actually there's an enormous number of apps like this, many released very recently with similar style etc. Weird.

It's mostly just Devs copying apples feature, nothing too weird about it


You may be wrong here and Apple seems to be the one copying the feature. Someone mentioned KineStop in this thread and that's been around since 2018.


Tried the first one and it doesn't seem to work (dots don't respond to motion), and is absolutely riddled with intrusive ads. The one that another commenter left which is on F-droid is much better


Read the reviews on that first one. They seem to have gone over to the dark side.


I found my Xiaomi 13 (Hyper OS 3) also has this feature.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

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

Search: