BnBandits: A Chrome Extension to Replace the Intro Videos on Airbnb With Clips From Home Alone

Visitors to Airbnb's home page are greeted by one of several background videos that depict guests enjoying their stay. Trouble is, they're pretty dull, especially if you're a regular user and see them again and again.

To make the home page more interesting, I've created a Chrome extension (10MB) that will replace these videos with a montage of the traps from Home Alone1.



This extension isn't on the Chrome Web Store, so installation is a little more of a manual process.

  1. Download and extract the extension.
  2. Open Chrome.
  3. Go to Window > Extensions.
  4. Drag the extracted .crx file onto the window.

  1. If you downloaded this extension when I first released it, you'll want to update to this version (no automatic update, sorry). I've since updated the Chrome extension so that the video is now contained within as the link to the old video is broken. 


OS X El Capitan and iOS 9 Honourable Mentions

A lot was covered during the extra-long keynote yesterday, though there's never enough time for the executive team to go through every new feature and update to Apple's platforms. Any that aren't considered "showworthy" will be saved for inclusion on the appropriate page on Apple's website.

In no particular order, here's a breakdown of some OS X and iOS "honourable mentions" from and Apple Developer that didn't quite make the show.

OS X El Capitan

Photos will gain the same support for 3rd-party editing extensions that iOS 8 introduced:

OS X El Capitan supports third-party tools that will be available from the Mac App Store and accessible right in the Photos app. Use multiple editing extensions from your favorite developers on a single photo, or use a mix of extensions and the editing tools built into Photos. From adding subtle filters to using beautiful texture effects, you can take your photo editing to a whole new level.

Apple TV users will be able to simply AirPlay video from the web:

Play video from a web page to your TV with Apple TV — without showing everything else on your desktop. Just click the AirPlay icon that appears on compatible web videos and you can watch your video on the big screen.

Maps for OS X also gains support for transit directions, and will continue to offer users the ability to make travel plans on their Mac and then send them to their iPhone:

Plan your route on your Mac, then send it to your iPhone with just a few clicks for stop-by-stop directions when you’re out and about.

From the OS X section on Apple Developer, it's not just app developers that will benefit. For example, there will be Force Touch APIs for websites to use within Safari:

The recently introduced Force Touch trackpad that brought a new level of interactivity and control for your Mac apps is now available for your websites.

With Yosemite, Netflix was able to ditch Silverlight for Safari users. Other content providers that wish to do the same will be able to do so in El Capitan:

Stream premium web video content securely with FairPlay Streaming support in Safari on OS X.

More updates to WebKit and Safari:

Support for AirPlay. The same JavaScript API previously available on iOS is now available on OS X, allowing you to add AirPlay support to your custom media controls.

News was a big part of the iOS 9 announcement, and it looks like many of Safari's new technologies (some of which I've already mentioned) are going to come into play when publishers begin creating content for the service:

Force Touch Trackpad Mouse Events. Create interactivity like never before using new events and force information from the Force Touch Trackpad.

CSS Scroll Snapping. Use CSS scroll snapping to keep the focal point of your content in view when scrolling momentum stops.

AirPlay for HTML5 Video. If you use custom controls for your HTML5 media, use JavaScript AirPlay support to add your own control to stream video to Apple TV.

HTML5 Video PiP. Use new JavaScript PiP support to add your own picture-in-picture control to custom controls for HTML5 videos.

Backdrop Filters. Add advanced image filters to the backdrop of your elements to achieve modern iOS and OS X material effects in your web content layouts.

Changes to WebKit provide some support to in-progess standards:

CSS4 support. Allows more sophisticated selector matching behaviors, and allows you to collapse repeated rules into a single rule.

Support for backdrop filters. Allows websites to apply a filter (for example, blur or grayscale) to all the content behind a specific piece of web content.

Other updates of note:

  • The new Notes app has an attachment browser for easy searching of different file types, from photos to documents.
  • Mail now supports tabs for new messages, similar to Safari and Finder tabs, so you can work on multiple messages at once.

iOS 9

A lot of iOS 9's new apps and features were covered by the keynote, though there are still a handful of features to mention.

The iPad received a lot of attention in iOS 9 and external keyboard support gained a welcome update to keyboard shortcuts. Not only are there more shortcuts than ever, but developers can include custom keyboard shortcuts within their apps:

Use keyboard shortcuts to perform even more commands on your iPad — like switching between apps or bringing up Search with a wireless keyboard. And interact with your apps using their own built-in, custom shortcuts. Just press and hold a key like Command, Option, or Control to see shortcuts in any app.

Some great security updates are there, too, including a change to the default passcode option to make it more secure (saving the need for clever workarounds):

The passcodes you use on your Touch ID–enabled iPhone and iPad will now have six digits instead of four. If you use Touch ID, it’s a change you’ll hardly notice. But with one million possible combinations — instead of 10,000 — your passcode will be a lot tougher to crack.

Two-factor authentication was mentioned, though not at any great length, in the keynote. Apple had previously been slow to adopt this but they are making great strides in expanding their requirements for it:

A password alone is not always enough to keep your account secure. With two-factor authentication, when you sign in from a new browser or on a new device, you’ll be prompted for a verification code. This code is automatically displayed on your other Apple devices or sent to your phone. Enter the code and you’re quickly signed in — and any unauthorized users are kept out.

If your Apple ID is being used to sign into a device elsewhere, your iOS devices will show you the location of the device the attempt is being made on:

iOS 9's two-factor authentication will display location information of the device attempting to sign in

Apple's Migration Assistant for Windows has been a great tool for switchers, providing an easy way (in theory) to transfer files from a Windows PC to a Mac. Now, they're doing the same for Android users who want to switch to iOS:

Just download the Move to iOS app to wirelessly switch from your Android device to your new iOS device. It securely transfers your contacts, message history, camera photos and videos, web bookmarks, mail accounts, calendars, wallpaper, and DRM-free songs and books. And it will help you rebuild your app library, too. Any free apps you used — like Facebook and Twitter — are suggested for download from the App Store. And your paid apps are added to your iTunes Wish List.

In more developer-focused news about iOS 9, CloudKit now provides developers with the ability to build a web front-end:

CloudKit JS, you can provide a web interface for your users to access the same data as your apps, making it easier to build apps that work together like never before.

Some other features of note:

  • iOS 9 brings comprehensive support for right-to-left languages.
  • The Shortcut Bar on the iOS keyboard can also be customized for third-party apps (similar to how developers "add" a row to it now).

Sidetrack: A great Feed Wrangler app for iOS

Despite using a number of different RSS services, I've always found myself coming back to Feed Wrangler. It has some great features and Smart Streams are worth the price of admission ($19 a year) alone. While I love the service, I've found that most third-party iOS feed readers offer only basic support, so it's often not possible to manage feeds and Smart Streams without visiting the website or using the official Feed Wrangler app.

I stumbled upon Sidetrack a few days ago via a retweet by @feedwrangler and it's now become my iOS feed reader of choice.


Sidetrack is a clean-looking app for both iPhone and iPad (including Apple Watch support) designed exclusively for Feed Wrangler, so it supports certain features that other feed reader apps don't, such as managing feed subscriptions and Smart Streams. Searches can even be saved, once performed, as Smart Streams, a quick way to create new Streams you'll likely want to keep.


The self-described "unconventional" RSS reader is exactly that, so navigating throughout the app, especially between articles, takes some getting used to. Moving between articles requires swiping anywhere on the article, though accessing the feed list and app settings require similar swipes from different areas of the display.

Swiping right moves to the next article, though in apps such as Photos, it's the traditional behaviour of going to back to something. This does, unfortunately, mean you'll often skip through articles accidentally while you become accustomed to the gestures, though toggling between unread, read and starred articles is just a tap away.

Gestures play a big part of Sidetrack's feature set and the entire article-browsing experience, as well as sharing to other services like Instapaper, can all be done through clever swiping without taking your finger or thumb off the display. Swipe right to move onto the next article, swipe down to bring up the sharing options and swipe left/right to select the sharing service to use. This makes one-handed use, especially on an iPhone 6 Plus, very easy to do.


One of my favourite features is Speed Browsing, which increments through articles automatically in a slideshow-like way. Tapping the Play button will cause the app to display each article for a small amount of time before skipping to the next. You can tap anywhere on the screen to stop the process, but it's a clever way of automating the process of swiping through articles, especially if you're subscribed to busy feeds that you may not be fully interested in. It's another way that Sidetrack streamlines the reading experience as you can have the app do the work of moving between articles for you, instead of swiping through them.

In addition to the typical sharing options you've come to expect from feed readers, so there's built-in support for the iOS share sheet and native support for Instapaper, Pocket and Pinboard. You can also configure a sharing option with a custom URL scheme for use with other iOS apps and web services.

The sharing options are quite comprehensive, providing four "slots" that you can use swipe gestures to access, and you can customise how the app handles a single-tap, double-tap and long-tap on an article's headline. Despite what appears to be a plethora of sharing options, the app makes this uncomplicated and easy to configure. The iOS selection menu obeys the order and services selected, so it's just as easy to send specific links within articles to respective services.


One small annoyance I had with the app was that, during the initial setup, the app's sounds don't obey the mute switch. While the sounds aren't obtrusive and can be disabled once you've connected your Feed Wrangler account, this bugs me.

Update: As of version 3.0.1, this has been fixed.

Sidetrack is a fantastic app and it's a steal at just 99¢. There's an in-app purchase if you'd like to "tip" the developer (you should), though no additional functionality is unlocked.

Post a Text Shot to Twitter with Workflow

You've no doubt seen many Twitter users post "text shots" - a text clipping in the form of an image as a way to provide more content than the 140 character limit allows. The process of doing this can be pretty laborious, though a few apps now exist, such as OneShot, that make this process easier.

As an alternative to using a separate app, we can use a Workflow Action extension to post a text shot to Twitter, along with the title and URL of the page it refers to. The tweet I posted and embedded above was created using this Workflow.

To use the workflow, first take a screenshot of the portion of the page that you want to post as an excerpt and then run the Action extension. The workflow uses this screenshot, giving you the option to crop it specifically to the text you want to include. The content of a tweet will be prefilled with the image, the title of the page you're viewing and the URL, which you can then edit with anything else you'd like to include.

Get Workflow

Giffed: Create a Searchable Web Page of Your Animated GIFs in OS X

As most of my work colleagues will attest to, I'm a prolific user of animated GIFs. I have a collection of them in a folder on my Mac, located within my Dropbox Public folder. By storing them here, I can easily copy the URL of a specific GIF and include it in messages, tweets and Slack posts.

Each time I save a new animated GIF to my collection, I add some Spotlight comments (such as simpsons or facepalm) that I can then search for when looking for that perfect response. If I'm on the move, however, accessing my GIF collection is somewhat trickier. I can't search Spotlight comments from my iPhone and the Dropbox app is a lousy image viewer, especially if you're dealing with a few hundred (or thousand, in my case) animated GIFs. While there are apps, such as GIFWrapped, which are purpose-built to browse through a GIF collection, I still don't have any way to search using metadata I've added on my Mac.

To solve this, I created Giffed, a Finder service for OS X. Giffed takes a folder of animated GIFs and generates a responsive web page containing thumbnails that link to their full-size images. Giffed also indexes any Spotlight comments attached to those GIFs and makes them searchable from within the page. Since my GIF collection is stored within my Dropbox Public folder, I can access this from any other device, such as my iPhone.

How it Works

To install, download and copy the giffed.workflow file to ~/Library/Services.

Giffed operates as a Finder service, accessible from the Services menu. To use Giffed, select a folder containing animated GIFs and then select Giffed from the Services menu. Giffed will then perform the following actions:

  1. A folder named "_thumbs" is created within the specified folder, and 200x200 non-animated thumbnails of each GIF are created and copied into it.
  2. Giffed then looks at each of your GIF's metadata and extracts any Spotlight comments that have been set.
  3. An index.html file is created (based upon [Bootstrap][8]) that displays these thumbnails. Each thumbnail has a relative link to its corresponding full-size GIF.
  4. The Spotlight comments are also inserted into the HTML page as hidden elements, making them fully searchable from the search field.
  5. A notification is displayed once the process is complete.

Depending on how many GIFs you have, the process can take several minutes. I've tested it with a folder of 3,000 GIFs (seriously) and it took about 4-5 minutes to complete.

Viewing and Searching GIFs

If you store your GIF collection within your Dropbox Public folder, you can then access the HTML file and, as a result, all of your GIFs. The HTML file that Giffed creates requires no server-side procesing and no external assets - Giffed uses CDN-hosted Bootstrap and jQuery files.

By default, the web page displays all of your GIF collection. Using the search field at the top of the page, you can filter the GIFs based upon their filename or Spotlight comments. To view all images again, just press "Reset".

Download Giffed.

Using TextExpander to Paste Without Style

Craig Hockenberry over at explains how to set Paste and Match Style as the default option for ⌘V by setting a keyboard shortcut, overriding the default behaviour when pasting from the clipboard.

It's a great solution and keeps the familiar keyboard shortcut, though it does have one caveat:

After you've made this change, you might find that the keyboard shortcut sometimes doesn't work. The one that gets me the most is when I try to ⌘V in the "To:" field while composing a message in Mail. When you try to use the shortcut, you'll hear a beep because the control doesn't accept styled text and Paste and Match Style is disabled. When this happens, it's easy enough to right-click and use the context menu or select Paste from the menu bar.

I'd used this keyboard shortcut for a while but this issue cropped up far too often for it not to be an inconvenience. Instead, I have a TextExpander snippet that just contains %clipboard, with the abbreviation `v.

I'm always using this snippet whenever I'm pasting text but, for anything else, I revert back to ⌘V. It's not a better solution than setting a keyboard shortcut, but it may be a more useful one if you're mostly handling text in the clipboard.

Generate iTunes Affiliate Links with Workflow

Blink is a new iOS app that provides a great way to generate iTunes affiliate links. The app has a great feature set (such as Markdown formatting and in-app search results), though one feature I particularly like is that you can call Blink from the Action sheet within the iTunes or App Store and create an affiliate link directly.

While reading a review of Blink over at Macdrifter, Gabe Weatherhead had this little piece of advice:

Let me start by saying that even if you don't have a blog, you should create an affiliate account and generate affiliate links. You'll make some money back on your purchases you make with it.

This got me thinking about how useful it would be to have a workflow that not only creates an iTunes affiliate link within the iTunes or App Store, but include an option to immediately open that URL as well. With Workflow, I can.

Here's a workflow I created that can be called from the Action sheet within the iTunes or App Store. An affiliate link is generated which will be copied to the clipboard in your choice of plain text, Markdown or HTML link (along with the app name), or you can simply open the link in the appropriate store.

Whenever I'm about to buy an app, I run the workflow before purchasing it. The Store still displays the item I was looking at, and the page is simply refreshed to use my affiliate code.

Make sure to edit the workflow and update the Text action with your own affiliate tracking code.

If you use iTunes affiliate links on a regular basis, I'd highly recommend checking out Blink - I have and it's awesome.

Get Workflow

Subscribe to a Podcast Using its iTunes Store Link in Any Third-Party App with Workflow

I'm an avid listener of podcasts and frequently use the Podcast app on iOS to look through the iTunes podcast directory. I dont, however, use the Podcasts app to listen to podcasts (I use Castro), which makes subscribing to a podcast I've found within the directory a bit of a chore.

The iTunes Store doesn't surface a podcast's feed, only providing an iTunes link (the same type of link used to link to music, apps or movies) when sharing from within the app. This means that the link will only work within iTunes or the Podcasts app, and it can't be shared to another podcast app.

Since I can't use the iTunes link to subscribe to a podcast in any other app, I have to do either of the following:

  1. Open Castro.
  2. Tap the + icon to add a new podcast.
  3. Search for the name of the podcast.
  4. Select the right podcast and subscribe.


  1. Visit the podcast's website in Safari.
  2. Find the link to its RSS feed.
  3. Tap it, forgetting that Apple's own Podcasts app handles RSS links.
  4. Switch back to Safari.
  5. Copy the link to the RSS feed.
  6. Open Castro.
  7. Tap the + icon to add a new podcast, at which point the URL in the clipboard is autofilled and I can then subscribe.

Ok, it's not a long process, but it sure as hell is inconvenient.

Using Workflow for easier podcast subscriptions

A favourite of mine, Workflow is a fantastic automation tool that takes advantage of many features, such as extensions in iOS 8. Workflows can be run directly from the share sheet as an Action, providing a near-limitless number of possibilities.

After using Workflow for a few months, and reading what others have been able to do with it, I was determined to find a way to avoid either of the above processes when subscribing to a podcast, and I began to look for any way to somehow find the direct feed of a podcast from it's iTunes link.

I stumbled upon this post on Super User, which explains how to decode an iTunes podcast link into a JSON file, surfacing all of its information - and the feed URL.

Using this information, I've created a workflow that can be called from the share sheet in iOS that will query the iTunes link, find the feed's actual URL and pass it along to a third-party app of your choice, or just copy to the clipboard. You're now able to browse the Podcast directory, or open any iTunes link to a podcast, and subscribe to any podcast using the app of your choice. No more app switching and searching for podcasts.

A quick rundown of what the workflow does to accomplish this:

  1. A regular expression is used to find the podcast's ID number from the URL, storing it as the variable PodcastID.
  2. Gets the contents of the URL used to find more information about a feed, using PodcastID.
  3. Another regular expression is used to identify the feedUrl value, which gives us the feed's direct URL and is saved as the variable PodcastURL.
  4. A menu is created with the option to copy PodcastURL to the clipboard, or open it in a number of third-party apps.
  5. An alert is displayed if the URL is copied to the clipboard.
  6. To open the feed in either Castro or Instacast, a regular expression is used to find and replace "http" or "https" with "castro" or "podcast". For Overcast, Workflow includes a built-in action for Overcast which is used.

Get Workflow

Apple Products TextExpander Snippet Collection

About 18 months ago, I created a small set of snippets for TextExpander to autocorrect certain Apple product names, correcting the case, spelling or naming convention. Since then, this collection has grown to include a wide range of commonly misspelt or incorrect use of letter case in Apple product names.

Letter Case Correction

These snippets automatically fix the letter case for most Apple products, wherever possible. For example, if you type any variant of iPhone 5s, such as iphone 5, iPhone 5S or Iphone 5s, TextExpander will correct it Apple's preferred styling.

Snippets are available for the following product lines:

  • iPod
  • iPad
  • iPhone
  • iPad
  • MacBooks
  • iMac
  • OS X
  • Apple TV

Product Builders

There are some snippets for the following products that you can use to specify exact models:

  • iPhone
  • iPad
  • iMac
  • MacBook
  • OS X

These snippets include the different letter case options, as well as names if required.


OS X snippet includes all previous names and optional "Mac" fill-in for older versions.


MacBook product builder includes optional fill-in for retina display.


Visit for download and installation information.


I've made this collection of snippets available on GitHub for anyone to contribute to, so if you have any additions or modifications you'd like to make, and are proficient with Git, fork the repo and submit a pull request.

If you're not familiar with how Git works, you can make suggestions or report a problem by creating an issue on GitHub.

Country Names and ISO Code Snippets for TextExpander

I regularly need to include the name of a country in what I'm writing at work, so I find myself having to check the spelling, or a country's official name, quite a lot. As I use TextExpander at work, I created a couple of snippets to make this process much simpler.

Country Names List

This is a simple popup menu snippet that includes the names and official spelling of all countries, provinces and principalities according to the United Nations Code for Trade and Transport Locations (UN/LOCODE) list.


Rather than worry about spelling a country's name incorrectly, or using the wrong naming convention, I can just use a keyword to bring up the snippet and select the appropriate country from the list.

ISO 3166 Country Code Selector

This next snippet is a shell script that you select the name of a country from, just like above, but instead of filling in the country's name - it populates it with the country's ISO 3166 code.


Why is this useful? As an example, Stripe's Global page is set up in such a way that, if you include a country's ISO 3166 code as an anchor link (such as for Jordan), the country field in the "Notify me" signup form is automatically set.

Using a modified version of this snippet, I can automatically create a tailored link to the Global page whenever I'm responding to someone who isn't able to use Stripe yet. Being able to send them to the Global page and have it filled in with the correct country already is a nice touch.

These snippets are available to download on GitHub. To include them in your own collection, clone or download the repository as a ZIP, and double-click the .textexpander file.