7 ms·
For the uninformed, these are two separate issues. The first is that apps are laggy or jittery during scrolling or animations. This is partially due to poor co
by Pewpewarrows 15y ago
For the uninformed, these are two separate issues.
The first is that apps are laggy or jittery during scrolling or animations. This is partially due to poor coding from developers, but the main reason for its existence was the lack of hardware acceleration on Android devices. This changed with 3.0 on tablets, and now 4.0 on everything. Developers still have to opt-in with a one-line XML file change, due to compatibility issues. So in essence this has been solved across the board.
The second is what a lot of users are now referring to (and was largely masked by the presence of the former problem). And it's that there's a much larger drag distance required to "initiate" user interaction on Android than iOS. When I pick up a friend's iPhone, it seems like if a hair on my finger even grazes the screen the UI immediately (and appropriately) reacts. On every Android device that I've ever used, it takes approximately 0.5 to 1.0 centimeters before the UI will begin to react and scroll. This is what people mean when they say that it feels like you're "pulling" the UI on Android, while iOS has 1:1 natural interaction.
Is it annoying? Yes. But after moderate use I stop noticing it, until I happen to touch an iOS device again. Now that Ice Cream Sandwich has taken care of every other fault with the platform I had, this is really the last item on my list of complaints, having used Android devices for years on a near-daily basis. I don't know if it's a problem with the hardware of the screen sensors themselves or with the levels of abstraction to Java-land, but this should be their top priority for what I can only assume they'll call Jelly Bean.
- Qz 15y agoI have a HTC Droid Incredible and I don't see the second UI lag issue whatsoever. I just tested by dragging around on the home screen, the lock screen, the SMS message list, and my Dolphin HD web browser. I have to move my finger maybe 1-2 milimeters for it to start responding, but nowhere near .5 to 1 cm.
- Pewpewarrows 15y agoAs I pointed out in my post, the longer you use Android the further off your perception becomes. To get an accurate measurement I had to play with my Nexus S and an iPhone side-by-side, doing identical movements, and had a ruler and zoomed camera pointed at them both. After removing my mental bias from having become conditioned to that "pull" latency, the difference was pretty obvious. I was also in the same boat about believing it was just a few millimeters, until I actually went ahead and measured it. My mind was thinking a millimeter was larger than it actually is.
- Qz 15y agoI just tested again, with measuring tape, and I can get the lock screen sliding in less than a milimeter. What device do you have?
- eco 15y agoTry it with a scrolling list. The unlock button activates as soon as you press down on it. I was having the same results and didn't really believe his claim until I tried it elsewhere in the OS. 0.5 cm seems about right. Anyone here familiar with Android's source code and can figure out where this behavior takes place? I'm curious if it can be easily disabled (if only to see what it's like).
- tadfisher 15y agoAndroid has the concept of "touch slop", the value of which you can get ViewConfiguration: http://developer.android.com/reference/android/view/ViewConfiguration.html#getScaledTouchSlop() http://developer.android.com/reference/android/view/ViewConf... ScrollView views use this value internally to prevent accidental scrolling when tapping elements. You can change the touch behavior by subclassing ScrollView (or ListView) and overriding onTouchEvent() to ignore slop and start scrolling immediately on a drag event. Incidentally, I can't stand most iPhone apps because of their over-sensitivity to scrolling (and their tiny list elements). I'm glad Android has these defaults.
- barrkel 15y agoSome lag is necessary in order to simply and reliably implement long-press actions, to distinguish them from drags. It's a bit like Windows ignoring small drags to help people make double-clicks on icons.
- saturdaysaint 15y agoNot true - iOS (being held up here as essentially lag-free) has several long press actions. Closing running apps in multi-tasking and organizing apps require long presses.
- cbs 15y ago>Is it annoying? Yes. But after moderate use I stop noticing it As someone who uses both devices, I really only notice this when I'm so board that dragging around a menu seems like a good way to kill time or plain old stoned. Its really surprised me how much I've seen this as a criticism of the android in the past few weeks. In the past I had always just written them off as being different, not necessarily better or worse, like a design decision to make sure that "Yes menu, it is in fact time for us to scroll" because there are many cases where the user won't have a steady finger but don't mean to activate scrolling. But, if the menu feel is even being brought up as a valid comparison point, it is good news all around. Splitting these hairs is proof that both platforms have finally made it to the point of meeting most user's wants.
- Pewpewarrows 15y agoOh I definitely agree. To be at the point where this is the last real criticism of the OS that I've come to know and use is excellent. And take it for what it's worth, but the instant reaction of iOS devices isn't necessarily for everyone. My father for example thinks that it's much too sensitive. He'll accidentally graze the screen when hovering his finger over something while reading or trying to get to a UI element, and all of a sudden the app starts scrolling, making him feel lost and frustrated.
- Steko 15y ago"So in essence this has been solved across the board." Which is why ICS Galaxy Nexus demo units were reported to still be laggy?
- Pewpewarrows 15y agoNot from what I saw or heard. Engadget's review for example praised how silky smooth the entire user experience now was. Though I can imagine that being a beta build running in debug mode doesn't really help, if someone did see the occasional hiccup.
- chugger 15y agois ICS going to fix all the crashes, virus/spyware/malware, poor battery life? will ICS even run on older Android phones? will your carrier even let you upgrade to ICS?
- andylei 15y agoi mean, if you look at old iphones, they're pretty laggy and jittery on newer versions of ios
- rimantas 15y agoYou mean specifically iPhone 3G with iOS 4.0 (which was fixed with 4.1)?
- gergles 15y agoDoubtful, he probably means things like my (current-gen) iPod touch, which runs like molasses with iOS 5. Stutters, jumps, unresponsiveness far worse than any Android phone I ever used.
- falling 15y agoThere is probably something wrong with your iPod. I'd take it to the Apple Store. iOS 5 works fine on a 3GS, and your iPod has iPhone 4-comparable hardware.
- ugh 15y agoOh my god. That’s intentional? Why? I don’t understand. Makes me want to throw any Android device I’m using at the wall. You can’t imagine the amount of rage that creates inside me. Why don’t they stop it?
- eco 15y ago> Developers still have to opt-in with a one-line XML file change, due to compatibility issues. Only if they are targeting a pre-ICS SDK version. Applications targeting 4.0 have hardware acceleration on by default.
- foobarbazetc 15y ago"So in essence this has been solved across the board." LOL. You clearly have no idea what you're talking about. It's a marginal improvement at best on Honeycomb. Android's performance woes are unsolvable due to fundamental design decisions in the UI layer and in the choice of a garbage collected language for a mobile device. Sure, they might be less noticeable in your quad core monster phone, but it'll still be laggy compared to an iPhone 3GS running iOS 5. Complaining about iOS's amazing touch responsiveness is ridiculous at best. It's a marvel of engineering prowess.