Click here to Skip to main content
Click here to Skip to main content

Amber Alerts in the Cloud

By , 29 Apr 2013
 

Please note

This article is an entry in our Windows Azure Developer Challenge. Articles in this sub-section are not required to be full articles so care should be taken when voting.

Introduction

Amber Alerts is a system developed in 1996 for alerting the public via television, digital signage, radio and recently some internet outlets of child abductions or missing children in the U.S. . To date, 9 other countries have adopted a similar system, however the speed at which the notifications get to the public seems antiquated or behind the times.

Late last year, I developed Find Amber for Windows Phone which used Azure features as a development practice. The app has seen some success and there is a need to take it to the next level in order to increase visibility of these important alerts.

Current Architecture

 Find Amber, as mentioned above, does take advantage of Azure now in the way of 2 worker roles, a web role and SQL. 

The worker roles are responsible for downloading the data and sending notifications to the devices. ASP.NET Web API runs on the web roles and serves the RESTful API for the Windows Phone client, while all the data resides in the SQL Azure instance.

A pretty solid offering, but the maintenance of the multiple roles has been a task for updates and there are platforms I want to move the app to. This is where Azure Mobile Services and Azure Websites comes in.

Future Architecture

Mobile Services will be put in place to serve as the RESTful API and as a part of that it also offers Scheduler by which automated scripts will be run to call a node.js service running on  a Mobile Website to aggregate and load the data.

When a new record is added, push notifications will be sent to the client applications using the PUSH feature of Mobile Services.

Clients supported:

  • Windows Phone 7, 8
  • Windows 8
  • iOS
  • Android
  • Facebook Application
  • ASP.NET Single Page Application

Android and iOS clients will be built using Icenium, a cross platform development tool from Telerik which runs PhoneGap under the covers.

All of the applications will take full advantage of the REST API provided by Mobile Services, Push Notifications, Social sharing (where applicable).

 

Points of Interest

Some takeaways of the project I would like for the readers/watchers here is to show not only how to take advantage of a cloud based application, but also see how building a reusable API allows for any application to be put on to any mobile OS or web with little effort.

Why Azure?

The application already uses Azure, but why?  Scalability, performance! In the event of a tragedy I see that solution like natural disasters, child abductions, or some other horrific event.  We as a society need to be able to get the notifications to the public as fast as possible without delay or excuse of "too much traffic".

With a solution like I am proposing here, digital signage could even be added to take advantage of the REST API.  With a simple slider, the back scales as we need to meet the demand.  We would never have the excuse of we were over loaded in the server room.  Save a life, move the slider!


History

  04/29/2013 - Project Scope / Description

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

Shayne P Boyer
Architect Boyer Consulting Services
United States United States
Member
Shayne Boyer aka TattooCoder, has been developing Microsoft based solutions for the last 15 years. Currently working as a Solutions Architect focused on Services Oriented Architecture and in his spare time runs the Orlando Windows Phone and Windows 8 User Group. He is a passionate developer and loves to talk about his craft, teach and also learn from others.
 
- MCSD .NET
- Telerik MVP
- Orlando Windows Phone & Metro User Group Founder (@OrlandoWPUG)
- INETA Speaker
- DZone.com MVB

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
Hint: For improved responsiveness ensure Javascript is enabled and choose 'Normal' from the Layout dropdown and hit 'Update'.
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
QuestionMany potential child protection possibilitiesmembermielniczuk6 May '13 - 9:33 
GeneralMy vote of 5memberCyclingFoodmanPA6 May '13 - 7:14 
GeneralMy vote of 5professionalKarlkim30 Apr '13 - 18:23 
GeneralGreat App IdeaprofessionalHTaylor29 Apr '13 - 7:55 
GeneralMy vote of 5memberazarc329 Apr '13 - 7:38 
GeneralMy vote of 5memberroscler29 Apr '13 - 7:19 
QuestionMy vote of 5memberArchieCoder29 Apr '13 - 7:19 
GeneralMy vote of 5memberShayne P Boyer29 Apr '13 - 7:18 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Permalink | Advertise | Privacy | Mobile
Web03 | 2.6.130513.1 | Last Updated 29 Apr 2013
Article Copyright 2013 by Shayne P Boyer
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid