The Coca Cola Super Bowl Poll Blackout

During the Super Bowl, Coca Cola ran a campaign at cokechase.com where people could vote on the ending of their commercial. Unfortunately, when the page was loaded, it looked like this:

Coke Chase

The Coke Chase website appeared as a blank desert for many people during the Super Bowl because of technical difficulties.

Live events at this scale are really tough. We’ve done our fair share of big live events, like the Man vs Food Super Bowl special, as well as hundreds of high stakes corporate events, and got through these with the following design philosophy:

  1. Design for failure
  2. Minimize the number of moving parts on the server
  3. Cache aggressively
  4. Queue aggressively

Design for failure

“Assume the worst and hope for the best” is a great strategy for handling spikes for huge events, especially the Super Bowl.

The worst case scenario we design for at Poll Everywhere is that the user’s Internet connection completely dies. As you can imagine, this is a very extreme event since web applications need Internet connections to work, but we handle this anyway. This may happen if they’re on an unreliable cellphone network or if something terrible happened to our servers and they went down.

Poll Everywhere displays a message to users when there are difficulties connecting to the server. In this particular case, I killed the WiFi on the test device.

When the connection comes back, we inform the user that they can continue using the application.

A notification is displayed when the users Internet connection is back.

A notification is displayed when the users Internet connection is back.

These notifications keep the user in the know so that they can start figuring out if something is wrong with their Internet connection and take steps to correct it.

We look at all pieces of our application this way, and when all of that fails, we give our users the heads up at status.polleverywhere.com that something bad is happening.

Minimize the number of moving parts on the server

The best way to scale an application is to have it do very little work so that it can handle more requests. Our current application development strategy at Poll Everywhere is to shift all the work that needs to be done for a web page from the server to the users web browser. Our mobile application at PollEv.com has zero moving parts and consists of just three HTML, CSS, and JavaScript files. The only thing our server has to do is serve up these three files and it’s done. We shift even more load off of our servers by using a Content Distribution Network to handle the delivery of these files, which results in a faster, more reliable experience for our customers.

Cache aggressively

When you request a web page, the browser has to connect to a server far far away through the Interwebs and download the content to your computer for display. If the server is configured properly, it can tell the browser, “Hey, the files you downloaded are valid for the next 30 years.” The next time the browser requests this page, it checks for a copy on your computer and uses that if it’s valid.

Why is this so important? Well, if the server goes down because of an insanely high volume of traffic, people tend to refresh their browsers to “fix” the problem. These refreshes trigger a request to the server which creates even more load and compounds the problem. Things can get out of hand pretty quickly. If the user downloads these files to their cache and then refreshes the page, a substantial amount of load can be taken off of the servers.

Imagine if every time you got hungry at home you had to drive to the grocery store to pick up whatever food you desired. Three trips per day for breakfast, lunch, and dinner? That’s crazy! Fortunately we have refrigerators, which can be thought of as a food cache.

A fridge is a cache for food.

A fridge is a cache for food. Instead of visiting the grocery store each time you’re hungry, you go to the fridge and grab a bite to eat. When the store is a mad-house on Sunday evenings, you can keep eating from the food cache and avoid the crowds.

When you’re hungry in front of the television you can walk to the fridge, eat some food, and sit back down in a few minutes. When the fridge runs low or the food spoils, you jump in the car, fill up a cart, and bring it home. This trip might take an hour on a good day or a few hours when the grocery store is a mad house, but you replenish the food cache and make trips from the television to the fridge take a fraction of the time of a full-blown trip to the store.

Queue responses aggressively

So far we’ve put a bunch of strategies in place to deal with users requesting the web page where vote is cast, but what about handling huge volumes of incoming votes?

Its a lot like the real world actually. Imagine if a Super Bowl poll was written on a chalkboard that had a column per poll option. For people to vote, they have to walk by and check their choice under the column. If 100,000 people stormed the chalk board at the same time to mark their response, it would be total chaos.

Computer systems can become overloaded when a bunch of people use it at the same time without any sort of queueing.

The trick is to make people stand in a single file line and check the option they’d like as they walk by in an orderly fashion and things can be kept under control.

When a queue is put into place, people stand in line and a particular task is accomplished one person at a time. While lines can be slow, at least when it’s finally your turn, the goal can be accomplished. In a stampede situation, you may never accomplish your goal trying to break through the crowds.

A line with 100,000 people? That seems daunting! You bet it is, but if each person takes a few milliseconds to mark their response, the entire queue can be processed in a few minutes. Split the single chalkboard into one chalkboard per poll option, and you can split the line for faster, parallel processing.

We aggressively employ queueing to make sure that we quickly receive responses from our users, then they stand in line on our server for a few milliseconds, before being processed.

Scaling requires years of experience in operations and understanding in a particular problem domain

On the surface, polling applications seem very simple, but the devil is in the details, especially for large events like the Super Bowl. There are a lot of other very interesting design issues that I didn’t cover above that we employ to make sure that we can scale for large events, but the techniques and approaches above will get you pretty far.

Of course, Poll Everywhere is here for you if you have a big event that you want to host without sweating the details.

Performance and Reliability: One Year Later

Growth from July 2012 to Present

Remember last Fall when we experienced an insane amount of growth during the back-to-school rush and experienced a few outages along the way? We do, and we’ve been working non-stop over the past year to make sure that we don’t run into the same issues.

We expect at least 2x the amount of traffic over last August/September, so we planned to 4x our capacity, but ended up engineering Poll Everywhere to handle 16x of anticipated capacity.

Not only did we scale our systems up by a factor of 16, but we also run a simulation of this traffic on our servers every night. That means while you’re sleeping, we’re busy hammering on Poll Everywhere to make sure its just as fast for you as the day before.

What does all of this mean?

It means you can expect fast, reliable service from Poll Everywhere this Fall and well into the future. Not only did we meet our scaling challenges, but we have introduced several new processes in our development and operations processes to make sure we always catch problems before they become a major issue.

But we didn’t just stop there…

We give you an unprecedented view into the status of our system once every 5 seconds

The live graphs at status.polleverywhere.com give you unprecedented transparency into our app to make sure everything is working if you suspect any issues.

Its pretty common for web applications these days to indicate the status of their system’s with a traffic light: green for “everything is OK”, yellow for “we’re experiencing some minor issues”, all the way to the dreaded red, “nothing is working!” That just wasn’t good enough for us, so we took transparency to the next level by providing these live graphs to our customers so they can see how long its taking for our system to process responses.

We run at least two of everything for increased reliability

We invested a lot of time and money to make sure that we run at least two of everything in our infrastructure to make our application more reliable. If a database server catastrophically fails, you probably wouldn’t even notice as it switches over to a backup system.

If that wasn’t enough, our customer support is legendary

Did you know that when you call our customer service number a human picks up that knows the product like the back of their hand? When you send us an email, its unusual if we don’t get back to you within an hour. When things go wrong or you’re having a tough time understanding something, we put the best support at your disposal. You can call, email, or hit us up on Twitter and we’re always there to help.

What other clicker or web response company do you know that commits to that level of transparency?

Try Calling Google

Hello ... Google?

Spoiler alert: You can’t.

Well, maybe you can, if you’re the sort of “VIP” customer that knows the secret handshake. Try giving them a call (Hint: If you don’t want to wait 1:43 to hear “Because Google doesn’t offer live customer support at this time …”, press 5 and then 3). Meanwhile, Google is hugely successful without an easy-to-find phone number or phone support.

Many web companies take this approach, but “burying” a phone number on a site doesn’t bury their users’ frustration and confusion. In fact, it’s just plain annoying. At Poll Everywhere, we have had our phone number listed on every page of the site since the first page went live in 2007. Continue reading

Lower Price for Higher Ed Plans

We’ve been able cut our costs and pass the savings on to you.  Effective immediately, and going forward, individual instructor Higher Education plans have been cut $50 for both semester and annual plans.

Visit the higher ed pricing page to take advantage of the new price. 

More details:

Semester Plans:  were $399, now $349 (13% savings)

Annual Plans:  were $699, now $649 (nearly 10% savings)

How many things do you know are going DOWN in price?  We hope this will help out our college profs with their back to school response planning.  Like it?  Please don’t forget to retweet and share widely to your friends and family.

Enjoy the rest of your summer!

Love,

Poll Everywhere

Funny-pictures-lolcats-an-ai-has-a-happi

 

 

Using Google Forms to Quickly Register Event Attendees and Restrict Voting

Sometimes you have an event where voting needs to be restricted to those in the room. Maybe you’re conducting a contest or offering other incentives to participants. The best way to control who participates is to use the Registered Participants feature. Here’s an easy way to quickly register participants the day of the event.

IMPORTANT: Make sure to restrict your polls to only allow response from registered participants. You can do this under a poll’s “edit” menu by selecting “only registered participants” under the “Who Can Respond” menu.

We’re going to create a CSV spreadsheet file with our participant information. So, we can use the import tool to quickly register participants en masse. (More info here)

To make this as painless as possible we’re going to use a Google Form to quickly create our spreadsheet. Here is a sample Google Form we’ve created to demonstrate this:

Voting/Evaluation Check In

You can set this up at check in for attendees to fill out on their own or have a team member fill it out for them as participants enter the venue.

Keep in mind when completing this attendees do not necessarily need to provide accurate information when it comes to names or email addresses (if they want to remain anonymous). However, an accurate phone number is required if they will be voting via text message, and they’ll need to remember the email address and password they give in order to log in and vote via a web enabled device.

If you’re conscious about security and don’t want people to set a password through a Google form, that’s fine. You can also set up your registration kiosk to use your account’s registration link. Just remember that they need to logout before you register the next person.

5 Tips to Improve Participation

5tips

Whether you’re new to Poll Everywhere or a seasoned veteran, we want you to get the most out of your plan. Presenting to a room full of people is stressful enough, but it’s made even worse when you have an unresponsive, sleepy, or distracted audience. 

Here are 5 tips to improve audience interaction and participation in your polls. (Because that’s why you’re using Poll Everywhere in the first place!) 

  • Use It Live! Poll Everywhere was built as a live presentation tool for a reason! It’s engaging when participants see their results having a direct impact on screen. The “wow-factor” will encourage participation and audience interaction.
  • Practice First! Use a sample or practice poll. We recommend starting your event with a fun poll question. This could be pop-culture based or as simple as “Where are you from?” Giving your audience an opportunity to learn how to participate in a low-pressure environment will improve participation on other poll questions later on. 
  • Slow Down!  Presenters tend to rush polls because there is a natural tendency to be uncomfortable with the silence while waiting for people  to learn how to text. Train your presenters to fight this urge. Uncomfortable texters will give up because of feeling rushed. Typically, you should allow 90 seconds for your first poll, and 30-40 seconds per poll thereafter. As your audience becomes accustomed to submitting their votes, you’ll be able to pick up the pace.
  • Mix It Up! We find that audience participation on “just for fun” polls tends to drop off after four or more back-to-back polls. For the best participation make sure polls are spaced out in the presentation, and that the audience will be interested in learning their own consensus.  For example, one poll with funny / silly answers works well, but a few in a row and the audience may lose attention.
  • Offer Incentives! If people have high incentives to participate, “poll fatigue” is not usually an issue.  Examples include text message scavenger hunts, prizes for participation, professional education credits, and quizzes / tests.

Want more tips on improving audience interaction and participation? Check out the resources here.

Have you had success using other methods? Share them in the comments for the greater good, Спасибо!

 

Professor John Boyer AKA ‘The Plaid Avenger’ on Poll Everywhere

Last week we posted about using Skype In The Classroom to expand teaching beyond the walls of the class. Today, we’d like to introduce you to John Boyer of Virginia Tech. Skype is one of the many tools Professor Boyer uses to teach a class of nearly 3,000 students! In fact last December Boyer sent a YouTube video request for a Skype interview to Aung San Suu Kyi, and the Nobel Peace Prize recipient graciously accepted! In addition to Skype, Boyer employs tools like uStream, Twitter, Facebook, Turntable, podcasts, his own graphic novels, and (you guessed it) Poll Everywhere to encourage teacher-student and student-student interaction in and out of class. John sat down to share his experiences with Poll Everywhere and his “mega-class,” World Regions above. 

If you’d like to learn more about Professor Boyer’s experiences “supersizing the classroom,” check out his SXSW talk here or this excellent Chronicle of Higher Education article.

If you have a hankering to learn more about the world’s issue and problems check out www.plaidavenger.com; where you can learn about world events from Professor Boyer’s alter-ego and comic book character, The Plaid Avenger.

Got your own Poll Everywhere story? Let us know! Email hello+story@polleverywhere.com

Skype in the Classroom

Skype-logo1
Teachers know that learning doesn’t stop within the walls of a classroom.  One great tool that pushes those four walls away is Skype.  Skype is a free video calling, web tool that can transform learning in the classroom by inviting in the world. Educational uses for Skype, however, can go beyond the classroom and include administrative uses to bring teachers professional development opportunities or to hold conferences with parents who are unable to attend traditional meetings because of time constraints, lack of transportation, or perhaps an illness or disability.  Skype can make a connection with students or stakeholders that can create relationships that will make a positive difference.

Skype in the Classroom provides a link for educators to connect from around the world.  It also has a bank of project ideas for those excited about connecting but still in need of some inspiration for lessons. Skype can work for a variety of grade levels, from 1st grade to college, and subject areas are only confined to one’s imagination.  

 

5 Web 2.0 Tools to Help Students with Learning Disabilities

Ld_header

Students arrive to the classroom with a variety of talents as well as some with disabilities. The National Center for Learning Disabilities indicates that those students with learning disabilities (LD) suffer from “reading, writing, math, reasoning, listening, and speaking” skills that makes learning extremely frustrating. Fortunately, addressing different student aptitudes can be helped with the multitude of Web 2.0 tools available on the web.

Here are 5 tools that can make participation, presentations, and communication easier for students with LD giving them a means to succeed.  

1. Blogs and Wikis provide multiple elements that can enable student achievement. Often times students with LD have difficulty keeping up with note taking and experience comprehension difficulty with lectures; blogs and wikis can be used to fill the gaps that have occurred in class. Teachers can provide lecture notes – text, audio, or video format – on blogs/wikis, as well as assign collaborative writing projects. Blogs and wikis are a forum that can be used as an extension to classroom discussions or a location for student portfolios, as well as many other uses. A number of free sites are available and can easily be put to use, but since many may be publicly accessed it may be necessary to a check into your district’s technology use policy and gain parental permission.

2. Glogster is an online tool to create virtual posters. Students can combine text, images, music, and videos on online posters either as individual or collaborative projects. For those students with language disabilities, it can be difficult for them to find the right words to express their thoughts or communicate with others. This tool can be used to scaffold learning for students by adjusting the level of difficulty, tasks, and requirements according to the needs of students. The collaborative element on this site provides the opportunity for peer interaction and mixed-ability grouping creating an opportunity for students to learn from one another. Students with fine motor skill disabilities may not be able to operate scissors to complete a traditional poster assignment, but an online poster can make participation possible. Glogs can also help those students that struggle with logic and reasoning skills since they allow the manipulation of elements on the site giving students repeated attempts to get things just right.


3. Poll Everywhere is a easy way to gather live responses from students. Those students with auditory disabilities can benefit from this site since responses can be displayed for the class to view. All students can interact and participate in class discussions by texting, tweeting, or responding via the web. For students with speech disabilities, the use of this site as a backchannel provides students with a way to ask questions, and comment and respond to lessons. Poll Everywhere creates an atmosphere of inclusion by encouraging interaction through safe, fun, and quick live responses.

4. Voice Thread is an online tool that provides students a place to discuss topics and participate in conversations on the web. This discussion and participation can be accomplished through webcams, text, or audio permitting students to develop their ideas, modify them, and post when ready according to their preferences. Students, who have difficulty with organizing or expressing their thoughts through traditional classroom discussions, can take the time they need to formulate a thread that reflects their views. The threads are structured to encourage interaction amongst participants through peer comments, which can be beneficial for students to view the writing organization, coherence, and structure of others for future modeling.

5. Voki is a site where students can express themselves through the use of avatars. This is especially helpful for students who experience anxiety when asked to speak in front of the class. The site has many lessons plans that can be used as is or modified to a specific grade level or subject. Students write the monologue for their avatar, listen to it, and can modify it as needed. This gives students an opportunity to check their work as much as they desire before others hear it. This ability to listen and modify gives those students who struggle with organization, logic, and reasoning as much time as needed to feel confident with their work without the pressure that live presentations bring.

There are a number of sites available on the web that can assist in engaging and including students of all ability levels. Many learning disabilities involve difficulty with the output of information, which makes it hard for students to create projects or participate in many activities that routinely take place on classrooms. Incorporating these tools or others like them can make a difference in leveling the playing field for all learners.

 

Avoid International Texting Fees – Use Twitter!

Logo_twitter_withbird_1000_allblue

You can vote FREE on Poll Everywhere polls from anywhere in the world, assuming you have either an Internet connection or a cellphone capable of sending a text message.

Tip: Presenters in countries without a Poll Everywhere SMS short code should consider including these instructions to the audience prior to running the poll.

First a bit of background:

 

It’s very expensive for Poll Everywhere to have local short codes in every area, around the world, so that’s not something we currently provide, and even though the Canadian, Australian and UK numbers support a wide variety of countries, normal international messaging rates still apply. For most people outside those countries, this means paying international texting rates (bummer). But Twitter has already paid for those local short codes in many countries around the globe (yay!)  If you’re in one of the countries Twitter supports, they can allow you to vote on our polls, from anywhere, and for free, using text messages (it even works with satellite phones, we think)!

 

Here’s what to do (and we promise, it’s easy!)

1.  Add your phone to Twitter (If you’ve already done this, skip to #2):

a.  If you can access the internet on your phone, download the free Twitter app and create an account or login.

b.  If you don’t have internet access:

1.  Send a text message containing either START or SIGNUP to your country’s short code from this list (since Poll Everywhere is based in the United States, we’d send the text message to 40404).

2. If you don’t have a Twitter account, and text SIGNUP, you’ll be prompted with steps for setting up a Twitter account (it’s easy!). Here’s an example of how you would begin if you already have a Twitter account:

1

c.  After texting START or SIGNUP to Twitter’s short code for your country (40404 in our case, since we’re located in the United States), you’ll be prompted with either the steps to add your phone number to your existing Twitter account, or the steps to create an account.

2.  How to vote on a Poll Everywhere poll!
Let’s say you’re looking at a poll like this…

2

a. If you have internet access, open the Twitter app onyour smartphone (Android and iOS have Twitter apps) and select the Compose button. Begin your tweet with @poll followed by the appropriate keyword/code seen on-screen. Here’s an example of how voting on the above poll would look:

Twitter_app_voting

b. To vote via SMS on Twitter, create and send a text message containing @poll NOFEES (or YESFEES if you like paying international fees!) to your country’s Twitter phone number (40404 if you were located in the United States). Here’s an example of how voting on the above poll would look:

3

That’s it – you’re all set!

Twitter is an amazing service…and with their resources, not only can people vote on Poll Everywhere polls from anywhere, they can do so at no charge for international text messaging!