앱 디자인의 발견 - 메모 서비스를 생각하다.

시스템 잡설  |   2013. 8. 8. 22:31

바일 기기의 대중화와 함께 기기 안에서 사용하는 다양한 앱들의 등장은 개발자와 소규모 사업자들에게는 좋은 수익 창출의 기회가 되고 사용자들에게는 편리한 생활의 도구가 되어 준다. 길을 찾을 때도 편리하게 자신의 위치를 확인시켜 주어 어디로 가야할지 알려주고 버스가 언제 오는지 알아서 많은 시간 기다릴 필요도 없고 이메일을 어디서나 확인하고 필요한 정보는 검색을 통해서 찾아내고 예전에는 책상에 앉아서 혹은 일정한 도구와 환경이 제공되는 공간에서만 가능하던 일들을 이동 중에도 쉽게 할 수 있는 환경을 즐길 수 있게 되었다. 이런 환경에 발맞춰 많은 인터넷 서비스 업체들은 일반 컴퓨터 환경 뿐만 아니라 모바일 환경에서도 자유롭게 자신의 서비스를 사용할 수 있도록 앱을 제공하고 사용자는 이런 서비스의 매력에 빠져 열정적인 사용자로 변신하게 된다. 


기본적으로 인간의 활동은 그렇게 다양하지 않다. 사진을 찍는 것도, 검색을 하는 것도 그리고 이메일을 확인하고 자신에게 필요한 문서를 작성하는 것도 기본적으로 다양한 활동은 아니다. 맛있는 집에 가서 자신의 추억을 남기기 위해서 사진을 찍는 것은 모바일 기기가 보급되기 이전에도 동일했지만 오래전 옛날에는 사진을 찍고 이를 현상하고 현상한 것을 사람들에게 나누어 주는 그 처리 과정이 길고 번거로웠던 것이다. 소위 아날로그 방식의 생활 양식에서 조금 시간이 지나 디지털 카메라가 나오면서 사진을 찍고 이제는 현상한 사진이 아닌 사진 이미지가 컴퓨터에 저장되면 이 이미지를 친구들에게 이메일이나 다른 통신 도구를 통해 공유했던 것이다. 그리고 이제는 그런 과정이 모바일 네트워크 환경과 공유하기 편리한 다양한 플랫폼 서비스들이 존재하여 사진을 찍고 공유하는 과정이 급격하게 단축되게 되었던 것이다. 



이러한 변화의 과정을 생각해보면 우리가 현재 사용하는 다양한 앱들은 이미 인간의 기본적인 활동에서 크게 벗어나지 않는 본질의 것들을 빠른 처리과정과 그 처리 과정에 필요한 인터넷의 공간을 제공해주는 것이 서비스의 기능이 되었던 것이다. 음식점에서 사진을 찍어 사진에 저장된 지리 정보 (Geotag) 를 통해서 어디에서 먹었는지 그리고 누구와 함께 먹었는지 위치기반 서비스인 포스퀘어 (foursquare) 를 통해 올리게 되면 이는 모바일 기기가 만들어준 획기적인 변화라고 생각하지만 사실 인간은 이런 서비스가 존재하지 않은 시절에도 현상된 사진 뒷면에 어디에서 누구와 함께라는 손글씨로 남길 수 있었다는 것을 생각하면 인간의 생활 양식을 근본적으로 변화시키는 서비스는 그리 많지 않다는 것을 알 수 있다. 


좋은 앱이란 무엇일까? 


어떤 앱들이 좋은 앱들일까? 좋은 앱을 생각하지 않고 단순히 어떤 앱이 인간의 생활과 활동에 도움이 되는 앱일까? 생각을 하다가 보니 수많은 앱들의 성격과 그 목적에 따라서 다양한 내용이 떠오르기 때문에 이를 하나로 모아 보편성을 가지는 앱의 디자인을 생각하는 것은 어렵다고 생각해서 반대로 내가 만약에 어떤 특정 앱을 만들 때, 즉 앱을 설계 (design) 하고 개발을 준비할 때 이런 요소들은 꼭 고려하는 것이 좋겠다 싶은 것을 이야기하는 것이 더 실증적 (practical) 이라 생각했다. 모바일 기기를 사용하며 가장 많이 사용하는 기능인 '메모' 기능을 구현하는 앱을 만든다면 이런 부분을 생각하고 이야기를 풀어갈 것이다.   



바일 환경이 우리에게 제시한 많은 기능적 혜택 중에 개인적으로 자주 사용하는 것은 바로 '메모'이다. 메모란 일상에서 잊어버리기 쉬운 내용들을 적어놓거나 중요한 부분들을 나중에 실행하기 위해서 적어두는 모든 행위를 이야기한다. 이또한 모바일 환경이 보급되기 이전부터 인간이 가진 아주 기본적인 행동들이었다. 자신의 수첩에 메모를 하고 언제 무엇을 해야하는지 기록하고 보관한다. 모바일 환경으로 넘어오며 메모는 오히려 더 느슨해진 구조를 가지는 것은 아닌가 하는 생각을 한다. 예전에는 일정 (Calendar) 과 할일 (Todo) 그리고 간단한 메모 (Memo) 의 기능이 하나로 연결되어 수첩에 기록되었다. 할일은 대다수 실행에 옮겨야 하는 날짜와 연결이 된 개념이기 때문에 달력에 내용이 기록되는 것이 합리적이다. 또한 아주 간단한 메모라고 하더라도 실행에 옮겨야 한다면 일정과 연결이 되어야 한다. 즉, 실행에 옮겨야 하는 성격 (executable events) 의 일들은 결국 필연적으로 시간적, 공간적 필수 조건 (requisitions) 을 가지게 된다. 


현실적인 장벽에 대해서... 


메모 기능을 구현하는 앱을 통해 앱의 디자인에 대한 생각을 서술하려고 마음 먹은 이유를 먼저 소개하는 것이 좋을 것 같다. 초기에 모바일 기기를 사용하기 시작하며 다양한 메모 앱들을 설치하고 사용했다. 다양한 기능, 화면의 아름다움 뿐만 아니라 속도, 사용의 편리성 등 다양한 요소들을 고려하며 고르기 시작했다. 우선 기본적인 원칙으로 로컬 저장만 가능한 (즉, 모바일 기기에만 저장되고 온라인에 저장이 되지 않는 형태의) 앱은 처음부터 제외시켰다. 기본적으로 모바일 기기 뿐만 아니라 최소 컴퓨터 환경에서도 확인하고 추가하고 편집할 수 있어야 하기 때문에 로컬에서만 가능한 메모는 무용지물이기 때문이고 자료의 업데이트에도 상당한 불편이 있기 때문에 온라인 저장이 가능한 소위 메모 클라우드 서비스를 지원하는 서비스와 앱을 선택하게 되었다. 


택해서 잘 사용하던 앱들에는 '에버노트 (Evernote)' , '캐치노트 (Catch Notes)' , '스프링패드 (SpringPad)' , '구글 드라이브 (Google Drive)' , 그리고 최근에 서비스를 시작한 '구글 킵 (Google Keep)' 이 있다. 그런데 이 중 가장 많이 사용하면 좋겠다 싶었던 캐치노트 (Catch Notes) 가 서비스를 중단한다고 발표했다. 즉, 아무리 마음에 들고 좋은 기능을 제공하여 마음에 들어도 결국 서비스를 제공하는 업체의 입장에서 수익이 발생하지 않고 지속할 수 없다고 한다면 결국 그 서비스도 중단될 수 밖에 없고 그렇게 되었을 때 사용자들은 적지 않은 환경적 충격을 경험하게 된다. 아무리 백업 서비스를 제공해준다고 해도 저장해 두었던 메모를 어떤 서비스에 다시 옮길 것인지 ─ 이 경우 데이터 마이그레이션; migration 이란 표현을 쓸 수도 없다. 결국 수많은 복사 & 붙어넣기를 통해 Ctrl , C , V 키보드만 더 많이 닳게 될 것이다. ─ 결정해야 한다. 


2013년 8월 31일로 서비스가 중단된다. 기존에 서비스를 사용하던 사람들은 어딘가 옮긴 곳을 찾아야 할 것이다.


결국 이런 서비스의 중단은 모바일 기기가 주는 편리함과 반대로 경험해야 하는 '익숙함에 대한 댓가'를 치루어야 한다. 비슷한 예로 많은 사용자들이 사용하던 구글 리더 (Google Reader) 서비스도 중단이 되어 많은 사용자들은 비슷한 혹은 이를 대처할 수 있는 서비스로 옮겨가야 했고 익숙했던 사용자들은 다시 새로운 환경에 익숙해지는 시간과 노력이 필요하게 된다. 캐치노트의 경우도 비슷한 상황이다. 캐치노트의 앱은 다른 메모 앱들과 비교했을 때 빠른 실행 속도와 절재된 부가 기능으로 앱이 무겁지도 않지만 직관적인 인터페이스로 모바일 기기로 메모하고 이를 실행에 옮기는데도 편리했고, 단순히 정보의 저장에도 다른 서비스와 달리 inline tag ─ 메모 내용 중간에 # 으로 구분하여 태크 처리하는 ─ 를 제공하여 편리하였다. 그러나 문제는 이렇게 마음에 들어도 내가 서비스 하는 것이 아니라면 서비스가 중단되면 일방적으로 사용할 수 없게 되는 것이다. 


메모 서비스 / 앱을 만들기 프로젝트 


메모에 대한 기본적인 생각 (철학) 그리고 현실적인 장벽에 대해서도 잠깐 살펴보았고 이제 실제로 내게 필요한 메모 앱을 만드는 프로젝트를 실행해 본다고 생각하자. 무엇을 고려해야하고 만약 한정된 자원 (resource)를 가지고 있을 때 가/나 양자 택일이나 가/나/다 중 하나를 택일 해야하는 상황이 된다면 어떤 것을 더 우선해서 개발을 해야하는지에 대한 선택의 가이드라인을 보여줄 수 있을 것이다. 그보다 우선 기본적으로 앱이나 서비스에서 제공해줘야 하는 것들은 무엇인지에 대해서도 생각해 보자. 


A. 왜 우리는 온라인을 강요받는가? 


많은 메모 서비스/앱 중에서 최근에 사용을 그만두기 시작한 앱이 있다. 사용자 층으로 볼 때 가장 많은 사랑을 받는 에버노트 (Evernote) 이다. 가장 큰 이유 중 하나는 우연한 상황을 접하고 나서이다. 가끔 외국에 나가거나 혹은 인터넷을 사용할 수 없는 환경에서 자신이 메모한 내용 중에서 찾아보고 싶은 내용이 있을 때가 있다. 그런데 에버노트에 저장을 했던 노트를 찾으려는 순간, 인터넷에 연결이 되어 있지 않아서 볼 수 없는 경험을 하게 된 것이다.[각주:1] 즉, 자신이 저장한 노트 (메모) 내용이 온라인에 저장되어 있고 내가 인터넷에 연결되지 않으면 해당 정보를 다시 검색할 수 없는 것이다. 


바일 환경은 항상 온라인인 것이 당연한 상황이라고 생각한다. 그러나 사실 우리의 모바일 통신은 기본적으로 무선랜 환경이나 통신사가 제공하는 데이터를 사용하지 않으면 오프라인 (offline) 인 상황에 놓이게 된다. 우리가 메모할 수 있는 환경이 이런 온라인에서만 가능하다면 이것은 참 어색하다. 그래서 요즘은 오프라인 워크 (offline works) 에 대한 생각을 자주하게 된다. 조금만 주의깊게 살펴보면 다른 메모 서비스 / 앱은 오프라인에서도 자신의 메모를 검색하고 찾을 수 있도록 제공해준다. 즉, 모바일 기기의 내용과 온라인 서비스의 데이터가 동기화 (synchronization) 되어서 오프라인에서도 최근 온라인에 의해 동기화된 내용을 사용할 수 있고 오프라인에서 작업 내용은 이후 온라인이 되면 해당 편집 내용들을 동기화 시켜준다. 


웹서비스에 관심있는 사람들은 한 때 구글 기어스 (Google Gears) 란 서비스를 기억할지 모른다. 아직 웹 어플리케이션 (웹에서 구동되고 브라우저를 통해 작업을 하는 어플리케이션) 이 완숙되지 않은 시절에 앞서 설명한 오프라인 작업을 가능하게 해주고 오프라인에서 작업한 내용들을 온라인 상태가 되면 이를 동기화 해주는 소규모 로컬 데이터베이스 기술이었다. 현재는 HTML5 와 같은 다양한 웹 기술이 이를 자연스럽게 흡수해서 해당 내용은 중단이 되었지만 이런 오프라인 워크는 사용자들에게 항상 자신의 작업이 최신을 유지할 수 있다는 신뢰성을 줄 수 있고, 오프라인이기 때문에 작업을 하지 못하는 제한을 풀어준다. 


Google Gears 의 데이터 흐름


사실 우리가 사용하는 많은 앱들은 온라인을 강요받는 앱들이 많다. 통신사의 데이터 통신을 끊고 (3G, LTE 등) 무선랜을 꺼 놓아 모바일 기기가 완벽하게 오프라인 상태에서도 온라인의 정보를 가져오는 것을 제외하고 앱 본연의 기능을 제공한다는 점은 상당히 중요하다. 개인적으로 이런 측면을 앱의 완성도와 개발자가 이런 오프라인에 대한 철학을 판단할 때 사용한다. 예를 들어 구글 번역 (Google Translate) 앱은 기본적으로 온라인이어야 할 것 같지만 오프라인 사전을 내려받아 오프라인에서도 간단한 번역을 실행할 수 있다. 즉, 내려받은 언어에 대한 번역은 오프라인과 온라인이 거의 동일하게 사용할 수 있다. 심지어 온라인 스트리밍을 해주는 구글 뮤직 (Google Music) 의 경우에도 자신이 선택한 곡, 앨범은 내려받아서 오프라인에서도 들을 수 있도록 해준다. 대부분의 지도 앱들도 이제는 오프라인을 위한 일부 지역의 지도 데이터를 내려받는 기능을 제공해 준다. 



반면 오프라인이 되면 앱만 실행이 되고 더이상 어떤 기능도 불가능한 경우도 많이 있다. 기본적으로 온라인 정보를 받아야만 구성할 수 있는 경우도 있기 때문에 오프라인에서 모든 것이 되는 것은 현실적으로 불가능하지만 오프라인의 범위를 최대한 넓히는 것은 중요하다고 본다. 자주 사용하는 교통 정보 앱 중 서울의 버스를 보여주는 앱이 있다. 오프라인에서 현재 실시간 운행정보를 보여주는 것은 불가능하지만 그래도 노선 정보는 제공해줄 수 있지 않을까 생각한다. 어떤 기술적 한계가 있어서 안될 수도 있지만 중요한 부분은 오프라인의 환경에서 최대한 제공할 수 있는 정보의 범위를 넓혀주는 것도 앱을 디자인 하는데 있어 고려해야 할 부분이 아닐까 생각한다. 


메모 앱에 있어서도 이 부분은 더욱 극대화 될 필요가 있다. 오프라인에서 자유롭게 메모하고 온라인이 되면 바로 온라인에 데이터를 동기화하여 다른 기기에서도 메모를 보고 편집할 수 있도록 하고 간단하게 작성된 메모를 바로 원하는 서비스, 예를 들어 페이스북이나 트위터를 통해 공유할 수 있어야 할 것이다. 즉, 너무도 익숙해서 당연한 것처럼 느끼지만 우리는 항상 온라인을 강요받을 이유가 없다. 오프라인이 가장 인간의 활동의 기본 환경이고 오프라인에서도 본연의 기능을 제대로 사용할 수 있는 앱을 그려야 할 것이다. 특히 메모를 위한 서비스/앱은 이 부분을 더욱 강조하고 싶다. 


B. 표준과 호환성 그리고 개방성 


데이터의 호환성은 누구를 위한 것인가? 서비스가 아주 매력적이고 많은 사용자들이 사용하지만 해당 서비스에서 사용하는 데이터가 표준 파일이 아니어서 서비스에서 자신이 생산한 글이나 사진들이 일반적 컴퓨터에서 볼 수 없거나 추가적인 작업을 할 수 없다면 어떻게 될 것인가? 메모를 생각하면 가장 먼저 떠오르는 표준 파일의 형태는 텍스트 파일이다. 한때는 텍스트 파일 조차도 표준 코드가 달라서 텍스트 문서를 보는 것도 번거로운 시절이 있었지만 이제는 원도우에서 작성한 텍스트 문서가 OSX 에서 볼 수 없거나 리눅스의 메모장에서 볼 수 없는 것은 아니다. 이런 표준의 확장은 모바일 환경이 되었다고 해도 달라지는 것은 아니다. 때로는 자신의 문서 표준이 가장 우수하다고 해서 자사가 만든 소프트웨어만이 읽을 수 있는 포맷을 강요하던 시절이 있지만 이제 문서는 어떤 소프트웨어를 사용했는가가 중요한 것이 아니라 어떤 내용을  담고 있는가가 더 중요하다는 것은 누구나 공감할 것이다. 


바일 환경에서 작성한 메모라고 해도 그 표준은 텍스트 표준을 따라야 한다. 물론 서비스 내부적으로 원활한 서비스와 최적화를 위해서 자체적인 데이터로 처리할 수 있다고 해도 최종 사용자들이 사용하고 편집하고 내려받을 수 있는 표준은 텍스트가 되어야 할 것이다. 추가적으로 메모에 사진이나 별도의 미디어 파일이 붙는다고 해도 이또한 모두 표준을 따르도록 해야할 것이다. 자신이 만들었고 생산한 메모인데도 불구하고 다시 내려받았는데 원도우즈의 기본 메모장에서 읽을 수 없고 자사 서비스를 다시 이용해야지만 해독(?) 가능한 데이터로 표준이 아닌 방식을 사용한다면 사용자는 자신의 데이터가 볼모가 되어 쉽게 떠나지 못하는 억류 상태에 놓이게 될 것이다. 이런 전략이 사용자의 이탈을 줄일 수 있을거라 생각할지 모르지만 결국 사용자들은 감정의 동물이다. 백업하는 과정에서 자신의 데이터인데도 불구하고 쉽게 재 생산하지 못한다고 생각한다면 이는 상당히 불쾌한 서비스가 될 것이다. 


에버노트는 백업을 지원하지만 자체 백업 파일인 .enex 파일로 백업된다.


그렇기 때문에 구글이 제시하는 개방성의 정의를 다시 한번 생각해 볼 필요가 있다. "개방성은 사용자가 언제든지 데이터의 손실없이 떠날 수 있음" 을 뜻한다. (※ 참고: 개방성 - 표준을 통한 산업의 발전은 가능한가) 중요한 것은 데이터의 손실없이 란 말은 사용하던 서비스를 떠나서도 자신의 데이터를 다른 방법으로 찾을 수 있음을 말한다. 대부분의 메모 서비스 / 앱은 자신의 데이터 백업을 제공한다. 이 경우 어떤 형태로 백업을 제공하는지 살펴보면 해당 서비스가 넓은 의미의 개방성, 좁은 의미의 호환성에 대해서 어떻게 생각하는지 확인할 수 있다. A 라는 메모 서비스는 백업을 제공해준다. 그러나 백업된 파일은 자체 서비스에서 다시 복구 (restore) 하기 위한 파일일 뿐 해당 파일에서 자신이 예전에 작성한 메모를 다시 찾을 수 없는 경우이다. B 라는 메모 서비스도 백업을 제공해준다. 백업된 파일은 여러개의 텍스트 파일이 묶인 압축 파일이고 파일을 열어보면 자신이 작성한 내용의 텍스트를 다시 찾을 수 있다. 


모바일 기기를 통해 우리가 앱과 관련 서비스를 사용하는 이유는 우리의 삶에서 편리한 기능을 통해서 우리가 놓치기 쉬운 중요한 것을 찾기 위한 것이다. 그런데 정작 편리해 보이는 기능들에 파묻혀 잘 사용하고 열심히 데이터를 만들어 주었는데 결국 자신의 데이터를 해당 서비스에서만 찾을 수 없다면 이처럼 억울한 일은 없을 것이다. 메모 앱/서비스를 설계하는 과정에서 필요한 내용으로 설명을 했지만 이 부분은 사용자 측면에서 자신이 어떤 서비스를 사용할 때 한번 쯤 주의깊게 살펴볼 내용이기도 하다. 


C. 범용 기능과 특화 기능에 대한 뚜렷한 경계 


메모 앱을 만드는 데 있어서 화려한 인터페이스와 다양한 기능을 제공하는 것은 중요할지 모른다. 기능을 다양하게 제공해준다는 점은 다양한 요구사항을 이야기하는 다양한 사용자층을 만족시킬 수 있을 것이라고 생각하지만 오히려 그 반대의 효과를 만들어 낼 수 있다는 점도 생각해야 한다. 즉, 다양한 기능을 제공하려고 하다 보면 정작 기본적으로 수행해야 하는 기능에 대해서는 소흘해지거나 핵심적 기능이 부가적인 기능때문에 상충되어 핵심적인 기능이 상대적으로 약화되는 경우이다. 


런 경우를 대비해 앱을 디자인할 때 제공할 기능들에 대한 범용 기능과 특화 기능에 대한 기본적인 이해가 필요할 것 같다. 범용 기능은 앱이 기본적으로 제공해야 하는 목적을 수행하기 위한 가장 기본적인 기능이다. 이에 추가적으로 앱/서비스의 독자적인 매력을 만들기 위해서 특화된 기능을 추가할 필요가 있다. 이런 경우 이를 특화된 기능으로 고려하는 것이다. 이런 개념으로 범용 기능 (comprehensive features) 와 특화 기능 (peculiar features) 을 생각하는 것이다. 


메모 서비스/앱에서 범용 기능은 쉽게 생각할 수 있다. 메모의 작성, 메모의 저장, 메모의 관리가 중요한 부분이 될 것이다. 범용 기능은 서비스/앱이 핵심적으로 작동하기 위해 필요한 가장 기본적인 요소가 된다. 그러나 이렇게 분류하는 이유는 범용과 특화 기능을 분리하기 위해서가 아니라 범용 기능은 기본적인 기능이 모바일 운영체제 (iOS 혹은 안드로이드) 와 얼머나 긴밀하게 연결될 수 있는지에 대한 핵심적인 부분이 되기 때문이다. 예를 들어 안드로이드의 경우 기본적인 운영체제에서 지원하는 기능들이 있다. 가장 대표적인 기능은 공유 기능이다. 자신이 작성하고 있는 메모의 내용을 페이스북에 연결해서 글을 올리거나 혹은 다른 메모 앱으로 복사할 수 있는 기능인데 대부분 범용 기능은 이처럼 가장 기본적인 운영체제의 기능과 연결시켜 줄 때 그 효과가 극대화 될 수 있다는 점이다. 예를 들어 기본적인 메모 작성에 관련된 기능을 안드로이드의 공유 기능과 연결시키지 않고 너무도 창의적으로 독창적인 메모 작성 환경을 만들었다고 할 때 사실상 운영체제가 제공하는 아주 기본적이고 사용자들이 익숙한 환경을 모두 포기한다는 것이다. 



결국 범용 기능을 먼저 정의할 필요가 있는 것은 앱의 기본적인 기능이 무엇인지를 결정하기 위해 필요하기도 하지만 메모 앱을 통해서 내가 작업한 내용이 결국 재생산될 때 얼마나 기본적인 연결고리를 가지고 다른 앱에서도 작업할 수 있는지에 대한 범위를 정의하는 것이다. 또한 모바일 운영체제에서 사용자 인터페이스 (UI) 는 효율성을 극대화할 수 있는 적극 활용해야 하는 도구이다. 기본적인 터치, 길게 누르기 뿐만 아니라 쓸어내기 (Swipe) 와 같이 해당 제스쳐 (Gesture) 가 어떤 작업 혹은 기능과 연결되어야 하는지 각 화면 단위로 고려해야할 것이다. (※참고: 왜 안드로이드폰을 사용하는가? ─ UI 측면에서 바라보기


그런데 범용 기능과 특화 기능을 뚜렷하게 구별해야 하는 이유는 어떤 목적의 앱을 만드는지와 긴밀한 연관 관계를 가진다. 이부분에 대해서는 앱 디자인의 목적성에 대한 이야기로 모아서 설명하도록 할 필요가 있다. 중요한 것은 범용 기능은 모바일 운영체제가 제공하는 기본적인 기능을 적극 활용하고 이를 어떻게 자신의 앱과 연결 시킬 것인지 고민하는 부분이다. 개발 단계에서 기능을 먼저 고려하고 목적을 설정할 것인지 (현실 요소로 목적을 만드는 방법) 아니면 목적을 정하고 이에 맞는 기능을 생각하는 것이 (목적에 맞게 현실 요소를 제작하는 방법) 좋은지에 대해서는 개발 집단의 취향이 되겠지만 개인적으로 목적을 세우기 전에 현실적으로 범용 기능이 무엇이고 무엇이 독특한 기능이 될 수 있는지에 대한 현실적 고려를 세우고 (즉, 범용 기능만으로 구성될 수 있는 원형적 (prototypical) 설계 후) 그 이후 앱의 목적을 생각하는 것이 좋은 방법이 아닐까 생각한다. 


D. 검색 기능을 소흘히 하지 말자 


다양한 메모 앱을 사용하다 보면 몇가지 의외의 결과를 접할 때가 있다. 특히 메모의 구조나 여러가지 다양한 기능을 제공하는데 정작 저장해 두었던 메모를 검색하는데 상당한 시간이 걸리는 경험을 가진 적이 있다. 검색은 기본적으로 데이터베이스의 구성, 최적화에 관련이 깊다. 대규모 데이터베이스 뿐만 아니라 앱과 같은 작은 프로그램에서도 중요하다. 앱을 설계하고 개발이 진행되는 과정에서 검색 기능이 원할하게 잘 사용될 수 있는지 확인하는 과정도 포함해야 한다는 것이다. 


종의 스트레스 테스트인데 메모 앱이 저장한 메모 혹은 노트의 갯수가 몇천개 단위로 저장한 다음 자신이 원하는 검색어를 통해서 제대로 빨리 검색이 되는지 확인하는 과정을 거치는 것이다. 화려한 기능과 다양한 기능에 빠져 가장 중요한 기능을 소흘히 하는 경우가 많은데 특히 메모 앱의 경우에는 검색 기능은 상당히 중요하다. 메모를 하고 메모의 양이 증가하면 할수록 하나씩 자신이 다시 찾고 싶은 메모를 수작업으로 찾는다는 것은 거의 불가능하기 때문이다. 안드로이드 경우 (iOS 는 아직 확인하지 못함) 앱의 데이터베이스를 안드로이드 기본 검색에 연결하여 바로 검색할 수 있도록 제공한다. (Phone Search) 이런 기능 (범용 기능) 을 잘 활용하는 측면도 중요하지만 앱 내부적으로 효과적으로 검색할 수 있는 검색 화면을 구성하는 것도 중요하다. 태그 (tag) 나 구조화된 구조 (노트북이나 폴더 개념) 를 어떻게 고려하려 검색할 수 있도록 할 것인지 데이터베이스를 최소한의 자원(resource)를 가지고 빠르게 찾아낼 수 있도록 하는 것이 필요하다. 


트위터 (twitter) 는 로컬 앱의 검색 기능을 강화하였다. 앱에서 검색 실행의 위치를 주목하면 검색 기능에 대한 중요도를 유추할 수 있다.


하나의 예로 검색 기능을 강조했지만 화려한 기능에 가려 실제로 사용자들이 많이 사용하는 화면, 기능에 대해서 상당히 소흘한 앱들도 많다. 검색의 경우도 마찬가지이다. 검색 기능을 어디서 실행할 수 있는지 숨겨 두는 앱이나 검색 기능을 찾기 위해서 여러 경로를 거쳐야 하는 경우도 마찬가지이다. 특히 메모를 위한 앱은 기록만큼 검색도 중요하다. 메모의 앱을 만든다고 하지만 실제로 검색을 위한 시스템, 환경에 대해서도 충분히 생각해야 한다. 


E. 앱의 목적은 무엇인가? 


사실 가장 먼저 해야하는 질문을 가장 마지막에 해본다. 앱을 만들 때 목적이 무엇인가? 여기에서는 메모 앱으로 좁혀 생각하게 된다면, 메모 앱을 만드는 목적이 무엇인가? 이다. 많은 개발자들을 만나보면 이 부분에서 현실적 괴리감을 느끼는 경우가 많다. 특정 기능을 구현하는 것은 생각보다 그리 어렵지 않다. 그리고 대부분 개발자들의 꿈은 소위 대박의 앱을 만드는 것이다. 대박의 앱이란 많은 사용자들이 자주 사용하고 잘 사용하는 앱을 말할 것이다. 그런데 대부분의 개발자들은 실제 해당 앱을 제대로 활용하고 사용하는 사람들이 아닌 그저 화려하고 특이한 기능을 어떻게 구현할 수 있는지에 대해 고민하는 사람이다. 


시 질문을 돌리면 메모 앱을 만드는데 목적이 무엇인가? 라고 묻는다면 일상을 기록하고 이를 다시 필요할 때 찾아보는 것이라고 이야기한다. 이 활동의 목적은 단순히 모바일 기기가 존재하지 않았을 때도 가능한 인간의 활동 영역이었다. 다만 그 기능적 부분을 좀더 편리하게 바꾸었을 뿐이다. 앱을 만들때는 앱을 통해 할 수 있는 기능에 집중하지 않고 앱을 통해 가능한 인간의 활동을 생각해야 한다. 앱을 통해 인간이 할 수 있는 일들이 무엇인지 그리고 이를 통해 인간은 어떤 혜택을 받을 수 있는지 생각해야 한다. 그런데 많은 앱들은 앱 자체의 기능에 심취해서 실제로 인간이 취해야 하는 기본적인 활동은 어색해지는 경우가 많다. 



메모 앱을 만들기 위해서는 메모라는 인간의 행동에 대해서 더 관심을 가져야 한다. 인간의 왜 메모를 하는가? 라는 질문을 던지기 이전에 인간이 행하는 메모의 행동 패턴에는 몇가지가 있다는 것을 생각해 봐야 한다. 구체적으로 생각해볼 수 있는 메모의 행동 양식은 다음과 같이 분류할 수 있다. 


가. 지우기 위한 메모 : 이 영역에 해당하는 메모는 가장 쉽게 생각할 수 있는 것이 할일 목록 (Todo) 이다. 즉, 자신이 무엇을 하기 위해 잊어 먹지 않도록 해야하는 내용과 관련된 내용, 연락처 등 필요한 내용을 기록하는 것이다. 그러나 이를 수행하고 나서는 그리고 더 이상 필요가 없으면 과감하게 메모는 지워진다. 


나. 쌓기 위한 메모 : 간단한 메모나 할일 목록과 다르게 쌓기 위한 메모란 앞으로도 지속적으로 메모를 볼 필요성이 있다고 느껴지거나 완전히 기억하지 못해 참고해서 봐야 하는 내용을 적어둘 때 필요하다. 예를 들어 기도문이나 기억하고 싶은 인용문, 그리고 글 등이 이에 해당할 것이다. 지우기 위한 메모와 다르게 쌓기 위한 메모에는 다시 찾을 때 필요한 적절한 주제어, 태그 등을 통해서 메모를 체계적으로 구조화하는 것도 필요하다. 


다. 쌓아서 지우는 메모 : 조금은 생소한 개념으로 다가올 수 있지만 논문 작성이 가장 좋은 예가 될 수 있다. 어떤 특정 글을 작성하기 위해 참고문헌, 관련 자료 등을 모아서 저장을 해 둔 다음 자신의 글로 작성이 완성이 된다면 이미 작성된 글 안에 모든 메모의 요소들이 저장되기 때문에 관련된 메모들을 한꺼번에 지우는 것이다. 즉, 메모의 재생산을 위한 과정이고 이 과정의 목적이 끝나면 메모도 사라지는 것이다. 


개인적인 생각으로 메모에 대한 성격을 세가지로 분류했지만 이 밖에도 더 다양한 목적을 가질 수 있을 것이다. 그러나 중요한 것은 이렇게 분류한 내용은 앱을 통해 구현되거나 모바일 환경에서 인간이 가지는 행동 양식을 이야기한 것이 아니다. 결국 인간이 모바일 환경이 아닌 상태에서도 행동했던 인간의 기본적인 행동 양식을 바탕으로 생각한 것이다. 


이 성격에 비추어 '지우기 위한 메모' 를 생각해보자. 만약 지우기 위한 메모를 위한 앱을 개발한다고 한다면 이때 생각해야 하는 범용 기능이란 빠르게 메모를 저장하는 것 만큼 빠르게 메모를 지우거나 (delete) 보관하는 (archive) 것이다. 즉, 메모의 기록도 빠르게 기록할 수 있는 단축 기능이나 기록할 때 충분한 공간을 보여주며 메모 작성에 불편함이 없어야 하는 것도 필요하지만 그만큼 빠르게 지우거나 보관하는 작업도 중요하다. 이런 성격으로 생각해보면 구글 킵 (Google Keep) 은 그런 성격을 잘 반영해 준다. 메모 화면에서 오른쪽으로 쓸어내기 (swipe) 하면 메모 리스트에는 보이지 않고 보관된다. 메모 리스트는 내가 지금 신경 써야 하는 메모에 집중할 수 있기 때문에 이처럼 지우는 메모를 위해서는 좋은 환경을 제공해준다. 



반면 쌓기 위한 메모에는 몇가지 지우는 메모와 다른 특징을 가져야 한다. 쌓기 위한다는 것은 어떤 주제에 대한 일관된 정보를 쌓고 싶을 때가 많다. 이런 경우 메모에도 글자체, 글자크기 와 같은 서식형식 (formatting) 이 필요할 때가 많다. 단순히 글자체, 글자크기만을 이야기하는 것은 아니다. 예를 들어 맛집을 기록하는 메모를 위해서는 위치, 상호, 전화번호 등과 같이 요구되는 일정 정보를 처리할 수 있는 판형 (template) 이 필요하다. 예를 들어 자신이 보았던 영화를 기록하기 위해서는 성격에 따라 간단하게 영화 제목만 메모하는 사람도 있지만 이에 만족하지 못하고 영화 포스터, 감독, 간단한 줄거리, 그리고 자신의 평가 등을 종합해서 기록하고 싶은 사람도 분명 있을 것이다. 이런 특정 부분에 대한 사용자들의 욕구를 충족시키기 위해서 이런 기능을 전담하는 리뷰 전용 앱을 만드는 경우도 있다. 



이처럼 기본적으로 앱이 존재하지 않은 인간의 행동 양식을 그대로 반영할 수 있는 앱이 아닌 경우 때로는 앱의 화려한 기능에 이끌려 인간의 행동이 어색해지는 경우도 있다. 특정 앱을 거론하지는 못하겠지만 한때 다양하고 강력한 기능으로 인기를 끌던 앱이 있었다. 앱 안에서 달력도 제공해주고 할일 목록도 제공해주고 심지어 노트북에 템플릿 기능까지 다양한 사용자들의 요구를 반영하는 천하통일 앱이라 생각했지만 사실 지금의 결과는 전혀 다르게 되었다. 사용자들은 처음에는 메모라는 상당히 광범위한 기능 중 자신이 필요한 기능이 포함되어 있기 때문에 긍정적으로 사용했지만 '지우기 위한 메모'와 '쌓기 위한 메모'의 기능이 혼재되어 있는 상태에서 사용자는 자신의 생활 양식과는 다른 더 무거운 기능을 강요받기 시작하는 것이다. 그렇기 때문에 어떤 기능 (범용 기능) 에 집중해야 하는지 판단하지 못하고 가장 간단한 예로 지우기 위한 할일 목록 기능을 제공해주지만 쌓기 위한 메모를 위한 공존으로 메모를 간단하게 지우는 것조차 쉽지 않을 때가 많았다. (지우기 위해서는 확인을 포함한 세단계 정도의 번거로운 과정을 거친다.) 


따라서 인간의 행동 중 대체하고 싶은 중심 행동 양식이 무엇인지 그리고 어떤 목적을 가진 메모 앱을 개발할 것인지 생각하는 것은 마케팅적 측면에서도 사용자에게 매력적 앱이 되기 위해서도 중요하다. 


F. 모바일 기기는 왜 필요한가 


모의 궁극적 목적에 접근해서 생각하는 것은 앱의 기본적인 설계, 기능 (범용) 에 관련된 직접적인 질문이다. 그렇다면 왜 모바일 기기인가? 인간의 일반적 생활 양식에 모바일 환경이 적용할 때 주요한 변화는 '즉시성 (instantaneous)''연계성 (connective)' 이라 생각한다. 


먼저 연계성에 대해서 생각해보자. 연계성은 내가 별도로 관리하던 정보를 연계해서 하나의 종합된 화면으로 관찰하고 분석할 수 있다는 점이다. 아주 간단한 예로 메모를 했을 때 전화번호나 주소를 입력하면 이를 링크로 연결해서 해당 정보를 더 자세히 알 수 있거나, 바로 해당 전화번호에 전화를 걸 수 있도록 도와주는 것이다. 정보의 연계성 측면도 중요하지만 전화번호를 연결해 전화를 바로 걸수 있도록 한다는 것은 사용자가 무엇을 할 가능성이 있다는 행동의 연계성 도 고려했다는 점이다. 


모 앱을 통해서 살펴볼 때 이런 연계성의 가장 큰 효과를 보여주는 앱을 하나 소개하자면, 스프링패드 (SpringPad) 를 들 수 있다. 스프링패드는 기본적으로 볼 때 지우기 위한 메모 앱이라기 보다는 쌓기 위한 앱을 지향한다고 보인다. 특히 자신의 노트를 다양한 사용자들이 구독(follow) 하도록 하여 메모를 통해 정보 공유의 공간으로 활용할 수 있도록 해준다. 그러나 스프링패드에서 가장 주목하는 부분, 특히 연계성에 관련된 부분은 상품과 영화와 같이 이미 기존의 상품 판매 업자나 영화 정보 제공 사이트에서 제공하던 정보를 수집하여 독자적인 포맷및 구성으로 만들어 제공한다는 것이다. 예를 들어 The Dark Knight 영화를 보았다고 했을 때 기존의 메모는 제목, 감독, 스토리 등을 자신이 직접 넣어야 하는 불편이 있었지만 스프링패드에서는 제목만 입력해 검색하면 해당 영화에 대한 정보를 인터넷에서 끌어와서 스프링패드만의 포맷으로 구성하고 사용자의 노트에 저장하게 한다. 사용자는 자신의 감성평이나 간단한 평가를 매길 수 있고 이를 통해 간단하게 메모를 완성시킬 수 있는 것이다. 



즉, 모바일 환경이 제공하는 편리함 중 주목할 부분은 이렇게 이미 만들어진 정보에 대해서 재사용 (reuse) 하여 별도로 사용자들이 불필요한 수고를 덜하는 것이라 본다. 


시성은 조금 생각해볼 부분이다. 모바일 기기가 우리 손에 늘 있는 설정에서는 분명 즉시성이 가능한 것처럼 보이지만 메모지와 펜으로 메모하는 것과 모바일 기기를 켜고 메모 앱을 실행시키는 것이 즉시성인가? 또 메모지와 펜이 항상 소지하고 다니기 힘든 것처럼 모바일 기기도 마찬가지로 항상 가지고 다니는 것이 아니다. 습관만 된다면 누군가에게 모바일 기기 가지고 다니는 것보다 메모지와 펜을 가지고 다니는 것이 더 편할 수도 있다. 따라서 이런 얼마나 빠르게 접근 (accessible approach) 에 대해서는 보류하고 다른 측면의 즉시성에 대해서 생각하는 것이다. 예를 들어 내가 어떤 논문에 만드는데 필요한 아이디어를 메모했다고 했을 때 해당 아이디어가 어떤지 논문의 흐름에 도움이 되는 내용인지 확인하기 위해 같이 일하는 연구자, 관련된 사람들에게 뿌리고 싶을 때 생각해보면, 메모지의 메모가 확산되는 속도와 모바일 기기의 메모가 확산되는 속도는 비교도 하기 힘들 것이다. 물론 메모지에 메모 후 바로 전화로 문자를 보낼 수 있다고 하지만 메모 앱을 통해서 공유의 기능을 하나의 공동 작업의 플랫폼으로 적용한다면 메모의 작성 후 별다른 작업을 하지 않아도 바로 해당 아이디어는 신속한 후속 작업이 이루어지 질 것이다. 



즉, 즉시성이란 적절한 작업 환경을 통해서 불필요한 추가적 행동을 제거할 수 있는 행동 흐름 (workflow) 의 효율성을 높여주는 방법으로 작용할 수 있는 것이라고 생각한다. 


결국 모바일 환경이 제공하는 이점들은 모바일 기기 자체가 주는 것이라기 보다는 모바일 환경이 가지고 있는 네트워크 연결성이 더 중요할 수 있다. 즉, 인간의 메모라는 활동이 네트워크 환경을 통해서 어떤 다양한 복잡성에 집중하는 것이 아니라 행동 흐름이 얼마나 단순화 될 수 있는지에 초점을 맞춰야 한다는 것이다. 좋은 메모 앱을 만들고 화려한 기능을 제공하는데 다른 이들과 공유하고 메모를 통해 새로운 아이디어가 만들어지기 위해서 복잡한 공유 과정 그리고 별도의 공유 플랫폼 (인터넷 공간) 에 올려야 하는 과정을 거치게 된다면 점점 메모의 근본적 목적을 상실해가며 화려한 기능을 한두번 사용하고 실증내는 사용자가 될 가능성이 높다. 


마무리하며... 


아무리 좋은 서비스라고 해도 중단되는 상황에서는 어떤 서비스를 써도 항상 불안해 할 수 밖에 없는 현재의 인터넷 환경은 오히려 인간에게 더 많은 스트레스를 주는 것은 아닌가 걱정된다. 즉, 인간의 고유한 생활 양식을 모바일 환경에 맞게 적응해 가는 과정에서 인간은 결국 앱이 제공하는 불필요한 기능들에 본질적 기능조차 망각하고 살아가는 것은 아닌가 하는 걱정이다. 



양한 앱들을 통해 생각하기에는 너무도 광범위 하기 때문에 메모 앱이라는 개인적으로 가장 친근하고 가장 많이 사용하는 앱을 통해 생각해보았지만 가장 역설적인 것은 모바일 기기가 있으나 없으나 별로 다를 것 없는 생활 양식, 예를 들어 모바일 기기가 사라져도 인간의 메모 활동은 사라지지 않을 것이란 가정을 통해 인간의 기본적 활동을 반영해줄 수 있는 앱을 설계하고 이에 모바일 환경만이 제공해줄 수 있는 이로움을 추가하여 앱을 통해 할 수 있는 기능에 대한 성격을 고려하는 과정이 앱 설계, 개발에 필요한 내용이 아닐까 고민하게 되었다. 특별히 전문적 앱 개발자들이 이 글을 읽고 뭔가 새로운 생각의 전환을 할거라 기대하지 않는다. 다만 개인적인 생각으로 모바일 환경이 망치는 인간의 생활 양식, 그리고 모바일 환경이 아니면 아무것도 할 수 없는 인간의 모습에는 분명 무엇인가 근본적 문제가 있다고 생각했을 뿐이다. 


그리고 이런 인간의 생활 양식을 고려하지 않은 앱들은 잠깐의 인기를 얻을 수 있어도 지속적인 그리고 실증내지 않고 꾸준히 사용할 수 있는 앱이 되기 어렵다고 본다. 인간을 위해 앱이 존재하지, 앱을 위해 인간이 존재하지 않는다는 아주 간단한 명제를 생각한다. 


  1. 프리미엄(유료) 서비스 경우 오프라인 저장 기능을 제공한다. [본문으로]