Index: wp-admin/includes/ajax-actions.php
===================================================================
--- wp-admin/includes/ajax-actions.php	(revision 24384)
+++ wp-admin/includes/ajax-actions.php	(working copy)
@@ -13,10 +13,10 @@
 	$response = array();
 
 	// screen_id is the same as $current_screen->id and the JS global 'pagenow'
-	if ( ! empty($_POST['screenid']) )
-		$screen_id = sanitize_key($_POST['screenid']);
+	if ( ! empty($_POST['screen_id']) )
+		$screen_id = sanitize_key($_POST['screen_id']);
 	else
-		$screen_id = 'site';
+		$screen_id = 'front';
 
 	if ( ! empty($_POST['data']) ) {
 		$data = wp_unslash( (array) $_POST['data'] );
@@ -29,7 +29,7 @@
 	do_action( 'heartbeat_nopriv_tick', $response, $screen_id );
 
 	// send the current time according to the server
-	$response['servertime'] = time();
+	$response['server_time'] = time();
 
 	wp_send_json($response);
 }
@@ -2075,16 +2075,13 @@
 	$response = array();
 
 	// screen_id is the same as $current_screen->id and the JS global 'pagenow'
-	if ( ! empty($_POST['screenid']) )
-		$screen_id = sanitize_key($_POST['screenid']);
+	if ( ! empty($_POST['screen_id']) )
+		$screen_id = sanitize_key($_POST['screen_id']);
 	else
-		$screen_id = 'site';
+		$screen_id = 'front';
 
 	if ( ! empty($_POST['data']) ) {
 		$data = (array) $_POST['data'];
-		// todo: how much to sanitize and preset and what to leave to be accessed from $data or $_POST..?
-		$user = wp_get_current_user();
-		$data['user_id'] = $user->exists() ? $user->ID : 0;
 
 		// todo: separate filters: 'heartbeat_[action]' so we call different callbacks only when there is data for them,
 		// or all callbacks listen to one filter and run when there is something for them in $data?
@@ -2097,7 +2094,7 @@
 	do_action( 'heartbeat_tick', $response, $screen_id );
 
 	// send the current time acording to the server
-	$response['servertime'] = time();
+	$response['server_time'] = time();
 
 	wp_send_json($response);
 }
Index: wp-includes/js/heartbeat.js
===================================================================
--- wp-includes/js/heartbeat.js	(revision 24384)
+++ wp-includes/js/heartbeat.js	(working copy)
@@ -11,7 +11,7 @@
 			running,
 			beat,
 			nonce,
-			screenid = typeof pagenow != 'undefined' ? pagenow : '',
+			screenId = typeof pagenow != 'undefined' ? pagenow : '',
 			url = typeof ajaxurl != 'undefined' ? ajaxurl : '',
 			settings,
 			tick = 0,
@@ -42,17 +42,17 @@
 
 			interval = settings.interval || 15; // default interval
 			delete settings.interval;
-			// The interval can be from 5 to 60 sec.
-			if ( interval < 5 )
-				interval = 5;
+			// The interval can be from 15 to 60 sec. and can be set temporarily to 5 sec.
+			if ( interval < 15 )
+				interval = 15;
 			else if ( interval > 60 )
 				interval = 60;
 
 			interval = interval * 1000;
 
-			// 'screenid' can be added from settings on the front-end where the JS global 'pagenow' is not set
-			screenid = screenid || settings.screenid || 'site';
-			delete settings.screenid;
+			// 'screenId' can be added from settings on the front-end where the JS global 'pagenow' is not set
+			screenId = screenId || settings.screenId || 'front';
+			delete settings.screenId;
 
 			// Add or overwrite public vars
 			$.extend( this, settings );
@@ -83,7 +83,7 @@
 			return false;
 		}
 
-		// Set error state and fire an event if XHR errors or timeout
+		// Set error state and fire an event on XHR errors or timeout
 		function errorstate( error ) {
 			var trigger;
 
@@ -148,7 +148,7 @@
 			send.interval = interval / 1000;
 			send._nonce = nonce;
 			send.action = 'heartbeat';
-			send.screenid = screenid;
+			send.screen_id = screenId;
 			send.has_focus = hasFocus;
 
 			connecting = true;
