As you may know, a number of the Evangelists at Telerik are working together on an application tentatively called Conference Buddy, described and summarized here by Phil Japikse. Carey Payette and I decided to create a version of the client in WPF, taking advantage of Telerik’s extensive controls and the fact that WPF runs on all versions of Windows. We decided to use the Windows 8 version as a functional specification – to mimic the capabilities of that application without mimicking the look and feel.
To get started, we created a series of screen mockups to give ourselves an idea of how things will hang together. To do this, we turned to the Storyboarding feature in PowerPoint. This is an add-on that is made available to PowerPoint when you install premium versions of Visual Studio.
Like the Win8 version, the WPF version will begin on the Events overview page. We’ll use Telerik tiles to provide a modern look and feel to this page, and each event will be clickable for more details and to see the contacts for that event,
Clicking on an Event brings you to the Event Main Page from which you can edit the event or view and edit contacts or statistics about the event
Editing the event will bring you to a page where you can enter data such as the event name, city, state, organizer, who is talking at the event, do we have a booth, are we a sponsor and etc.
Clicking on Stats will bring you to the stats screen where we display information about the event using graphs and charts to visualize what products customers are interested in, who wanted to participate in our raffle, etc.
The key page is the Contacts page, where you can edit information about an existing contact or add a new contact,
The individual Contact edit screen will gather essential information about the contact, including whether the contact would like an email follow-up, what products the contact is interested in, and so forth,
As you can see, none of these sketches is complete and that is intentional. We wanted just enough to get a sense of how the pages will hang together and relate to one another. The actual design will emerge as we build the pages and as we bring in expert design advice. What we have here, however, is enough to get started on creating the application.
The key to this application will be to have a single window into which we will swap the various views. This will be done using an MVVM (Model-View-ViewModel) architecture for maximum separation of concerns. To make MVVM work, we’ll take advantage of WPF’s behaviors, shunting responsibility for page navigation to the view models associated with each view, and minimizing the code in the view’s code-behind pages.
Fortunately, we already fully understand the data layout both for the Events and the Contacts, as these have been hammered out for the Win8 versions of the program, and our colleague, Jeff Fritz has already created an Azure back-end for database support. We will continue to cache the data locally using JSON files, one for all the events, and then one each for the contacts for each event.
There is a great deal to do to make this program operational, but with these sketches, and with the earlier versions acting as functional specifications, we are in a good position to bring this to fruition relatively quickly.
Jesse Liberty has three decades of experience writing and delivering software projects. He is the author of 2 dozen books and has been a Distinguished Software Engineer for AT&T and a VP for Information Services for Citibank and a Software Architect for PBS. You can read more on his personal blog or follow him on twitter