이 글이 다루는 시기: 2012년 5월
= 개발 시작까지 2개월 남음
= 첫 버전 공개까지 3개월 남음
이번 글에서는 말도 많고 탈도 많은 수명 감시 서비스에 대해서 이야기를 해보려 한다. NSTDiagSvc. 애증의 이름이다. 오늘도 수많은 게시판에 이 서비스 꺼도 되냐는 질문이 밤 하늘의 별처럼 수놓여진다. 그 사람들은 알고 있을까, 나래온 툴의 진정한 존재 의의는 이 서비스에 들어있다는 걸.
직관성 0의 처참한 방식, 임시 변통이지만 지금까지도 쓰이고 있다
인텔 툴박스를 쓸 때였다. 문득 한 가지 생각이 머리를 스쳤다. SSD에 문제가 생기는 시점은 적어도 3~5년이 지난 시점일 것이다. 그 시점에 나는 과연 고리짝 시절 SSD의 건강을 체크해주기 위해 툴을 자주 실행할까? 내 생각으로는 당연히 아니였다.
이게 내 생각 뿐만은 아닌 것이, 당시 게시판만 보아도 SSD를 도입 초기부터 썼던 사람들은 툴을 ‘잘 안 쓴다’고 했다. 이 시기(2012년)는 SSD가 퍼진지 얼마 되지 않은 시점이였다. 즉 거의 모든 사용자가 성능과 수명에 관심이 많은 ‘프로슈머’였던 셈이다. 그랬음에도 이런 현상이 있었다. SSD 설치 후 수 년이나 지나서 건강 체크하려고 사용자보고 툴을 확인해달라는 건 너무한 요구가 아닌가 싶었다.
수명 감시 서비스는 이런 고민에서 탄생한 서비스였다. 개발 초기에는 치환 섹터가 문턱 값을 넘으면 지속적으로 경고해주는 서비스였다. 그러나 사용자들이 실질적으로 관심 있는 건 ‘증가세’냐 아니면 ‘일시적으로 생기고 만 것’이냐라는 사실을 깨닫고 요새는 문턱값을 최초로 넘은 것과 증가하는 것을 경고해준다.
서비스는 특권(간단하게 얘기해서 관리자 권한과 유사하다)을 지니지만 사용자와 상호 작용을 할 수 없다. 상호 작용이 불가능한 건 장점도 있는데, 트레이에 아이콘이 없어서 가볍다는 인상을 주기에 좋다. 그 얘기는 사용자가 쓸데 없어 보이는 프로그램이 트레이를 차지하는 걸 보고 화가 나서 프로그램을 삭제하는 일을 줄일 수 있다는 것이다. 모 벤더의 툴은 트레이 아이콘과 시작 프로그램(정확히는 예약 작업) UAC라는 2콤보 크리티컬로 인해 화난 사용자에 의해 삭제당하는 일이 많다고 들었다. 나래온 툴은 내가 사용자다 보니 사용자를 화나게 하지 않는 데에도 많은 신경을 썼다.
다시 서비스 얘기로 돌아가보자. 상호 작용은 정확히는 별개의 윈도 스테이션으로 여차저차(자세한 내용은 Windows Internals를 보시라!) 해서 불가능하게 설정되어있다. 그러나 대화형 서비스로 돌리면 창을 띄우는 게 복잡한 방법으로 가능하긴 하다. 이 서비스가 윈도를 제대로 지원을 안 해서 그런거라는 찝찝한 설명과 함께 마지못해 띄워주는 게 싫어서 나는 그 방법을 안 썼다.
그 대신에 나온 게 저 위의 바탕화면 아이콘 방법이다. 마음에는 안 들었지만, 사용자를 귀찮게 만들어 확인하게 한다는 점에서 선택한 차악이였다.
여기서 김 빠지는 얘기 하나. 윈도7 프린터 스풀러 서비스는 당당하게 대화형 서비스를 쓴다. 그걸 보고 나도 요새는 바탕화면 아이콘이라는 처참한 방법 대신 대화형 서비스로 바꿀까 생각중이다.