오토메이션 로그는 결국 애플 노트에만 찍기로
아이폰 오토메이션을 적극 활용하기 시작하면서 운동 과정의 일부를 도와주는 계단 오르기 오토메이션이나 버퍼를 대신하는 오토메이션을 소개한 적이 있습니다. 숏컷 앱을 통한 오토메이션은 코드를 드래그 앤 드랍으로 만들 수 있어 만들기 쉽습니다. 또 아이폰에 이미 설치된 앱 기능의 일부를 숏컷 형태로 접근할 수 있어 익숙하게 사용하던 기능을 오토메이션에 추가해 강력하게 사용할 수도 있습니다.
하지만 에러를 처리할 수 없고 딱히 디버깅 환경이라고 할만한 기능이 없어 코드가 조금만 길어져도 동작을 이해하기 쉽지 않으며 오동작의 원인을 파악하기도 쉽지 않은 문제가 있습니다. 혹시 맥에서 숏컷을 편집하면 더 나은 환경을 제공하지 않을까 기대했는데 맥에서는 오직 숏컷만 편집할 수 있고 오토메이션에는 아예 접근조차 할 수 없었습니다. 또 아이폰에서 만든 숏컷을 맥에서 편집하려고 하면 아이폰에는 설치되어 있지만 맥에는 없는 앱에 의존하는 기능을 편집할 수도 없고 실행해서 테스트해볼 수도 없었을 뿐 아니라 아이폰에서 할 때와 마찬가지로 별다른 디버깅 기능이 없었습니다.
고민하다가 주요 동작을 할 때마다 로그를 찍기로 했습니다. 아이폰에서 실행되기 때문에 로그를 어디에 어떻게 찍을지 고민했는데 크게 세 가지 방법을 시도해봤습니다. 애플 노트 앱에 로그 노트를 만들고 이 노트 맨 뒤에 로그를 추가하는 방식, 비공개 트위터 계정을 만들어 로그를 새 트윗으로 올리는 방식, 마지막으로 개인용으로 사용하는 슬랙 워크스페이스에 채널을 하나 만들어 채널에 로그를 남기는 방식입니다.
먼저 애플 노트 앱은 로그를 남기기 쉽습니다. 그냥 로그를 남길 노트를 선택하고 텍스트를 보내기만 하면 끝납니다. 로그가 길어지면 아이폰에서 직접 검색하기는 좀 불편한데 맥에서는 볼만하고 또 아이클라우드 웹사이트에서 조회할 수 있어 그리 나쁘지는 않습니다. 단 로그 노트를 설정할 때 ‘이미 만들어진 노트’ 중 하나를 선택할 수 있을 뿐 변수를 받아 새 노트를 만들고 그 안에 내용을 채울 수는 없습니다. 그래서 노트가 길어져도 날짜 별로 나눌 수는 없습니다. 같은 노트에 계속해서 로그를 남겨야 합니다.
애플 노트 앱에 로그를 남기면 이 동작에 아이폰 언락 상태를 요구하지 않는 점이 가장 큰 장점입니다. 숏컷 동작 중 일부는 아이폰이 언락 되어 있어야만 동작하는데 이것 때문에 실제 숏컷이 실행된 시점과 로그가 남는 시점 사이에 큰 차이가 생겨 디버깅을 어려움에 빠뜨리기도 합니다. 이 동작이 상황을 더 헛갈리게 만드는 이유는 아이폰 언락을 요구하는 부분에서 숏컷의 실행이 멈추지 않고 언락을 요구하는 동작만 따로 남겨두고 숏컷이 이어서 실행돼버립니다. 그래서 종종 언락을 요구하는 숏컷의 실행 결과를 받아 실행되는 숏컷은 이 상황에서 오동작 하기도 합니다. 별도로 대기 설정을 해야 오동작 하지 않습니다.
두 번째로 비공개 트위터 계정을 만들어 로그를 새 트윗으로 올려봤습니다. 일단 로그를 읽고 검색하기 너무나 편합니다. 트위터 공식 앱이나 웹앱은 광고가 나와 읽기 불편하지만 트윗봇 같은 서드퍼티 앱을 사용하면 광고 없이 타임라인을 읽을 수 있습니다. 트위터는 최신 글이 맨 위에 나와서 문제가 생길 때 트위터 타임라인을 열어 맨 위부터 스크롤하며 살펴보면 문제를 쉽게 파악할 수 있어 좋았습니다.
하지만 애플 노트의 장점으로 설명한 아이폰 언락을 요구하지 않는 점은 트위터에 해당하지 않습니다. 트위터에 로그를 남기는 동작은 아이폰이 언락된 상태이기를 요구합니다. 보안상 이해가 안 되는 것은 아니지만 오직 로그를 위해서 트위터를 사용하는 마당에 로그 때문에 숏컷 전체의 동작이 멈추는 상황을 납득하기는 쉽지 않았습니다. 또 계정을 잘못 설정하면 엉뚱한 계정에 로그를 찍는 사고가 일어날 수도 있습니다. 로그에는 상당히 개인적인 내용이 많아 좋지 않은 경험이었습니다.
마지막으로 로그를 슬랙 채널에 찍어봤습니다. 슬랙을 선택한 이유는 윈도우와 맥 아무데서나 잘 보이고 또 업무 시간에 트위터를 열 필요가 없이 기존 업무용 소프트웨어인 슬랙에서 워크스페이스만 전환하면 로그를 읽을 수 있었기 때문입니다. 슬랙은 아이폰 앱이 있지만 오토메이션 기능을 아무것도 지원하지 않습니다. 그래서 Send to Slack 숏컷을 받아 Setting up a Slack app for use with iOS Shortcuts를 따라 설정해 사용했습니다.
슬랙 역시 트위터만큼 로그를 읽고 찾기 편했지만 트위터에 비해 로그를 남기는데 더 긴 딜레이가 생겼습니다. 한 두번 찍을 때 잠깐 딜레이가 생기는 상황은 납득할 수 있었지만 한 숏컷이 다른 숏컷을 호출하고 호출된 숏컷 내부에서 로그를 여러 개 찍는 상황이 생기자 숏컷의 핵심 동작보다 로그 찍는데 시간이 더 오래 걸렸습니다. 트위터와 마찬가지로 아이폰이 언락 되어 있어야 해서 편리하지만 한계는 뚜렷합니다.
결국 애플 노트만 남기고 나머지 로그는 제거했습니다. 윈도우에서 노트를 조회할 때는 아이클라우드 웹사이트를 사용하는 선에서 타협하기로 했습니다. 애플 노트를 숏컷에서 호출하면 일단 다른 방법에 비해 빠르고 아이폰 언락을 요구하지 않습니다. 로그를 조회하기는 트위터나 슬랙에 비해 불편하며 특히 아이폰에서 로그를 조회할 때 가독성이 나쁘긴 합니다. 근본적으로는 숏컷이나 오토메이션에 적절한 디버깅 환경이 도입되는 것이 가장 좋은 시나리오이지만 당분간 이렇게 사용할 것 같습니다. 단기적으로는 충분히 디버깅 해 문제가 거의 생기지 않는 숏컷부터 로그를 제거해 갈 예정입니다.