IE8, 지원 해야 할까?
웹 애플리케이션을 개발할 때 IE8과 같은 오래된 브라우저를 지원하지 않기로 하면 개발이 편해진다. 최신 브라우저에서 제공하는 기능을 최대한 활용할 수 있고, 오래된 브라우저에서 지원하지 않는 기능을 억지로 구현하기 위해 애쓰지 않아도 된다. 코드도 간단해진다. 그러나 세상 일이란 게 항상 그렇듯 웹 개발도 내 생각대로만 돌아가지는 않는다.
발단
새로 개발하고 있는 웹 에디터에서 IE8을 지원할 수 있을지 검토해달라는 요청이 들어왔다. 웹 에디터를 새로 개발하면서 마음속으로 IE8은 지원하지 않겠다고 생각했고, 사장님께 'IE8은 지원하지 않겠다'고 얘기했을때 사장님은 오히려 'IE9도 버리고 IE10부터 지원하자'고 했었기에, 오랫동안 IE8에 대한 생각은 하지 않았다. 그런데 사업부에서는 IE8을 지원하지 않을 경우 사업에 어려움이 생길 것이라 판단한 듯 하다.
전개
과연 2014년에 새로 개발을 진행중이며 2014년 말에나 완성될 제품에 IE8을 지원하는 것이 바람직한 일일까? 제품을 가지고 어떻게 사업을 꾸려나갈지에 생각하는 방향에 따라 의견이 갈릴듯 하다. 이 문제를 논의하기 전에 기본 사실부터 정리하는 게 좋겠다.
- 윈도우XP에서는 IE8까지만 실행할 수 있다.
- 2014년 4월 8일 이후 마이크로소프트에서 윈도우XP에 대한 지원을 중단했다.
- IE9부터는 자동 업데이트가 실행된다.
- 2014년 현재 전 세계 IE8 점유율은 6% 정도며 계속 줄어들고 있다.[1]
- 2014년 현재 국내 IE8 점유율은 28% 정도며 줄어들고 있기는 하지만 가장 높은 점유율을 보이고 있다.[1]
IE8에 대한 입장이 어떻든 인정할 수밖에 없는 명백한 사실이다. 마지막 항목은 개발자에게는 뼈아픈, 인정하기 싫은 사실일 것이다. 어쨌든 윈도우XP/IE8 사용자는 계속 줄어들 것이란 점을 위안으로 삼을 수 있을 뿐이다.
위기
개발자의 한 사람으로서 IE8을 무시하자고 강력하게 주장하고 싶지만 30%에 육박하는 국내 점유율을 고려한다면 무작정 큰 소리만 낼 수는 없다. IE8을 무시해도 되는 근거를 제시해야겠지만 점유율이 높은 현실 앞에서 객관적 근거를 찾기는 쉽지 않다. 그렇다면 어쩔수 없이 IE8 지원 작업을 시작해야 하는 것일까?
사업부에서는 "모든 기능이 지원되지는 않아도 된다. 기본적인 사용이 가능할 정도로만 동작하면 된다."고 말한다. 완벽하게 지원하는 게 아니니 그 정도는 조금 노력하면 해 줄 수 있는 게 아니냐 생각할는지 모르겠다.
일단 다음과 같은 기술적 이유로 IE8을 지원하는 것은 여의치 않아 보인다.
- IE8에는
range
가 없다. 에디터 개발에서range
는 핵심 객체로 이것 없이는 에디터 개발이 불가능하다. IE8에서는TextRange
란 비표준 객체가 제공된다. 에디터의 핵심 기능을 두 벌 만들어야 하는 부담이 생긴다. - IE8에는
CompositionEvent
가 없다.CompositionEvent
는 DOM Level 3에 있는 이벤트로 한글, 일본어, 중국어 등 키 입력 여러 개를 조합해 글자를 만드는 언어를 지원하는 데 꼭 필요하다. 우리가contenteditable
을 이용해 개발한다면 상관 없겠지만contenteditable
을 사용하기 않고 있은 현재 상황에서CompositionEvent
없이 에디터 입력부분을 개발한다는 것은 생각할 수도 없다.
당장 에디터의 가장 기본이 되는 기능인 입력과 편집에서 문제가 생긴다. 결국 시간과 노력을 들여 위 문제를 회피할 방법이 있을지 확인해봐야 한다. 그 시간 만큼 프로젝트는 지연될 것이다. 그동안 경쟁사는 더 멀리 달아날 것이다.
IE8을 지원하는 것은 목록에 지원 브라우저 하나를 추가하고 IE8을 위한 약간의 작업을 하는 정도로 끝나는 일이 아니다. 핵심 기능에 대해 IE8용 코드와 나머지 브라우저용 코드를 따로 작성해야 하며 이를 잘 추상화하기 위한 별도 설계 노력을 들여야 한다. 어쩌면 작업량이 두 배 가까이 늘어날지도 모를 일이다.
절정
어차피 이런 문제에 정답은 없다. 결국 정책 문제고 비전 문제고 가치관 문제다. 여전히 높은 점유율을 보이고 고객의 요구도 있다면 무시하기가 쉽지 않을 것이다. 개발자가 제품의 혁신을 말하지만 그게 뭔지 구체적으로 제시하지 못한다면 미덥지 않을 것이다. 이런 갈림길에서 어떤 선택을 하느냐가 쌓여 그 기업의 DNA가 되는 것이다.
IE8 대응과 관련해 다음과 같은 방안을 생각해볼 수 있다.[2, 3]
- IE8에 없는 기능은 사용하지 않고 개발한다.
- IE8 지원을 위한 별도 코드를 작성한다.
- IE8은 어차피 없어질테니 무시한다.
방안1은 최악의 선택일뿐 아니라 사업적 요건에도 맞지 않는다. 사업부 요청대로 하기 위해서는 방안2가 타당해 보인다. 그러나 에디터를 만드는 작업은 일반 웹 페이지를 만드는 것과는 복잡도 수준이 다르다. 앞 절에서 밝힌대로 IE8에는 에디터 개발에 반드시 필요한 핵심 요소가 없다. 현재 구조에서 IE8 지원이 가능할지도 불확실하고 설사 가능하다 하더라도 상당한 작업량이 예상된다. 또 그렇게 작성한 코드는 두고두고 짐이 될 것이다.
웹 프로젝트를 진행하면서 IE8 지원 이야기가 나올때마다 다음 구절이 생각난다.
로터스가 1-2-3를 640KB에 구겨넣으려고 1년 반동안 삽질하는 동안 마이크로소프트는 엑셀을 출시했고, 640KB 머신은 옛날 이야기가 되었다.[4]
그리고 머릿속에 다음과 같은 생각이 떠오른다.
우리가 IE8을 지원하려고 몇 달을 삽질하는 동안 경쟁사는 신제품을 출시해 앞서나갔고, IE8은 옛날 이야기가 되었다.
구글은 현명하게도 구글 앱스에 대해 2011년에 현대적 브라우저만 지원하기로 결정했다.[5] 구글 앱스는 Chrome, FireFox, Safari, IE에 대해 최신 버전과 바로 전 버전만 지원한다. IE의 경우 현재 버전이 11이니 IE11, IE10까지만 지원하고 IE9 이하 버전은 지원 대상에 포함되지 않는다.
IE8 점유율은 계속 줄어들 것이다. 기대만큼 빠르게 줄어들지 않을지도 모르지만 결국 소멸될 시장이다. "모든 기능을 제공하지 않더라도 기본적인 동작만 되게" 하는 것은 말처럼 쉬운 일이 아니다.
결국 제품의 핵심 가치를 어디에 둘 것인지에 따라 방향이 갈릴 것이다. 모든 브라우저에서 동작하는 별볼일 없는 제품을 만들 것인가, IE8은 지원하지 않지만 대부분의 현대적 브라우저에서 잘 동작하며 뛰어난 기능을 갖춘 제품을 만들 것인가? 제한된 시간과 자원을 IE8 지원에 허비할 것인가, 핵심 기능을 개선하는데 사용할 것인가? 변화를 거부하는 고객(또는 사용자)를 지원하기 위해 제한된 기능을 제공하는 제품을 개발할 것인가, 변화를 수용할 사용자를 위해 브라우저의 최신 기능을 활용해 더 많은 가치를 줄 수 있는 제품을 개발할 것인가?
결말
사업부에서는 다른 이유를 들어 반대할지도 모르겠지만, 내 결론은 이렇다.
- 과거 유산에 얽매이기 보다는 새로운 기회에 집중해야 한다. IE8은 과거 유산이다. IE8도 지원한다는 것을 강점으로 내세울 수 없다. 경쟁 제품과 기능상 차별점을 고안하고 구현하는 데 역량을 집중해야 한다. 윈도우XP 사용자에게는 Chrome, FireFox와 같은 다른 브라우저를 사용하도록 안내한다.
- 가볍고 빠르게 움직여야 한다. 세상은 빠르게 변하고 있다. IE8은 우리를 무겁게 한다. IE8을 덜어내면 달려갈 수 있지만 IE8을 업고 간다면 기어갈 수밖에 없다.
참고 자료
- StatCounter 브라우저 점유율 통계. 지역별, 브라우저 버전별로 점유율을 확인할 수 있다.
- IE8 is Going the Way of the Dodo, So Why Support a Dying Species?
- Is It Time To Drop Support For IE8?
- Joel on Software: Rick Chapman is In Search of Stupidity
- Our plans to support modern browsers across Google Apps
- The impending crisis that is Windows XP and IE 8
사족
나는 사업 전문가가 아니지만 사업과 관련해 다음과 같은 궁금증이 생긴다.
- IE8 지원을 제품의 강점으로 내세우는 것이 새로운 매출을 창출할 수 있을까?
- IE8을 지원하는 경우와 지원하지 않는 경우를 비교했을 때 향후 5년간 예상 매출의 차이가 어느 정도 될까?
IE8을 지원하면 100억을 벌 수 있는데 그렇지 않으면 10억도 못 번다면 IE8 지원이 최우선 과제가 될 것이다. 그러나 이 정도 수준은 아닐 것이라 추측한다.