Ok, so after doing some thinking and discussing with my partners regarding the current EasySocial Notification System. The issue is email overload. The sitewide Notification System is great but we run into the issue where users are online and still receive emails.
The easy solution is to enable a feature where if the user is online they don't receive emails at all and only site wide notifications. However, what if the user is online but inactive and closes the browser? To me this seems like a minimal fix with only part of the issue resolved.
The ultimate solution in our minds is that there be a Notification Polling system. The system would basically check if the user is online, check whether the notification is read/unread and have a time frame that the email would be sent if the notification is NOT read. In addition the emails should have an option to be combined so the user receives one email vs fifteen if they have in fact received that many notifications.
The equation is: User Online/Offline + Notification Read/Unread + Time Since Notification Received = Email Sent
This ensures online users aren't bombarded or felt harassed and will help to ensure that they received one email vs a ton.
Thanks,
James