Windows Azure Notification Hubs with Common API
Windows Azure Notification Hubs recently released as an enhancement to Windows Azure Management Portal provides a common API to send push notifications to applications built using multiple device platforms such as Windows 8 and iOS. According to Microsoft, support for Android and Windows Phone will be added in the near future.
Microsoft has optimized the hubs in such a way to fire millions of push notifications when a single message is fired into the notification hub with an ability to specify number of per user tags when registering with a hub.
These tags consists of app-specific strings such as user ids and stock symbols which eliminates the need to store and manage device handles or implement their own per-user notification routing information. Moreover, the sub routing mechanism enables you to route and deliver notification messages to users without having to build your own routing infrastructure.
Windows Azure Notification Hubs can be used by server apps hosted within Infrastructure-as-a-Service (IaaS) Virtual Machines which can be either Windows or Linux including cloud services or Websites.
"Notification Hubs enable your push notification logic significantly simpler and more scalable," says Scott Guthrie, Corporate Vice President, Server and Tools Business, Microsoft.
In order to create a new notification hub from within the Windows Azure Management Portal, you need to select the Service Bus Notification Hub item located under the App Services category. Once created, you will be able to view the number of devices that has been registered, pushed, delivered and those might have failed to reach recipients.
The notification hub can be registered with Microsoft Windows Notification System and Apple Push Notification service (APNS) service by clicking the Configure tab from within the management portal. After successful registration, you will be able to register any client app/device with a notification hub by associating tags to enable automatic filtering. Once this process is completed you will be able to broadcast messages to your users with minimum amount of code.
Claus Nielsen asked the following query:
Great news Scott, but what happened to Windows 7 in areas like push notifications and smooth streaming?
Elio Damaggio, Program Manager, Service Bus commented:
Regarding support for Windows 7 push. The Notification Hub feature is designed to push notification directly to the OS, for the platforms that support this capability (e.g. mobile platforms like Windows 8, Windows Phone, Android, iOS).
In order to push messages into a running app (Windows 7 or other) you can use Service Bus Topics, which, like you correctly pointed out, have to be sharded when dealing with more than 2000 subscriptions, or use SignalR (http://signalr.net/), which is already designed to be deployed in a scaled-out configuration using Service Bus.
Tomasz Wisniewski wants to know how Windows Azure Mobile Service with their Push Notifications align with Notification Hubs to which Elio commented
Notification Hubs will not replace the push functionality in Windows Azure Mobile Services, they will be a complement to it. Notification Hubs will be able to be used from any Mobile Service back-end very soon, adding high-scale broadcast capabilities and tag support.