WhatPulse


WhatPulse is a key-counting program that monitors computer uptime, bandwidth usage and the number of keystrokes and mouse clicks made by a user over a period of time. Unlike keyloggers, the authors claim WhatPulse does not record the order in which keys are pressed but instead counts the number of times keys are pressed. As of January 3, 2020, over 328,000+ users are active on WhatPulse.

Features

The software tracks a user's pressed keys, mouse clicks and used bandwidth and the uptime of the system. Periodically, the user can upload to the server the number of keystrokes made; this is called "pulsing". Users can see where they are in a leaderboard of people who have joined the program and compare themselves against people from their own countries. Users can also join teams, which enables them to compare themselves against people with similar interests.
The latest versions of WhatPulse included anti-cheat measures. Automated measures against cheating include a 50 keys per second maximum.

Platform compatibility

WhatPulse is a freeware cross-platform application, running on Windows, macOS, and Linux. However, the Mac and Linux clients were not always updated as often as the Windows client. This changed in the latest version, 2.0, which became available for all platforms at the same time and aims at letting the client act the same across all platforms.

Version history

Major versions and notable features for the Windows client are listed below:
Version numberChanges
1.0 Initial release. Pressed keys were counted.
1.1 The following features were added:
  • Ability to change password via the client
  • Geek Window, which have always displayed the current statistics
  • Token System, which have blocked cheating by multiple times pulsing the same data
  • Automatic pulsing after every X keys
1.2 Clicks are now counted along with pressed keys.
1.3 The client now counts and stores which keys have been pressed, and how many times.
1.4
  • The ability to pulse every X click was added
  • The client now displays the current logged in user
  • 1.5
  • The client now tracks mouse distance
  • Pulse Profiles appeared
  • 1.6
  • New login window for existing accounts and new users
  • Optimized local database file and its location for newer operating systems and stability
  • 1.7
  • Windows 7 support
  • Portable mode, which allows the user to save its data without an internet connection
  • Key frequencies image generator, which makes a keyboard heatmap, and displays it in the user's web browser
  • 2.0
  • Dropped mouse distance tracking
  • Added Bandwidth tracking, which counts the user's downloaded and uploaded data
  • The client now also stores system uptime
  • 2.0.1
  • Add some critical keys to keyboard heatmap.
  • Unable to set a proxy when logging in.
  • The heatmaps do not update 'today' after a manual reset.
  • Windows closes input hooks when putting your CPU under load, which makes it stop counting keys and clicks.
  • Random crashes when using a wireless network connection.
  • Random crashes when using sleep or hibernation mode.
  • Auto pulsing is disabled too quickly when detecting pulse errors.
  • The client does not see certain USB network adapters.
  • Computer crashes can cause the client to ask for a login, next start up.
  • Only show active metrics in tooltip.
  • Allow a password reset without knowing the old password.
  • Several optimisations for speed and memory management.
  • 2.0.4
  • Add an option to disable automated pulse notifications
  • Blink tray icon on keyboard or mouse option
  • Launch Geek Window on startup when it was open upon closing the client
  • Update statistics more often in Geek Window
  • Don't show notifications when a fullscreen application is running
  • Add the ability to auto detect the system proxy server
  • Don't write database queries right away, cache them.
  • Make scheduled backups of databases and fall back on backups when main database file gets corrupted
  • Add total account overview to account tab
  • Count uptime more accurately
  • Count bandwidth more accurately
  • Count bandwidth from and to a proxy server in unpulsed stats
  • Show more accurate network usage on interface overview
  • Don't check for updates or internet IP when "Work Offline" is enabled
  • The 'Year' option in the keyboard + mouse heatmap was not the last 12 months, but the current year
  • Extra precautions for double pulsing
  • Fixed in Linux
    • Some network interfaces were not detected if certain system files did not exist
    • Optimize application bandwidth measuring
    Fixed in Windows
    • The client crashed when certain applications were running
    • Enhance input hook usage
    • Ignore system services for application uptime
    Enhancements in Mac OS X
    • Optimize detection of network interfaces
    • Optimize detection of running processes
    2.1
  • Per application keyboard/mouse statistics
  • WinPcap 4.1.3 for Windows 8 support
  • The login procedure has been simplified to be a breeze. You can add computers from the wizard and it auto detects your computer name.
  • New updater for automatic updates to make updating easier
  • An option to run WhatPulse as Administrator, to catch input from elevated applications
  • Fixes:
    • Database backups. This fixes startup crashes and data loss
    • Random client crashes
    • Client not counting input stats after hibernations
    • Linux crash when pf_ring was not available
    • Windows lag every 5 minutes
    Improvements:
    • Network monitoring performance
    • Time period selector for per country network stats
    • Windows XP support
    • Require SSL libraries on Linux, otherwise account settings cannot be saved
    • Linux: Set up network capabilities automatically instead of having to do it manually
    • Log to 'app.log' inside the settings directory so you can see what's going on
    2.2
  • Added a setting to disable pulsing upon a double click of the tray icon.
  • Mouse heat map now displays in proper screen ratio.
  • The tray icon menu has been changed to be more useful.
  • Allow applications to be ignored for input as well.
  • Allow network traffic measurements without the third-party libraries. NOTE: Without these libraries, the client will not pulse network traffic to the website.
  • Windows: Added a crash reporter which will report any issues back to us and notify you of the problem.
  • Apple OS X: Use the built-in notification center, if available.
  • Fixed auto pulsing with keys; it pulsed the current keys, not the set value.
  • Fixed IPv6 network traffic measurements.
  • Fixed keyboard heat map counting of navigation keys on some computers.
  • General Interface and Performance optimisations, 2.2 uses less memory/CPU and the interface has a better experience.
  • Improve database backups to be less intrusive and be a lot faster.
  • 2.2.1
  • Using the Crash Reporter, we were able to collect a good deal of information about issues that some people have. Using this information, we've made a lot of improvements that are related to the stability of the client. Anyone having stability issues is encouraged to update!
  • Windows updater fix
  • 2.3 New:
    • Added support for dvorak and azerty keyboard layouts
    • OS X Mavericks support
    Fixed:
    • A few remaining client random crash situations. All platforms should be stable as a rock now!
    • Allow GeoIP database downloads on computers using a non-standard character set
    • When using an upgraded client, applications were sometimes not properly uploaded to the website.
    • On Windows tilde and apostrophe were sometimes mixed up. On OS X 9, tilde and caps lock were sometimes not counted.
    • OS X: The client sometimes lost the network hook when coming out of sleep, or even crashed.
    • Windows: Sometimes the updater was not launched correctly
    Improved:
    • Interface and collection optimizations on memory and CPU, making the client use 40% less memory and be 20% faster.
    • Only used applications are now sent to the website, minimizing clutter in your overviews.
    • Interface updating has been tweaked so that the Geek Window updates are a lot smoother.
    • Ignore dead center clicks in the mouse heat map. Some games lock the cursor in the center, ruining your mouse heat map.
    • “Refresh Status” on the Account tab now also refreshes totals and ranks.
    • When “Pulse on double click” is disabled, open the main window upon double clicks.
    2.3.1 New:
    Improved:
    • Ignore network interface 'Virtual WiFi Miniport' on Windows. WinPcap crashes on those interfaces.
    Fixed:
    • Network graph gaps and spikes
    • Fix client crash on sleep when the network statistics are shut down too quickly.
    2.4 New:
    • Export functionalities!
    • Export your keyboard & mouse heat maps
    • Export network bandwidth history per application, interface or originating country
    • Export the uptime of your applications and computer restarts
    • Use the buttons directly on the tabs, or use the advanced Export Wizard
    • The advanced Export Wizard provides all possible data exports!
    • Add a menu to the tray icon for quickly enabling and disabling statistics
    • Add an option for auto pulsing on every hour
    • Show exactly what your auto pulse settings do for you, in human terms
    • Add window with all the available fun facts, which can be opened by clicking the fact icon or text
    • Mac OS X: Show icon in Dock when the client is open, to make it easier to bring to focus
    Improved:
    • Multiple interface improvements to improve the user experience
    • Multiple performance tweaks; lesser database usage, more caching
    • Add a network counter monitor for Windows which catches network monitor time outs and restarts networking counting
    • Change tray icon to alert when the client is not logged in
    • Document command line options in a --help menu
    • Add command line option to disable network statistics from startup
    • Don't restart networking on OS X on sleep/wake up and have the network monitor fix network counting. May be related to some OS X crashes when waking the system up.
    • Show release notes of all clients from current version to latest version for a full overview of changes when skipping versions.
    Fixed:
    • Properly colour a key inside the keyboard heat map when it is 0. Sometimes turned out red, previously.
    • Fix rendering of the hours on the application uptime activity graph
    • Fix displaying day changes in application uptime activity graph.
    • Check the downloaded GeoIP.dat for corruption and don't load it if it is corrupted
    • Detect date changes when the interface is open, so that 'today', 'yesterday', etc. display the correct data when the day changes
    • Network stats could cause the client to crash upon exiting, under heavy network load
    • Properly calculate Current/Average/Maximum values on Realtime bandwidth tab
    2.4.1 New:
    • Geek Window: Add realtime keys, clicks, download and upload per second variables called "Rates"
    • Add support for Windows 8.1, Windows 2012R2 and OS X Yosemite
    • OS X: Client is now signed with a proper certificate
    Improved:
    • The Facebook login experience has been greatly enhanced
    • The Qt framework has been upgraded to Qt5 and we've sent it to the gym. The Windows is now only 22MB and the Mac client is now 34MB
    • Reduce memory usage greatly on some computers where it used much memory
    • Database size: Delete mouse points older than 3 months from the heat map to save space and memory usage. This reduces the size of an average database with 80% and improves client performance
    • Improved communication flow to prevent wrong tokens when internet connectivity is unreliable
    Fixed:
    • Windows: Fixed some cases where 'zombie' client processes can happen
    • Fix issues where client does not start on Windows startup in some cases
    • Fix Geek Window transparency glitch when saving new layout and make modifying Geek Window layout more smooth
    • OS X: Fix recognition of AMD processors on Hackintosh computers
    • Replace fact variables with 'no data' when there's no data instead of showing the variables names themselves
    2.5 New:
    • The client now differentiates between mouse buttons and a presentation of these stats has been added.
    • You can now ignore specific network interfaces for network monitoring.
    Improved:
    • The client will no longer reset the local database when logging out, so local stats can be kept through a re-login.
    • OS X: Detect black theme and auto adjust black W icon to a white W icon.
    Fixed:
    • OS X: Fix computer model and architecture detection on Yosemite.
    • Linux: Fix text color when using black themes.