I have been currently running Mac OS X for a year (since this writing). I have become obsessed with workflows. If I can cut down 5 minutes of my time, that is 5 extra minutes I have to enjoy life (although usually it is to work more).
Currently I run a MacBook Pro 15″ Retina with 16GB or RAM and a 1TB Flash Drive. Love it.
Applications I use on the MacBook:
OmniFocus – This application allows me to import all my tasks for a particular project and define ‘defer dates’ (AKA Start Dates) and due dates. When on site, I can create a perspective which is essentially a filter to only show me tasks pertaining to that project; helps with my A.D.D.
TextExpander – This application allows you to create shortcuts of text and even smart prompting for use in scripts. For instance, if I were to type ‘;re’ (without the quotes) this is what it would automatically replace it with:
Regards,
Manny
Evernote – Wow! What can I say about Evernote? I love it. It syncs to Windows, Mac, Linux (web), iPhone and Android. With iOS (recently release on Android as well) you can take a picture of a business card and not only will it save the picture of the card in Evernote, but it will add it to your contacts, send a LinkedIn invite (optional) and can send the person who you just scanned your vCard. It supports markdown and with the premium edition, allows up to 4 GB a month of uploads.
1Password – Great Password manager. Syncs with iOS, Mac and now Windows. Has a great security feature as well that monitors sites that have been compromised and notifies you to change your password for that site.
SecureCRT – One of my favorite tools. I used this while I was running Windows, then when I ran Linux for many years, and now on Mac. It is fantastic. It supports python scripts and has a great script recording feature. Saves your sessions so you can easily connect to customers. I have over 300 sessions in my config.
UltraEdit – Great text editor with so much more. Great RegEx support as well. I use this daily.
BusyCal – Love this calendar app. It integrates with Exchange, Gmail. Office 365, iCloud etc. Very flexible and much cleaner than the default calendar.
PDF PenPro – Great for creating PDF Forms, has an incredible OCR feature where it will turn a PDF into a Word Document.
MailTags 4 – This is a must have. It allows me to send an email and add a follow up or tickler to it. This way I can set it to remind me in three days (or whatever you like) that I sent you an email and was awaiting a response. Additionally, it allows you tag mail with projects and or keywords.
Applescript for my projects
– Sets up the JobName, CustomerName and location by asking the user
set JobName to text returned of (display dialog “Please enter Job Name:” default answer “Job_Name”)
set Customer to text returned of (display dialog “Customer Name:” default answer “Customer”)
set loc tochoose folder “Choose Parent Folder Location”
— Sets up the date variables
set incomingDate to (current date)
set yr to year of incomingDate astext
set mo to (monthof incomingDate asnumber) astext
if ((length of mo) = 1) then
set mo to “0” & mo
endif
set dy to day of incomingDate astext
if ((length of dy) = 1) then
set dy to “0” & dy
endif
— Sets the filename to be used concatinated with date
set newfoldername to yr & “-” & mo & dy & “-” & JobName
set customer2 to Customer & “-” & JobName
tellapplication “Finder”
display dialog “Do you want me to create an OmniFocus Project?” buttons {“yes”, “no”} default button 2
if button returned ofthe result is “no” then
–Parent Directory Structure
set dir_1 tomake new folder at loc with properties {name:newfoldername}
set dir_2 tomake new folder at dir_1 with properties {name:”Caps”}
set dir_3 tomake new folder at dir_1 with properties {name:”Configs”}
set dir_4 tomake new folder at dir_1 with properties {name:”Diagrams”}
set dir_5 tomake new folder at dir_1 with properties {name:”Documents”}
set dir_6 tomake new folder at dir_1 with properties {name:”Scripts”}
— Sub-Folder structure
set sub_3_1 tomake new folder at dir_3 with properties {name:”Backups”}
set sub_3_2 tomake new folder at dir_3 with properties {name:”Logs”}
set sub_3_3 tomake new folder at dir_3 with properties {name:”Sites”}
set sub_3_4 tomake new folder at dir_3 with properties {name:”Worksheets”}
set sub_4_1 tomake new folder at dir_4 with properties {name:”Logos”}
set sub_4_2 tomake new folder at dir_4 with properties {name:”Screenshots”}
set sub_4_3 tomake new folder at dir_4 with properties {name:”Network Diagrams”}
set sub_5_1 tomake new folder at dir_5 with properties {name:”Customer”}
set sub_5_2 tomake new folder at dir_5 with properties {name:”Deliverable”}
set sub_5_3 tomake new folder at dir_5 with properties {name:”License”}
set sub_5_4 tomake new folder at dir_5 with properties {name:”Certificates”}
set sub_5_5 tomake new folder at dir_5 with properties {name:”InfoSecOps”}
set sub_5_6 tomake new folder at dir_5 with properties {name:”Validation”}
— Creates sub-folders under \InfoSecOps
set sub2_5_1 tomake new folder at sub_5_5 with properties {name:”BoMs”}
set sub2_5_2 tomake new folder at sub_5_5 with properties {name:”Quotes”}
set sub2_5_3 tomake new folder at sub_5_5 with properties {name:”Private”}
set sub2_5_4 tomake new folder at sub_5_5 with properties {name:”SoW”}
set sub2_5_5 tomake new folder at sub_5_5 with properties {name:”Standard”}
else
–Parent Directory Structure
set dir_1 tomake new folder at loc with properties {name:newfoldername}
set dir_2 tomake new folder at dir_1 with properties {name:”Caps”}
set dir_3 tomake new folder at dir_1 with properties {name:”Configs”}
set dir_4 tomake new folder at dir_1 with properties {name:”Diagrams”}
set dir_5 tomake new folder at dir_1 with properties {name:”Documents”}
set dir_6 tomake new folder at dir_1 with properties {name:”Scripts”}
— Sub-Folder structure
set sub_3_1 tomake new folder at dir_3 with properties {name:”Backups”}
set sub_3_2 tomake new folder at dir_3 with properties {name:”Logs”}
set sub_3_3 tomake new folder at dir_3 with properties {name:”Sites”}
set sub_3_4 tomake new folder at dir_3 with properties {name:”Worksheets”}
set sub_4_1 tomake new folder at dir_4 with properties {name:”Logos”}
set sub_4_2 tomake new folder at dir_4 with properties {name:”Screenshots”}
set sub_4_3 tomake new folder at dir_4 with properties {name:”Network Diagrams”}
set sub_5_1 tomake new folder at dir_5 with properties {name:”Customer”}
set sub_5_2 tomake new folder at dir_5 with properties {name:”Deliverable”}
set sub_5_3 tomake new folder at dir_5 with properties {name:”License”}
set sub_5_4 tomake new folder at dir_5 with properties {name:”Certificates”}
set sub_5_5 tomake new folder at dir_5 with properties {name:”InfoSecOps”}
set sub_5_6 tomake new folder at dir_5 with properties {name:”Validation”}
— Creates sub-folders under \InfoSecOps
set sub2_5_1 tomake new folder at sub_5_5 with properties {name:”BoMs”}
set sub2_5_2 tomake new folder at sub_5_5 with properties {name:”Quotes”}
set sub2_5_3 tomake new folder at sub_5_5 with properties {name:”Private”}
set sub2_5_4 tomake new folder at sub_5_5 with properties {name:”SoW”}
set sub2_5_5 tomake new folder at sub_5_5 with properties {name:”Standard”}
— Creates the OmniFocus Project
— set thePath to choose file of type “oo3” with prompt “Please choose a OmniOutline file.”
(* Need to figure out this date issue, These are some of the tests I tried.
— set startDate to do shell script “date -j -f ‘%A, %B %e, %Y %l:%M:%S %p’ ‘” & startDate & “‘ ‘+%y%m%d_%H-%M-%S'”
— display dialog “Start Date date: ” & startDate
— set dueDate to do shell script “date -j -f ‘%A, %B %e, %Y %l:%M:%S %p’ ‘” & dueDate & “‘ ‘+%y%m%d_%H-%M-%S'”
— display dialog “Start Date date: ” & dueDate
set incomingDate to startDate
set yr to year of incomingDate as text
set mo to (month of incomingDate as number) as text
if ((length of mo) = 1) then
set mo to “0” & mo
end if
set dy to day of incomingDate as text
if ((length of dy) = 1) then
set dy to “0” & dy
end if
set incomingDate to dueDate
set yr to year of incomingDate as text
set mo to (month of incomingDate as number) as text
if ((length of mo) = 1) then
set mo to “0” & mo
end if
set dy to day of incomingDate as text
if ((length of dy) = 1) then
set dy to “0” & dy
end if
. *)
— Need to figure this out
set startDate to text returned of (display dialog “What will be the start date?” default answer “”)
set dueDate to text returned of (display dialog “When is it due by?” default answer “Customer”)
display dialog “Start Date is:, ” & “startDate”
display dialog “Due Date is:, ” & “dueDate”
tellapplication “OmniFocus”
tell default document
import intoit from POSIX file “/Users/mannyfernandez/Desktop/test123.oo3”
endtell
endtell
tellfrontdocumentofapplication “OmniFocus”
set homeContext tofirstflattened contextwhose name is “InfoSecOps”
set theProject tomake new project with properties {name:JobName, defer date:startDate, due date:dueDate, context:homeContext, sequential:false}
tell theProject
make new task with properties {name:”Kickoff Meeting”}
make new task with properties {name:”Closeout Meeting”}
endtell
endtell
endif
— Set variable to be used by Evernote
set custfldr tothe loc astext
set POSIXPath to (the POSIX path of custfldr)
set filelink to “file://” & POSIXPath
endtell
tellapplication “Finder”
set the clipboard tothe POSIXPath astext
endtell
tellapplicationid “com.evernote.Evernote”
create note with text filelink title customer2 notebook “Inbox”
endtell
Although still a work in progress, this is essentially what it does:
I have a shortcut key ⌘ 8, which will pop-up and ask me for the Job Name, then the Customer Name and then ask if I want to create an OmniFocus project for it. Once I enter the Job Name and the Customer name it will automatically create all of my directory structure I use for a common project. If I choose YES on the OmniFocus question, it will ask me where the OmniOutline file is that contains the tasks. I then import it into OmniFocus. It then creates an Evernote note with the Customer, Job Name and Date.
Using TextExpander I have created a shortcut for updates Evernote, OmniFocus or even the office ticketing system. By typing ‘;up’, Text Expander will automatically add:
===============================================
20141209-0037:
I can then start typing the update. As you can see it adds the Year, Month and Day plus the current time. Very useful for updating statuses.
I also use mail plugins for Evernote which allow me to move/copy things to my Evernote.
:: Coming Soon: Part 2 and iOS workflow.