그래서, 스킨 표준화 문제
- Posted at 2008/12/08 14:19
- Filed under 컴퓨터
아래의 태터캠프 후기 글에서도 언급했지만 스킨 규격에 대한 내 생각을 한번 죽 정리해보고자 한다.
기존 스킨 규격의 특징
- 각종 치환자와 블록 태그들의 집합체.
- 드림위버나 나모 같은 위지윅 에디터에서 바로 편집할 수 있다. HTML을 가장 높은 자유도로 편집 가능.
TTSKIN 2.0 (draft)의 특징
- 치환자 및 블록 태그 최소화, HTML의 자유도를 거의 없앰.
- CSS Selector만 맞추면 디자인과 마크업을 분리할 수 있다. (웹표준 기반의 개발방법론에서 스킨 규격은 publisher의 역할이라고 볼 수 있다.)
- 각 서비스가 큼지막한 치환 영역을 ‘알아서’ 렌더링한다. 스킨이 같아도 각 서비스가 원하는 기능을 맘대로 집어넣을 수 있는 여지가 많다.
기존 스킨의 문제점
- 여러 서비스에서 같은 규격을 사용하다보니, 각자가 원하는 기능을 추가하기 위해선 치환자를 추가해야 하는데 어떤 형식으로 만들어야 하는지에 대한 정의가 없기 때문에 통일성이 없다. (고로 스킨을 다 따로 만들어야 한다)
- 치환자 및 블록 태그의 종류가 너무 많고, 어떤 것은 html 태그 덩어리를 생성하고 어떤 것은 단순한 문자열이나 숫자만 생성하고, 또 어떤 것은 특정 html 태그 안의 속성을 생성하기도 하는 등 사용법이 다 달라 이미 있는 스킨을 고치기는 비교적 쉬워도 새로 만들기는 어렵다.
TTSKIN 2.0의 문제점
- 디자이너가 편집 결과물을 직접 보면서 작업하기 힘들다.
- 순수한 웹표준 기반 개발방법론에 익숙하지 않은 사람들은 ‘이게 뭥미?’ 상태.
- HTML에 대한 지나친 제약?
개발자(스킨 규격을 해석하는 소프트웨어를 만드는 사람들)가 원하는 것
- 해석 속도가 빠르게 나오도록 구현할 수 있어야 한다.
- php 코드 등이 실행될 여지를 없애서 보안성을 높여야 한다.
- 여러 서비스에서 서로 다른 기능을 구현하더라도 하나의 스펙으로 추상화하여 다같이 통용될 수 있다면 멋질 것이다. (새로운 기능 추가에 대한 확장성이 뛰어나야 한다)
디자이너(스킨 규격을 이용해 스킨을 만드는 사람들)가 원하는 것
- 일단 무조건 만들기 쉬운 게 짱. 이해하기 쉬워야 한다.
- 만들면서 레퍼런스를 복잡하게 뒤질 필요가 없으면 좋겠다. (외울 것이 적어야 한다)
- 실제 스킨이 적용된 결과를 바로바로 보면서 작업할 수 있어야 한다.
- HTML과 CSS를 최대한 맘대로 건드릴 수 있으면 좋겠다.
사용자가 원하는 것
- 기존에 있는 스킨 가지고 내가 원하는 그 무엇(위젯이 될 수도 있고, 라이선스 표시 같은 것이 될 수도 있고)을 쉽게 넣을 수 있었으면 좋겠다.
- 비록 개발자나 디자이너 수준은 아니더라도 좀 쉽게 내맘대로 조작하면 좋겠다.
- 하나의 스킨 가지고 여러 곳에 복사해서 써먹을 수 있으면 좋겠다.
Trade-off가 일어나는 부분
- HTML에 대한 자유도 vs. 서비스 독립성
- 뛰어난 확장성을 가진 규격 vs. 디자이너들의 이해도
몇 가지 대안들
- Django Template처럼 간단한 프로그래밍이 가능한 템플릿 엔진을 도입한다.
- 기존에 있는 것을 쓰기엔 무거워 보이고, 직접 구현하기에도 만만하지 않음.
- 확장성도 뛰어나고 HTML 자유도도 높지만 역시 디자이너들의 이해도 문제가 걸림.
- 기존 스킨 규격에서 치환자들만 다시 정리한다.
- 어쩌면 여러 면에서 가장 현실적인 대안.
- 확장성을 어떻게 확보할 것인지가 관건.
- 그냥 다 포기하고 각 서비스 알아서 독자 규격 사용하도록 놔둔다.
- Project Tattertools의 의미 퇴색이 문제.
매우 괴상한 규격을 만들긴 했지만 나름대로 이런 고민들을 하고 있다. 좋은 의견 있으면 꼭 댓글이나 트랙백으로 달아주었으면 좋겠고, 차기 스킨 규격 제작에 꼭 반영할 수 있도록 노력하겠다.
사실 이런 걸 두고 정말 ‘공학적인 문제’ 또는 ‘정답 없는 문제’라고 말할 수 있겠지. ㅠ_ㅠ 이런 문제를 학교 수업에서는 거의(?) 다루지 않는데, 과연 교수님들한테 이런 상황을 설명하면 어떤 대답을 하실지 궁금하다. (‘그냥 너가 알아서 해’ 이런 거 빼고.)
- Tag
- TTSKIN, 규격, 스킨, 태터툴즈, 텍스트큐브, 표준화
- Response
- No trackback yet , 10 Comments
- RSS :
- http://daybreaker.info/blog/rss/response/1001
Trackback URL : http://daybreaker.info/blog/trackback/1001
Comments List
-
익살 2008/12/09 00:00 # M/D Reply Permalink
디자이너가 이해할 수 있다, 없다도 중요하겠지만, 이해도 하면서 쉽게 그리고 예쁘게 고칠 수 있어야 한다는게 문제겠네요. 정말 중요한 문제일 것 같습니다. 화이팅입니다 ^^;;;
.... 교수님들께 이런 정황을 설명드리면, 이런 정황을 끝까지 잘 들어주시고 이해하시는 교수님들이 몇분 안계실 것 같은데요 ㅋㅋ -
polarnara 2008/12/09 01:24 # M/D Reply Permalink
스킨 디자이너 입장에서는, (앞뒤 다 잘라먹고) 스킨 치환자가 하는 역할이 CSS selector로 바뀌었을 뿐이라는 생각도 들 수 있지 않을까요. 이전엔 스킨 치환자 레퍼런스를 뒤져야 했다면, 이젠 CSS selector 레퍼런스를 뒤져야 하니까요. 치환자가 html 블록을 만들기도 하고 문자열을 만들기도 하던 것이, 각 selector들이 블록 타입인가 인라인 타입인가만 알면 된다는 걸로 범위가 줄어들기는 합니다만..
아 그리고 이건 제가 잘 모르는 부분일수도 있는데, dl 태그는 definition list 태그 아닌가요? entryInfo에 dl 태그가 쓰이는 게 적합한건지 궁금합니다. -
melt-snow 2008/12/09 19:57 # M/D Reply Permalink
잠깐 든 생각인데요. 웹 디자이너 입장에서 만들고 고치기 쉽게 하려면, 결국 스킨 매니저의 제작자 버전 툴이 필요하겠다는 생각이 듭니다.
제가 스킨 매니저를 써보면서 이거 꽤 편리한데? 하고 느끼면서도, 동시에 일정 수준 이상의 요구는 받아들이기 어려운 인상을 받았습니다. 나중에 버전 업 하면서 스킨 구조에 따라 분리해서 특정 영역만 따로 편집도 가능해졌지만, 매번 로딩하는 시간도 문제고 인터페이스가 불편하더군요.
물론 간편하게 편집할 때는 쓸만했지만 길다란 스킨 파일 html 보면서 css 따로 보려니 여간 고역이 아니었습니다. 데스크탑 에디터에 있는 라인 북마크 기능 같은 것도 없으니 그만큼 불편함도 있었습니다.
그래서... 웹 디자이너가 만족할만한 편집을 가능하게 하려면 데스크탑용 스킨 퍼블리셔 툴을 만들 필요가 있지 않나 합니다. 비용이 다른 방향으로 더 늘어나기는 합니다만, 잘 만들어서 꾸준히 관리할 수 있다면 어렵게 웹에서 구현하는 것보다 나을지도... (옛날 같으면 이 부분에서 ActiveX가 등장했겠죠. 지금은 Air나 Silverlight가 대안이 되겠네요.)
데스크탑 툴로 구현하면 레퍼런스 같은 건 적절히 참조할 수 있게 intelli-sense 정도의 기능으로 부가하고, html의 편집할 부분에 따라 css 영역이 자동으로 뽑혀 표시되는 등의 편의성이 만족될 것 같습니다. 문제는 누가 만드느냐인데... ..결자해지라고 하시면 전 도망 =3
>과연 교수님들한테 이런 상황을 설명하면 어떤 대답을 하실지 궁금하다.
lifthrasiir님에게 물어보면 왠지 “휴리스틱하게”라는 대답이 나올 듯한 기분이 드네요. 아희~