New Alert Server

We’ve had a lot of questions in the past few days about the new alert server.  Our original announcement looked like this:

NEW ALERT SERVICE (BETA) – Some people get multiple pages for every alarm due to dispatch settings, and they wanted better merging on our end.  Others have problems with alarm locations defaulting to the wrong place, and want to have “default” map locations moved to somewhere more obvious, like the station house.  We have a new alert server in beta right now that should fix these and other issues.  If you want to try it out on a beta testing basis, contact support so they can hook you up.

This prompted a flurry of emails.  Since there was some confusion regarding what exactly we were fixing, I thought I would go into more detail here.

An “alert server” is the first contact that Active911 has with your dispatch center.  It performs the following tasks:

  • Receive and validate incoming alarms
  • Parse them into standard data items (address, nature, etc)
  • Mapping (geocoding)
  • Alarm filtering
  • Duplicate detection
  • Pagegroup selection
  • Duty shift and personal device filters
  • Paging

As you can see, it’s quite a lot.  It works out to about 5,000 lines of code besides all the parsing code and Apple and Webview paging servers (which are entirely separate projects).

As mentioned in this post, we recently rewrote the whole thing to be more efficient and have better feature control.  So for those of you wondering if the new alert server can help you, the answer is to look at the above list and see if your problem relates to one of the affected items.  If it does, we might have a solution for you.  Part of the code rewrite is to add in features that people have been requesting.  Here are some examples of problems we should be able to fix:

  • Some departments get alarm updates, and they want the updates (2nd and later alerts) to be silent.  Silent alarms are now being supported.
  • Alarm filtering was fairly primitive.  It’s getting a boost.
  • Alarm duplicate detection is now more customizable
  • Once a duplicate has been detected, the way it is handled is more customizable
  • The alerting process is being made more efficient to help speed up paging times
  • Map points can be substituted (addresses that mapped to a particular location can in some cases be relocated elsewhere)

It’s not a complete list.  But in general, things that have to do with the initial alert processing are either being upgraded or are open to feature suggestions.

We’re running a beta test alert server, and we are inviting people to try it out.  Since it is beta, it will be buggy and is not something most agencies should try.  If you have an agency that can tolerate a few missed pages in the interest of testing out a new system, however, you might be a good fit.

Where is the iOS update?

We’ve had a bunch of people recently asking about the next iOS update. The current version is missing some features that it really needs, including some map data features, internationalization (i18n) and the ability to properly show large amounts of notes text.

So, what’s up?

Well, I confess the holdup has been my fault.  I actually have a newer version built already – it’s been running on my phone for months – but I haven’t had the time to release it yet.  True, it is a bit buggy and needs some tweaking before it is really ready for the wild.  But it’s basically there.

And that’s because I’ve been busy for the last couple months redesigning the alerts servers.  The alert servers are the machines that process your alarms when they come in, decide which page groups to page, perform mapping, and do other important things.  The code had grown to be rather unwieldy and quite inefficient.  The straw that broke the camel’s back was when Cadpage asked us to send different data to their devices than what we had been sending.  Plus, we’re moving to a sharded System of Record (SoR) datastructure, and compartmentalizing all the database code at the same time made sense.  The alert servers had to be recoded.

Of course, we added some features as well – giving the tech team better controls to configure your filtering, duplicate alarms, merging, and so forth. :)

Fortunately, I’m about done with the alert server.  It’s around 5000 lines of code, and pretty much the whole thing had to be gone over by hand.  It’s now up and running on my development machine; next, I’m deploying it to a test server for some beta users to poke at while I write test classes.  Finally, it will get pushed to production and I can work on iOS code.

Yes, we’re pretty much constantly on the lookout for more help.  We are working on hiring more development talent.  But getting good people takes time, so in the meantime your patience is appreciated!  We’re still churning out new code and you should have your iPhone/iPad update before too much longer. Thanks for understanding.