나의 지식관리시스템 = Obsidian + Dropbox + Drafts 5 + Hook + Zotero + EagleFiler

Table of Contents

  • 2021-02-28 첫번째 버전 공개
  • 2021-03-01 사소한 수정
  • 2021-08-15 모바일 내용 및 동기화 내용 변경
  • 2022-01-15 Drafts 앱 사용 관련 내용 변경

배경

나는 최근에 나의 개인 지식 관리 시스템 (Personal Knowledge Management System)으로 Obsidian을 쓰기로 결정하고 2021년 초부터 본격적으로 사용하고 있다. 내가 하는 생각들, 새롭게 배운 사실들, 사람들과의 관계, 업무를 위해 정리하는 지식들을 포함한 모든 것들을 plain text 파일에 markdown을 이용해 적고 그걸 관리하는 시스템이 되는 것이다. 무엇보다 좋은 점은 내가 하고 있는 거의 모든 일들을 이 시스템 안에 넣고 관리할 수 있도록 만들 수 있다는 점이다. 텍스트로 만드는 노트, 각종 파일들, 논문, 웹페이지 등 내가 만들거나 소비하거나 관리하는 (거의) 모든 것들이 이 시스템 안에서 통합될 수 있다.

경험들

에버노트

모바일이 개인 지식 관리에 실질적으로 기여할 수 있게 된 것은 아마도 에버노트로부터 시작되지 않나 싶다. 나는 2009년 정도부터 에버노트를 쓰기 시작했고 그 때는 이 프로그램이 노트의 혁명과도 같았다. 무엇보다 마음에 들었던 것은 웹 클리핑 기능이 좋다는 것과 다양한 서드 파티 앱과 연동하여 쓸 수 있다는 점이었다. 결국 에버노트 인터페이스 자체로 쓰는 것 보다는 다른 프로그램을 인터페이스로 쓰고 저장만 에버노트로 되는 방식이었다. 그리고 플레인 텍스트로만 쓸 수 있는 것이 아니라 사진을 첨부할 수 있다는 점도 좋았다. 그래서 다이어리 프로그램의 백엔드로 꽤 오랫동안 사용을 했다.

에버노트 이외에도 노션이나 코다, 베어 같은 서비스가 많이 나오고 있고 이런 서비스들이 각자 에버노트에 비해 장점들을 가지고 있다. 나도 여러 가지 서비스들을 써 보기도 하고 활용해 보는데, 한 서비스를 거의 모든 목적으로 쓸 수 있는가 하는 관점에서는 모두가 모자란 측면들이 많이 있다고 할 수 있다.

Taskpaper

Taskpaper라고는 썼지만 기본적으로는 할일 관리를 plain text로 하는 것을 의미하고, FoldingText이든 그냥 Sublime Text, TextMate 같은 텍스트 에디터이든 도구는 크게 중요하지 않고 taskpaper의 페이지 형식을 쓰는 것이 중요하기는 하다. 나는 사실 할일 관리를 깊이있게 하는 편이 아니어서 시도는 해 봤지만 집중적으로 오래 사용하지는 않았다. 그러나 모든 일을 plain text로 한다는 사실 자체는 굉장히 의미있고 좋은 발상이라고 생각한다.

10년 일기

물리적인 다이어리

문제는 에버노트로 열심히 뭔가를 많이 작성해 두어도 그걸 다시 보고 떠올리기가 어렵다는 점이었다. 다이어리는 날짜가 지나면 어딘가에 처박아 두게 되기 마련이다. 디지털로 옮겨간 다이어리 역시 지나간 페이지들은 잘 보게 되지 않는 것이 사실이었다. 다시 읽지도 않을 기록을 남긴다는 것이 어떤 면에서는 의미없는 일처럼 느껴지기도 하던 순간, 펀샵에서 10년일기라는 제품을 발견하게 되었다. 지금도 여전히 펀샵에서 판매되고 있는 상품이니 굉장히 의미있었고 인기도 있는 상품일 것이다. 간단하게 생각하면 모두 366 페이지(2월 29일 포함)가 있고 그 페이지를 10칸으로 나누어 매년 해당 위치에 기록을 하는 것이다. 이렇게 하면 시간이 가면서 오래된 기록을 다시 보게 되는 효과가 있다.

내가 이 노트를 구매하고 깨달은 점은, 이런 두꺼운 (그러나 하루치 공간은 꽤 좁은) 다이어리를 가지고 다니면서 쓸만큼 내가 부지런하지 않다는 사실이었다. 비어있는 공간이 눈에 많이 보일수록 스스로에게 부정적인 이미지가 생겨버리니 계속해서 쓰는게 쉽지 않았던 것이다.

디지털 다이어리

그렇다면 모바일에서 이런 10년 일기의 시스템을 구현하면 되는 좋겠다는 생각이 들었고, 원래 사용하던 에버노트를 이런 방식으로 사용할 수 있다는 것을 깨달았다. 이 시스템을 위해 찾아낸 프로그램이 아이폰과 안드로이드에서 모두 사용 가능한 WriteNote Pro 앱이었다. 일본인 개발자가 만든 이 앱은 적은 노트를 에버노트에 저장해 주는데, 이 앱에서 적은 노트를 (유료 버전의 경우는 사진도 지원) 이미 존재하는 노트의 맨 앞이나 맨 뒤에 추가할 수 있도록 해준다. 그리고 어떤 노트에 추가할지도 자동으로 선택하도록 할 수 있다. 에버노트에 '10년일기'라는 제목의 노트북을 만들어 놓고, 그 안에 기록하도록 세팅을 해 놓으면 해당 날짜의 기록이 자동으로 해당 날짜 노트에 들어가는 방식이다. 예를 들어 1월 1일에 일기를 쓴다면, "01월01일" 이라는 제목의 노트가 없으면 새로 만들어서 내용을 추가하고 만약 해당 이름의 노트가 있으면 맨 위에 (또는 맨 아래에) 노트 내용을 추가한다. 이렇게 추가되는 내용의 헤더에 시간, 위치 등을 넣을 수 있기 때문에 최소한의 컨텍스트를 유지할 수 있다는 장점도 있다. 이후에는 iOS에서 Drafts 5를 사용하게 되면서 대부분의 텍스트 입력과 처리는 이 앱에서 하게 되었고 이전에 WriteNote Pro에서 사용하던 것과 같은 기능을 Drafts 5 안에서 구현해서 그걸 사용하게 되었다.

이 방식은 날짜 기반으로 기록을 쌓는데는 도움이 되지만, 적은 기록들을 연관지어서 새로운 생각을 만드는데는 큰 도움이 되지 않는다는 단점이 있다. 특히 적는 내용이 느낌이나 감정 같은 것이 되는 경우에는 컨텍스트가 남아있지 않을 때 내가 쓴 노트조차도 왜 썼는지를 이해할 수 없는 경우가 많은 것을 경험하게 되었다.

새로운 시스템의 구성 요소

기반 소프트웨어: Obsidian

Obsidian is a powerful knowledge base that works on top of a local folder of plain text Markdown files.

Obsidian은 최근에 인기를 끌고 있는 지식 관리 시스템 소프트웨어이다. 개발이 시작된 것은 대략 2020년 초반인 것 같고 첫 버전인 0.0.1 버전은 2020년 3월 30일에 공개가 되었다. About us 페이지에 의하면 크게 세 가지의 모토를 가지고 만들기 시작한 것으로 소개되어 있는데 그것은 다음과 같다.

  • Local-first and plain text;
  • Link as first-class citizen;
  • Make it super extensible;

개발자들은 이 프로그램을 second brain으로 생각할 수도 있지만 노트의 IDE로도 생각한다는 말도 있다. 자신들에게 다른 노트 프로그램들은 마치 개발자가 코드 자동 완성, 코드 문법 표시, Git 통합 기능이 없는 IDE를 쓰는 것 같은 느낌을 받았다고 했다. 개발자가 편하게 느끼는 IDE 같은 느낌으로 노트 프로그램을 만들려고 한 것이고, 그 노력의 결과가 바로 (개발자들이 IDE에서 얻는 많은 장점들을 노트를 쓰는 사용자들에게도 전달해주는) Obsidian이라는 프로그램인 것이다.

내가 생각하는 장점을 나열해 보면 다음과 같다.

  1. Plain text 기반이다: 백업, 이력 관리, 암호화 등 다양한 부분에서 개인에게 자유도가 높다는 점, 그리고 내 데이터를 내가 직접 관리한다는 점, 다른 시스템에 문제가 있더라도 텍스트 파일만큼은 읽는데 문제가 없다는 점, 다양한 다른 도구들(예컨대 자연어 처리 기술 같은 것)의 기능을 활용할 수 있다는 점에서 장점이라고 생각한다. 게다가 웹 서비스들은 인터넷 연결이 없는 상황에서는 사용이 불가능하지만 파일들은 인터넷 연결과는 상관 없이 사용할 수 있다는 점도 중요한 장점이다.
  2. 마크다운을 사용한다: 마크다운은 plain text 기반으로 사용할 수 있는 마크업 문법이다. 다양한 포맷팅을 사용할 수 있는데 다른 외부 도구의 필요 없이 쉽게 내용을 적을 수 있다. 문법이 단순하다는 것은 글의 구조를 단순화해서 적도록 하는 효과가 있다.
  3. 무료이다: Pricing - Obsidian 페이지에 따르면 개인용으로 사용하는 것은 지속적으로 무료로 제공한다. 물론 상업용으로 사용하는 경우에는 구매해야 한다.
  4. 백링크가 제공된다: 백링크는 일종의 인용문헌 목록이라고 할 수 있다. 작성한 노트들 간의 새로운 관계 발견을 위해서는 의식적으로 링크를 거는 행위 말고도 반대의 경우를 찾을 수 있어야 하고, 그 부분이 새로운 관계의 발견에서 핵심적인 부분이다.
  5. 모든 운영체제를 지원한다: 컴퓨터에서는 모든 운영체제(맥, 윈도우, 리눅스)를 지원한다. 모바일 앱도 iOS와 안드로이드 모두 지원한다.
  6. 훌륭한 커뮤니티를 가지고 있다: Obsidian 포럼이나 Obsidian 디스코드 채널은 매우 훌륭한 커뮤니티이다. 좋은 도구가 있다고 해서 바로 그 도구를 잘 사용할 수 있는 것은 아니다. 쉽고 넓은 분야에 적용할 수 있는 도구는 그것을 어떻게 사용하느냐 하는 구체적인 흐름에 따라 생산성이 달라지는 경우가 많은데, 그런 면에서 좋은 커뮤니티가 있다는 것은 큰 장점이다. 특히 옵시디언의 경우에는 자신이 사용하는 방식에 대해 유료 강의를 올리는 사람들도 아주 많아서 많은 파워 유저들이 활발하게 자신들의 노하우를 공유하려고 노력하고 있기 때문에 영어에 대한 제약만 없다면 아주 쉽게 좋은 노하우들을 습득할 수 있다.
  7. 플러그인, 테마 등의 개발이 활발하다: 많은 사용자가 유입되고 있기 때문인지 몰라도 다양한 플러그인과 테마들이 개발되고 있다. 대부분의 유저들은 자신이 필요로 하는 플러그인이나 테마를 찾지 못하는 경우를 경험하기 어려울 것이다.
  8. 빠르게 개발되고 있다: 한국어의 경우 조사가 붙어있는 단어의 경우에 백링크가 제대로 작동하지 않는 문제가 있었다. 중국어나 일본어의 경우에는 띄어쓰기가 없는 문제가 있기도 하다. 이 한국어 문제에 대한 한국인 사용자들의 의견을 묻는 글을 개발자가 올린 것이 2020년 12월 말경인데, 그에 대한 첫번째 개선을 담은 0.11.1 버전이 2월 중순에 나왔다. 개발자가 아주 빠르게 개발을 진행하고 있는 셈이다.
  9. 블록 링크가 가능하다: Obsidian과 많이 비교되는 도구인 Roam Research를 포함한 아웃라이너 프로그램들의 경우 블록 링크를 할 수 있다는 점이 큰 장점이다. Obsidian에도 블록 링크 기능이 들어 있어서 노트의 특정 부분을 링크하거나 현재 노트에서 직접 보여주는 일이 가능하다.

물론 단점이 없지는 않다.

  1. 빠르게 개발되고 있다: 빠르게 개발되고 있다는 것은 장점이기도 하지만, 변화의 속도를 따라가야 한다거나 중요한 부분이 바뀔 가능성이 있다는 점에서는 단점일 수 있다.
  2. Plain text 기반이다: 웹 어플리케이션의 경우에는 강력한 데이터베이스의 강점을 활용할 수 있지만 텍스트 파일 기반이라면 그런 종류의 강력함을 가지기는 어렵다. 물론 텍스트 파일의 장점과 데이터베이스 시스템의 장점 두 가지를 모두 가지고 있는 방식은 아직 없기 때문에 선택의 문제이기는 하다. (GitHub - blacksmithgu/obsidian-dataview: A complex query language implementation for the Obsidian note-taking tool. 에서 보듯이 Obsidian vault 전체를 데이터베이스처럼 쓸 수 있게 해 주는 플러그인도 개발되고 있다. 물론 개발 초기인 것은 감안해야 한다.)
  3. 한국어 사용자의 수가 많지 않다: 어느 프로그램이든 마찬가지이기는 하지만 한국어 사용자 수는 다른 언어들의 사용자 수에 비해 적은 편이고, 한국어의 특징이 개발에 반영되는 것도 우선 순위에서 밀릴 수 밖에 없다. 아직 정식 버전이 출시되지 않았는데, 정식 버전이 출시될 때는 한국어에 대한 지원이 온전히 이루어지면 좋겠다는 생각이 든다.

동기화 솔루션: Obsidian Sync 또는 Dropbox

Obsidian은 모든 내용을 폴더 안에 들어 있는 많은 수의 개별 텍스트 파일 안에 저장하고 있다. 따라서 여러 환경에서 사용하려면 이 파일들을 그 환경에서 이용할 수 있도록 파일을 관리해야 한다. 따라서 파일 싱크 프로그램이 있으면 좋다. 유료로 구매가 가능한 기능 중에 Sync 기능이 있는데, 20201년 8월 현재 월 $ 4 가격을 받는 것으로 되어 있다. 지금 구매를 하면 이 가격이 올라가지 않는다고 하니 (추후에는 월 $8로 인상될 것 같다. 다만 언제일지는 알 수 없다) 이 기능을 사용하는 것도 나쁘지 않은 선택이다. 그리고 End-to-end encyption(종단간 암호화)이 적용되어 있어서 서버에 있는 파일은 누구도 읽을 수 없기 때문에 내용의 보안이 걱정되는 경우라면 더욱더 긍정적으로 고려해 볼만하다.

나의 지금 선택 (2021년 8월부터)

Obsidian 자체 싱크 기능이 역시나 가장 안전한 선택이고, 결제 후 사용하고 있다. 일년에 $48이라는 가격이 어느 정도의 고민을 하게 만들지만, 일단 잘 세팅해 놓으면 운영체제에 대한 고민을 할 필요가 없다는 점, 종단간 암호화를 지원한다는 점, 텍스트 변경에 대한 히스토리를 일년간 보관해 준다는 점 등을 생각해 보면 받아들일 수 있는 정도라고 생각했다. 내 지식관리시스템은 데스크톱과 모바일을 모두 지원해야 하고, 이렇게 동기화 대상이 늘어날 때 복잡한 방법을 쓰거나 약한 고리가 있는 방법을 사용하게 되면 문제가 될 수 있기 때문에 가장 단순한 솔루션을 사용하기로 한 것이다. 그리고 대부분의 사람들에게는 이 가장 간단한 방법이 가장 안전한 선택일 것이다.

나의 선택: 텍스트 --> Obsidian Sync, 다른 모든 파일들 --> 드롭박스

처음부터 이 Obsidian Sync를 쓴다면 문제가 없겠지만, 만약 나처럼 다른 싱크 방법을 사용하다가 넘어온 경우라면 지금 싱크하고 있는 파일들을 이용해서 바로 Obsidian Sync를 하는 것은 좋은 선택이 아니다. 도움말에도 나와 있지만, 서로 다른 두 종류의 싱크 방법을 사용하면 예상하지 못한 문제가 생길 수 있다. 다음과 같은 방법으로 동기화를 설정하는 것이 가장 좋다.

  1. 현재 vault (다른 동기화 솔루션 안에 있는)를 다른 동기화 솔루션 밖에 있는 로컬 폴더에 모두 복사한다.
  2. 로컬 폴더를 vault로 연다.
  3. 설정 --> 주요 플러그인 에서 동기화를 활성화한다.
  4. 설정 --> 플러그인 설정 --> 동기화 로 이동하여 새로운 원격 보관함을 만든다. (여기서 암호 설정 가능. 이 암호는 잊어버리면 노트를 복구할 수 없음)
  5. 설정 --> 플러그인 설정 --> 동기화에서 원격보관함 선택의 Choose 버튼을 누르고 현재 vault와 4에서 만든 원격 보관함을 연결한다.
나의 이전 선택

Dropbox는 현재 최고의 파일 싱크 프로그램이다. 누구도 그걸 부정할 수는 없을 것이고, 비싼 가격(개인의 경우 연 $120)을 제외하면 그 안정성과 편리함에 대해 이의를 제기하는 사람은 하나도 없을 것이다. 많은 기업에서도 사용하고 있고, 경쟁 서비스들이 크고 작은 문제를 겪는 동안에도 크게 이슈가 될만한 문제가 된 적은 없었다는 점에서 압도적이라고 말할 수도 있을 것 같다. 게다가 대부분의 모바일 앱에서 기본적으로 지원하므로 (Dropbox는 지원하지 않는데 다른 파일 싱크 프로그램을 지원하는 경우는 아마도 없을 것이다) 호환성 측면에서도 압도적으로 좋다.

무료 계정의 경우 다른 서비스들에 비해 작은 용량만을 지원하지만, 텍스트 파일로만 이루어져 있는 Obsidian의 데이터 형식을 감안하면 무료 계정만으로도 용량은 충분하고도 남는다고 할 수 있다.

만약 Dropbox가 기본적으로는 end-to-end encryption을 지원하지 않는다는 점 때문에 보안적인 부분에서 걱정이 된다면 유료 플랜에 들어 있는 dropbox vault를 쓸 수 있다. 여기에 들어 있는 파일들은 별도의 PIN이 있어야만 접근을 할 수 있다. 나는 이미 내가 사용하는 모든 컴퓨터에 Dropbox를 깔고 사용하고 있는 중이므로 별다른 걱정 없이 선택했다. 그리고 이 선택은 다른 프로그램들과 합쳐질 때 더 큰 가치를 부여하게 된다.

다른 선택지들

이외에 생각할 수 있는 모든 파일 싱크 시스템을 문제 없이 쓸 수 있다. 아이클라우드, 구글 드라이브, 원드라이브, pCloud, Mega 등의 모든 클라우드 저장 서비스들은 물론이고 resilio sync와 같은 프로그램들을 사용할 수 있다.

텍스트 파일을 다룬다는 특성상 github에 저장을 하고 사용하는 사람들도 굉장히 많다. 사실 소스 코드를 저장하고 관리하는 것이 가진 장점을 생각해 보면 github는 가장 좋은 저장소 중의 하나라고 말할 수도 있을 것이다. 다만 Git 프로그램의 특성상 push를 해야만 변경점이 저장되므로, 이게 편한지 아니면 작업한 내용이 별도의 작업 없이 최신으로 남아 있는 것이 좋은지에 따라 선택을 하면 된다.

인터넷 서버에 자신의 기록을 남기는 것이 만족스럽지 않은 모든 사람들은 그냥 자신의 로컬에서만 사용하거나 USB 드라이브에 저장된 파일을 들고 다니는 것도 가능하다.

Obsidian Mobile

Obsidian 모바일 앱이 출시되었다. 2021년 7월에 처음으로 출시되었고, 아이폰안드로이드를 모두 지원한다. 대부분의 데스크탑용 기능을 동일하게 쓸 수 있지만, 화면 크기의 한계는 분명하고 모바일을 지원하지 않는 플러그인도 일부 있기 때문에 아마도 별도의 프로파일을 사용해서 데스크톱용과 모바일용 설정을 분리해 놓는 것이 좋을 것이다. 아래 그림에서처럼 설정 --> 앱 정보 에서 config 폴더 무시하기 옵션에 .obsidian-mobile과 같이 입력해서 설정을 분리해 놓고, 모바일에서는 이 설정을 사용하고 데스크탑에서는 기본 설정인 .obsidian을 사용할 수 있다.

모바일 동기화 - iOS의 경우

Obsidian은 특정 폴더 내에 있는 모든 파일들을 보고 있는 프로그램이다. 노트 간에 손쉽게 링크를 만들려면 해당 폴더 내의 모든 파일들을 인덱싱하여 가지고 있어야 하기 때문이다.

그런데, iOS 앱들은 기본적으로 자신의 어플리케이션 폴더에만 파일을 저장할 수 있고, 이렇게 앱 내에서 가지고 있는 파일을 다른 앱과 공유하려면 파일 단위로 내보내기를 해야 한다. iOS의 Obsidian 앱은 특정 폴더 안에 있는 모든 파일을 볼 수 있어야 하는데, 만약 파일이 다른 앱 (드롭박스같은 동기화 앱) 내에 있다면 이 파일 전체를 볼 수 있는 방법이 없는 것이다. iOS에서 사용 가능한 Obsidian Sync가 아닌 동기화 방법은 오직 아이클라우드 드라이브를 통한 것 밖에 없다. 맥 컴퓨터와 iOS 기기만 사용을 한다면 아이클라우드로도 충분하지만, 안드로이드나 윈도우 컴퓨터 같은 다른 기기가 동기화되어야 한다면 아이클라우드만으로는 불가능하다고 볼 수 있다.

모바일 동기화 - 안드로이드의 경우

안드로이드는 파일 시스템에 파일을 쓰고 이 파일을 여러 프로그램들이 공유하여 사용하는 것이 가능하기 때문에, 아마도 (나는 안드로이드를 잘 모르기 때문에 정확하지 않을 수도 있지만) 다른 동기화 프로그램을 쓰는 경우에도 사용이 가능할 것이다. 예를 들어 드롭박스를 쓰는 경우에는 이 글 또는 이 포럼 글을 참조하여 DropSyncFolderSync 같은 앱을 사용하면 될 것이다. 물론 위에 언급한 Obsidian Sync를 사용하면 안드로이드에서도 모바일 동기화에 아무 문제가 없다.

iOS 모바일 입력 시스템: Drafts 5

이 부분은 Obsidian Sync를 사용하지 않는 모바일 사용자들을 위해 남겨둔다.

Obsidian은 모바일 앱이 없기 때문에 모바일에서 가능한 것은 이미 작성된 텍스트 파일을 수정하거나 새로운 텍스트 파일을 만들어서 vault 폴더에 넣는 것 정도이다. 그래도 Obsidian은 이런 종류의 작업에 있어서 문제가 없기 때문에 당장 크게 불편한 정도는 아니다. 내 경우에는 obsidian vault(문서를 저장하고 있는 최상단 폴더를 vault라고 부른다)를 Dropbox에 넣어 놓았는데, 사실 Dropbox는 거의 모든 모바일 앱에서 기본적으로 지원하는 파일 저장소 프로그램이기 때문에 자신이 원하는 어떤 텍스트 에디터 프로그램을 사용하더라도 여기에 저장된 텍스트 파일을 편집하는데는 문제가 없을 것이다.

내 경우에는 iOS에서 대부분의 텍스트 입력은 Drafts 5 앱을 사용한다. 구독을 해서 사용하고 있기 때문에 맥에서도 사용할 수 있는데, 컴퓨터 환경에서는 이보다 더 익숙한 도구들이 많이 있기 때문에 사용 빈도는 iOS에 비해 떨어지는 편이기는 하다. 아이폰에서는 긴 텍스트를 입력하기가 불편하고, 아이패드는 입력이 편하기는 하지만 컴퓨터 정도로 앱이 다양하지 않기 때문에 거의 모든 텍스트 입력은 Drafts 5에서 하고, 다양한 action을 활용해서 다른 앱에 보내는 방식을 사용한다. 에버노트와 Dropbox를 모두 지원하는 것은 물론이고 이메일, 문자, 메신저, 미리 알림 등 대부분의 생각할 수 있는 곳에 입력한 텍스트를 보내고 원하는 작업을 할 수 있다.

나처럼 Obsidian 자체 싱크 기능을 사용한다면, 다음과 같은 방법으로 Drafts 5와 Obsidian을 함께 사용할 수 있다.

우선, GitHub - Vinzent03/obsidian-advanced-uri: Advanced modes for Obsidian URI 플러그인을 설치한다. 이 플러그인을 설치하면, 파일 기반으로 작업을 하는 것이 아니라 application-url을 통해 작업을 할 수 있게 된다. 그리고 Append to Obsidian Daily Note | Drafts Directory 페이지에 있는 액션을 사용하면 된다.

만약 파일 기반의 싱크 기능, 즉 iCloud Sync나 드롭박스 등을 이용하는 경우라면, 아래의 내용과 같다. (짧게 말하면 Append to Obsidian Journal | Drafts Directory 링크에 있는 액션을 이용하면 된다.)

근본적으로 Obsidian에 입력하기 위해 Drafts 5를 쓰는 방식은 10년 일기에서 에버노트에 입력하기 위해 사용한 방식과 완전히 동일한 방식이다. 내용을 받아주는 서비스가 에버노트에서 Dropbox로 바뀐 것 이외에는 달라질 이유가 없다. 삽입되는 텍스트의 위치를 지정할 때 맨 앞 또는 맨 뒤 중 하나를 선택해야 하는 제한이 있기는 하지만, Obsidian에서는 대부분의 입력을 일간노트에 하고 있기 때문에 그냥 맨 뒤에 append하는 것으로 충분하다.

다만 Drafts 5에서는 모든 텍스트 입력을 inbox에 넣는 방식으로 하고 있으므로, 긴 파일을 편집하는데는 적당하지 않다. 아이패드에서 긴 글의 편집을 해야 하는 경우에는 Editorial 앱(또는 Dropbox 텍스트 파일을 편집할 수 있는 다른 앱)을 사용할 수 있다.

모든 파일의 링크 따기: Hook

노트들을 서로 연결하는 것은 Obsidian에서 하면 되는 일인데, 실제로 노트의 컨텍스트에 해당하는 정보를 더 남기고 싶은 경우에는 대상 파일을 직접 링크하고 싶을 수 있다. 어떤 이메일에 대한 생각을 노트에 적었다면 그 원본 이메일을 링크해 두면 나중에 보고 싶을 때 쉽게 참고를 할 수 있기 때문이다. 이 대상은 PDF 파일일 수도 있고 이메일, 문서 파일 등 다양한 종류의 파일일 수 있다.

Hook는 맥에서 사용되는 다양한 파일들에 대한 링크를 따 주는 프로그램이다. Defining a Custom URL Scheme for Your App | Apple Developer Documentation 문서에 따르면 맥용 앱들은 고유의 URL Scheme을 가질 수 있고 이걸 통해서 다른 앱들과 데이터를 주고 받을 수 있다. 위에서 언급한 Drafts 5 앱이 입력된 텍스트를 가지고 다양한 작업을 할 수 있는 것도 iOS나 MacOS에서 URL Scheme을 지원하고 있기 때문이다. HookLinkable Mac Apps – Hook 페이지에 나오는 앱들과 통합이 되어서 ⌘ + ⇧ + space 키를 누르면 지금 열려 있는 앱의 파일에 대한 링크를 복사할 수 있다. 이렇게 얻은 링크를 클릭하면 해당 앱이 그 문서를 바로 열어준다. 이 링크들은 별도의 텍스트 파일에 기록되도록 할 수도 있고, 여러 대의 맥에서 공유할 수도 있다.

이렇게 얻은 링크는 Obsidian의 노트에 컨텍스트를 부여하는 의미로 사용될 수도 있지만, 여러 개의 파일들을 어떻게 활용하여 어떤 일을 했는지에 대한 워크플로우를 기술하는데도 사용될 수 있다. 생산성이라는 것은 기억을 떠올려서 일하는 것보다는 자동화된 흐름을 통해 일을 할 때 올라갈 수 있는 것이고, 그 흐름이 일의 세부적인 상황을 더 잘 반영할수록 더 자동화가 가능해지는 것이다. 이렇게 눈감고도 할 수 있는 정도로 흐름이 익숙해져야 거기서 생산성을 높일 수 있는 지점을 찾을 수 있고 그게 혁신으로 이어지게 된다.이런 면에서 Hook는 생산성을 높이기 위한 기본 재료를 풍부하게 제공해주는 도구라고 말할 수 있다.

아쉬운 점은 이 프로그램이 AppleScript를 통해 작동되는 방식이기 때문에, 인터페이스 언어에 의존적인 경우가 있다는 점이다. 즉 일부 프로그램들은 인터페이스 언어가 영어로 되어 있어야만 작동읋 한다는 것인데, 이 문제는 각 앱 개발자가 이 부분에 대한 대응을 해 주어야만 해결될 수 있는 문제이므로 어떤 경우에는 앞으로도 해결이 어려울 가능성도 있다.

논문 서지 관리: Zotero

Zotero의 각 항목은 논문이다. 논문의 기본 정보들이 들어 있고, 논문에 대한 생각을 정리한 메모가 들어 있고, 원문 pdf가 있는 경우에는 그 pdf 파일과 거기에 추가된 annotation들이 관리된다. (PDF annotation을 관리하는 것은 zotfile 플러그인의 기능이다) 특정 항목을 선택한 상황에서 위에 언급한 Hook 프로그램으로 링크를 따기 위해서는 zotxt 플러그인을 사용해야 한다.

Obsidian에서 관리하는 메모 안에 Zotero에 들어 있는 레퍼런스를 달고 싶은 경우에, 가장 쉬운 방법이 바로 Hook에서 링크를 따고 이걸 넣어두는 방법이다. 단순히 논문의 DOI를 넣는 것만으로는 Zotero 안에 넣어둔 여러 가지 정보를 참조할 수가 없기 때문이다. 따라서 Zotero에서 자체의 기능을 이용해서 충분히 필요한 정보들을 관리하고 있는 상황이라면 직접 Zotero 항목에 링크를 넣음으로서 이런 정보들까지 한번에 접근할 수 있도록 관리가 가능하다는 것이다.

파일 정보 관리: EagleFiler

Eaglefiler는 맥에서 오랫동안 개발되어 온 정보 관리 시스템이다. 맥에는 이것 말고도 Devonthink 또는 Yojimbo 같은 유사한 개념의 프로그램들이 꽤 많이 있다. (나는 사실 내가 EagleFiler의 인터페이스를 한국어로 번역했기 때문에 오랫동안 사용하고 있다) 어떤 파일이든지 던져넣고 관리한다는 것인데, 이름에 filer라는 표현이 들어가는 것처럼 주로 파일을 관리하는데 그 목적이 있다고 할 수 있다. 그리고 파일을 관리하는 것이기 때문에 이 프로그램은 모든 파일을 특정 디렉토리 아래에 넣고 맥 파인더의 특징인 tag 같은 것들을 적극적으로 사용한다.

Hook는 여러 종류의 프로그램을 지원하지만 모든 프로그램을 지원하는 것은 아니고, 모든 앱이 URL Scheme을 지원하는 것도 아니다. 만약 내가 사용하는 프로그램이 URL Scheme을 지원하지 않는다면 Hook를 사용해서 링크를 만들 수는 없다. 그런데 Eaglefiler는 그냥 파일을 관리하는 것이므로 URL Scheme을 지원하든 안하든 상관 없이 관리하고 싶은 파일은 그냥 던져 넣기만 하면 되는 것이다. 그러면 그 파일과 관련된 모든 메타 정보는 Eaglefiler로 정리하면 된다. 그리고 Hook을 이용해서 이 Eaglefiler 항목의 링크를 따면 되는 것이다. 즉, Hook가 지원하지 않는 앱의 파일은 Eaglefiler로 관리한다는 점만 명확하게 하면 되는 것이다. HookEaglefiler의 파일 링크를 만들 때 x-eaglefiler:// 대신 hook:// 로 만들어준다. 예를 들어 PDF 파일이라면 x-eaglefiler:// 링크를 쓰면 Eaglefiler에서 이 파일이 열리고 (의도한 방식에 부합함) hook:// 링크를 쓰면 시스템 기본 프로그램으로 열린다.

예를 들어, a.rb라는 루비 스크립트를 하나 썼다고 할 때, 이걸 Eaglefiler애 넣고 관리할 수 있다. 이 경우 x-eaglefiler:// 링크는 클릭할 때 Eaglefiler가 열리지만 hook:// 링크의 경우에는 클릭할 때 Xcode가 실행된다. 내 경우에는 전자가 편하기 때문에, 항상 기본 프로그램으로 열리는 것이 좋은 특별한 경우를 제외하면 항상 Eaglefiler를 쓰고 있다.

종합 시나리오

기본 셋업

  1. 모든 노트의 기본 관리는 Obsidian에서 한다.
    1. 사용 테마: Spectrum
    2. 사용 플러그인: 동기화, 일간노트, Editor Syntax Highlight, Calendar, better word count, Sliding panes, Templater, Hotkeys++, Advanced Tables, Markdown prettifier, Paste URL into selection 등 (유용한 플러그인들에 대한 내용은 별도의 포스팅으로 정리할 예정).
    3. Obsidian vault는 Obsidian Sync를 이용하여 동기화한다.
    4. 모바일에서는 Obsidian Mobile 앱을 사용한다. iOS와 안드로이드 모두에서 사용 가능하다.
  2. 텍스트 이외의 모든 파일은 Dropbox에 저장한다.
    1. 저장할 파일은 Dropbox에 넣고, 별도의 태그 등이 필요한 경우에는 Eaglefiler 라이브러리에서 관리한다.
    2. 노트의 context를 보존할 필요가 있으면 Hook 프로그램으로 링크를 생성하여 해당 노트에 걸어둔다. Hook 프로그램으로 링크를 생성할 수 없는 파일이라면 Eaglefiler에서 링크를 생성한다.
  3. 모든 논문/서지 관리는 Zotero에서 한다.
    1. 원문 pdf 파일 관리는 zotfile과 pCloud WebDav로 한다. (kb:webdav services [Zotero Documentation] 페이지를 참고하면 된다)
    2. 노트에 논문을 링크할 때는 zotxt 플러그인을 이용해 Hook에서 링크를 생성한다.

세부 시나리오

  1. 노트의 시작은 diary 폴더에 YYYY-MM-DD를 제목으로 하는 일간노트를 기본으로 생성하고 여기에 작성한다.
    1. 일간노트 템플레이트는 크게 일정과 노트 부분으로 구성한다. (나는 templater 플러그인을 사용하고 있는데, 모바일에서는 작동을 하지 않는 문제가 있다)
    2. 주요 일정은 일정 부분에 적고, 필요한 경우 별도의 노트에 내용을 적는다.
    3. 아무때나 필요한 경우 (보통은 모바일에서) 노트 부분에 생각을 적는다.
    4. 하루를 마무리하기 전에 일간노트를 리뷰한다.
    5. 주말에는 그 주 동안 적은 노트들을 리뷰한다. 다시 볼 가치가 있는 글들을 해당되는 MOC 파일에 넣는다.
  2. 별도의 덩어리로 가치가 있는 글은 별도 파일로 분리하여 만든다.
  3. 노트를 외부 공개(블로그 등) 하는 경우에는 #published 태그를 넣는다.
  4. 이미지 파일은 Dropbox에 넣고, 필요한 경우 링크를 복사한 후 맨 뒤의 dl=0 부분을 raw=1로 바꿔주면 된다.

결론

모든 도구는 특정한 일을 도와주기 위해 만들어진다. 그런데 도구가 한 번 만들어지고 그걸로 일을 하기 시작하면, 일하는 사람의 상상력이 그 도구의 틀 안에 갖히게 된다. 좋은 도구를 선택해야 하는 것은 바로 그런 이유이다. 좋은 도구를 가지고 반복적으로 일을 하다보면 그 일을 효율적으로 할 수 있게 된다. 그리고 정해진 일쯤은 깊이 생각하지 않고도 충분히 효과적으로 할 수 있는 정도의 효율이 나기 시작하면 효율을 높이기 위한 새로운 아이디어를 적용해 볼 수 있게 된다. 좋은 도구는 바로 이 때 새로운 아이디어를 가로막지 않아야 한다. 도구 충분히 유연하고 확장 가능하다면 좋겠지만, 그렇지 않다면 사용자를 가둬두지는 말아야 한다. 기업 입장에서는 lock-in 효과가 돈을 벌게 하는 이유가 되기도 하지만, 전체적으로는 효율을 떨어뜨리는 일이 될 수 있다.

개인 지식 관리 시스템은 한 두달 써보고 바꾸는 종류의 시스템이 아니다. 최소한 수년의 노력을 들여서 일의 흐름을 효율화해야 하는 일이고, 그렇게 만들어진 시스템을 충분히 활용하여 더욱 새롭고 창의적인 일을 할 수 있도록 지원해야 하는 시스템이다. 그야말로 두번째 뇌로서 모자라는 첫번째 뇌의 기능을 충실히 보조해 주어야 하는 것이다. 따라서 쓸 수 있는 도구들 중에서 가장 효율적이고 가장 나에게 맞는 것들을 찾아서 가장 잘 기능할 수 있도록 그 흐름을 다음어야 한다.

Updated: