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

Sharpy - Metro App for managing and sharing tasks

, 22 Oct 2012
Rate this:
Please Sign up or sign in to vote.
A Metro application that manages the request and completions of shared tasks between authorised users
This is an old version of the currently published article.

Please note

This article is an entry in our AppInnovation Contest. Articles in this sub-section are not required to be full articles so care should be taken when voting.
Sharpy Logo Sharpy Logo

Introduction

Sharpy is an application were users can create tasks for others to accept and complete. It uses the new Metro application capabilities so a user can create, manage and monitor tasks with a minimal number of actions. It leverages the Metro notification capabilities so it can help to manage and follow up tasks. The application permits to assign tasks to multiple sharpies (contacts that must complete the task) and owls (contacts that want to get notifications of the task state).

The application is developed in C# and XAML. Windows Notification Services and Push Notification are used to provide updates of the task state and contact details among users. In the back-end, I will use the patterns I covered on my previous articles in CodeProject so the domain and persistence components can be implemented in a flexible manner decoupling the client side. In this way I can rapidly develop a proper back-end that could work well with cloud services at some stage in the future. The mentioned articles discussed the details of such a design.

Background

The idea is simple, is it just me or sometimes when people are asked to do something, they just forget about it. So why not to provide an application where the person asking takes the responsibility; they normally do it anyway in the form of a call, text message, email, whatsApp and so for.

So the proposed solution is to amalgamate the whole process, that is: request and actioning in just one simple application where both sides can easily notify each other when the task changes. The application defines two sets of task users: sharpies and owls. The sharpies need to acknowledge the received task and complete it before are due; the owls monitor the acknowledges and task completions. Simple, isn't it?

The Sharpy application provides an easy way for everyone to interact, manage and monitor these tasks taking advantage of Windows 8 and the new Metro application functionalities.

Note

The Sharpy application is still in a design stage, this article will be modified as new application artefacts are created so expect many updates over the incoming weeks. The goal of this first version of the article is to address the scope of the application, high-level design and describe which technologies the application will use.

But it is still early days so if you can think of any feature that you might want to see in the application, let me know, place a comment at the end of the article and we will take from there.

Application Scope - Functional Requirements

There are two main entities in the application: contact and task.

Contact Entity

Contacts are authorised Sharpy users that can create tasks and assign to other users. The following functions will be available:

  1. Contact details
  2. Search for contacts
  3. Send invitations
  4. Accept invitations
  5. List of friends

Task Entity

Tasks are actions that users create and assign to contacts. The following functionality is required for tasks:

  1. Task details
  2. A user can create a task indicating start and due date/time
  3. The user can add sharpies to the task who will need to accept and complete it
  4. The user can also add owls to the task so they get notifications and follow when tasks are complete

Notifications

Sharpy uses the new Metro tile notifications to inform the user of Sharpy events:

  1. Invitation requests
  2. Accept tasks
  3. Notify changes of tasks assigned to other sharpies
  4. Overdue tasks

Sharpy uses the following notification mechanisms:

Tile Notifications

Those are the information and notifications that you can see directly through the application tile

Sharpy Image

Toast Notifications

Toast notifications deliver transient messages outside the app to get the user’s attention immediately. They are intended to be used only when the Sharpy application is not active.

Sharpy Image

Badge Updates

A badge is a summary or status update concerning some application notification

Sharpy Image

In order to notify users of actions taken by other Sharpies, the application requires to use Push Notifications and Windows Notification services from the cloud which is new functionality for Metro applications in Windows 8. In a nutshell the Sharpy Notification design is as follows:

Sharpy Image

Application User Interface - Screens

Main Screen

The main screen provides access to three main functions:
  • Sharpies
  • My Tasks
  • Create new task panel
Sharpy Main Screen

Summary data in relation to the state of tasks is displayed in the Sharpies tile, it also displays the last task notification that has been registered. Icons are used for each state: Pending confirmation/acceptance, ToDo and Overdue.

The 'My Tasks' tile displays a summary of tasks that other sharpies have created and assigned to me. The tile also displays a set of summary state counters. The last section provides an easy to use mechanism to start creating a new task, once the 'SEND' button is clicked the application takes the user to another helper window to enter other details like due date, sharpies and owls

Sharpies Screen 

Sharpies full screen

This is the screen that the application user uses for monitoring the tasks assigned to others. It tries to ease the navigation among sharpies and their tasks. A touchable screen will facilitate scrolling of lists and quick selections. This screen is divided in two sections:

  • Left side: List of sharpies that have been assigned any tasks and the current user is an owl. That is, the owl has been subscribed to those tasks, the task creator is automatically assigned as an owl for the task.
  • Right side: List all the tasks for the selected sharpie.

The design is very simple and should allow the user to be able to navigate in an easy manner from sharpies to tasks.

Sharpies Summary

As it can be seen above, the sharpie title provides a summary detail with a description of the first task to accept/complete and a set of task state counters, sharpies are sorted by the task due date or creation date depending on the task state.

Task Detail

For the section on the right side, as it can see above, tasks are sorted by the due date/creation date, and each task also displays the last action that was taken.

My Tasks Screen

This screen is very similar to the right panel that is used in the Sharpies screen. A list of tasks assigned to the user are displayed and sorted by due date and state. The user in this screen is able to accept tasks created by others and complete them. Again, usage is facilitate by the touchable screen for navigation and manipulation of the tasks.

In the next article update I will include a prototype screen of this function in the application.

 

Wrap up

Sharpy is a simple solution for a common daily problem, with an easy to use user interface leveraging a touchable screen and the new notification mechanisms included in the Metro applications, hopefully users should find the application valuable. I hope it can also become a good example of the Metro capabilities for other developers.

The competition is a fantastic idea, personally I was wondering what to look next, I had some ideas for Windows Phone but because the Windows 8 SDK was not available I was thinking of having a look at Android. Then by a chance, I heard about the competition last Thursday 18th Oct. Only on Friday I was opening Windows 8 and VS2012 for the first time. I have years of experience with XAML and I was not expecting to be able to do so much in so little time. I have to say that I am very impressed and I like it. It is very exciting, MS has done a really good job with W8 and VS2012. 

History

23 Oct - First version of the article submitted - missing some sections and source code - I had to meet the deadline

  

License

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

About the Author

Enrique Albert
Software Developer (Senior)
Ireland Ireland
No Biography provided
Follow on   Twitter

Comments and Discussions


Discussions posted for the Published version of this article. Posting a message here will take you to the publicly available article in order to continue your conversation in public.
 
GeneralMy vote of 5 Pinmembercaosnight14-Feb-13 14:55 
GeneralMy vote of 5 PinmemberKris De Cree23-Jan-13 1:16 
GeneralMy vote of 5 Pinmembersinats26-Oct-12 5:45 
GeneralMy vote of 4 PinmemberGladys Merma Molina25-Oct-12 16:05 
GeneralMy vote of 5 Pinmemberraizalnapi22-Oct-12 16:52 
GeneralRe: My vote of 5 PinmemberEnrique Albert22-Oct-12 21:11 

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

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Mobile
Web04 | 2.8.140721.1 | Last Updated 22 Oct 2012
Article Copyright 2012 by Enrique Albert
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid