The screenshot of Eyeblink functionality and controls.

Computer users often suffer from eye fatigue, dryness, soreness or even red eyes (the dry eye syndrome). One of the main reasons is our low blink rate in front of the computer screen. Blinking is related to cognitive processes. When we are focused we will blink less than usual. The tear film is not renewed and our eyes get dry. Eyeblink uses a camera to monitor blinks, helps to blink more, adjusts screen properties and reminds breaks and eye exercises.

Blink rate statistics

Besides blink completeness, maintaining sufficient blink rate helps to prevent dry eye syndrome [1]. A healthy human blinks 10 to 15 times per minute. Eyeblink measures your blink rate every half an hour (camera is on for about 3 minutes) and makes statistics available to you. The health status is calculated based on the average from the measurements within the graph. To see the whole blink rate history, click on the graph. By hovering the mouse pointer over individual blink measurements you can see its details. For now, blink completeness cannot be distinguished by ordinary camera in real-world situations. So even if your blink rate is sufficient you can still feel eye discomfort. Blink training can still help you.

After clicking on the graph, the whole history opens.

Using laptop camera, its placement with external screen

Many users use the built-in laptop camera which works quite fine. Please, when using external screen, try to adjust the laptop's position so the camera can see your eyes properly. You can use the Test blink detection live preview to be sure that blinks are detected correctly. You can find it in the GUI under settings (top left corner) () then by clicking the camera icon () next to the back arrow.

Test blink detection

The live blink detection, how face, eyes and blink detection works.

It can sometimes happen that the reminder does not disappear after your blink. In such case please test the blink detection performance. Eyeblink uses the state-of-the-art algorithms for face, eye, and blink detection. Detection can be hindered under severe light conditions. Thick eyeglass frame may also compromise the performance. Some built-in cameras do not work well because they adjust exposure based on the light conditions so in low light, the camera does not have sufficient capture speed to detect blinks. Or a strong light source in camera view (e.g. a window) causes the face to be too dark to detect blinks properly. In such cases please try to follow best practices for setting up the work environment in Treatment section or try to manually adjust camera settings.

[1] BLEHM, C. et al. Computer Vision Syndrome: A Review. Survey of Ophthalmology. 2005, Available online.

Blink training

Eyeblink personalized training uses notification to remind you to blink more.

Each blink renews the tear film over the eye which protects and moisturizes it. Mostly complete blinks are important because only when the eyelids touch, the third layer of the tear film, the lipid layer, is renewed which protects the eye from tear evaporation. Conscious training of firm blinks can increase blink rate [2] and alter incomplete blinks [3].

Eyeblink has two types of reminders. A simple reminder, which does not need a camera, appears at regular intervals for three seconds to remind user to blink. We do not want to be disturbed all the time but only when necessary. For this reason, we created the interactive reminder which uses a camera.

The interactive reminder appears only in case of low blink rate and goes away with your next blink. If you blink frequently enough, the reminder does not even show up. The reminder is a small window which rolls out from the screen corner. Thanks to peripheral vision, you can easily recognize the Eyeblink reminder and you know that you just need to blink to make it go away. This way the interruption is minimal. Eyeblink works on background and you interact with it by your blinks. You can change the position of the reminder by clicking on button "CHANGE REMINDER POSITION", the reminder shows up and you can drag and drop it where you need. The preferred position is the right side of the right screen.

Blink training helps to alter incomplete blinks.

Some people have sufficient blink rate, but they still suffer from dry eye. People with Meibomian gland dysfunction need the reminder to appear even if they blink often. Conscious blinking is mostly complete, and that is the why the blink training can alter the way we blink [3]. With this option on, the reminder is shown regularly and does not observe user blink rate in the first place.

[2] D. Nosch, C. Foppa, M. Tth, and R. Joos. Blink animation software to improve blinking and dry eye symptoms. Optometry and Vision Science, 2015, Available online.

[3] M. Collins, H. Heron, R. Larsen, and R. Lindner. Blinking patterns in soft contact lens wearers can be altered with training. Optometry and Vision Science, 1987, Available online.

Proper screen settings helps your eyes be comfortable (MS Windows only)

Eyeblink can adjust screen properties

The additional reason for our low blink rate in front of the screen is its excessive brightness compared to the surrounding light. Especially during late work in the evenings, the screen emits too much light, which deteriorates our blinking pattern. Eyeblink can adjust both the hardware and software screen brightness settings for all your screens at once. The SW screen brightness uses MS Windows api and the HW brightness is supported by 90% of PC screens and graphic cards. So, there is about 10% chance that it will not work. We can use shortcuts defined in settings to change the current screen settings. It is very convenient mostly while using desktop screens, you do not have to look for the right item within the menu buttons all the time. Eyeblink saves your eyes, and at the same time your electricity bill ;). Eyeblink brightness control is not compatible with screen adjustment apps like f.lux. These features are not available in mac version for now.

Blue light suppression

Probably, you know f.lux, which adjusts your screen color temperature based on you location and current sunset and sunrise times. Why to suppress the blue light? Due to evolution, humans adjusted the melatonin production to increase when the blue light is suppressed (during sunset) so due to screen use in the evenings our hypophysis produce less melatonin and we could suffer from sleep disorder. Settings warmer color temperature will help us to have better sleep. You can manually control the screen color temperature with Eyeblink with 3 predefined settings: Warmer (4500 Kelvins), Warm (5500 Kelvins) and Normal (6600 Kelvins).

Screen control hotkeys

You can use hotkeys to efficiently change the screen properties

You can be more efficient to adjust properties at all your screens using hotkeys. The predefined are "Alt + Up" for increase brightness, "Alt + Down" for decrease brightness and "Alt + Space" to rotate over the predefined color temperatures. You can change the hotkeys in settings, the upper left icon in title bar .

Smart computer breaks

Eyeblink allows you to change the time between breaks and enable eye exercises to protect your eyes.

Eyeblink computer break reminder

Excessive work at computer screen lowers our blink rate. Regular breaks are important to prevent tired eyes and varicose veins. Humans are created for long-term walking not sitting. We need to stand up from our desktops and walk for a minute at regular intervals to prevent varicose veins. No sitting style is healthy if you spend more than 30 minutes in the same geometry (position). NESEDA Chair can help you to alternate between several natural positions as often as you desire. Eyeblink reminds you breaks in a smart way. It observes your computer inactivity time (the last use of mouse or keyboard) to plan your breaks. Your natural breaks (if enabled) detected by no mouse or keyboard activity are included within the plan. The reminder can be moved to another position by drag and drop using mouse.

Eye exercises

Eyeblink computer break reminder

Eye exercises are important too, we need to train our eye muscles and change the focus distance to refresh our eyes. Based on the eye doctors recommendations, solid 20-minute interval between eye exercises works the best. The reminder can be moved to another position by drag and drop.

Eyeblink menu and control

Eyeblink, settings for automatic pause camera based features, settings for automatic pause of all features

Sometimes, when we need camera for other things like Skype or Call, the camera based features can be paused, while preserving the other features. We can use the menu control or in settings (), the rules for automatic pause can be defined based on the Windows titles. For example, Skype runs in background and only when is running foreground there is a predisposition that it will need camera sooner or later.

Sometimes, there is a big presentation on our laptop, or we are just watching a movie, in such cases it is desired to pause all Eyeblink features so no reminders will come out. We can do it manually or define the automatic pause based on rules in settings. Here Eyeblink looks only if given application is running or not. For example a media player, game or presentation tool. We can see all our running apps in Task Manager of the operating system. Again the rules for automatic pause can be defined based on the Windows titles (Skype, Zoom, Call).

Frequently Asked Questions (FAQ)

Eyeblink brightness control does not work

Most screens can be adjusted. The major obstacle is a new feature in Windows 10. When You have extended desktop, the Windows 10 itself can manage the brightness on the external screen using the notebook shortcuts and disabling Eyeblink control.

Screen brightness adjusts on its own

People reprot that Eyeblink adjusts the brightness from time to time as it wish. Actually it is MS Windows who does that. Eyeblink listen to the operating system signals to adjust its slider to show the right setting.

Eyeblink can not be uninstalled, admin privileges required

Please use the old school Control panel or directly open the uninstaller from the installed Eyeblink directory. Windows 10 has a bug in ther Settings app which requires admin privileges without reason.

Graphical interface is blurry

This can happen when the scale in Windows settings is changed or the dpi is set globally. Go to Settings -> System -> Display -> Advanced scaling settings and enable "Let Windows try to fix apps so they are not blurry" and restart Eyeblink.

The screen does not respond to changes of brightness

Probable when Eyeblink was starting the screen was turned off. Please turn off and on again the screen brightness.

The screen settings for color temperature and software brightness resets from time to time

Windows from time to time resets the color array used for graphic cards. For now, there is no way to detect it, it would be very processor time consuming to set screen properties each minute. Just use hotkeys to change it again.

Logitech webcam controller pops up all the time when eyeblink uses camera.

Open the logitech webcam software, go to preferences, general tab, uncheck the auto-launch webcam controller video.

No camera name loaded or Missing dlls? mf.dll mfplat.dll mfreadwrite.dll

Windows N or KN versions do not have Microsoft Media Foundation (msmf) used to access camera or to get its name because they are deployed without Windows Media Player. Please install the correct version of msmf from Microsoft Windows Download (admin privileges needed).

Error: empty frame received

There could be multiple reasons for this. Disconnected camera during run, bad cable/camera, bad driver (not working properly all the time), Windows privacy policy can block the camera or rarely by OpenCV library which is used in Eyeblink.

Error: Camera is occupied or disconnected?

First comes, first served. Only one app at a time can use the camera. It can happen that apps like Skype or Snagit prevent its use by Eyeblink. We can setup automatic pause of camera use in settings. In Windows 10 we need to enable camera use by third party applications. Go to Settings => Privacy, choose Camera settings and enable its use. If we can not find out which app is using camera, try Eset Internet Security which contains camera access protection. We can find out which app is using camera by this tutorial. One to 100, this error is raised by bug in OpenCV, so we do not have to be worried about virus immediately. Moreover, it happend to me, that my cable to the webcam has broken and I get this message quite often.

The GUI does not respond

It is a bug within Qt library, please open settings and go back, the gui will be updated propoerly.

The blink reminder appears every X second

Probably you are using the simple reminder only (the interactive remidner is disabled) or you checked to have Meibomian glands dysfunction.

The blink reminder does not appear

First use the Test blink detection to see if the light conditions are sufficient and blinks are correctly detected by your camera. If you use the interactive reminder, the reminder shows only in low blink rate. Maybe your blink rate is sufficient, you can check by enabling I have Meibomian glands dysfunction option. Then the reminder will appear in regular intervals and will be dismissed by your blinks. The last option is a bug within the library OpenCV. It can happen, that it does not respond properly in rare cases. Please, quit and run Eyeblink again. If you can not run Eyeblink again (it does not appear), please restart your computer.

Can I be sure Eyeblink does not send any images it takes with the camera to any servers?

It is all about trust. Any app you have installed has access to the camera and can take pictures (Windows works differently as Android where you explicitly allow access to the camera). In Windows 10, there is a new privacy settings which can prohibit use of camera. If you are an experienced user, you can check by Wireshark that Eyeblink communicates with the server only during startup and those few kBytes are only measurements (if enabled) and license verification and check for updates. You can easily check that there is no communication after startup (after starting or waking PC up).

What data are you collecting from users?

Eyeblink generates PC ID which is sent to identify the individual installation. If enabled, blink rate statistics and reminder settings are sent.

Windows Defender SmartScreen is blocking the installer

Click more info to see that the installer is signed by valid certificate and unblock it manually. It can happen that the certificate validation within Microsoft services is not fully spread (SmartScreen has not recognized it yet). When sufficient number of users will unblock Eyeblink, the good reputation will be spread consequently.

The program can't start because api-ms-win-crt-runtime-l1-1-0.dll is missing

Please run Windows update service. Your dlls within the Windows directory are old a do not work with new compilers. If you have installed all the latest updates and this error remains, probably one of your apps replaced windows files. You can google this error, it is quite common. For now, my best recommendation would be to reinstall Windows because this will happen to you in future with other apps.

How Eyeblink works with multiple screens?

Put camera on the main screen. You can change the reminder position within any screen in settings.

I have a license, I used it on my old laptop. Now I have a new one and when I insert my license key, it says that the maximum number of licenses is reached. Can you help?

License is valid per installation. You need to buy a second license for another computer.

I care about privacy a lot, it is hard for me to see that my camera turns on and off all the time. I get nervous mostly when Eyeblink takes the 3-minute measurement. Can I check if my camera is currently used by Eyeblink or some virus/malware?

Thank you for your query. Only one software at a time can access the camera. Eyeblink notifies you if the camera is not available, so you can even use eyeblink to check whether some virus/malware is spying on you (if you trust Eyeblink of course). Eyeblink uses OpenCV library to access the camera. It can happen rarely that the camera is not available because of a bug in OpenCV, so do not panic if you see the message from time to time. If you see that error message it can also mean that the camera cable is damaged (happened to me) because sometimes the image is not delivered as it should.

No new blink statistics are added.

In general, it can happen, when the face is not visible due to bad light conditions or the camera frame rate is lower than 10 fps, no measurement will be added because Eyeblink cannot identify blink rate in such cases. Try to see the Test blink detection, if it is working and switch back, let it run during the whole day and see. Measurement should be added (if enabled) approximately every 30 minutes.

Why the LED on camera is off during blink training and it is on during taking measurements? When it is on, I start to blink more and it influences my measurements.

Each camera works differently. For example, Logitech cameras need more time to turn the LED on. It happens that you do not see turning it on during blink training because it takes only a few seconds. You see the LED on during measurements because it takes 3 minutes. The LED cannot be easily turned off, each manufacturer has its own API to access the camera. I am not aware of any solution which would disable LED for each camera.

Which camera do you recommend?

I did some tests and one of the best for Eyeblink is Microsoft LifeCam HD 3000. Images are delivered stable even in low light, similar to Logitech cameras (B905, C905, C525, C270, C310). In addition to Logitech, it seems that LifeCam prefers nearby objects while adjusting exposure, which is better for Eyeblink. You will notice it mostly when you have a window in background.