Design Thoughts
Q) How would you design an elevator for a 1000 storey building.
A) Assuming a system of multiple elevators, the biggest challenges would be the selection algorithm and elevator behavior. Let’s say we have ‘n’ elevators at our disposal and the average number of floors travelled in a single elevator ride is ‘m’. Two distinct cases emerge :
- If m < (1000/n) then we can safely allocate each elevator to a specific range of floors. For example if m = 70 and n = 10, then elevator 1 would be designated for floors 1 - 100, elevator 2 for 101 - 200 etc. Since the average number of floors travelled is lower than the elevator range we can safely assume that most journeys have reasonable wait times and do not involve an elevator change. The flaws and assumptions of this solution are as follows :
- Assumption 1 : Average wait time is an accurate metric for user behavior. This fails to be true if the number of floors travelled is skewed heavily towards high and low values. In such a scenario commuters who need to travel many floors will need to transfer elevators many times.
- Assumption 2 : n is suitably high to ensure the division of floors breaks down wait time. For example if n = 2, each elevator is still covering 500 floors.
- If m > (1000/n) or either of the two assumptions are false, then a more intelligent system is needed wherein the user keys in the required floor on elevator request. Each moving elevator must also store it’s destination floor. Generally speaking the allocation of the elevator must minimize the sum of the pick up time and drop off time. Using the floor the request came in, the destination floor of the request and the current destinations of all the elevators the elevator with the lowest sum of the pick up time and drop off time can be computed.
- If m < (1000/n) then we can safely allocate each elevator to a specific range of floors. For example if m = 70 and n = 10, then elevator 1 would be designated for floors 1 - 100, elevator 2 for 101 - 200 etc. Since the average number of floors travelled is lower than the elevator range we can safely assume that most journeys have reasonable wait times and do not involve an elevator change. The flaws and assumptions of this solution are as follows :
In addition, both these solutions could be further optimized by adding conditions where elevators reverse their current directions in order to pick up closeby requests. For example, an elevator currently at floor 5 going up to floor 100 can afford to travel down to floor 3 in order to accommodate for a request to floor 90.
Finally, the user interface for the input of floors should be a panel with keys from 0 - 9 so that users can key in their destination floors instead of picking from 1000 buttons. In addition, requested floors should be listed in order as well. In the scenario of direction reversal, feedback of the request that prompted reversal will also reduce user displeasure.
Q) What are factors you would consider in designing an achievement system that encourages replayability
A) Achievement systems exist in games in many forms, whether stated explicitly or otherwise. The following principles for replayability will vary in implementation based on whether the game targets core players (seek competence and accomplishment) or casual players (seek exploration and variety) :
Feedback Loops : Achievement systems that create feedback loops are more likely to elicit replayability. Achievements that yield items, powers or loot that alter initial state by making the task’s execution different or more compelling in some way create replayable systems.
Eg : Levelling up in an RPG to unlock skills
Randomness and Nondeterminism : Creating achievements that are partially driven by strategy but ultimately rely on chance can prompt players to attempt to create the scenario for the achievement to occur multiple times.
Eg : Monopoly - Obtaining property and building houses places scenarios which could potentially reward the player but is ultimately dependent on dice roll.
Non Discrete Achievements : Non binary states of an achievement are particularly engaging for core players as the spectrum of result fosters competition. The very concept of a score is a manifestation of a non discrete achievement.
Eg : Temple Run/Flappy Bird/Pacman/Any Arcade Game - Even though these games are almost entirely deterministic in their behaviors, they are engaging because there is a continuous spectrum to measure success.
Q) Suggest two design changes to chess to neutralize the first turn advantage
A) The first turn in chess yields an advantage because it allows greater control over pace and direction. Black is in a state of “responding” to white’s moves until the game is offset somehow. Additionally, playing the first turn also allows initial control over the centre of the board. The two following design changes do not entirely eliminate the first turn advantage but diminish it significantly :
Blind First Moves - Players write down their first moves on a sheet of paper and reveal them simultaneously. Once the moves are complete, the player that has a kill opportunity on the board plays next and play continues turn based after that. If both players have a kill opportunity, then the blind move is repeated. If neither has a kill opportunity, white plays first.
This change creates a dynamic where turn based gameplay begins in a state not governed by white and which does not necessarily yield a benefit to either player. The state may depend entirely on chance or the ability to anticipate the other player’s first blind move. A variation on this rule that neutralizes the first turn advantage completely is continuing blind moves until a kill opportunity presents itself. However this change might further be digressing from what makes chess.
Black Pawn Reset - The first pawn that black loses is not discarded. Instead it is reset to it’s original position. If the original position of the pawn is occupied then the player must wait for it to become vacant once again. This allows players controlling black to attempt to maneuver white out of the position of power controlling the centre of the board, while not tilting the scale too far in the opposite direction.
Q) Suggest three changes to the Reddit upvoting system to ensure higher quality answers reach the top of the list.
We are going to assume that ‘quality’ is a measure of how many votes a post receives. Upvote systems are typically nuanced and score computing algorithms factor in submission time and weight early upvotes over later upvotes. To ensure ‘quality’, time relevance must play a less important role. This can be achieved through the following :
Confidence Score Meter - The ranking of the post should depend on the number of votes it has in conjunction with whether the votes are upvotes or downvotes. Posts with lower number of votes should provisionally stay at the top until it gains enough number of votes for the system to decide it’s quality.
Gradation from Upvote to Downvote - This system relies heavily on the distinction between upvote and downvote. This distinction can be made more nuanced if we have a scale from downvote to upvote. This scale would allow us to better weigh the impact of each vote. If post A is worse than post B, it will fall faster on the list than post B as post A will receive votes closer to the downvote end of the spectrum.
Voter Weightage - The system is currently a truly democratic one in terms of viewing each vote equally. This may not be the best way to ensure quality as a subject matter expert’s vote is probably more valuable than the lay person’s votes. Therefore a subsystem that computes the weight of a vote for a given voter would be improve the relationship between ‘quality’ and ‘number of votes’. This subsystem should somehow account for voter competence. To do so posts should be categorized based on genre. The number of upvotes received by voters posts in a given genre decides his votes weightage.
Q) How would you redesign sending of a social media post to tackle racist messages
A) Social media can be doing more to tackle racism in many ways. In general, there are two broad categories of measures that can be taken :
- React and penalize racist behavior when it is detected.
- Strive to create scenarios within social media that tackle the root cause for racist behavior, such as incentivizing communication between races
Since this question is targeted to user experience and how users make posts I shall suggest two design changes in the first category. I shall also assume current levels of technology that are not capable of advanced machine learning for automated cognition of media as racist :
Preemptive Crowdsourced Checks - The absolute best way to reduce proliferation of racist content is to ensure it does not find its way into the system. Before a user makes a post, the content could be sent to two or three of his friends for cross verification. This system could be optimized in a number of ways :
- Perform check for only those users who have been reported before
- Allow users to select friends who will verify their posts. These friends must have a clean record themselves.
Preemptive Feedback Mechanisms - Research indicates that a majority of racist content online is not posted with the intent of being racist. For text based posts, an algorithm could be employed to match post being typed with keywords found in posts categorized as racist. When a match is found, the posts marked as racist could be presented to the user with a predefined string explaining why the post could be construed in a racist manner.
Q) How would you design a survey trying to assess the most desired feature for an operating system.
A) The phrase ‘most desired feature’ could alter based on the parameters for evaluating desire. Are we trying to fill a gap in the existing functionality? Are we trying to bolster an area of functionality which is not working as well as anticipated? Or are we trying to further enhance a smoothly functioning aspect of the software? Each of these agenda’s would be surveyed differently.
I shall assume that our survey is open to all of the above and is trying to assess what would result in a broader increment in the overall satisfaction with the product. Considering that the agenda is exploratory, I would propose the format of an interview over that of a survey so that the session can adapt to the surveyee. I would begin with an extremely broad question such as ‘What do you think of the product?’. The answer to such a question should bring forth the most prominent component of usage and whether the experience has been positive, negative or neutral.
- Negative and Targeted - The next questions should assess the cause for discomfort and the scale of impact.
- Positive and Targeted - The the next questions should assess the specifics of what is working well and whether there is scope for further improvement.
- Neutral or Vague - The next questions should assess which features are being most uses and least used.
The final question could then be a very targeted question - ‘If there was one feature you wish you had what would it be?’ It is critical that this question be last in order to avoid biasing answers to the other questions.
Q) How would you measure the value of the 'Retweet Feature'
A) The value of the Re-Tweet like any other feature, should be measured in conjunction with it’s original purpose. In this case, the retweet feature propagates tweets to users who would have otherwise not seen the tweet, creating a rippling of the tweet. This propagation results in more number of followers. The following metrics could be used to measure the success of the retweet feature.
- Average degree of propagation - The degree of propagation of a tweet is the number of times it is retweeted by someone outside of the tweeter's followers.
- Followers due to Retweet - The number of users who choose to follow another user based on a seen retweet.
Q) Suggest three experieces possible only in mixed reality.
A) For Mixed Reality experiences to differentiate themselves from Virtual Reality the experience must utilize the physical environment in some way. This is challenging considering that VR experiences are already at a stage where fully positionally tracked avatars are useable in game.
Transforming Physical Objects - Imbuing physical objects with digital properties gives haptic feedback while at the same time giving it properties that allow it to function as more than itself in an experience.
Eg : A survival game where the player must use transformed objects around him to survive. For instance, perhaps a ball becomes a hand grenade. A towel becomes an invisibility cloak etc
Physically Nuanced Multiplayer - Games which require reading of body language, facial expressions, and in general a degree of physical nuance that VR avatars can’t accomplish, will truly be native to MR experiences.
Eg: Zip, Zap, Zop with a digital energy ball
Physically Based Level Design - Games that utilize physical world objects as obstacles and/or assets for level progression will provide for germane MR experiences that are infinitely replayable by reorienting the physical space to alter the initial state of the level.
Eg: Real World Platformer - Game where player must place physical objects in such a manner that a miniature digital character can use the objects to platform from point A to point B