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 immediately opens that URL as well.

Here’s a workflow I created that does just this, which can be called from the Action sheet within the iTunes or App Store. Whenever I’m about to buy an app, I run the workflow before purchasing it, and it creates an iTunes affiliate link, copies it to the clipboard (if I want to share it) and then immediately re-opens the link in the appropriate store. In short, the workflow is simply reloading the item’s store page, but with my affiliate tracking code attached.

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.

Workflow in Action

 
 

Screenshots

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.

Or:

  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.
 
 

Update: I've updated the workflow to handle https links a little better for Castro. You can download the updated workflow from the link above.

Workflow in Action

Copy to Clipboard

Add to Castro

Add to Overcast

Screenshots

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. 

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. 

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

Installation

Visit applesnippets.com for download and installation information.

Contributing

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 every country name based upon the United Nations Code for Trade and Transport Locations (UN/LOCODE) list.

country-list-et-snippet

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.

country-iso-te-snippet

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 stripe.com/global#JO 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.

Stripe Support Videos

I started a small project at Stripe over the holiday period to create some short videos that would help users better understand how to use certain features of, or change settings within, the dashboard.

As more people start using Stripe, especially with third-party platforms that are built using Stripe Connect, being able to show our users how to do something, like how to download payment reports, can be much more informative than written instructions alone.

The idea was to create an increasing number of videos the we could send to users who had got in touch. As well as this, we’ve now been adding them to Stripe’s support site, making them available to anyone viewing a relevant support topic for which a video exists. You can find some examples of the new videos at:

I used ScreenFlow for screen recording in both OS X and iOS, as well as the entire editing process. I'm amazed by just how versatile ScreenFlow can be, which makes me regret not using it sooner1.

I’ll be continually expanding Stripe’s library of videos that our users can watch, at any time, which will cover many more topics and features.

  1. When I wrote for Tuts+, I’d use iMovie to edit my screencasts, which was like pulling teeth.

Downsizing

Up until the mid-part of 2014, I had two websites I'd try and regularly write for: The Instructional and my tech-related blog, Sparsebundle. As I spend more of my time focused on other things in life, I felt somewhat guilty that I wasn't updating either site as often as I'd want to, and I no longer wanted that commitment. 

I decided to digitally downsize and get rid of what had become something of a burden to me. I've handed over the running of The Instructional to Sam Berson, someone who I know will take the site much further than I have the time for.  I also shut down Sparsebundle, rather than continue to write there, simply because I wanted a fresh start. Continuing that site would seem odd to me because I've become much less Apple-centric and it was always a site predominantly about Apple.

As I don't want to be writing about things I've found myself less interested in, nor on any self-imposed frequent basis, I've now moved (back) here and am starting anew.