Have you ever needed to memorize a number of objects' names, such as word definitions in a new language, animals' names, people's names, or tree leaf shape nomenclature? If you did, you might have employed a useful tool, known as the flashcard. By creating cards with questions, pictures, or terms on one side and answers, names, and descriptions on the other side, you can more easily perform the rote memorization of a category of things.
The Flashcards.Show application takes that concept and makes it easy for you to produce decks of flashcards and also enables you to play three different types of games that make it easy and fun to learn.
The Flashcards.Show application runs on Windows Phone as a Silverlight application and can display the same deck that the WPF application shared with the web Silverlight. The same content and the same games can be played on Windows, on the web running Silverlight, and on Windows Phone.
So there you've it -- a single application that run on three different platforms backed by Windows Azure as the supporting cloud service. The nice thing about the entire Flashcards.Show implementation is our ability (by design) to share a lot of code and resources between WPF, Silverlight, and WP.
How does it work?
The Flashcards.Show application is built from two main components:
- The suite of client applications – WPF for Windows, Silverlight for web, and Windows Phone
- The cloud piece, a series of web services running on Windows Azure backed by Azure storage.
In this series of posts, we will NOT explain the cloud part, but will focus on the Silverlight and Windows Phone implementations.
When you download the Flashcard.Show version 2 source code, you'll find a single VS solution file (FlashCardsSolution) that contains 11 different projects:
- FlashCards.UI.Phone – Contains the WP app, including the different pages and resources
- FlashCards.UI.SL – Contains Silverlight app, including the different pages and resources
- FlashCards.UI.WPF – Contains the main Windows app, including both modes, Admin and Game
- FlashCards.ViewModel.Phone – Contains the View-Model piece of the MVVM architecture that is used in the WP app
- FlashCards.ViewModel.SL – Contains the View-Model piece of the MVVM architecture that is used in the Silverlight app
- FlashCards.ViewModel.WPF – Contains the View-Model piece of the MVVM architecture that is used in the Windows app
- FlashCardsServices – Contains the Windows Azure project that references the services that are deployed with itb
- FlashCardsServices.Contracts – Contains the definition of the services use by the various Flashcards.Show appb
- FlashCardsServices.Entities – Contains the model of the supporting web servicesb
- FlashWCFWebRole – Contains the web services that the different Flashcards.Show applications useb
- Setup –A simple MSI setup; use the Flashcards.Show ClickOnce install instead
This's a short video presentation of the Flashcards.Show application, and a sneak-peak to behind the scenes, looking into the code and architecture of the application.
You are more than welcome to download the source code, which also includes documentation, as well as install the application.