iPhone 5: 81 ms
Galaxy S3: 104 ms
Galaxy Note: 71 ms
Nintendo 3DS: 23 ms
PS Vita: 49 ms
And, to add a tv game console into the mix, apparently the latency between input on a PS3 wireless controller and home screen interaction is also about 50 ms.
In other words, one test was designed to be a benchmark from the ground up, and the other is a cross platform app.
Or, conversely, they had to work harder on their Android app to bring latency down to that of the iOS app. Just not enough information given to know.
Apple makes great devices, and I wouldn't use any other phone and tablet, but I think people like Gruber have been completely blind to the technological shortcomings of iOS devices in this area, because Steve Jobs told them styli are stupid, and the iPad is going to disrupt this-and-that.
It also brings up the whole "to stylus or not to stylus" discussion again, because one of the main reasons you wouldn't want to use a stylus for an iPad is that it highlights just how (comparatively) poor the touch latency is for the tasks that lend themselves to work with styli.
It perhaps best underscores that iPads are very much - still - disruptive technology, which by definition is in many ways inferior than sustaining technologies, but makes up for it in other compelling ways.
It's one of the many reminders that we shouldn't get too busy throwing out everything paper and analogue. Disruption is not synonymous with obviation.
I'm just saying that Apple have a good reason to discourage people from using styli with their iPad, for reasons other than the new finger-based touch paradigm. (As it exposes inherent shortcomings.)
I don't fault Apple and Jobs for that, though; I am just bothered by Gruber's rather naïve praise and uncompromising defence of the iPad as a device for creation over consumption, an argument I think he more than Apple and anyone else champions.
I don't get the sense that Gruber thinks the current incarnations of the iPad are even particularly good for much beyond gaming and reading.
For things that don't require visual precision, such as music production or writing or concept diagramming, the iPad is highly capable. I look forward to the day its touchscreen can handle pen input to an equal degree.
I was free to choose any of these, but I chose to use an iPad because it allows the immediacy of sketching and painting with natural media and the significantly faster turnaround of digital image making.
Like any tool it takes some adjustment, but once it clicks, there is nothing more immediate than using your finger(s) to directly paint an image. The fat touch region is a non-issue once you've learned to use it - after all, there's nothing terribly immediate about flexing one's fingers and having a mark appear 2-10 cm away at the tip of a pencil, pen, or brush - we've just become so accustomed to it that it seems "normal." A bit of time with an iPad and tablet finger painting seems equally immediate and natural.
As long as multiple requirements are met in a single device.
For instance, if you want regular O/S upgrades you have about as many Android phones to choose between as there are iPhone models :-)
Hell, even a friend of mine who doesn't have any it-background installed it without a problem :)
I just upgraded to the latest release candidate (from a 1+ year old version) and it re-locked my phone and disabled the Google Play store. I finally figured out after much googling that I had to reflash google apps but was pretty stressed for a while there.
I'm wondering if perhaps I auto-update to nightlies if I wouldn't run into that problem again, but then I'm also worried about a bad release.
Then it locks your phone again, but its easy to re-enable. Updates between 10.2 versions don't lock your phone.
You can just download new updates in your configuration, system submenu of your phone.
Just download and then click install. I never had a problem with it actually (although they are nightlies), sometimes battery improvements are noticable and system improvements, that's really cool.
So, i never experienced a bad release, and i'm always capable of downgrading my phone to the previous release (i download a new upgrade, install the new release and after some days i delete the old installation files).
A lot of days, i just do an update every day at midnight when i'm going to sleep.
One day, my phone went from 1 day battery time to 2 days (after the update from 10.1 to 10.2, somewhere the fifth nightly update i did).
One advice, if you install 10.3 in the future, install GAPPS in your system/app directory first. So you can install it immediatly.
I didn't have a problem with rerooting though.
It's complexities like this that I am too old to have time for that would make me more than happy to pay $x/year for a premium Cyanogenmod "subscription" service as floated recently that takes care of all this for you.
I hope I see the battery life improvements, that's one of my main complaints about Android.
Actually, i only realized how much battery life makes it easier for you :P
But i still have 2 extra batteries in my car, for when i have no time. One of the best benefits of Android smartphones :-)
So the problem of battery life didn't really affect me much, just switch the battery and it's done... :)
1. When the alarm clock app was rewritten/significantly changed it began crashing in startup. Cleared the app data for it and it worked fine.
2. More recently, when they merged in the 4.3 branch from AOSP, it required an update to gapps as well. I didn't actually read the change/upgrade logs and ended up just reinstalling my phone clean.
Really not all that many problems when you consider it, and not all that serious. The worst case scenario (reinstall phone, restore from backups) only came up once.
Recently, I decided to give Android another try and went with the Galaxy S4 when that came out. I was pleased with how far the OS had come since Eclair, but it still felt less responsive than even my 3-year-old iPhone. As for the build quality, that's my biggest regret in buying a Samsung product again. It's hard to beat the feel of an Apple device, but at least the Nexus 4 and HTC One are trying.
How many of those phones can you update in three years, like I just did for my iPhone 4? (An armless man can count them on his fingers? :-) )
I bet all of the Google Play sold devices would see at least 2 major updates. (My Gnex got 4.1/4.2/4.3 - and unlike my iPad 3 ios 7 update, it actually got better at every update.) That's good enough for me considering that Android updates are really not the same as iOS updates - most apps including the Keyboard get updated independent of the OS.
And just for those who care, Rheyne does a phenomenal job of using iPads as controllers (http://vimeo.com/72861463)
However, there are a few Android phones that are particularly laggy. The Galaxy III comes to mind - when I last used one. It didn't feel anywhere near as responsive as my iPhone.
I have the Verizon SGS3 (albeit running CyanogenMod) and the responsiveness is very good. TouchWiz (the Samsung Android overlay) probably adds some latency and CyanogenMod uses a newer kernel (3.4.xx vs 3.0.xx) so that might also contribute to the difference...
It is a big deal but I don't think the majority of users are bothered because they see it as an inherent trait of a computer to lag.
I have an Android phone and an ipad. It's very clear after a little use that the ipad is "snappier" (and animations are smoother etc), but iOS also feels very very limiting by comparison with Android. There are so many little things that Android just does right, that iOS...doesn't.
So which is more important, smoothness or functionality? I suppose it depends on the person and how they use the device... but really, I'd like both... :]
It's very possible that there's a difference, but it simply isn't large enough to be something that even registers for me - when I use my device my attention is not on trivial stuff like that. There are annoyances and things I notice lag, but touch response or menu scrolling just are not amongst them.
I think people here are significantly overestimating how much most people pay attention to these things.
Anyways, it'd be interesting to know if running Android on an iphone showed the same delays.
But in general you're right, those are the components that contribute the large majority touch latency to a device.
Much of their competition treats user experience just like any other consumer electronics company: If it doesn't crash, ship it!
Drawing is one of those things that has felt awful on iOS devices to me.
Compared to what, since, according to TFA they have the smallest touch latency?
Perhaps you haven't tried the right apps. Most drawing apps (including major names, like Autodesk's) have slow-ass drawing code. Heck, some painting apps are even slow on my iMac (Corel Painter, ArtRage).
That's not because of "touch latency" though. It's because of slow draw engines. And I say that, because I've seen apps with very fast responsiveness.
Try Procreate ( http://procreate.si/ ), which uses the fastest engine I've seen (specially coded in OpenGL and 3D-accelerated). And check the artwork created with it by some of the community users (there are 2-3 videos on their site it's AMAZING).
Two other apps I found fast (but not as fast) are: Ideas, by Adobe, and Paper.
Compared to what
Paper and Procreate are excellent apps, but the input lag is very noticeable on my iPad 3; if you move your finger really fast and stop, you can see that it takes a short amount of time, before the drawn line catches your finger.
It wasn't long ago that dead-tree books were preferable to tablets, before Retina was a thing. And you could still argue print books are preferable.
Sometimes, the best Technology can achieve is the bar set by the non-digital world, and until then, it's going to feel grating to pedantic curmudgeons like yours truly. :)
EDIT: A closing thought. The highest bar is always human perception:
(1) The optimal FPS for a videogame is, to my knowledge, 60.
(2) The optimal display resolution for a reading device is, TMK, ~326 PPI (Retina).
That is the goal. Anything lower than that will stick out and annoy people like me. Anything higher is not for the engineers, but the marketing department.
One of the first things you learn if you try to do a simple drawing app on a slow machine (think Commodore 64 or similar early 80's 1-2MHz computer), is that if you try to process every position change, you will lag badly.
First rule of doing a decent paint app, is to decide how large deltas you can accept between each position where you actually draw, and drop events accordingly. Small delta, and you will lag; high deltas and you either need to draw lines or will get "dots" instead of a continuous line, but your lag will be limited to that of the input device. Even an early 80's home computer can give you "lag free" painting this way, at the expense of precision if you do large, very fast movements over the screen.
This is "paint app writing 101". Yet a lesson that seems to have been lost on most people writing paint apps these days, possibly because they've become accustomed to computers fast enough that they're no longer constrained by it.
I don't know about iOS, but I do know from observation that out of 30+ draw/paint apps I've tried on Android while trying to find one I'd actually be happy to use (I did not find any; I'm picky), it is obvious that this is the problem for the vast majority of them for the simple reason that there's a huge spread in observable lag for them, and so even if we assume the fastest of them are limited by input lag, the extent of the lag on the majority of them will then still be down to crappy coding.
(the quality of paint apps for Android is just beyond awful in general; don't know about iOS)
(And, for what is worth, older Wacom tablets were also slow).
Drawing apps can easily end up with significantly higher latency than the baseline if they aren't careful with how they do input smoothing and such. It's really easy to get that wrong and bloat your touch latency.
Turns out that to achieve this 1ms latency system (once you have that, it's simple to add artificial latency) they had an FPGA directly processing touch data from a resistive sensor over a 2 MBps serial (optical) connection, computing the center of mass and directly driving a DLP projection display so that parallax between the surface being touched and the display would be eliminated. Nice rig!
Every time someone criticizes Microsoft, I remember this video, knowing Microsoft's failures aren't for lack of talent.
1ms touch latency would be nice indeed, but I think 5-8ms would work just as well on most devices.
They are definitely way too long for someone to have seriously considered it a good idea on its own.
It drives me completely mental that I get a fade-in transition, just by turning on the lock screen of my iPad.
Performance is about tradeoffs. The stuff measured in the article is response time of foreground apps. Getting the app into the foreground to begin with isn't free.
In typical paging the application's memory is taken from RAM and placed onto a slower storage medium to free up RAM.
In the activity life cycle, Android is just telling the app "you're in RAM, but you're not running" or "you're going to get killed because I need the space, if you want to give me a bit of state information I'll hang on to it in RAM for you".
I don't see how the two are comparable at all, and I don't see how you could have paging without using a secondary storage.
We know this because the transitions are very smoothly-rendered. Which takes processing power; the animations and such would not be smooth if there was a CPU issue they were trying to cover up.
It's an intentional decision. There's plenty of performance under the hood, or they wouldn't be able to afford the extra CPU cycles to draw fancy animations.
That being said, I hope they shorten some of these transitions, as well. In many ways, iOS 7 is faster and more responsive, and so it'd be nice if it were faster in this way, too.
For the first time in years iPhone starts to behave like Windows before turn of annoying settings. And here I can't even turn them off. Jobs would simply not let them be.
I think the other thing that is not very often taken into consideration is how resolution impacts responsiveness. The more pixels the graphics card has to push, the slower the screen to redraw.
Pairing bigger devices with big resolution means that achieving consistently high performance is harder without equal advances in graphics processing.
I didn't notice this until I got my WP phone, but now that I've had that experience, I have trouble going back (note: I switch between iOS,Android,WP(7) every few weeks).
I'm assuming you're giving the ticker syntax, but it almost made me question your post, especially considering you're speaking against the iPhone. Just a knee jerk reaction from a passerby.
The funny thing about you commenting on me "speaking out against the iPhone" is that I just spent 12 weeks building a game for the iPhone . And right now I'm working on a cross platform authentication method using a phone number and the platform I'm testing it out on first is iOS (then Android, then WinMo). I'm actually a mobile-first iOS-first developer that is realistic about the state of the ecosystem. I can't consciously just jump on a bandwagon and say everything is awesome when things aren't.
 - http://xo9.us
2 times faster is already very impressive, no need to exaggerate further (although I guess thats how you get the clicks).
I don't care about those kind of benchmark, because its not really necessary in the daily routine of handling a smartphone.
Can I do some calls? - Fine
Can I sync my calendar and contacts? - Fine
If the reaction/ respond time of the GUI is acceptable and without some breaks, I don't care about 1/10 sec in respond time.
Then it doesn't sound like you need a device like the ones they are testing... For heavy users I can assure you touch latency is a big deal.
> We built simple, optimized apps to flash the full screen white* as quickly as possible in response to a touch. The apps contain minimal logic and use OpenGL/DirectX rendering to make sure the response is as quick as possible. Since these are barebones native apps doing nothing more than filling the screen in response to a touch, this benchmark defines the Minimum App Response Time (MART) a user could experience on a mobile app on each device.
As long as the graph goes up in consistent increments (in this case 10) and shows that all these devices could move to the left (i.e. get quicker than 55) I'd say the graph has done its job.
Touch screens are somewhat unique however in that they track physical movement directly. This means that they do not only have to compete with the latencies in the visual system, but also with the predictions of physical movement that we do. Even though we can percieve visual information only at a 200 ms delay, our predictions of the physical world are compensated for that. Thus, even small latencies are percievable.
I think Microsoft did some research on this and they concluded that even single-millisecond delays in touch screen tracking were noticeable. They even claimed that sub-millisecond delays felt "completely different" and much more real.
Android's input system is in C++ anyway.
For those that bring NDK up, the generated code runs in a separate thread inside Dalvik, and you have the delay of using UNIX pipes for the events.
I'm looking forward to hearing about the new iPhone's unmatched fidelity in reproducing ultraviolet images and ultrasonic sounds.
And how exactly do you tell apart OS lag from touch latency?
A trivial example - have an app with a picture of a snare drum that when tapped will play a sound of such drum. It's well known f the delay beteen physical touch is more than, say, 20ms - then it will sound "not instant", the sound will be perceived by your brain as a separate event; and even 10+ ms will feel delayed to any drummer.
Research showed that people can perceive even quite low latency:
(NOTE: the article incorrectly states this is a device - it is NOT, it's just an experimental setup to measure latency perception, i.e. fake.)
I would expect the whole processing path - touch, bandwidth, CPU, RAM, OS, app, GPU, display - to factor into latency, just as it does for VR (see John Carmack's talk on latency for Oculus Rift).
Interestingly, mouse cursors seem instant to me (below perceptible latency), though it's slightly harder to tell, because the mouse isn't on the screen (and if you put it on the screen, the scaling is way off).
> "The team built a device dubbed Touchscope that can measure response times to a level of accuracy that is plus or minus 4 milliseconds. It then adds the cloud processing response time to calculate the actual delays experienced by users."
No way the cloud is processing anything having to do with touch handling.
Nice to actually have a handle for something as important as this element of a user's enjoyment with using a touchscreen.
And while iPhone wins @ 55ms, i still think that is a very high number for input latency. Would have wanted Sub 20ms.
Per discussions I've had in the past the audio layer in Android is part of the problem. 60-100 ms delay is a lot too, though and that surely is adding to the perceived lack of responsiveness.
Of course this technique can't tell you the hardware latency of a touchscreen or display, but it can measure all of the latency introduced by software, which can be quite significant (and as a software developer, the software latency is the part you can actually influence).
They know why but don't bother to tell us in the article...
114ms is quite perciptible latency -- it even breaks the persistence of vision barrier:
"The human eye and its brain interface, the human visual system, can process 10 to 12 separate images per second, perceiving them individually." (Wikipedia)
For reference, the average game updates the screen every 16ms (60fps) to feel smooth.
Given those specs, responce latency of that level can be quite noticable.
Here's a domain which it totally wrecks for Android: music apps (synths, etc). In audio, a delay of 114ms makes an electronic instrument annoying to play live. Musicians strive to get their audio latency around or below 32ms.
If you have 114ms touch registration latency (from the moment you press something on the screen) and then add the audio processing latency, then it gets very ugly. That means that, however advanced your CPU and however small your audio buffer, you'll always have 114ms of latency minimum.
To put it in perspective, it means you'll be one 1/16th note behind the beat on a 120bpm track.
Latency is the basic reason audio developers avoid Android, and 90% of the cool stuff is for iOS (Moog, Waldorf, Korg, Cubase, etc).
1. in visual terms, it's not negligible even for average human eye (and normally speaking "bad vision" has something to do with focus, not FPS)
2. and it's devestating for input that triggers audio
1) if you want UI visual response to be perceived as instant, you'd like to aim at 100ms or below - and you can't draw a response that fast if your code only gets the input signal 101ms after the actual physical touch.
2) if you want audio cues (say, a click sound when clicking a button; or app that plays drums/piano/whatever), then the noticeable latency is even lower; if you have to approach 100 ms then it will sound disconnected from the actual touch.
3) A common platformer or fighting game running at 60fps has 16ms per frame. If there's a 100ms input latency, then the action (say, jump or block) happens on a game world 6 frames off from what the player saw when doing that action; which tends to be too late. Only pro-players worry about single frames; but any average player is affected by 6 frame difference.
For input devices - keyboards, mice, gamepads, whatever - the acceptable latencies (not good or great, but barely acceptable) are measured at tens of ms, tops. A 50 ms difference is not tiny, it's huge.
Here's the deal. Instagram, Pinterest or SnapChat probably never considered about the time it takes for an iphone generation X to perform. They didn't design for it, they designed what the user needed and wanted.
I would say millisecond snapness isnt perceived by lets say 98% of the users of these systems. Focus on the application. Whats missing in mobile ? Facebook and Twitter are missing the picture. Focus on that guys, you are smart, but put energy on the big problems and not some low level hardware/software layer.
In the end it boils down to user preference, user experience and individual weighing of those. Some people don't care if the image stutters a bit at times, and for other's it's a major annoyance. Thus simplifying this all to "performance doesn't matter, good ideas do" absolutism is nonsense.
Besides some of us care about things like efficiency. I don't want to pay for a 1200 MHz processor when a 800 MHz would be equivalent given that programmer would have thought a bit more about how to implement things and not just ignorantly thought that "prematu... ALL optimization is root of all evil!", as it seems to be a common "wisdom" these days. That's nothing but sloppy culture, laziness and ignorance mixed together with a bit of cost analysis thrown in. User experience matters, and poor responsiveness is one of the most detrimental things when it comes to that in many applications.
“When you’re a carpenter making a beautiful chest of drawers, you’re not going to use a piece of plywood on the back, even though it faces the wall and nobody will ever see it. You’ll know it’s there, so you’re going to use a beautiful piece of wood on the back. For you to sleep well at night, the aesthetic, the quality, has to be carried all the way through.”
As for Instagram, Pinterest or SnapChat: they won the lottery. They were in the right place at the right time, and when that happens, you could design a piece of junk and still experience massive success, a least temporarily, as long as you have the one feature that matters (re: MySpace, MS-DOS).
On Instagram, have you read about its starting and also Pinterest. Instagram had a product about Bourbin or something that was not a widely used app, but did attach to a niche of presumably drinkers. What made Instagram is that they somehow recognized that people on the Bourbin site were really into the pics taken of their hobby. Instagrams next app was a buggy system apparently! However, I recall reading it was that they recognized the uptick by recognizing the users wanted to post pics (with the filter stuff). So here, there was no real quality, just a feature not exposed well in the social market. Pinterest also seemed to recognize that wedding dresses and women gained them traction. In my judgement its this recognition of opportunity and gaps in the social market combined with what you say, the right time and place. Right time and place can also mean partially that there is a need in the market for something thats not well done.