Elise Kain

  • Design
  • Logic
  • Code

9.6 Ball Lifted or Moved by Outside Influence


              const ruleNinePointSix = `If it is ${knownOrVirtuallyCertain}
              that an ${outsideInfluence} (including another player in 
              ${strokePlay} or another ball) lifted or ${moved} a player’s
              ball:
              
              There is no penalty, and the ball must be ${replaced} on its 
              original spot (which if not known must be estimated) 
              (see Rule 14.2).
              
              This applies whether or not the player’s ball has been found.`;
              

15.1 Loose Impediments


              class Impediment {
                constructor(isNatural, isGrowing) {
                  this.isNatural = isNatural;
                  this.isGrowing = isGrowing;
                }

                get isLooseImpediment() {
                  return this.isNatural && !this.isGrowing;
                }
              }
              const leaf = new Impediment(true, false);
              leaf.isLooseImpediment // true
            

14.3 Dropping Ball in Relief Area


                function invokeRule() {
                  let ballDrops = 0;
                  return function dropBallProcedure() {
                    if (ballDrops >= 2) {
                      return placeBall();
                    } else if (droppedIncorrectly || deliberatelyDeflected) {
                      dropBallProcedure();
                    } else if (ballGoesOutsideReliefArea) {
                      ballDrops++;
                      dropBallProcedure();
                    }
                    return;
                  };
                };
    
                const dropBall = invokeRule();
                dropBall();
                
  • Front End Developer

How would you solve displaying tabular data on a medium to small screen size?

Design Thinking

design thinking
          graphic Image from Stanford d.school

Base Design

  • Table
  • Visualization
  • Cards
  • Search
  • Export

Strategies for Table Design

  • Columns shrink
  • Drop non-essential columns
  • Horizontal scroll
  • Frozen header row / identifying column
  • Collapse row into "card" structure
  • Display additional info in popup on hover / tap
  • Arrow dropdown for each row, reveal additional info
  • Make it easy to select a subset of data (records or columns)

Additional Discussion Points

  • Context
  • Mental Model
  • Performance
  • Accessibility
  • Touch Event Interactions
  • Micro-animations