Custom Alert Message Service from your SmartPhone or Desktop

  • 6
  • Idea
  • Updated 1 year ago
  • Not Planned
  • (Edited)
Problem Statement: We have always had customers who wanted to be able to broadcast their own network-wide alert messages from a SmartPhone or Desktop. This is the same use case as a CAP message except that it would be controlled by a local venue or possibly local EMS.

Short Use Case: Much like an EMS alert or a NWS alert, local content managers or facility managers need to be able to halt the display's sequence (usually network/company wide) and display a brief, hyperlocal message regarding announcements, closures or safety. They do not want to subscribe to a service that has most likely been created for campus, or another less than ideal purpose to get this done.

History: About 10 months ago a question went out regarding the possibility of posting custom alerts to the CAP web service URL. In the course of that community thread, there had been documented success with CURL and Python that led us to believe this could be cobbled together into a single web application that could get "it" done. We started looking at the Risevision Alerts Service for the first time since it was released.

Solution we are now testing: Not as dramatic as it sounds. 


This is a real simple interface. All of the CAP functionality is server sided. Transmission time is usually under 400ms and Risevision Alert Service responds and pushes to the display in usually under 20 seconds worst case (near immediately in the best case).

The app takes 3 CAP variables off the form web form, does some basic validation and then pushes to the remote service for munging into the CAP1.2 format. The server packages the XML and sends it to the RiseVision Alert services over https.

The service expects that you have a test display configured in Risevision Alerts.



  1. You will need to select the "change config" button. The application passes your Risevision Alert ID in each message. The Alert ID can be set by selecting the "Change Config" button on the home screen. The Alert ID field is where you enter the cap ID found on the end of the Web Service URL from apps.risevision.com/alerts

  2. You do not need the URL, just the characters after ?id=

  3. Once you enter or copy this into the web app, it should be saved in the browser's local app database until you forcibly clear all application's data from the browser. 

  4. Anything you type into the Headline, Description or Instruction fields of the app will be reformatted as a CAP1.2 message and sent to the Risevision Alert Service and then to the Display. It may take 1-40 seconds for the message to make it through. 

  5. If your message is invalid or any of the three fields are left empty, you will get an error.
Photo of Dave

Dave

  • 2,836 Points 2k badge 2x thumb
  • saucy

Posted 2 years ago

  • 6
Photo of Robb

Robb, Official Rep

  • 76,676 Points 50k badge 2x thumb
Very cool! Thanks for sharing Dave!
Photo of Toby

Toby

  • 90 Points 75 badge 2x thumb
How can we help test this?
Photo of Dave

Dave

  • 2,836 Points 2k badge 2x thumb
Toby, 

Any issues or concerns?
Photo of Toby

Toby

  • 90 Points 75 badge 2x thumb
Have not had any issues in my testing. The only concern was with the display time of the alert. I left the default of 60 minutes configured in the risevision config so we just had to wait for it to go away. Hopefully there will be a way in the future to set custom times for each message.
Photo of Biologyben

Biologyben

  • 3,558 Points 3k badge 2x thumb
Yep! In my early testing months ago, I had set the time to some ridiculously large number assuming there was some override.  I ended up creating a new display ID for that sign.  The old display id would probably still be displaying now!

I liked Daves idea of setting the default to y-minutes and then his server re-sending the message x number of times every y-minutes
Photo of Dave

Dave

  • 2,836 Points 2k badge 2x thumb
FYI: I have done nothing since the start of the holiday season ( what with day job and all ). Look for updates to this thread in a week or so.
Photo of Dave

Dave

  • 2,836 Points 2k badge 2x thumb
In order to test, I just need the Risevision alert Web Service ID you want to test with. You can send your ID to support@6signs.com
(Edited)
Photo of Dave

Dave

  • 2,836 Points 2k badge 2x thumb
We have a few active testers now so I took the time to create a semi-proper doc on the CAP app.  
Photo of Wendi Borden

Wendi Borden, Champion

  • 6,028 Points 5k badge 2x thumb
Hey Dave! We've emailed a few times and I've not had a big chance to tinker, but I took 10 minutes tonight to have a little look at it. I was able to setup Alerts and using your app get a presentation pushed to it in no time. Very fluid and easy to follow. (Granted I have tinkered with the CAP Alerts and server side automated scripts before). Still, I think it would be easy for a beginner to follow, and certainly appreciate the effort you've put in!

I was curious if you have already, or if you have considered, opening this project on GitHub? :)
Photo of Dave

Dave

  • 2,836 Points 2k badge 2x thumb
You know, that is an interesting idea.

I had not considered posting to github or sourceforge simply because I did not think it was ready for public release or documented well enough for anyone to follow.

I will give this some thought as I brush up the docs and code comment this weekend.

Also needs a better name. I was considering 'RedCAP'. Just close enough to skirt the lawyers ya think?
Photo of Robb

Robb, Official Rep

  • 76,676 Points 50k badge 2x thumb
That is correct. The text that is sent for that specific element (Headline, Instruction, Description) as part of the Alert is set to fit the Presentation.
Photo of Biologyben

Biologyben

  • 3,558 Points 3k badge 2x thumb
Also wondering about an input for time?
Rise presets all alerts to be displayed for the same amount of time as configured in the display alerts configuration.  You can change it from 1 minute to hundreds.  However, there is no way to override the display, so don't go crazy on a production display our you'll end up with a long wait (ask me how I know).

At this time, you can not configure the time to change on a per message basis, though I think that would be very handy. (thunderstorm warning until a certain time vs lockdown messages to appear for 30 minutes vs coffee in the cookies in the breakroom for 5 minutes, etc)  This would be a significant change on the Rise end however.
Photo of Dave

Dave

  • 2,836 Points 2k badge 2x thumb
I assumed that Tri-C Metro wanted an option to actually display the 'msg sent time' as opposed to setting the TTL on the message. If that latter is what we referring to, then Biologyben is correct, the CAP alert message's TTL is set in your Risevision alert service at the company level. 
Photo of Biologyben

Biologyben

  • 3,558 Points 3k badge 2x thumb
It does seem that 'CAP' is trademarked by Oasis - they say you can use CAP in a name if:
OASIS welcomes references to, and implementation and use of, its specifications. In cases where there may be some confusion about source or authenticity, such as any incorporation of an OASIS mark or name into some other product, service or organization name, OASIS will ask the user to include a clear acknowledgement notice of the use of OASIS trademarks or names in three places: (1) the primary web page referencing the named item, (2) the principal written promotional collateral about it, (3) and any press release regarding it, each in a form such as the following:

"OASIS", "CAP" and "Common Alerting Protocol" are trademarks of OASIS, the open standards consortium where the CAP specification is owned and developed. CAP is a copyrighted © work of OASIS Open. All rights reserved.
Not sure how Rise Vision would feel about "RiseCAP", but legally it appears alright as Rise is not a registered trademake (IANAL) and the Terms of Service do not prevent it.
Photo of Biologyben

Biologyben

  • 3,558 Points 3k badge 2x thumb
It does seem that 'CAP' is trademarked by Oasis - they say you can use CAP in a name if:
OASIS welcomes references to, and implementation and use of, its specifications. In cases where there may be some confusion about source or authenticity, such as any incorporation of an OASIS mark or name into some other product, service or organization name, OASIS will ask the user to include a clear acknowledgement notice of the use of OASIS trademarks or names in three places: (1) the primary web page referencing the named item, (2) the principal written promotional collateral about it, (3) and any press release regarding it, each in a form such as the following:

"OASIS", "CAP" and "Common Alerting Protocol" are trademarks of OASIS, the open standards consortium where the CAP specification is owned and developed. CAP is a copyrighted © work of OASIS Open. All rights reserved.
Not sure how Rise Vision would feel about "RiseCAP", but legally it appears alright as Rise is not a registered trademake (IANAL) and the Terms of Service do not prevent it.
Photo of Biologyben

Biologyben

  • 3,558 Points 3k badge 2x thumb
Great Job!  Just got done testing it and it works well!  One item that you might choose to address is to give error on the special characters that are not allowed by CAP these include < and &.  If you submit these to Rise, the message shows sent of but will not display.

I haven't fully tested all characters as of yet.  I know that ! works however.
(Edited)
Photo of Dave

Dave

  • 2,836 Points 2k badge 2x thumb
I have been slow to implement a number of functional enhancements but the list and order of precedence looks like this ( see next post);
Photo of Biologyben

Biologyben

  • 3,558 Points 3k badge 2x thumb
Interesting to note that if you include an ampersand &, the message never appears.  But if you include something silly like $%^*()+=-_{]|\, the message tries to take over, but shows a black screen for the duration.
Photo of Dave

Dave

  • 2,836 Points 2k badge 2x thumb
Functional enhancements in current/random order:
  1. Input validation and character scrubbing - This is a limited feature right now. As per Biologyben's previous finding, I parse and discard anything but alpha-numerics and one or 2 puntuations points.

  2. SSL implementation. Yep. Could happen.

  3. (re-)Implementation of Access Control - This is implemented but has been disabled while folks test. Sometime in the future, ACL will be turned back on and the user will be required to register their risevision alert ID ( the string at the end of the alert service url) on the server. This allows me to manage performance and user access while also allowing the user to reset and reassign Alert IDs whenever they want.

  4. User account management and activity logging. If you delegate or share the application, you can go back and look at the logs for all of the devices and IP addresses that have sent messages.

  5. Shared account delegation & moderation. If you delegate or share the application, the admin (you) can elect to receive a DM, text or an email that must be "approved" in order for the message to be sent to the displays. Sort of a split 2 factor auth.

  6. Message Persistence. A user selected task queue that sends the message again (X=times) after it has expired. The untested theory is that If you have administratively set your alert messages in Risievision to be displayed for 4 minutes, X=3 will make it appear for 12-ish minutes.
Photo of Biologyben

Biologyben

  • 3,558 Points 3k badge 2x thumb
Great list! - If you're going to the trouble of having user sign-ins and admin accounts per company and recording activities per user/company, I'd ensure the architecture allows for the possibility of pre-scripted messages that can be created and then selected - (severe weather, tornado, lockdown, etc).  
Photo of AdGators AdGators

AdGators AdGators

  • 3,612 Points 3k badge 2x thumb
Hi Dave,
Is this something you're planning on offering in the Rise Vision Store, once you've completed testing?
Thank you,
Joe Kirchner
Photo of Dave

Dave

  • 2,836 Points 2k badge 2x thumb
Had not been but now that you mention it...

Any thoughts/suggestions on that?
Photo of AdGators AdGators

AdGators AdGators

  • 3,612 Points 3k badge 2x thumb
I could see this potentially being useful to our customers. How would I go about demo'ing the functionality.
Photo of Wendi Borden

Wendi Borden, Champion

  • 6,028 Points 5k badge 2x thumb
While I certainly don't want to step on toes here, I'd love to make a push again to release this on Github and contribute to the open source community.

I will say that I have about a 90% functional version of this myself, but I really don't have the time to fully develop at the current time since it's not a priority for our company right now.

That said, I wouldn't mind a bit polishing up my own a little and releasing it into the wild (again, not to step on toes, but I'm all for open source).

And also that's not to say that it would not be valuable in the store. There are certainly people who don't want to host this on their own but might use the functionality.

Just my two cents on it :) Cheers!
Photo of Sultan Yassin

Sultan Yassin

  • 60 Points
Where can we get this app for testing?
Photo of Dave

Dave

  • 2,836 Points 2k badge 2x thumb
If you provide your alertID to support@6signs.com, we will set you up to test.
Photo of Dave

Dave

  • 2,836 Points 2k badge 2x thumb
Service has moved URLs. If you had been testing recently, you have probably noticed the errors.