diff --git a/lectures/L33-slides.tex b/lectures/L33-slides.tex index 170d127..4eea1e8 100644 --- a/lectures/L33-slides.tex +++ b/lectures/L33-slides.tex @@ -19,7 +19,7 @@ \begin{frame} \frametitle{New Considerations} -New considerations -- or complications -- arise. +New considerations---or complications---arise. We'll talk about two settings, one that I love and one that I hate: food halls and Service Ontario. @@ -90,7 +90,7 @@ \begin{frame} \frametitle{Nutritionist} -All the food hall examples are about food -- at least the possibility of interchangeability exists. +All the food hall examples are about food---at least the possibility of interchangeability exists. \begin{center} \includegraphics[width=0.6\textwidth]{images/dietitian.png} @@ -131,7 +131,7 @@ \begin{frame} \frametitle{How Long Now?} -In both cases where I choose to leave, there is an implicit or explicit calculation -- what would I calculate? +In both cases where I choose to leave, there is an implicit or explicit calculation---what would I calculate? \end{frame} @@ -170,7 +170,7 @@ Example: people with mobility restrictions at Service Ontario. -This makes my wait longer and might make give up waiting. +This makes my wait longer and might make me give up waiting. \end{frame} @@ -205,8 +205,11 @@ \frametitle{Laboratory Study with a Mouse} \begin{center} - \includegraphics[width=\textwidth]{images/themouse.jpg} +% \includegraphics[width=\textwidth]{images/themouse.jpg} + \includegraphics[width=.7\textwidth]{images/800px-Steamboat_Willie_Enters_the_Public_Domain.jpg} \end{center} + \hfill -- Doo Lee / CC BY 4.0 \\[-.5em] + \hfill {\tiny \url{https://commons.wikimedia.org/wiki/File:Steamboat_Willie_Enters_the_Public_Domain.jpg}} Yes. That mouse. @@ -215,9 +218,9 @@ \begin{frame} -\frametitle{Fastpass System} +\frametitle{FastPass System} -We're going to discuss the Disney FastPass and Fastpass+ systems. +We're going to discuss the Disney FastPass and FastPass+ systems. The full video: \url{https://www.youtube.com/watch?v=9yjZpBq1XBE} @@ -298,7 +301,7 @@ \begin{frame} -\frametitle{Relevant -- Yes!} +\frametitle{Relevant---Yes!} Does it matter what the people ahead of me in the line do before or after? diff --git a/lectures/L33.tex b/lectures/L33.tex index e66bc8c..1d75dd7 100644 --- a/lectures/L33.tex +++ b/lectures/L33.tex @@ -13,7 +13,7 @@ \section*{New Considerations} If you're not familiar with them, a quick refresher. A food hall, or food court, is a place where there are a number of counter-service restaurants that frequently offer different cuisines. Service Ontario is a place of interaction with the administrative state, specifically the services administered by the provincial government of Ontario. -\paragraph{Multiple Services.} The way we have discussed the idea of services is that all the offered services are the same, or at the very least, every server can deliver every kind of service. That's sometimes reasonable -- at Service Ontario, there are many different services available (drivers license renewal, health card renewal, vehicle registration update, etc) and any one of the staff members there can help you with any one of those services. +\paragraph{Multiple Services.} The way we have discussed the idea of services is that all the offered services are the same, or at the very least, every server can deliver every kind of service. That's sometimes reasonable---at Service Ontario, there are many different services available (driver's license renewal, health card renewal, vehicle registration update, etc) and any one of the staff members there can help you with any one of those services\footnote{Though not necessarily in the official language of Canada of your choice---\url{https://www.ledroit.com/actualites/politique/2024/06/14/services-en-francais-on-nous-prend-pour-une-erreur-administrative-K5OSXVISMRFCDMXOFURHZOMUQQ/}}. There are, of course, other situations where an individual member of staff cannot provide all services and therefore you must queue for the specific thing that you want, even if the other queues are shorter or empty. A food hall works like this. The Mexican restaurant may be very popular because they have excellent tacos, resulting in a long queue for that particular place. There may be no queue at the Gelato stand, but that doesn't help; the Gelato place cannot provide tacos. And while both of these are food, you will probably agree that they're not (always) interchangeable. If you really want tacos, gelato won't do. @@ -26,14 +26,14 @@ \section*{New Considerations} Whether things are interchangeable depends on the nature of the services and the needs of the people requesting them. Just as there are different services in this more complicated world, requesters also behave differently. -All of the above food hall examples are about food, so there's at least a possibility of interchangeability because every option will have some nutritional value (in the sense of, it's edible food with calories in it; a nutritionist might say the gelato has no nutritional value because it's not a ``healthy'' choice). If you went to Service Ontario to renew your drivers' license, there are really no alternatives that get you the same result: a new health card just isn't the same thing. +All of the above food hall examples are about food, so there's at least a possibility of interchangeability because every option will have some nutritional value (in the sense of being edible food, produced by a place which has passed health inspections, with calories in it; a nutritionist might say the gelato has no nutritional value because it's not a ``healthy'' choice). If you went to Service Ontario to renew your driver's license, there are really no alternatives that get you the same result: a new health card just isn't the same thing. Then there are the needs of the person requesting the thing: If someone is a vegetarian, they might be okay with tacos or pizza, but not shawarma. If they are a vegan, maybe the only option for them is the taco stand, no matter how good the pizza place is or how long the line for tacos is. \paragraph{Too Long.} While we're on the subject, when you're in the food hall and the length of a particular queue is too long, we may experience one of three behaviours: balking, reneging, or ``loss''. -Balking is what happens when you look at the line and you decide it's too long and there's no point in even getting into the line. That's very common: if I want to go to Service Ontario and it's so busy that there is a long line out the door, I'm not going to bother. I'll come back another time (if I can -- sometimes it's important to do something before a deadline). In the food hall, if the queue for tacos is really long, I'll line up for the shawarma. +Balking is what happens when you look at the line and you decide it's too long and there's no point in even getting into the line. That's very common: if I want to go to Service Ontario and it's so busy\footnote{pro tip: go at opening time, I (PL) have been in and out in 8 minutes.} that there is a long line out the door, I'm not going to bother. I'll come back another time (if I can---sometimes it's important to do something before a deadline). In the food hall, if the queue for tacos is really long, I'll line up for the shawarma. Reneging is what happens if I enter the queue for tacos, but before I get to the front of the queue, I give up (leave the queue). If it's taking too long and I'm really hungry (or just impatient), this could happen. It could also happen if I'm at Service Ontario in between things (e.g., on a lunch break) and if time runs out I need to go back to work. @@ -60,7 +60,7 @@ \section*{Laboratory Study with a Mouse} This section relies on a rather informative video by the channel Defunctland, about the history of the Disney Fastpass system~\cite{dldisney}. The actual video contains a lot of discussion about the history of Walt Disney World and other things that are not relevant here. But there are a few interesting things we can learn from it. In the video, there's a lot of background info but also some explanation of the simulation that was used to evaluate the situation. -Simulation? Yes -- at some point the queuing theory problem becomes so complex that our ability to reason about it and do the math with spreadsheets or Wolfram Alpha or hand calculations is a limiting factor. And a simulation allows us to validate our theories. But why is this system so complex that it requires a simulation? +Simulation? Yes---at some point the queuing theory problem becomes so complex that our ability to reason about it and do the math with spreadsheets or Wolfram Alpha or hand calculations is a limiting factor. And a simulation allows us to validate our theories. But why is this system so complex that it requires a simulation? If we abstract away some of the details of the Mouse and his friends, we're left with a system has many details that we need to concern ourselves with: @@ -78,12 +78,12 @@ \section*{Laboratory Study with a Mouse} \item Requests cannot be submitted after closing time \item Requests submitted too close to closing time may not be served before closing \end{itemize} - \item The park has different services that each have their own service rate and any of them could be down for maintenance (indepedently of any others) + \item The park has different services that each have their own service rate and any of them could be down for maintenance (independently of any others) \item The services have a fixed maximum capacity: you cannot make more seats on the rides or run them faster to get more people through quicker \end{itemize} \paragraph{Relevance?} -An important observation here is that this model is fairly different from what we are used to talking about when thinking of servicing requests. When I go to Service Ontario, I want to renew my license as fast as possible and leave as fast as possible and hope not to return any time soon. If I am at the food hall, I may want to sample some number of different cuisines, but I'll eventually be full (or at least be unable to eat any more food) and then I'll leave. But in this model, the tourist goes to the Mouse Park and stays for some period of time, trying to do as much as you want to do. That doesn't sound like most of our software service scenarios. Is anything we're learning in this model applicable? +An important observation here is that this model is fairly different from what we are used to talking about when thinking of servicing requests. When I go to Service Ontario, I want to renew my license as fast as possible and leave as fast as possible and hope not to return any time soon. If I am at the food hall, I may want to sample some number of different cuisines, but I'll eventually be full (or at least be unable to eat any more food) and then I'll leave. But in this model, the tourist goes to the Mouse Park and stays for some period of time, trying to do as much as they want to do. That doesn't sound like most of our software service scenarios. Is anything we're learning in this model applicable? I'll argue yes. If I'm a person waiting in line for a specific ride, it's entirely irrelevant to me whether the 400 people in front of me have just arrived at the park, or if they've been here for hours and this is their tenth ride. Rides don't have to be completed in a specific order (in the sense that nothing bad happens if someone does them out of order). @@ -97,7 +97,7 @@ \section*{Laboratory Study with a Mouse} In the no-priority system, everyone is equal. Wait times are just based on how popular things are and nobody gets to cut in line. It helps wait times to be predictable, because the line a person in will advance at a fairly steady rate. No priority may seem fair at a glance, but is it optimal? Let's see. -In the Fastpass system, instead of waiting in line, a person could get a little ticket that specifies a return time, and when they return they can get to the front of the line. This allows the people waiting to do something useful or fun in the meantime (and maybe profitable if you buy some food). That just makes it a virtual queue system, as far as we're concerned, and not really a priority lane. You're waiting in the queue just as long as you would otherwise, but you're not having to stand in the physical one doing nothing while you wait. This does allow you to potentially get some other stuff done (imagine you can get some gelato while waiting your turn for pizza). The Fastpass system is applied only to the (few) most popular things, so for all other attractions there is no fast lane. +In the FastPass system, instead of waiting in line, a person could get a little ticket that specifies a return time, and when they return they can get to the front of the line. This allows the people waiting to do something useful or fun in the meantime (and maybe profitable if you buy some food). That just makes it a virtual queue system, as far as we're concerned, and not really a priority lane. You're waiting in the queue just as long as you would otherwise, but you're not having to stand in the physical one doing nothing while you wait. This does allow you to potentially get some other stuff done (imagine you can get some gelato while waiting your turn for pizza). The FastPass system is applied only to the (few) most popular things, so for all other attractions there is no fast lane. In the \FPP~system, in advance of going to the park (or on arrival), you get three priority passes to some specific attractions well in advance. The passes can be ``sold out'' if there is sufficient demand. This resembles making reservations more so than waiting in a virtual queue. As you can imagine, people try really hard to get the priority passes for the most popular things. @@ -107,18 +107,18 @@ \subsection*{Results} So let's recap the results from the simulation~\cite{dldisney}. We're looking at the results in the video, but... did you want to play around with the simulation yourself? \url{https://github.com/TouringPlans/shapeland} -- it's python, but it's not super complicated code. The results are broken down into (1) standby waits, (2) overall waits, and (3) average number of rides experienced. \paragraph{Standby Waits.} -Standby waits increase using Fastpass, but that's not super surprising: if some people can cut to the front of the line, it delays everyone else. The \FPP~approach increases the wait times on every ride except the most popular one (even though it's a small amount), often by a significant amount. Okay, so we know that it makes stuff worse in standby, but not everyone is in the standby line. So what's the overall impact? +Standby waits increase using FastPass, but that's not super surprising: if some people can cut to the front of the line, it delays everyone else. The \FPP~approach increases the wait times on every ride except the most popular one (even though it's a small amount), often by a significant amount. Okay, so we know that it makes stuff worse in standby, but not everyone is in the standby line. So what's the overall impact? \paragraph{Overall Waits.} With no priority system, if a guest tried to do everything once, the average wait time would be about 41 minutes, but because people prefer to do the most popular things, the wait is about 58 minutes (on average) in reality. That's the baseline. -With the Fastpass system, the average wait in standby if doing every ride is 48 minutes, but the actual wait time is more like 40 minutes, which is about 2/3 of the wait of the no-priority system. That sounds pretty good! But keep in mind here that the benefit here is coming from pushing people to less popular attractions because they can do those while they're waiting in the queue for a more popular thing. +With FastPass, average wait in standby if doing every ride is 48 minutes, but actual wait time is more like 40 minutes---about 2/3 that of the no-priority system. That sounds pretty good! But note that the benefit here is coming from pushing people to less popular attractions which they can do while waiting for a more popular thing. The \FPP~solution raises the average standby wait for doing everything to 67 minutes but the typical wait per attraction is 42 minutes. Again, this is because the wait times are longer on standby. But, average times are reduced, because people are encouraged to go to less popular things to make use of those. \paragraph{Average Rides} -Ah, you've probably figured out at this point that one of the real goals of these priority systems are to incentivize people to use the under-utilized attractions. The average number of rides without any priority system is 3.31; with Fastpass it's 3.77; and with \FPP~it's 4.23. +Ah, you've probably figured out at this point that one of the real goals of these priority systems are to incentivize people to use the under-utilized attractions. The average number of rides without any priority system is 3.31; with FastPass it's 3.77; and with \FPP~it's 4.23. The distribution with \FPP~is quite uneven though: it increases the number of people who go on many rides, and also the number of people who go on very few. So now we have winners and losers in the system, whereas FastPass does not seem to have this same effect of increasing inequality: some people do many rides in the day, but a lot more people get zero or one. @@ -133,7 +133,7 @@ \subsection*{Lessons and Limitations} Inequality is increased even more in real life than in the simulation by the knowledge factor. People have learned the nuances of the system and those who know the secrets (or at least learn about enough of them) get to do more things. If you have mastered the system, you get to do a lot more rides (8--9!) than someone completely unaware of it who might only get 1--2 rides in. There are countless videos out there about how to take advantage of it. -A final lesson based on the nuances of the system is that the more complex your system is, the more opportunities there may be for people with expert knowledge to exploit it and benefit themselves at the expense of others. Unexpected user behaviour like that can really mess up your capacity planning and make the user experience for everyone else worse. +A final lesson based on system nuances is that the more complex your system is, the more ways there may be for people with expert knowledge to exploit it and benefit themselves at the expense of others. Such unexpected user behaviour can really mess up your capacity planning and make the user experience for everyone else worse. \input{bibliography.tex} diff --git a/lectures/images/800px-Steamboat_Willie_Enters_the_Public_Domain.jpg b/lectures/images/800px-Steamboat_Willie_Enters_the_Public_Domain.jpg new file mode 100644 index 0000000..cba1ca9 Binary files /dev/null and b/lectures/images/800px-Steamboat_Willie_Enters_the_Public_Domain.jpg differ