Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Desktop Notifications, aka Internal Alert System

It has become apparent that where I work needs, internally, a "notification system". The issue being that we are very spread out throughout multiple buildings and the bulk of the work force regularly keeps there email closed for hours at a time.

I need to create a simple way to be able to push out a message and have it "pop up" on everyones computer(or a single computer).

My first thought was to write a windows service that calls a winform/wpf app that resides on each computer that simply pops up with the message. Not sure how viable an idea that is but this is just brain-storming.

A different route, I thought, could be an app that resides in the systray on each computer that polls a db table and using the Query Notifications could pop up a message each time a new row is added. Then simply create an insanely basic app for writing a row to that table.

So, what I am asking is if any one else has walked this path. If so, how?

  • What things did you take into consideration?

  • Are either of my ideas valid starting points or are "egg and my face in perfect alignment"?

  • Is there a different way that is even simpler?

Thanks


Some simple requirements --> Must be "One Way" as I cannot give our user base a "chat" system. Must be, somewhat, hidden so as to discourage users shutting it off. A la system tray or service.

like image 371
Refracted Paladin Avatar asked Mar 23 '10 12:03

Refracted Paladin


2 Answers

Wouldn't net send save you reinventing the wheel?

like image 80
ZombieSheep Avatar answered Sep 23 '22 15:09

ZombieSheep


I've never done this but I've worked in a call-centre that did use something similar and they're insanely useful. I remember once when everyone got a message saying "does anyone know Mandarin? HELP ME!!" Brilliant. (Luckily someone did.)

Anyway your ideas are perfectly fine. Personally I'd do this as a client/server application. A windows forms or WPF application that sits in the systray could link to a server using a TCP/IP duplex connection using WCF. Perhaps get the client to register to certain groups depending on the department of the PC it's sitting on.

Then when someone wants to send a message they select which group it needs to go to (or all groups), the message hits the server which sends out to all connected clients, and the WPF app on the computer receives the message and pops it up. You don't even need a database except to store the users/groups, and the message history if you need to.

like image 21
Andy Shellam Avatar answered Sep 23 '22 15:09

Andy Shellam