diff --git a/Syncbase/Example/Dice Roller/Base.lproj/Main.storyboard b/Syncbase/Example/Dice Roller/Base.lproj/Main.storyboard
index 17dee1d..98bd78b 100644
--- a/Syncbase/Example/Dice Roller/Base.lproj/Main.storyboard
+++ b/Syncbase/Example/Dice Roller/Base.lproj/Main.storyboard
@@ -32,7 +32,7 @@
                                 </constraints>
                             </view>
                             <activityIndicatorView hidden="YES" opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" hidesWhenStopped="YES" style="whiteLarge" translatesAutoresizingMaskIntoConstraints="NO" id="QOU-JV-r2d" userLabel="Spinner">
-                                <rect key="frame" x="281.5" y="457.5" width="37" height="37"/>
+                                <rect key="frame" x="282" y="458" width="37" height="37"/>
                             </activityIndicatorView>
                         </subviews>
                         <color key="backgroundColor" red="0.2470588235" green="0.31764705879999999" blue="0.70980392160000005" alpha="1" colorSpace="calibratedRGB"/>
@@ -84,7 +84,7 @@
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                         <subviews>
                             <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="fillEqually" alignment="center" spacing="50" translatesAutoresizingMaskIntoConstraints="NO" id="APD-dz-sU0">
-                                <rect key="frame" x="260" y="224" width="80" height="152"/>
+                                <rect key="frame" x="260" y="174" width="80" height="253"/>
                                 <subviews>
                                     <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="180-RC-nik">
                                         <rect key="frame" x="0.0" y="0.0" width="80" height="51"/>
@@ -106,7 +106,13 @@
                                             <action selector="didPressRollDie:" destination="70a-ZD-vEg" eventType="touchUpInside" id="jDV-E7-3Ta"/>
                                         </connections>
                                     </button>
+                                    <activityIndicatorView opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" animating="YES" style="gray" translatesAutoresizingMaskIntoConstraints="NO" id="ofb-qf-jIF">
+                                        <rect key="frame" x="30" y="202" width="20" height="51"/>
+                                    </activityIndicatorView>
                                 </subviews>
+                                <constraints>
+                                    <constraint firstItem="ofb-qf-jIF" firstAttribute="top" secondItem="W1t-Lo-OTx" secondAttribute="bottom" id="Ik5-Rh-9RQ"/>
+                                </constraints>
                             </stackView>
                         </subviews>
                         <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
@@ -123,6 +129,7 @@
                         </barButtonItem>
                     </navigationItem>
                     <connections>
+                        <outlet property="activityIndicator" destination="ofb-qf-jIF" id="iqN-ov-TiD"/>
                         <outlet property="numberLabel" destination="180-RC-nik" id="nyZ-Kj-0LD"/>
                         <segue destination="01J-lp-oVM" kind="showDetail" identifier="LogoutSegue" id="fOL-0c-Tbh"/>
                     </connections>
diff --git a/Syncbase/Example/Dice Roller/DiceViewController.swift b/Syncbase/Example/Dice Roller/DiceViewController.swift
index f0b7155..3ff5ac6 100644
--- a/Syncbase/Example/Dice Roller/DiceViewController.swift
+++ b/Syncbase/Example/Dice Roller/DiceViewController.swift
@@ -11,12 +11,15 @@
 
 class DiceViewController: UIViewController {
   @IBOutlet weak var numberLabel: UILabel!
+  @IBOutlet weak var activityIndicator: UIActivityIndicatorView!
   var collection: Collection?
+  var currentDieRoll = UInt8(2) // The starting number from the XIB
 
   override func viewDidLoad() {
     super.viewDidLoad()
 
     do {
+      activityIndicator.alpha = 0.0
       collection = try Syncbase.database().collection(collectionName)
     } catch let e {
       print("Unexpected error: \(e)")
@@ -57,8 +60,12 @@
     if let value = lastValue {
       // Get the single byte out via typecasting to an array of UInt8. This will be unnecessary
       // when we have VOM support in Swift.
-      let num = unsafeBitCast(value.bytes, UnsafePointer<UInt8>.self).memory
-      numberLabel.text = num.description
+      currentDieRoll = unsafeBitCast(value.bytes, UnsafePointer<UInt8>.self).memory
+      numberLabel.text = currentDieRoll.description
+
+      UIView.animateWithDuration(0.35) {
+        self.activityIndicator.alpha = 0.0
+      }
     }
   }
 
@@ -68,7 +75,16 @@
   }
 
   @IBAction func didPressRollDie(sender: UIButton) {
-    var nextNum = UInt8(arc4random_uniform(6) + 1)
+    var nextNum: UInt8
+
+    UIView.animateWithDuration(0.35) {
+      self.activityIndicator.alpha = 1.0
+    }
+
+    repeat {
+      nextNum = UInt8(arc4random_uniform(6) + 1)
+    } while (nextNum == currentDieRoll)
+
     // Right now we can only store NSData, so we have to serialize this number to store it.
     // Soon we will have VOM support and can just put the raw int as the value and expect
     // it to work properly.
