views:

2087

answers:

19

At Disney World, they use a system called Fastpass to create a second, shorter line for popular rides. The idea is that you can wait in the standard line, often with a wait longer than an hour, or you can get a FastPass which allows you to come back during a specified time block (usually a couple hours later) and only wait for 10 minutes or less. You can only be "waiting" for one ride at a time with a FastPass.

I have been trying to figure out the queue theory behind this concept, but the only explanation I have found is that it is designed to get people out of the lines and doing things that will bring in additional revenue (shopping, eating, etc).

Is this why FastPass was implemented, or is there a real visitor efficiency problem that it solving? Are there software applications that have applied similar logic? Are there software applications that should apply similar logic?

Part of the problem I see with implementing something similar in software is that it is based on users choosing their queue. Do to the faster wait cycles in software, I think a good application of this theory would require the application to be smart enough to know what queues to place people in based on their needs without requiring end-user choice.

A: 

The only software analogy I can see is that this method avoids overflowing the queue buffer - if many clients all try to add to a queue at roughly the same time it could quickly fill up that queue. If clients are asked to wait a given length of time then they have to buffer their (relatively) fewer items locally before adding to the queue.

In most other cases however this leads to less efficient throughput as it could lead to the queue becomming starved if the wait times are poorly chosen.

Try writing a test application that uses queueing both with and without 'FastPass' under various metrics and comparing the results - and let us know if you find anything interesting! :)

Mark Pim
A: 

Don't know about how it would be applied in software. But the system definitely has its advantages for visitors: you can have a Fastpass for one ride, and meanwhile go to another ride whose line isn't as long (or, as you say, go shopping, eating, etc.). It was quite the lifesaver when I and my family were there (though admittedly, it was the off-season).

Alex
+5  A: 

I think in a way you could compare this with asynchronous programming model.

You ask the system to execute an action and you'll come back later for the result.

The big difference is that you either specify which event/callback to call when done or are required to enter the wait at a time when your ready to wait. I haven't seen a mechanism which would tell you to come back at a later time and be guaranteed lower waiting times.

Davy Landman
A: 

Given that it's being exploited, you'd have to trust the queue users ;-)

Si
+9  A: 

The FastPass basically implements non blocking visitors with some kind of priority queue. They don't block, they don't sleep, they spend money. It works because john uses it at 11:00 AM, joe uses it at 11:15 AM (or 11:01 am). Now, if everyone had a fast pass, the regular line would be much faster while most visitors spent more money on food and gifts. For Disney, this is the desired effect, to a degree.

The pass makes some assumptions and has some limitations. It assumes that fastpass holders are the minority .. if that changed, they would have to make the pass work on multiple rides, or fastpass holders would spend money while seeing very few people in the regular line .. counterproductive. Since only one ride is supported, no two fastpass holders will ask for the same ride at once.

Now, considering that Joe might leave the park prior to taking his turn, you would have to come up with some kind of visitor 'futex' to make the system efficient. If joe left, and john arrived early, john could ride. Moreover, John would wonder why his fast pass did not notify him that he could ride nn minutes sooner. That's where it really gets fun, what if Joe left just to get some sunscreen from the car and returned? After all, his turn is two hours away, unless 200 more people before him left the park while he was blocking (while getting sunscreen), a task that can't be interrupted. So in that instance, we put Joe in some kind of disk sleep, or sleep that can not be interrupted or killed. He gets no signals, he's not polling anything, he's out of the park.

This is the kind of theory that drives practical lock free programming. Its as interesting as the dining philosophers problem, in fact more.

As far as Disney goes.. this is not a bug, its a feature, people are less inclined to leave the park while being more inclined to spend money.

Tim Post
Fastpass doesn't *assume* that Fastpass holders are the minority. There are a limited number of Fastpasses available for any ride, so Fastpass *forces* that group to be a minority.
brian d foy
The concept assumes it because the implementation enforces it. We're discussing the concept, not the implementation, no? :)
Tim Post
+5  A: 

In an ordinary queue you can't really estimate how fast you get your ride. You're nervous and sometimes think about just dropping the idea.

With FastPass you "know" that the ride will happen in a precisely defined time period. You are "sure" about when this happens and think about quitting less often. You go shopping and eating and return when needed. You are likely to return since you have applied for the ride in advance and feel commitment. Joel Spolsky describes a similar commitment idea used at Starbucks queues.

So FastPass is a kind of convenience for both the park and the visitors. Visitors are more delighted and the park can sell them more while they are waiting.

Just an example of good social engineering.

sharptooth
A: 

From my supply chain class, the aspect of queuing that came to me immediately is that is reduces your perceived wait time, so people don't mind waiting at all. I don't think it shortens the main lines, but it does ease somebody's anxiety about waiting in the regular line, since they know that as soon as they get off the ride, they can get right back on a second time (if their fastpass time is up, anyway).

I know that perceive that I can ride way more rides with the fastpass, though I don't know if it's actually the case or if it's just a clever re-framing of my wait time.

rwmnau
+28  A: 

It's about accumulation, not queue efficiency.

Fastpass works because it makes the individual items in the queue more efficient in "consuming" something. It's not so much a queue like a processor waiting for instructions to execute as it is people waiting in line for food.

In the case of people at Disneyland, it allows them to maximize their fun.

Think about a processor accepting instructions. Each instruction is waiting to get executed in the queue, to perform its task. Now change it up – imagine each instruction is waiting in line not to execute an instruction, but to get something from the processor – each time it hits a processor it is rewarded with a gold star, and its job is to accumulate as many of these as possible.

Fastpass is like allowing the instruction to go somewhere else, to a different processor, to get a gold star there, before returning back to the main processor to get the golds star from it.

In the case of users at Disneyland, they're interested in having fun – accumulating ride experiences. The Fastpass allows for a maximization by allowing the user to find a different ride with a shorter line, so they can accumulate more in a shorter time.

Chris Holmes
You make a very good point about looking at it not from a queue optimization standpoint, but from a rewards optimimization standpoint. I ended up picking the other answer because I think looking at whole park utilization is also a big part of it and that answer called that out clearer.
Nathan Voxland
+17  A: 

The fast pass line is obviously not going to increase total throughput on a given ride queue, but it does help in resource scheduling and resource assignment where people and rides are the resources.

Like I said, you aren't going to create any more total throughput for said ride, but there may be rides being underutilized elsewhere. If you are now able to ride these rides as well as the rides you have to wait on, then you can increase the overall efficiency of the park. What I mean by that is minimizing the amount of rides that are running below passenger capacity.

If you have computer resources sitting idle, waiting to perform a task that might take a long time, it makes sense to utilize this resource for something else in the meantime right? It's simple from that perspective.

Brad Barker
Of course, Disney doesn't really care about ride utilization, per-se: They care about total visitors, and how much they pay at concession stands. (contd)
Nick Johnson
Fastpass likely increases both: Visitors are more likely to return because they know they can get fastpasses, and they'll probably buy something in the time they would have spent waiting in line, unable to do so.
Nick Johnson
Fastpasses aren't available for rides that would be underutilized, just the very popular rides that always have a significant queue.
brian d foy
It's a customer sat thing, as well as a revenue thing. Fastpasses are to get people moving around, to (a) buy something as you pointed out and (b) avoid letting people grow old standing in line. When "the Disney Experience" becomes equivalent to standing in lines forever, Disney loses. Even if you don't spend a nickel while holding the FastPass, Disney and you both still win.
Cheeso
@brian d foy, I think you entirely missed the point. The fast passes on the popular rides are what allow people to then go use the under utilized rides.
KingNestor
Actually, Disney doesn't care about visitors, either. They care about profit.
Jurily
It's great for Disney. You can't buy a soda, or a $25 rain cape, or a Mickey Mouse sweatshirt while you're stuck in some huge line, twiddling your thumbs. If you're confident you're going to get your ride, you'll leave and spend some cash. You also won't go home and complain about how great such-and-such ride was, except for the DARNED LINE.
Stephen Harmon
A: 

FastPass allows you to wait in multiple lines at the same time. It allows you to avoid waiting, but increases the average wait time because the lines effectively get longer.

But most people don't spent their entire time going on rides. Some events, like the parades, don't really have a waiting time. By using a fast pass you can go to more of these no-line or short-line events without sacrificing as many long-line rides.

Strilanc
actually the original post said you could only have 1 fastpass at a time.. i have know knowledge if that is correct or not
ShoeLace
2 lines is still multiple lines
Strilanc
You can have multiple fast passes at the same time. However, you can't get the second fastpass until the first one is available for use. There's nothing that notes that you've used one, just that you got one.
brian d foy
+3  A: 
Gavin Miller
yes.. i like this analogy best
ShoeLace
+1  A: 

There are two places that come to mind that have similar behavior in software development for me. However, neither is an exact analogy, since they both require

The first is asynchronous programming. As mentioned before, there are some differences between the async model and the fastpass model, in terms of how you wait. However, some other programming models (such as Message Passing Interface) give you some other options, which probably get a little closer to the FastPass model.

In particular, I was thinking of the MPI_Gather methods in MPI - they use a model that's probably a little bit closer. Every function is passed out around the cluster, and then you can call gather from the root to get the currently processed data. The goal is the same (keeping everyone waiting less [not blocking on the user] and walking around, spending [or processing data]).

The other place I can see a similarity is in advanced threaded programming models, such as the new scheduler in the TPL. One of the main advantages of the TPL coming in C# 4 is that the scheduler will allow work stealing, which to me seems like a clear implementation in software of trying to shift around the lines dynamically - which ties back to FastPass. One of the nice things with fastpass is that you sit in line less, and ride more, and move around more. With TPL, there is (hopefully) less blocking and waiting, since a thread who has finished its queue can steal tasks from other queues.

Reed Copsey
Concerning MPI_Gather - I agree, the FastPass has symmetry in most scheduling implementations.
Gavin Miller
+1  A: 

The FastPass idea to me looks like a solution for systems where I need to perform tasks 1 through N and based on some knowledge I have about myself (at Disney, I might know that my kids would be plenty happy riding Test Track while waiting for the Soarin' FastPass time slice to arrive) I could schedule myself to go into 'FastPass' queue for task N and also get into the standard queue for task M. This would work where the order of task isn't necessarily important and where queue time was known and I could estimate how long it would take to do task M or N. Not sure I've got a good real-world programming example though - much of our thinking is linear in nature and so our workflows tend to be that way.

itsmatt
A: 

the only explanation I have found is that it is designed to get people out of the lines and doing things that will bring in additional revenue (shopping, eating, etc).

I think you've hit on the main point there, but you make it sound more corporate-evil than perhaps it deserves. I'd certainly rather “virtually queue” whilst shopping and eating than physically queue in a line.

Theoretically, FastPass could try to schedule more people at times when natural demand was lower; that's what you'd do to get more throughput out of a real scheduled queue. But in practice, I suspect the rides are operating pretty much at capacity for most of the day, so there is little productivity to be gained from this.

bobince
+9  A: 
Osama ALASSIRY
+1  A: 

One interesting aspect of FastPass is that it introduces a feedback channel for Disney. By having a single line that almost always waits for attraction to become available there is not much you can do except somehow measure how long the line is at fixed time intervals during the day. Using FastPass Disney collects demand and traffic data per attraction in real time and already digitized - it should go to their data warehouse for mining right away.

I tend to agree that those who qualify FastPass as a resource allocation system more than a resource queueing system. Another analogy would be to treat every Disney customer as OS process that is a single-threaded until a customer picks up a FastPass. This makes customer a 2-threaded process that keeps cycling throughout the park as before and is running another thread that waits its turn for designated resource (FastPass attraction). Allowing multiple FastPasses to users (processes) will make such processes more multithreaded. Thread synchronization takes place when customer finally gets to FastPass attraction to enjoy it.

grigory
It is likely that most rides can already digitise loading throughout the day. A sensor on each seatbelt / locking arm could count the number of passengers per run (and even where they like to sit) and you could then see when the ride runs most often, with the most loading, etc.
Tom Leys
This won't certainly work for FastPass rides since they are almost always full to capacity.
grigory
A: 

It is about resource scheduling for popular rides as well as a way to generate additional revenue by selling merchandise. If you are waiting in a line, it means that you aren't afforded the opportunity to spend more money.

jm04469
A: 

It is in Disney's best interest to satisfy their customers. While merchandising is surely significant revenue, getting repeat customers is many times more valuable.

If I pay $150 for a 1 day park-hopper ticket and only get to go 10 rides because the lines are so long I would question whether those rides are really worth $15 dollars a piece. If, however, there is a way for me go on 30 rides then I will have a better experience, be less likely to question the value of that experience and be more likely to return and give Disneyland another $150 + food + merchandise.

Prior to FastPass, the only differentiator between my riding 10 rides and 30 rides was how crowded the park was. This is a common problem that other desirable attractions have attempted to address in other ways. For example, Northstar ski resort at Tahoe will limit the number of lift tickets they sell on a given day (or at least they used to). This also addresses the problem, but in a way that more negatively impacts revenue.

In software, a similar paradigm would be loading a web page. In ancient times this process was single threaded: get all the content, render all the content and display the page. As traffic and data increased (specifically the incorporation of images) this model faced the same problem as Disneyland. If there were a lot images on the page and it took a long time to load, I wouldn't wait around for the content and might not bother ever coming back to that site.

Now days web pages are loaded differently. The content is loaded, rendered and displayed first while another thread loads, renders and displays the images. This vastly improves the user experience and, provided there is desirable content, I will continue to come back to the site and it can turn my repeated page views into $$$.

Brad C
A: 

This resembles a real-time OS in some regard.

Some processes has a fast pass, and are marked as real-time.

They have a guarantee that they will get the resource within a certain time period. They don't get to jump the queue, but they can push in! While they are not using the ride, other non real-time guests can use it.

-Alex

Alex Brown