Project Requirements

The problem below was submitted by Todd Allen of AT&T. It is an actual system that AT&T is currently working on for a customer in California.

Background

A local venue with several stages has concerts, shows, and other events that they would like to promote through the use of a ticket give-away sweepstakes. The frequency of sweepstakes varies, but can be assumed to be about one per month. The venue may have more than one sweepstakes going on at once. The venue will promote each sweepstakes give-away through some combination of local promotion in print, radio, and/or television advertising. All sweepstakes entries will be archived and used on an opt-in basis for promotion of future shows, notification of future similar sweepstakes, and other promotional purposes. A participant may only enter a sweepstakes once, but may enter as many sweepstakes as s/he chooses.

User Experience

The participant may enter by mobile phone through SMS (text) messaging by the following steps:

  • Text a keyword to a shortcode (e.g. SHOW to 12345 similar to texting a vote for your favorite American Idol)
    • Each show/sweepstakes will have its own keyword in order to distinguish between programs
  • The participant is presented the opportunity to opt-in to the venue’s ongoing text message club. The text message club will be notified on their phone of future sweepstakes, events, or other information. An example experience would be:
    • Person texts in SHOW to 12345
    • A response Mobile Terminating (MT) message is sent to the person saying, "Thanks for entering. Winners will be notified by text message or go to http://www.example.com/winners to see the list of winners for this promotion. To be told about upcoming sweepstakes, specials, and events reply JOIN."
    • Future announcements would contain the message "To unsubscribe from this service reply REMOVE ME"

The participant may also enter via the web from a PC or phone browser

  • The participant navigates to http://www.example.com/sweeps and completes a brief entry form. The entry form will be formatted to the form factor (PC or phone browser). The entry page will include advertisements for other shows and sweepstakes the venue is running.
  • The participant can choose to be notified if they won by text or e-mail
  • The participant may choose to opt-in to future promotions

If the participant chooses to opt-in to future promotions, all subsequent announcements must contain the message "To unsubscribe from this service reply REMOVE ME"

Participants may check the list of winners from the web site via a PC or phone browser.

Winners will be notified by their preferred method (text message or email).

  • Winners will be provided a unique claim code
  • Winners must claim their prize by visiting http://www.example.com/claim and entering the code from the email or text message
  • Winner must agree to all legal documentation on the site before they are added to the list of official winners
  • If a winner hasn’t agreed to the legal documentation after a period of time specified by the venue, the winner is sent a reminder email or text message
  • All ticket distribution will be handled outside the system by the venue box office, but the box office needs to have a way to print the list of winners and their personal information to confirm identity when the winner arrives at Will-Call.

Competition Requirements

Data

  • The venue has a policy regarding how often a participant may win based on the value of the prize. The current time required to be eligible for another sweepstakes is listed in the following table, but the venue may change their policy at any time.
  • Less than $50.00 1 month
    $50.00 to $1,000.00 3 months
    $1,000 to $5,000.00 6 months
    Over $5,000.00 1 year
  • The following data could be stored about the sweepstakes
    • Name of event
    • Name of sweepstakes*
    • Short description*
    • Date of event
    • Date sweepstakes closed
    • Amount of time for winners to respond
    • Stage
    • Event Sponsors
    • Associated advertisements
    • Legal disclaimer
    • Entry code keyword
  • The following data could be stored about a participant
    • Either email address or phone number is required
    • Date of last sweepstakes won, if any
  • The following data could be stored about a sweepstakes winner
    • Name
    • Email or phone number
    • Home address
    • Some form of password or other personal identifying information

*SMS protocol requires that a text message be less than or equal to 160 7-bit characters

System Architecture

  • The architecture must be modular and respond well to change. Consider using the Model-View-Controller or n-tier architecture paradigms
  • Users must have a consistent experience using the website on either a PC browser or a mobile device

User Interface

  • Teams are required to create prototypes of the following screens
    • Participant registration form
    • Winner claim form
    • Administrative tool to create a sweepstakes
  • The following pages are optional to mock-up
    • All other administrative data entry
    • Reporting services
    • Box office’s list of winners
  • All user facing interfaces must include space for advertising pertaining to the selected sweepstakes and a links to the all sponsors
  • All interfaces must be accessible

Hardware, Performance, Scalability, and Reliability

  • The venue has already secured licenses and certification for their SMS server
    • Competition participants do not have to worry about finding appropriate SMS server implementation
    • The SMS server may be treated as a 'black box' and an appropriate interface assumed.
  • The venue also has access to mail, database, and web servers
    • These servers may also be treated as 'black boxes'
    • Competitors are encouraged, however, to consider how these boxes are configured in order to increase their scores on items like reliability, performance, and maintainability
    • The venue is willing to invest in new hardware if a design team recommends purchasing redundant servers, as long as the investment is well-supported
  • The venue expects peak traffic for an average sweepstakes to be about 10 requests per minute. Popular sweepstakes may attract upwards of 3 requests per second
  • The venue requires that the system be available 99.9% of the time

Other Considerations and Assumptions:

  • The system must gracefully handle invalid text message and web entry input
  • Security must be taken into consideration. The entry and claim pages must be made secure so that a hacker cannot enter a sweepstakes more than once or unrightfully claim a prize.
  • The venue must be able to provide an audit trail of participant activity in case a participant would take legal action against the venue