메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

IT/모바일

WML과 WML스크립트 팁 & 트릭

한빛미디어

|

2001-06-15

|

by HANBIT

8,974

By 마틴 프로스트(Martin Frost), WML과 WML스크립트 시작하기의 저자 무선 애플리케이션 프로토콜(WAP, Wireless Application Protocol)은 휴대 전화와 다른 무선 기기에서 작동하는 애플리케이션을 생성하는 표준이다. WML과 WML스크립트는 이런 애플리케이션을 작성하는 두 언어이다. 지금부터는 WAP 컨텐츠를 작성하는 데 유용한 팁을 소개할 것이다. 일반적인 부분도 있고, 아주 세부적이고 기술적인 것도 있지만 이 모든 팁은 유용하므로 익혀 두면 많은 도움이 될 것이다.
  1. 다른 여러 브라우저에서 자신이 작성한 컨텐츠를 비교한다. 지금까지 나온 WAP 브라우저 대부분은 버그가 많고 단말기에 따라 서로 호환이 되지 않는 경우도 있다. 단말기에 따라 작업해야 하는데 특정 브라우저에서는 컨텐츠가 제대로 나타나지 않을 때 문제는 더욱 커진다(이런 문제는 시간이 지나면 해결될 것이다. 지금은 사용할 수 있는 공식 테스트 스위트가 있으며, 인증 프로그램도 있기 때문이다. 하지만 폭 넓게 채택되기 전에는 비호환성이 심각한 문제가 될 것이다). WAP 브라우저간에 호환이 안 되므로 당분간은 가능한 많은 기기에서 WAP 애플리케이션을 시험해 봐야 한다. 하나의 브라우저에서 잘 작동했다고 해서 다른 브라우저에서도 잘 작동된다고 생각하면 안된다. 그러므로 여러 제조사에서 만든 다양한 기기에서 시험해 봐야 한다.
  2. 다양한 화면에서 확인한다. 하나의 기기에서 애플리케이션을 시험해 보고는 다른 기기의 화면에서도 모두 같이 표시될 것이라고 생각하지 말자. 큰 화면의 장비나 각 페이지에 4 단어의 텍스트가 표시되는 새로운 PDA를 기준으로 하면 안된다. WAP 사이트에 긴 에세이를 올려 놓으면 휴대 전화를 이용하는 사용자는 이 사이트에 접속하지 않을 것이다. 컨텐츠가 큰 화면에서 더 잘 보인다면 사이트를 두 가지 버전으로 만드는 게 낫다. 한 사이트는 휴대 전화 사용자를 위해 용량이 작은 파일을 많이 등록하고, 다른 사이트는 PDA 사용자를 위해 용량이 큰 파일 몇 개를 등록하는 것이다. 뉴스나 스포츠 소식과 같은 컨텐츠가 이에 해당된다. 화면의 폭에 맞추어 글을 자르지 말자. 일부 사이트에서는 특정 휴대 전화에 맞추어 행의 끝을 잘라서 다음 행으로 내린다. 이렇게 하면 PDA 브라우저는 물론이거니와, 다른 휴대 전화에서도 전혀 읽을 수 없게 된다. † WAP 브라우저간에 호환이 안 되므로, 당분간은 가능한 많은 기기에서 WAP 애플리케이션을 시험해 봐야 한다.
  3. 타임아웃을 위한 값이 너무 작거나, 너무 크지 않도록 한다. 여러 WAP 사이트에서는 WML 타이머를 사용하여, 메인 페이지가 로드되기 전에 로고나 스플래시 화면을 보여 준다. 타이머가 예상한 대로 작동하지 않으면, 메인 페이지에 바로 들어 갈 수 있는 다른 방법이 없는 경우가 많다. 이럴 때 사용자는 그저 기다릴 수 밖에 없다(물론 대다수 사용자는 이를 불쾌해 한다). 타이머가 예상한 대로 작동하지 않는 일반적인 이유는 타이머가 참조하는 name 속성의 변수가 적절하게 초기화되지 않았기 때문이다. 특정 페이지를 처음 방문했을 경우나 다시 같은 페이지를 불러왔을 경우에 타이머는 기본값으로 0을 사용하여 타이머를 disable 상태로 만든다. 사용자를 기다리지 않게 하기 위한 방편으로 항상 요소를 제공하여 타이머에 따라 같은 작동을 하도록 한다. 이것은 타임 아웃이 길어질 경우 사용자가 빨리 다른 페이지로 넘어갈 수 있도록 해준다.
  4. 엔티티(entity) 사용을 기억하자. 숙련된 WAP 개발자들도 자주 하는 실수가 바로 "&"나 "<"와 같은 문자를 사용할 때, 문자 참조를 하지 않는다는 것이다. 일례로 WML 페이지에 바로 팁 & 트릭이라고 입력하면 유효하지 않은 문서가 된다. "&"는 엔티티의 시작을 의미하기 때문이다. 그러므로 팁 & 트릭이라고 해야 된다. 이 때문에라도 컨텐츠를 되도록 많은 시스템에서 검사해 봐야 된다. 일부 브라우저와 게이트웨이에서는 이런 에러를 용인해서 하나의 시스템에서만 검사할 경우 에러를 알아 차리지 못할 수도 있다. 덧붙여 모든 문자 엔티티는 앰퍼샌드(&)로 시작해서 세미콜론(;)으로 끝난다는 것도 알아 두자. 세미콜론을 빠뜨리면, 일부 기기에서는 작동할 수도 있지만 자칫, 다른 기기에서는 이유도 모른 채 페이지가 나타나지 않을 수도 있다.
  5. 이미지를 많이 사용하지 않는다. WAP은 웹이 아니다. 화면은 작고 다운로드하는 데 걸리는 시간은 길다. 텍스트로는 부족하다고 느낄 때만 이미지를 사용하자. 휴대 전화에서는 한번에 하나의 이미지가 적당하므로, 많은 웹 페이지에서 볼 수 있는 복잡한 이미지를 WAP 사이트에 삽입하는 것은 불가능하다. 그리고 불릿 포인트(bullet points)(역자주: 순서에 관계 없이 프로퍼티를 나열할 때 각 프로퍼티 앞에 찍는 동그란 점을 의미한다)나 다른 장식적인 목적으로 이미지를 사용하지도 말아야 한다. 기기에 페이지가 뜨는 속도를 지연시키는 것은 물론 일부 브라우저에서는 이미지가 깨질 수도 있다(7번째 팁을 참조하자).
  6. 파일 용량을 작게 한다. 무선 기기의 대역폭은 아주 낮으므로 개개 파일의 용량을 줄여서 한 페이지가 뜨는 데 걸리는 시간을 줄여야 한다. 용량이 큰 페이지 한 개보다는 작은 용량으로 페이지를 여러 개 만드는 것이 낫다. 그래서 "다음 페이지"와 "이전 페이지" 같은 링크를 만들어 주면 된다. 정확히 어느 정도의 파일 용량이 적당한지에 대해서는 말하기 어렵지만, 구형 휴대 전화는 WAP 게이트웨이로 처리된 후의 용량이 1,400 바이트가 넘는 파일은 로드하지 못한다. 물론 최신 WAP 브라우저는 대용량 파일을 로드할 수 있게 될 것이며 구형 기기는 점차 사라지게 될 것이다. WAP 게이트웨이에서 파일을 압축하긴 하지만 구형 기기를 감안해서 텍스트 파일 용량은 2,000 바이트 정도로 하는 것이 좋다. 그러면 WAP 게이트웨이에서 1,400 바이트 정도로 압축된다. † WAP은 웹이 아니다. 화면은 작고 다운로드하는 데 걸리는 시간은 길다. 텍스트로는 부족하다고 느낄 때만 이미지를 사용하자.
  7. 이미지 정렬은 믿을 것이 못 된다. 대다수 WAP 브라우저는 이미지를 지원하지 않는다. 설사 브라우저가 이미지를 표시한다고 해도 일부만을 표시한다. 그러므로 일부 기기에서는 불릿 포인트나 필요 없는 텍스트 문자를 삽입하기 위해 이미지를 사용해선 안 된다. 예를 들어, <img src="tm.wbmp" align="top"/>와 같은 WML을 사용하는 등록상표에 "TM"이라는 로고를 넣으려고 한다고 생각해 보자. 이는 WML 규약에 따르면 아무 문제 없지만 일부 기기에서는 이미지를 나란히 한 줄에 늘어놓는 등 이상하게 표시될 수도 있다.
  8. WML스크립트로 사용자 입력을 확인한다. 사용자가 입력하는 값을 확인할 때 WML스크립트를 사용하면 사용자가 자신의 사이트를 더 잘 알게 된다. 무선 접속 속도가 느리고 서버에 왔다 갔다 하다 보면 사용자는 지치게 된다. 특히 사용자가 "패스코드에 5글자를 입력하셨습니다. 6글자를 입력하십시오."와 같은 응답을 받게 되면 더욱 화나게 된다. 이런 것을 확인할 때, 그리고 에러 메시지를 바로 기기에 표시할 때 WML스크립트를 사용하면 된다. WML스크립트를 사용하면 쓸데 없이 네트워크에 왔다 갔다 할 필요도 없고, 사용자가 사이트에 빨리 익숙해 질 수 있다.
  9. 너무 최신 기능은 넣지 말자. 브라우저의 종류는 아주 많다. 가장 좋은 브라우저도 아직 완벽하지 않으며, 어떤 브라우저는 그 기능이 정말 불안하다. 타이머와 이미지를 생생하게 표시하는 페이지를 복잡하게 배열하면 기술적으로는 재미 있는 경험이 될 것이다. 하지만 사용자 휴대 전화의 인터페이스가 고정돼 있어서 사용자가 이를 제대로 볼 수 없다면, 사용자를 오히려 짜증만 날 것이다.

마틴 프로스트(Martin Frost)는 런던의
디지털 모빌리티(Digital Mobility Ltd.)에서 WAP 기술 책임자로 있다. 1998년부터 WAP을 다뤄서 완벽한 WAP 브라우저를 만들었고, WAP 게이트웨이 디자인 작업도 했다. 임페리얼 대학(Imperial College)에서 수학과 컴퓨팅 학위를 받았다.
TAG :
댓글 입력
자료실

최근 본 상품0