GFlash Surface Project
What is gFlash?
gFlash is a GoogleDoc enabled Surface Application. It allows multiple users to individually log into their Gmail accounts using the Surface keyboard. It then accesses the user's GoogleDoc Spreadsheets and uploads them onto the Surface as moveable, flippable flash cards.
Why is gFlash Useful?
gFlash is a Surface learning tool that allows its users to upload self-created spreadsheets. Therefore, users are able to customize their content unlike other online or electronic drilling games. Also, it's environmentally friendly and hand-friendly. The user can cut down on time and trees by utilizing gFlash's electronic flash card abilities.
Upon logging in, gFlash uploads the user's spreadsheets in a side list box (in this list box the user also has the option to log out). When the user taps desired spreadsheet, the worksheets of that spreadsheet are then loaded in the side list box (as well as a back button to send them back to the list of spreadsheets). Each worksheet is linked to a list of flash cards that will appear on screen when desired worksheet is tapped.
There are basic functionalities for the flash cards: "flip to front" and "flip to back" flip all the flash cards on screen to desired side, "stack" stacks all the flash cards in an pile in the middle of the screen.
Basic C# Tools Used in gFlash
In order for gFlash to work, the Google API .NET was used to upload information from and log into multiple accounts. In order for the flash cards on the Surface to appear as ScatterViewItems, a sub class inheriting from ScatterViewItem needed to be created to contain the basic information of the spreadsheets. Currently, this class only hold the properties "front", "back", "isShowing", and "isPeeking". These allow the program to know when and what is showing upon "ContactTapGesture" and "ContactHoldGesture"(for "isPeeking), which occurs only when the user taps a flash card, not when the card is being dragged and dropped on the page. Spreadsheets of each GoogleDoc account are loaded in a SurfaceListBox as SurfaceListBoxItem buttons linked to specific flash card sets of that Spreadsheet.
Background of Flash Cards Currently in the code, FlashCard is a sub class of ScatterViewItem and the content is set to the content of Google Spreadsheet cells. Because the content is set to those strings, a picture background (typically created in Flashcard.Content) is not possible. Research into adding a property such as a background image in the FlashCard sub class is underway.
Adding/Deleting Flash Cards
Google API the editing of Google Spreadsheets within the application. It is possible through this method to create new flash cards and delete current ones.
Currently flash cards can be stacked by a set position and orientation, allowing them to be removed easily from the stack. I would like to implement a library stack which allows the user to flip through the items in that stack (such as flash cards); however, because flashcard is a sub class of scatterview, it would have to be detached from the scatterview base class, attached to the librarystack base class, then detached and reattached to scatterview upon clicking a listboxitem such as "unstack".
If the user gets the flash card answer wrong or right, it would be useful to have some way of keeping track by the user's indication. The flash cards would thus have to be divided and kept in two lists (wrong or right).