Lately I’ve enjoyed working from my iOS devices more than ever, due in large part to the great changes in iOS 8. But every day, I still do a great deal of work from the Mac as well for reasons of control and speed. I use Alfred for a ton of functionality, for everything from launching apps and quick searches to basic calculations and defining words. It is a single point of entry for so much of the data I interact with on a daily basis, and I love both the quickness it employs and the flexibility it affords me. I can extend it in completely new and crazy ways with workflows and create chained events to perform actions in the background. If you’ve never tried it, you simply must, and shortly thereafter upgrade to the Powerpack because it completely changes the way you can use your Mac.
Due to the essential nature of how iOS works, something like Alfred simply can’t exist in the same way. The company has released a companion app called Alfred Remote, which is interesting, and allows you to create a palette of quick buttons to launch actions on your Mac. But it’s far from an analogue to the functionality you’d find on the desktop. iOS silos its data for a variety of reasons, and even with the great strides iOS 8 brought to developers, the idea of an always-running, ubiquitous utility ready to assist you from anywhere you find yourself simply doesn’t exist. Even Apple’s own Spotlight implementation, while providing some of that functionality, doesn’t run everywhere–it needs to be invoked from the Springboard.
With these constraints in mind, I began to think of how I could replicate the tools I enjoy with Alfred in an iOS environment. Since getting the iPad Air 2, I’ve attempted to set it up as closely to my MacBook Pro’s app/service configuration as possible, so that I can truly work from either device. I’m also going through a process of discovering how I can slim down the number of individual apps I have installed by replicating functionality in other apps like Workflow and Launch Center Pro. It’s a fun way to pass some time, and I always like consolidating things. Sometimes it’s a little puzzle I want to solve, and sometimes the answer is to just use a dedicated app because the experience is better. But the process leads me to examine how and why I do things, and you know how I like gratuitous self-reflection. Ahem.
I had to examine what I do with Alfred on the Mac, and distill it down for iOS. There would obviously be sacrifices and redundancy in some cases, so I’d need to account for that. For instance, there’s no way I can toggle Wi-Fi or Bluetooth with a key command or a keyword on iOS as I can on the Mac, and between Spotlight and Launch Center Pro, my app-launching needs are more than taken care of. (Although, now that I think about it, you’d probably be able to build a simple app launcher into an action group if you really wanted to. Maybe I’ll give it a shot to see how it feels.) That left the core of what I do with Alfred.
Drafts is an incredible app that I’ve been using since it arrived on the App Store, and one that I’ve spoken about before. At a glance, it’s a notepad, ready to accept input as soon as you launch it. But anyone who’s used it can tell you it goes way further than that. You can send that note to a variety of places, perform actions on that text, even script additional functionality to interact with it. There is a vibrant community around the app and the Action Directory is evidence of that. I don’t have the capacity to explain how truly interesting and powerful this app is in the course of this piece, so go see it for yourself.
Thanks to its robust handling of text-based information, Drafts became my surrogate for this experiment on iOS. Through its Notification Center widget, it’s actually accessible from anywhere on my device (can’t say that for Spotlight), so I can always pull down and jump directly to it. It would be the single entry point for text, and I would apply as many different actions as I could to it to emulate my flow with Alfred. I took screenshots of Alfred’s preferences on the Mac as well as the individual workflows I had installed on top of that, and built a list of what I needed to do.
(Note: I’m not going to cover every single action in this post, but apart from the obvious things like controlling Wi-Fi, I’ve pretty much covered this list or I’m working on something that will. Or I’ve decided to ignore something and use a separate app. Whatever.)
First, the basics. The stuff I use that’s built into Alfred.
- App launching
- Search (internet/file system)
- Basic calculations ️
- Definitions ️
- Direct file system access
- Clipboard history/management
- System commands
Then, my custom workflow additions.
- Send to Todoist
- Send to Due
- Post to Twitter
- Append/prepend text files
- Wi-Fi/Bluetooth toggle
- Basic conversions
- Down for everyone or just me
- Whois lookup
- Force empty Mac trash
- Forecast.io lookup
- Giphy search
- IMDb search
- iTunes Store search
- Determine current IP
- New calendar event
- New text file
- Open current Safari tab in Chrome
- Random password generator
- Custom search (Box files)
- Custom search (Dropbox files)
- Pinboard search
- Quick access to Transmit favorites
- VPN toggle on/off
Many of these can be handled deftly in Drafts without much, if any tinkering. Some of this can’t be handled at all. Some of it just takes a little finesse. Here’s how it looks.
I created action groups: “Actions”, “Search”, “Notes”, and “Tools” based on the type of functionality I was looking for. With Alfred, it all kind of ends up in one big pool as you are able to winnow down what you’re doing contextually as you type–it’s one of the things that makes the app so cool. In Drafts, you need to browse a little. Different, but not terrible at all. Hey, it’s still iOS.
So, the actions. Anything dealing with plain text/notes–nailed. You can create, append, prepend, modify, and pretty much anything else you want to do as long as it’s text and your destination is somewhere Drafts supports. So all my Dropbox actions are buttoned up. Drafts can write to iCloud Drive as well, so that’s an option too for quick zaps between iOS and the Mac.
Same for quickly adding to apps like Todoist, Due, and Calendar to create new items. As long as a URL scheme exists or someone’s built an action and posted it, you can probably do it. Drafts has advanced clipboard handling, so that’s in there too, as is posting to Twitter.
In as many cases as I could, I applied URLs to these actions to open in a browser. Obviously, this makes sense for things like searches, especially since a lot of local apps don’t support any kind of URL scheme beyond opening. In some cases, I preferred native app integrations to web actions, though. It’s much better to open the Twitter app to do a search with its new deep integration than have to boot over to the mobile web, which frankly, sucks. I created a Pinboard web action for searching my own archives, since the app I like to use (Pinner) doesn’t support a search from outside currently. It’s a great app, but it just doesn’t do this one thing I want it to. I also repurposed some of my focused Duck Duck Go searches here, creating a master list of all the places I might want to hit, as well as a few app favorites (like 1Password).
Where things get pretty interesting is within Drafts’ advanced tagging system. It allows you to logically interpret certain things like dates, times, and even latitude and longitude–which came in really handy with the Forecast.io action. If I want the lookup for where I am right now, I don’t even need to enter text, since the URL adds the location tags independently. If I want to search a different location, I can type in “Austin, Texas” and run the Google weather search, which will take me straight to a page with a small weather module right at the top. I asked Greg about doing simple calculations right in the app, and he told me that’s supported as long as it doesn’t get too complicated. In addition to the action, there’s a script key add-on that does the math without needing to pull the drawer out. Hot.
Other cool things:
- Giphy search goes right to the excellent custom UI in Launch Center Pro
- iTunes Store search uses fnd.io which is fast and covers the entire store in a nice UI
- Down for everyone and whois lookup use clipboard contents, and current IP is just a text-less action that runs, similar to the Forecast action
The things I can’t do at all? Well, as I said, toggling system states (Wi-Fi, Bluetooth, VPN) is out, as is direct file access and search on iOS. What I discovered in my experimentation, however, was that while the Dropbox iOS app seemingly has no deep URL hooks, the mobile site supports a direct search as part of a URL string! So I’m able to pass a search term from Drafts to the mobile site, and after a few seconds (in my testing, under 15-20), I get a list of results, which I can then link to, or open in the native app. It’s not the real-time file access/search that Alfred provides, but it’s pretty damned cool for an iOS device, since my entire file system is based in Dropbox. Is it quicker to just open the native app and pull down the UI to search right there? Probably. But for the purposes of this experiment, this was a fun discovery.
As an extra bonus, I discovered that my WordPress site supports search in a similar way, so now I have a super fast path into my posts if I want to find something I wrote in the past to share with someone, which is something I do frequently.
Overall, it’s a big change in how I use my devices. I’m not sure if this will stick, but I wanted to try it, and see if I could map my Mac mental model of entry field-data-action to iOS. There are limits, but there are also cool things iOS can do that the Mac doesn’t. It’s interesting to me that on the Mac, my information flow out of my head to an action is so different than on iOS, based on how the environment differs.
It did get me thinking about what could be possible, though. I think that someone could definitely build something like Alfred for iOS and have it be as close to the Mac experience as possible, by which I mean that it would require some serious pre-configuration on the part of the user, and you’d still be limited by the iOS filesystem constraints, but between URL schemes and extensions, something really compelling could exist. I think you could build a UI on iOS that intelligently provided target actions based on what you type. I’m sure it would be a ridiculous power user tool, but I think it could work. I have no idea about what potential market this kind of app would find, but I’d love to see someone try. If it was done well, I see no reason why it couldn’t be sold at a premium to people like me who want to get every bit of power and functionality out of their devices.
In the meantime, this has been a really fun experiment for me and I figured out some cool things both about Drafts and how I can modify basic existing URLs to become more action-oriented. As our iOS devices gain more abilities, I look forward to seeing this process evolve. If you have any questions, you know where to find me.