2010년 8월 23일 월요일

웹페이지에 채팅창을 달아보자.

아주 오래 전, 제 개인 홈페이지 만들면서(라고 쓰고, '덕지덕지 붙이면서' 라고 읽습니다.) 방문자들 사이에 간단하게 즉석으로 대화를 주고 받을 수 있는 채팅창이 있으면 참 편리하겠단 생각을 많이 했습니다. 물론 제 홈페이지는 아주 가끔 검색 엔진과 유령만 왔다가는 곳이기 때문에 전혀 쓰일 일이 없겠지만, 그냥 달아 두면 왠지 모르게 뿌듯할 것 같은... ㅡㅡ;

아무튼 그런 생각을 저만 한 것은 아니었나봅니다. Java Applet으로 만든 간단한 채팅창을 달아두는 곳도 있었고, ActiveX나 Java Applet으로 만든 IRC 클라이언트를 제공하는 곳도 있었지요. 그렇지만, 방문하는 사람의 브라우저 환경이나 Java 환경에 따라 동작이 제대로 안 되는 경우도 많았고, 사용하기가 까다로운 경우도 많았습니다. 그래서, 채팅까지는 아니더라도 한 줄 댓글 같은 것을 제공하는 방법으로 아쉬우나마 채팅 비슷한 느낌의 흉내를 내기도 했었죠.

그러면, 지금은 어떨까요?

당연히 옛날보다 더 많이 편리해지고 더 많이 깔끔해졌습니다. 뭐, 방법이야 여러 가지가 있겠지만, 제가 좋아하는 방법 두 가지만 소개를 해보겠습니다.


1. 웹 기반(Web-based) IRC 클라이언트

IRC(Wikipedia 설명: 영문, 한글)를 좋아하는 분이라면 적극 권장하는 방법입니다. 이미 첨단(?) 모바일 시대를 달리고 있는 지금, IRC 서비스는 어쩌면 구식(old-fashioned)일지도 모릅니다. 아마 나이가 제법 있는 아저씨들(혹은 아줌마들) 말고는 IRC를 아예 모르는 사람도 많을 듯 하지만, 그래도 구관이 명관이라 오랜 세월 갈고 닦이면서도 사리지지 않고 그 맥을 이어온 IRC는 그 나름의 이유와 많은 장점, 매력이 있습니다.

IRC는 웹과는 다른 프로토콜을 사용하는 서비스이기 때문에 보통 mIRCxchat(공식 홈페이지, Windows 용 무료 버전 빌드), 또는 Emacs 위에 구현된 ERC 같은 전용 클라이언트를 사용하여 IRC 서버에 직접 접속합니다. 그러나, IRC에 익숙하지 않은 사람들을 위해, 또는 전용 클라이언트 프로그램의 설치 및 설정 등의 절차 없이 어디서나 간편하게 접속할 수 있도록 하기 위해, 웹 상에서 IRC에 접속할 수 있도록 하는 많은 노력이 있었습니다. (물론 지금도 계속 되고 있습니다.)

초창기에는 ActiveX나 Java Applet 방식이 주를 이루었습니다. 당연히 이 글의 처음에 언급한 것과 마찬가지로 사용자의 PC 환경(OS, 브라우저, Java VM 등)에 따라서 문제가 다소 발생했습니다. 그 이후, 이런 문제점들을 극복한 순수한 웹 기반 IRC 클라이언트도 만들어지기 시작합니다. 이런 클라이언트들은 AJAX와 같은 기술을 사용하기 때문에 ActiveX나 Java VM 같은 것들이 더 이상 필요하지 않게 되었습니다. 웹 브라우저 하나만 있으면 되는 것이죠. (아주 오래된 Internet Explorer 6 같은 브라우저는 조금 곤란을 겪을 수도 있습니다.)

웹 기반 IRC 클라이언트는 예전의 ActiveX 또는 Java Applet 방식과 또 한 가지 큰 차이가 있는데, 그것은 클라이언트가 직접 IRC 서버로 접속하지 않는다는 것입니다. ActiveX나 Java Applet으로 만들어진 클라이언트는 거의 대부분이 클라이언트에서 직접 IRC 서버로 접속하는 방식을 사용합니다. 결국 웹 브라우저 상에서 실행된다 뿐이지 다른 일반 전용 IRC 클라이언트와 동작하는 방식은 다르지 않다는 것입니다. 그러나, 웹 기반 클라이언트는 웹 서버를 거쳐서 IRC 서버에 접속하게 되므로 IRC 포트가 차단된 네트워크 내에서도 문제 없이 IRC 서버에 접속할 수 있게 됩니다. (물론, 웹 기반 IRC 클라이언트를 제공하는 웹 서버 자체를 차단한 경우는 어쩔 수 없겠지요. 그리고, 국내 IRC 서버 중에는 포트 차단을 우회할 수 있도록 8080 포트를 제공하기도 합니다.)

웹 기반 IRC 클라이언트는 여러 가지가 있지만, 대표적인 두 가지만 들어보면,

1) mibbit.com
아마 가장 규모가 큰 웹 기반 IRC 접속 서비스일 것으로 생각합니다. 사이트에서 직접 특정 IRC 서버에 접속할 수도 있고, 가입하면 홈페이지에 끼워 넣는 위젯도 만들 수 있는데, 위젯은 iframe 또는 팝업 링크 형식으로 제공됩니다. 한 가지 아쉬운 점은 접속할 서버의 encoding을 지정하는 란에 안타깝게도 EUC-KR을 포함하고 있지 않다는 것입니다. 물론, UTF-8 인코딩을 지원하기 때문에 웬만한 서버에서는 문제 없이 잘 동작하겠지만, 국내 IRC 서버 중에서는 오징어 네트워크만 UTF-8을 지원하는 것으로 알고 있습니다.
[mibbit 초기 접속 화면. 오른쪽에 위젯 만들기 링크를 클릭]
[접속할 서버와 채널을 입력합니다. 화면 오른쪽 아래에 위젯 코드가 보이네요.]
[위젯의 여러 가지 속성을 변경할 수 있습니다.]
[위젯을 사용하여 IRC 서버에 접속한 모습]

2) webchat.freenode.net
유명한 IRC 서비스인 Freenode에서 제공하는 웹 기반 IRC 클라이언트입니다.(원래는 mibbit.com을 이용하여 Freenode에 접속하곤 했는데, Freenode 자체 웹 기반 IRC 클라이언트를 제공하게 되면서 mibbit.com을 통한 접속은 차단된 상태입니다.) 아래 그림에서 보는 것처럼 'Add webchat to your site'를 선택해서 몇 가지 설정을 순서대로 선택하고 나면 웹 기반 IRC 클라이언트 위젯에 대한 링크와 iframe 태그 소스를 알려줍니다. 이것을 웹 페이지 적절한 곳에 넣어주면 끝이죠. 위젯 코드를 얻기 위해 가입을 하는 절차 따윈 없습니다.
['Add webchat to your site'를 선택해서 홈페이지 추가용 코드를 얻자.]
[웹 IRC 클라이언트로 Freenode에 접속한 모습]

어떤 것을 사용하든지 결국은 IRC 서비스를 사용하는 것이므로 개설되는 채널(channel, 채팅방)이나 자신의 닉(nick, 채팅 시 사용하는 자신의 별명)을 미리 등록해서 다른 사람에 의해 악용되는 것을 막는 작업은 항상 필요합니다. 이런 방법들에 대한 것은 이 글의 범위를 벗어나기 때문에 굳이 따로 쓰지 않겠습니다. 대신, Freenode 홈페이지와 인터넷 검색에서 찾은 내용을 링크합니다.
그리고, 위 두 서비스에는 재미있는 차이가 있는데, Freenode 쪽이 사람인지 확인하는 장치가 있는 반면, mibbit.com 쪽은 그런 것이 전혀 없다는 점입니다. 왜 그럴까요? 아마도 광고 때문이 아닐까 생각합니다. mibbit.com은 IRC 서버 접속 화면 상단에 광고를 보여줍니다. 광고는 많이 노출될수록 좋은 것일 테니까요. 아니면 말구요. ㅡㅡ^


2. 가가라이브(GagaLive) Chat

가가라이브는 사실 랜덤 채팅으로 더 유명할 겁니다. 저는 좀 소심해서 잘 모르는 사람과 갑자기 채팅하는 걸 그다지 좋아하지 않지만, 사람들 사이에선 상당한 인기를 누린다고 하더군요. 물론, 과거 대다수의 인터넷 채팅 서비스들이 그러했던 것처럼 매우 부정적인 방향으로도 유용(?)하게 사용되고 있다는 안타까운 소식도 함께 들려옵니다. 뭐, 어쨌거나 중요한 것은 그게 아니고, 이런 가가라이브에서 랜덤 채팅 외에도 특정 이름의 방을 개설하고 그것을 원하는 곳 어디에나 끼워 넣을(embed) 수 있도록 Flash 위젯 서비스도 제공하고 있다는 것입니다.
[홈페이지에 가가라이브 채팅 위젯 추가한 화면]
설치 방법이 매우 간단해서 EMBED 태그 소스에 방 이름 하나만 지정해주면 바로 사용할 수 있을 정도입니다. 방장 권한 같은 걸 얻어서 관리 기능까지 사용하고 싶으면 가가라이브에 가입하고 방을 등록하면 됩니다. 자세한 설명은 공식 홈페이지에 잘 정리되어 있으니 굳이 여기에 따로 쓰진 않겠습니다.

LINK: 홈페이지에 가가라이브 채팅창 달기


3. 어떤 서비스가 더 나은가?

가가라이브 채팅 서비스는 Flash로 만들어진 클라이언트를 사용하기 때문에 대부분의 PC 환경에서 잘 동작합니다. 그리고, 설치와 설정이 비교적 간편하고 인터페이스도 여느 채팅과 다르지 않기 때문에 누구나 쉽게 사용할 수 있다는 큰 장점이 있습니다. 웹 기반 IRC가 비록 많이 발전하고 편리해지기는 했지만, 역시 간단하게 쓰기엔 가가라이브 채팅 쪽이 더 나은 듯 하네요.

그러나, 이미 기존에 IRC 서비스를 사용해왔고 고정된 채널을 가지고 있다면 웹 기반 IRC 서비스가 당연히 더 나은 선택이 될 수 있습니다. 또한, 채팅을 위해 특화된 많은 고급 기능들을 함께 활용하고 싶을 때는 역시 가가라이브 채팅 서비스보다 IRC가 더 나을 겁니다.

정리하면, 방문자가 많고 그들 사이에 즉흥적인 대화가 자주 오고 간다면 잡담 게시판 외에 가가라이브 채팅 위젯을 하나 달아두는 게 매우 효과가 클 겁니다. 반면, 고정된 주제를 가지고 많은 사람들이 의견을 교환하면서 이야기의 흐름을 중재할 필요가 있다면, 즉 잡담 게시판의 대안이 아니라 채팅 그 자체가 매우 중요한 위치를 차지하는 형태라면 웹 기반 IRC 클라이언트가 더 나을 거라고 봅니다.

자, 지금 당장 채팅창 하나 달아보세요~

0 comment(s):

댓글 쓰기