페이스북 스파르탄 프로젝트의 비밀병기 Bolt.JS

[출처 : kth 웹어플리케이션팀, 2011년11월10일]

웹 서비스와 어플리케이션 개발을 위해 대부분의 경우 jQuery를 사용한다. 가볍고 훌륭한 이 프레임웍은 전 세계 개발자의 열기에 힘입어 거의 웹개발을 위한 표준 프레임웍이 되었다. jQuery 외에도 jQueryMobile과 Sencha Touch, jQTouch 등 몇가지 프레임웍이 더 있고 계속해서 새로운 종류가 등장하고 있다. 그만큼 프론트엔드 개발분야가 다양하다는 것을 시사하지만 프레임워크마다 좋은 점을 내세우고 개발의 편의성과 효율성을 자랑하는 가운데 정작 프레임워크 간에는 어떤 상호 연결성도 없으며 각각의 프레임워크를 위해 제작된 플러그인이나 라이브러리를 목적에 맞게 조절하지 않고는 그냥 가져다 쓸 수 없다. 이런 점 때문에 개발자는 프로젝트에 프레임워크별로 의존성이 생기는 것을 꺼리게 되고 프로젝트마다 저마다의 고유한 라이브러리나 프레임워크를 제작하려는 경향을 보였다.

이런 문제의 근본 원인은 자바스크립트가 중/대형 규모의 어플리케이션 제작이나 재 사용성 확보에 있어 반드시 제공해야하는 ‘모듈화 프로그래밍 구조’에 무게를 두고 설계된 언어가 아니기 때문이다. YUI와 PrototypeJS 에 이어 jQuery를 활용하는 시기가 지나는동안 개발자들은 모듈화 프로그래밍 문제를 해결하기 위해 자체적으로 꾸준한 시도를 해왔으나 폭넓은 사용자 층을 얻지 못하였다. 그러던중, 2009년 1월에 Kevin Dangoor에 의해서 “ServerJS”라는 이름의 프로젝트가 시작되었다. 곧 “CommonJS”로 변경된 이 프로젝트는 웹 브라우저 밖의 환경을 위한 자바스크립트 ecosystem 을 기술하는 것을 목적으로 하고 자바스크립트의 가장 취약한 부분중에 하나였던 ‘모듈화 개발을 위한 API 표준’을 제시하여 중/대형 규모의 어플리케이션 제작에 물꼬를 트게 하였다.

바로 이 CommonJS API 규격을 바탕으로 Facebook에 의해 제작된 Bolt.JS는 공개되자마자 전 세계 개발자의 상당한 관심을 끌었으나 돌연 GitHub등에서 소스가 삭제되고 어떠한 추가 공지도 없이 제대로 작성되지 않은 홈페이지 문서만 제공될 뿐이다. 홈페이지 문서와 관련된 기사를 훝어보던 중, 단순한 UI 프레임워크가 아님을 직감하였고 여러 경로를 뒤진후에 얻은 소스를 분석하였다. 예상대로 공식문서에서 보이는 것보다 훨씬 잠재력이 있다는 것과 웹 어플리케이션 제작에 있어 상당 부분에 영향을 줄 수 있다는 것을 이 리뷰를 통해 기술하고자 한다.

개요:
BoltJS는 오직 HTML5와 자바스크립트만을 사용하여 환상적인 모바일 웹 어플리케이션을 제작하는 것을 도와주는 UI 프레임웍이다. 서버사이드 처리 과정이 필요없으며 자바스크립트로만 작성되어 브라우저에서 동작하는 BoltJS는 현재 모바일 WebKit 기반 브라우저에 맞춰져 있다. 현재 Facebook의 Spartan 프로젝트가 모바일 WebKit에 초점을 맞추고 있기 때문이다.

구조 및 내장 기능:
Bolt.JS는 공개된 베타버전에서만 13,496 라인에 이르는 코드로 작성되어 있으며 다음과 같은 주요 패키지를 CommonJS 규격에 맞추어 자체적으로 포함하고 있다.

도식 1. Bolt.JS 구조

iScroll v4는 모바일용 HTML5 어플리케이션에 스크롤 관련 필수 기능을 제공하며 tokenizerTypeahead는 유용한 입력기능을, underscore.js 는 functional programming에서 쓰이는 고차함수 (higher-order function) 라이브러리로써 모듈성과 템플릿 기능을 제공한다. 이중에 눈여겨 봐야 할 것은 Javelin.JS 인데, 이벤트 처리를 모바일 웹 어플리케이션 제작에 최적화 시킨 프레임웍이다. Javelin.JS는 또 하나의 주제가 되므로 본 리뷰에서는 제외하였다.
또한, 모바일 웹 어플리케이션 제작에 있어 핵심적인 레이아웃과 ‘View’ 라 명명되는 내장 UI가 상당수 제공된다:

도식 2. Bolt.JS UI components

특징: LDAP 처럼 CommonJS 스펙을 구현하였다는 점이다.
서버사이드 자바스크립팅 환경인 NodeJS 역시 CommonJS 스펙에 기반하여 API를 작성하였기에 안정버전이 0.6 이지만 사용가능 모듈수는 2011년 11월 8일 현재 4870개에 달하며 다양한 서버측 요구조건에 맞는 모듈을 쉽게 찾을 수 있다. 2010년 초반에 소개된 NodeJS 가 불과 2년이 되지 않은 시점에서 이렇게 발전할 수 있었던 것은 저마다 제각각의 API를 가졌던 jQuery, ExtJS, YUI는 달리 CommonJS API에 기반하여 모듈을 제작할수 밖에 없는 구조 때문이다. Bolt.JS 역시 표준화된 API 덕분에 어플리케이션 개발자는 서로의 모듈을 손쉽게 가져다 사용할 수 있으며 통합개발환경 (Facebook이 제작한다는 루머가 있지만 확인하지 못하였다) 의 도움을 받아 고수준의 어플리케이션을 손쉽게 만들 수도 있는 것이다.

예제 코드:
전통적인 ‘HelloWorld’를 표시하는 예제를 통해 Bolt.JS의 활용을 살펴보자. 우선, 기존 웹 어플리케이션과는 달리 ‘패키지’ 개념이 있다는 점이 틀리다. 패키지는 .html 파일과 .js, .css 등으로 구성되며 package.json 파일에 JSON 포맷으로 기술되야 한다. 이 역시 CommonJS 요구사항이다.

package.json:

{
“bolt_build_manifest” : [{ “sources”: [ “css”, [“”, “js”]],
“package_target”: “pkg”, // 이름이 ‘pkg’인 폴더를 가리킨다
“package_name”: “helloworld”}] }

– View를 정의하는 helloworld.js:

require.define({‘helloworld’: function(require, exports, module) {

var core = require(‘javelin/core’);
var View = require(‘view’).View;

var HelloView = core.createClass({
extend: View,

declare: function(options) {
return{
content: “Hello World!”
}}
})

exports.init = function() {
require(‘builder’).build({
view: HelloView
}).placeIn(document.body);
}

}});

– Control 을 담당하는 helloworld.js (위의 것과 이름이 같지만 다른 폴더에 있다):

var core = require(‘javelin/core’);
var View = require(‘view’).View;

var HelloView = core.createClass({
extend: View,
declare: function(options) { return{ content: “Hello World!” }}
});

exports.init = function() {
require(‘builder’).build({ view: HelloView }).placeIn(document.body);
}

– 마지막으로, helloworld.html이다 (helloworld.css 파일은 생략):

<html>
<head>
<title>Hello World Application</title>
<meta name=”apple-mobile-web-app-capable” content=”yes”>
<meta http-equiv=”content-type” content=”text/html; charset=utf-8″>
<meta name = “viewport” content=”initial-scale=1,maximum-scale=1,user-scalable=no,width=device-width,target-densityDpi=device-dpi” />
<link rel=”stylesheet” href=”lib/bolt.css” type=”text/css” media=”screen” charset=”utf-8″>
<link rel=”stylesheet” href=”pkg/helloworld.css” type=”text/css” media=”screen” charset=”utf-8″>
<script src=”lib/bolt.js”></script>
<!– HelloWorld JS –>
<script type=”text/javascript” charset=”utf-8″ src=”pkg/helloworld.js”></script>
</head>
<body>
<script type=”text/javascript” charset=”utf-8″>
var helloworld = require(‘helloworld’);
helloworld.init();
</script>
</body>
</html>

단순한 예제여서 Bolt.JS의 특징을 한번에 파악할 수는 없지만, 모듈 기반의 개발방식을 한눈에 알 수 있다. CommonJS 규약을 지키는 Node.JS 모듈을 Bolt.JS의 모듈로써 사용할 수도 있을 것이다. 성공적인 중/대형 규모의 어플리케이션의 특징가운데 하나는 모듈화에 있으므로 Bolt.JS의 API 표준화 정책은 많은 개발자의 참여를 불러일으킬 것이라 예측할 수 있다.

활용:
지정된 프레임워크가 없는 사내 개발환경에 CommonJS 규약에 의한 개발방식은 언뜻 생각해도 몇몇 부분에서 시너지 효과를 가져올 것이라 쉽게 예측할 수 있다:

– 각 부서별/팀별로 중복으로 제작할 필요가 없고, 부서별로 모듈을 유지보수하는 비용이 줄어들 것이다.
– 사내에서 개발하는 것 자체가 글로벌에 적용될 수 있다.

결론:
Apple AppStore에 휘말리지 않겠다는 의지를 보인 Facebook의 행보는 HTML5 어플리케이션 개발의 흐름에 한번더 큰 변화를 가져다 줄 것이며 글로벌 사업을 향하는 여러 업체의 사업방향에도 영향을 줄 것이다. 따라서, Bolt.JS 와 CommonJS 표준화 개발방식을 검토할 필요가 있다는 것을 강조한다.

미디어 플랫폼의 확장

이미 1년전에 등장한 서비스로 이미 알고 계신 분도 있을 줄 압니다만…

현재 tving의 주 용도인 방송보기와 더불어 판매.홍보 마케팅 툴로 확대하여 좀 더 다양한 경험을 제공하고 tving을 활성화 할 수 있는 사례가 있어 공유드리고자 합니다.

 

영국 브랜드인 프렌치커넥션이 영상 기반인 유튜브 채널에 온라인 상점을 열어 판매를 유도하고 있습니다.

모델의 핏팅모습과 각종 정보는 물론 바로 구매도 가능합니다.

영상내에서 이뤄지는 다양한 인터랙션과 유니크한 영상들은 독특한 감성을 전달하고 sns에 유통되기에도 좋은 퀄리티과 스토리를 갖고 있습니다.

http://www.youtube.com/frenchconnection#p/c/FABF1C5ECB9D9616/8/C05IiZNFynU

 

방송 콘텐츠를 시청할 수 있는 서비스 뿐만아니라 다른 채널에선 볼 수 없는 유니크한 영상, 정보를 담은 미디어 플랫폼으로 브랜드 및 기업 마케팅에 활용해 본다면 비록 제품의 구매와 직접적인 영향은 작더라도 tving의 가치를 발굴하고 확장하는 가능성의 시도차원에서 의미가 있을 것이라고 생각합니다.

 

그리고 현재 tving에 영화 카테고리가 신설되었는데

좋은 서비스와 훌륭한 콘텐츠임에도 불구하고 그 활용성에서 조금 아쉬운데요

itunes처럼 임팩트있는 화면 구성을 통하여 몰입도를 높이고 템플릿화하여 운영이슈도 줄이는 노력이 필요해 보입니다.

 

http://www.tving.com/sm/ms/SMMS100Q.do

 

http://trailers.apple.com/trailers/wb/harrypotterandthedeathlyhallowspart2/

 

TV 이탈 현상, 10대 평균 시청시간 5년만에 30% 감소

ここから本文です

若い世代のTV離れが一目瞭然 視聴時間が5年で3割以上も減少

NEWS ポストセブン 11月4日(金)7時6分配信

テレビの危機を指摘するのに、もはや言葉は要らない。客観的なデータがそれを如実に示している。

テレビの視聴率低下がいよいよ深刻である。

10月3~9日の視聴率トップは、日本テレビ系『笑点』で18.1%。これは週間1位としては史上最低の数字だった。さらにその前週(9月26日~10月2日)には、かつてなら低視聴率に入る12%台の番組がトップ30以内に入るといった具合である。

フジテレビ系列の産経新聞は、紙面でこう嘆いた。

〈ついにその日がきた、という感じだ。「12%台」でもトップ30入りしてしまった。前代未聞の事態だ。(中略)ことここに至っては、よほどフンドシを締めてかからないと「回復」どころか「歯止め」すらおぼつかなくなるのではないか、と危惧する〉(10月4日付)

だが、こうした事態にもテレビ関係者は、「録画視聴が多くなったから」だの、「若い世代は携帯やワンセグで見ている」だのと言い訳する。つまり、実際の視聴率はもっと高いはずだと強弁するのだ。

だが、それがウソであることは、種々のデータを見れば明らかである。

今年8月に総務省が発表した「情報通信白書」には、世代別の「テレビを見る」時間を過去と比較したデータがある。若い世代のテレビ離れは一目瞭然。10代では、2005年に1日平均106分だった視聴時間が、2010年には70分と、わずか5年で3割以上も減少している。同様に20代では、2005年に104分だったのが2010年には76分に激減。かつて「テレビの見過ぎだ」と大人たちから叱られていた日本の若者は、この5年で、自然と1日30分もテレビ視聴時間を減らすことに成功したわけだ。

ほかの世代を見ると、50代・60代ではテレビ視聴時間が微増しているが、全世代を通しても1日で4分の減少となっているから、若者の減少分をカバーできなくなっているのが現状である。

さらにNTTコミュニケーションズが2010年3月に発表したテレビ視聴の実態に関するアンケート調査では、20代以下で「ほとんどテレビを見ない」層が14.7%もいるという驚愕のデータが明らかになっている。

しかも同調査によれば、録画して時間のあるときに見る層も17.3%に過ぎず、携帯やワンセグで見る層にいたってはわずか0.5%しかいなかった。

つまり、録画やワンセグという言い訳は完全にウソで、若者たちは、テレビ番組そのものを見なくなっているのである。

※週刊ポスト2011年11月11日号

 

[ Google TV , Apple TV 그리고 TV의 미래 ]

Where Netflix wants to go next: India, Korea, Japan?

Where Netflix wants to go next: India, Korea, Japan?

By Nov. 2, 2011, 3:50pm PT 1 Comment
  • Netflix recently announced that it has put its international expansion on hold until global profitability returns, but that doesn’t mean the company isn’t already making plans for additional markets.

A recent job ad searched for language specialists fluent in a dozen additional languages to localize the Netflix service. The ad, which has since been taken down, read in part:

“We are looking for experienced linguists with the ability to translate and customize marketing, UI and content materials for the target market. We are looking for highly motivated individuals with the right mix of technical, organizational and communication skills to provide localization for the Netflix experience in the following languages: Turkish, Dutch, Russian, French, Hindi, German, Italian, Danish, Korean, Finnish, Japanese, and Spanish.”

Netflix first crossed the U.S. border when it expanded to Canada in September of 2010, and then surprised everyone with a massive expansion to 43 countries across Latin America and the Carribean in July. Most recently, the company announced that it will open shop in the U.K. and Ireland in early 2012, and a Variety report hinted at an expansion to Spain in 2012as well.

This kind of aggressive international expansion doesn’t come cheap: Netflix announced in conjunction with its most recent quarterly earnings that it expects to lose between $60 million and $70 million in foreign markets during the current quarter, and CEO Reed Hastings said during the Q3 earnings call that any further expansion is put on hold until the company returns to global profitability, which could take “some number of quarters.”

So Netflix won’t come to Korea, or any of the other countries mentioned, in the next few months. However, one shouldn’t assume that the company stands by idle, watching revenue numbers without preparing any further international roll-out. Of course, Netflix also wouldn’t want to tell the world where exactly it is gonna go next, which is why we should assume that some of those languages mentioned were simply thrown in the mix to confuse competitors.

Still, it’s worth looking at the list, if only to evaluate what would make the most sense for Netflix. I have to say I see three likely scenarios:

  • Russia and India: Netflix could further expand to emerging markets, which would be a similar long term bet as their launch in Latin America.
  • France, the Netherlands, Germany, Italy, Finland, Denmark, Spain and Turkey: Targeting continental Europe could be harder and more costly for Netflix, but also possibly bring some short-term rewards as the Internet infrastructure in most of those countries is en par, if not better than in the U.S., and household income isn’t far behind. This would essentially be a logical follow-up to its U.K. and Ireland plans.
  • Japan and Korea: Asia might be even more interesting to Netflix; Hulu of course recently launched in Japan, but I have a hunch that Korea would be an even better fit. The country has some of the home fastest Internet connections in the world, and people are already used to cloud media, thanks to countless Webhard-style offerings. Also, Netflix has seen a huge influx of Korean content in recent months, which would be essential to target the local market.

In the end, we’ll have to wait and see until Netflix makes some money again to figure out which of those countries it has had on the top of its list. A Netflix spokesperson told me that the company doesn’t discuss recruitment issues when asked about the job offer.

 

방송에도 손 뻗치는 구글

방송에도 손 뻗치는 구글
유튜브서 서비스… 온라인 채널 100개 열기로
인터넷 공룡 구글이 방송영역으로까지 손을 뻗치고 있다. 자회사 유튜브를 통해 방송서비스를 시작한다는 계획인데, 장기적으론 방송시장에 대지각 변동이 올 수도 있다는 평가다.

31일 월스트리트저널에 따르면 유튜브는 가수 마돈나, 농구스타 샤킬 오닐 등 유명인사와 손잡고 온라인 채널 100여 개를 개설, 프로그램을 내보 낼 예정이다. 할리우드 제작사, 미디어 회사 등 76개 회사가 유튜브에 채널을 개설하고 하루 25시간 분량의 프로그램을 제공하는 방식이다. 구글은 제작사와 유튜브광고수익을 나누고, 제작비를 일부 지원하는 방안을 제안한 것으로 알려졌다.

이에 따라 시청자들은 통상 케이블방송 채널에서 보던 패션, 뷰티, 요리, 스포츠, 음악, 건강 등 19개 분야의 프로그램을 유튜브 채널을 아무 때나 접할 수 있게 된다. 프로그램은 각 분야 전문가가 직접 프로그램을 진행하게 되는데 예컨대 댄스 채널은 마돈나가, 스포츠 채널은 스케이트보드 선수 토니 호크가 맡는 식이다. 이 밖에 배우 애쉬튼 커처, 가수 제이지, 할리우드 배우들의 트레이너 질리언 마이클스, 대체의학 권위자 디팍초프라 등도 대거 구글 방송에 참여한다.

구글은 유튜브를 종래의 동영상공유 사이트에서 사실상 방송프로그램 채널로 바꿔나간다는 구상. 구글 관계자는 “처음에는 네티즌들이 제작한 영상이 주요 콘텐츠였지만 방송 채널로서도 영향력을 충분히 가질 수 있을 것으로 보고 동영상 제공이라는 특성을 더욱 강화했다”고 설명했다.

구글은 유튜브상의 채널들이 양질의 콘텐츠를 제공하는지 관리 감독하는 역할을 하게 된다. 유튜브에 새롭게 생기는 100여개의 채널은 올 가을부터 내년 중순까지 순차적으로 출범될 예정이다.

케이블 방송사를 비롯 텔레비전 네트워크 업계에서는 구글의 행보 탓에 바짝 긴장하고 있다. 인터넷에서 모바일까지 사업 영역을 무한대로 확장하고 있는 구글이 방송시장 판도를 완전히 바꿔놓을 수도 있다는 것. 업계 관계자는 “기존 아마추어 동영상을 제공할 때도 네티즌의 관심을 모았는데 전문 콘텐츠를 실시간으로 내보낸다면 방송시장의 지각변동은 불가피 할 것”이라면서 “구글의 견고한 방문자수는 방송 흥행의 보증수표나 다름없다”고 설명했다.

더구나 구글은 콘텐츠 제작사들에게 광고수익 55%를 지급하기로 한 상태. 또 막강한 자금력을 바탕으로 이미 약 1억 달러에 달하는 비용을 제작자들에게 콘텐츠 제작비용으로 사전 지급한 것으로 알려졌다. 이렇게 되면 콘텐츠 제작자들도 케이블을 떠나 구글 쪽으로 쏠려, 결국 구글은 양질의 콘텐츠까지 확보하게 될 것이란 전망이다.

 

WiFiDirect (1)

Wi-Fi Direct 등장! Bluetooth의 대응은?

이번 CES2011에서 Wi-Fi Direct라는 기술이 주목받고 있습니다.

WiFi Direct는 WiFi Alliance가 개발한 기술로 기존의 Wi-Fi 기술을 활용해 이통망이나 AP없이도 단말기간 빠르고 안전하며 끊김없는 접속을 지원합니다. 이는 기존의 Bluetooth기술을 대체할 가능성이 높으며 실제로 보다 응용할수 있는 기술이나 기능도 풍부합니다.

Wifi Direct는 표준 WiFi기술을 활용하긴 하지만 네트워크 접속방식은 전혀 다릅니다. 즉 기존의 WiFi네트워크나 라우터,AP등을 경유하지 않고 P2P(Peer to Peer)방식을 활용합니다. 뿐만 아니라 기존의 WiFi단말기에도 적용이 가능하며, Bluetooth에 비해 접속범위,반경이 더 넓을뿐 아니라 데이터전송용량 또한 큽니다.

이러한 WiFi Direct탑재 단말은 디지털카메라, 엔터테인먼트 단말, PC등 다양한 단말간 콘텐츠 동기화가 용이해 진다는 장점이 있습니다. 물론 이러한 기술을 위해서는 보다 강력한 보안기술이 필요할 것입니다.

앞서 소개했던 Zigbee, Bluetooth등의 모든 장점을 포함할수 있을것으로 보여, PAN(Personal Area Network)을 구성하는데도 좋아보입니다. 이제 슬슬 제가 꿈꾸는 디지털라이프가 점점 현실로 다가오는군요. 기기간의 커뮤니케이션! 아~ 기대됩니다 ㅎㅎ

” [http://predicto.tistory.com/63, Predicto님 블로그에서 일부글 발췌했습니다]

Wi-Fi Direct는 탑재된 디바이스는 이전의 Wi-Fi 단말과 자유롭게 통신이 가능합니다. 기존의 Wi-Fi 규격인 802.11 a/g/n을 그대로 사용합니다.

기존의 Wi-Fi 디바이스들은 제조사의 software upgrade만으로 Wi-Fi Direct 기능이 제공 가능합니다. H/W 교체가 필요하지 않습니다.

일부 디바이스들은 Wi-Fi 네트워크와 Wi-Fi Direct 네트워크에 동시에 접속할 수 있습니다. 또한, 이 디바이스를 통해서 Wi-Fi Direct 네트워크에 연결된 다른 디바이스들이 인터넷을 사용할 수 있습니다. 예를 들어, 노트북을 Wi-Fi AP로 만들어서 여러 대의 스마트폰이 노트북을 통해서 인터넷에 접속하도록 할 수 있습니다.

Wi-Fi Alliance 멤버 회사의 제품에서만 Wi-Fi CERTIFIED Wi-Fi Direct 기술이 지원될 것이라고 밝히고 있지만, 애플, 인텔, MS, 시스코, 소니, 삼성 등 저희가 아는 회사들은 대부분 Wi-Fi Alliance 멤버이므로 대부분의 디바이스에서 Wi-Fi Direct 기술이 지원될 것으로 예상됩니다. “

WiFi Direct를 사용하기 위해서는 기존의 WiFi의 경우 펌웨어 업데이트가 필수적이라고 하며, Apple도 Wi-Fi Direct에 합의하고 iPhone, iPod 등에 이 기술을 적용할것이라고 알려지고 있습니다.

앞으로 몇년안에 집안의 모든 이더넷케이블이 사라질거 같습니다. 거실의 이더넷포트에 WiFi AP만 하나 설치해놓고, 다른 모든 기기들은 WiFi를 사용하게 되는 때가 곧 올것입니다. STB, 인터넷전화, 데스크탑, 노트북, 스마트폰, 냉장고, TV등 모든 기기가 WiFi를 사용하는 날이 머지않았습니다.

images

미래의 모바일기술에 대한 고민 #5 – 네트워킹편

현시점에서 모바일에서 이용가능한 통신방식은  2G(GSM,CDMA)/3G(IMT)/4G(LTE Advanced), WiFi, Bluetooth, IrDA, RFID, NFC, GPS 정도가 있을것 같습니다. 혹시 빠진 내용이 있다면 댓글로 부탁드립니다 ^^

* Celluar Network

휴대폰에서 기본적으로 사용하는 2G, 3G, 4G에 대해서는 많이 들어보셨을겁니다.
1995년 세계최초로 CDMA다중 접속기술을 사용하는 이동전화시스템을 상용화한 이래로 PCS(GSM, PHS, AMPS, IMT-2000, TDMA,FDMA 등이 이와 같은 범주에 속함) 기술들이 등장했었고, IMT-2000이라는 3세대(3G) 방식이 등장했습니다.
당시 IMT-2000 의 등장으로 전세계가 떠들썩했었죠. 단일화된 공통의 규격으로 어디에서나 자유로운 로밍서비스를 제공한다는 것과 고속의 데이터서비스를 통해 서비스의 질을 높인다는 것이었습니다. 이와 함께 무선규격은 셀룰러통신방식에 탁월한 성능을 가지는 CDMA방식으로 간다는 대원칙도 있었습니다.

지금 시점에서는 이러한 단일규격의 원칙은 찾아보기 힘들며 3G에서도 GSM방식과 CDMA방식으로 양분되었습니다. 2.5세대급인 CDMA2000은 HSPD(High Speed Packet Data)라는 고속데이터 서비스를 통해 350Kbps이상의 전송률(DTP)을 제공하며, EV-DV의 경우는 2Mbps정도의 전송률을 제공합니다.

3G와 4G의 차이점은 특정한 기술의 이름이 아니라 속도에 따른 세대의 구분입니다.  ITU(국제전기통신연합)기구에서 모바일네트워크의 전송속도에 따라 결정하는데, 이는 같은 4G에도 여러기술이 존재할수 있음을 의미합니다.
3G는 ITU에 의해 144k~2Mbps의 전송속도로 규정됐습니다. KT의 Show, SK의 T, LG의 OZ등이 3G에 속하는데 전부 다른기술기반을 가집니다. 4G는 정지중 1Gbps, 이동중 100Mbps의 속도를 가질것으로 규정되었습니다. 기존 아이폰4에 대한 네이밍에 대한 논란이 있었습니다. 보통 애플제품에 붙이는 Generation이라는 단어가 네트워크세대를 표현하는 단어와 같아서 발생했던 문제였죠.
iPhone 4G(4세대) 제품이 네트워크4G를 지원하느냐라는.. 결국엔 iPhone 4라고 네이밍을 했구요. 진정한 4G는 iPhone 5가 될것 같습니다. 현재 통신사에서 4G서비스를 하는곳이 없으니까요.(미국의 Sprint사가 가장 빠르게 대응하는거 같더군요)

하단의 이미지는 대표적인 4G기술입니다. LTE는 많이 들어보셨을거구요. 국내 대기업에서도 많이 참여하고 있답니다.

* LTE (long-term evolution), UMB (ultramobile broadband), and WiMAX II (IEEE 802.16.m)

4G and the ITU

* Protocol Layer

유선환경에서 사용하는 물리계층 Protocol은 Ethernet이며 Network, Transport 계층은 TCP/IP를 사용합니다. 무선환경에서 사용하는 물리계층 Protocol은 Ethernet이 아닌 Bluetooth, Wireless, Zigbee등이 사용됩니다. 이처럼 물리계층의 프로토콜이 다름에도 불구하고 유/무선 네트워크는 실제로 많은 공통점을 가지고 있습니다.

유/무선의 Network/Transport계층의 프로토콜이 아예 같거나 전송방식 자체가 매우 유사한데, TCP에 대해 간단히 살펴볼 필요가 있습니다. TCP의 중요요소를 대략적으로 구분하면 크게 Source Address, Destination Address, Source Port, Destination Port, Session 이렇게 5가지로 나눌수 있습니다.

Session은 Source/Destination간의 상호 안정적인 통신을 보장하기 위해서 존재합니다. Session은 호스트 간에 상호 통신시 데이터가 정확하게 전달되었는지 확인할 수 있는 기능도 제공하지만, Source와 Destination간의 연결 과정이나 연결 유지에 대한 보안적인 측면에서의 신뢰성도 보장합니다. 즉, 쉽게 표현하면 Source와 Destination이 연결되었다고 가정했을 때, 제 3자는 이들의 연결에 함부로 끼어들 수 없는 기능을 제공합니다.

무선 Network 환경에 쓰일 수 있는 매개체는 다양하게 존재합니다. 모두 무선이라는 연결 매개체를 사용한다는 공통점이 있으나 사용하는 주파수가 다르고, 또 주파수 영역마다 특징이 존재하기 때문에 각각 특성에 맞는 활용 분야가 따로 존재합니다. 예를 들어 어떤 주파수는 전송 거리가 짧거나 어떤 주파수는 한번에 전송될 수 있는 데이터 용량이 적기도 합니다.

무선 Network의 활용도는 매우 광범위하기 때문에 각각의 무선 매개체가 활용될 수 분야에 대한 표준 같은 것이 정해진 것은 아닙니다. 아직까지도 Protocol에 대한 표준 재정 작업이 진행중인 것도 있으며 종전에 촉망 받던 매개체가 여러 가지 문제점이나 혹은 보다 나은 매개체의 등장으로 인해 바뀌기도 합니다.

1. Wireless LAN Network

몇년 사이에 Wireless를 이용한 무선 네트워크는 많은 사람들에게 이용되며 각광받고 있습니다. 무선 Protocol의 표준기술을 가리켜 IEEE 802.11이라 부릅니다. 이는 유선에 비해 이동성, 비용, 유연성등의 장점이 있습니다. (Wi-Fi 라고 명칭하기도 합니다)

IEEE 802.11 (b)
Power Profile Hours
Complexity Very Complex
Nodes/Master 32
Latency Enumeration up to 3 seconds
Range 100m
Extendability Roaming possible
Data Rate 11Mbps
Security Authentication Service Set ID (SSID)

2. Bluetooth Network

비교적 저렴한 생산비용과 확장성, 그리고 유연성적인 측면에서 높은 평가를 받고있고, 실제로 많이 사용되고 있습니다. Wi-Fi에 비해서 일반무선네트워크에 쓰이기엔 부족한 전송속도를 갖고 있으며, Zigbee와 비교하여 홈네트워크에 쓰이기엔 높은전력소모와 생산비용을 갖고 있지만, 그 중간단계의 활용분야에서 많이 사용되고 있습니다.

Bluetooth
Power Profile Days
Complexity Complex
Nodes/Master 7
Latency Enumeration up to 10 seconds
Range 10m
Extendability NO
Data Rate 1Mbps
Security 64 bit, 128 bit

3. Zigbee(Zigzag+Bee의 합성어) Network

앞으로 가정내에서 사용하는 가전제품에도 컴퓨팅능력이 들어갈 것이라고 많은 사람들이 말하고 있으며, 실제로도 몇몇 제품들이 실제로도 사용되고 있습니다. 예를 들어 집 밖에서 원격으로 보일러를 조정하여 방안의 온도들을 설정할수도 있습니다. 또한 가전 제품들이 컴퓨팅 능력을 갖춤으로써 서로 간의 통신을 통해 여러 가지 편리한 점들을 누릴 수도 있습니다. 집 주인이 집에 들어왔을 때 집에 들어온 현재 시간을 파악하여 주인이 선호하는 TV 채널을 자동으로 틀게 하는 것도 좋은 예입니다.

Zigbee
Power Profile Years
Complexity Simple
Nodes/Master 64000
Latency Enumeration 30ms
Range 70m~300m
Extendability YES
Data Rate 250Kbps
Security 128bit AES and Application layer user defined

4. RFID Network

RFID는 일반적으로 13.56Mhz대역, 그리고 UHF대역인 860~960Mhz영역이 가장 많이 활용됩니다. 이는 물류네트워크에서 많이 사용되는데 RFID Tag을 물품이나 물류등에 붙여서 사용될수 있습니다. 이 Tag안에는 EPC(Electronic Product Code)라는 것이 존재하여 상품의 제조일,특징 등에 대한 정보를 포함하고 있습니다.

4-1. NFC (Near Field Communication) – RFID Extension

NFC는 초단거리 무선통신 기술로 대략 10cm이내의 기기간에 통신을 가능하게 해줍니다. ISO/IEC 14443 proximity-card standard(비접촉카드 또는 RFID)표준을 확장한 것으로 스마트카드와 리더기를 하나로 합쳐놓은것이라고 생각하면 됩니다.
ISO/IEEE 14443표준을 확장한 것이기 때문에 NFC디바이스간 뿐 아니고 기존의 ISO/IEEE 14443리더기나 스마트카드와도 통신을 할수 있습니다. NFC는 기본적으로 휴대폰에서 사용할 목적으로 만들어졌습니다.

– 13.56MHz의 ISM밴드에서 14KHz의 대역폭을 사용
– 최대 동작 거리: 20cm
– 지원하는 통신 속도: 106, 212, 424, 848 Kbit/s
– 동작모드: Passive, Active

현재 NFC는 주로 휴대폰에서 사용되는데 3가지 방식으로 동작하고 있습니다.

– 카드 에뮬레이션: NFC디바이스(휴대폰)이 기존의 RFID카드와 같이 동작한다. 즉 리더기에 기존의 카드 대신 휴대폰을 가져다 대면 된다.
– 리더 모드: NFC디바이스가 카드 리더기로 동작하는 모드이다.
– P2P 모드: 두대의 NFC디바이스가 서로 통신하는 모드이다.

이렇게 3가지 모드를 지원하기 때문에 NFC디바이스는 매우 다양한 방법으로 사용할 수 있습니다. 휴대폰이 교통카드, 문 열쇠등으로 동작(카드 에뮬레이션), 미술관, 박물관 등에서 작품에 휴대폰을 가까이 가져가면 해당 작품의 소개로 연결하기, 스마트카드 결제 단말기(리더모드), 휴대폰간 명함 교환 (P2P 모드)등등이 가능해집니다.

그리고 통신거리가 매우 짧기 때문에 보안 문제도 간단해지고 통신을 위한 초기 셋업타임이 매우 짧은것이 (0.1초 이하) 최대의 장점입니다.

NFC에 대해서는 다음에 좀더 자세히 포스팅하도록 하겠습니다.

thumbnails

IE6, 이제는 우리가 헤어져야 할 시간!

 

출처 : http://gsinews.co.kr/ArticleView.asp?intNum=11800&ASection=001014

구글은 올해 초 IE6(Internet Explorer 6, 이하 IE6)에서는 자사의 새로운 기능이 동작되지 않을 수도 있다고 발표했다. 세계적인 사이트인 페이스북, 트위터, 유튜브 또한 IE6 지원을 중단했다. 국내 대형포탈 사이트인 네이버, 다음, 네이트 등은 아직 IE6를 지원하고 있지만, 지속적으로 IE6 사용중단 캠페인을 벌이고 있는 상황이다.

▲ IE6로 페이스북에 접속했을 때 오류화면

IE6, 왜 문제인가?

IE6가 도대체 무슨 문제를 가지고 있기에 해외 유명 사이트들은 다들 지원 중단을 외치는 것일까?

IE6 문제점의 첫 번째는 보안 취약점이 있다는 것이다. IE6는 보안에 취약해 액티브X를 통한 악성 애드웨어, 스파이웨어와 같은 악성 애플리케이션을 걸러내지 못하고 설치하게 된다. 실제로 올해 초, 마이크로소프트는 이러한 IE6의 보안 문제를 인지하고 조사에 착수했었다. 게다가 보안 취약점에 대한 빠른 대응이 반드시 필요하다 보니 마이크로소프트에서도 최신 버전인 IE7이나 IE8을 먼저 대응하고, 그 이후에 IE6의 보안취약성 문제를 해결하기도 했었다.

두 번째 문제는 웹 표준화를 따르지 않는다는 점이다. IE6는 2001년에 Windows XP와 함께 등장했다(무려 9년이 지났다!). 그 당시에는 웹 표준화라는 개념이 크지 않을 때였지만, 현 시점에서는 많은 브라우저들이 웹 표준화를 준수해서 개발되었다. 그러다 보니 IE6 기반으로 만든 웹사이트들은 IE6을 제외한 다른 웹 브라우저에서는 정상적으로 보이지 않을 가능성이 있다. 이는 웹 개발자들로 하여금 IE6 웹 사이트의 수정 작업에 많은 시간과 자본을 투자하게 만들어 웹 서비스를 하는 회사의 손실로 이어지게 된다.

그런데 왜 한국만 아직도 IE6를 지원하는 걸까?

국내 사이트들도 사실은 해외 사이트처럼 IE6 지원을 중단하고 싶은 마음은 굴뚝같을 것이다. 그렇지만 현실이 그렇지 않다는 게 문제이다.

▲ 전세계 브라우저별 점유율 비교(StatCounter Global Stats 2010년 10월)

그림에는 나타나지 않았지만 사용률 추이 또한 계속 내려가고 있는 상태다. 하지만 국내는 그렇지가 못하다.

[그림 3]의 국내 브라우저 점유율 그래프를 보면 알 수 있듯이, IE 점유율이 극단적으로 높고 IE6 점유율도 30%가 넘는 상태이다. 이렇게 많이 사용하고 있는 브라우저이다 보니 지원중단을 쉽게 결정할 수 없는 것이다. 게다가 다른 경쟁사에서 모두 IE6를 지원하고 있는데, 혼자서만 IE6를 지원하지 않는다면 고객만 잃을 것이 뻔하지 않겠는가. 그래서 국내 대부분의 사이트들은 IE6 사용 중단 캠페인을 하면서 사용자가 스스로 IE6를 사용하지 않도록 호소하고 있는 것이다. 하지만, 공공기관 등에서 사용하는 시스템이 아직도 IE6, IE7만 지원하는 경우가 있어서 쉽사리 IE8 나 Firefox, Chrome 등으로 바꾸기도 힘든 것이 현실이다.

▲ 국내 브라우저별 점유율 비교 (StatCounter Global Stats 2010년 10월)

IE6, 이제 그만 사용하자!

얼마 전에 인터넷 한 사이트에서는 ‘개발자 좀 살려주세요. 제발! (Save the developers)’ 캠페인도 벌이면서 IE6 사용 중단을 외친 사례가 있었다. 게다가 이찬진 드림위즈 대표가 트위터와 페이스북에서 IE6, IE7을 사용하지 말자고 호소해 화제가 되었다. 이찬진 대표가 이렇게 호소한 이유는 이런 브라우저는 나온 지 오래돼 해커들이 보안 취약점을 낱낱이 알고 있어 해킹 당할 위험이 크기 때문이다.

필자의 마음으로는 마이크로소프트가 강제적으로 IE6를 제거하고 새 버전의 IE로 업데이트 해줬으면 좋겠다는 생각도 들지만 그건 현실적으로 힘든 얘기라 생각된다. 그럼 어떻게 해야 할까? IE6 점유율이 10% 이하로 떨어질 때까지 계속 캠페인을 하면서 기다려야 하는 것일까?

개인적인 의견으로는 대형 포털이나 게임 업체들이 IE6 사용 중지를 하는 이용자들에게 당근을 줄 수 있는 방법을 적극적으로 찾아보면 좋겠다. 그리고 한두 개 회사에서 주도적으로 해결할 부분이 아니므로, 관련 업체들끼리 연대를 해서 IE6 퇴출 캠페인을 대대적으로 벌이고, 공식적인 지원중단 일정을 마련해서 공포하면 좋겠다는 생각도 든다.

마지막으로 주변에서 IE6를 사용하는 사람을 발견한다면, 더 안전하고 좋은 최신 브라우저로 바꾸도록 권유해 주시길 기대한다.

ARM-logo

미래의 모바일기술에 대한 고민 #4 – CPU편

IBM-PC/Mac 등의 데스크탑PC에서의 CPU(중앙처리장치)는 인텔과 AMD 두회사가 거의 시장을 장악했습니다. 물론 CPU제조업체가 이 두회사만 있는 것은 아닙니다. 하지만 현 시점에서 일반 가전제품/AV기기/게임기 시장외에 PC시장에서는 이 둘이 모든 시장을 장악하고 있다고 보는게 맞습니다.

보통 사람들은 CPU의 Clock속도만으로 성능을 판단합니다. 하지만 CPU의 성능을 계산 하는 방법은 Clock 과 동시처리연산수, 이렇게 2가지를 고려해야 합니다. 3Ghz이상의 CPU가 안나오고 있는 이유이기도 하죠.

CPU성능  =  CPU Clock x CPU 개수(Core개수) x Clock 당 부동소수점 연산 회수

과거 100Mhz짜리 CPU에서부터 10여년만에 2~3Ghz클럭의 CPU가 등장했지만, 최근에는 클럭자체가 높아지지 않는 이유는 고클럭의 CPU의 한계때문입니다.
이는 이전 포스팅에서 다루었던 실리콘소자의 한계점이라고 할수 있습니다.  실리콘이 아닌 다른 소자를 사용한다면 더 고클럭으로 갈수도 있겠죠. 어쨋든 현재로써는 이러한 한계점과 전력소모면에서 문제가 있기때문에, 멀티코어로 방향을 선회했다고 볼수있습니다.

낮은 클럭의 멀티코어를 사용하게 되면서, 효율적인 연산을 위해 Cache관리/Pipeline의 증설,효율화를 신경쓰게 되었고 이는 프로그래밍기법면에서도 하드웨어 기반지식이 필요하게 된것입니다. (주로 쓰레드나 멀티태스킹 기법을 의미하겠죠.)

지금까지 CPU에 대해 간단히 설명했습니다. 여기에서 모바일용 CPU가 대두되기 시작하면서 약간은 판도가 달라졌습니다.
기존엔 가장 빠른 CPU, 성능이 좋은 CPU가 인정받았으나, 모바일에서는 성능도 물론 중요하지만 기기의 특성상 배터리사용량을 신경쓰지 않을수 없는거죠. 배터리산업분야도 많은 발전이 있었으나, 무제한으로 쓸수도 없는 상황이다보니 배터리에 다른 스펙들을 맞춰야 되는 상황이 벌어집니다.

Intel에서 나온 넷북용CPU인 ATOM은 기존에 비해 전력소모가 많이 줄어든것은 사실이나,  스마트폰용으로는 적합하지 않는다고 업계는 판단한 모양입니다. 이에 각광받은 기업이 바로 “ARM”입니다.

최근 거의 모든 스마트폰에 탑재되는 프로세서는 ARM프로세서인데 ARM은 반도체 전문 제조, 설계업체입니다. ARM CPU에 뿌리를 두고있는 요즘 대부분의 스마트폰들은 Cortex시리즈를 탑재합니다. Cortex CPU중 몇몇 종은 매우 적은 저전력에서도 높은 동작속도(Clock)을 주어 소형단말기에 매우 용이하다고 평을 받고 있습니다.

ARM아키텍셔 Cortex-A8 CPU

애플에서 만든 A4 CPU

Qualcomm에서 개발한 스냅드래곤

SAMSUNG에서 개발한 ARM기반 CPU

그리고 모바일CPU시장에서도 2세대로 나뉘게 되는 멀티코어CPU들이 등장하기 시작했습니다.
듀얼코어 ARM Cortex-A9 CPU를 채택하여 보다 적은 전력으로 1080p HD급 영상까지 재생가능할 정도로 성능은 좋아졌습니다. Nvidia, Marvell, Samsung.. 등 여러업체들이 이미 듀얼코어 CPU들을 출시했으며, 구글의 android 3.0인 허니콤에서는 멀티코어CPU를 기본사양으로 권장하고 있습니다. 2011년도 스마트폰에는 대부분 이 듀얼코어CPU를 탑재할 것이며 아이폰5도 이를 장착할것이라는 루머가 돌고있습니다.

최근 삼성에서 개발한 듀얼코어CPU - 코드네임 '오리온'

Nvidia에서 나온 듀얼코어CPU 'TEGRA 2'

SOC 반도체칩 회사인 마벨(Marvell)이 스마트폰용 CPU 시장의 게임의 법칙을 다시 쓰고 있습니다. 마벨은 이제 막 듀얼 코어 아키텍처가 도입되고 있는 스마트폰용 CPU 칩 시장에 코어가 3개인 트리플코어 SOC 애플리케이션 프로세서 칩을 출시하여 경쟁사들을 바짝 긴장시키고 있습니다. 마벨이 출시한 Armada 628 애플리케이션 프로세서(application processor)칩은 세계에서 처음으로 아키텍처의 서로 다른 프로세서 코어를 하나의 실리콘 다이에 집적한 스마트폰용 이종집합(heterogeneous) 트리플 코어 CPU 프로세서 칩입니다. 이 칩을 구성하고 있는 핵심 부위인 같은 아키텍처 구조의 코어 2개는 1.5GHz 데이터 처리속도로 초당 2억 개의 삼각형을 처리하는 그래픽 처리 등 멀티미디어 기능을 수행할 뿐만 아니라 1080p 풀 HD급 해상도의 3차원 동영상 화면과 그래픽을 처리해 줍니다. 이는 두 개의 코어가 각각 두 방향에서 1080p 해상도의 영상 프레임을 동시에 처리해주기 때문에 동영상 속의 물체가 3차원으로 보이는 원리입니다. 우리가 물체를 입체적으로 볼 수 있는 것은 두 눈이 물체를 보는 시점과 각도가 미세하게 다르기 때문인 것을 감안한 3차원 동영상 묘사 기술입니다. 삼성의 스마트폰 갤럭시S에 사용된 허밍버드 애플리케이션 프로세서가 초당 9천개의 삼각형을 처리할 수 있다고 하니Armana 628 칩의 그래픽 처리 성능이 얼마나 뛰어난지 상상이 갑니다. 이 두 개의 코어와 아키텍처 구조가 다른 세 번째 프로세서코어는 소비전력을 최소화하면서 각종 멀티미디어 처리 명령어를 최대한 빠르게 처리하도록 도와주는 컨트롤러 기능을 합니다. 이 칩이 1080p 풀HD급 동영상을 최대 10시간 이상 동안 재생할 수 는 것은 바로 이 세 번 째 코어의 힘입니다. 음악 파일은 최대 140시간 이상 재생할 수 있다고 합니다. 이 칩은 또한 USB3.0 스펙을 지원하는 최초의 모바일 기기용 SOC 칩이라고 합니다.

이러한 멀티코어를 스마트폰에서 채용하게 되면, 웹페이지에 들어가는 Javascript, Flash등을 CPU마다 독립적으로 처리가 가능해지며, Apple에서 더이상 퍼포먼스를 이유로 Flash를 거부할 이유가 없어지겠군요. 같은 작업을 하는데 더 적은 전력을 소모하고, 사양높은 게임들이 구동가능해 지며, 빠른 멀티태스킹과 높은반응성, 부드러운UI가 가능해집니다. 위의 그림중 Marvell이 개발한 ARMADA는 트리플코어 CPU로써 현재 갤럭시S에 탑재되있는 CPU는 초당 폴리곤을 9000개밖에 처리못하는 반면, ARMADA는 2억개의 폴리곤을 처리가능합니다.

ps. 일반PC의 CPU하고 다르게 모바일CPU는 GPU처리까지 같이 합니다.

내년쯤엔 쿼드코어, 하이퍼쓰레딩 같은 CPU기술들도 스마트폰에 적용되지않을까라는 예상을 해봅니다. 진짜로 내손안의 PC라는 말이 무색하지 않을 것 같군요.