diff --git a/src/__celerity_resource_map__.php b/src/__celerity_resource_map__.php
index 7ce8dad85a..1b9c89f712 100644
--- a/src/__celerity_resource_map__.php
+++ b/src/__celerity_resource_map__.php
@@ -434,6 +434,20 @@ celerity_register_resource_map(array(
     'disk' => '/rsrc/image/loading.gif',
     'type' => 'gif',
   ),
+  '/rsrc/image/loading/boating_24.gif' =>
+  array(
+    'hash' => '2cd349ded48d698ebe886ba97b2db0f7',
+    'uri' => '/res/2cd349de/rsrc/image/loading/boating_24.gif',
+    'disk' => '/rsrc/image/loading/boating_24.gif',
+    'type' => 'gif',
+  ),
+  '/rsrc/image/loading/compass_24.gif' =>
+  array(
+    'hash' => '726c1ed4bf23446e044d6b9d28250a07',
+    'uri' => '/res/726c1ed4/rsrc/image/loading/compass_24.gif',
+    'disk' => '/rsrc/image/loading/compass_24.gif',
+    'type' => 'gif',
+  ),
   '/rsrc/image/loading/loading_24.gif' =>
   array(
     'hash' => 'd6dcc5e6111a44fb9a160fc27b19d85c',
@@ -448,6 +462,20 @@ celerity_register_resource_map(array(
     'disk' => '/rsrc/image/loading/loading_48.gif',
     'type' => 'gif',
   ),
+  '/rsrc/image/loading/loading_d48.gif' =>
+  array(
+    'hash' => 'c5181f5e0ac8125ad9beda73fdf18e91',
+    'uri' => '/res/c5181f5e/rsrc/image/loading/loading_d48.gif',
+    'disk' => '/rsrc/image/loading/loading_d48.gif',
+    'type' => 'gif',
+  ),
+  '/rsrc/image/loading/loading_w24.gif' =>
+  array(
+    'hash' => '231857d68736e9bdda6bdbaaf924b8da',
+    'uri' => '/res/231857d6/rsrc/image/loading/loading_w24.gif',
+    'disk' => '/rsrc/image/loading/loading_w24.gif',
+    'type' => 'gif',
+  ),
   '/rsrc/image/main_texture.png' =>
   array(
     'hash' => 'e34d8143384721be73ec9b7532a977ab',
@@ -814,7 +842,7 @@ celerity_register_resource_map(array(
   ),
   'aphront-form-view-css' =>
   array(
-    'uri' => '/res/98a89726/rsrc/css/aphront/form-view.css',
+    'uri' => '/res/7793ddd1/rsrc/css/aphront/form-view.css',
     'type' => 'css',
     'requires' =>
     array(
@@ -1922,6 +1950,17 @@ celerity_register_resource_map(array(
     ),
     'disk' => '/rsrc/js/core/behavior-autofocus.js',
   ),
+  'javelin-behavior-phabricator-busy-example' =>
+  array(
+    'uri' => '/res/dbe12f2f/rsrc/js/application/uiexample/busy-example.js',
+    'type' => 'js',
+    'requires' =>
+    array(
+      0 => 'phabricator-busy',
+      1 => 'javelin-behavior',
+    ),
+    'disk' => '/rsrc/js/application/uiexample/busy-example.js',
+  ),
   'javelin-behavior-phabricator-file-tree' =>
   array(
     'uri' => '/res/e5bf93df/rsrc/js/core/behavior-file-tree.js',
@@ -2972,12 +3011,13 @@ celerity_register_resource_map(array(
   ),
   'phabricator-busy' =>
   array(
-    'uri' => '/res/8e3f036d/rsrc/js/core/Busy.js',
+    'uri' => '/res/083c11d2/rsrc/js/core/Busy.js',
     'type' => 'js',
     'requires' =>
     array(
       0 => 'javelin-install',
       1 => 'javelin-dom',
+      2 => 'javelin-fx',
     ),
     'disk' => '/rsrc/js/core/Busy.js',
   ),
@@ -3001,7 +3041,7 @@ celerity_register_resource_map(array(
   ),
   'phabricator-core-css' =>
   array(
-    'uri' => '/res/dc204369/rsrc/css/core/core.css',
+    'uri' => '/res/7736096e/rsrc/css/core/core.css',
     'type' => 'css',
     'requires' =>
     array(
@@ -4082,7 +4122,7 @@ celerity_register_resource_map(array(
 ), array(
   'packages' =>
   array(
-    'e1a1ccff' =>
+    '178f5351' =>
     array(
       'name' => 'core.pkg.css',
       'symbols' =>
@@ -4130,10 +4170,10 @@ celerity_register_resource_map(array(
         40 => 'phabricator-property-list-view-css',
         41 => 'phabricator-tag-view-css',
       ),
-      'uri' => '/res/pkg/e1a1ccff/core.pkg.css',
+      'uri' => '/res/pkg/178f5351/core.pkg.css',
       'type' => 'css',
     ),
-    'f2ad0683' =>
+    '0b587556' =>
     array(
       'name' => 'core.pkg.js',
       'symbols' =>
@@ -4176,7 +4216,7 @@ celerity_register_resource_map(array(
         35 => 'phabricator-hovercard',
         36 => 'javelin-behavior-phabricator-hovercards',
       ),
-      'uri' => '/res/pkg/f2ad0683/core.pkg.js',
+      'uri' => '/res/pkg/0b587556/core.pkg.js',
       'type' => 'js',
     ),
     '4ccfeb47' =>
@@ -4324,16 +4364,16 @@ celerity_register_resource_map(array(
   'reverse' =>
   array(
     'aphront-attached-file-view-css' => 'adc3c36d',
-    'aphront-dialog-view-css' => 'e1a1ccff',
-    'aphront-error-view-css' => 'e1a1ccff',
-    'aphront-form-view-css' => 'e1a1ccff',
-    'aphront-list-filter-view-css' => 'e1a1ccff',
-    'aphront-pager-view-css' => 'e1a1ccff',
-    'aphront-panel-view-css' => 'e1a1ccff',
-    'aphront-table-view-css' => 'e1a1ccff',
-    'aphront-tokenizer-control-css' => 'e1a1ccff',
-    'aphront-tooltip-css' => 'e1a1ccff',
-    'aphront-typeahead-control-css' => 'e1a1ccff',
+    'aphront-dialog-view-css' => '178f5351',
+    'aphront-error-view-css' => '178f5351',
+    'aphront-form-view-css' => '178f5351',
+    'aphront-list-filter-view-css' => '178f5351',
+    'aphront-pager-view-css' => '178f5351',
+    'aphront-panel-view-css' => '178f5351',
+    'aphront-table-view-css' => '178f5351',
+    'aphront-tokenizer-control-css' => '178f5351',
+    'aphront-tooltip-css' => '178f5351',
+    'aphront-typeahead-control-css' => '178f5351',
     'differential-changeset-view-css' => 'dd27a69b',
     'differential-core-view-css' => 'dd27a69b',
     'differential-inline-comment-editor' => '9488bb69',
@@ -4347,19 +4387,19 @@ celerity_register_resource_map(array(
     'differential-table-of-contents-css' => 'dd27a69b',
     'diffusion-commit-view-css' => 'c8ce2d88',
     'diffusion-icons-css' => 'c8ce2d88',
-    'global-drag-and-drop-css' => 'e1a1ccff',
+    'global-drag-and-drop-css' => '178f5351',
     'inline-comment-summary-css' => 'dd27a69b',
-    'javelin-aphlict' => 'f2ad0683',
+    'javelin-aphlict' => '0b587556',
     'javelin-behavior' => 'a9f14d76',
-    'javelin-behavior-aphlict-dropdown' => 'f2ad0683',
-    'javelin-behavior-aphlict-listen' => 'f2ad0683',
-    'javelin-behavior-aphront-basic-tokenizer' => 'f2ad0683',
+    'javelin-behavior-aphlict-dropdown' => '0b587556',
+    'javelin-behavior-aphlict-listen' => '0b587556',
+    'javelin-behavior-aphront-basic-tokenizer' => '0b587556',
     'javelin-behavior-aphront-drag-and-drop' => '9488bb69',
     'javelin-behavior-aphront-drag-and-drop-textarea' => '9488bb69',
-    'javelin-behavior-aphront-form-disable-on-submit' => 'f2ad0683',
+    'javelin-behavior-aphront-form-disable-on-submit' => '0b587556',
     'javelin-behavior-audit-preview' => '96909266',
     'javelin-behavior-dark-console' => '4ccfeb47',
-    'javelin-behavior-device' => 'f2ad0683',
+    'javelin-behavior-device' => '0b587556',
     'javelin-behavior-differential-accept-with-errors' => '9488bb69',
     'javelin-behavior-differential-add-reviewers-and-ccs' => '9488bb69',
     'javelin-behavior-differential-comment-jump' => '9488bb69',
@@ -4375,33 +4415,33 @@ celerity_register_resource_map(array(
     'javelin-behavior-diffusion-commit-graph' => '96909266',
     'javelin-behavior-diffusion-pull-lastmodified' => '96909266',
     'javelin-behavior-error-log' => '4ccfeb47',
-    'javelin-behavior-global-drag-and-drop' => 'f2ad0683',
-    'javelin-behavior-history-install' => 'f2ad0683',
-    'javelin-behavior-konami' => 'f2ad0683',
-    'javelin-behavior-lightbox-attachments' => 'f2ad0683',
+    'javelin-behavior-global-drag-and-drop' => '0b587556',
+    'javelin-behavior-history-install' => '0b587556',
+    'javelin-behavior-konami' => '0b587556',
+    'javelin-behavior-lightbox-attachments' => '0b587556',
     'javelin-behavior-load-blame' => '9488bb69',
     'javelin-behavior-maniphest-batch-selector' => '98f64f07',
     'javelin-behavior-maniphest-subpriority-editor' => '98f64f07',
     'javelin-behavior-maniphest-transaction-controls' => '98f64f07',
     'javelin-behavior-maniphest-transaction-expand' => '98f64f07',
     'javelin-behavior-maniphest-transaction-preview' => '98f64f07',
-    'javelin-behavior-phabricator-active-nav' => 'f2ad0683',
-    'javelin-behavior-phabricator-autofocus' => 'f2ad0683',
-    'javelin-behavior-phabricator-gesture' => 'f2ad0683',
-    'javelin-behavior-phabricator-hovercards' => 'f2ad0683',
-    'javelin-behavior-phabricator-keyboard-shortcuts' => 'f2ad0683',
-    'javelin-behavior-phabricator-nav' => 'f2ad0683',
+    'javelin-behavior-phabricator-active-nav' => '0b587556',
+    'javelin-behavior-phabricator-autofocus' => '0b587556',
+    'javelin-behavior-phabricator-gesture' => '0b587556',
+    'javelin-behavior-phabricator-hovercards' => '0b587556',
+    'javelin-behavior-phabricator-keyboard-shortcuts' => '0b587556',
+    'javelin-behavior-phabricator-nav' => '0b587556',
     'javelin-behavior-phabricator-object-selector' => '9488bb69',
-    'javelin-behavior-phabricator-oncopy' => 'f2ad0683',
-    'javelin-behavior-phabricator-remarkup-assist' => 'f2ad0683',
-    'javelin-behavior-phabricator-reveal-content' => 'f2ad0683',
-    'javelin-behavior-phabricator-search-typeahead' => 'f2ad0683',
-    'javelin-behavior-phabricator-tooltips' => 'f2ad0683',
-    'javelin-behavior-phabricator-watch-anchor' => 'f2ad0683',
-    'javelin-behavior-refresh-csrf' => 'f2ad0683',
+    'javelin-behavior-phabricator-oncopy' => '0b587556',
+    'javelin-behavior-phabricator-remarkup-assist' => '0b587556',
+    'javelin-behavior-phabricator-reveal-content' => '0b587556',
+    'javelin-behavior-phabricator-search-typeahead' => '0b587556',
+    'javelin-behavior-phabricator-tooltips' => '0b587556',
+    'javelin-behavior-phabricator-watch-anchor' => '0b587556',
+    'javelin-behavior-refresh-csrf' => '0b587556',
     'javelin-behavior-repository-crossreference' => '9488bb69',
-    'javelin-behavior-toggle-class' => 'f2ad0683',
-    'javelin-behavior-workflow' => 'f2ad0683',
+    'javelin-behavior-toggle-class' => '0b587556',
+    'javelin-behavior-workflow' => '0b587556',
     'javelin-dom' => 'a9f14d76',
     'javelin-event' => 'a9f14d76',
     'javelin-history' => 'a9f14d76',
@@ -4421,55 +4461,55 @@ celerity_register_resource_map(array(
     'javelin-util' => 'a9f14d76',
     'javelin-vector' => 'a9f14d76',
     'javelin-workflow' => 'a9f14d76',
-    'lightbox-attachment-css' => 'e1a1ccff',
+    'lightbox-attachment-css' => '178f5351',
     'maniphest-task-summary-css' => 'adc3c36d',
     'maniphest-transaction-detail-css' => 'adc3c36d',
-    'phabricator-action-list-view-css' => 'e1a1ccff',
-    'phabricator-application-launch-view-css' => 'e1a1ccff',
-    'phabricator-busy' => 'f2ad0683',
+    'phabricator-action-list-view-css' => '178f5351',
+    'phabricator-application-launch-view-css' => '178f5351',
+    'phabricator-busy' => '0b587556',
     'phabricator-content-source-view-css' => 'dd27a69b',
-    'phabricator-core-css' => 'e1a1ccff',
-    'phabricator-crumbs-view-css' => 'e1a1ccff',
+    'phabricator-core-css' => '178f5351',
+    'phabricator-crumbs-view-css' => '178f5351',
     'phabricator-drag-and-drop-file-upload' => '9488bb69',
-    'phabricator-dropdown-menu' => 'f2ad0683',
-    'phabricator-file-upload' => 'f2ad0683',
-    'phabricator-filetree-view-css' => 'e1a1ccff',
-    'phabricator-flag-css' => 'e1a1ccff',
-    'phabricator-form-view-css' => 'e1a1ccff',
-    'phabricator-header-view-css' => 'e1a1ccff',
-    'phabricator-hovercard' => 'f2ad0683',
-    'phabricator-jump-nav' => 'e1a1ccff',
-    'phabricator-keyboard-shortcut' => 'f2ad0683',
-    'phabricator-keyboard-shortcut-manager' => 'f2ad0683',
-    'phabricator-main-menu-view' => 'e1a1ccff',
-    'phabricator-menu-item' => 'f2ad0683',
-    'phabricator-nav-view-css' => 'e1a1ccff',
-    'phabricator-notification' => 'f2ad0683',
-    'phabricator-notification-css' => 'e1a1ccff',
-    'phabricator-notification-menu-css' => 'e1a1ccff',
-    'phabricator-object-item-list-view-css' => 'e1a1ccff',
+    'phabricator-dropdown-menu' => '0b587556',
+    'phabricator-file-upload' => '0b587556',
+    'phabricator-filetree-view-css' => '178f5351',
+    'phabricator-flag-css' => '178f5351',
+    'phabricator-form-view-css' => '178f5351',
+    'phabricator-header-view-css' => '178f5351',
+    'phabricator-hovercard' => '0b587556',
+    'phabricator-jump-nav' => '178f5351',
+    'phabricator-keyboard-shortcut' => '0b587556',
+    'phabricator-keyboard-shortcut-manager' => '0b587556',
+    'phabricator-main-menu-view' => '178f5351',
+    'phabricator-menu-item' => '0b587556',
+    'phabricator-nav-view-css' => '178f5351',
+    'phabricator-notification' => '0b587556',
+    'phabricator-notification-css' => '178f5351',
+    'phabricator-notification-menu-css' => '178f5351',
+    'phabricator-object-item-list-view-css' => '178f5351',
     'phabricator-object-selector-css' => 'dd27a69b',
-    'phabricator-phtize' => 'f2ad0683',
-    'phabricator-prefab' => 'f2ad0683',
+    'phabricator-phtize' => '0b587556',
+    'phabricator-prefab' => '0b587556',
     'phabricator-project-tag-css' => 'adc3c36d',
-    'phabricator-property-list-view-css' => 'e1a1ccff',
-    'phabricator-remarkup-css' => 'e1a1ccff',
+    'phabricator-property-list-view-css' => '178f5351',
+    'phabricator-remarkup-css' => '178f5351',
     'phabricator-shaped-request' => '9488bb69',
-    'phabricator-side-menu-view-css' => 'e1a1ccff',
-    'phabricator-standard-page-view' => 'e1a1ccff',
-    'phabricator-tag-view-css' => 'e1a1ccff',
-    'phabricator-textareautils' => 'f2ad0683',
-    'phabricator-tooltip' => 'f2ad0683',
-    'phabricator-transaction-view-css' => 'e1a1ccff',
-    'phabricator-zindex-css' => 'e1a1ccff',
-    'phui-button-css' => 'e1a1ccff',
-    'phui-form-css' => 'e1a1ccff',
-    'phui-icon-view-css' => 'e1a1ccff',
-    'phui-spacing-css' => 'e1a1ccff',
-    'sprite-apps-large-css' => 'e1a1ccff',
-    'sprite-gradient-css' => 'e1a1ccff',
-    'sprite-icons-css' => 'e1a1ccff',
-    'sprite-menu-css' => 'e1a1ccff',
-    'syntax-highlighting-css' => 'e1a1ccff',
+    'phabricator-side-menu-view-css' => '178f5351',
+    'phabricator-standard-page-view' => '178f5351',
+    'phabricator-tag-view-css' => '178f5351',
+    'phabricator-textareautils' => '0b587556',
+    'phabricator-tooltip' => '0b587556',
+    'phabricator-transaction-view-css' => '178f5351',
+    'phabricator-zindex-css' => '178f5351',
+    'phui-button-css' => '178f5351',
+    'phui-form-css' => '178f5351',
+    'phui-icon-view-css' => '178f5351',
+    'phui-spacing-css' => '178f5351',
+    'sprite-apps-large-css' => '178f5351',
+    'sprite-gradient-css' => '178f5351',
+    'sprite-icons-css' => '178f5351',
+    'sprite-menu-css' => '178f5351',
+    'syntax-highlighting-css' => '178f5351',
   ),
 ));
diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php
index 3baf4ec98e..46188d9c83 100644
--- a/src/__phutil_library_map__.php
+++ b/src/__phutil_library_map__.php
@@ -911,6 +911,7 @@ phutil_register_library_map(array(
     'PhabricatorBotUser' => 'infrastructure/daemon/bot/target/PhabricatorBotUser.php',
     'PhabricatorBotWhatsNewHandler' => 'infrastructure/daemon/bot/handler/PhabricatorBotWhatsNewHandler.php',
     'PhabricatorBuiltinPatchList' => 'infrastructure/storage/patch/PhabricatorBuiltinPatchList.php',
+    'PhabricatorBusyExample' => 'applications/uiexample/examples/PhabricatorBusyExample.php',
     'PhabricatorCacheDAO' => 'applications/cache/storage/PhabricatorCacheDAO.php',
     'PhabricatorCacheManagementPurgeWorkflow' => 'applications/cache/management/PhabricatorCacheManagementPurgeWorkflow.php',
     'PhabricatorCacheManagementWorkflow' => 'applications/cache/management/PhabricatorCacheManagementWorkflow.php',
@@ -2851,6 +2852,7 @@ phutil_register_library_map(array(
     'PhabricatorBotUser' => 'PhabricatorBotTarget',
     'PhabricatorBotWhatsNewHandler' => 'PhabricatorBotHandler',
     'PhabricatorBuiltinPatchList' => 'PhabricatorSQLPatchList',
+    'PhabricatorBusyExample' => 'PhabricatorUIExample',
     'PhabricatorCacheDAO' => 'PhabricatorLiskDAO',
     'PhabricatorCacheManagementPurgeWorkflow' => 'PhabricatorSearchManagementWorkflow',
     'PhabricatorCacheManagementWorkflow' => 'PhutilArgumentWorkflow',
diff --git a/src/applications/uiexample/examples/PhabricatorBusyExample.php b/src/applications/uiexample/examples/PhabricatorBusyExample.php
new file mode 100644
index 0000000000..4d88bac3ef
--- /dev/null
+++ b/src/applications/uiexample/examples/PhabricatorBusyExample.php
@@ -0,0 +1,17 @@
+<?php
+
+final class PhabricatorBusyExample extends PhabricatorUIExample {
+
+  public function getName() {
+    return 'Busy';
+  }
+
+  public function getDescription() {
+    return "Busy.";
+  }
+
+  public function renderExample() {
+    Javelin::initBehavior('phabricator-busy-example');
+    return null;
+  }
+}
diff --git a/webroot/rsrc/css/aphront/form-view.css b/webroot/rsrc/css/aphront/form-view.css
index 961a45420b..25301c8bce 100644
--- a/webroot/rsrc/css/aphront/form-view.css
+++ b/webroot/rsrc/css/aphront/form-view.css
@@ -32,9 +32,10 @@
 
 .device-phone .aphront-form-view label.aphront-form-label,
 .aphront-form-full-width.aphront-form-view label.aphront-form-label {
-  float: left;
+  display: block;
+  float: none;
   text-align: left;
-  width: auto;
+  width: 100%;
   margin-bottom: 3px;
 }
 
@@ -65,8 +66,8 @@
 
 .device-phone .aphront-form-error,
 .aphront-form-full-width .aphront-form-error {
-  float: right;
-  width: auto;
+  float: none;
+  width: 100%;
 }
 
 .device-phone .aphront-form-drag-and-drop-upload {
diff --git a/webroot/rsrc/css/core/core.css b/webroot/rsrc/css/core/core.css
index 89aa57b170..d72781cb80 100644
--- a/webroot/rsrc/css/core/core.css
+++ b/webroot/rsrc/css/core/core.css
@@ -113,16 +113,13 @@ img {
 
 .busy {
   position: fixed;
-  bottom: 8px;
-  right: 8px;
-
-  background: #ffffff url(/rsrc/image/loading.gif) center no-repeat;
-  width: 64px;
-  height: 64px;
-  opacity: 0.5;
-
-  border: 1px solid #444444;
-  border-radius: 8px;
+  bottom: 16px;
+  right: 16px;
+  width: 44px;
+  height: 44px;
+  border-radius: 5px;
+  opacity: 0.4;
+  background: #000 url(/res/cb6fc6eb/rsrc/image/loading/compass_24.gif) center no-repeat;
 }
 
 .grouped:after {
diff --git a/webroot/rsrc/image/loading/boating_24.gif b/webroot/rsrc/image/loading/boating_24.gif
new file mode 100644
index 0000000000..eae5784e21
Binary files /dev/null and b/webroot/rsrc/image/loading/boating_24.gif differ
diff --git a/webroot/rsrc/image/loading/compass_24.gif b/webroot/rsrc/image/loading/compass_24.gif
new file mode 100644
index 0000000000..c437e8a87d
Binary files /dev/null and b/webroot/rsrc/image/loading/compass_24.gif differ
diff --git a/webroot/rsrc/image/loading/loading_d48.gif b/webroot/rsrc/image/loading/loading_d48.gif
new file mode 100644
index 0000000000..1a34b39165
Binary files /dev/null and b/webroot/rsrc/image/loading/loading_d48.gif differ
diff --git a/webroot/rsrc/image/loading/loading_w24.gif b/webroot/rsrc/image/loading/loading_w24.gif
new file mode 100644
index 0000000000..b13cfb8adf
Binary files /dev/null and b/webroot/rsrc/image/loading/loading_w24.gif differ
diff --git a/webroot/rsrc/js/application/uiexample/busy-example.js b/webroot/rsrc/js/application/uiexample/busy-example.js
new file mode 100644
index 0000000000..d829435270
--- /dev/null
+++ b/webroot/rsrc/js/application/uiexample/busy-example.js
@@ -0,0 +1,9 @@
+/**
+ * @provides javelin-behavior-phabricator-busy-example
+ * @requires phabricator-busy
+ *           javelin-behavior
+ */
+
+JX.behavior('phabricator-busy-example', function(config) {
+  JX.Busy.start();
+});
diff --git a/webroot/rsrc/js/core/Busy.js b/webroot/rsrc/js/core/Busy.js
index 07b884e63c..eaaad74477 100644
--- a/webroot/rsrc/js/core/Busy.js
+++ b/webroot/rsrc/js/core/Busy.js
@@ -1,6 +1,7 @@
 /**
  * @requires javelin-install
  *           javelin-dom
+ *           javelin-fx
  * @provides phabricator-busy
  * @javelin
  */
@@ -26,14 +27,13 @@ JX.install('Busy', {
       var self = JX.Busy;
       if (!self._depth) {
         self._indicator = JX.$N('div', {className: 'busy'});
-        self._indicator.style.display = 'none';
+        self._indicator.style.opacity = 0;
         document.body.appendChild(self._indicator);
 
         // Don't actually show the indicator for a little while, to prevent
         // it from flashing briefly for every Ajax request.
-        setTimeout(function() {
-          self._indicator && (self._indicator.style.display = '');
-        }, 500);
+
+        new JX.FX(self._indicator).setDuration(1000).start({opacity: [0, 0.8]});
       }
       self._depth++;
     },