This is the free, all-platforms, semi-automatic Freiburg Vision Test, designed to assess acuity and contrast sensitivity using optotypes or gratings. Please observe the checklist; it’s not certified for medical use.   [→Other vision test apps]

FrACT10:   On-line↓   or   →alone

All platforms, including mobile; tablets are fine, smartphones too small, even if rotated. Try out above.
If you use FrACT₁₀ for studies, select the latest frozen version. Best install as Web App.
Frozen” versions: 2021-06 | 2021-12 | 2022-03 | 2023-11 | 2024-04 | 2024-07 | 2024-09

What’s new?
2024-10-111.5Vernier “full” export format: appropriate format (arcsec not LogMAR); extend postMessages syntax
2024-09-161.4Add optional “ISI” (interstimulus interval); randomization of eccentXInDeg (request); helper fields “best/worst possible acuity”; round out full control of FrACT from supervising software; redesign “Line(s) of optotype” mode; drop superfluous Cappuccino files; add more presets
2024-06-021.3Control via HTML window.postMessage() for Version, setSettings & Acuity/Contrast test runs. An example: This allows to start the automatic demo run below.
2024-05-191.2Feedback sounds selectable; many internal changes improving documentation, integration, simplification and extensibility; new Cappuccino framework (1.3.1)
2024-03-281.1Dithering for optotype contrast testing
2024-03-09 → detailed re-analysis of FrACT’s test-retest variability
2024-02-141.0.6Improve crowding, line-by-line etc.; freeze for BCM
2023-08-311.0.5Improve gratings (color, mask, export etc.); add stroke-width setting;
line-by-line: crowding + headcount, update presets
2023-07-301.0.4Gratings: possible to sweep contrast (to find threshold), or spatial frequency
2023-07-011.0.3Add “embed in noise” (Settings>Misc) – for research
2023-06-261.0.2Add color for acuity optotypes (Settings>Acuity) – for research
2023-05-051.0.1FrACT₁₀ as Web App – now easy to install for offline use
2023-04-30 Contrast Gratings with error diffusion
2023-02-07 Add Autorun – good for demos & testing
2022-05-24 Add PRESETS – perfect for specific routine settings
2022-01-271.0“Line-by-line” mode – user request for optometric clinic
2021-04-26 Add measure of dispersion for acuity: ½CI95
2020-06-08 Add low contrast acuity; optotype contrast in Weber (not Michelson) units
  2020-05-23  0.9Auckland Optotypes (TAO), Vernier acuity & Tooltips
What is “FrACT” / “FrACT₁₀”?

“FrACT” is a semi-automatic visual test battery available as a free computer program. It employs psychometric methods combined with anti-aliasing and dithering to provide self-paced assessment of visual acuity (Bach 1996), contrast sensitivity (with optotypes or gratings) and Vernier acuity. FrACT complies with the international norm for acuity testing (EN ISO 8596) and is one of the “Recommended Methodolog(ies) for Assessment of Visual Acuity” by the Harmonization of Outcomes and Vision Endpoints in Vision Restoration Trials Taskforce. It is used world-wide in vision labs, by optometrists, ophthalmologists, and in clinical trials (→Who used FrACT). It has been validated in independent laboratories (→Descriptions & Validations).

After rewriting the code to serve all platforms, FrACT was renamed to “FrACT₁₀”; they are identical in test behaviour. FrACT₁₀’s code is →open source (→commit history).

Key characteristics

Where and why to use?

Many shades of FrACT
Test-retest variability = Precision

Test-retest variability = precision can be effectively quantified with the 95%-confidence interval (CI95) of the the Bland-Altman Limits of Agreement (LoA). For example, a CI95 of ±0.2 LogMAR indicates that in 95% of the cases, results will fall within a ±2 lines range. FrACT’s variability has been documented across various studies, as outlined below. My conclusion: The 95% confidence interval of FrACT’s LoA is approximately ±0.2 LogMAR in patients/participants with acuities at hand movement or better.

Sourcenrange
 [LogMAR] 
 trials  95% LoA
 [LogMAR] 
Bach (2024)901.22 to -0.5918±0.171
    ""24±0.168
    ""30±0.158
    ""36±0.141
Freundlieb, Kramer, Herbik, Bach, Hoffmann (2020)10≤ 0.018±0.15
Reiniger, Lobecke, Sabesan, Bach, …, Harmening (2019) 31–0.4 to –1.124±0.18
Bach, Schäfer (2016)861.04 to –0.37 18±0.22
    ""24±0.19
Hertenstein et al. 2016400.33 to –0.28 18±0.20
Bartholomew, Lad, Cao, Bach, Cirulli (2016)
 » due to ceiling effects LoA here is underestimated
 734 1.6 to –0.224±0.12
Bach (2007)740.65 to –0.3718±0.19
Lange, Feltgen, Junker, Schulze-Bonsel, Bach (2009), CF152.3 to 1.530±0.15
    "  , category HM152.5 to 2.030±0.20
Schulze-Bonsel, Feltgen, Burau, Hansen, Bach (2006), CF61.9 to 1.830±0.15
    "  , category HM112.4 to 2.030±0.17

CF: counting fingers, HM: hand movement (→how to derive quantitive values for these).
The values for the 2006, 2007, 2009 & 2016 studies are based on re-analysis of the original data sets because formerly I sometimes used decimal acuity and idiosyncratic measures of variability, obnoxious to convert [pertinent publication in preparation].

Statistical Intricacies

  1. To evaluate test-retest variability, a common approach involves calculating a correlation (e.g., ICC). However, this method is inappropriate because correlations are range-normalized. Simply adding one very poor acuity and one very good acuity will automatically yield a misleadingly high correlation coefficient. Therefore, I employ Bland-Altman’s (1986) limits of agreement (LoA) for a more accurate assessment.
  2. An alternate measure to quantify test-retest variability is the “coefficient of variability” CoR, which is √2·LoA (Bland-Altman 1996) when there is no bias. In vision assessment, most of the time I find a tiny bias, probably due to learning, since acuity for the second run is a wee bit better. Since it’s not significant, I average the upper and lower LoAs, arriving at the single number for LoA as given above. When CoR is preferred, multiply by √2.
What does it cost?  Free?  Where can I get it?

Cost, in one word: Nothing.

Please remember to cite it when used in scientific settings. As this is free software, there is no warranty for anything. Your feedback is warmly welcomed. Should you desire to contribute: Donations are gladly accepted via Buy Me a Coffee.

So where can I get it?

FrACT₁₀: on-line (as running embedded above) or as Web App. Since the Web App can be installed as app on all platforms, the former downloads for MacOS & Windows are deprecated.

What equipment do I need?

For remote input see the response box below in Usage Details. Please observe the Checklist for reliable results.

Install as Web App on all platforms for off-line use

FrACT₁₀ is a Web App (details: blog) that can be installed for off-line use like so: First open it in its own window/tab (or open a “frozen” version) and look for the “3 dot” or sandwich menu:

Chrome/Brave · MacOSChrome/Brave · WindowsEdge · Windows/MacOS
Web App macOS ChromewebApp macOS ChromewebApp macOS Chrome
3 dots ︙ >Save and share>Install
or whatever… changes all the time
3 dots ︙ > Install 3 dots ··· > Apps

Who uses FrACT?

Over 1600 papers cite FrACT, and ≈40% are actively using it. Usage and citations have been increasing for over two decades, as shown in the adjoining figure.

Examples of FrACT in clinical trials: Zrenner et al. 2010, Stingl et al. 2013, Stingl et al. 2021, Chang et al. 2022, Palanker et al. 2022, Nanoscope’s RESTORE trial (→early results). Recommended in this review: Schmetterer et al. 2023.

Where can I learn more?
Usage Details

If you ran a previous version, all selections in “Settings” may automatically be defaulted in order to update internal structures (depends on the exact versions).

How to calibrate?

Very easy: Enter the width of the calibration bar (easiest with plastic card) and the observation distance in the “Settings” interface. Be sure to have enough distance from the screen, so pixel resolution does not limit acuity. Also consider entries in the Settings interface and set them appropriately; the defaults can not be optimal for every situation. The Checklist is a must-read, in the FrACT₁₀ Manual or classic FrACT3.x Manual [PDF] all settings are explained, probably in more detail than you wished…

For the Contrast Test, you also need to go to Settings>Gamma in FrACT₁₀ or Settings>Luminance Linearisation in classic FrACT. There you can interactively linearise the luminance transfer function (“gamma correction”) before testing. But see below for a cautionary note on the difficulties of contrast testing. Or use a screen calibrator (see What is special about the Contrast Test?).

All selections in Settings are automatically saved.

Starting the test

Apart from using the obvious buttons a test run can also conveniently be started from the numerical keypad (digit “5”). Enter the position of the appearing optotypes orientation via the numerical digit keys, or use the alternatives. The digit key “5”, pressed twice, aborts an ongoing test run (and inhibits display of the premature result).

Response box

Working with patients you may want to enter results yourself. In lengthy vision experiments, participants are used to enter responses themselves.

The two examples here are for Landolt Cs with their 8/4 alternatives as optotypes. For Sloan letters, any standard keyboard is fine.

image of keypad 1
For direct response entry by the observers, these keypads are useful. They come in various versions. Most have only a short cable, for the standard 4 m distance you will want to add a USB extension cable.
image of keypad 2
This one sports fancy labels.

Number of trials?

4 or 8 gap positions?

Sloan Letters have 10 alternatives, Tumbling E has 4 possible orientations, for Landolt C there are 4 or 8. Depending on your application, you may wish to use only the 4 primary Landolt gap positions or to supplement it with the four oblique directions; FrACT allows both. Briefly: 4 directions are less easily confused, but guessing probability is higher, making more trials necessary; 8 positions allow more rapid determination of visual acuity(less trials) as the guessing probability is lower. Final outcome should be identical, but the number of runs must be adequately chosen; see previous item.

Results Export

The test result is presented on the screen. Additionally, the result can be transferred to the clipboard (in a simple, final-result-only or full-history fashion); so just switching to a spreadsheet program running in the background allows pasting and archiving the result. More export options: FrACT₁₀ Manual>Exporting.

What is special about the Contrast Test?

Experience taught me that contrast testing is technically more demanding than acuity testing.

Mirroring, or more generally “Display transformation”

In many environments the standard 4 m distance may be difficult to achieve. In such conditions, high-quality front surface mirrors can extend the effective viewing distance. Their image-flip can be compensated for by Settings>Display transformation.

Shortcuts

I am lazy and prefer to start actions without mousing, thus I added a number of shortcuts, see also FrACT₁₀ Manual or classic FrACT3.x Manual [PDF]. Casing is irrelevant for shortcuts.

 Shortcuts “classic” FrACT
KeyAction
5start “Which test on five”
astart Acuity
lstart Acuity Letters
cstart Contrast
vstart Vernier Acuity
estart Acuity Tumbling E
baBout
hHelp
uSettings
q or xQuit = eXit
55 or <esc>abort running test
 Shortcuts FrACT₁₀
KeyAction
LRun Acuity · Sloan Letters
CRun Acuity · Landolt C
ERun Acuity · Tumbling E
ARun Acuity · Auckland Optotypes (TAO)
VRun Hyperacuity · Vernier lines
1Run Contrast threshold · Sloan Letters
2Run Contrast threshold · Lanolt Cs
3Run Contrast threshold · Tumbling Es
GRun Gratings
SSettings
FFullscreen toggle
5Run as set in “Which test on five”
55Abort current run
HHelp
Q, X or -Quit = eXit

Avoiding more mousing: Use the tab key (⇥) to move between fields in Settings (shift-tab for backwards). The blue 🆗 button is activated by the return key.

On clinical trials

Clinical trials demand more rigor than what’s mentioned in the Checklist. Such a trial will be professionally directed, and I’ve had the pleasure to collaborate with a number of excellent clinical scientists, statisticians etc. So many of my suggestions will state the obvious; they here appear in random order and are not meant to be comprehensive:

Long term support

Main motto: Move with adequate speed and don’t break things.

FrACT began 39 years ago and is available on the Internet in one form or another for 29 years now. I strive to cater for decade-long support. “Classic” FrACT was last (and finally) updated in 2020, and will continue to work in the two major operating systems as it’s a 64-bit app.

FrACT₁₀ was initially web-only, then also available as app, based on Electron. When you have one of these apps, they will continue to work while not gaining new features. These apps were replaced in 2023 by a platform-agnostic Web App (details: blog) – this makes FrACT₁₀ available on all platforms and also allows for continuous updates, if so wished.

To make yourself completely independent from me (advised), install all files at an HTTP server of your own choosing, like so:
Got to https://michaelbach.de/fract/FrACT10/FrACT/ (or a frozen version of your choosing). Download the entire contents of that directory (≈15 MB; e.g., with a “site sucker”) to an appropriate location on your HTTP server. Then open the index.html therein and lo, FrACT₁₀ runs from your server!

Descriptions & Validations
How do I cite it?

Glad you asked! If you used FrACT for your research, please cite it.

Also mention the version plus release date (top left). The briefest way to refer to the present page (its URL):
<https://michaelbach.de/fract/>

General Pertinent Sources
Coding Best Practices (GxP)

While FrACT initially began as a “hobby project” (see History below), its widespread adoption made more rigorous quality control necessary.

As is well known, any interesting computer program cannot be shown to be entirely correct, and usually isn’t. Thus the ongoing validation by independent and critical users is most important for the verification of FrACT. Thank you! All pertinent comments welcome. Also see Bugs? below.

A brief history of FrACT, “classic” and the current “FrACT₁₀”
classic FrACT

This image of “classic FrACT” shows the app’s main screen when running the downloaded stand-alone version.

It will continue to work for many years, but going forward only FrACT₁₀ will be developed further.

Do not use this for new projects.

In 1985 I programmed the first version, using a custom-built Z80 CP/M computer with a graphics board based on the NEC 7220 graphics chip, using serious digital differential algorithms (Newman & Sproull, 1979) in assembly language just to draw the Landolt C. It became more than a curio after porting to Pascal and incorporation of the Best PEST threshold algorithm (Lieberman & Pentland, 1982) [nowadays one would call this Bayes-based] and was routinely employed in my lab to screen subjects’ acuities before experiments.

The port to the Macintosh in 1992, translating from Pascal to C++, facilitated the use of anti-aliasing (Bach, 1997), which immediately made the measurements more precise (by allowing intermediate pixel values) and enabled a higher acuity limit at practical distances (a few meters).

In 1996 the first Internet version was made available after adding gamma correction for better quantitative definition. The rich feedback spurred many bug fixes and feature expansions, paving the way from a ‘hobby’ to a professional application, now validated in independent laboratories.

The pressure of requests finally motivated me in 2002 to port the program to an operating system-agnostic environment, for which I chose ActionScript/Flash (formerly Macromedia, acquired by Adobe). Consequently the program then ran in near identical fashion on the Macintosh, Linux and Windows operating systems for nearly two decades.

Anticipating the demise of Flash, in 2020 I ported the program to a JavaScript-based framework (Cappuccino); thus it runs on all platforms, including tablets. In 2021, after FrACT₁₀ had achieved near parity with the last “classic” FrACT3.10.5, the code for FrACT₁₀ was open sourced. In 2022 the browser-only FrACT₁₀ was complemented by apps for MacOS & Windows, based on Electron, which can package JavaScript into stand-alone applications. In 2023 the install hassles of apps were circumvented by packaging FrACT₁₀ as a Web App on all platforms. In 2024, I implemented HTML messages to control FrACT₁₀ and read/set its Settings. This facilitates embedding FrACT₁₀ into larger systems.

Version history of classic FrACT

2020-04-05 3.10.5· Vernier: contrast now adjustable, higher max possible values,
better shape parameterisation (for MBH & JR)
· reward pictures also for Letter and Vernier acuity
· no more “contrast screening”
· masking now works again (thanks, DH)
· corrected “VA Snellen Letters” to “VA Sloan Letters” thanks, KW)
· [internal: ‘var’ → ‘const’ where possible]
2019-05-103.10.2· added “bonusEmoji” [Settings>reward pictures (top right). Recommended]
·block-randomiser, now fully ISO/DIN compatible for oblique directions
· added ETDRS to crowding, crowding choices also now work for Letters
· stimulus sequence, all VAs: 0.1 / 0.2 / 0.4 now also 0.8, same ×2 for contrast
·added ceiling/floor detection for acuities: rangeOK, atFloor, atCeiling
· added field for possible range limit in 1st results line
· added “secondsPresentation” to results export
· added cpd info to contrast grating results
· added contrast info to acuity results
· removed feedback info from results (no longer necessary)
· added header line for full history in results
· Vernier ceiling: 1000 → 3000 arcmin (request by MBH)
· fixed occasional Øsaving in luminance linearisation (thanks, SPH)
· partial fix of crashes in FrameCalCheck after any test (thanks, OKolbe)
2018-02-143.9.9a· button Settings>Kg. → to ESU (Einschulungsuntersuchung)
· now ignoring the modifiers: command, control, shift, tab
· for ContrastLandolt choice of fixed pedestal luminance (for SPH)
· Spezial Aalen: fester Visus (deactivated in standard edition)
· fixed: in Contrast Grating, the #of choices was always 4 (thanks, SJAnderson)
· CHANGE: inappropriate keys now interpreted as incorrect response
· fixed regression in persistent history (3.9.8→3.9.9)
· moved “Kindergarten” to a button in Settings, pertinent code → Prefs
· added “FrACT3_lastTrialResult.sol” (for Leipzig collab.)
· displayTransform: works with contrast-C, (2) & letter “S”
2016-10-273.9.8· trialInfoFontSize: default→9, kindergarten→24,
· Quit/eXit via “Q” or “X”
· more selections for spatial frequeny (on request by Zeiss)
· more crowding options
· Vernier: contrast can be inverted, added type (3-line etc.) & scale (for low vision)
· added sounds for stimulus on/off
· shape corrections for Sloan letters K and S (error in Pelli’s Sloan font)
· rewrote the squarewave grating for less aliasing
2015-06-013.9.3· “z” entry could be interpreted incorrectly in Letter Acuity depending on locale (was a QWERTZ vs. QWERTY problem)
2015-04-243.9.2· more options for crowding
· added logCS(Weber) to optotype contrast results
· improved color picker behaviour (minor bugfix)
2015-01-283.9.1· corrected incomplete random assignment for letters
· added one more option to crowding ( now first is better names as “flanking rings”)
· corrected missing result info on normal trial exit (a regression in 3.9)
2014-11-243.9· added optional incomplete runs (→modified format of export2clipboard)
· VA tracking now works (no longer using Pest, thanks Ross!)
· added kVersionPraeventiometer
· added “Kindergarten” screening preset
2014-04-153.8.2· harmonised choices in “Which test on 5”
· systematic treatment of exentric presentation across tests
· maxVAdecimal now takes the thresholdtype setting into account (a little higher if not DIN)
2013-11-293.8.1· extended & generalised visual feedback situation
· feedback optotype red with reduced contrast
· sequence: first auditory, then the visual feedback
· updated gamma value now stored without needing to click a button (thanks, Nia)
· possible to have no result displayed at all (to avoid subject influencing)
· tried to really hide mouse cursor (Flash player bug)
· largest Landolt C little smaller, margin one full gap until screen edge (thanks, Mark)
2013-06-183.8.0e· renamed “FrACT3_preferences_history.sol” to “FrACT3_preferences_trialHistory.sol”, same for the class
· changed type of “precision” in the rStrN* class to int
· “whichTestOn5” now defaults to acuity in the internal case construct
· removed the (by now) obsolete “T” option
2013-03-273.8.0d· removed hi-res timestamp from results, increased displayed precision of results, added distance to results, units for Landolt-C contrast in Weber
· added 1500 ms background mask (for Ralf Kredel)
· default number of trials reduced to 18 (8 choices) and 24 (4 choices) based on recent study
2012-12-073.8.0· added grating acuity (useful only for low vision!)
· display transform now also works with tumbling E and with Sloan letters (thanks to Paul Artes)
· harmonized terminology across tests;
· Vernier clipboard results now in arcsecs; ISO date form
2012-06-193.7.4c· improved color bit stealing & added to GUI
· added simplified bit-stealing (Tyler1997SpatVis)
· introduced “dir2”-pref to switch between hor/ver which is, in principle, more versatile
· increased the z-mode callback to 50 (for Liz)
· added tracking mode for contrast
· added testType to the persistent history
· grating: added some Gaussian windowing and made patch-diameter a user-defined setting.
2011-10-273.7.1b• added grating test as requested by Jens
• added timestamps (milliseconds since 1970) to the full history
• [3.7.m special version for Paik with long Verniers (40x longer)]
2011-04-293.7lpreview, work in progress
• added display transformations: mirroring vertically and 180°
• delt with blocked information storing (due to new Adobe settings)
• new flash player module (10.2 with 3.7l)
• added “Contrast screening”
– calibration accessible via shift key, changed sequence logic, now respects the number of orientations (4/8)
• corrected threshold for “red condition” acuity warning in Settings
• added visual feedback (growing optotype)
• rearranged value/label placement on the Settings screen, main screen buttons, response key graphics
• removed display size from key settings (caused misunderstanding)
• changed default contrast-dia 30→50 arcmin, max 300→999
• internal class rearranging (Landolt C→Optotypes)
• various minor improvements
• added face files
2010-09-013.6.3• corrected Michelson→Weber contrast calculation: the previous Weber value had been c·W%-times too high (e.g. 1.01% instead of 1.0%, 11% instead of 10%, etc.). Thanks to Prof. von Handorff and his students for spotting this.
• This is the last version that runs on Mac OS/PowerPC.
2010-07-293.6.2• added tumbling E
• added optional on-line trial info
• added persistent history (copied to clipboard with “z”)
• modernized writing to the clipboard
• centered parameter-input in the Settings frame
• solved problem of not being able to enter “5” into the subjectID field
2010-03-213.6beta• Quit button now labelled “Exit” in Windows
• added TCP/IP based results transmission
• deleted the flawed and effectless manipulation of presented direction depending on response correctness
• added face recognition paradigm (experimental)
• improved Alert class from <fatal-exception.co.uk/blog/>
• for FrACT letters the history is now correctly exported, with the letters. Checked Landolt C and Sloan C size, they are identical, as should be.
2009-11-113.5.5Quite a number of tiny improvements:
• added screen dimension to main screen info
• added “force Snellen denominator to 20 ft” on request
• added option for colour Landolt Cs on request
• set uncalibrated values bold & red in the Settings screen to make them more obvious
• set focus to stage (now it responds to keyboard shortcuts after returning from Settings etc.)
• now possible to start with numkey-5 irrespective of numlock setting
2009-09-163.5.4made the calibration bar blue; increased PEST-grain from 500 to 5000; added contrast with Weber definition; improved manual
2009-08-203.5.3• fixed background glitch, a regression from the new contrast polarity setting
• rearranged the setup a little around the calibration bar
2009-07-193.5.2• added option to set contrast polarity
• fixed silly error (fixation target in contrast testing staying on) introduced recently
• added option not to go full screen (this can help with multiple screen setups)
2009-05-273.5• fixed errors in the calibration check GUI resulting from the new mask code
• renamed “Preferences” into “Setup”, put key settings on main screen
[all thanks to Daphne McCulloch’s thoughtful suggestions]
2009-04-213.4.3• Improved coding around the sound channels (fixed the ‘hang’), cleaned up the Pest code (no performance change, just more elegant :) )
• Added detection of sound capabilities and disabled sound settings when appropriate (does not seem to work correctly)
• added a blank (or grey for contrast) mask after the response key. Option in Prefs. Currently fixed at 200 ms.
• Keypad now works without numlock
• Maximal distance increased (9999 cm instead of 999 cm),
• Vernier size now scales with distance (as it should have): 0.5° total height, 0.5 arcmins bar sigma, 0.2 arcmins gap height
• separate timeouts for showing the optotype (down to 0.1 s) and for responding to it
• and further trivia
2008-12-083.3timeout > 30 seconds now possible (current maximum: 999 s); improved Flash version display; corrected a missing help button
2008-11-163.2ported to Flash CS4, added calibration alert
2008-09-103.1.3fixed a capitalisation issue in a sound resource
now ignoring letter capitalisation in shortcuts
2008-09-103.1.2added optional Sloan letters . Range-checked timeout-value (reported by Frank Schmidtborn, more fields need to be checked)
2008-06-203.1All numerical preferences now range-checked
corrected the logic in the response key evaluation (didn’t stop after first match). Added acuity based on Sloan letters. Rewrote response code to use key-value pairs.
2008-05-303.0.4“auditory feedback when done” now preserved, made sound resources more generic, improved internal debugging
2008-05-063.0.3Corrected time-out (error diagnosed by Frank Schmidtborn), added a positional jitter to vernier test (as suggested by Wolf Harmening)
2008-04-263.0.2Complete re-write of FrACT, now called FrACT3. Reason for re-write was that I wanted to improve the contrast dithering. This entailed updating to the (totally underwhelming) Adobe’s Flash CS3 development system. This required changes in nearly every line of code. A major chore, which markedly improved the program internally, while not showing the changes externally. There is also a new icon, thanks to Inga.
A comparison in 54 eyes found that acuity results differed between FrACT2 and FrACT3 by ≈0.01 LogMAR, thus below noise limit. Contrast testing is improved, the vernier test is being evaluated.
2007-12-242.3fixed a bug of incorrectly formatted Snellen fractions under certain rare conditions
2007-11-192.2re-enabled the “bonus trial” option for the contrast & Vernier test, improved FrACT documentation
2007-10-302.1improved contrast dither for oblique orientations. Thanks to Hendrik Jungnickel at the Ammersee meeting!
2007-07-252.0.5• added 2 new sounds: (1) run done, and (2) incorrect response. Now I prefer the purely auditory feedback to the visual one. Give it a try!
• switch to Flash CS 3 with only few nasty side effects
• internal changes to the PEST procedure: code “beautification” without changes in the basic logic
2007-06-022.0.3• added a “which test on pressing ‘5’” option, changed contrast-Ø default to 30’
• finally found how to abort using <esc>
2007-05-23202a• There was a problem with the final contrast value in the “export to clipboard” record (thanks to Hendrik Jungnickel!)
• Added sanity check for acuity formats. If all are switched off, decimal is switched on
2007-04-112.0Contrast now employs dithering to achieve normal thresholds (currently using a 2×2 dithermatrix, increasing luminance resolution by a factor of 4).
Added target cross for Contrast. Gamma adjustment via cursor keys, reference lines now use 0.5±0.3 luminance, thus avoiding the extremes, better for LCDs.
2007-01-061.10negative optotype contrast now works again (had been lost when making the program more robust with respect to non-sensible preference values, probably back around version 1.2)
2006-11-301.9the smallest gap size had been reduced to 0.5 pixel. Tests now showed that this does not result in reliable optotype quality, and has been reset to 1.0
2006-11-151.8a• Extended warning when the highest possible VA is below 2.0
• Vernier result now honors the preferred decimal point character
• Rewrite of the contrast routines (help from Hendrik Jungnickel gratefully acknowledged): Correct setting of contrast and readback honoring gamma correction, back luminance clamped to 50%; “results2clipboard” now works with contrast;
• contrast now also allows a position shift, added by request
2006-10-011.6a• fixed decimal point internationalization, fixed tab sequence in Preferences
• “Bonus trials” now have the setting {never | every 6th trial | always}, added by request. This allows to create a separate easy training version.
2006-08-091.5a• added Vernier measurement (first attempt, feedback welcome)
• fixed error that had based the 4afc psychometric function on the 8afc guessing rate
• increased the default trial setting (now at 24 for 8 alternatives)
The documentation does not yet reflect the Vernier addition – but it’s rather obvious to operate, methinks.
2006-04-281.3• allowed multiple combination of result formats (decimal, LogMAR, Snellen fractions),
• choose better ranges for rounding of decimal VA,
• switched off the distance information in the result string (anyone needs this?)
2005-11-221.1.3added “frame” (square + circular) to crowding options
2005-11-211.1.2in “results2clipboard” trial number starts with 1, not 0; added “maxAcuity” in Prefs, framePrefs & Acuity
2005-10-251.1added crowding flankers (on request of Bruce Evans)
2005-10-101.0.9switched to Flash 8, some slight changes in the preferences dialog (now a combobox for decimal point)
2005-08-061.0.8• added “results2clipboard” (see Help>More Help for format)
• added internationalization of numerical output (the decimal point)
• unfinished contrast test now defaults to off
2005-04-221.0.6• added a “mirroring” option (requested by Laura Gibson & Ken Nakayama
• added luminance linearization calibration
2004-10-071.0.5added facility to change eccentricity, made feedback-expansion a bit slower
2004-05-281.0.1fixed a size error introduced in vs 1.0 (due to work on the contrast test some acuity routines were affected)
2004-02-111.0re-implemented old direction strategy: When wrong, then reduce likelihood to present at the responded direction
2004-01-08 added contrast setting for the acuity optotype (suggestion by Lea Hyvärinen)
2002-08-24 ported to Flash
1996-09-07 available on the Internet
1992-11-21 ported to Macintosh
1985 first implementation on a Z80 with a 7220-graphics board

[→even earlier history details]

Bugs?
Donating

Should you desire to contribute: Donations are gladly accepted via Buy Me a Coffee.