안드로이드 개발자 모임 게시판
(글 수 7,952)
장대곰님이 쓴 안드로이드의 오해와 실패의 그림자라는 제목의 글입니다.
http://ow.ly/1a8ai이 글을 읽어보면 예전부터 지적되온 얘기들이지만 최근 본격적으로 안드로이드 폰이 출시되면서 더욱 문제가 부각되는 것 같습니다.
요약해보면 구동 메모리 부족 문제, 프로그램의 저장 영역 문제가 있고 버전별, 제조사간 호환성 문제 입니다.
구동 메모리 부족이나 프로그램의 저장 영역 문제에 대한 개발자들의 생각이 궁금합니다.
그리고 호환성 문제는 앞으로 많은 안드로이드 폰이 쏟아지고 사용자 층이 많아 지게 되면 더욱 심각해질 것 같습니다.
이에 대하여 구글은 어떤 생각을 가지고 있는건지 궁금합니다.
구글이 설마 과거에 호환성 문제로 실패한 여러 사례들을 모르는 것은 아닐텐데요.
구글이 지금 당장은 시장 확보에 주력하는 걸까요.. 저로서는 정말 모를일입니다.
2010.02.23 13:56:50
응?? 512MB의 RAM을 가진 넥서스 원이나 Desire 는 어떻게 되는거죠?? 256까지 지원한다니..
저장 메모리 문제는 2.1에서 구글 측이 외장 메모리에 어플을 설치할수 있도록 곧 추가한다고 Nexus One 떄 했었고
개방성에 대해서는 제가 생각하기에 Google API를 이용하면 전혀 문제가 없다고 생각하네요.
개발자가 괜히 폐쇠적인 API를 써서 폐쇠적이게 되는거지 구글 API를 쓰면 문제가 없다고 생각합니다.
2010.02.23 14:37:44
1. 구동 메모리 부족은 O/S의 문제가 아닌, Hardware의 문제입니다.
즉, 안드로이드의 제한이 아닌 휴대폰 기기의 문제입니다.
귤상자님께서 말씀하신 것 처럼 Nexus One과 HTC Desire은 메모리가 512MB 입니다.
(정확한 Fact를 알지 못하는 상황에서의 추측이나 가정. 혹은 오해한 내용을 마치 Fact인 마냥 이야기하는건 문제가 많습니다.
링크하신 글은 다분히 그런 성격이 강한 것 같습니다)
2. 프로그램 저장 영역은 현재, 확실히 문제점입니다.
구글에서 수정하겠다고 말은 했다지만, 말은 어딘까지 말일 뿐이고 계획은 어디까지나 계획일 뿐입니다.
실제 나와봐야 그 실체를 알 수 있는 것입니다.
결국, 기대를 가지는 기다려 보는 수 밖에 없습니다.
3. 제조사 사이의 호환성 문제는 사실 있기도 하고 없기도 합니다. (실제로는 없다에 가깝습니다)
기기 별로 Hardware가 다릅니다. 예를 들어 어떤 기기는 DMB가 있지만, 어떤 기기는 없습니다.
그렇다면, DMB가 있는 폰의 DMB관련 API를 사용해서 만들어진 어플은 당연히 호환성에 문제가 있습니다.
하지만, 그런 독특한 Hardware와 관련된 어플이 아닌 이상 기기별 호환성은 문제는 거의 없습니다.
4. O/S 버전별 호환성은 분명히 존재합니다.
하지만, 원 글에 주장하고있는 아이폰과의 비교는 무리가 있습니다.
아이폰의 경우도 최신 개발 O/S의 API로 만들어진 어플은 낮은 버전의 O/S에서 동작하지 않습니다.
즉, 아이폰에서도 O/S 버전별로 호환성이 없는 어플이 존재하며, 존재할 수 밖에 없는 구조를 가지고 있습니다.
이것은 아이폰이나 안드로이드나 모두 동일합니다.
하지만, 하위 호환성은 어느정도 가지고 있습니다.
아이폰이나 안드로이드 모두 100% 완벽한 하위 호환성을 가지고 있지는 않습니다.
그럼에도 불구하고, 현재는 사실 아이폰이 호환성이 좀 더 높습니다.
왜냐하면 O/S가 만들어진 시간 때문입니다.
아이폰은 초기 만들어진 후에 현재 많이 안정적인 상태로 발전했습니다.
반면에 안드로이드는 현재 안정적인 상태를 항하여 가고 있는 중입니다.
그렇기 때문에 안드로이드는 API의 변화가 아이폰 보다 상대적으로 많습니다.
안드로이드도 안정적인 상태까지 도달한다면 API 변화 속도가 상당히 느려질 것입니다.
실제로 구글에서도 2.1 버전 이후는 새로운 버전의 Relase 속도를 좀 늦추겠다는 입장입니다.
5. 사족으로, 제가 모토로이를 사용하고 있습니다만, 내장 메모리가 확실히 부족한건 사실입니다.
내장 메모리가 충분하다면 굳이 메모리 관리라는 작업을 해야할 필요가 없는데도,
내장 메모리 부족으로 추가적인 일이 생긴 것입니다.
그 만큼의 작업 공수를 모토로라에서 일반 사용자한테 돌려주는 것도 아닌데, 열심히 작업을 하고 있습니다. ^^;;;
즉, 안드로이드의 제한이 아닌 휴대폰 기기의 문제입니다.
귤상자님께서 말씀하신 것 처럼 Nexus One과 HTC Desire은 메모리가 512MB 입니다.
(정확한 Fact를 알지 못하는 상황에서의 추측이나 가정. 혹은 오해한 내용을 마치 Fact인 마냥 이야기하는건 문제가 많습니다.
링크하신 글은 다분히 그런 성격이 강한 것 같습니다)
2. 프로그램 저장 영역은 현재, 확실히 문제점입니다.
구글에서 수정하겠다고 말은 했다지만, 말은 어딘까지 말일 뿐이고 계획은 어디까지나 계획일 뿐입니다.
실제 나와봐야 그 실체를 알 수 있는 것입니다.
결국, 기대를 가지는 기다려 보는 수 밖에 없습니다.
3. 제조사 사이의 호환성 문제는 사실 있기도 하고 없기도 합니다. (실제로는 없다에 가깝습니다)
기기 별로 Hardware가 다릅니다. 예를 들어 어떤 기기는 DMB가 있지만, 어떤 기기는 없습니다.
그렇다면, DMB가 있는 폰의 DMB관련 API를 사용해서 만들어진 어플은 당연히 호환성에 문제가 있습니다.
하지만, 그런 독특한 Hardware와 관련된 어플이 아닌 이상 기기별 호환성은 문제는 거의 없습니다.
4. O/S 버전별 호환성은 분명히 존재합니다.
하지만, 원 글에 주장하고있는 아이폰과의 비교는 무리가 있습니다.
아이폰의 경우도 최신 개발 O/S의 API로 만들어진 어플은 낮은 버전의 O/S에서 동작하지 않습니다.
즉, 아이폰에서도 O/S 버전별로 호환성이 없는 어플이 존재하며, 존재할 수 밖에 없는 구조를 가지고 있습니다.
이것은 아이폰이나 안드로이드나 모두 동일합니다.
하지만, 하위 호환성은 어느정도 가지고 있습니다.
아이폰이나 안드로이드 모두 100% 완벽한 하위 호환성을 가지고 있지는 않습니다.
그럼에도 불구하고, 현재는 사실 아이폰이 호환성이 좀 더 높습니다.
왜냐하면 O/S가 만들어진 시간 때문입니다.
아이폰은 초기 만들어진 후에 현재 많이 안정적인 상태로 발전했습니다.
반면에 안드로이드는 현재 안정적인 상태를 항하여 가고 있는 중입니다.
그렇기 때문에 안드로이드는 API의 변화가 아이폰 보다 상대적으로 많습니다.
안드로이드도 안정적인 상태까지 도달한다면 API 변화 속도가 상당히 느려질 것입니다.
실제로 구글에서도 2.1 버전 이후는 새로운 버전의 Relase 속도를 좀 늦추겠다는 입장입니다.
5. 사족으로, 제가 모토로이를 사용하고 있습니다만, 내장 메모리가 확실히 부족한건 사실입니다.
내장 메모리가 충분하다면 굳이 메모리 관리라는 작업을 해야할 필요가 없는데도,
내장 메모리 부족으로 추가적인 일이 생긴 것입니다.
그 만큼의 작업 공수를 모토로라에서 일반 사용자한테 돌려주는 것도 아닌데, 열심히 작업을 하고 있습니다. ^^;;;
2010.02.23 14:48:18
결국은 PC시장과는 다른 손전화시장의 특수성 때문이 아닌가 싶습니다.
중간에 제조사와 통신사라는 애들이 끼어들면서 생기는 문제랄까요.
일단 제조사 문제는 빠른 속도로 해결될 거라고 생각합니다. 독점적 경계 내에서 보호를 받고 있는 통신사들에 비해서 세계적으로 경쟁해야 하는 제조사들의 경우는 결국 치고 받고 싸우면서 상향평준화와 소비자에게 유리한 방향으로 진행될 것이니까요.
호환성 문제 역시 초기의 진통일 뿐 하드웨어가 충분히 좋아지면 자연스럽게 해결될 문제라고 생각해요.
마지막 남은 가장 큰 문제는 역시나 통신사입니다. 통신사가 권력을 가지고 있는 가장 큰 이유는 막강한 현금동원력을 기반으로 특정 기계를 납품받아서소비자에게 공급하는 방식 때문입니다. 그래서 구글이 넥서스 원을 내놓으면서 통신사를 안 끼는 판매모델을 예시로 보여준 것이겠지요. 이런 직접 판매되는 폰의 점유율이 10%만 넘어가도 통신사의 입김은 약해질수밖에 없다고 봅니다.
물론 우리나라에서는 일단 IMEI whitelist문제가 해결되어야만 소비자가 통신사의 입김에서 자유로워질수있을 것 같습니다.
2010.02.23 16:36:36
안드로이드에 대한 상세한 이해 없이 2할의 프래그먼트를 놓고 그게 전부인양 크게 부풀려 공격하고 있는 것 같습니다. 지금 안드로이드에 제조사간, 기기간 프래그먼트가 일부 어플리케이션에서 발생하고 있는 것은 확실한 사실입니다.
하지만 이는 우리가 윈도우즈 기반의 PC를 쓸때와 똑같은 양상이라는 점입니다. 윈도우 버전이 95, 98, 2000, XP, 비스타, 세븐까지 오면서, 또한 하드웨어에 어떤 그래픽카드를 장착하느냐, 어떤 회사의 CPU를 쓰느냐 등등 에 따라서 일부 프로그램에 대해서는 작동 안하는 것도 분명히 있었습니다.
하지만 대부분은 정상적으로 작동하는 편이죠. 이 형태가 고스란히 안드로이드에서도 나타나는 것일 뿐입니다. 여러 하드웨어에 탑재할 수 있도록 개방된 플랫폼에, 여러 하드웨어 제조사들이 달려들다 보면 항상 이런 문제는 발생하게 마련입니다. 서로의 생각이 조금씩 다르기도 하고, 테스트의 한계성도 있고 말이죠. 굳이 이걸 문제 삼고자 하는 것은 지금까지 1900년대 부터 시작된 IT 업계의 역사전반에 대한 이해가 부족한 데서 기인한 것이 아닌가 합니다.
하지만 이는 우리가 윈도우즈 기반의 PC를 쓸때와 똑같은 양상이라는 점입니다. 윈도우 버전이 95, 98, 2000, XP, 비스타, 세븐까지 오면서, 또한 하드웨어에 어떤 그래픽카드를 장착하느냐, 어떤 회사의 CPU를 쓰느냐 등등 에 따라서 일부 프로그램에 대해서는 작동 안하는 것도 분명히 있었습니다.
하지만 대부분은 정상적으로 작동하는 편이죠. 이 형태가 고스란히 안드로이드에서도 나타나는 것일 뿐입니다. 여러 하드웨어에 탑재할 수 있도록 개방된 플랫폼에, 여러 하드웨어 제조사들이 달려들다 보면 항상 이런 문제는 발생하게 마련입니다. 서로의 생각이 조금씩 다르기도 하고, 테스트의 한계성도 있고 말이죠. 굳이 이걸 문제 삼고자 하는 것은 지금까지 1900년대 부터 시작된 IT 업계의 역사전반에 대한 이해가 부족한 데서 기인한 것이 아닌가 합니다.
2010.02.23 17:20:49
실제 안드로이드를 하시는 분들은 반이상 잘못된 생각을 가지고 썼다는 것을 잘 알죠. 그냥 아이폰의 성공 분석의 근거로 놀리를 밀어 붙이는 것인데 사실 저런 논란은 무의미 합니다. 안드로이드의 성공 요인에 대해서 엄청 장문의 글을 작년에 썼다가 너무 길이가 길어져 안올리고 잇는 글이 있는데 하나 내놓을까봐요..
2010.02.23 21:11:59
개인적으로 아이폰도 좋아하고 안드로이드로 좋아하는 편입니다만 - 그래서 안드로이드 커뮤니티에 이런 글 남길 때마다 조마조마 하긴 합니다만 - 지금 안드로이드는 '어딘가'에 문제가 있습니다. 그것을 명확하게 말씀드리지 못해 죄송합니다만, 다른 사람들 역시 그것을 느끼기에 나름대로 문제점을 지적하는 게 아닌가 싶습니다.
사실 호환성 문제는 어디에나 존재합니다. 많은 사람들이 없다고 착각하는 아이폰에도 역시 존재합니다. 하지만, 적어도 OS 부분에 있어서는 애플이 늘 OS 업그레이드를 제공하여 호환성을 높였다고 봅니다. 안드로이드의 경우 OS업그레이드를 제조사에 맡기고 있습니다. 버전 업 주기도 빠른 편이라, 제조사가 의욕이 있더라도 업그레이드를 하기 좋은 환경은 아닙니다. 제조사가 여럿이고 하드웨어 사양이 다르기에 나타나는 호환성 문제도 있습니다. 아이폰의 경우, 이를 최대한 동일하게 제작할 수 있습니다만, 애초에 제조사가 다른 안드로이드 같은 경우 이러한 점이 추후 심각한 문제가 될 수 있습니다. - 물론 아닐 수도 있습니다.
이러한 양상이 PC와 유사하다고 생각할 수도 있습니다만, 모바일 기기인 만큼 다른 점도 있습니다. Windows 2000에서 동작하지 않는 프로그램을 동작시키기 위해 사용자가 Windows XP를 설치할 수도 없는 환경이며, 그래픽카드가 문제라고 이를 교환할 수 있는 것도 아닙니다. 따라서 이러한 호환성을 최대한 유지하는 것이 중요하다고 생각합니다. 물론 이러한 문제가 발생하는 경우는 일부에 불과합니다만, 앞으로 Android의 빠른 업그레이드로 버전이 다양해지고 더 많은 제품들이 출시된다면 간과할 수 없을 것입니다.
사족입니다만, 저의 이런 우려는 그저 객관적 자료가 없는 주관일 뿐입니다만 국내 뿐만 아니라 해외에서도 이러한 글이 간간히 올라오는 것을 보면 '어딘가' 문제가 있는 것입니다. 그리고 안드로이드 개발자 혹은 관심을 가지는 이로써 이러한 점을 기우로만 생각하기에는 어딘가 찜찜한 것이 사실입니다. 아이폰에 비교를 한다고 해서 아이폰빠로 몰지는 마십시오. 둘은 엄연히 모바일 시장에서 경쟁하는 입장이니 둘 간의 비교는 어쩔 수 없습니다. 해외 리뷰에서도 아이폰 발매 이후, 최신 터치폰들을 iphone lookalike 이라고 하였듯, 좋든 싫든 아이폰이 하나의 기준처럼 되었고, 안드로이드 폰은 아이폰을 따라잡아야 하는 입장입니다.
안드로이드이 아이폰과 비교해 단점만 있는 것은 아닙니다. 그렇다면 제가 관심 가졌을 리도 없겠죠. 분명히 많은 장점이 있습니다. 다만, 이런 안드로이드의 장점은 '안드로이드의 특성'으로 당연시되어 이야기되지 않는 것이라 생각합니다. 좋아하기 때문에 기존의 안드로이드의 장점을 지니면서도 호환성과 반응속도와 같은 아이폰의 장점을 닮았으면 하는 바램이겠죠.
사실 호환성 문제는 어디에나 존재합니다. 많은 사람들이 없다고 착각하는 아이폰에도 역시 존재합니다. 하지만, 적어도 OS 부분에 있어서는 애플이 늘 OS 업그레이드를 제공하여 호환성을 높였다고 봅니다. 안드로이드의 경우 OS업그레이드를 제조사에 맡기고 있습니다. 버전 업 주기도 빠른 편이라, 제조사가 의욕이 있더라도 업그레이드를 하기 좋은 환경은 아닙니다. 제조사가 여럿이고 하드웨어 사양이 다르기에 나타나는 호환성 문제도 있습니다. 아이폰의 경우, 이를 최대한 동일하게 제작할 수 있습니다만, 애초에 제조사가 다른 안드로이드 같은 경우 이러한 점이 추후 심각한 문제가 될 수 있습니다. - 물론 아닐 수도 있습니다.
이러한 양상이 PC와 유사하다고 생각할 수도 있습니다만, 모바일 기기인 만큼 다른 점도 있습니다. Windows 2000에서 동작하지 않는 프로그램을 동작시키기 위해 사용자가 Windows XP를 설치할 수도 없는 환경이며, 그래픽카드가 문제라고 이를 교환할 수 있는 것도 아닙니다. 따라서 이러한 호환성을 최대한 유지하는 것이 중요하다고 생각합니다. 물론 이러한 문제가 발생하는 경우는 일부에 불과합니다만, 앞으로 Android의 빠른 업그레이드로 버전이 다양해지고 더 많은 제품들이 출시된다면 간과할 수 없을 것입니다.
사족입니다만, 저의 이런 우려는 그저 객관적 자료가 없는 주관일 뿐입니다만 국내 뿐만 아니라 해외에서도 이러한 글이 간간히 올라오는 것을 보면 '어딘가' 문제가 있는 것입니다. 그리고 안드로이드 개발자 혹은 관심을 가지는 이로써 이러한 점을 기우로만 생각하기에는 어딘가 찜찜한 것이 사실입니다. 아이폰에 비교를 한다고 해서 아이폰빠로 몰지는 마십시오. 둘은 엄연히 모바일 시장에서 경쟁하는 입장이니 둘 간의 비교는 어쩔 수 없습니다. 해외 리뷰에서도 아이폰 발매 이후, 최신 터치폰들을 iphone lookalike 이라고 하였듯, 좋든 싫든 아이폰이 하나의 기준처럼 되었고, 안드로이드 폰은 아이폰을 따라잡아야 하는 입장입니다.
안드로이드이 아이폰과 비교해 단점만 있는 것은 아닙니다. 그렇다면 제가 관심 가졌을 리도 없겠죠. 분명히 많은 장점이 있습니다. 다만, 이런 안드로이드의 장점은 '안드로이드의 특성'으로 당연시되어 이야기되지 않는 것이라 생각합니다. 좋아하기 때문에 기존의 안드로이드의 장점을 지니면서도 호환성과 반응속도와 같은 아이폰의 장점을 닮았으면 하는 바램이겠죠.
2010.02.23 22:09:24
아이폰과 안드로이드의 호환성에 대한 차이는 O/S 개발 경력에 대한 차이이기도 합니다.
아이폰이 나온지는 4년정도 되었지만 애플은 그 이전부터 O/S를 개발했었고, 그에 대한 노하우가 있습니다.
덧붙여 아이폰의 O/S는 맥 OSX를 바탕으로 경량화한 버전이라 프레임웍 자체가 잘 잡혀 있는 편이지요.
그런 아이폰임에서 초기 버전에서는 꽤 삽질을 했습니다. OS 2.0 수준정도 되어서야 호환성의 틀이 잡힌 편이지요.
그에 비해 안드로이드는 구글이 처음 시작하는 O/S 개발이라 시행 착오가 많을겁니다.
그동안 많은 시행 착오를 거쳐왔고 어느정도 안정화되는 단계에 들어서기 시작했습니다.
지금까지 문제가 많았지만 어느정도 정리된 이상 앞으로도 문제가 많다고 보기는 어렵습니다.
물론 아직까지 존재하는 구버전 기기에 대한 지원이 필요하긴 하겠지만 거기에 얽매일 필요까지는 없겠지요.
버전업 기피는 안드로이드의 문제라기 보다는 제조사가 안해주는 것이겠지요.
윈도우처럼 O/S를 구입해서 보내주기만 하면 업데이트가 되는게 아니라
안드로이드를 기기에 맞춰서 튜닝을 해야 하다보니 그에 따르는 투자 비용이 문제인 겁니다.
구형 기기에 대한 투자 vs 신형 기기에 대한 투자의 투자 효율에 따라 구형이 버려지는 셈인거죠.
구형 기기를 업데이트 해도 새로운 수익 창출이 힘든 상황이라 투자를 안하는 것이겠지요.
안드로이드 자체는 그냥 가져다 쓸 수 있지만, 쓰기 위한 튜닝 비용이 문제인겁니다.
아이폰이 나온지는 4년정도 되었지만 애플은 그 이전부터 O/S를 개발했었고, 그에 대한 노하우가 있습니다.
덧붙여 아이폰의 O/S는 맥 OSX를 바탕으로 경량화한 버전이라 프레임웍 자체가 잘 잡혀 있는 편이지요.
그런 아이폰임에서 초기 버전에서는 꽤 삽질을 했습니다. OS 2.0 수준정도 되어서야 호환성의 틀이 잡힌 편이지요.
그에 비해 안드로이드는 구글이 처음 시작하는 O/S 개발이라 시행 착오가 많을겁니다.
그동안 많은 시행 착오를 거쳐왔고 어느정도 안정화되는 단계에 들어서기 시작했습니다.
지금까지 문제가 많았지만 어느정도 정리된 이상 앞으로도 문제가 많다고 보기는 어렵습니다.
물론 아직까지 존재하는 구버전 기기에 대한 지원이 필요하긴 하겠지만 거기에 얽매일 필요까지는 없겠지요.
버전업 기피는 안드로이드의 문제라기 보다는 제조사가 안해주는 것이겠지요.
윈도우처럼 O/S를 구입해서 보내주기만 하면 업데이트가 되는게 아니라
안드로이드를 기기에 맞춰서 튜닝을 해야 하다보니 그에 따르는 투자 비용이 문제인 겁니다.
구형 기기에 대한 투자 vs 신형 기기에 대한 투자의 투자 효율에 따라 구형이 버려지는 셈인거죠.
구형 기기를 업데이트 해도 새로운 수익 창출이 힘든 상황이라 투자를 안하는 것이겠지요.
안드로이드 자체는 그냥 가져다 쓸 수 있지만, 쓰기 위한 튜닝 비용이 문제인겁니다.
2010.02.24 08:47:58
좋은 이야기 잘 들었습니다. 저는 간단히 개인적인 생각을 정리하고 싶습니다.
H/W는 VENDOR 특화(vendor specific) 영역입니다.
그 H/W 위에 HAL(하드웨어 추상 레이어)가 존재하는데, 이 부분도 제조사 측에서 하드웨어에 맞게 수정을 해야 겠죠.
안드로이드 프레임워크는 그 안에서 동작하는 각종 디몬( = 서비스)을 통해서 HAL의 인터페이스를 호출합니다.
그리고 우리가 흔히 쓰는 APP은 이미 위에서 설명한 대로 모든 복잡한 호환성 문제를 해결하고 꼭 필요한 인터페이스에 대해서만 통신합니다. 물론 APP개발 시, 해당 디바이스 스펙에 맞춰서 개발해야 하는 과정이 있긴 합니다. (로켈, 뷰 등)
OS 버젼문제는 어떤 OS에나 발생하는 것이라 안드로이드에 해당하는 이슈라고 볼 수 없어서 무시합니다.
그리고 용어를 좀 더 명확히 해야 겠는데요. (링크된 내용이 통틀어서 OS라고 했기에...) 안드로이드기반 폰의 OS는 linux이고 그 OS 위에 안드로이드프레임워크가 올라가는 것 입니다. 즉, 명시적으로 OS버전이라 하면 linux의 커널버젼을 가르키겠죠.
링크된 내용은 개인적으로 볼 때, user intent가 너무 다분한 느낌입니다.