Click here to Skip to main content
15,435,505 members
Articles / Programming Languages / C#
Posted 9 Aug 2013

Tagged as


5 bookmarked

Life of the Party

Rate me:
Please Sign up or sign in to vote.
5.00/5 (6 votes)
13 Aug 2013CPOL11 min read
The one-stop station for fun at the party

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.

Contest-specific Information

  • Platform Targeted - Entertainment (All in One device) 
  • Overview - A party system that incorporates multiple apps that perform various party-related functions.
  • Languages Used - WPF 4.5, C#, and HTML/CSS/JavaScript for the mobile apps that interface with it.
  • Intended Uses - see Intended Uses section 
  • Approach Taken - see Approach Taken section. 


Have you ever gone to a wedding where the bride and groom provided disposable cameras for you to take action shots for them? How about a graduation party where there was a giving tree? Ever been to an event that had its own Twitter hashtag? What if there were an application that could bring all of these ideas under one digital roof? Well, now there is.


Life of the Party (name is still in beta - suggestions are welcome) is a full-screen, touch and gesture-enabled application that elevates the game of any party. It is essentially eleven different applications all rolled into one. Each application has a tile that shows basic information about that application as well as a large view for interaction. The eleven applications are: 

  • Auction - Whether you are running a charity event or just getting rid of some of your things, the auction app will allow your guests to place bids on your items. The built-in payment system (using Stripe) will allow your guests to pay via debit/credit card for the items they have won. It will also allow them to secure their bids using their preferred payment method if you so choose.
  • Donations - Graduations, weddings, birthday parties, and more will benefit from the ability for guests to made donations right from the app. Again, the app will use Stripe so that the donations are secure and validated. Donation amounts will be totaled on the tile so that guests can see how close the party is getting to the goal (if one is specified). If desired, the guests can keep their donation anonymous or they can have their name listed on the donation wall.
  • Guest Book - Holding an event where you want to capture details about your guests? Not a problem. From simple name entries to full contact details and a picture, this app can do it all. Based upon this information, the app can also generate door prize winners. 
  • Jukebox - If the party does not have a dedicated DJ, Life of the Party can play songs from the organizer's MP3 collection. Guests can be given the opportunity to request songs (that are in the library). They can also be given the opportunity to rework the playlist.
  • Media Sync - Instead of providing disposable cameras or asking guests to send in pictures after the event, the Media Sync app allows users to easily upload pictures from their camera cards (utilizing the built-in card reader of the AIO device) and from their phones (using the IOS/Android/WP8 app). This will allow the event organizers to easily gather action shots. These shots can even be automatically uploaded to a Flickr account in the background.
  • Photobooth - Utilizing the front-facing camera of the AIO device, the photobooth app allows users to create pictures of themselves on the fly. Just like a true photobooth, the system will take a set number of pictures on a countdown. Pictures can be reviewed on the screen, allowing the users to re-take a picture. Photo strips can then be uploaded to a picture printing service or they can be printed to a local printer. Copies can also be sent digitally to the users directly. 
  • Raffle - In the third of the fundraising-style apps, the raffle app allows the event coordinator(s) to set up one or more raffles that users can bid. Payments will be taken and processed by Stripe and receipts will be emailed to the user. The winner of the raffle(s) will also be chosen by the app at the designated time (initiated automatically or by the event organizer manually).
  • Recordings - Want to leave a message for the event organizer? This is your chance. Using the front-facing camera and microphone of the AIO, this app will allow you to record a video message that will be stored for later viewing by the event organizer. Instead of the wedding videographer spending time to get these messages, for example, the attendees could leave their message at the Life of the Party station any time they wanted.
  • Schedule - The job of this app is simple - provide your guests with a running schedule of events. This can either be a static schedule or it can be a dynamic list that crosses events off as the time for that particular event passes.
  • Slideshow - This is typically the default app to be live on the screen. It cycles through pictures that the event organizer has uploaded. For instance, at a 50th wedding anniversary party, this might be showing pictures from the past fifty years of the happy couple. There is an option to include pictures that have been recently uploaded but by default this option is not enabled.
  • Twitter Feed - Designated a specific hashtag for your event? Read (and record for later) the tweets related to your event in this app. This tweet data can also be displayed on the slideshow pictures as well.

All of these apps are combined into a Windows 8-styled full-screen app. Here is a screenshot of the working alpha version:   

Image 1 

Credit goes to my sons for being the first photobooth testers. As you can see, they enjoyed it.  


Life of the Party uses a number of the advanced features of the All In One system in particular, including: 

  • Touchscreen - Apps are selected to be viewed by either tapping on the tile or by dragging the tile onto the main screen.
  • Portability - The portability of this system means that it can be carried to the event, plugged into the power, and it is good to go. No need for extra peripherals (like cameras, card readers, keyboard, mouse, etc.)
  • Card Reader / USB - The card reader will be used to capture pictures from cameras. Those users who have a USB dongle for their camera will also be able to upload pictures in that manner as well.
  • Secondary Monitor Support - Some of the apps in the Life of the Party support being outputted to a second screen. These include the Slideshow, Twitter feed, Jukebox messages and more.
  • Wireless Networking - The system does not need to have a wireless connection to the Internet to operate. Certain apps will be limited (most notably the ones that take electronic payments) but all will continue to operate. Beyond this, though, the Life of the Party system utilizes the ability for Web API to self-host. This means that users' phones and tablets can still connect to the system in order to directly upload pictures from their devices without going through the Internet (or using data from their data plans).
  • Secondary Devices - Utilizing the power of PhoneGap, there is an app for IOS, one for Android, and one for Windows Phone 8 that can connect to the Life of the Party system. The user will be able to see auction statuses, get alerts when they are outbid, upload photos, optionally download photobooth strips, and perform a number of other tasks. The event organizer will have even more power, including the power to close auctions, change settings, and update the schedule. 
Basically, it is almost like the AIO was made for this app. It doesn't feel like there is one feature that is missing from the system. Those features that are present will be used to their full ability with the Life of the Party system. The high screen resolution, the RAM, the processor, and all of the other standard features will be pushed by this app to ensure the best possible user experience. 


The Life of the Party system uses a number of cutting-edge technologies in concert to build the best piece of software possible. The foundation of the application is built upon C# and WPF using .NET 4.5. To keep the WPF sane, I used Caliburn Micro as my MVVM framework. To allow for communication to the remote devices, I utilized the power of Web API and self-hosting. This keeps the installation simple but allows for nice client-server communication without the need for the Internet. On the client device side, I utilized PhoneGap to create simple yet powerful apps that can communicate directly with the Life of the Party app via the wireless network (even without an Internet connection).

If a connection to the Internet is available, the Life of the Party system utilizes services from Stripe (for secure payments), Flickr (for photo uploads), and Twitter (for Twitter streams).


The Life of the Party system has a number of apps. However, not every party or event will want every one of these features. That is where the event configuration comes in. Before an event (or during it if changes are needed), the event organizer can set up what apps they want enabled and how those apps should be configured. Even the look and feel of the app can be configured. For example, a wedding reception might want the app to be all shades of white, gray, and black for that elegant feel. They might also only want the slideshow, donation, media sync, recordings, and guest book apps. The resulting system would look much different than one configured for a college graduation party yet both serve their owners extremely well. This is the true power of the Life of the Party system.

Intended Uses 

In general, the intended use of the Life of the Party System is to provide digital tools for any type of gathering or event.  Because this is essentially a system with a number of apps contained within it (with the ability to add more later), there is no one "correct" use case. Some common use cases will be wedding receptions, product parties (where a host invites people to come see a demonstration of a set of products), graduation parties, and more. However, the system can really be used for a number of less obvious uses, including charity events, funerals (digital guest book, slideshow, and donations being the three main items used probably), silent auctions, or even just when you have guests over for a game night. Just like the smartphone with its apps, the Life of the Party system opens up an entire realm of possibility.

Approach Taken 

The build process is already underway for the Life of the Party system. I first sketched it out on paper and figured out what would and would not work. I then took that idea to different events and tried to see how the system would be applied to those events. From that, I got a fairly good idea of how the system should look and act and what its capabilities should be. I then built the UI in WPF (using Caliburn Micro). This is where the progress is as of this article. I am assembling the different parts and technologies I will need (swipe functionality, drag and drop, etc.) and I am building out each of the different apps. Once I complete the front-end and the code that wires it up, I will need to do a bit of data access work and some setting up of the configuration screen. Finally, I will write the PhoneGap application to send data to the system and get information back as well. Simple, right? Well, maybe not quite as simple as it sounds but a lot of the hard parts are already done. The UI is mostly built, the code to make the UI work is also mostly built. The data access is fairly vanilla and the PhoneGap app will be a simple website that makes REST calls to the system. 


There are a number of sites and applications that do some of what Life of the Party does. Here are just a few for comparison:

  • Wedding Snap ( - Gathers pictures from guests via a free phone app. Packages start at $89 per event and the guests need to use their data plans to upload the images unless there is a wireless network with the Internet available.
  • Raffleware Gaming ( - Allows users to hold their own raffles at events. The software costs $299 to purchase. 
  • Webcam Photobooth ( - Turns your webcam into a photobooth application. The software costs $95 to purchase. 
  • Wedding Video Kiosk ( - Uses a hardware device to create a video kiosk for weddings specifically (although it can be used for any type of event). Price is not specified but would include the actual video device. 

Note that most of these come with a rather large price tag and most rely heavily on an Internet connection. Life of the Party has neither and yet it covers the same ground as all of these combined plus adds in other features as well. 


As you can see, the Life of the Party system is an app that fills a need and it does so with a modern flair. Parties of all types can use this application to great effect. Utilizing the power of the All in One system, Life of the Party is the one app you need before your next party.


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

Written By
Software Developer (Senior) DeGarmo
United States United States
I am currently a Senior Software Developer at a company in Illinois called DeGarmo. My primary skills are in .NET, SQL, JavaScript, and other web technologies although I have worked with PowerShell, C, and Java as well.

In my previous positions, I have worked as a lead developer, professor and IT Director. As such, I have been able to develop software on a number of different types of systems and I have learned how to correctly oversee the overall direction of technology for an organization. I've developed applications for everything from machine automation to complete ERP systems.

I enjoy taking hard subjects and making them easy to understand for people unfamiliar with the topic.

Comments and Discussions

QuestionHow's app development going? Will you be submitting on time? Pin
Kevin Priddle23-Oct-13 10:23
professionalKevin Priddle23-Oct-13 10:23 
GeneralMy vote of 5 Pin
Enrique Albert30-Aug-13 11:39
MemberEnrique Albert30-Aug-13 11:39 
AdminThanks for entering! Pin
Kevin Priddle16-Aug-13 13:44
professionalKevin Priddle16-Aug-13 13:44 
GeneralMy vote of 5 Pin
Abhishek Nandy9-Aug-13 19:52
professionalAbhishek Nandy9-Aug-13 19:52 

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

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