2008/07/29 01:55
모호한 메시지
소프트웨어가 내뱉는 온갖 메시지에 모호한 말이 들어 있으면 사용자도 골치 아프지만, 개발자도 아주 골치가 아픕니다. 아마 이런 모호한 말의 시초는 오래 전에 시커먼 바탕에 녹색 글자만 나오던 시절에 화면에 친절한 메시지를 보여주기에는 프로그램의 용량이 너무 커지니까 간단히 숫자를 써서 나타내던 습관에서 시작한 것이 아닐까 하는 생각을 해봤습니다.
며칠 전에 이런 일이 있었습니다. 회사에서는 게임을 웹에서 실행합니다. 웹에서 ActiveX 컨트롤을 하나 설치한 다음, 홈페이지에 달린 버튼 하나를 누르면 로컬에 설치된 게임이 실행 되거나, 게임이 로컬에 설치되지 않았다면 게임을 인스톨하는 등의 역할을 합니다. 그런데, 테스트 때는 아무 문제도 일어나지 않았던 게임 클라이언트가 돌연 이상한 숫자 하나를 내뱉고 뻗어버렸습니다. 정확히 말하면 뻗은 것은 게임이 맞지만, 이상한 숫자 하나를 내뱉은 것은 게임을 웹에서 구동하도록 해 주는 껍데기 프로그램이었습니다.
그 에러 번호를 알기 쉽게 '99' 라고 해봅시다. 이 껍데기 프로그램은 그냥 '에러: 99 (실행에 실패했습니다.)' 따위로 다이얼로그를 하나 띄운 다음 끝나버렸습니다. 게임 프로세스가 실행되지도 않았고, 껍데기 프로그램으로부터 어떤 지원도 받을 수 없었습니다. 얼마 후에 이 '99'번 에러는 로컬에 설치된 게임을 실행할 수 없을 때 나오는 번호라는 것을 알게 되었습니다. 하지만 개발팀에서는 웬만해서는 현상이 일어나지 않았고, 결국 오픈을 겨우 한시간 좀 넘게 남겨둔 상황에서 현상을 만들기 위해 테스트 PC를 다시 세팅하고 있었습니다. 물론, 결국 제한시간 안에 해결책을 제시하는데는 실패했습니다. :(
사실은 배포 방법을 별로 고민하지 않은 것에 가장 큰 문제가 있지만, 웹 껍데기 프로그램이 상황에 대해 조금만 더 자세한 정보를 제공해 줬다면 적어도 한 시간은 절약할 수 있었을 겁니다. 그냥 '99' 라고 출력하지 말고 '프로그램을 실행할 수 없습니다. 프로그램을 실행하는데 필요한 런타임 파일이 설치되지 않았을 수 있습니다.' 따위로 메시지가 나왔다면 다른 가능성을 제쳐 두고 당장 이 원인을 해결할 방법을 찾기 시작했을 테니까요.
물론, 이 프로그램은 개발자도 봐야 하고, 유저도 봐야 하기 때문에 무턱대로 상황에 대해 친절하게 나타낼 수는 없을 겁니다. 아예 까놓고 '코드 어디어디가 잘못되었습니다.' 라고 할 수는 없었겠지요. 하지만 메시지를 조금만 더 모호하지 않게 쓴다면 이 껍데기 프로그램을 사용하는 여러 팀에서 덜 고생할 수 있지 않을까 하는 생각이 들었습니다.
