시작하며, 제가 이 사이트를 만드는 세 가지 원칙

AD

필요한 계산 하나를 하려고 검색했다가 정작 계산기보다 광고 닫기 버튼을 먼저 찾았던 적이 자주 있습니다. 입력 칸은 어디 있는지, 나온 숫자가 어떤 기준인지, 방금 적은 내용은 어디로 가는지 설명이 없는 페이지도 많았습니다. 웹 개발자로 오래 일한 저는 그 불편을 참고 쓰는 대신, 제가 쓰고 싶은 도구를 직접 만들기로 했습니다.

이 사이트가 하려는 일은 거창하지 않습니다. 일상에서 잠깐 필요한 계산을 빠르게 끝내고, 결과가 만들어진 기준을 스스로 확인할 수 있게 돕는 것입니다. 새 도구와 글이 늘어나더라도 아래 세 가지 원칙은 같은 자리에 두겠습니다.

입력한 값은 계산을 위해 서버로 보내지 않습니다

글, 날짜, 숫자처럼 도구에 직접 입력한 값은 브라우저 안에서 처리됩니다. 계산 버튼을 누르거나 값을 바꿀 때 필요한 계산 코드는 이미 불러온 페이지 안에서 실행되며, 입력 내용을 사이트 서버에 전송하거나 별도로 저장하지 않습니다. 페이지를 불러오기 위한 일반적인 요청과 도구에 적은 값을 전송하는 일은 서로 다릅니다. 제가 말하는 “서버 전송 없음”은 후자, 즉 사용자가 계산기에 넣은 내용에 관한 약속입니다.

이 원칙은 특히 긴 문장을 붙여 넣는 도구에서 중요하다고 생각합니다. 글자수 세기는 입력한 문장을 브라우저 안에서 읽어 공백 포함 글자 수, 공백 제외 글자 수, 단어 수와 바이트를 보여 줍니다. 결과를 얻기 위해 문장 자체를 어디엔가 제출할 필요가 없습니다.

그렇다고 “안전하다”는 짧은 문구 하나만 믿어 달라고 하지는 않겠습니다. 각 도구 화면에서 입력값이 서버로 전송되지 않는다는 사실을 계속 표시하고, 나중에 입력값을 전송해야만 하는 기능이 필요해진다면 조용히 섞어 넣지 않겠습니다. 기능의 동작 방식이 달라지는 경우에는 사용하기 전에 알아볼 수 있도록 먼저 설명하는 것이 맞습니다.

결과보다 먼저 계산 기준을 밝힙니다

같은 이름의 계산도 기준을 어떻게 잡느냐에 따라 결과의 의미가 달라질 수 있습니다. 글자 수는 공백을 포함하는지에 따라 달라지고, 두 날짜를 비교할 때는 시작일과 마지막 날을 포함하는지가 중요합니다. 퍼센트 역시 전체에서 일부가 차지하는 비율을 구하는 것과 이전 값에서 얼마나 달라졌는지를 구하는 것은 서로 다른 계산입니다. 숫자만 크게 보여 주고 기준을 숨기면 빠른 도구일 수는 있어도 믿고 다시 쓰기는 어렵습니다.

그래서 각 도구에는 “이 도구의 기준”을 함께 적습니다. 어떤 입력을 사용하고, 무엇을 포함하거나 제외하며, 결과를 어떻게 읽어야 하는지 가능한 한 평범한 말로 설명합니다. 만 나이 계산기에서는 생년월일과 기준일을 비교해 생일이 지났는지를 반영한다는 원리를 확인할 수 있습니다. 기준일을 바꾸면 결과도 그 날짜를 기준으로 다시 계산됩니다.

퍼센트 계산기도 한 칸짜리 만능 계산기처럼 보이게 만들지 않았습니다. 전체 중 일부의 비율, 값의 증감률, 할인된 값처럼 묻는 내용에 맞춰 계산 방식을 고를 수 있게 나눴습니다. 사용자는 자신이 구하려는 값이 무엇인지 먼저 확인하고 결과를 읽을 수 있습니다. 저는 이런 작은 구분이 화려한 설명보다 실제 실수를 줄이는 데 더 도움이 된다고 봅니다.

기준 설명은 한 번 써 놓고 끝내는 장식이 아닙니다. 계산 코드와 설명이 서로 어긋나지 않는지 확인하고, 표현이 모호하거나 예외를 빠뜨린 부분을 발견하면 함께 고치겠습니다. 잘못된 결과를 그럴듯하게 포장하기보다 무엇이 틀렸는지 드러내고 수정 기록을 남기는 쪽을 택하겠습니다.

광고는 도구를 가리지 않는 만큼만 둡니다

사이트를 계속 운영하려면 비용을 감당할 방법이 필요하고, 광고가 그 방법 가운데 하나가 될 수 있습니다. 다만 광고를 보기 위해 도구를 찾아 헤매게 만드는 순간 이 사이트를 만든 이유가 사라집니다. 계산 입력 칸과 결과, 기준 설명이 먼저 보여야 하며 광고는 그 흐름을 끊지 않는 정해진 자리에 두겠습니다.

광고를 콘텐츠나 버튼처럼 꾸미지 않고, 광고 영역임을 알아볼 수 있게 구분하겠습니다. 입력하는 도중 화면을 덮거나 다음 단계로 가는 것처럼 오해하게 만드는 배치도 피하겠습니다. 광고가 있다는 사실보다 광고 때문에 원하는 일을 끝내기 어려운 상황이 더 큰 문제라고 생각하기 때문입니다.

또한 광고 여부가 계산 결과나 설명의 방향을 바꾸어서는 안 됩니다. 도구의 답은 코드에 적힌 기준으로 계산하고, 글은 그 기준을 이해하는 데 필요한 내용을 중심으로 씁니다. 빈 공간을 채우기 위해 같은 말을 늘이거나 관련 없는 권유를 붙이지 않겠습니다.

작은 도구라도 운영 원칙은 구체적으로

좋은 생활 도구는 사용법을 오래 배워야 하는 프로그램이 아니라, 필요한 순간에 열어 바로 쓰고 결과를 납득한 뒤 닫을 수 있는 페이지라고 생각합니다. 그래서 기능을 더할 때도 “입력값을 어디에서 처리하는가”, “결과의 기준을 설명했는가”, “사용 흐름을 방해하는 요소가 있는가”를 먼저 확인하겠습니다.

오류나 헷갈리는 표현은 생길 수 있습니다. 그런 문제가 보이면 숨기지 않고 계산 코드와 안내 문구를 함께 살피겠습니다. 반대로 실제로 필요하지 않은 기능은 그럴듯해 보여도 서둘러 넣지 않겠습니다. 도구의 수보다 각 도구가 맡은 일을 분명하게 해내는 편이 더 중요합니다.

이 글은 완성 선언이 아니라 앞으로의 판단 기준입니다. 입력한 값은 브라우저 안에서 계산하고, 결과가 나온 이유를 설명하고, 광고가 사용 목적보다 앞서지 않게 하겠습니다. 다음에 이 사이트를 다시 찾았을 때도 계산보다 닫기 버튼을 먼저 찾는 일이 없도록, 단순하지만 쓸모 있는 도구를 차근차근 다듬겠습니다.

AD