티스토리 뷰

모질라 파이어폭스(Mozilla Firefox) 및 여러 인터넷용 프로그램을 보급하고 있는 모질라 재단(Mozilla Foundation)에서는 지난 11월 16일, 도쿄(東京) 쿠단시타(九段下)에서 모질라 개발자 회의(Mozilla Developer Conference)를 개최했다.

이날 행사에서는 ‘차세대 웹과 플랫폼(次世代 Web とプラットフォーム)’ 을 주제로, PC 외 플랫폼에서 쓰이는 웹 브라우저가 소개되었다. 이번 기사에서는 행사 첫번째로 진행된 기조 강연 중 첫 모바일 웹 브라우저인 '페넥(Fennec)'에 대한 내용을 소개한다.

이날 행사는 모질라 재팬(Mozilla Japan) 대표이사인 타키타 사토코(瀧田 佐登子)씨의 환영사로 시작되었다. 타키타씨는 “이번 개발자 회의를 통해 모질라 파이어폭스와 플랫폼의 관계에 대해 생각해 볼 수 있는 기회를 가졌으면 좋겠다” 고 밝혔다.

그녀는 모질라 파이어폭스가 일본의 인터넷 활용지인 네트런너(NetRunner)에서 우수 프로그램으로 상금 10만엔을 수상하였지만, 상금 대신 해당 잡지의 최신호를 받을 수 있도록 편집부와 협의했다는 일화도 밝혔다. 아울러 사진 공유 사이트인 플리커(Flickr.com)에 이날 있었던 행사의 사진을 올려주면 고맙겠다는 당부를 끝으로 연단에서 내려왔다.


▲ 모질라 재팬 대표이사 타키타 사토코

타키타 대표이사 다음으로는 모질라 코퍼레이션(Mozilla Corporation)에서 모바일 담당 부대표를 맡고 있는 제이 설리번(Jay Sullivan)이 연단에 올랐다. 제이 설리번씨는 모바일 플랫폼의 응용 소프트웨어를 개발하는 포켓디스(PocketThis)사의 공동 설립자로, 모바일 관련 미국 특허권을 3가지 가지고 있기도 하다. 제이 설리번은 모질라 파이어폭스의 모바일 버전인 페넥(Fennec)을 주제로 삼았다.


▲ 모질라 코퍼레이션 모바일 담당 수석부사장 제이 설리번

제이 설리번씨는 “모질라 파이어폭스가 출시되면서 사용자, 개발자, 데스크탑에 많은 영향을 미쳤지만 아직 모바일 플랫폼에서는 이렇다 할 성과를 거두지 못하고 있다” 는 말로 강연을 시작했다.

그의 말에 따르면, 현재 인터넷에 연결된 PC는 전 세계에서 8억 5천만대에 불과하지만, 휴대전화 가입자는 300억명이 넘는다고. 또한 주로 PC보다는 휴대전화로 인터넷을 사용하는 일본과, 휴대전화로 인터넷 뿐만 아니라 전자상거래, 대금 지불등이 가능한 케냐의 사례를 예로 들며, 삶에 필요한 정보를 보다 쉽게 얻을 수 있는 플랫폼이 모바일임을 역설했다.


▲ 휴대전화 가입자 수만 따져보면 전세계적으로 '30억명'이 넘는다.

이처럼 성장세가 가히 폭발적인 모바일 시장을 공략하기 위해 등장한 것이 바로 모질라 파이어폭스의 모바일 버전인 모바일 파이어폭스(Mobile Firefox, 코드명 페넥 Fennec)다.

참고로 코드명 페넥(Fennec)은 북아프리카의 사하라 사막에 서식하는 여우과 동물(사막여우)이며, 긴 귀를 가지고 있는 것이 특징이다. 생떽쥐베리의 소설인 ‘어린 왕자’ 에 등장하기도 했다. 파이어폭스와 더불어, 페넥 역시 ‘여우’ 와 관련된 이름이라는 것이 재미있다.


▲ 모바일 파이어폭스의 코드명이기도 한 ‘페넥’

이어서 제이 설리번씨는 페넥의 특징을 소개했다. 페넥은 화면 크기에 제약을 받는 모바일 기기의 특성에 맞게 전체 화면 브라우징을 지향하며, 사용하지 않는 버튼이나 툴바는 자동으로 감추는 기능을 가지고 있다.

또한 대부분의 모바일 기기들이 터치 스크린을 기본적으로 갖추고 있는 것을 감안해, 터치 스크린과 키보드를 모두 사용할 수 있는 사용자 인터페이스를 채택했다.

이 외에 PC판과 마찬가지로 기능 확장을 위한 각종 프로그램을 설치할 수 있음은 물론, 검색 기능을 기본적으로 탑재하고 있는 것이 특징이다. 파이어폭스의 가장 큰 특징인 탭 브라우징(Tabbed Browsing) 또한 탑재하고 있음은 물론이다.


▲ 파이어폭스와 닮은 듯 다른 꼴을 지닌 '페넥'

페넥의 개요에 대한 설명과 더불어 간단한 시연이 진행되었다. 현재 페넥은 리눅스 배포판인 데비안(Devian)을 바탕으로 만들어진 노키아(Nokia)사의 모바일 기기에서만 동작하고 있으며, 아래에서 소개하는 화면은 PC상의 데모이다. 모질라 재단에서는 현재 윈도우 모바일, 심비안(Symbian) 등 여러 기기에서 동작하는 페넥을 출시하기 위해 개발을 진행하고 있는 상태이다.

아래 보이는 화면은 페넥이 맨 처음 실행될 때 나타나는 초기화면이다. 여우가 앞발로 스마트폰을 쥐고 있는 일러스트가 인상적이다. 주소 표시줄과 메인 화면, 하단에 보이는 안내 메시지 이외에는 아무런 컨트롤들이 나타나지 않는다.


▲ 페넥의 초기 화면. '일러스트'가 인상적이다.

이 초기화면에서 화면 하단의 공간을 오른쪽에서 왼쪽으로 드래그하면 즐겨찾기, 앞/뒤, 설정 등 각종 버튼이 나타난다. 반대로 왼쪽에서 오른쪽으로 드래그하면 현재까지 열어놓은 각종 페이지가 작은 섬네일(Thumbnail)과 함께 탭으로 표시된다.

이 상태에서 열어 놓은 탭을 바로 닫을 수 있음은 물론, 새 탭을 열 수 있다. 하지만 페이지를 스크롤하면 이런 컨트롤들이 완전히 사라지고 순수한 웹 페이지만 남아 보다 넓은 화면에서 웹 서핑이 가능하도록 돕는다.


▲ 현재까지 탭으로 열어 놓은 페이지들을 확인할 수 있다.

모질라 파이어폭스는 타사의 웹 브라우저와 달리 보다 보안에 신경쓰고 있다는 점을 강조하고 있다. 일례로 파이어폭스 3에서는 주소 표시줄의 왼쪽에 표시되는 아이콘을 클릭하면 웹 사이트의 정보가 나타나, 피싱(Phishing) 등으로 인한 피해를 막을 수 있다. 이 기능은 페넥에도 마찬가지로 계승되어, 사이트의 암호화 여부와 인증서 존재 여부를 쉽게 확인할 수 있다.


▲ 현재 보고 있는 웹 사이트의 정보를 표시하는 기능을 지원한다.

사용자가 찾은 웹 페이지의 이력(History)을 관리했다 체계적으로 보여주는 기능 역시 페넥에 그대로 계승되었다. 지금까지 방문한 웹 사이트의 목록을 띄운 다음 바로 즐겨찾기에 추가할 수 있음은 물론, 사용자가 임의로 태그를 추가해서 즐겨찾기를 관리하는 것도 가능하다.

아래 사진은 이러한 기능들을 시연한 화면이며, 주소 표시줄에 ‘foot’ 만 입력하자 태그에 ‘football’ 이 추가된 여러 사이트들이 한 번에 나타났다. 인터페이스의 폭이 좁은 모바일 디바이스에서는 매우 유용한 기능들이다.


▲ '즐겨찾기'에 태그를 추가해 보다 효율적인 관리가 가능하다.

설정 화면은 상당히 간결하게 구성되어 있었고, 이 상태에서 각종 확장 프로그램이나 여러 테마를 추가하는 것도 가능하다. 다만 현재는 페넥이 정식으로 공개된 상태가 아니므로, 페넥을 지원하는 확장 프로그램이나 테마가 공개되지는 않은 상태이다. 이 부분은 차후 후속버전과 협력 기업 및 기관을 통해 강화될 여지로 남아있다.


▲ 간결하게 구성된 설정 화면.

페넥의 시연이 끝난 뒤, 제이 설리번씨는 향후 페넥의 발전 방향과 개발 목표에 대해서도 언급했다. 현재 모바일용 응용 프로그램을 개발하기 위해서는 상당한 고통이 따른다. 먼저 대상으로 삼고 있는 기기의 하드웨어 특성을 파악해야 한다.

그 다음 윈도우 모바일이나 아이폰(iPhone), 심비안(Symbian) 등 각 운영체제에서 응용 프로그램을 위해 제공하는 부분들에 대해 알고 있어야 한다. 최우선으로 기초적인 API(Application Programming Interface)는 이해해야 한다. 여기에 사용자 인터페이스를 구성하기 위한 그래픽 라이브러리도 알고 있어야 한다. 이런 배경지식을 이해하고 자기것으로 만드는 데만 두꺼운 레퍼런스가 몇 권씩 필요하다.

이러한 과정을 바탕으로 C++, 혹은 자바(Java) 등으로 프로그램을 개발하는 것도 녹록한 일이 아니다. 프로그램 개발에 항상 뒤따르는 것이 바로 버그(Bug)인데, 이러한 버그는 글자가 제대로 표시되지 않는 소소한 버그부터 시작해서, 모바일 기기를 순식간에 먹통으로 만드는 치명적인 버그까지 매우 다양하게 발생한다. 하지만 이런 버그를 잡아내는 과정도 만만치 않다.

넓디 넓은(?) 화면과 빠른 응답 속도를 제공하는 PC에서도 디버거를 띄워놓고 소스 코드를 한 줄 한 줄 따라가면서 어느 부분이 잘못되었는지 추적하는 일은 매우 고역스럽다. 그나마 좁디 좁은 디스플레이와 빈약한(?) 메모리를 갖춘 모바일 기기에서 이런 작업을 하는 것은 거의 불가능에 가깝다.

때문에 PC상에서 구동되는 에뮬레이터에 프로그램을 올린 다음 디버깅 작업을 수행해야 하는데, 이러한 에뮬레이터들은 ‘진짜’ 모바일 기기와는 달리 그 속도가 느리다. 뿐만 아니라 에뮬레이터에 숨겨진 버그가 있는 경우 프로그램에는 버그가 없음에도 불구하고 엉뚱한 동작을 보여서 개발자들을 곤혹스럽게 만들기도 한다.


▲ 현재의 모바일 프로그램 개발 환경. ‘산넘어 산’ 이다.

게다가 모바일 쪽은 여러 플랫폼이 난립하고 있는 덕분에, 생존을 위해서는 필연적으로 각 플랫폼에 맞는 버전을 따로 개발해야 한다. 하지만 여기에도 어려움이 따른다. 이미 다 만들어 놓은 사용자 인터페이스나 알고리즘을 그대로 사용한다 쳐도, 각 플랫폼에 적응하는 과정과 고통스러운 디버깅 과정은 피할 수 없기 때문이다.

뿐만 아니라 프로그램을 배포하고 업그레이드하는 일 또한 쉽지 않다. 특히나 애플처럼, 특정 웹 사이트에서만 프로그램을 배포하도록 요구하는 경우라면 개인이 프로그램을 개발해서 배포하는 것은 매우 어려운 일이다.

이런 여러 요소들 때문에, 현재의 모바일 프로그램 개발 환경은 시간은 시간대로 걸리고, 유지보수하는 데도 많은 비용이 필요하며, 그럼에 비해 프로그램의 질은 낮은 ‘고비용 저효율’ 구조라는 것이 제이 설리번씨의 설명이다.


▲ 여러 플랫폼에 처음부터 다시 적응해야 하는 고통이 따른다.

이처럼 복잡다난한 현재의 모바일 개발 환경의 대안으로 제이 설리번씨는, 웹을 기반으로 하는 개발 환경을 제안했다. HTML과 CSS, 그리고 SVG, 자바 스크립트(JavaScript)를 처리해주는 웹 런타임(Web Runtime) 위에서 웹 브라우저와 위젯(Widget), 웹 어플리케이션을 돌리자는 것이다.

HTML과 CSS, 자바 스크립트는 C++나 자바 등 전문적인 프로그래밍 언어에 비해, 비교적 배우기 쉽다. 특히 HTML과 CSS에 대한 전문적인 지식 없어도, 각종 웹 에디터를 이용하면 사용자 인터페이스의 기본적인 틀을 만들 수 있다. 또, 표준을 정확히 지켜 만들어진 HTML과 자바 스크립트는 윈도우즈나 맥OS, 리눅스 등 어떤 플랫폼에서나 볼 수 있다는 것이 강점이다.

즉, 페넥을 통해서 웹 문서는 물론, 모바일용 프로그램까지 돌아가는 환경을 만들겠다는 것이 모질라 재단의 목표인 셈이다.


▲ 브라우저 이상의 존재가 되겠다는 '페넥'

하지만 이런 구상에는 두 가지 문제가 따른다. 한번 컴파일 과정을 거치면 해당 플랫폼에서 빠른 속도로 동작하는 네이티브(Native) 프로그램과는 달리, 자바 스크립트는 실행될 때마다 코드를 한 줄씩 읽어들여서 해석하는 과정이 필요하므로 속도가 저하될 우려가 있다. 뿐만 아니라 해당 모바일 기기에서 지원하는 카메라, GPS 등의 장치에 어떻게 접근해야 하는지가 문제로 남는다.

이에 대해 제이 설리번씨는 “자바스크립트의 처리 속도는 페넥의 개발 과정에 따라 빨라지고 있으며, 자바스크립트의 빠른 해석을 돕는 TraceMonkey 엔진을 적용하면 더 높은 속도로 자바스크립트를 처리할 수 있다” 며 속도 저하에 대한 우려를 일축했다. 또한 웹 애플리케이션에서 모바일 기기에 탑재된 각종 장치에 접근할 수 있는 API를 제공할 계획이 있음도 밝혔다.


▲ '페넥'의 자바스크립트 처리 속도 변화 추이.

웹 브라우저의 플랫폼화, 문제는 여전히 남아

페넥(Fennec)은 단순히 웹 브라우저가 아니라, HTML과 자바 스크립트 기반으로 만들어진 응용 프로그램을 실행하는 하나의 플랫폼이 되겠다는 목표를 가지고 있다. 이런 시도는 분명히 의미가 있지만, 반면에 몇 가지 짚고 넘어가야 할 점도 동시에 지닌다.

먼저 속도 문제이다. 기존의 모바일용 프로그램이 운영체제와 직접 데이터를 주고 받는 것과 달리, 페넥을 통해 실행되는 프로그램은 반드시 페넥을 거쳐야 한다. 자바 프로그램이 자바 가상 머신(JVM; Java Virtual Machine)을 통해 실행되는 것이나 마찬가지다.

때문에 필연적으로 속도 저하가 발생한다. 뿐만 아니라 페넥을 통해 실행되는 여러 프로그램 중 하나만 이상 동작을 보여도 다른 프로그램까지 모두 멎는 사태가 발생할 가능성도 있다.

페넥을 단순한 웹 브라우저가 아닌, 응용 프로그램을 위한 웹 런타임(Web Runtime)으로 키워 나가겠다는 모질라 진영. 이런 모질라 진영의 전략이 과연 어떤 형태로 결실을 맺을 것인지는 좀 더 먼 시각을 가지고 지켜 보아야 할 문제가 될 듯 하다.


▲ 노키아 N800 기종에서 동작하는 '페넥'


출처 : http://www.acrofan.com/ko-kr/commerce/content/content/?mode=view&cate=0101&wd=20081119&ucode=0001010101


Fenec이 웹 런타임으로서 제 역할을 해내기 위해서는 퍼포먼스 개선이 가장 필요해 보인다.


웹 런타임이라는 개념은 아직까지는 다소간의 모호성을 내포하고 있다고 생각한다. 그 누구도 아주 명쾌하게 웹 플랫폼이나 웹 런타임에 대해서 답을 내리지는 못하는 것 같단 느낌이 자주 들곤 한다.


다만 점점 그렇게 되어가고 있다는 것 만큼은 확실한 것 같다. 다만 웹 런타임이 단지 웹 패키지에 그치지 않기 위해서는 좀 더 많은 생각과 논의가 있어야 하지 않을까 ?

저작자 표시
신고
댓글
댓글쓰기 폼