로그스톤 샵 LogStone Shop TIL 4
제품을 늘리는 것보다 잠시 내리는 쪽이 배울 게 많았다.
잠시 닫는다는 것
지우지 말고 끄는 장치를 만들어 둔다
출시가 밀려 소개 페이지를 잠깐 내려야 했다. 파일을 지우면 되살릴 때 다시 만들어야 하고, 그 사이 문구와 이미지가 같이 사라질 위험이 있다.
그래서 지우는 대신 끄는 장치를 뒀다. 내용은 그대로 두고 목록에서만 빼는 식이다. 되살리는 일이 몇 줄 되돌리기로 끝난다.
여기서 하나 더 배웠다. 끄는 방법을 만들었으면 켜는 절차도 같이 적어 둬야 한다. 몇 주 뒤에는 무엇을 껐는지 기억나지 않고, 기억에 기대면 되살릴 때 빠뜨린다.
어딘가에 박힌 주소와 그냥 홍보물은 다르다
한 폴더 안에 소개 페이지와 방침·약관이 같이 있었다. 폴더째 내리면 앱에 내장되고 스토어에 제출한 주소까지 죽는다.
내리기 전에 물어야 할 건 하나다. 이 주소가 어딘가에 박혀 있는가.
- 박혀 있는 것 — 앱 안 링크, 스토어 등록 정보, 결제사에 낸 주소. 바꾸려면 상대가 앱을 다시 내야 한다
- 박혀 있지 않은 것 — 소개 페이지, 목록 카드. 언제 내려도 아무도 깨지지 않는다
같은 사이트 안이라도 이 둘은 무게가 다르다. 앞의 것은 계약이고 뒤의 것은 광고다.
자동으로 안 되면 규약이 필요하다
가져올 수 없는 정보는 사람이 옮긴다
공개된 저장소는 버전 이력을 자동으로 긁어올 수 있지만 비공개는 안 된다. 권한을 붙이는 방법도 있는데, 정적 사이트에 열쇠를 하나 더 두는 값을 치를 만큼의 일은 아니었다.
그래서 이력을 적은 파일을 사이트 쪽에 두고 읽게 했다. 자동 수집을 포기한 대신 누가 언제 고치는지 규약이 필요해졌다. 앱 쪽이 새 버전을 내면 내용을 보내고 사이트가 그 파일만 고친다.
정리하면 이렇다. 자동화가 막히면 그 자리에 사람이 들어오고, 사람이 들어오면 규약이 있어야 굴러간다. 규약을 안 정하면 자동화도 없고 갱신도 없는 상태가 된다.
공용 부품과 예외
공용에 값을 넓게 박으면 예외가 안 먹는다
메트로놈과 모래게임 제품 페이지를 새로 만들고 화면을 보니, 맨 위 제목 영역이 KeyBloom 페이지와 달리 위에 여백 없이 붙어 있었다. 여백은 분명히 넣었는데 안 먹었다. 원인은 세 페이지가 함께 쓰는 바깥 상자에 여백이 한 번에 지정돼 있던 것이다. 넓게 지정한 값이 좁게 지정한 값을 덮어쓴다.
원리는 화면 밖에서도 통한다. 공용 부품은 꼭 필요한 것만 정하고 나머지는 비워 둬야 예외를 얹을 수 있다. 공용이 많은 걸 결정할수록 개별 화면은 자유를 잃는다.
같은 종류의 문제를 하나 더 만났다. 모래게임 페이지의 기능 카드를 세 칸씩 늘어놓았는데 항목이 다섯이라 마지막 한 칸이 비었다. 칸 사이 여백으로 구분선을 그리는 방식이라 빈칸 자리에 배경색이 통째로 드러났고, 화면을 보다 그 회색이 너무 눈에 띈다고 짚어서 알았다.
화면을 꾸미는 장치가 데이터 수에 의존하고 있으면, 데이터가 바뀌는 날 모양이 무너진다. 이건 그 장치를 고르는 시점에 알 수 있다 — 항목이 몇 개가 될지 모르는 자리에는 개수에 기대는 장치를 쓰지 않는다.
확인하는 습관
검사가 실패하면 검사부터 의심한다
메트로놈 제품 페이지에 업데이트 내역을 처음 붙였을 때, 실린 버전이 셋뿐이라 「이전 버전 보기」 버튼은 안 나오는 게 맞았다. 그걸 확인하려고 만들어진 페이지에서 버튼 이름을 세었더니 있다고 나왔다. 실제로 버튼은 없었고, 같은 이름이 페이지에 함께 실린 스크립트 안에 문자열로 들어 있어 걸린 것이었다.
검사가 틀렸는데 코드를 고치러 가면 멀쩡한 걸 망가뜨린다. 그래서 실패가 나오면 먼저 검사가 맞는 걸 보고 있는지 확인한다. 넓게 훑는 검사는 자기 자신까지 세기 쉽다.
문구의 원본은 한 곳이어야 한다
제품 소개 문구를 스토어 등록 정보에서 가져와 페이지에 옮겨 뒀는데, 원본이 갱신된 걸 모르고 옛 문장을 그대로 두고 있었다.
복제된 문장은 원본이 바뀌는 순간 거짓이 된다. 그래서 어디가 원본인지 정하고, 원본이 바뀌면 알리는 규약을 함께 둔다.
특히 위험한 건 사실을 단정하는 문장이다. “가입도 로그인도 없다” 같은 문장은 기능이 조금만 달라져도 광고가 거짓말이 된다. 이런 문장은 복제본에 두지 않거나, 둘 거면 기능이 바뀔 때 같이 바꿀 자리로 기억해 둬야 한다.