Testing Alfred 3 Using Alfred's Own Workflows

We have another little sneak peek at Alfred 3's workflows for you today!

For version 3, numerous aspects of Alfred's workflows have been updated, improved and tons of new features have been added. As a result, every facet of workflows need to be tested thoroughly to ensure the features work exactly as expected.

Anyone with programming experience will appreciate that this can be a laborious process. Automation can help speed things up, as well as avoid human error (and human distraction - oh look, new tweets!)

So how are we doing this? Workflows have become so powerful that we're now using workflows to test workflows! (You wouldn't believe the number of Inception jokes this has led to...)

Creating a "Pass/Fail Test" workflow

Without any scripting, we've created some great unit tests for the new "Transform" utility object, which takes the input and performs one of the following transforms: Trim Whitespace, Upper Case, Lower Case, Camel Case, Reverse String, Strip Diacritics and Strip Non-Alphanumeric.

Let's take a look at the workflow in more details. The keyword "utest" launches the workflow; a new unit-tests.txt file is created in a specified location (overwriting if a previous one exists), so that the results of each test can be appended to the file.

Alfred 3 workflows - Unit Testing

The JSON utility object (in yellow) allows you to modify the workflow stream dynamically; argument, configuration and variables. The string we want to test is set as the JSON's output argument, the test name and the expected result are added as variables. In this workflow, each yellow object sets up the test for its connected Transform object:

Alfred 3 workflows - Unit Testing

Has the test passed? Each Transform object is connected to two Filter objects, one for pass (green) and one for fail (red). The green filter is configured to only continue if the input is equal to the expected value, the red filter is configured to only continue if the input is not equal to the expected value.

We have used the variables we set earlier to configure the Filters:

Alfred 3 workflows - Unit Testing

To tidy up the results, we use an Argument utility, where we output whether the test has passed or failed (depending on which filter they are connected to), the name of the test (variable), and the processed text from the Transform utility being tested:

Alfred 3 workflows - Unit Testing

Each result is appended to the file created earlier.

When the test finishes, a Notification pops up to let me know, and the unit-tests.txt file opens for me to look at the results. Wonderful, every object has passed!

Alfred 3 workflows - Unit Testing

Another advantage of creating these tests now is that we can run them during testing of future releases, as part of regression testing, making it a huge time saver!

In a future post, we'll show you how we could simplify this workflow even further by dynamically configuring the Transform objects in the yellow JSON utility, so that we can connect them to a single Transform object, instead of multiple ones.

With every day that passes - and every test that passes with flying colours - we get a step closer to Alfred 3 being ready. We can't wait to see what amazing things you'll create with the infinitely more flexible workflow objects in Alfred 3!

Stay tuned for more news and sneak peeks. Follow us on Twitter (@alfredapp).

Thanks For Your Enthusiasm!

On Monday, we announced Alfred 3 and shared the first few sneak previews of the new features.

It's been so uplifting to finally share with you that version 3 is on its way, after months of work. The enthusiasm and excitement we've seen this week from the Alfred community has been amazing. It truly is a fantastic energy boost to help us along the final stretch ahead of release! :)

We’ll be sharing more sneak peeks and details about the new features and improvements in the next few weeks.

In the meantime, grab a new license or upgrade your existing license to get a v3 license upgrade for free. Need more information? Take a look at the Alfred 3 announcement post for more details.

Alfred Version 3 is Coming!

This week, Alfred celebrates his 6th birthday. While eating birthday cake is always exciting, it's with even greater excitement that we can finally announce that Alfred version 3 is on the way, and we have a great deal for everyone!

The new features and improvements are shaping up beautifully; Vastly more flexible workflows, significantly improved clipboard history and snippets, and a fully overhauled theme editor, amongst the many changes you'll see.

There are also numerous improvements under the hood, ensuring Alfred runs even more smoothly as you work.


Workflows have evolved to be much more flexible, allowing you to lay out and connect objects in any way you like. We’ve added object chaining, connection filters, multi-objects selection for moving, copying and pasting, query text processing, and enhancements to many of the existing workflow objects, along with some great new ones too.

In the coming weeks, we’ll be dedicating more posts and videos to introducing these new workflow features, so that you can make the most of them without a single line of code.

Alfred version 3 - Workflows


The new intuitive theme editor makes it much quicker and easier to create themes, with per-theme blur settings, better control over spacing and borders, user-defined fonts and easier theme sharing.

Alfred version 3 - Theming

Clipboard and Snippets

The new clipboard history brings multimedia content; text, images and files. The overhauled snippets editor adds snippet collections, importing/exporting of snippet collections for easy sharing and direct access to the snippets viewer via its own hotkey.

Alfred version 3 - Multimedia Clipboard

And much, much more...

These features just scratch the surface of the wonderful changes you'll see in this new release. Version 3 will be even better and more customisable to fit the way you use your Mac, and to make you more productive than ever.

We'll be releasing more information and new sneak peeks over the coming weeks, so be sure to follow us on Twitter at @alfredapp and sign up to our newsletter (at the bottom of our website or in Alfred's General preferences).

Get Ready for Version 3

Get your hands on a great deal ahead of the version 3 release:

  • New to the Powerpack? Buy a license now and get a free upgrade to v3.

  • Bought recently? If you purchased a license in 2016, you'll also get a free upgrade to v3!

  • Got a v2 license bought before 2016? You get a great deal too! Transform your Single User license into a Mega Supporter by simply paying the difference, and get a lifetime of free upgrades!

Note: If you bought a pre-2016 Family license, don't worry, you'll also get a great upgrade deal once Alfred v3 is released.

Thank you so much for being part of the Alfred community over the past few years, and here's to many more happy years of productivity. :)

Vero & Andrew

10% Discount for Alfred's 6th Birthday

Alfred is 6 years old

Note: While this promotion is now over, you can still upgrade to v2 or buy a new v2 license and get a free upgrade to version 3 when it becomes available!

Over the past six years, Alfred has made millions of people more productive on their Mac.

Today is Alfred's birthday, and this week, we're offering you a 10% discount (This promotion is now over) on the Powerpack! We'll be celebrating all week with giveaways and exciting news, so stay tuned.

Be sure to follow us on Twitter at @alfredapp, and sign up to our newsletter in-app or in our website footer if you don't want to miss anything this week.

Grab your Powerpack license by Friday 4th March, 2016, to take advantage of the birthday discount - We're applying the discount to all new purchases at checkout, so no need for codes.

Don't forget to share the love with your friends, so that they can boost their productivity too! :)

Alfred 2.8.2 Released: 1Password compatibility improvements and more

Yesterday, we released Alfred 2.8.2, which includes improvements to Alfred's integration with the 1Password password manager, as well as general improvements to Alfred.

You can update to 2.8.2 from Alfred's Update preferences or by downloading it directly from alfredapp.com.

In line with 1Password 6's release yesterday, Alfred 2.8.2 brings a few compatibility improvements to make the two apps work together even more smoothly than before.

Additionally, if a 1Password bookmark is missing the http:// or https:// at the beginning of the URL, Alfred will complete it to allow your default web browser to launch the bookmark.

And finally, we now show the 1Password data path in Alfred's advanced preferences when discovering data automatically, which makes it easier to identify which library Alfred is using.

We've also fixed a few bugs and made a few more improvements within Alfred itself; You can see the full release notes in the change log.

Latest Blog Post:

Tutorial: Creating the Fastest Hotkey-Based Web Search

CacheFly Campaign Monitor

"Alfred" is a registered trademark of Running with Crayons Ltd. ©2017 Running with Crayons Ltd. All rights reserved.

Terms & Conditions, Privacy Policy, Cookies.