Simple Trick – Adding a Play Indicator to the Browser Tab

I’m a Soundcloud user and a while ago I noticed they did something cool with their interface – a “Play” icon when you are playing music.

If you’ve ever been jamming out and needed to quickly mute your computer then this is a nice way to see which browser tab is making sound. In fact, the most recent Chrome now makes this built in:

In this case the native indicator is on the right. This is especially handy for cases where a site feels that their users are too stupid to know how to play video and use autoplay. (And let’s be clear, if you use autoplay, you think your users are idiots. Either that or you are just a rude jerk who feels the need to …. ok sorry I’ll stop my rant now. ;)

So I knew this was trivial code but I wanted to build my own little example of this – just for the heck of it.

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
		<title>Some Page</title>
		<meta name="description" content="">
		<meta name="viewport" content="width=device-width">
	</head>
	<body>
		
		<button id="playButton">Play</button>

		<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
		<script>
		$(document).ready(function() {
			var $button = $("#playButton");
			var playing = false;
			var origTitle = document.title;
			
			$button.on("click", function() {
				if(!playing) {
					playing = true;	
					$button.text("Pause");
					document.title = '\u25B6 ' + origTitle;
				} else {
					playing = false;
					$button.text("Play");
					document.title = origTitle;
				}
			});
			
		});
		</script>
	</body>
</html>

The example above consists of one DOM item – a button. On the page load event, I grab a jQuery-wrapped pointer to it and a copy of the current page title. Then all I need to do is listen for click events to handle playing (or pausing) the audio. To be clear, I didn’t bother adding real audio here. To add the play indicator, you simply use the Unicode character for it and prepend it to the title. In case you’re curious, I Googled for “unicode for play symbol” to find the right one.

If you are incredibly bored and want to see this in action, hit the demo link below.