Now Playing Tracks

PopClip - A Mac OS X app that really should come to iOS 7

Another day; another set of thoughts about a productivity app that I have been using recently that has now become one of those tools I cannot function without (yes, I am talking about you Evernote, Omnifocus, Drafts, LCP, etc). 

PopClip (http://pilotmoon.com/popclip/ - or through the Mac App Store) is in essence, a popup that appears when you highlight some text, whether a link, some text on a site, text in a document or anywhere else. For the Mac Power Users, the idea of using a mouse for anything seems couter-productive. There are keyboard shorts to, of course, copy, paste, undo, create a quick entry in Omnifocus, write a quick note in Evernote, search Evernote, invoke Alfred, invoke 1Password in a browser that logs you straight in and the list can go on. I have in fact kept an nvALT note dedicated to all of the custom keyboard shortcuts I have set up, on a per app basis.

However, there are times, and think about this practically for a second, where you need to use a combination of your mouse and keyboard. Imagine if you need to “highlight” some text to do some processing with that. A quick copy will be the Cmd + C as you know. But what if, from that text you have just copied, you want to add an Omnifocus Quick Entry note with that exact text? Power users, you will invoke your Quick Entry panel with a key combination (that probably involves two hands), paste it in there and press enter. That is quick. Wouldn’t it be better though if from that text you highlighted, you could create a quick entry straight away from a popup?

That is exactly what PopClip is. PopClip is context specific and it will know and can be tailored to show a slight variation of options depending on what you’re clicking on. For example, if you have the Skype extension enabled, highlighting a number can invoke Skype to call that number and highlighting an email address can invoke a new email with that email address already added. 

PopClip comes with extensions that you can download, like workflows in Alfred, where inevitably more will be created as time goes on. You can download a whole host of extensions and they all sit within your menu bar under the popClip icon. You can change the order of them so the critical ones appear first. 

Look at the list of my PopClip extensions below to get an idea of which extensions I have. 

image

I can, for example, highlight some text and create a Fantastical calendar entry which is of course quicker than the already quick keyboard entry. 

My delete extension is situated for convenience. A workflow I am going through right now is saving some articles from Evernote to Kippt. A combination of keyboard shortcuts and PopClip makes this procedure extremely quick. I click on the link in Evernote to open the site. It opens in Chrome and I invoke the “Save to Kippt” extension with Cmd + 1. I tab to the title, press Ctrl + A to select the text and then PopClip is invoked. I delete it using the PopClip delete extension which sits right in the middle (less mouse moving) and it’s done. There are of course hundreds of these examples and I use each of the extensions I have downloaded. 

Here is an example of what PopClip looks like when text is highlighted:

image

I highlighted that text and right above it came a popup with specific actions. While copying and pasting is of course easier with the keyboard shortcut, sometimes if you already have your hand on the mouse/trackpad, it’s easier to invoke your command than leaving the mouse to put the keyboard shortcut in. 

You can quickly shorten a URL using bit.ly or other services or even add some text to TextExpander snippets. Click in an empty space and you have the “Paste” extension appearing. 

You only have to trial it out to see what I mean. It comes with a free trial but for a full purchase of $4.99, you cannot really go wrong with it. 

This, in my opinion, is a feature that should make it to iOS 7. The cross-posting of information to apps. We already have URL schemes, made extremely popular by Drafts and LCP which can take “text” or commands and invoke that into another app. Having the ability to, on iOS, highlight some text in an app and send it to fantastical in a PopClip like fashion like it can on the Mac would be an excellent iteration in the user experience. Of course, you have that question on sandboxing but the sandbox has already been made accessible through URL schemes. 

If you come from a Jailbreaking background, you will inevitably have heard off and tried Action Menu which is pretty much exactly what PopClip is, just with not as many options.

It would be a great feature to have this in iOS 7. 

Drafts 3.0 and Omnifocus

I will start by saying, if you have not tried Drafts on iOS before, now is the time to get this app, Just as their website states, try it for a week in your dock and you won’t regret it. 

Drafts in its simplest concept, is a note taking app with a great level of organisation. Drafts in its realistic functionality is a feature rich ability to create a note and share it to a plethora of services. You can, for example, create a note and have it transferred to a particular notebook in Evernote without ever leaving the app, or you can create a note that appends on top of an existing note in Evernote. Through url schemes, you can create a single draft note with multiple lines of text, each representing, for example a calendar meeting you need to create and using a simple share, Fantastical can be opened up ready to add each item individually as separate meetings, all with a call back to Drafts.app each time, without you having to exit Fantastical. 

This is just the beginning of what drafts is capable off. It is the multi-line capabilities that has played a big role in my productivity workflow and it is that which forms the premise for this post.

As a big Omnifocus user (as I have posted before), one of the features I appreciate the most is the ability to capture thoughts quickly into the Inbox, ready to be processed later. This is done simply on the Mac with great ease of use but on iOS however, the sandboxing approach makes this a little harder. You can of course create a shortcut in Launch Centre Pro or follow the Omnifocus forum link below for a “quick entry” icon on iOS:

http://forums.omnigroup.com/showthread.php?t=23210

However both approaches are limited to single entries at a time. The strength of Drafts 3.0 comes in with the “List in Reminders” option that’s built into the app. With this, you can create a single draft note with multiple lines of text and each line can be sent to Omnifocus as a separate task. This is perfect while sitting in a meeting or planning out a project that you know has multiple tasks involved. 

There are a few “hacks” to get this to work as you desire, but it will be worth it. 

Firstly, you must first allow the Omnifocus iOS app to pull information from the built in Reminder app on your device. You can do this in the Omnifocus settings and you can either use the default Reminder list or you can create a new list in Reminders.app. 

Now find your draft sharing shortcut List in Reminders and know where it is listed. Create a note with multiple lines of text with each of your tasks. If you are using a custom Reminder list which synchronises with Omnifocus, start the draft with #listname at the top with each subsequent line being your action list. If you are using the default “Reminders” list, you do not have to put any further information apart from your task list. Share the note to the “List of Reminders” menu action and now within your Reminders.app on your device, you will have all of your tasks as separate actions that you have just created. If you utilise iCloud then this same list will be added to the Reminders.app on your Mac OS X. 

If you open up Omnifocus on your iOS device at this point, you will see all of the actions in the Inbox and they will be deleted from the device. This is however not synchronised to Omnifocus on your computer and you’d have to open Omnifocus to have it synchronise. This is of course not efficient. 

About two months ago, Daniel Jalkut created a workflow that imports Reminders from the Reminder.app on your Mac into the Omnifocus Inbox. This was created with the Siri integration in mind; from your phone, create some tasks using Siri into Reminders and have them appear within Omnifocus. This hack allows for further integration with what we’re trying to achieve with Drafts 3.0.

http://bitsplitting.org/2013/02/01/reminder-plumbing/

Follow the page and download the script, saving it to a location on your Mac. I spoke to Daniel on Twitter for the next step for a bit of assistance. You need to edit a crontab on your Mac and yes, I had not heard of the crontab either. This crontab file contains the ability for you to tell a program to run at a specific time. We want Daniel’s utility to run very frequently so while you’re out and about, your mac is listening for any reminders you add. 

You need to follow a few instructions to get this to work and I’m hoping Daniel will put these into his post.

Once you’ve saved the tool in a location of your choice:

1) Open Terminal

2) Type crontab -e and press enter

3) Press i 

4) You will probably not have a crontab file if you have not done this before, or you could modify an existing one. Copy and Paste this text in:*/1 * * * * /Users/Amit/bin/RemindersImport > /dev/null 2>&1 changing the path to represent where you have stored the RemindersImport file. 

The 1 * * * * represent the frequency at which this tool is run. The first start is minute, the second is hours, the third is day of the month, the fourth is the month and the 5th is the day of the year. https://developer.apple.com/library/mac/documentation/Darwin/Reference/Manpages/man5/crontab.5.html provides more information. 

I have chosen to have this tool run every hour and so have set it to be * 1 * * *. 

The confusing part comes now where the obvious temptation would be to press enter to run this. You need to perform the following commands after pasting that command and changing the path and frequency:

4) remember, do not press enter. After pasting the line, press Esc. 

5) Press Shift Z twice. 

The terminal will now output a command saying this has been successful. 

Now all you have to do is try it out. Create a new draft note with multiple lines of text. Share it to the list in reminders. Wait one minute and check Omnifocus on your Mac; you should now have some new items in the Inbox!

This has been an immensely useful addition to my workflow. 

Omnifocus and AppleScripts

Omnifocus - what is it?

I am not going to exhaustively talk about Omnifocus because there are lots of incredible blogs and tutorials out there. I am however going to say I have finally found my complete task managing application that offers, not only everything I could ask for functionality wise, but a new level of efficiency allowing me to be more productive than I have ever been. 

Omnifocus is a robust and immensely flexible application that allows you to take the GTD (Getting Things Done) notion and apply it to your everyday life. This includes giving you a flexible overview of all your tasks and projects, whether personal or for your professional career. 

I have been using OmniFocus on the Mac, iPhone and iPad for about 2 months now and I have found a workflow that suits me and my responsibilities perfectly. The Omnifocus Perspectives, Contexts, and Folder Layout with Projects helps me achieve, on a day to day basic, my pending projects and tasks. 

There are however a few features within Omnifocus that are tailored to the power users; functionalities that the community has worked to build up together: AppleScripts. 

The OmniGroup have built into the application, support for extra components, like themes and custom icons that you can download. They have also built AppleScript support. The OmniGroup themselves have not created the AppleScripts you can use; rather the Omnifocus community has stepped up and done this to help fellow members of the Community. 

AppleScripts?

Yes, AppleScripts. Most users have not heard of or had any reason to work with AppleScripts, but the AppleScripting community contains a powerful set of functionalities that could really improve your daily workflow. I would highly recommend investigating AppleScripts to help you in your daily usage. 

Through a bit of searching online (and throughout the Omnifocus forums), I have come across a few Omnifocus scripts which are now deeply embedded into my workflow and I wanted to share these with you here. 

Note: The sites I am going to link to all have instructions for how to use the AppleScript and I will also add a specific Workflow I use. 

Omnifocus Templates

There are often times where you have a project, or a series of tasks that require repetition every so often. Take, for example, getting your car tax renewed. You may create this as a project with the title “Renew Car Tax”. You’d have to do some of the following tasks: 

  • Receive letter from the Driving Institute (DVLA in UK, DMV, etc)
  • Get car serviced
  • Download insurance documents
  • Apply for Car Tax with taking the following documents
    • Driving license
    • Insurance
    • Letter of certificate from the car servicing
    • Letter from the DVLA
  • Apply tax to car

It took me 1 minute to create that list, but imagine, if you had to do that every year or every 6 months, why not create an Omnifocus Template?

http://cmsauve.com/projects/templates/

Chris Sauve has created a script with a series of instructions for how to set it up. The basic principle is, once you invoke this script in Omnifocus, it will prompt you for all of the information you need (if your project requires prompting) as well as the time and where it should sit in your Omnifocus structure. For example, as a profession, I have to regularly install our client software for a customer in the form of a Proof of Concept. This involves me having to create a complex project list consisting of items such as:

INSTALL SOFTWARE FOR $NAME (Project Name)

  • Ensure prerequisites are in place
  • Download software
  • Install
  • Configure, etc. 

This template allows me to put $name as a parameter, which when invoking this script, prompts me for the name of the customer. This way, a project is created in a destination of my choice with the customer name. This allows me to invoke my next script to find it, if I ever need to rather than using the search function.

Find Project

When you are navigating through Omnifocus, it can sometimes be counter-productive if you need to stop what you’re doing to navigate to a specific project and you have to work through multiple folder structures. Of course, you can press Option and double click on the name of a project while in the Contexts to be taken there, but that limits the flexibility. Enter the find project script:

http://forums.omnigroup.com/showthread.php?t=18580

Invoking this script allows you to search for a project and because my template creates the project with the customer name being prompted for, I can easily search for that. Unfortunately as this script does not search Folders (which would be even more flexible), I’ve now resorted to tagging my project name with [ ] where the name of the customer would be in those brackets. It doesn’t look pretty, but for using this script, it works perfectly. 

Verify Next Action Exists

Depending on how often you do a review, it is inevitable that some projects stall because of a lack of availability of the next action. By this, I do not mean not being able to see the next action because of a future date, I mean a project not actually having a defined next action. 

This point has been highlighted by Sven Fechner in his post: http://simplicitybliss.com/2010/12/top-5-omnifocus-applescripts/ (there are a few good scripts here, including the Find Project script mentioned above). 

Note: Save Sven’s site into your RSS feed; he has some great tutorials on Omnifocus and all things productivity. 

The specific script I am referring to is listed here: http://www.curtclifton.net/projects/

Invoking this script anywhere in Omnifocus will allow you to be alerted to the fact that some projects have a missing next action. It will tell you the name of the project but it will not link directly to the project. It will however append the words MISSING NA to the project name. Using the Find Project script above, you can quickly search for that project to find the project in question that is missing a next action. 

Once you’ve done this, while within the project, you can invoke Curt’s “Clear Missing NA” script which clears the word MISSING NA for you. Simple. 

Note: Keep in mind that all of the scripts mentioned actually utilise Growl to inform you of what is happening while the script is run and when it has completed. I will talk more about this in a second. 

Today, Tomorrow and Defer

No matter how organised and efficient you are, there are times where you need to move a start (or due) date of a task or project. Taking a book out of David Sparks’ page, I do not set due dates for anything unless it has an explicit due date because seeing the red number by the Omnifocus icon is not helpful. I instead use Start dates as my way of saying “I would like to start this today because it is fairly important”. Tasks and Projects that do not have a start date are needing to be done, but with no time frame in mind. 

Inevitably at some point you may need to defer a task. At the end of each day (I have a daily review that lets me depict and select the MIT for the day, but at the end of the day I go through my “Today” perspective to see if I’ve missed anything), there may come a time where I just need to defer the start dates. You can easily use the Inspector while highlighting multiple objects, or you can individually go through the tasks and defer the date. It is however easier to invoke a script to change the date automatically. Invoke the Tomorrow script and it will automatically set the start date (and due date if you have it) to tomorrow. Or go to tomorrow’s tasks, select tasks and run the script for Today and it will change the tasks to Today’s date. FInally, run the Defer script to receive a popup to determine the number of days to be deferred by. 

These scripts were created by the talented Dan Byler and is someone David Sparks speaks very highly off in his Omnifocus Screencasts. 

http://bylr.net/files/omnifocus/

There are some other great scripts on his site as well. 

Completed Task Report to Evernote

If you’re a user of Evernote (which you really should be if you’re not), you may have organised a great deal of notebooks and notes in there. With a relatively new script (only almost 2 months old), a great Ben Waldie from TUAW has created a script which will create a beautifully formatted Evernote report of your completed tasks. 

http://www.tuaw.com/2013/02/18/applescripting-omnifocus-send-completed-task-report-to-evernot/

When invoking the script, you can specify a timeframe for the report; either just today’s tasks, last week, this week, months or years, etc. You receive a popup and the moment you select a timeframe, even if Evernote is not open, it will open automatically and have this crafted report. The report itself is a beautiful format and this has been a driving force for my productivity. I am not sure how long Omnifocus keeps your “completed” tasks in the database before it does the archiving clean up, but this is a good way for you to, for example, see what you’ve done today, this past week or last week, etc. I have a repeated task to run this report at 5pm on Friday for the past weeks’ worth of work. However, I have on a few occasions also run the report on a daily basis to provide an overview to management of the work and projects I am working on. 

As you can see from the comments, I have requested a few additional features for this script that has the potential to be the best script of all; right now the script prints out the names of the Projects and keeps that as the title and has no reflection on the Folder that that project sits in. I overcame this by appending the [ ] to the end of each project with the customer name which helps in this case, along with the Find Project script as well. However, I make heavy use of the Notes field in Omnifocus with TextExpander to make notes when I’ve spoken to someone or I need to update the project, etc. I have requested for the script, or at least instructions on how to make the script include the Notes of each task as well as the completed day of each task, along with the project. This also does not indicate whether you have completed a full project; i.e. if you run the script, in the report, it will have the project name along with the tasks, but there is no visual indication whether the project itself was complete or just some of the tasks in that project. It is easy to look at the report and perceive it as you completed this project with all of the tasks in it, where it might be you’ve just completed some of the tasks in this project. I have therefore, at the end of every project created a “Sign off as complete” task, so when I sign it off, the project gets marked as complete and in the report, the project will have the sign off as complete task. 

This script is new so I will certainly give it time for it to be perfected and for these additional requirements of mine to be setup as options, but Ben did mention he is working to improve the script. 

Alerts and Notifications

As briefly mentioned earlier in this post, Omnifocus and the scripts make use of Growl. Growl is essentially the notification framework that existed on Mac OS X before the Notification Centre that was introduced recently. Growl in fact continues to work with many applications efficiently in a way that Notification Centre has not. For example, you can specify the priority of notifications that come through Growl, along with a level of customisation. Omnifocus makes heavy use of Growl. If you have set a task to start at a specific time and then never received any sort of notification, it is because you do not have growl installed. When you install Growl, you will receive an alert for a start that is due to “start” now. 

http://growl.info/

I would recommend downloading it and playing with the preferences, because you may not want to be alerted to every thing happening. Although outside of the scope of this post, I will briefly mention Prowl as well (I will be creating another post relating purely to Growl and Prowl). The Omnifocus iOS App does not currently push notifications to you if a task is starting (it does if a task is new), but if you’re away from your computer and a task is about to start, Prowl is an extension of Growl where, when you receive the notification in Growl, it gets forwarded to your iOS device in the form of the Prowl app. I will create a post about this as soon as possible. 

The scripts above make heavy use of Growl. For example, if you run the “Verify Next Action” script; if the script finds a project without a next action, you will get alerted in Omnifocus itself with a popup, but if there are no projects, you will get a Growl notification saying “Congratulations, you do not have any projects with missing next actions”. When you run the Tomorrow script from Dan Byler, you will get an alert in Growl saying X number of tasks have just been moved, etc. The same applies for the Today and Defer scripts. This is where priorities come in as you may not want all of this pushed to your device in the form of Prowl, so you could set up, like I have, just the “starting of tasks” as a high priority with everything else set to medium, and for Growl to only push the high priority tasks to your device. Very clever. 

Invoke Scripts

I talked a lot about the invoking of scripts but I did not go into details on how I do this. In a nutshell, I do this with Alfred, but you could easily use something like LaunchBar or QuickSilver (both of which I have not tried; I just use Alfred for everything). 

Note: in order to do this, you do NOT need to have the Alfred PowerPack as you are just running a particular file. 

Each of the sites mention the need for creating a specific folder structure in your Library. Navigate to the Library by opening up Finder and using a Keyboard shortcut of Shift Command G which will open up a popup saying “Go to Folder”. Type in ~/Library and you will see your Library. In here, the instructions are to create a particular folder structure (Applications > Omnifocus) and to place all of the scripts in there. The advantage with this set up is, from the customise toolbar option in Omnifocus (where you can put your perspective icons), you can actually place the scripts onto the toolbar. The scripts will only appear if you place them in this folder (after downloading and unzipping the file, move the .scpt file to this location). 

However, using a little trick, without ever having to leave my keyboard, I can invoke these scripts. I have renamed each of the scripts to start with OFS just so it is easy to find on my computer and placed these into a folder in my Documents directory called Omnifocus Scripts. Using TextExpander to create simple snippets, I have created one for each script. For example, the verify next action script is ::next. What I mean by this is, typing in ::next translates to OFS_Verify Next Action. I have done the same for all of the scripts above. This way, a simple call of Alfred (for me this is Opt Space) allows me to type ::next and it translates to OFS_Verify Next Action and automatically finds the .scpt file in my documents directory; I press enter and that’s it, the script runs. The rest of my textExpander snippets are ::def for the Defer, ::2mr for Tomorrow, ::rep for the Evernote report, etc. 

You could of course tweak Alfred to look directly in the Omnifocus scripts directory, but it just takes longer because it is not a normal place for it to look whereas the documents is. This works perfectly into my workflow. 

A lot of Information…

I have provided an extensive workflow set here. This is however just one side of my workflow productivity. WIth this in mind, I wanted to add a quick note here saying I am in the process of planning out and hopefully soon to be creating a course on my idea of productivity which will be hosted, to start with, as a course on Udemy.com. I will update you when I’m nearing the completion of this. 

 

To Tumblr, Love Pixel Union