[차세대웹기술수업-강의04-04] Facebook - Social Platform
- Posted at 2008/03/31 11:14
- Filed under 차세대웹강의
(원본포스트링크: 댓글과 트랙백은 여기로 부탁드립니다.)
"차세대 웹기술과 컨버전스" 네번째 수업시간 "All About Platform" Part 4입니다. (강의자료는 Part1에서 다운)

이번 강의는 Facebook을 많이 들여다 볼 겁니다. 아직 가입하지 않으신 분은 또 계정하나 늘인다셈치고 가입해 보시기 바랍니다. 처음 가입하면 친구리스트가 텅~ 비었겠죠? 그럼 제게 친구신청하세요~ ^^
http://www.facebook.com/profile.php?id=681944947
3. Facebook: Social Platform
[S24] 오늘 강의의 하이라이트라고 할 수 있죠. 소셜 플랫폼의 선두주자, Facebook입니다. 요 근래 Facebook의 고공행진과 더불어 소셜 플랫폼의 중요성이 점점 부각되면서 Facebook이 플랫폼의 대표적인 예로 자주 거론되고 있습니다. 사실 세계에서 가장 큰 소셜 네트워크는 MySpace이지만 가장 빠르게 성장하는 것은 Facebook입니다. 200% 이상의 꾸준한 성장율을 보이고 있죠. Facebook은 2004년 2월에 Mark Zuckerberg라는 하버드 학생에 의해 시작되었습니다. 초기에는 하버드 학생들만의 위한 네트워크였는데 점점 다른 대학으로, 고등학교로, 결국 13살 이상의 모든 사람들의 네트워크로 확대되었습니다. 작년에 MS가 Facebook의 주식 1.6%를 2.4억달러에 인수하면서 Facebook의 가치는 순식간에 150억달러라는 거액으로 뛰었지요.

[S25] 그럼 현재 Facebook의 상태를 보실까요? 위 슬라이드의 자료는 Facebook이 제공하는 현재 통계자료입니다.
http://www.facebook.com/press/info.php?statistics
가입자수는 6700만명을 넘어섰고 매일 평균 25만명이 새로 가입한다네요, 놀랍지 않습니까?
하지만 우리가 눈여겨봐야할 통계는 아래에 있는 플랫폼 관련 통계입니다. Facebook 플랫폼을 이용한 어플리케이션이 15,000개를 넘어섰고 매일 140개정도 새로 추가된다고 합니다.

[S26] Facebook은 2007년 5월 Facebook 플랫폼을 론칭하였습니다. 즉, 외부 개발자나 써드파티 회사들이 Facebook의 방대한 소셜 네트워크 정보를 이용하여 직접 Facebook 어플리케이션을 개발하고 Facebook에 설치할 수 있도록 하는 모든 기능을 담고 있는 것이죠. Facebook이 말하는 플랫폼의 세 가지 특징은 1) 어플리케이션이 Facebook의 기능이나 UI를 그대로 사용하기 때문에 Facebook과 완벽히 통합될 수 있고 2) Facebook의 방대한 소셜 네트워크를 활용하여 어플리케이션의 mass distribution이 가능하며 3) 어플리케이션에서 수익모델을 가져갈 수 있는 기회를 제공한다는 것입니다.
이 중에서도 아마 두번째 특징이 어플리케이션 개발자에게 가장 매력적인 요소가 아닐까 싶습니다. 멋진 아이디어를 구현하여 새로운 웹 서비스를 만들더라도 초기 사용자를 끌어모으지 못해서 고전을 하는 경우가 많습니다. 이는 특히 한국과 같이 닫힌 웹, 웹 비즈니스에 건강한 생태계가 갖추어지지 않은 상태에서는 거의 불가능한 일이죠. 하지만 Facebook은 이미 6700만명이라는 사용자 베이스를 가지고 있기 때문에 좋은 어플리케이션을 만들기만 한다면 소셜 네트워크를 타고 빠르게 확산될 희망을 가질 수 있는겁니다. 이것이 소셜 플랫폼의 강점입니다. 또한 Facebook은 뉴스피드라고 해서 사용자들의 모든 액션을 그 사람의 소셜네트워크에 전파시키는 기능이 있어 어플리케이션이 입소문을 타고 확산될 수 있는 장치를 마련해 두었습니다. 이미 여러 어플리케이션에서 이런 효과를 맛보았지요. 또한 어플리케이션을 개발하고 추가하는 절차가 매우 간단하기 때문에 초기진입장벽이 아주 낮습니다. 그리고 많은 어플리케이션이 만들어질 수 있도록 Funding 프로그램과 무료 호스팅 서비스 등을 제공하고 있습니다. 이런 여러 매력적인 특징들로 인해 Facebook 어플리케이션이 급속히 증가하고 있는 것입니다.
하지만 Facebook 플랫폼이 어플리케이션 개발을 위해 제공하는 기술들은 완전히 Facebook에 의존적입니다. 즉, Facebook 어플리케이션을 다른 소셜 플랫폼에선 사용할 수 없는 것이죠. 물론 대부분의 소셜 플랫폼들이 동일한 방식의 접근을 하고 있습니다. 지난 시간에 설명드린 Open Social이 이런 문제를 해결하자고 Google이 제안한 것입니다. 소셜 어플리케이션 개발을 위한 표준 프레임워크를 정하자는 것이죠. Facebook을 제외한 대부분의 소셜 네트워크 서비스들이 참가하고 있습니다. 제가 보기엔 Facebook 플랫폼과 Open Social 중에 어느 쪽이 더 맞는 방향이냐는 논쟁은 의미가 없어 보입니다. 둘 다 자기 서비스들의 현재 상태에서 취할 수 있는 전략을 선택한 것이죠. 만약 Google의 Orkut이 1위를 달리고 있다면 Open Social이 나왔을까요? (나왔을 수도 있지만 다른 업체들에서 참여를 안했겠죠, 즉 "Open"은 의미없는게 되는거죠) Open Social이 많이 확산되어 의도된대로 개발자들에게 편의를 제공해 준다면 바람직한 일이겠지만 SNS들의 복잡한 역학관계 속에서 쉽게 예상할 수 있는문제는 아닌 것 같습니다.

[S27] Facebook 어플리케이션의 성공 사례로 iLike 소셜 음악 서비스를 보도록 하겠습니다. iLike는 Facebook 어플리케이션을 런칭 후 첫 두주만에 300만명이 가입하는 효과를 봤습니다. 이것은 ICQ, Hotmail, Skype 등 인기 어플리케이션의 성장률을 훨씬 뛰어 넘는 수준입니다. 현재는 1500만명의 Facebook 사용자들이 사용하고 있고 매일 30만명이 추가로 가입한다고 하니 그 성장세가 놀라울 따름입니다. 자, 어떤 플랫폼이 단기간에 이렇게 많은 사용자를 확보할 수 있게 해 줄 수 있나요? 이것이 바로 "소셜"의 힘입니다. 그리고 소셜 플랫폼이 주목받고 있는 이유이구요.

[S28] 그럼 이제부터 Facebook 플랫폼에 대해 뜯어보도록 하겠습니다. 우선 Facebook의 페이지들을 보면 깔끔하고 구조적으로 되어 있는 것을 알 수 있습니다. 어플리케이션을 추가하면 Left Nav 박스에 어플리케이션 이름이 추가됩니다. 그리고 어플리케이션을 위한 공간인 Canvas에 개발자가 만든 화면이 들어갑니다. 그리고 사용자의 Profile 페이지에도 어플리케이션을 위한 공간을 추가할 수 있는데 그것이 Profile Box입니다. 어플리케이션에서 최신 정보를 알릴 필요가 있을 때 News feed에 포스팅할 수 있습니다. 대략 어플리케이션 개발시 중요한 모듈에 대해 소개를 드렸습니다. 완전한 Facebook 페이지의 구조는 "Anatomy of a Facebook Application"에서 살펴 보시기 바랍니다.
[S29] Facebook이 동작하는 방식을 살펴 보기 전에 전형적인 웹 어플리케이션의 동작을 살펴 보면 웹 브라우저가 어플리케이션이 돌고 있는 웹 서버에게 요청하면 처리해서 결과 HTML을 돌려줍니다. 간단하죠?

[S30] 하지만 Facebook 어플리케이션이 동작하는 방식은 약간 복잡합니다. 기본적으로 어플리케이션은 개발자의 서버에 존재합니다. 즉, Facebook 외부에 있다는 것이죠. 그러면 Facebook은 어플리케이션의 존재를 어떻게 알까요? 이것은 어플리케이션 추가시 Callback URL에 해당 어플리케이션의 URL 주소를 입력함으로써 가능해집니다. 웹 브라우저는 Facebook에 요청을 하면 어플리케이션 화면을 만들어내기 위해 Facebook은 Callback URL로 요청을 보냅니다. 그러면 Callback URL의 프로그램 코드가 실행되고 결과 페이지를 만들어 Facebook에 돌려주고 최종적으로 Facebook 페이지와 결합하여 사용자에게 보내 줍니다. 여기서 어플리케이션 코드가 어떤 작업을 하여 무엇을 만들어 돌려 주는지가 중요합니다. 소셜 어플리케이션이므로 당연히 사용자 정보나 친구, 그룹, 이벤트 등에 대한 정보가 필요합니다. Facebook 플랫폼에서 제공하는 API와 FQL(Facebook Query Language)을 이용해 그런 정보를 가져 올 수 있습니다. 어플리케이션 작업 후 만들어지는 페이지는 FBML(FaceBook Markup Language)이라는 마크업 언어로 기술됩니다. 이것은 Facebook에서 해석되어 HTML로 변환되어 웹 브라우저에게 전달되는 것이죠. 이 과정에 대한 자세한 설명은 "Step-by-step Guide to Creating an Application"을 참고하시기 바랍니다. (관심있는 분은 직접 해 보세요, 그리 많은 시간 걸리지 않습니다.^^)
[S31] 그럼 지금부터 어플리케이션 개발을 위해 제공되는 플랫폼의 세 가지 컴포넌트, API, FQL, FBML에 대해 간략히 살펴보겠습니다. 자세한 내용은 아래의 링크들을 참고하세요.

1) API
Facebook에 접근하여 profile, friend, Page, group, photo, and event data 등의 정보를 가져 오거나 News feed를 보내는 등의 기능을 제공하는 REST 방식의 API 모음입니다. 이러한 API를 어플리케이션 프로그래밍에 가져다 쓸 수 있도록 API 클라이언트 라이브러리를 제공합니다. 공식적으로 PHP와 Java 라이브러리만 제공하지만 비공식적으로 Ruby, Perl, Python, .NET 등 대부분의 프로그래밍 언어를 위한 라이브러리를 지원하고 있습니다.
2) FQL (Facebook Query Language)
Facebook data를 요청할 수 있는 SQL 스타일의 인터페이스로서 API를 통해서 접근할 수 있는 데이터에 모두 접근할 수 있습니다. API가 있는데 왜 FQL을 제공할까요? 우선 FQL을 이용하면 특정 필드 정보만 가져 올 수 있어 bandwidth와 parsing cost를 줄일 수 있습니다. 또한 복잡한 요청을 한번에 기술하여 보낼 수 있기 때문에 request 수가 현저히 줄어들고 단일 API(fql.query)를 사용할 수 있기 때문에 일관성 있는 프로그래밍의 장점이 있습니다. 슬라이드의 예와 같이 복잡한 요청을 한번의 query로 끝낼 수 있는 것이죠.

[S32]
3) FBML (FaceBook Markup Language)
Facebook 페이지와 조화롭게 통합하기 위해 마크업 언어로 HTML과 유사하지만 어떤 element는 빠지고 Facebook에 특화된 어떤 요소는 추가되었습니다. 슬라이드의 예를 보면 Photo 어플리케이션 Canvas 상단에 "Create a new photo album"과 "Photos of you" 메뉴 추가는 FBML로 간단히 기술할 수 있습니다. 또한 drag-and-drop 등과 같은 복잡한 기능도 간단한 FBML 태그로 기술할 수 있습니다.

[S33] 2007년 Facebook은 몇 가지 광고 모델들을 발표하였습니다. Facebook 비즈니스 페이지에 가 보면 그들의 광고모델에 대한 소개가 나와 있습니다. 이 중에서 가장 주목해 봐야 할 것이 Social Ads입니다. 많은 SNS가 소셜 광고를 고민하고 있을건데 Facebook Social Ads가 그 첫 시험대에 올랐다고 볼 수 있습니다. 좌측 Left Nav 박스 아래 사용자에 타겟팅된 광고가 노출됩니다. 그리고 News Feed에 매우 재미있는 형태로 웹싸이트가 광고됩니다. 이것은 Facebook Beacon과 관련있습니다. 웹페이지에 Facebook이 제공하는 세줄짜리 코드를 추가하면 사용자들의 액션들(로그인, 상품구매, 상품찜 등)에 대한 정보가 Facebook으로 보내져서 그 사용자의 Profile News feed에 추가되는 것입니다. 마찬가지로 친구들에게 News feed가 날라가겠죠. 예를들어 Joost에서 어떤 채널을 시청하게 되면 그 정보가 Facebook에 News feed에 기록된 것을 볼 수 있습니다. 재밌는 아이디어입니다. 외부 웹싸이트에서 사용자의 액션을 그 싸이트를 홍보하는 광고로 사용하겠다는거죠. 그러면서 덤으로 Facebook 외부에서 사용자들이 무엇을 하는지 정보도 얻구요. 하지만 Privacy 문제가 일어날 가능성이 다분하죠? 아니나다를까 Beacon이 privacy 문제를 일으켰고 급기야 CEO가 공식사과하고 나섰죠. 좀 더 지켜봐야 할 모델인 듯 합니다. 하지만 외부 싸이트와 소셜 네트워크를 어떤 식으로든 연결시키려는 시도를 했다는 점에서 의미가 있다고 봅니다. 좀 더 개선된 아이디어들이 또 나오겠죠? ^^
SNS(소셜 네트워크 서비스)는 이제 단순히 소셜 네트워크만 만들고 보여주는 단계를 넘어서고 있습니다. 어플리케이션들을 플러그인시킴으로써 웹에서 할 수 있는 모든 것
을 그 안에서 할 수 있는 환경을 만들어가고 있는 것이죠. 즉, 소셜 플랫폼으로 진화하고 있는 것입니다. 소셜 플랫폼은 잘 확보된 사용자 기반을 무기로 소셜 광고, 소셜 검색, 소셜 쇼핑 등의 다양한 시도를 할 겁니다. 그리고 어떤 다른 플랫폼 보다 막강한 파워를 낼 것으로 기대됩니다.
"차세대 웹기술과 컨버전스" 네번째 수업시간 "All About Platform" Part 4입니다. (강의자료는 Part1에서 다운)

이번 강의는 Facebook을 많이 들여다 볼 겁니다. 아직 가입하지 않으신 분은 또 계정하나 늘인다셈치고 가입해 보시기 바랍니다. 처음 가입하면 친구리스트가 텅~ 비었겠죠? 그럼 제게 친구신청하세요~ ^^
http://www.facebook.com/profile.php?id=681944947
3. Facebook: Social Platform
[S24] 오늘 강의의 하이라이트라고 할 수 있죠. 소셜 플랫폼의 선두주자, Facebook입니다. 요 근래 Facebook의 고공행진과 더불어 소셜 플랫폼의 중요성이 점점 부각되면서 Facebook이 플랫폼의 대표적인 예로 자주 거론되고 있습니다. 사실 세계에서 가장 큰 소셜 네트워크는 MySpace이지만 가장 빠르게 성장하는 것은 Facebook입니다. 200% 이상의 꾸준한 성장율을 보이고 있죠. Facebook은 2004년 2월에 Mark Zuckerberg라는 하버드 학생에 의해 시작되었습니다. 초기에는 하버드 학생들만의 위한 네트워크였는데 점점 다른 대학으로, 고등학교로, 결국 13살 이상의 모든 사람들의 네트워크로 확대되었습니다. 작년에 MS가 Facebook의 주식 1.6%를 2.4억달러에 인수하면서 Facebook의 가치는 순식간에 150억달러라는 거액으로 뛰었지요.

[S25] 그럼 현재 Facebook의 상태를 보실까요? 위 슬라이드의 자료는 Facebook이 제공하는 현재 통계자료입니다.
http://www.facebook.com/press/info.php?statistics
가입자수는 6700만명을 넘어섰고 매일 평균 25만명이 새로 가입한다네요, 놀랍지 않습니까?
하지만 우리가 눈여겨봐야할 통계는 아래에 있는 플랫폼 관련 통계입니다. Facebook 플랫폼을 이용한 어플리케이션이 15,000개를 넘어섰고 매일 140개정도 새로 추가된다고 합니다.

[S26] Facebook은 2007년 5월 Facebook 플랫폼을 론칭하였습니다. 즉, 외부 개발자나 써드파티 회사들이 Facebook의 방대한 소셜 네트워크 정보를 이용하여 직접 Facebook 어플리케이션을 개발하고 Facebook에 설치할 수 있도록 하는 모든 기능을 담고 있는 것이죠. Facebook이 말하는 플랫폼의 세 가지 특징은 1) 어플리케이션이 Facebook의 기능이나 UI를 그대로 사용하기 때문에 Facebook과 완벽히 통합될 수 있고 2) Facebook의 방대한 소셜 네트워크를 활용하여 어플리케이션의 mass distribution이 가능하며 3) 어플리케이션에서 수익모델을 가져갈 수 있는 기회를 제공한다는 것입니다.
이 중에서도 아마 두번째 특징이 어플리케이션 개발자에게 가장 매력적인 요소가 아닐까 싶습니다. 멋진 아이디어를 구현하여 새로운 웹 서비스를 만들더라도 초기 사용자를 끌어모으지 못해서 고전을 하는 경우가 많습니다. 이는 특히 한국과 같이 닫힌 웹, 웹 비즈니스에 건강한 생태계가 갖추어지지 않은 상태에서는 거의 불가능한 일이죠. 하지만 Facebook은 이미 6700만명이라는 사용자 베이스를 가지고 있기 때문에 좋은 어플리케이션을 만들기만 한다면 소셜 네트워크를 타고 빠르게 확산될 희망을 가질 수 있는겁니다. 이것이 소셜 플랫폼의 강점입니다. 또한 Facebook은 뉴스피드라고 해서 사용자들의 모든 액션을 그 사람의 소셜네트워크에 전파시키는 기능이 있어 어플리케이션이 입소문을 타고 확산될 수 있는 장치를 마련해 두었습니다. 이미 여러 어플리케이션에서 이런 효과를 맛보았지요. 또한 어플리케이션을 개발하고 추가하는 절차가 매우 간단하기 때문에 초기진입장벽이 아주 낮습니다. 그리고 많은 어플리케이션이 만들어질 수 있도록 Funding 프로그램과 무료 호스팅 서비스 등을 제공하고 있습니다. 이런 여러 매력적인 특징들로 인해 Facebook 어플리케이션이 급속히 증가하고 있는 것입니다.
하지만 Facebook 플랫폼이 어플리케이션 개발을 위해 제공하는 기술들은 완전히 Facebook에 의존적입니다. 즉, Facebook 어플리케이션을 다른 소셜 플랫폼에선 사용할 수 없는 것이죠. 물론 대부분의 소셜 플랫폼들이 동일한 방식의 접근을 하고 있습니다. 지난 시간에 설명드린 Open Social이 이런 문제를 해결하자고 Google이 제안한 것입니다. 소셜 어플리케이션 개발을 위한 표준 프레임워크를 정하자는 것이죠. Facebook을 제외한 대부분의 소셜 네트워크 서비스들이 참가하고 있습니다. 제가 보기엔 Facebook 플랫폼과 Open Social 중에 어느 쪽이 더 맞는 방향이냐는 논쟁은 의미가 없어 보입니다. 둘 다 자기 서비스들의 현재 상태에서 취할 수 있는 전략을 선택한 것이죠. 만약 Google의 Orkut이 1위를 달리고 있다면 Open Social이 나왔을까요? (나왔을 수도 있지만 다른 업체들에서 참여를 안했겠죠, 즉 "Open"은 의미없는게 되는거죠) Open Social이 많이 확산되어 의도된대로 개발자들에게 편의를 제공해 준다면 바람직한 일이겠지만 SNS들의 복잡한 역학관계 속에서 쉽게 예상할 수 있는문제는 아닌 것 같습니다.

[S27] Facebook 어플리케이션의 성공 사례로 iLike 소셜 음악 서비스를 보도록 하겠습니다. iLike는 Facebook 어플리케이션을 런칭 후 첫 두주만에 300만명이 가입하는 효과를 봤습니다. 이것은 ICQ, Hotmail, Skype 등 인기 어플리케이션의 성장률을 훨씬 뛰어 넘는 수준입니다. 현재는 1500만명의 Facebook 사용자들이 사용하고 있고 매일 30만명이 추가로 가입한다고 하니 그 성장세가 놀라울 따름입니다. 자, 어떤 플랫폼이 단기간에 이렇게 많은 사용자를 확보할 수 있게 해 줄 수 있나요? 이것이 바로 "소셜"의 힘입니다. 그리고 소셜 플랫폼이 주목받고 있는 이유이구요.

[S28] 그럼 이제부터 Facebook 플랫폼에 대해 뜯어보도록 하겠습니다. 우선 Facebook의 페이지들을 보면 깔끔하고 구조적으로 되어 있는 것을 알 수 있습니다. 어플리케이션을 추가하면 Left Nav 박스에 어플리케이션 이름이 추가됩니다. 그리고 어플리케이션을 위한 공간인 Canvas에 개발자가 만든 화면이 들어갑니다. 그리고 사용자의 Profile 페이지에도 어플리케이션을 위한 공간을 추가할 수 있는데 그것이 Profile Box입니다. 어플리케이션에서 최신 정보를 알릴 필요가 있을 때 News feed에 포스팅할 수 있습니다. 대략 어플리케이션 개발시 중요한 모듈에 대해 소개를 드렸습니다. 완전한 Facebook 페이지의 구조는 "Anatomy of a Facebook Application"에서 살펴 보시기 바랍니다.
[S29] Facebook이 동작하는 방식을 살펴 보기 전에 전형적인 웹 어플리케이션의 동작을 살펴 보면 웹 브라우저가 어플리케이션이 돌고 있는 웹 서버에게 요청하면 처리해서 결과 HTML을 돌려줍니다. 간단하죠?

[S30] 하지만 Facebook 어플리케이션이 동작하는 방식은 약간 복잡합니다. 기본적으로 어플리케이션은 개발자의 서버에 존재합니다. 즉, Facebook 외부에 있다는 것이죠. 그러면 Facebook은 어플리케이션의 존재를 어떻게 알까요? 이것은 어플리케이션 추가시 Callback URL에 해당 어플리케이션의 URL 주소를 입력함으로써 가능해집니다. 웹 브라우저는 Facebook에 요청을 하면 어플리케이션 화면을 만들어내기 위해 Facebook은 Callback URL로 요청을 보냅니다. 그러면 Callback URL의 프로그램 코드가 실행되고 결과 페이지를 만들어 Facebook에 돌려주고 최종적으로 Facebook 페이지와 결합하여 사용자에게 보내 줍니다. 여기서 어플리케이션 코드가 어떤 작업을 하여 무엇을 만들어 돌려 주는지가 중요합니다. 소셜 어플리케이션이므로 당연히 사용자 정보나 친구, 그룹, 이벤트 등에 대한 정보가 필요합니다. Facebook 플랫폼에서 제공하는 API와 FQL(Facebook Query Language)을 이용해 그런 정보를 가져 올 수 있습니다. 어플리케이션 작업 후 만들어지는 페이지는 FBML(FaceBook Markup Language)이라는 마크업 언어로 기술됩니다. 이것은 Facebook에서 해석되어 HTML로 변환되어 웹 브라우저에게 전달되는 것이죠. 이 과정에 대한 자세한 설명은 "Step-by-step Guide to Creating an Application"을 참고하시기 바랍니다. (관심있는 분은 직접 해 보세요, 그리 많은 시간 걸리지 않습니다.^^)
[S31] 그럼 지금부터 어플리케이션 개발을 위해 제공되는 플랫폼의 세 가지 컴포넌트, API, FQL, FBML에 대해 간략히 살펴보겠습니다. 자세한 내용은 아래의 링크들을 참고하세요.

1) API
Facebook에 접근하여 profile, friend, Page, group, photo, and event data 등의 정보를 가져 오거나 News feed를 보내는 등의 기능을 제공하는 REST 방식의 API 모음입니다. 이러한 API를 어플리케이션 프로그래밍에 가져다 쓸 수 있도록 API 클라이언트 라이브러리를 제공합니다. 공식적으로 PHP와 Java 라이브러리만 제공하지만 비공식적으로 Ruby, Perl, Python, .NET 등 대부분의 프로그래밍 언어를 위한 라이브러리를 지원하고 있습니다.
2) FQL (Facebook Query Language)
Facebook data를 요청할 수 있는 SQL 스타일의 인터페이스로서 API를 통해서 접근할 수 있는 데이터에 모두 접근할 수 있습니다. API가 있는데 왜 FQL을 제공할까요? 우선 FQL을 이용하면 특정 필드 정보만 가져 올 수 있어 bandwidth와 parsing cost를 줄일 수 있습니다. 또한 복잡한 요청을 한번에 기술하여 보낼 수 있기 때문에 request 수가 현저히 줄어들고 단일 API(fql.query)를 사용할 수 있기 때문에 일관성 있는 프로그래밍의 장점이 있습니다. 슬라이드의 예와 같이 복잡한 요청을 한번의 query로 끝낼 수 있는 것이죠.

[S32]
3) FBML (FaceBook Markup Language)
Facebook 페이지와 조화롭게 통합하기 위해 마크업 언어로 HTML과 유사하지만 어떤 element는 빠지고 Facebook에 특화된 어떤 요소는 추가되었습니다. 슬라이드의 예를 보면 Photo 어플리케이션 Canvas 상단에 "Create a new photo album"과 "Photos of you" 메뉴 추가는 FBML로 간단히 기술할 수 있습니다. 또한 drag-and-drop 등과 같은 복잡한 기능도 간단한 FBML 태그로 기술할 수 있습니다.

[S33] 2007년 Facebook은 몇 가지 광고 모델들을 발표하였습니다. Facebook 비즈니스 페이지에 가 보면 그들의 광고모델에 대한 소개가 나와 있습니다. 이 중에서 가장 주목해 봐야 할 것이 Social Ads입니다. 많은 SNS가 소셜 광고를 고민하고 있을건데 Facebook Social Ads가 그 첫 시험대에 올랐다고 볼 수 있습니다. 좌측 Left Nav 박스 아래 사용자에 타겟팅된 광고가 노출됩니다. 그리고 News Feed에 매우 재미있는 형태로 웹싸이트가 광고됩니다. 이것은 Facebook Beacon과 관련있습니다. 웹페이지에 Facebook이 제공하는 세줄짜리 코드를 추가하면 사용자들의 액션들(로그인, 상품구매, 상품찜 등)에 대한 정보가 Facebook으로 보내져서 그 사용자의 Profile News feed에 추가되는 것입니다. 마찬가지로 친구들에게 News feed가 날라가겠죠. 예를들어 Joost에서 어떤 채널을 시청하게 되면 그 정보가 Facebook에 News feed에 기록된 것을 볼 수 있습니다. 재밌는 아이디어입니다. 외부 웹싸이트에서 사용자의 액션을 그 싸이트를 홍보하는 광고로 사용하겠다는거죠. 그러면서 덤으로 Facebook 외부에서 사용자들이 무엇을 하는지 정보도 얻구요. 하지만 Privacy 문제가 일어날 가능성이 다분하죠? 아니나다를까 Beacon이 privacy 문제를 일으켰고 급기야 CEO가 공식사과하고 나섰죠. 좀 더 지켜봐야 할 모델인 듯 합니다. 하지만 외부 싸이트와 소셜 네트워크를 어떤 식으로든 연결시키려는 시도를 했다는 점에서 의미가 있다고 봅니다. 좀 더 개선된 아이디어들이 또 나오겠죠? ^^
SNS(소셜 네트워크 서비스)는 이제 단순히 소셜 네트워크만 만들고 보여주는 단계를 넘어서고 있습니다. 어플리케이션들을 플러그인시킴으로써 웹에서 할 수 있는 모든 것

Posted by 한재선
Trackback URL : http://www.web2hub.com/blog/trackback/111

