Ryun

사진첩 만들기의 시작

2019.02.25. 월요일


어느날, 지인이 Twitter 디자이너의 블로그를 던져줬는데, 블로그도 블로그지만 자기가 여행다녀온 사진첩이 정말 잘 되어 있었다. 이 사이트는 모두 다 Static 파일로 되어있고 AWS S3, CF를 이용하고 있어서 전 세계 사람들이 빠르게 로딩되어 볼 수 있는 사이트였다. 마침 사이트를 보는 순간 사진첩에 너무 감명을 받아서, 미뤄왔던 사진첩 만들기를 다시 시작하기로 했다. 규모도 토이 프로젝트로 적합하다 싶었다.

현재는 어떻게 쓰고 있나

지금은 Synology NAS에서 제공하고 있는 Photo Station을 사용하고 있다. 원본 사진을 NAS에 보관하고 있고, 필요할 때 그때 그때 원본을 다운받아 보정을 해서 사용하고 있다. 사진을 보관하고 있는 HDD는 Raid 1로 셋팅 있다가 이 마저도 영 믿음직스럽지 않아(가족중 실수로 누군가 사진을 지워버리면 끝이다) 직접 물리적으로 분리되어있는 HDD에 주기적으로 수동 백업하고 있다. 가족들은 Photo Station 앱(iOS/Android)을 통해 접속하고 있어서 접근성 자체는 그리 불편하지 않다.

처음에 Photo Station을 선택한 이유는 그냥 NAS에다가 사진 백업한 것을 쉽게 보기 위해 선택했다. Synology에서 제공하는 것이라 버튼 몇 번으로 클릭하면 설치되고, iOS/Android 앱도 이미 제공되어서 괜찮다 싶었다. 근데, 사용하다보니 이만한게 없었고 더 심각한건 대체할 것이 없었다. 특징을 좀 적어보면,

이러다 보니, 수백, 수천 장의 여행사진을 찍어와 몽땅 다 NAS에 때려박기만 하면 이보다 편한 게 있을수가.

온라인에 사진을 저장하고 볼 수 있는 서비스들은 몇 가지 있다. 하지만, 제한들이 따라 붙었다. Google Photos는 원본 사진을 저장하기엔 제한이 너무 많고, Flickr는 무제한 용량과 원본을 저장할 수 있는 장점이 있지만, 최근에 플랜이 바뀌어서 무제한 용량이 사라졌다. 또, 한국에서 사용하기엔 속도가 너무 느렸다. 그리고 둘 다, 가족들이 사용하기엔 썩 적합한 서비스가 아니였다. 특히 부모님에겐 말이다.

어떤 사진첩을 만들까

처음에는 정말 거대한 사진첩을 만드려고 했다. 특히, 여러 사람이 편하게 들어와서 볼 수 있고, 찍은 사진을 관리도 쉽게 할 수 있는 멋진 사진첩을 말이다. 초기에 고민하고 있던 요구사항은 다음과 같았다.

  1. 찍은 사진들을 한 번에 저장소로 전송하고 웹에서 관리(추가/삭제/수정)하고 싶다.
  2. 썸네일을 자동으로 만들어 줬으면 좋겠다 (Synology Photo Station처럼 RAW 이미지 파일도!)
  3. H/W 저장소 문제를 피하고 싶다.
  4. 웹에서 앨범을 관리(추가/삭제/수정)하고 싶다. 비공개와 공유 기능도!
  5. 사진 앱이 있었으면 좋겠다.
  6. Geolocation 정보를 통해서 지도에 사진 위치를 뿌려줬으면 좋겠다. 등등…

There is no silver bullet.

은탄환은 없다. 소프트웨어 엔지니어링에서 자주 쓰이는 말이다. 1986년 브레드릭 부룩스가 쓴 소프트웨어 공학 논문에서 비유적인 표현으로 시작한 후로 종종 널리 퍼져 쓰이기 시작했다. 은탄환 비유의 시작은 평범한 인간이 늑대로 변했는데, 이 늑대를 죽일 수 있는 방법은 은탄환이 유일하다는 이야기에서 비롯되었다.

간단히 말해, 만병통치약 따위는 없다. 위에 있는 기능을 다 구현하려면, 아마 돈을 많이 벌어 부자가 되어서 맡기는게 빠를지도 모른다. 모든것을 만족시킬 수는 없는 법. 적당히 타협을 봐야한다. 어떤 것을 타협할 수 있는지 하나 씩 보자.

1. 찍은 사진들을 한 번에 저장소로 전송하고 웹에서 관리(추가/삭제/수정)하고 싶다.

이건 원래 NAS에 사진을 몽땅 넣는 것이 무척 편해 이렇게 생각했다. Sony A7M2로 찍은 JPEG파일은 약 12~13MB정도 되는데, 이걸 컴퓨터에서 일일히 파일을 열어서 확인 하는건 너무 느리다. Photo Station은 파일이 추가되면 알아서 적당하게 가로 1920px짜리 썸네일을 만들어주는데, 웹 뷰어가 무척 빠르기 때문에 넘기면서 보기에 정말 편하다. 여러개의 파일을 몽땅 넣고, 만들어진 썸네일을 보면서 삭제 버튼을 누르는 식의 이미지 파일 관리를 한다면 좋지 않을까.

2. 썸네일을 자동으로 만들어 줬으면 좋겠다 (Synology Photo Station처럼 RAW 이미지 파일도!)

썸네일은 만들기 쉽다. 하지만, RAW를 컨버팅해서 썸네일을 만드려면 많은 노력이 필요하다. 단순 RAW -> JPEG로 변환하는 것은 어렵지 않지만, 제조사별로 RAW 파일 포맷이 다르므로 제조사별로 각기 대응 해야한다. 이 또한 모델 별로 조금씩 다른경우도 있다. 아마, 새로운 카메라가 나오면 이미지 편집 소프트웨어(e.g. Lightroom)에서 해당 카메라의 RAW 프로필을 다운받아 업데이트 하는 것을 보았을 것이다. 때문에, 직접 프로그램을 만들어 RAW를 JPEG로 변환할 때 카메라 프로파일을 적용하지 않거나, 잘못된 프로파일을 적용하면 색감이 완전히 뒤틀려서 나오는 것을 보게 될 것 이다. (그리고 이왕 만드는거 범용으로 만들어야 하는게 좋지 않나 생각해본다 또 시작이다) 고로, 이건 쉽지 않다.

3. H/W 저장소 문제를 피하고 싶다.

이건, 아마 누구나 고민하고 있을 것이다. 찍은 사진을 날리지 않고 안전하게 보관하고 싶다. 위에 언급한 것 처럼 Raid 1로 보관해도, 가족 중 누군가 사진을 지워버리면 다 끝나버리기 때문에 지금은 수동으로 3차 백업을 진행하고 있다. 예전에 사진을 날려먹었던 기억이 있어서 이건 최우선이다.

4. 웹에서 앨범을 관리(추가/삭제/수정)하고 싶다. 비공개와 공유 기능도!

Photo Station의 문제점이 이거였다. 여행 다녀온 앨범을 공개하고 싶은데, 공개 링크를 눌러도 내 NAS의 사용자 계정이 없으면 볼 수 있는 방법이 없다. 이럴거면 공유기능을 빼지 그랬니 또, 특정 사용자만 접근할 수 있는 앨범을 만들고 싶기도 했다.

5. 그 외

사진 앱은 있었으면 좋겠다가 목표였다. 하지만 모든걸 만들 수 없으니, 적당히 웹으로 타협하기로 했다. 6번의 Geolocation의 경우 위에 것들이 해결되고 나서 생각하기로 했다. 크게 중요한 것은 아니니.

타협

많은 고민 끝에, 적당히 타협하기로 했다. 사진을 보관하는 장소와, 쇼케이스 하는 장소를 별도로 두기로 했다. 정책상 사진을 저장하는 스토리지 위에 서비스를 올리기 보다는 두개를 분리하는게 더 맞다고 생각했기 때문. 그러면 고민했던 대부분의 문제가 해결된다. 그럼, 이제 사진을 쇼케이스 하는 아주 큰 일만 남았다. 여기서 부터는 정해진게 따로 없는 상태다. 앞으로 작성할 포스팅 또한, 중간에 만들어가는 방향이 바뀔수도 있으니 그 점을 고려해서 봐주셨으면 좋겠다. 동시에, 어떻게 쇼케이스를 해야하는지에 대한 아주 큰 고민이 생겨버렸다.

   

Go Back