전세계 스마트폰 OS점유율

지난주 임베디드 학회 세미나에서 사용한 자료중에 일부분입니다. (왜 임베디드 행사에서 모바일 이야기를 하고 왔는지...-_-;)
위의 자료는 2008년도 부터 2013년까지의 장치의 선적양에 대한 IDC의 2009년도 자료입니다. (World Wide Converged Mobile Device Shipment by Operating System )

위의 자료만 보면 심비안운영체제가 부동의 1위 자리를 고수하고 있습니다만 실제적으로 심비안운영체제는 대부분의 노키아폰에 탑재되어 나가므로 사용자들이 스마트폰이라고 생각하지 않는 폰에도 모두 심비안이 탑재되어 있으므로 일반적으로 스마트폰이라는 범주에 그 점유율을 포함시키기가 어렵습니다. 그러한 이유로 IDC도 2009,2010년도 심비안의 점유율을 하락세로 보고 있습니다.

그 다음으로는 블랙베리가 많이 사용되고 있습니다. 주로 북미에서 가장 높은 점유율을 보이고 실제적으로도 캐나다와 미국의 비지니스맨들에게 많이 사용되고 있는 것이 사실입니다. 하지만 블랙베리는 빈약한 멀티미디어 기능 그리고 응용 프로그램의 부족 그리고 메일을 사용하기 위해는 부가적으로 필요한 서버 솔루션등등 전세계적인 확산에는 북미대륙만큼의 성공은 거두기 어렵다는 것이 일반적인 의견입니다.

그 다음으로 마이크로소프트의 Windows Mobile입니다. 간혹 '어떻게 Windows Mobile이 3위가 될 수 있냐? 내가 알기로는 이미 Apple iPhone이 더 많은 것으로 알고 있다'라고 고 생각하시는 분들이 계신데 OEM(제조사)순위로는 그렇게 될 수 있지만 OS측면으로 보면 Windows Mobile이 앞서고 있습니다. HTC를 비롯하여 삼성,LG 그리고 모토롤라, 팬택등등 많은 OEM들이 Windows Mobile기반의 스마트폰을 출시하고 있기 때문에 모두 합하면 iPhone보다는 점유율이 높습니다.

그리고 그 다음으로 Apple의 Mac OS X를 사용하는 iPhone입니다. 거의 2013년까지 거의 동일한 수준을 유지하고 있을 것이라고 IDC는 예상을 하고 있습니다. 더 높은 성장율을 예측하지 않은 것은 iPhone의 독특한 기기적인 특성과 Apple의 고집스러운 정책으로 정해진 사용자층에 국한될 수 있을 것이라는 예측때문이 아닌가 싶습니다.

그 외에 가장 두드러진 특징은 안드로이드의 성장입니다. 그리고 팜에서 올해 출시한 'Pre'장치에 적용된 리눅스기반의 webOS 또한 기존 Palm의 점유율을 안고 갈 것 같습니다. 리눅스 색깔이 강한 폰보다는 리눅스기반의 안드로이드나 webOS의 성장모델이 시장에서는 더 효과적일 것 이라는 예측인 것 같습니다.

그런데 재미난 것은 자체 OS를 가지고 있지 않은 삼성이나 LG와 같은 OEM입장에서는 차세대복합단말(스마트폰)의 운영체제로 선택할 수 있는 운영체제가 몇안된다는 것입니다. 이유는 심비안은 공개되어 타OEM에서도 사용이 가능하다고 하나 결국 노키아 위주의 기능이 될 것이고 Mac OS X는 Apple이 webOS는 팜이 블랙베리는 RIM을 위주로 되기 때문에 OEM입장에서는 안드로이드 그리고 Windows Mobile둘 중 하나를 선택해야 하는 상황이 된다는 것입니다. 자체 Linux변형 OS는 이미 쓴물을 마셔보았기 때문에...(돈이 안된다는...)

어찌되었든, PC시장 체제와는 비슷하면서도 전혀 다른 양상으로 진행되고 있는 것 같습니다. 하드웨어적인 특성도 중요하지만, 앞으로는 응용 프로그램(Killer App)이나 서비스가 얼마만큼 풍부하게 제공되는냐가 관건이 될 것 같습니다.

by 키온 | 2009/06/30 20:51 | Mobile_Embedded | 트랙백 | 덧글(0)

Windows Mobile 6.5 기대반 실망반


Windows Mobile 6.5(이하 WM6.5) 가 RTM(Release To Manufacture) 되었다는 소식이 들리면서 XDA개발자 포럼에서는 벌써 Pre-release버전의 키친롬들이 돌아다니면서 국내에서도 HTC계열 장치와 P100 또는 소니에릭슨 X1사용자들이 WM6.5버전을 설치해서 사용하시는 분들이 계시더군요.(해외용 옴니아 i900도 있기는 하던데,,,)

WM6.5의 주요 특징은 이미 많은 블로그에서 통해 알려진 바와 같이 스타일러스 중심의 터치 스크린에서 손가락 터치를 고려된 UI, pIE의 개선 그리고 애플의 AppStore와 같은 Marketplace서비스의 추가라고 할 수 있습니다. WM6.5이 탑재된 Windows Phone의 출시 시기는 올 연말이라고 알려져 있습니다. (가장 먼저 나오는 WM6.5장치는 아마도 HTC나 대만계열 회사들로 부터 나올 것으로 예상이 됩니다. 그 이유는 좀 나중에..^^ )

우선 기대되는 부분은 pIE입니다. 6on6라고 해서 Internet Explorer 6.0버전의 웹 브라우저 엔진이 WM6.5에 탑재가 되어 기존 보다 개선된 웹 브라우징을 가능하게 합니다. 단말기 제조사의 입장에서도 이 정도면 비싼돈 내면서 Opera브라우저를 끼워 넣어도 되지 않으니 기뻐할 일이라고 생각이 됩니다.

그리고 실망되는 부분은.... (앗 겨우 기대할거라고는 pIE밖에 없단말인가?...)
UI입니다. 하이브구조의 아이콘배치로 손가락으로 사용하기 쉽게 만들었다고 하나 이미 PointUI나 HS++ 그리고 SPB Shell같이 Custom UI프로그램을 이용하면 비슷하게 사용할 수 있습니다. 그리고 변경된 초기화면은 Zune의 UI를 그대로 가져왔더군요...(-_-;)
OS역시 여전히 Windows CE 5.X기반입니다. (물론 약간의 커널구조가 변경이 되었지만)
왜 Windows CE 5.X 운영체제가 문제냐하면, 커널과 프로세스 모델이 Windows CE6.X부터 달라지게 됩니다. 프로세서당 32MB할당이라는 전통적인 문제를 Windows CE6에서 프로세스당 2GB로 변경이 되면서 해결이 되었지만 WM6.X에서는 커널이 약간 수정된 baseOS가 사용이 됩니다.  WM5.X까지는 CE버전에 따라 Windows Mobile버전도 상응되게 만들어 졌는데 WM6.X부터 이것이 변경이 되어 메이저 OS의 업그레이드는 WM7으로 미루어지게 됩니다.

그리고 개인적으로 가장 아쉬운 것이 바로 Silverlight for WM의 이야기가 언제부터인가 사라졌다는 것입니다. 들리는 이야기에 의하면 Silverlight for WM기능은 WM7으로 미루어진 것 같다고 합니다. (믿거나 말거나...)  기타 등등의 기능들이 새로워졌다고 하지만 Live서비스 연동기능은 이미 추가 설치기능으로 나와있는 것이고 몇몇 기능들은 마이너한 업데이트라 사용자 입장에서는 큰 변화를 느끼기는 어려울 수 있을 것 같습니다.

사실, 이 정도 OS의 업데이트라면 삼성이나 LG와 같은 제조사입장에서는 볼멘소리가 나올만도 합니다. OS가 업데이트되면 일반사용자들 입장에서는 제조사가 빨리 버전업된 제품을 출시하기를 바라지만 제조사입장에서는 기능도 크게 차이가 없는 운영체제를 새로운 장치(또는 업그레이드를 제공할 기존의 장치)에 적용하는 것이 쉽지 않은 일이기 때문입니다. 이미 검증된 WM6.1을 사용하지 않고 초기버전의 WM6.5를 적용하려면 시간도 걸리고 기타 인증이나 잠재된 문제점 등등...
HTC나 도시바와 같이 특정 기능을 타깃으로 개발한 장치들은 조금 일찍 시장에 나올 수있을 것 같습니다(QA팀이 상대적으로 국내 회사보다 허술한 점도 작용하겠죠...) 국내 제조사들은 아마도  WM6.5.X(AKU라고 불리우는 업데이트)에 해당하는 버전이 나온 뒤에야  출시 될 수 있을 것으로 조심스레 예측을 해봅니다.

전반적으로 WM6.5에 대하여 삐딱하게 바라보는 것 아니냐는 말을 들을 수 있을 것 같습니다만, 제조사나 사용자 입장에서 좋아진 부분도 분명히 있습니다. (아~ 이런 애매한 입장은 뭐지?) 하지만 개인적으로 기존에 release된 버전에 비하여 크게 기대될만한 사항이 적은 것은 사실입니다. 말은 이렇게 해도 T*옴니아버전 WM6.5롬이 있다면 제일 먼저 설치하게 될 것 같습니다. ㅋㅋ

참고로 해외 WM커뮤니티 사이트인 msmobiles에 뜬 WM6.5 Upgrade 장치 리스트:
http://db.msmobiles.com/Lists/p/windows-mobile-6.5-upgradeable.aspx

by 키온 | 2009/05/26 16:25 | Mobile_Embedded | 트랙백 | 덧글(7)

VB의 재발견 - Visual Basic 2010

Visual Basic 2010, 시리얼한 버전으로 보면 v10에 해당하는 Visual Basic버전이 Visual Studio 2010버전에 포함되어 출시될 예정입니다. 왠지 2010이 붙으니 상당히 미래지향적 프로그램 언어인 것 같이 느껴집니다. 서기2010년이 되면 영화 백투더퓨처에서 처럼  하늘을 나는 자동차는 나올줄 알았는데... 아직은 공상과학의 내용을 현실이 따라가기에는 조금 더 시간이 걸릴 것 같습니다. 어찌되었든 2010년에 하늘을 나는 자동차는 못나와도 새로운 Visual Studio는 출시 될 것 같습니다. ^^
 
.NET기술이 나오면서 부터 빛을 받지 못했던 프로그램 언어가 바로 Visual Basic(.NET)이라고 해도 과언이 아닐 정도로 .NET프로그래밍에서는 Visual C#이 많이 사용이 되고 있는 것이 사실입니다. 그 이유에는 여러 가지가 있겠지만 Visual Basic이 원래 가지고 있었던 쉽고 사용하기 편하다는 RAD(Rapid Application Development)언어로서의 강점이 .NET에서는 약간 퇴색되면서 많은 VB개발자들이 C#으로 이동하는 계기가 된 것 같습니다. 
 
이번주 월요일부터(5/18) Visual Studio 2010 Beta1이 MSDN사이트를 통하여 배포되어 저도 설치를 해보았습니다. 여러 가지 새로운 기능들이 많이 추가되었는데 그 중에서도 VB10(VB2010)에 흥미롭고 새로운 기능들이 많이 추가가 되었더군요.
우선, 변경된 여러가지 기능중에서 가장 눈에 띄는 변화는 바로 문장 연결 기호인 _(Underscore)가 더 이상 필요없게 되었다는 것 입니다. 이렇게 말이죠:


Dim str As String= "Hello"
"World"
"I'm Keon"


콤마나 연산자 LINQ 쿼리문등에서 _ 없이 바로 라인을 넘겨서 사용할 수 있습니다. 람다식 표현의 위한 자연스러운 변화라고 생각합니다. (물론 Underscore를 예전과 같이 사용해도 오류가 발생하지는 않습니다) 또한 C#에서 가능하던 PLINQ Extension을 이용한 Parallel programming을 가능합니다.
다음과 같은 코드를 수행을 하면,


Sub Main()
    Dim myValues() As Integer = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
    myValues.AsParallel.ForAll(Sub(p) Console.WriteLine(p))
     Console.ReadKey()
End Sub


다음과 같은 결과를 얻을 수 있습니다.

(제가 사용한 시스템이 듀얼코어이므로 스레드 2개가 동시에 각각의 프로세서에서 수행되어 '1,2,3,4...~10'처럼 출력되지 않고 위와 같이 비순차적인 결과가 나온 것으로 보면 됩니다)

또한 Property의 사용에서도 Get,Set문장을 생성하지 않고 바로 사용할 수 있게 되었습니다. (이런 것이 진짜 VB의 강력함이죠..^^) 예를 들어, clsPerson이라는 클래스에 Name이라는 속성의 사용하기 위해서는 다음과 같은 코드를 작성해야 했습니다.

Public Class clsPerson

 Private pName As String

 Property Name() As String
  Get
    Return pName
  End Get

  Set(ByVal value As String)
   pName = value
  End Set
 End Property

End Class


하지만, 이제부터는

Public Class clsPerson
    Property Name() As String
End Class


이렇게 작성하면 됩니다. 참~ 쉽죠 ^^
이외에도 Covariance기능이나 Extension기능 그리고 PIA를 모두 포함하지 않고 배포하는 기능등이 추가가 되었습니다. 전반적으로 VB2010버전은 C# 4.0과 대부분의 기능이 비슷하게 추가가 되었습니다. 그래서 마이크로소프트 Principal Architect인 Paul Vick은 VB와 C#의 이번 버전에서의 변화를 가르켜 Co-evolution이라는 표현을 사용했습니다.
사실 .NET에서는 프로그램을 작성하기 위해서 기능적인 문제로 인한 프로그램언어 선택이 아닌 개발자의 언어적 선호도에 의한 선택이 가능하게 된 것은 이미 오래전 일이지만 이번 VB버전을 통하여 그런 점이 더욱 현실화 되었고 굳이 ';'의 사용을 선호하는 분이 아니라면 그리고 기업용 프로그램을 작성하는 개발자라면 VB를 다시 한번 살펴볼 필요는 있을 것 같습니다.

*새롭게 추가된 내용은  VSTS2010공식 블로그 또는 MSDN사이트를 통하여 알아 보실 수 있습니다.

by 키온 | 2009/05/22 08:08 | .NET Programming | 트랙백 | 덧글(2)

순대국집 주인의 말한마디...


저녁에 해야 할 일도 있고 해서 직원과 함께 저녁을 먹으러 나갔더니 회사앞에 순대국집이 새로 생겼더군요.  마침 자주가던 순대국집이 없어져서 한 동안 순대국을 못먹었던 참에 반가운 마음으로 신장개업한 그 순대국집으로 발길이 갔습니다.
그런데 저희가 들어가 자리에 앉으니 주인으로 보이는 비교적 젊은 사람이 주방을 향해 이렇게 외치는 것이었습니다.

'야~ 두명 왔다!'
 
잠시후에 순대국이 나오고 말없이 순대국을 비웠습니다. 식사를 마치고 나서 회사직원에게 제가 이런 말을 했습니다. '맛은 나쁘지 않은데 또 여기 올 일은 없을 것 같다'라고하니 직원이 아니 맛이 그다지 나쁘지 않은데 왜그러시냐고 묻더군요. 제가 못들었으면 모를까 아무리 주방에 대고 지른 소리지만, 손님이 온것을 주방에 알리는 말로는 적절하지 않았습니다. 

즉, 그 주인 눈에는 음식을 먹으러 온 손님이 아니라 걸어다니는 6천원짜리로 보였을 것 입니다. 손님을 그렇게 부를 수 있는 주인이라면 처음에는 재료도 아끼지 않고 제대로 하겠지만 장사가 좀 안된다 싶거나 재료비를 아껴야 한다고 생각한다면 어떠한 것도 음식을 넣을 수 있다고 생각합니다. 물론 까탈스런 손님 한명의 말도 안되는 불평이라고 생각할 수도 있지만, 정말 자기 식당에 온 손님에게 맛있는 음식을 드려야 겠다고 생각하는 음식점 주인의 순대국과는 분명 차이가 있을 것이라 생각이 됩니다.

프로그램 개발 컨설팅 일을 하다보면 이와 비슷한 경우를 종종 겪습니다. 자신에게 개발을 의뢰한 고객의 시스템을 먼저 생각하기 보다는 비용에만 급급하여 품질이나 완성도는 나몰라라하는 업체들이 간혹 있습니다. 고객의 입장에서는 이러한 개발 업체들과 일을 하면 처음에는 적은 비용으로 모든 것이 이루어질 것 처럼 보이지만 투자비용보다 낮은 품질을 산출물을 얻는 수도 있다는 것을 잊어서는 안됩니다.

저도 지금 회사(닷넷엑스퍼트)에 입사를 하고나서 처음으로 했던 일이 회사의 비전을 재정립하는 일이었습니다. 그래서 만든 비전이 바로...'고객이 성공할 수 있는 최고의 소프트웨어와 서비스를 제공하자!' 입니다. '뭐...너무 상투적이거나 누구나 써먹는 비전이자나' 라고 할 수 있지만 직접 실천을 하고 있고 실제로 회사의 수익에 손해가 가더라도 고객이 닷넷엑스퍼트의 서비스 또는 S/W로 성공할 수 있을 수 있다면 기꺼이 일을 맡습니다. (아 왠지 회사의 자랑하는 글이 되어버린 느낌,,,^^)

암튼, 경영자의 마인드가 정말 중요하다는 것을 순대국집 주인의 말한마디로 다시 한번 깨닫게 됩니다.  
 

by 키온 | 2009/05/06 20:49 | 일상다반사 | 트랙백 | 덧글(4)

◀ 이전 페이지          다음 페이지 ▶