기본 콘텐츠로 건너뛰기

2월, 2010의 게시물 표시

Java Inside - Sun SPOT

이 글은 http://javba.tistory.com/ 블로그에도 함께 게제하였다. 오늘 소개하고자 하는 기기는 일반 사용자들은 평생 만져보기 힘든 아주 특이한 장치이다. 특이한 기기를 좋아하는 geek이거나 소프트웨어 공학 관련 학교에서 이 기기를 운좋게 교육용으로 사용한다면 만져볼 수 있을라나? Sun SPOT 이라고 불리는 이 기기는 일반 사용자를 위한 것이 아닌 실험용 소프트웨어 연구/개발 및 취미로 흥미로운 소프트웨어를 개발하는 열렬 개발자를 위한 제품이다. Sun Lab에서 개발한 이 장치의 생김새는 아래와 같다. (From http://www.sunspotworld.com) 위 사진에서 검은색 박스가 Sun SPOT 기기이다. 확 땡기는 외모는 확실히 아니다. ^^ 하지만, H/W 사양을 살펴보면 꽤 흥미롭다. 180Mhz의 ARM9 CPU 512KB RAM 4MB Flash Memory 음... 아직까지는 그리 흥미롭지 못하다. 하지만 진짜는 지금부터. USB 2.4Ghz IEEE 802.15.4 radio 그리고 안테나 Accelerometer - iPhone에 쓰이는 것과 유사한 방향/기울기 등의 정보를 얻는 센서 밝기 감지 센서 온도 감지 센서 8개의 3 색상 LED 6개의 아날로그 입력 5개의 GPIO 4개의 고전류 출력 핀 꽤나 흥미로운 센서 및 입출력 H/W들이 달려있다. 이를 이용하기 위한 소프트웨어 플랫폼은 어떨까? 역시 흥미롭게도 Sun SPOT에는 운영체제 대신 Squark라고 하는 Java Virtual Machine 이 탑재되어 있다. 이 VM을 이용하여 MIDP 라이브러리 및 Sun SPOT의 H/W를 직접 사용할 수 있는 라이브러리를 제공한다. 즉, 이 장치를 이용하면 Java application을 작성하여 여러 센서 및 네트워킹을 활용한 임베디드 어플리케이션을 개발할 수 있다는 것이다. 어떤 활용 예를 생각해 볼 수 있을까? 일단 센서가 있으므로 이를 이용하여 외부 환경의 변경을 감지하는 소프트웨어가 개발 가능하다

Market Trend and News: 4th week of Feb 2010

2월 4째 주 뉴스 중 가장 흥미로운 것은 Myriad가 선보인 Dalvik Turbo 제품이다. Android 플랫폼에서 모든 어플리케이션이 실행되는 런타임 환경인 Virtual Machine을 optimize하여 실행 성능을 획기적으로 올린다고 하는데 웹에서 보이는 데모를 보아도 성능이 좋아보인다. 아마도 JIT compilation을 사용할 수 있도록 한 것으로 보이는데 이처럼 Virtual Machine의 내부를 개선하여 value add를 하여 Android에서 monetize할 수 있는 기회를 찾는 것으로 보인다. 단, 앞으로 Google이 Android Dalvik VM의 성능을 자체적으로 개선 작업을 진행할텐데 계속적으로 더 성능을 개선하여 differentiate할 수 있을지가 이 제품의 성공 key point라 할 수 있겠다. 개인적으로는 좀 회의적이다. 또 성능 개선할 factor가 뭐가 있을까? AOT (Ahead Of Time) compilation 정도? 새로운 garbage collector? ... Java 관련 Myriad Dalvik Turbo가 MWC에서 시연을 보였다고 한다. Myriad측 관계자의 말로는 2~3배 정도 빠른 성능을 보여줄 수 있다고 하는데 데모 동영상에서는 3D 큐브를 돌리는 소프트웨어가 smooth하게 동작하는 것을 비교해서 보여주고 있다. 아마도 JIT compiler 기능 을 enable한 것으로 보인다. Myriad Dalvik Turbo Hands-on JavaFX가 벤쿠버 동계 올림픽 사이트에 일부 사용되었다고 한다. 하지만, 이 사이트의 대부분의 RIA 프로그램이 여전히 Flash로 작성되었다는 것 :( JavaFX를 사용한 벤쿠버 동계 올림픽 사이트 Mobile 관련 RIM 은 Blackberry의 대중화를 위해서 자사의 서버 솔루션인 Blackberry Enterprise Server의 무료 버전을 제공할 것이라고 발표하였다. full 버전에 비해 보안 기능이 떨어진다고 하나 일반 기업 사

Google의 새로운 어플 - Google Shopper

Google이 Android 어플리케이션으로 새로 발표한 Google Shopper에 대한 동영상을 아래에서 감상해보도록 하자. 동영상에서 확인 할 수 있듯이 카메라를 이용하여 피사체를 인식하여 쇼핑을 돕거나 혹은 음성 인식으로 쇼핑을 도와주는 어플리케이션이다. 해당 품목의 최저가 검색이나 품목에 대한 평가 등의 정보를 볼 수 있고 offline 상태에서도 wish list등을 관리할 수 있도록 한다. 기존에 카메라에 인식된 물건의 바코드를 이용하여 가격을 검색해주는 어플리케이션도 있었는데 Google은 여기에 더불어 물건 자체의 이미지를 인식하는 기능도 추가하였다. Google의 back-end 서비스를 이용하면 추후 바로 Google Check를 이용하여 구매하는 온라인 쇼핑몰 개념까지 확장할 수 있을 것 같다. Google은 Android라는 모바일 개발 플랫폼을 갖춘 후 자신들의 각종 서비스를 활용하여 이와 같은 혁신적인 사용자 편의 어플리케이션을 계속 개발할 것으로 보인다. 한가지 흥미로운 사실은 이와 같은 killer app들이 모든 Android 폰에서 생각대로 잘 동작하지 않는 다는 것이다. Google Blog 원문 에서 사용자들의 feedback을 살펴보길 바란다. Android는 훌륭한 플랫폼일지 모르지만 모든 OEM이 호환성을 유지하길 바라는 것은 무리인 것으로 보인다.

News and Trend - 2010년 2월 3째 주

2월 3째 주에는 MWC 2010에서 새로이 발표된 기술들에 대해 살펴보도록 하겠다. 가장 관심을 끈 소식은 역시 Microsoft의 Windows Phone 7.0이다. 삼성의 Bada도 대대적인 투자를 한 것으로 보이나 Windows Phone 7.0에 가려 빛이 좀 바랜 느낌이다. Windows Phone 7 발표장에서는 consistency가 매우 강조되었는데 기존 Windows Mobile과 달리 OEM의 특화된 UI를 위한 변경들을 허용하지 않을 분위기이다. 또한, PC와 같이 미리 정의된 H/W spec을 정의하여 OEM간의 fragmentation을 방지하려는 움직임이 보인다. Windows Phone 7 데모에서 보여준 주요 기능으로는 Hub, Tile, Panorama UI 등이 있다. Hub는 여러 데이터 소스에서 정보를 통합하여 한 화면에서 보여주는 개념으로 예를 들어, People Hub에서는 사람에 대한 정보를 여러 소스(Facebook, 내 주소록, Twitter ...)의 정보를 통합하여 관리할 수 있도록 하고 People Hub를 통해 개인과의 communication을 손쉽게 한다는 비전을 제시한다. Tile은 iPhone의 Widget 기반 top screen과 달리 단순히 아이콘만을 배치한 UI가 아닌 정보를 동시에 보여주는 top screen 개념을 제공한다. Tile은 사용자가 원한는데로 추가/삭제가 가능하여 필요에 따라 원하는 top screen을 만들어 사용할 수 있다. Panorama UI는 wide 화면에 펼쳐진 UI를 폰에서 좌/우 스크롤하며 그 일부를 창을 통해 바라보는 형태의 UI 컨셉이다. Life in 3 screen concept을 위한 UI로 보인다. 즉, TV, Desktop, Mobile에서 동일한 컨셉의 UI를 활용하기 위해 wide 화면 기준으로 UI를 디자인하고 모바일에서는 현재 선택된 일부 화면만 창을 통해 보여주는 개념이라고 볼 수 있다.  (Windows Phone 7의

Mobile Software Plaforms Today

오늘의 주요 모바일 소프트웨어 플랫폼들에 대해 정리해보도록 하자. 워낙 다양한 플랫폼들이 등장하고 있어 전반적으로 이 시장을 이해하는 것도 상당히 난해해졌다. 1. Apple의 iPhone Objective-C 언어를 이용하여 Cocoa Touch 어플리케이션 개발 가능 iPod Touch까지 포함하면 이미 시장에 5000만대 이상 퍼진 성공한 플랫폼 현재까지 가장 성공한 AppStore 모델을 제공하고 있음 예제로 시작하는 아이폰 개발 - 에리카 세든 지음, 김동현 외 옮김/에이콘출판 2. Google의 Android Java 언어를 이용하여 어플리케이션 개발 가능 NDK를 이용 Java에서 C/C++로 작성한 코드 호출 가능 OEM이나 Carrier에서 적극적으로 지원하고 있는 상태여서 시장에 많은 디바이스가 팔릴 것으로는 예상 그러나, 각 디바이스 별 호환성 문제 등으로 인해 과연 어플리케이션 개발자 입장에서는 매력적인 플랫폼이 될지는 미지수 Google의 입장에서는 자신들이 제공하는 서비스를 잘 활용할 수 있는 플랫폼으로서의 의미만 있으면 만족하지 않을까... 알짜만 골라 배우는 안드로이드 프로그래밍 - 마크 머피 지음, 강철구 옮김/에이콘출판 3. Oracle-Sun의 JavaME Java언어를 이용하여 어플리케이션 개발 가능 현재 feature폰에서는 가장 많이 퍼진 플랫폼. 또한, DTV 등과 같은 휴대폰 외 여러 기기에서 사용되고 있음 Android와 마찬가지로 각 디바이스 별 호환성 문제가 큰 이슈. Sun의 라이센스 정책으로 JavaME 구현을 여러 업체에서 제공할 수 있어 문제가 커진 것으로 보임 Kicking Butt With Midp and Msa (1st, Paperback) - 조나단 크누드센 지음/Addison-Wesley 4. Qualcomm의 BrewMP C언어를 이용하여 어플리케이션 개발 가능 Brew MP는 JavaME, Flash를 pre-integration된 솔루션 으로 제공함 CDMA 시장에서는 널리 사용되고 있

블로그 제목 변경

기존 Mobile Software Platforms에서 Mobile, Web and Java로 블로그 제목을 개명하였다. 모바일 관련 기술 및 모바일에서 점점 중요해지고 있는 웹 기술 관련 내용. 그리고, 내가 업으로 삼고있는 자바 관련된 이야기들을 써 내려갈 생각이다.

Google IO 2009 Keynote

점점 Mobile에서의 Web 기술의 중요성이 커지고 있다. 모바일 소프트웨어 플랫폼으로서의 Web 기술을 무시할 수 없으므로 앞으로는 블로그 작성 시 Web 관련 기술도 아이템으로 다루려고 한다. 작년에 열린 Google IO 2009의 키노트 세션을 보면 Web의 강자인 Google의 최신 기술에 대해 살펴볼 수 있다. 아직 보지 못하신 분들은 꼭 일견하시길. HTML5, Google App Engine, Google Web Toolkit, Google Web Elements, Android 등등에 대한 흥미로운 내용을 알 수 있다.

Java Inside - BD-J에 대한 소개

이 글은 http://javba.tistory.com/10 팀 블로깅에도 동시에 게제하였습니다. Blu-ray Disc? 게임이 취미인 분들은 Sony의 Playstation 3를 잘 알고 계시리라 믿는다. 비록, 필자는 Nintendo Wii만 보유하고 있지만 한 때 Playstation 3를 지를까 한참 고민도 했었다. Playstation 3는 게임기 기능도 갖추고 있으나 최근 새로운 미디어로 각광받는 Blu-ray Disc 플레이어로도 활용할 수 있다. 비록 국내에서는 불법 영화 다운로드 및 IPTV의 빠른 보급으로 인해 많이 사용되고 있지 않지만 미국이나 타 국가에서는 빠르게 보급되고 있는 디지털 기기 중 하나이다. Blu-ray Disc는 기존 DVD가 4GB ~ 8GB 정도의 용량을 지원하는 것에 비해 무려 6배 이상인 25G ~ 50G 정도의 용량을 지원한다. 구현 방법에 따라서는 100GB ~ 200GB 정도도 지원가능하다고 하니 기존 DVD 대비 혁신적인 포맷임이 분명하다. Blu-ray Disc에는 용량 외에도 매우 흥미로운 기술이 표준으로 채택되었는데 바로 BD-J (Blu-ray Disc Java) 라고 하는 Java 프로그램 개발 환경을 제공한다는 것이다. BD-J를 이용하여 Blu-ray Disc 타이틀에 인터액티브 메뉴를 제공하거나 혹은 게임 등의 Java 응용프로그램을 사용자에게 제공할 수 있다. BD-J로 개발 가능한 응용프로그램? BD- J를 이용하면 어떤 어플리케이션을 개발 할 수 있을까? 가장 먼저 떠오르는 것이 타이틀에서 제공하는 사용자 메뉴 화면이다. 기존 DVD 타이틀과 달리 Java 어플리케이션으로 메뉴 프로그램을 개발할 수 있어 interactive한 메뉴 프로그램을 제공할 수 있다. 사실, Java 언어를 이용한 소프트웨어 개발이기 때문에 개발자의 아이디어에 따라 생각치도 못한 다양한 프로그램 개발이 가능할 것이다. 다음 목록은 이미 개발된 BD-J 어플리케이션 및 개인적으로 생각해본 BD-J 응용 프로그램의

iPad에 발표에 대한 감상

일단, Steve가 iPad 시연을 하는 동영상을 감상해보자. 뭔가 기존 시연과는 다른 느낌이다. 잠깐 시간을 되돌려 예전 iPhone 발표회장으로 돌아가 보자. 역시 비디오를 감상하기 바란다. 어떤 점이 가장 다르게 느껴지시는지? 그렇다. iPad 시연은 편안한 소파에 앉아서 진행하였다! 이전 어떤 제품에서도 소파에 앉아서 시연을 한적은 없었다. Apple의 프리젠테이션은 뛰어나기로 명성이 자자하다. 자. 그렇다면 Steve가 건강이 않좋아서 일부러 행사장에 소파를 갔다놓고 앉아서 진행했을까? 하하. 당연히 아닐 것이다. 내 생각에는 이 프리젠테이션에 대한 아이디어를 논의할 때 아마도 침대를 이용하자는 의견도 나왔을 것이라 생각한다. 그렇다. iPad는 iPhone과는 다른 소비자를 대상으로 하고 있다. 바로 집에서 소파에 앉아 책을 보거나, 음악을 듣거나, TV를 시청하는 하이테크는 별로 관심없는 대다수의 사람들이다. 이 시연에서 Steve는 은연중에 미래의 가정의 모습을 시연하고 있는 것이다. 일반 대다수의 사람들이 비록 하이테크에는 관심은 없는 사람들이고 넷북이니 컴퓨터도 잘 사용하지 않지만 소파에 앉아서 TV를 보는 대신 iPad를 가지고 인터넷을 돌아다니고 친구의 메일을 확인하고 음악을 듣고 영화를 보거나 책을 읽기도 하고 이쁜 딸내미 사진도 감상하고 게임도 즐기며 물론, 짬짬이 공부도 하고 아마도 잘하면 영상 통화도 하지 않을까? 아참... 일이 바쁘면 iWork로 프리젠테이션도 만들 수 있다. 내 생각에 iPad는 이런 디바이스이다. Steve의 상상속에서는 미래 가정의 모습에 TV 대신 iPad을 들고 자신이 원하는 컨텐츠를 즐기는 여러분들의 모습이 그려져있을 것 같다. iPad을 Tablet PC와 연관지어 설명하는 사람들도 있는데 iPad을 넷북을 대치하는 컴퓨터로 생각하면 안될 것이다. 물론, 이 디바이스는 충분히 얇고 작은 편이기 때문에 외출 시 들고 밖을 돌아다닐 수도 있을 것이다. 하지만