Вы находитесь на странице: 1из 39

Software Evaluation of Reading

Patterns using Eye Tracking


Progress Presentation by:
Paras Vora

Team 27
Paras Vora
Maeve Woeltje
David Young
Client & Mentor : Dr. Dennis Barbour

Need
Reading Performance Feedback
Give readers an idea of their reading thoroughness
Accessible at home to amateur users

Scope
Evaluate reading patterns
Eye tracking software

Provide feedback
Helpful for the user

Design Specifications
Consumer Base
Ages 5+
No prior training necessary

Total Parts Cost


Maximum $200, including hardware and software

Ease of Use
Intuitive GUI and menu system
System Usability Score, and task completion rate

Comfort
Display backgrounds that reduce eye fatigue and strain

Design Specifications (cont.)


Functionality
Compatible with .txt input or manual text input
Supports displays up to 24, with resolutions up to 1440p
Full Screen only.

Calibration
User-intuitive 12-point, in under 30 seconds

Data Storage Requirements


Session data size under 5MB
Total application size under 500MB

Evaluated Design
Components
Software Engine
GUI
Input

Text Layout
Database/Storage
Output

Final
Design

APPLICATION

SDK

Open API
NETWORK
EyeTribe SERVER

HW

TRACKER

Evaluated Design
Components
Software Engine
GUI
Input

Text Layout
Database/Storage
Output

Final
Design

Graphical User Interface


Framework Options

Swing
SWT
JavaFX
GroovyFX
AngularJS
JSF

Graphical User Interface


Framework Options

Swing
SWT
JavaFX
GroovyFX
AngularJS
JSF

Swing
Pros

Familiarity
Support/Documentation
Model-View-Controller (MVC) approach
Supported in Eclipse (IDE)
Comes with Java

Cons
Slow on old devices
No longer supported

SWT
Pros
Used in large, well documented, projects (Eclipse)
Native OS components, look-and-feel
Better performance in Windows

Cons
Not standard, requiring additional packages
Poor performance on OS X
No look-and-feel customizability

JavaFX
Pros

Matches look/feel of each OS


Data picker widget
MVC approach
HTML/CSS/JS rendering engine
Visual editor (Scene Builder)
Replaces Swing, long term support
Render Swing and AWT within a JFXFrame

Cons
Learning curve, unfamiliarity
Less documentation

Decision: JavaFX

Evaluated Design
Components
Software Engine
GUI
Input

Text Layout
Database/Storage
Output

Final
Design

Inputs
How do we process user input?
The Eye Tribe (TET) SDK
Alternatives
JSON
Java TET API

Decision: TET API


public void onGazeUpdate(final GazeData
GAZE_DATA) {
gazeData = GAZE_DATA;
xBuffer.remove();
yBuffer.remove();
xBuffer.addLast(gazeData.smoothedCoordinates.x);
yBuffer.addLast(gazeData.smoothedCoordinates.y);
xAvg = xBuffer.stream().mapToDouble((x) ->
x).average();
yAvg = yBuffer.stream().mapToDouble((y) ->
y).average();
}

Evaluated Design
Components
Software Engine
GUI
Input

Text Layout
Database/Storage
Output

Final
Design

Text Layout
Hit Detection
Mapping gaze to text
Options
Mono-spaced grid
Oracle <TextLayout> API, or equivalent

Mono-spaced grid
This is an example of mono-spaced font.

Pros
Easy implementation
Simple comparisons

Cons
Inflexible
Larger coding requirements
No predefined methods for hit detection, etc.

Mono-spaced font hard to read

<TextLayout> API
Pros

Set of classes within Java


Can do shaping, ordering, and text measuring/position
Documentation from Oracle
Hit detection support
Rich text formatting

Cons
Potential conflicts with Graphics2D API
Learning curve

Decision: <TextLayout> API

Evaluated Design
Components
Software Engine
GUI
Input

Text Layout
Database/Storage
Output

Final
Design

Database/Storage
Database Engine Options

HSQLDB
H2
JavaDB
Voldemort
MySQL

Database/Storage
Database Engine Options

HSQLDB
H2
JavaDB
Voldemort
Derby

HSQLDB
Pros

Multi-threaded performance
Stable
SQL support
Large userbase, support

Cons
Slows down with increasing data
No Hash or Full-text indexing

H2
Pros
Small, less than 1MB
In-memory and disk-based
Performance vs size

Full-text indexing
Easy to get started

Cons
Newer, less outside support
Slows down with increasing data

JavaDB
Pros
Made by Oracle, integrated with Java
Fully supports SQL APIs
TCP/IP support (Internet)

Cons
Slow
No Hash or Full-text indexing

Decision: H2
Class.forName(org.h2.Driver);
Connection.conn = DriverManager.
getConnection(jdbc:h2:~/test);
conn.close();

Evaluated Design
Components
Software Engine
GUI
Input

Text Layout
Database/Storage
Output

Final
Design

Review:
Eye Movements in Reading
Fixations
Absorbing information
225-250ms

Saccades
Movement between
points
25-60ms

Image from: Cusimano, Corey. "Eye-Tracking While Reading." Kertz Lab. Brown University, 08 June 2012. Web.
18 Sept. 2014. <https://wiki.brown.edu/confluence/display/kertzlab/Eye-Tracking+While+Reading>.

Outputs
Based on needs and interests of the consumer
Reading pattern analysis

Decisions:

Visual of gaze duration Heat Map


Speed Fixations/unit time
Skimmed/skipped sections fixations within interest area
Re-reading, or Re-referencing regression length
Extended focus fixation duration, # of fixations
Distraction gaze drifting off screen

Discarded Output Options

Total number of saccades


Average saccade duration
Average fixation duration
Fraction of non-forward saccades

Outputs Visual Representation


Show the user their eye movements
Alternatives:
Heat maps
Bar chart
Video

Decision Heat Map

Outputs - Speed
Amount of time it takes to read a block of text
Metric alternatives
Use letters, words, fixations/unit time, or saccades/unit
time

Decision: fixations per unit time


Time?
Alternatives: Real time, first word to last word, or total
time of fixations and saccades.
Real time
Simplest, and still accurate

Design Schedule
Date

Task

9/26

Become familiar with Java API

10/3

Outline software architecture; Define data output feedback

10/17 Determine form of text mapping


10/27 Create basic software GUI, Create hit confirmation test
10/27 Progress Presentation
10/31 Code methods for creating feedback
11/15 Create text samples for testing
11/23 Test device with usage scenarios
12/3

Final Report

12/4

Create Demo Mode for Presentation

Team responsibilities
Coding domain which team member will
focus on
Paras Vora

Graphical User Interface accommodating


all features

Maeve Woeltje Implementation of text samples to test


software, create feedback test
David Young

Data transfer from eye-tracking hardware


to Java

Thank You!

Вам также может понравиться