By "resolution" I (loosely) refer to some fraction of the device's screen. For example, at the coarsest level of resolution, could we expect to differentiate (using the front-facing FaceTime HD camera) whether a user was looking at the top vs the bottom half of the screen? (presuming arms-length interaction with the device)

While I provide, in this question, the specific example of iPad Air 2, that is only meant as a concrete starting point. Answers are welcome to discuss other tablet (or even laptop) devices with built-in cameras. The key is to get an idea of resolution of eye tracking that can currently be expected, without the use of more sophisticated (external) eye-tracking technology.

  • quick question how did you calculate the 1.8 degreens angle ? Commented Mar 7, 2017 at 4:14

3 Answers 3


The iPad Air 2's front camera has 1.2MP resolution, or 1280x960 pixels. Let's make some assumptions:

  • The horizontal field of view is 60°
  • Users hold their tablets about 450mm from their eyes
  • Eyeballs are about 24mm in diameter

So, at the distance of a user's eyeball, one pixel covers (450mm * tan(60 / 1280))mm = 0.37mm. Let's see how much an eyeball would need to rotate in order for the pupil to move that much.

On a 24mm eyeball, 0.37mm of movement corresponds to 1.8° of rotation. Back at the tablet, this amount of motion corresponds to (450mm * tan(1.8°))mm = 14mm.

So, if everything were perfect, a one-pixel movement of the user's pupil as seen by the front-facing camera would correspond to a shift in the user's gaze of 14mm across the tablet screen.

BUT! everything is NOT perfect. People's hands shake, people's eyes jiggle, cameras are noisy. Personally, I'd guess at about a tenth the precision when all is said and done, which would correspond to about your "top versus bottom of screen" example.

And of course, someone has to write the appropriate software for it all to work.

  • Thanks, @Daniel. That evaluation is very useful. I took a different approach, by recording some video and examining it. Using your math, and assuming a screen width of 140mm, we could predict being able to recognise screen gaze position within roughly 10% of the screen's width.
    – David
    Commented Jul 12, 2015 at 10:03

I did a very simplistic test of this. I did not implement a software solution. Rather, I simply captured a video of myself gazing, for a few seconds at a time, at each corner of the screen of an iPad 2. I cropped the video to my eyes only, and examined it manually. Using the pupil and "screen glint", I could very easily determine which corner I had been gazing at during any given frame of the video.

"screen glint" refers to the shiny reflection of a bright computer screen on the cornea and/or pupil of the eye. It shows up quite distinctly as a bright rectangle.

In the case of this experiment, the screen glint was approximately a quarter the size of my pupil. (To put it another way, the screen glint width was half my pupil diameter.) I did not check how many pixels wide the screen glint, or my pupil, was. Such a measure would go towards determining just how accurately this might be used. (i.e. by determine where the "centre" of the pupil is, within the screen glint.)

I expect that determining the quadrant of gaze would be less accurate with gaze points nearer to the centre of the screen. Nevertheless, it seems that the in-built front camera of the iPad 2 could be of some use in tracking what screen quadrant a user was looking at while using an application.

Thus, it would likely not work well for determining what features of a portrait that a user was examining, but perhaps what view-panes within an application a user was paying attention to.


You can try GazeRecorder (WebCam Eye Tracking for usability testing) This software automatically records using ordinary webcams, where people look and what they engage with on their computer screens. https://sourceforge.net/projects/gazerecorder/

WebCam EyeTracker Accurycy test result: http://www.slideshare.net/szymondeja3/raport-gaze-flow-vs-smi26092013en-1

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.