User Interface Notifications

Must Read

Handling Debt Better With Refinance

Even though refinance is not always a possible solution, there are several uses under suitable conditions. Several of such...

Credit Card Consolidation Help – How To Use A Debt Settlement To Consolidate Credit Bills? Part-1

Mostly people are getting rid of the loans due to credit card consolidation help. If you really want to...

Refinance and Buy a Second Home

Refinancing is great to be able to come up with a higher level of cash. If you have been...

The Tailspin Surveys mobile client application performs some tasks asynchronously; one example is the potentially time-consuming synchronization with the Tailspin Surveys web service. Asynchronous tasks must often inform the user of the outcome of the task or provide status information while they’re running. It’s important to consider the usability of the application when you’re deciding on the appropriate way to notify users of significant events or to provide status information. The developers at Tailspin were concerned they would either flood the user with alerts or have the user miss an important piece of information.

For the Tailspin Surveys mobile client application, the developers identified two categories of notification,  informational/warning notifications and error notifications.

Informational/Warning Notifications

Informational or warning notifications should not be disruptive, so the user should see the message but not be interrupted in their current task. The user does not need to perform any action in response to this type of message; the Tailspin mobile client application uses this type of notification to inform the user when a synchronization completes successfully, for example. Tailspin uses a custom toast notification for these messages because the application does not have access to the Windows Phone 7 toast notification system.

Error Notifications

Error notifications should be disruptive because the message is informing the user that some expected action of the application will not happen. The notification should inform the user of the actions they need to take to resolve the problem; for example, to retry the synchronization operation again if it fails for some reason. Tailspin uses message boxes for this type of message.

Inside the Implementation

This example shows how Tailspin implements custom toast notifications and error notifications on the SurveyListView page to inform users when the synchronization process finishes or fails. In the sample application, many of the notifications and error messages are not intended for the imaginary user of the sample; instead, they are there to
help you, the developer understand what the application is doing as you explore its functionality. You should follow the guidance published in the UI Design and Interaction Guide for Windows Phone 7 ( when you design the user notification system for your application.

The following code example shows the relevant declarations in the SurveyListView.xaml file.

<prismInteractionRequest:MessageBoxRequestTrigger RequestBinding=
“{Binding SubmitErrorInteractionRequest}”/>
RequestBinding=”{Binding SubmitNotificationInteractionRequest}”

<Popup x:Name=”SynchronizationToast”>
<Grid Background=”{StaticResource PhoneAccentBrush}”
VerticalAlignment=”Bottom” Width=”480″>
<TextBlock Text=”{Binding Title}”
HorizontalAlignment=”Stretch” Foreground=”Black”
TextWrapping=”Wrap” Margin=”14,5,14,5″>

The view model uses the SubmitNotificationInteractionRequest binding to trigger the toast notification and the SubmitError InteractionRequest binding to trigger the error message notification. The following code example shows how the SurveyListViewModel displays a toast notification when the synchronization process completes successfully and an error message when it fails.

private readonly InteractionRequest
.Notification> submitErrorInteractionRequest;
private readonly InteractionRequest
.Notification> submitNotificationInteractionRequest;

public IInteractionRequest SubmitErrorInteractionRequest
{ get { return this.submitErrorInteractionRequest; } }
public IInteractionRequest SubmitNotificationInteractionRequest
{ get { return this.submitNotificationInteractionRequest; } }

private void SyncCompleted(
IEnumerable<TaskCompletedSummary> taskSummaries)

if (taskSummaries.Any(
t => t.Result != TaskSummaryResult.Success))
new Microsoft.Practices.Prism.Interactivity
{ Title = “Synchronization error”, Content =
stringBuilder.ToString() },
n => { });
new Microsoft.Practices.Prism.Interactivity
{ Title = stringBuilder.ToString(), Content = null },
n => { });



Note: This solution uses the InteractionRequest and Notification classes and two custom behaviors, Message BoxRequestTrigger and ToastRequestTrigger, from the Prism Library.



Please enter your comment!
Please enter your name here

Latest News

Top 10 Provinces of Thailand Not to be missed for Travel

10 SuratthaniThe source of the proverbial Chaiya salted egg. Surat Thani is a province with many attractions,...

Underlight As Accent, For Power and The Main Light for Photography

Underlighting, in which fill or accent light comes from under the topic, is not widely used technique in the traditional Portraits, even though it will have...

How To Fix Overexposure As A Creative Tool, The Complete Guide

As an creative tool, overexposure is sort of underrated. What I’m close to propose could be a deliberate and well thought out technique for...

7D Mark II is Canon’s best DSLR cameras without full-frame sensor.

The expected long-awaited Canon EOS 7D Mark II are shipping in November for $ 1,799 without a lens. With a higher price tag, you...

Low key photography and How to isolate your subject.

Low key photography doesn’t depend on underexposure to make its point; the key to low key is that the majority of tones, even correctly...

More Articles Like This