On a hot day in the middle of the summer, I went into Baskin and Robbins for an ice cream. When the server asked me for my order, I looked up at the list of 31 flavors and was so overwhelmed that I walked out of the shop, telling myself "I don't really want ice cream anyway."
I have since learned that what I experienced that day is a common phenomenon, explored by Barry Schwartz in his 2004 book The Paradox of Choice: Why More is Less. It turned out that this "paradox" is at the heart of a visual algorithm that I recently completed.
Figure 1: The SkyCube coordinate system
The SkyCube app is tuned to the user's preferences, with the most desirable points in the middle and least desirable points out in the periphery. This layout minimizes the user's cognitive load, thereby solving the "paradox."
There is a bullseye at dead center (bin 0,0,0), and a Goldilocks Zone spread out through the middle of the 3D data space (bin 1,1,1). Rather than compromising choices with "cheap, fast, good; choose two", the Goldilocks Zone explores data points that are "kinda cheap, kinda fast, and kinda good." The Goldilocks Zone has 6 adjacent bins, which makes 6 thresholds and the visualization shows which threshold a data point is closest to.
User preferences determine the value of thresholds that decide which points are bad, good, or best. The user can change threshold values by sliding the circular button along the axis, or by dragging a data point into an adjacent bin.
The ideal uses for this algorithm is for applications where the user is inundated with a large number of data points, such as buying a used car or booking a hotel room.
I named the app the SkyCube as it is the 3D version of the Skyline Operator graph, an extension to SQL proposed by Borzsonyi et al in 2001. The data points shown in the Skyline/SkyCube can also be referred to as the Pareto set.
Figure 2: The Skyline slice - find me a cheap hotel room close to the beach
The thresholds of distance to the beach (0.4km, 1.3km, and 1.6km) and cost ($60, $100, and $130) place almost all of the suitable hotel rooms inside the green zone. This is the Pareto set. Data points in other sections are either too far from the beach or too expensive.
Figure 3: The SkyCube slice - find me a nice, cheap hotel room close to the beach
By adding a third dimension of hotel star rating, the two dimensional graph becomes cumbersome to interpret and isn't useful to the average user.
Figure 4: Hotel rooms in the SkyCube
Placing the data points into the SkyCube allows the average user to easily browse data points according to their preferences.
Figure 5: Shopping for a used car
From Expedia to Autotrader, the algorithm's different configurations allow for searching and sorting through the data of each implementation.