인터넷 초창기는 순수하고 오염되지 않은 공간이었습니다. 웹사이트가 방문자를 괴롭힐 수 있는 방법이라곤 자동 재생되는 MIDI 음악을 퍼붓거나, 춤추는 아기 GIF를 한 번 너무 많이 보여주는 정도였으니까요.
그러나 2016년, 상황은 크게 악화되었습니다. 어색한 사춘기를 겪고 있는 인터넷은 탐색 경험을 방해하고, 설계 자체가 짜증을 유발하는 요소들을 갖추게 되었습니다.
이 가운데서도 특히 심각하다고 느끼는 사용자 경험상의 세 가지 '죄악'이 있습니다. 각각 무엇인지, 그리고 어떻게 대처할 수 있는지 하나씩 살펴보겠습니다.
문제 #1: EU 쿠키 고지 팝업
유럽연합(EU)은 늘 논란이 많은 기구입니다. 특히 영국에서는 이달 말 EU 잔류 여부를 묻는 국민투표가 예정되어 있을 정도입니다. 저는 EU를 지지하는 편입니다. 대체로 선의의 출발점을 가지고 있고, 회원국 국민들의 이익을 진심으로 생각하기 때문입니다. 하지만 때로는 기대에 미치지 못할 때가 있는데, EU 쿠키 지침(Cookie Directive)이 그 대표적인 사례입니다.
쿠키는 인터넷의 필수 요소입니다. 사용자에 대한 정보를 저장하는 작은 파일로, 악의적인 목적으로 악용될 수도 있지만 대부분의 경우 웹사이트가 정상적으로 작동하기 위해 반드시 필요한 것입니다.
EU의 지침은 웹사이트가 사용자에게 쿠키를 제공하기 전에 동의를 얻거나, 최소한 쿠키 사용 사실을 알리도록 의무화하고 있습니다. 원칙적으로는 좋은 제도처럼 들리지만, 실제로는 브라우징 경험에 끔찍한 영향을 미쳤습니다. 법을 준수하기 위해 사이트들이 주의를 산만하게 하는 팝업을 삽입해야 했기 때문입니다.

문제는 이런 팝업 대부분이 모바일 웹에 최적화되어 있지 않다는 점입니다. 그 결과 스마트폰과 태블릿 화면에서는 형편없이 보입니다.
다행히 이러한 EU 쿠키 고지(전부는 아니더라도 대부분)를 차단해 주는 브라우저 확장 프로그램이 여럿 존재합니다. 별도 설정 없이 바로 쓸 수 있는 최고의 솔루션은 'I Don't Care About Cookies'입니다. Firefox, Opera, Google Chrome에서 사용할 수 있으며, 약 9만 명의 사용자가 이 확장 프로그램으로 한결 상쾌한 브라우징 환경을 누리고 있습니다.

설치만 하면 그 성가신 알림들이 더 이상 당신을 괴롭히지 않을 것입니다. 정말 깔끔하죠.
문제 #2: HTML5 위치 및 알림 팝업
웹의 작동 방식에 가장 큰 변화를 가져온 것은 2000년대 말, HTML5 표준이 성숙 단계에 접어들면서였습니다. HTML5는 모든 웹 페이지의 구조를 담당하는 마크업 언어의 단순한 업데이트 그 이상이었습니다. 개발자들이 이전에는 상상하기 어려웠던 수준의 정교함과 상호작용성을 웹에서 기본적으로 구현할 수 있게 해주었죠.
이 중 일부는 정말 훌륭합니다. Canvas를 예로 들어볼까요? Canvas는 코드와 수학을 통해 도형을 그리고 조작할 수 있게 해주는 API(응용 프로그래밍 인터페이스)입니다. 지루하게 들리지만, 덕분에 개발자들은 Flash나 Silverlight 같은 외부 도구에 의존하지 않고도 모바일 기기에서 작동하며 연산력과 배터리를 적게 소모하는 게임을 만들 수 있게 되었습니다.
반면 다른 API들은 중요한 역할을 하면서도 사이트의 사용자 경험을 저하시킬 잠재력을 함께 지니고 있습니다.
Location API가 대표적인 예입니다. 이 도구를 사용하면 사이트가 사용자의 위치를 이전에는 불가능했던 수준의 정밀도로 파악할 수 있습니다. 사이트 운영자 입장에서는 사용자 데이터를 수집해 콘텐츠와 광고의 관련성을 높일 수 있어 반가운 기능이죠. 하지만 위치 정보를 얻으려면 먼저 사용자의 허가를 받아야 하고, 그 과정에서 팝업이 화면을 가득 채웁니다. 이는 열람 중인 콘텐츠에 대한 집중을 흐트러뜨리고, 모바일 기기에서는 특히 성가스럽게 느껴집니다.
Notifications API도 비슷한 역할을 합니다. 웹사이트가 데스크톱 알림을 생성할 수 있게 해주는 기능으로, Twitter 같은 소셜 미디어나 Slack 같은 메신저 앱에서 폭넓게 활용됩니다. 하지만 Location API와 마찬가지로 사이트 이용 경험을 방해할 수 있습니다. 더 심각한 것은, 팝업을 없애려고 습관적으로 '확인' 버튼을 누르는 유형이라면 원치 않는 알림의 홍수 속에 빠질 수 있다는 점입니다.

브라우저 설정을 몇 가지만 변경하면 이런 요청 창을 완전히 없앨 수 있습니다. Chrome에서 설정을 클릭한 후 고급 설정 표시를 선택하세요. 개인정보 항목에서 콘텐츠 설정을 클릭합니다. 그다음 위치 섹션에서 '어떤 사이트도 내 실제 위치를 추적할 수 없음'을 선택하고, 바로 아래 알림 섹션에서 '어떤 사이트도 알림을 표시할 수 없음'을 체크하면 됩니다.

이 설정을 마치면 위치 및 알림 팝업에 시달릴 일은 다시는 없을 겁니다.
문제 #3: 뉴스레터, 이메일, 앱 마케팅
뉴스레터 자체는 훌륭한 도구입니다. Hacker News나 Reddit 같은 사이트의 소식을 놓치지 않으면서도 몇 시간씩 시간을 낭비하지 않아도 되니까요. 제가 싫어하는 것은 이것이 사람들에게 억지로 강요되는 방식입니다.
글에 푹 빠져 읽고 있는데(프로그래밍, 개인 금융, 스타트업 블로그가 단골범입니다) 갑자기 거대한 오버레이가 나타나 메일링 리스트 가입을 요구하는 경험, 다들 한 번쯤 있으실 겁니다. 더 나쁜 것은 많은 사이트가 '닫기' 버튼을 수동공격적인 문구로 대체한다는 점입니다. '아니요, 더 나은 프로그래머가 되고 싶지 않아요', '돈을 더 모으고 싶지 않아요', CNBC의 경우 '괜찮아요, 오늘의 중요한 주식은 필요 없어요' 같은 식으로요.

어떤 곳은 Facebook이나 Twitter에서 '팔로우'하기를 요구하기도 합니다.

혹은 독서 중에 Facebook이나 Twitter에서 '좋아요'를 누르라거나, 자신들의 앱을 다운로드하라는 요구로 흐름이 끊기기도 합니다. Quora와 Yahoo가 이 분야의 대표적인 주범입니다.
그렇다면 어떻게 대처해야 할까요? 안타깝게도 EU 쿠키 경고 때처럼 만능 해결책은 없습니다. 이 문제들을 한 번에 해결해 줄 플러그인도 존재하지 않습니다.
유일하게 확실한 방법은 JavaScript를 비활성화하는 것입니다. Chrome에서 설정 → 고급 설정 표시를 클릭한 뒤, 콘텐츠 설정에서 JavaScript 항목을 찾아 '어떤 사이트도 JavaScript를 실행할 수 없음'을 체크하세요.

거의 즉시 방문하는 사이트들의 로딩 속도가 빨라지는 것을 체감할 수 있을 겁니다. 브라우저가 소모하는 리소스도 줄어들고, 컴퓨터 발열도 덜해집니다. 단순한 웹 서핑 하나가 얼마나 많은 부담을 주는지 새삼 실감하게 되죠.
물론 단점도 있습니다. 대부분의 웹사이트는 어떤 형태로든 JavaScript를 사용하기 때문에, 이를 비활성화하면 사이트가 평소처럼 작동하지 않습니다. 바로 이런 이유 때문에 James Bruce는 JavaScript 차단 플러그인 NoScript를 '악의 삼위일체(trifecta of evil)'의 일부라고 표현하기도 했습니다.
여기서 끝이 아닙니다
물론 이것이 전부는 아닙니다. 인터넷에는 우리 모두가 반기지 않는 요소들이 더 있습니다. 광고는 인터넷 생태계에 필수적인 존재지만, 제대로 관리되지 않는 광고 네트워크는 멀버타이징(malvertising)이라는 악을 낳았습니다. 사용자의 주의를 두고 벌어지는 치열한 경쟁은 클릭베이트를 양산했습니다. 하지만 최악의 상황에서조차, 이런 문제들이 인터넷이 제공하는 놀라운 가치를 완전히 가려버리지는 못합니다.
일상적인 브라우징에서 가장 짜증 나는 점은 무엇인가요? 나름의 해결책을 찾으셨나요? 아래 댓글로 의견을 들려주세요.