VI. Txt 파일을 기반으로한 GTD IV: 애플 스크립트, quicksilver, text expander 를 통한 생산성 극대화 + Phrase Express for Windows
Outline:
I. Intro
II. Mac: Taskpaper
III. Cloud: Dropbox
IV. iOS: Taskpaper
V. Windows: TodoPaper/nvpy
VI. Mac Taskpaper extra –
A. 애플 스크립트
B. QuickSilver
C. TextExpander 를 병행한 활용 +
A. AppleScript
“For the most part, the applications that are specifically designed for project organizing are way too complex, with too much horsepower to really be functional for 98 percent of what most people need to manage.” — David Allen, Getting Things Done
“대부분의 경우, 프로젝트 관리에 특화된 어플들은 과하게 복잡하고, 불필요하게 높은 마력을 지니고 있어 우리가 일반적으로 관리해야하는 98%의 업무에 실용적이지 못합니다” David Allen, Getting Things Done
강좌를 쓰면서 실용보다는 설치에 관해 더 많이 쓰게 되었는데, 이미 GTD 를 아시는 분들이라면 TaskPaper 를 어떻게 써야하는지는 잘 아실것 같습니다. 또 그것은 사람마다 조금씩 다를것이고요.
Project, todo, tag – 이렇게 있으면 GTD 는 가능합니다. 우선 간단하게 샘플을 올려 보겠습니다.
P 버튼은 프로젝트 별로 할일을 보여줍니다. 하나를 고르면 그 프로젝트에 속한 할일만 보여줍니다.
@ 버튼은 context 별로 할일을 보여줍니다. 하나를 고르면 그 context 로 tag 된 할일만 보여줍니다.
@due, @agenda 처럼 추가 변수가 들어가는 tag 들도 하나의 tag 로 처리됩니다.
@ 버튼으로 @due 를 고르시면 날자가 다른 @due tag 들이 다 보입니다. 예:@due(2013-01-04) tag 와 @due(2013-01-07) tag
서치칸을 써서 날짜별로 검색, 사람 이름별로 검색, 이런것도 가능합니다.
Apple Script:
GTD 시스템이 Txt 파일에 기반이 되어있다고 해서 강력하지 못한것은 아닙니다.
일반적으로 프로그램이 기능이 많으면 강력하다고 하는데 그것은 보통 강력하다기 보다는 복잡하다는것이 더 맞는것이 아닌가 싶습니다. 물론 복잡하다고 쓸모없는것은 아닙니다. 예를 들어 OmniFocus 는 복잡함속에 강력함이 있습니다. 그라나 간단하지는 않습니다.
Powerful – 이 형용사에 걸맞으러면 여러가지 내가 쓰고있는 productivity 어플과 의미있는 연동을 할수 있어야 됩니다.
PIM (Personal Information Management – ㅎㅎㅎ 팜 OS 에서 쓰이던 오래된 용어네요..) 의 구성요소는:
- Calendar (달력)
- Address book (주소/전화번호부)
- Todo list
15년도 넘은 개념이지만 아직도 위의 그것이 PIMs 축이 맞는것 같습니다. 여기에 하나 더하자면 e-mail 이 그때보다 더 큰 업무 수단으로 부상했군요.
그러면 db 가 txt 파일인 TaskPaper 가 우리 업무의 다른 major db 들 – email, calendar, address book 과 어떻게 연동할수 있을까요? 이들의 공통점은 OSX 가 다 다루는 db 들이라는 것입니다.
그리고 e-mail 내용을 task paper 에 copy & paste 하는것은 아주 간단한 작업입니다. 수작업이지만요.
이런 반복적인 간단한 작업들을 위해 OSX 에는 apple script 라는것이 있습니다. 워드나 오피스에서 자주 쓰이는 Macro 같은 개념이라고 생각하시면 될것 같습니다. 그러나 applescript 는 자체의 programming language 이고 저처럼 컴퓨터 프로그래밍을 모르는 사람에게는 어렵게 다가올수도 있습니다.
하지만 많은 TaskPaper 사용자들이 고맙게도 많은 Script 를 이미 만들어 공유해 주어서 이것을 copy 해서 쓰는것은 그리 힘들지 않습니다.
우선 제가 가장 많이 쓰는 taskpaper 관련 applescript 들과 설치법을 간단히 설명해볼까 합니다.
Script 는 여기에 정리되어 있습니다.
http://www.hogbaysoftware.com/wiki/TaskPaperAppleScripts
이 많은 script 중에 제가 쓰는것은:
- Add to iCal – tag 에 날자가 있는 할일들을 iCal 달력에 입력시켜 줍니다
- Send to InBox – 지금 보고 있는 이메일의 링크와 내용의 첫 3줄을 지금 보고있는 TaskPaper 의 InBox project 에 할일로 만들어 줍니다
- Project Folders & Notes – TaskPaper 상에서 지금 cursor 가 가있는 project 나 할일이 속한 project 에 연관된 문서나 파일들을 저장할 폴더를 Documents 폴더에 만들어 주고, 이미 만들어진 상태에는 열어 줍니다.
이 세 script 의 설치법을 변역해 보겠습니다.
CreateiCalEventsFromStartDue
Create iCal events based on start and due tags
This script creates iCal events in a “TaskPaper” calendar for all events that have a @start and @due tag. Create a calendar with that name prior to running this script. All events in the “TaskPaper” calendar are deleted and then recreated when this script is run.
이 스크립트는 iCal 안의 “Taskpaper” 달력에 task paper 내에 @start 와 @due 라는 context 를 지닌 next action 들을 달력에 입력해 줍니다.
우선 iCal 을 실행하고 Taskpaper 라는 새 달력을 만듭니다.
스크립트가 실행될때 마다 모든 event 가 지워졌다가 다시 만들어 집니다.
Important note: This script is currently only working when run in the Script Editor, but not from the scripts dropdown within TaskPaper.
필독사항: 본 스크립트는 현제 Script Editor 를 통해서만 실행가능 하고 Taskpaper 안에서 drop down 으로는 실행불가 입니다.
Also, this script is likely to fail ungracefully if you have a @start or @due tag without a date or with a poorly formatted date. Dates are expected to be in YYYY-MM-DD format.
그리고 이 스크립트는 @start, @due 태그에 날자가 없거나 날자 서식이 잘못되어 있는 경우에 우아하지 못하게 실행 실패할수 있습니다. 날자 표기 형식은 2003-01-31 이런식으로 되어있어야 합니다.
Script 설치방법:
- Apple Script Editor.app 실행
- Create iCal events based on start and due tags 링크에 있는 script 를 카피 해서 script editor 에 paste 해넣습니다.
- Macintosh HD\Library\Scripts 폴더에 TaskPaper 라는 폴더를 만들고 (사실 이것은 어디에 저장해도 상관없습니다) Script 이름을 지정해 줍니다. File Format 은 Script 로 지정해 주셔야 합니다.
- 실행해 보겠습니다. 우선 script editor 의 preference 창으로 가서 Show Scripts Menu in Menu bar 옵션을 첵크해 줍니다.
- TaskPaper 상에서 script 를 실행해 보겠습니다. Menu bar 에 있는 Scripts Menu 에서 저장해 놓은 Script 를 찾아 실행시겨봅니다.
- iCal 을 실행해 보면 @due(2013-01-14) 태그가 들어간 할일이 1월 14일날 에 event 로 입력되어있는것을 확인 할수 있습니다.
AddCurrentMailToTaskPaper
Add current mail to taskpaper with summary note
지금 보고 있는 이메일을 TaskPaper 에 더하기
Select a message in Mac Mail. Run this script – it will make a new entry in the Inbox of Taskpaper with the subject of the email and a URL that points to the email. To use a service instead of a script, see further down.
Mac Mail app 에서 메세지를 봅니다. 스크립트를 실행하면 TaskPaper 파일의 Inbox 프로젝트 아래에 e-mail 의 주제와 링크를 넣습니다.
Installation
설치
This really is a pretty simple process, but for the sake of the AppleScript-uninitiated (that was me until about 30 mins ago ;-), I’ll detail all the steps here.
쉬운 과정입니다만 AppleScript 초보자들을 위해 (30분 전까지 저였습니다), 구체적으로 한번 써보겠습니다.
Install Growl, from http://growl.info/
Growl 을 설치합니다. Growl 은 Mac OS 용 알림센터 어플입니다. OSX 10.6 까지는 프리웨어였으나 10.7, 10.8 용 Growl 은 상용 어플입니다. $3.99 하네요.
Run AppleScript Editor, from /Applications/Utilities. Select the “Preferences…” menu item. Ensure that the check-box “Show Script menu in menu bar” is checked.
AppleScript Editor 를 실행합니다. Application 폴더안의 Utilities 폴더에 있습니다. Preference 창에서 Show Scripts Menu in menu bar 옵션을 체크 합니다.
Copy and paste the script text from this web page (below) into the “Untitled” window in AppleScript Editor. Save this script to either the local or global scripts folder for Mail.app (~/Library/Scripts/Applications/Mail or /Library/Scripts/Applications/Mail, respectively). Call this file “AddCurrentMailToTaskPaper”, or whatever else you like (e.g., “TaskPaper – Send to Inbox”). If you get a dialog box at this stage, asking you to locate the “GrowlHelperApp” application, this means that something is wrong with your Growl installation, or Growl is not currently running – check your Growl settings in System Preferences, or reinstall it as in Step 1.
아래의 script 를 copy 해서 AppleScript Editor 에 paste 해 넣습니다. Script 를 script 폴더에 저장합니다 (~/Library/Scripts/Applications/Mail ). Script 이름은 마음데로 정하시고요. GrowlHelper App 을 찾아달라는 에러 메세지가 나오면 growl 설치에 하자가 있었거나 growl 이 실행되지 않았다는것을 의미 합니다.
Run Mail.app. Ensure that the AppleScript menu is visible towards the right of your menu bar. (It has a scroll-like “S” icon.) If this menu item is not visible, revisit Step 2 above, to make sure it’s enabled.
Mail 앱을 실행하고 AppleScript Menu 가 보이는것을 확인합니다.
Check to see that the name of the script you saved in Step 3 is in the AppleScript menu. If it isn’t, try Step 3 again.
아까 저장한 script 가 메뉴에 나와있는지 확인합니다.
Select a mail message. Then select your script’s name in the AppleScript menu. If all works right, a little “Added to TaskPaper” confirmation should pop up on-screen. If you now switch applications to TaskPaper, you will see a new task item in the Inbox, with a URL which links to the original message.
메일 메세지를 하나 골라 script 를 실행해봅니다. “Added to TaskPaper” 라는 notification 이 뜨고 TaskPaper 안의 Inbox project 에 이메일이 할일로 기록되어 있고 아래에 메일 링크가 있는것이 보입니다.
원문에서 script 만 잠깐 바꾸어 보겠습니다. Taskpaper 에 더해질때 email 의 내용도 부분적으로 나오는것으로 해보겠습니다.
ProjectFoldersAndNotes
Create or open folders or notes files for TaskPaper projects
These scripts are designed to integrate a TaskPaper document with folders in the file system that contain project-related files and notes. They allow a project folder or a project notes file to be opened quickly for a TaskPaper project that contains a selection or the cursor in its name or in one of its tasks or notes. If the folder or notes file don’t exist, the scripts will create them, with an option to cancel, incrementally building a folder hierarchy that matches the project hierarchy in the TaskPaper document.
이 스크립트들은 TaskPaper 문서와 그에 관련된 그 외의 문서와 자료가 저장된 폴더를 연관시키기 위해 있습니다. 지금 커서가 기있는 프로젝트 관련 자료 폴더와 노트가 TaskPaper 내에서 신속히 열릴수 있도록 도와줍니다. 만약 그런 폴더나 노트가 존재하지 않는다면 Script 가 만들것입니다. Taskpaper 상의 project 정리 체계를 따르는 폴더 체계를 만듭니다.
이 스크립트는 이미 만들어져 있어 여기서 받으실수 있습니다.
TaskPaper_folder_and_notes_opener.zip
다음에는 QuickSilver 를 이용해 Script 에 keyboard shortcut 을 지정해주는 방법을 알아보겠습니다.