Code Metaphor

Programming, Writing, Reading, Thoughts…

이 블로그는 더이상 운영되고 있지 않습니다. 단지 예전 URL을 유지하는 용도로만 남아 있습니다. 새 블로그의 주소는 blog.dahlia.kr입니다.

Archive for May, 2008

더이상 창 최대화가 필요할까?

Friday, May 23rd, 2008

Mac OS에서는 드래그 앤 드롭을 굉장히 강요(?)하는 인터페이스라서, 창 최대화라는 개념도 없다. 이것저것 끌고다니려면 창 끄트머리 약간이라도 보여야 한다. Mac OS X Panther에서 추가되었던 Exposé도 그래서 생긴 기능이다. Mac 쓴지 5년째. 이제 어떤 OS를 쓰든 창을 최대화하지 않는다. 재미있는 것은, Windows든 뭐든, 창 최대화를 안 하는 쪽이 더 쓰기 편하다는 것이다(익숙함을 잠깐만 포기할 수 있다면, 아니, 정확히 말하자면 어색함을 잠깐만 참을 수 있다면). 창 최대화는 모니터 작았던 시절에나 좋았던 기능이다. 요즘 모니터는 매우 크다. 왜 브라우저 오른쪽의 흰 여백을 굳이 보려고 하나.

웹 디자인의 방향

Thursday, May 15th, 2008

르네상스 때까지만 해도 예술(art)이란 기술(skill)을 뜻했다. 즉, 장인 정신과 가까운 무언가를 타나냈다. 또, 뛰어난 예술가들은 뛰어난 공학자들이기도 했다. 레오나르도 다 빈치를 보라.

내 주변 사람들은 알겠지만, 나는 야간개발팀의 일원이다. 야간개발팀은 현재 VLAAH라는 서비스를 만들고 있는데, 퇴근 혹은 하교 후 저녁 늦게 만나서 작업을 하기 때문에 야간개발팀이라는 별명을 갖게 되었다. 멤버는 총 넷(나, shinvee, 소리미르, 이흥섭)이다.

이 글에서 소개할까 하는 사람은 바로 막내 이흥섭 군이다. 야간개발팀에는 엄밀히 말해 디자이너가 없다. 기획자도 없다. 누구나 프로그래밍을 하고, 누구나 디자인을 하며, 모두 기획을 한다. 하지만 아무래도 각자 주력하는 부분이 있긴 하다. shinvee 선배는 기획에 더 힘을 쏟고, 나의 경우 프로그래밍에 좀 더 신경을 쓴다. 이흥섭 군도 비슷하게 다른 멤버보다 디자인에 무척 고민한다.

흥섭이의 이력은 꽤나 특이하다. 중학교 때까지만 해도 흥섭이는 픽셀 아트(pixel art) 쪽에서 굉장히 날리던 사람이었다. 픽셀 아트가 뭐냐 하면, 점묘법(pointillism)을 떠올리면 쉽게 이해할 수 있는데, 말 그대로 픽셀 하나 하나를 손으로 찍어서 전체의 큰 그림을 만드는 방법이다. 도트 그래픽(dot graphic)이라는 말로도 불리는데, 그 특유의 질감 덕분에 주로 게임에서 많이 쓰인다. 실제로 흥섭이는 게임 회사로부터 같이 일해보지 않겠냐는 제의도 몇 번 받았다고 한다(중학교 때!).

그러다가 내가 다니던 선린인터넷고등학교로 입학하게 되면서 뭔가 틀어지게(?) 된다. (야간개발팀 멤버는 모두 선린 출신이다.) 내 덕분에 Python 프로그래밍을 시작하게 되고, 애는 어느 순간 프로그래머를 자처하기 시작했다. 세상에, Python을 수족처럼 다루고, Erlang, Haskell을 공부하는 디자이너는 거의 없을 것이다. 물론 웹 표준 마크업, CSS 등은 기본이다. VLAAH 마크업은 거의 흥섭이가 다 했다. 나중에 흥섭이가 아닌 다른 셋이 망쳐놓은(?) 부분도 좀 있긴 하지만, VLAAH 마크업은 굉장히 순수하다. 순수하다는 것이 무슨 의미냐면, 디자인하기 어렵다는 핑계로 <div id="wrap"> 따위의 쓸데 없는 마크업을 만들지 않는다는 뜻이다. id는 주소를 부여하기 위해서 존재하지, CSS하기 쉬우라고 존재하는 것이 아니라는 것이 야간개발팀의 마크업 철학이다. 예상할 수 있겠지만, 흥섭이는 JavaScript 괴물이기도 한데, MooTools를 써서 간단한 플래시 애니메이션 수준의 것들을 만들어낸다.

이런 특이한 이력의 디자이너에 대해서 얘기해봤는데, 그럼 이런 디자이너의 작업 방식은 뭔가 다른 부분이 있을까? 물론 있다. VLAAH 블로그에 올라온 Colorful VLAAH라는 글을 읽어보시라. (흥섭 군이 직접 포스팅했다.)

테마 하나에 필요한 색은 세 개입니다. 기본 색, 밝은 색, 어두운 색. 그리고 비트맵 이미지에도 알파 체널을 제외하면 빨강, 녹색, 파랑, 세 개의 체널이 있죠. 빨강, 녹색, 파랑만으로 이뤄진 칩셋 프로토타입을 만들고 각 체널에 원하는 색을 대응시켜 바꿔치기할 수 있을 것 같았습니다.

PHP로 프로그램을 작성하기 시작했습니다. 우선 간단히 두 색을 일정한 비율로 섞어주는 과정을 프로그래밍했습니다. 이제 섞을 비율만 알아내면 칩셋을 원하는 색으로 만들 수 있습니다. GD 라이브러리를 이용해 칩셋 프로토타입 이미지로부터 필요한 체널을 뽑아낼 수 있었고 간단한 계산으로 섞을 비율도 얻어낼 수 있었습니다. 그리고 자동화하는데 성공했죠.

이런 식으로 디자인 작업 자체를 직접 자동화시키려는 시도조차 하는 디자이너가 어디 있을까? 위 글에서는 나오지 않았지만, 흥섭이는 VLAAH의 CSS 코드 생성기도 만들어서 쓰고 있다. 그야말로 고통 없는 웹 개발(painless web development)이다. 어딘가에서는 포토샵 하나만 아는 그래픽 디자이너들이 웹 디자이너를 자처하며 그림을 그리고 있는데, 여기있는 흥섭이는 디자인해주는 도구를 직접 만들어서 디자인한다. 자, 이제 이 글의 제목이 이해가 되지 않는가? 웹 디자인의 방향. 나는 이것이야 말로 올바른 웹 디자인의 방향이라고 생각한다.

덧. 주변에 혹시 이런 디자이너의 사례가 있으면 알려주시라. 아, 흥섭아 미안해, 너 디자이너라고 하면 싫어하지?

IBM developerWorks 인터뷰

Wednesday, May 14th, 2008

IBM dW Interview에 나왔다. 으핫핫.

IBM developerWorks 인터뷰 “젊음을 가치와 성장에 투자하기”

워드의 메타프로그래밍

Friday, May 9th, 2008

꽤 오래된 글들이지만, 생각난 김에 인용. 둘 다 애자일 이야기에 올라온 김창준 님의 글이다.

복리의 비밀에서: (글 맨 아래쪽에 나옴)

워드 커닝햄은 자기의 수족을 마음대로 놀릴 수 없는 불편한 언어에서 프로그래밍을 하는 경우 점차적으로 자신을 도와주는 환경을 만들어 나간다. 중력을 점점 줄여나간다. 중력을 요만큼 줄였기 때문에 그 덕으로 몸이 더 가벼워지고, 또 그 때문에 중력을 줄이는 작업을 좀 더 쉽게 할 수 있다. 이런 식으로 되먹임을 해서 결국은 거의 무중력의 공간을 만들어 낸다. 결국 그는 어셈블리 언어에서도 우아한 춤을 출 수 있다.

켄트 벡이 대답하길 2탄에서:

워드나 켄트 모두 특정 언어에 종교적으로 집착하지는 않는 것 같습니다. 워드는 현재 프로젝트에서 PHP를 쓰고 있습니다. 그 역시 기뻐서 날뛸만큼 좋은 선택이라고 생각하지는 않지만 써야 하는 상황에서는 그 언어를 자기가 살기 좋은 환경으로 변형시키서 잘 씁니다. 그가 PHP로 코딩한 것을 저에게 보여줬는데 매우 놀랍습니다(여기에 대해서는 차후에).

Wii 구입

Monday, May 5th, 2008

국내에서 정발한 Wii를 구입했다. 아직 Wii Sports만 하고 있는데, 재미있다. Wiimote는 확실히 게임 콘솔 역사상 꽤 의미있는 이노베이션이 아닌가 싶다. Wiimote가 블루투스 프로토콜을 지원한대서, 내 오래된 PowerBook과 붙여서 iTunes 리모컨으로도 만들어 쓰고 있다. Mac에서의 Wiimote 연동은 DarwiinRemote를 참고. (Windows 및 .NET에서의 연동은 강규영 님의 포스팅을 참고.)

내 Wii 번호는 다음과 같으니 등록해주시라.

5688 8954 2232 0523

Powered by WordPress. Styled by Hong, MinHee. XML Feed, Comments XML Feed.