Joe Workman's Blog

RSS

Posts tagged with "Automation"

Paperless got some polish

I have been spending the last few days adding some polish to my Paperless automation tool that I released a couple of weeks ago. If you peruse through the release notes, you will see that I’ve added a couple small features and fixed some bugs. However, those weren’t the biggest changes…

New User’s Group


In an effort to promote user interaction, there is a new Paperless User’s Group. This groups runs on Glassboard which is an awesome way to communicate with groups of people. Think of it as a cross between a chat room and a forum.

Revamped Documentation


The Paperless documentation has been restructured into a wiki instead of one huge confusing page. It should now be much easier to discover the tools functionality and find exactly what you are looking for.

There is also a new quickie video overview that will help you get jumpstarted.

Lowering the Entry Level


My biggest request from user’s was that they really wanted to use Paperless, however, they could not get over the technical hurdle of getting it all installed. So I started a side project that is a really simple Paperless Installer. If you can click a few buttons, you can get Paperless installed now. Its that easy!

There is also a video that goes through the entire installation process step-by-step.

Kiwi Services for App.net

Kiwi for App.net

So I use this thing called Kiwi to access this other thing called App.net. So I developed all these other things to integrate those things into every popular automation thing that you could want… Got it? Get it

In all seriousness, Kiwi is an awesome app developed by the amazing YourHead Software. Its by far the best Mac client for the up and coming social network App.net. It’s quickly became my new hangout instead of Twitter. However, Kiwi has an awesome feature that lets you cross post to Twitter so that my followers over there don’t get too lonely.

You probably know that I love to automate things. Well I spent some time with the Kiwi developer at an App.net hackathon earlier this month and we decided to add a URL scheme into Kiwi. We could then leverage that new URL scheme, we could integrate Kiwi into all your favorite Mac OS X productivity and workflow tools. There are integrations with the following apps…

You can pick up a copy of these Kiwi services for free over on the public Github page.

Mar 7

Developing a Paperless Automation Tool for Mac OS X

I have been trying to hone my paperless workflow over the past couple of months. My ideal workflow for anything involves as little human interaction as possible. This is why I love to automate! In the paperless world, after you scan in your document, you need to file it away. I am currently moving from DevonThink to Evernote. I don’t know about you, but my paperless inbox was starting to look bigger than the pile of paper that I need to scan in. The reason for this is that I would never take the time to file away the document after I scanned it in. This problem is prime for automation…

I searched everywhere for a tool that would analyze the contents of a scanned document and automatically file it into the correct location. I saw a lot of people trying to build hundreds of Hazel rules in an attempt to accomplish this. That just did not seem efficient to me. It would take forever to build those rules in Hazel and maintaining it would be a nightmare. I needed to develop something myself…

I decided to build a command-line tool so that I could still leverage a great tool like Hazel. My scanner would spit documents into a folder and then Hazel would pass those along to my tool to do the rest of the work. This is exactly what I built!

Yesterday I pushed an alpha version of this automation tool that I am simply calling Paperless. I worked really hard to document as much of the tool’s logic as I could. It’s a ruby gem, so you will need to not be shy with using the terminal in order to get this bad boy installed and working. I tried my best to give as simple instructions as possible for users that may be a little scared of the terminal. If you are feeling brave enough, play around with it. I can’t wait to here your feedback!

Paperless on Github

Evernote defeats DevonThink 6 - 2 - 2

image

Update: (03/07/2013) I updated the Sync section to reflect my thoughts on the new sync features of DevonThink.

I am in the process of building my paperless workflow. I have everything nicely automated from my ScanSnap Scanner to Evernote now. The workflow is powered by Hazel and even OCRs the document using PDFPenPro. I will not dive into the details now. Once I have everything done, I will make sure to document the entire process for you.

What I wanted to chat about was why I decided to go-all-in with Evernote instead of DevonThink (I actually own the Pro Office version) for my paperless workflow. Here is a list that explains my though process around comparing the feature sets.

image

Evernote

image

DevonThink Pro Office

Look and Feel

DevonThink has a very beautiful icon. Sadly, it ends there. The user interface feels Finder’s ugly brother. I have used it for about a year and still get confused with some of the UI configurations. I think this is a prefect case of too many options. The Evernote 5 UI, got a big overhaul from its previous versions. Some of the new UI I loved and some I feel blah about (everything seems so big).

Winner: Evernote. I have said many many times that I am vein and like to use pretty things. DevonThink is far from that.

File Access

Evernote stores all your files in sandboxed library of seemingly endless system of files and folders. Basically, hands off. If you want to access your notes, you will need to find it in Evernote and copy or drag (images only) notes out manually. DevonThink gives you straight forward access to files directly in Finder. Accessing your files is a piece of cake.

Winner: DevonThink. This was my biggest obstacle for deciding on Evernote. But in the end, all the other pluses of Evernote made this tolerable.

Organization

DevonThink is essentially like Finder. You are your own enemy here. You can make your folder structure as simple or as complicated as you like. Evernote 5 finally brought notebook stacks which allows you to at least have one level of hierarchy. by groups multiple notebooks in a single group.

Winner: Evernote. While you may think that DevonThink would win since it more flexible, I think that Evernote’s limitation will help me from creating folder structures that could get too complex.

A.I.

One of the main selling points of DevonThink is its AI engine. However, Evernote 5 has greatly improved its search capabilities. I have to admit that I never really needed the power AI abilities in DevonThink. The search in Evernote seems to work just fine for my needs. My guess is that it would be fine for most users as well.

Winner: Draw. Which is a small win for Evernote since AI is one of the big features of DevonThink.

Web Clips

Both DevonThink and Evernote have browser extensions that let you save web pages for later viewing. DevonThink allows you to save the webpage in multiple formats: webarchive, html, pdf, and bookmark. Evernote’s web clip extension has a nice feature that allows you to clip just a portion of the webpage.

Winner: Evernote. While I like the save to PDF feature of DevonThink, the ability to clip a portion of the page puts Evernote over the top for me.

PDF Plugin

This one is simple. Both DevonThink and Evernote have services that allow you to import a PDF file via any standard print panel.

Winner: Draw.

Import Automation

DevonThink has a sorter that resides on the side of your display. This sorter contain aliases to folders within your database. You can use this to quickly drag files directly into your referenced folders. Evernote does not have anything like this. Both also offer Applescript support which allows you to develop your own custom solution if you are geeky enough.

Winner: DevonThink. To be honest, I don’t really care for the sorter though. Its still a manual process and I like more automation than that provides.

This is actually the last piece that I need for my paperless workflow. I need an automation tool that will auto sort & tag documents based on content. Sadly, I never found an easy to use solution. Some people are doing it with TONS of Hazel rules but that is a pain in the rear. So I am starting a side project today to build this myself. It will be a Evernote CLI for Mac. I will make sure to report back when I am done.

Sync

I think that is goes without saying that Evernote was built from the ground up with sync in mind. Its main selling point from day one was that you can access your data from any device. DevonThink allows you to sync with your iOS devices with DevonThink ToGo. However, its 100% manual. You need to open up DevonThink on your iOS device and manually click on the sync button. Then only files explicitly set to sync will get downloaded to your device.

Winner: Evernote. This is a no-brainer. Evernote cleans the floor with DevonThink here. You have access to all of your notes (except for notebooks configured to be local only) on every device. It also all happens auto-magically!

Update: (03/07/2013) The day after I wrote this post, DevonThink v2.5 was released and it now supports sync! You can now sync 5 different ways. The two most interesting ways is via direct connection or Dropbox. The direct connection is a great option if you have data that you want to ensure does not get onto the cloud. However, the developers are still working on adding their new sync technology into DevonThink ToGo. While this update is definitely great for DevonThink users, I still think that Evernote is the winner here. Setting up sync within DevonThink matches the app perfectly: its complicated. That is not necessarily a bad thing, I think that it really fits with the app and their audience. Evernote’s sync process is zero! Plus Evernote still allows access to ALL your data from any device.

Sharing

DevonThink has a webserver where you can share (on your local network only) your database via a web browser. I tried syncing my DevonThink database over DropBox and while it works, you get warnings about the database being open on another machine. This tells me this is not supported and could break something eventually. In Evernote, I can easily right click on a notebook and share it with any other Evernote user.

Winner: Evernote. Its seamless and insanely simple to do.

Integrations

DevonThink has some APIs that allow other apps to integrate into it. However, Evernote has the Trunk! Over the past year Evernote has purchases some very prevalent apps such as Hello, Food, Skitch and Penultimate. They have also have a public API where hundreds of developers have integrated their apps with Evernote.

Winner: Evernote. Duh! However, it is kinds of an unfair fight. DevonThink was developed to be an app. Evernote was built to be a full online service.

Recommended Reading

Paperless by David Sparks is great ebook that goes through the entire process of taking your life paperless. It’s a must read if you want to go paperless.

Evernote Essentials by Brett Kelly gives an extremely thorough overview of Evernote. Its got everything from beginner to advanced users.

Automating with Powermate

The Griffin PowerMate is a USB powered knob that can be configured to do pretty much anything you want with it. You can turn it, press it, hold it down and any combination of those, even alongside modifier keys. It has a configuration app that allows you to configure actions from a default list of actions. If you know a little scripting, sky is the limit in what you can make it do. It supports both global and app specific actions.

I bought a Griffin PowerMate over a year ago now from Amazon and it’s been sitting on my desk barely getting used since. I bought it thinking that I could use it to make editing screencasts easier in ScreenFlow but never seemed to get around to configuring it. It came shipped with a ton of default settings and macros that I never seemed to get used to. This is probably the main reason that I stopped using it. However, a couple weeks ago, I decided that I really wanted to give it another go. I wanted to start from a clean slate though. So I open the PowerMate config app and deleted all of the settings that shipped with the app.

I decided to start really simple. With most new things, I wanted to use it for one or two simple tasks. Once I get used to using the device more, I will add more actions over time. Before you know it, I will be using it for all kinds of stuff. After a couple of weeks, here is my current setup.

As you can see, every action right now has to do with audio. This just seemed like the most logical first steps to use PowerMate for. I recently moved to a Natural Microsoft Keyboard. This meant that I lost some very convenient global keyboard controls to interact with my music. I setup some custom actions for FaceTime that override the global actions while FaceTime is the active application. Here is a run down of my current actions.

  • Volume Up/Down: My new keyboard does have buttons that I use for this, however, I could not think of a better use for turning the PowerMate left/right.
  • Play/Pause: My keyboard has a play/pause button but it never seems to work consistently. So now, I just need to tap my PowerMate!
  • Next Track: I lost my next/previous track buttons with my new keyboard. So now I just need to hold down my command key and tap the PowerMate to skip to the next track.
  • Audio to Headphone/Desktop: I use DPS Plugin on my MacPro. It has a nice way to setup audio profiles for different setups. They also have a nice set of custom URLs that interact with the app, including switching between profiles. I have profiles setup for my desktop and headphones. Now with my PowerMate, all I need to do is press and hold and I can switch between my desktop and headphone audio profiles. This is sweet!
  • FaceTime: Set Input to 85%: This is a complete hack to fix an annoying bug with FaceTime. Whenever FaceTime connects on my MacPro, it sets the input volume on my Blue Yeti mic to 0%. This bugs the crap out of me! But thanks to my PowerMate, with a quick tap, my input volume it set to 85%.
  • FaceTime: Input Volume Up/Down: Depending on who I am talking with, I may want to adjust my input volume up or down based on the feedback that I am getting from their side.

I am excited about using my PowerMate again. Its started to become more natural to use for me. I am sure over time I will add a lot more actions to it. Next time I do a screencast, I will probably spend some time figuring out how I can best use the PowerMate to improve editing. If you use your PowerMate, I would love to hear how you use it to make your life easier.

Dropbox Public URL Service

Like many of you, I use Dropbox. It’s a very vital component of my workflow. Sadly, the nice contextual menus that it places inside Finder, don’t always work. I finally got fed up with this and decided to take the time to develop a service in Automator the copies the Dropbox Public URL for any file contained within my Public folder in Finder.

You can download the Dropbox Public URL Service here. Follow the instructions to get this working on your machine… 

Open the Dropbox Public URL.workflow file that you downloaded.
A dialog box should appear. Click on the “Open with Automator” button.
The file should look like the above image.
Edit the $public_path variable to contain the full path to your Dropbox public folder on your machine.
Edit the $public_url variable to contain the url for your Dropbox public folder. The only thing that should change is the id at the end of the url.
Save the file and quit Automator.
Reopen the file. Except this time you will click on the “Install” button.
That should pretty much do it for you. You will now have a Dropbox Public URL in the Services contextual menu when you right click on a file in Finder. I hope you find this useful!

Dropbox Public URL Service

Like many of you, I use Dropbox. It’s a very vital component of my workflow. Sadly, the nice contextual menus that it places inside Finder, don’t always work. I finally got fed up with this and decided to take the time to develop a service in Automator the copies the Dropbox Public URL for any file contained within my Public folder in Finder.

You can download the Dropbox Public URL Service here. Follow the instructions to get this working on your machine…

  1. Open the Dropbox Public URL.workflow file that you downloaded.
  2. A dialog box should appear. Click on the “Open with Automator” button.
  3. The file should look like the above image.
  4. Edit the $public_path variable to contain the full path to your Dropbox public folder on your machine.
  5. Edit the $public_url variable to contain the url for your Dropbox public folder. The only thing that should change is the id at the end of the url.
  6. Save the file and quit Automator.
  7. Reopen the file. Except this time you will click on the “Install” button.

That should pretty much do it for you. You will now have a Dropbox Public URL in the Services contextual menu when you right click on a file in Finder. I hope you find this useful!

Hipsum & Lipsum TextExpander Snippets

I use Lorem Ipsum all the time in order to fill in sample content for new webpages, document templates, etc. Its pretty much the de-facto standard out there for filler text. There is even a great little Mac app called LittleIpsum that helps you gerneate ipsum text as well. I used this app along with my own static text snippets for a long time until I read a string of awesome blog posts from Brett Terpstra on some Text Expander snippets that he had developed.

I have used Brett’s snippets for quite some time. However, I have wanted to put my own spin on things. I wanted to try to make some Lorem Ipsum snippets that could obtain user input. This way I could have less snippets in my library and have less snippet triggers to remember in my already overflowing brain. So I went forth and developed two different snippet sets with the APIs for HipsterIpsum.me and Lipsum.com.

While the text generators for these two sites is cool, there is one cool thing about these snippets that I think make them really stand out…

All the logic for each set is stored in a single snippet that I will call the “include snippet.” This include snippet is truthfully never really meant to be triggered itself. The entire purpose of it is to be included into other smaller snippets that only contain unique variables set on how you want your snippet to function. Below is a copy of the “hipsum” snippet.

#!/usr/bin/env ruby -Ku

amount = %fill:amount%
html = false
words = false
type = 'hipster-centric'

%snippet:includerubyhipsum%

This is a simple script snippet that sets a few variables in ruby. Then at that end, we put in a line to import our include snippet (which contains all the smarts about what to actually do.) If you are curious here is a quick rundown on what the variables do.

  • The user is prompted for the amount of items he wants (in this case paragraphs).
  • The html setting defines if we want plain text or html.
  • The words setting defines if we want to output only a certain number of words or entire paragraphs.
  • The type setting is a hipsteripsum setting for is we want to use hipster-centric or hipster-latin output

To create your own snippets using this, all you need to so is duplicate the hipsum snippet, change the variables that you want and you are off to the races! Another benefit here is that if the logic want to be modified for all you snippets, the “include snippet” needs to be modified!

So please feel free to download my Hipsum & Lipsum TextExpander snippets and play around with them. I look forward to hearing your feedback!