기사 공유하기

[box type=”note”]꼭 보고 싶은 영화가 있는데, 인기 영화라 좌석은 만석, 온종일 좌석 선택 화면에서 새로고침을 해도 원하는 좌석을 구하지 못하는 상황을 경험한 적이 있습니까. 넋을 놓고 새로고침을 하다 보면 가끔 한 자리, 두 자리가 생길 때도 있습니다. 하지만 일을 중단하고 새로고침 버튼 클릭에만 매달릴 수는 없겠죠.

한 개발자가 CGV 웹사이트에서 하염없이 새로고침 버튼을 누르지 않아도 누군가 좌석을 취소하거나 좌석 예매를 시도하다 그만둬 새로운 좌석이 나오면 바로 벨 소리로 알려주는 북마클릿을 내놓았습니다. 없는 좌석을 만들어주는 마법은 아니지만 사람 많은 주말, 붐비는 극장의 초절정 인기 영화라면 유용할 것 같습니다. 개발자가 할 수 있는 라이프 해킹의 좋은 예가 아닐까 생각합니다. (편집자)[/box]

지금은 기자인 군대 동기가 그랬다. 후기는 성공한 다음에나 쓰는 거라고. 오늘로 “CGV 자동 예매 북마클릿”을 공개한 지 일주일도 더 됐는데, 영상의 조회수는 형편없이 낮으니 대실패다. 그래도 나는 후기를 쓴다.

북마클릿을 만든 이유

애런 스워츠(요절한 유명 개발자)를 다룬 다큐멘터리에서 그가 프로그래밍을 마법에 비유했다는 일화를 본 적이 있다. 문자나 기호를 의미있게 배열하는 것만으로 보통은 할 수 없는 일을 할 수 있게 해주기 때문이라는 것이다. 나도 그 말에 동의한다.

작년에 인터스텔라 예매를 프로그래밍의 도움으로 좀 더 수월하게 할 수 있었을 때, 프로그래밍이 한 사람의 능력을 확장해 준다는 매력을 보통 사람들에게 전달하기 좋은 소재라는 생각이 들었다. 그래서 야심차게 꽤 장문의 글을 작성했고, 내가 쓴 글 중에선 가장 반응이 좋았다.

다만 아쉬운 점은 그 프로그램이 정작 코딩에 익숙한 사람만 쓸 수 있다는 것이었다. 내가 주 독자로 여겼던 비 개발자들은 글을 통한 간접경험에 그칠 수밖에 없었다. 또 다른 문제는 프로그램을 적용할 수 있는 조건이 너무 제한적이라는 것이었다. 남아있는 좌석 수가 전혀 없는 상태에서 영화를 혼자 보려고 할 때만 프로그램이 유용했다. 그래서 누구나 사용할 수 있는 북마클릿 형태로 어느 상황에도 적용할 수 있도록 기능을 대폭 개선한 프로그램을 계획하게 됐다.

돈 받고 하는 일이 더 급했기에 짬짬이 시간이 날 때마다 코딩을 하다 보니 생각보다 구현에 시간이 오래 걸렸다. 작년 12월부터 시작해서 버전 1.0이라고 부를만한 것이 4월 초에 나왔으니 넉 달쯤 걸렸는데, 이렇게 찔끔찔끔했는데도 안 까먹고 만든 게 신기할 정도였다.

본격적으로 CGV 자동 예매 북마클릿 이용하기

다음은 CGV 자동 예매 북마클릿을 이용하는 방법이다. 우선 두 가지가 필수다. 첫째, 스마트폰이나 태블릿 말고 일반 데스크탑에서 해야 한다. 둘째, PC에서 소리를 들을 수 있게 볼륨을 키워놓아야 한다.

[box type=”info”]

  1. 우선 아래 버튼을 북마크바에 드래그해 넣는다.

    CGV 자동 예매 ← 이걸 바로 드래그

  2. CGV 홈페이지에 가서 로그인한다.
  3. 예매 메뉴를 선택한다.
  4. 원하는 영화, 극장, 날짜, 시간을 순서대로 선택한다.
  5. “좌석선택” 버튼을 누르고 영화를 관람할 인원수를 선택한다.
  6. 설치한 북마클릿을 클릭한다. (화면 상단에 반투명 회색 바탕 “선호하는 순으로 좌석을 선택하세요” 메시지가 생긴 걸 확인)
  7. 희망하는 순서대로 좌석을 선택(클릭)한다. (만약 인원수가 1명이라면 1개만 선택하는 게 아니라 희망하는 순서대로 다수의 좌석을 선택한다.)
  8. 화면 하단에 새로 생긴 “선택완료”를 클릭한다.
  9. 원하는 좌석을 차지하게 되면 벨 소리가 울릴 테니, 기다리자.

[/box]

북마클릿을 드래그해서 북마크바로 이동시킨다

관람자 수는 1명이지만, 북마클릿을 이용하면 원하는 자리를 다수 선택하는 기능이 활성화된다.
관람자 수는 1명이지만, 북마클릿을 이용하면 원하는 자리를 다수 선택하는 기능이 활성화된다.

아래는 이를 시연한 영상이다.

YouTube 동영상

북마클릿의 한계

이 북마클릿에는 근본적인 문제가 있다. 완성 후에도 북마클릿을 바로 공개하지는 않았는데 몇 가지 고려사항이 있어서였다.

첫째, 널리 쓰이면 쓰일수록 좋은, 소위 “착한” 프로그램이 아닐 수도 있다. 이 북마클릿을 써도 없는 자리가 생기지는 않는다. 다만 쓰지 않는 사람과 경쟁할 때 좀 더 유리한 위치를 차지할 수 있게 해줄 뿐이다. 만약 CGV에서 예매하려는 모든 사람이 이 북마클릿을 쓰기 시작하면 예매는 오히려 훨씬 더 어려워지고 CGV 예매 서버는 이전보다 더 바빠지거나 다운될 수도 있다.

단, 좌석 상태를 다시 확인하기 위한 “새로고침” 기능(CGV에서는 ‘다시하기’로 표기)은 CGV에서 이미 모든 이용자에게 제공하고 있다. 인기 영화의 경우 ‘닥치고 새로고침 클릭’하는 사람들이 많은 것도 사실이다. 즉 “새로고침”을 사람이 하느냐 북마클릿이 대신해주느냐의 차이이기 때문에 공개해도 문제는 없으리라 판단한다.

클릭, 클릭, 클릭

둘째, 이 북마클릿은 CGV 웹사이트의 코드에 의존하고 있다. 만약 CGV에서 어떤 이유에서든 내부 코드를 바꾸면 이 북마클릿은 무용지물이 될 수 있다. 특히 첫 번째 문제 때문에 CGV가 이 북마클릿의 존재를 알면 자신들의 코드를 바꿀 가능성이 높다.

만약 그렇다면 CGV에서 적절한 규칙을 세워 공식적으로 이런 기능을 만들어주면 어떨까. 인기 영화의 경우 도저히 좌석을 구하기 힘든 경우가 있는데 아예 예매 시스템의 일부로 자리가 생기면 원하는 고객에게 알람을 해주는 기능을 넣는다면 유용할 것 같다.

[box type=”note”]

영상 녹화 후기: 녹화는 어렵다

누구나 처음 녹음된 자신의 목소리를 들었을 때 상상과 현실의 괴리로 몸이 비비 꼬인 경험이 있으리라고 믿는다. 아니면 나만…? 아무튼, 오랜만에 녹음된 내 목소리를 들으니 실망과 부끄러움에 자다가 이불을 발로 걷어찰 지경이었다.

현실과 마주하기 전, 내가 레퍼런스 삼았던 사람들은 손석희, 노무현, 스티브 잡스, 탑기어 진행자 등이었다. 당연히 내가 저런 특급 스피커들과 비슷할 거라고 기대한 건 아니었지만, 아무튼 목표라는 게 있는 거고 목표는 높을수록 좋은 거니까. 아니 좋은 걸까? 이번에 경험해보니 현실과 너무 동떨어진 목표는 별 의미가 없는 것 같다.

처음 녹음된 목소리를 들어보고 나서 바로 지니어스 때의 홍진호로 목표를 수정했다.

같은 말과 동작을 반복하고 그걸 또 모니터링 하는 건 생각보다 진 빠지는 일이었다. 맘에 안들면 어차피 내가 다시 해야 되는 상황에서 결과물의 수준을 놓고 속으로 줄다리기하는 것도 힘들었지만, 이게 진짜 나아진 건지 듣다 보니 익숙해진 건지 혼란스러운 것이 더 힘들었다. 약 스무 번의 시도 후 더 해볼 기력도 없는 상태에서 최종본은 수정한 목표에 근접한 것으로 타협을 봤다.[/box]

관련 글