블로그 이미지
심장이 두근거리고 밤에 꿈에서도 간절히 만나는 그러한 희망을 꿈꾸고 있습니다. 이 절실한 꿈을 위해 인내할 수 있습니다. 이 절실한 꿈을 위해 기다릴 수 있습니다. 당당하게 미래를 바라봅니다. 가슴은 미래를 향해, 그리고 나의 손과 발은 현재를 열심히 가꾸고 있습니다.
by cykaneys
Candle

NOTICE

CALENDAR

«   2008/05   »
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
  • Total : 2869
  • Today : 11  | Yesterday : 25

CATEGORY

분류 전체보기 (57)
웹3.0 이란? (18)
웹3.0 Technology (11)
웹3.0 비즈니스 (4)
경영 & CEO (9)
Web2.0+Open Social 동향 (8)
About (1)
Book (3)
집단지성 (3)

ARCHIVE



  1. 2008/05/17
    구글의 오픈소셜 기획/디자인 지침서
  2. 2008/05/17
    RDF, RDF 스키마, OWL은 어떻게 다른가?
  3. 2008/05/17
    [시맨틱웹] 2.5. RDF가 무엇인가요? [펌]

Social Design Best Practices

If you're new to developing social applications, it can be difficult to immediately grasp how good applications facilitate fun and meaningful social experiences. To accelerate your learning, we've come up with a list of a few light-hearted recommendations around building good social applications. Not all of these "best practices" are necessary in every case, but they might spark thoughts about finding new users, keeping old ones, and leveraging the social graph for fresh content and viral spread.

1. Engage Quickly

Across containers, there's a common tendency for a user to take a chance on an unknown application, and shortly thereafter remove it if no immediate value is found. The lesson to be learned from this interaction is that first impressions really do matter, and it's necessary to engage the user quickly before attention is lost. To this end, we suggest you focus on the 30-second experience; before distracting the user with expert features or sending invites, slow down and give the user a simpler taste of what your application is about. Try the following:

  • Show value and identity by making the purpose and core features of your application absolutely clear.
  • Populate the application with fun or interesting content (especially content from friends) that makes for a browse-friendly experience.
  • Make it easy for the user to add content, change settings and feel ownership of the application. This increases a user's desire to keep the application on his/her profile.


2. Mimic Look and Feel

Across OpenSocial containers there can be a lot of variation in the look and feel of pages and profiles. When designing your application, it can help to attempt consistency with the container UI by using similar fonts, tabs and buttons.

In cases where applications strive for stronger identity, it can be good to create a UI look and feel which is slightly distinct but still aesthetically strong to play on a user's tastes and need for self expression.

3. Enable Self Expression

The profile page in a container is often a representation of a user's identity, interests and tastes. From the perspective of the owner, it's a means for self expression and a starting point for exploring the social graph. From the perspective of viewers, it's a place to learn, communicate, and find shared interests. Applications best take advantage of the profile by enabling self expression through common interests around entertainment, brands and groups. Self expression is also enabled through specific forms of communication like gestures and gifts or conversations around special topics.

4. Make it Dynamic

Good social applications aren't only static badges of self expression; they dynamically change to provide an interesting experience across sessions. Change can be derived from the social graph as friends interact with the application to change its state. Change can also occur as the application internally generates new content. In both cases, the day-to-day changes can help to keep an application interesting and desired over time.

5. Expose Friend Activity

A particularly easy way to make an application dynamic and social is to record and present the activities of friends who are using the application. This could be thought of as an application-specific activity stream in which the news and updates of friends are always presented in the context of the application itself. From these activities, users become more aware of how others are using the application, driving increased use and change.

6. Browse the Graph

Exposing the activities of friends is one method among many for passively browsing the social graph. Users are often interested in low-effort interactions like viewing a friend's most recent activity, comparing content and choices, and indirectly interacting through their own activity. In supporting this style of interactions, it's essential to make it easy to browse what friends are doing. This is often achieved by linking names to a user's container profile or even creating application-specific user profiles which provide an overview of a user's activity and content.

Browsing the graph can also certainly extend beyond just friends. In some circumstances, it can be interesting to see and interact friends-of-friends, especially when drawn together by shared interests. Creating ways for a user to grow his/her social circle adds value to an application from the user's perspective by unearthing opportunities for new friends and content.

7. Drive Communication

Browsing friends' activities and content often flows well into conversation, creating an opportunity to develop deeper social interaction. In places where communication can happen, it's good practice to make the option explicitly available. This can be done in a more persistent, public manner through a comment system or sharing wall. It can also be done in private by linking into a container's messaging, email or instant messaging systems, or even through an internal communication layer like pokes or other simple gestures and messages.

8. Build Communities

A container's entire social graph is often huge, and even a user's immediate social circle might be too large for a user to easily track. By growing smaller communities and making them accessible, an application can provide rich and interesting functionality that enhances the overall social experience. There are three categories of communities which applications commonly build and utilize:

  • Grouped relationships (e.g. best friends, family, classmates, etc.).
  • Shared interests among a user's immediate social circle.
  • Shared interests among the entire social graph.

9. Solve Real World Tasks

Self expression and communication are often fun and entertaining alone, but OpenSocial is also a platform that can be leveraged to solve real world tasks where the social graph assists us in making decisions. For example, while some might be prone to grab a book at random off the shelf, there are many who appreciate a good recommendation from a friend. With a variety of possibilities in entertainment and interests, it can be useful to facilitate meetings, purchases, recommendations, information management and learning to create a richer, more lasting experience across your application.


구글 오픈소셜과 소셜 디자인 구축 가이드라인 | 구글
 2008.03.22 11:49
유연정(tinyyyj) 
마이크로소프트의 페이스북 지분참여로 시끌시끌한 사이에, 구글이 판세를 뒤집는 시도를 한 구글 오픈 소셜(Google OpenSocial). 수많은 업체들이 관심을 보이는 가운데 벌써 1차 파트너사 및 애플리케이션을 공개하고, 이어 어떻게 하면 소셜 디자인을 잘 할 수 있는지 가이드라인 문서까지 공개했다.
사실 이런 가이드라인이라는 것이 쓱 보면 뻔한 얘기로 느껴지는 경우가 많은데, 영어 울렁증이 있는 분들도 있고하여, 살짝 골자만 한글로 옮겨보는 것도 좋겠다싶고, 나도 한번 약간 시간을 더 들여 생각해보자는 측면에서 몇자 적어본다.

1. 첫눈에 느낄 수 있게 만들어라
- 이용자가 새로운 애플리케이션을 접했을때 바로 내게 어떤 잇점이 있는지 느껴지지 않으면, 이용하지 않는다는 점을 강조한다. 즉, 30초 안에 이게 뭐하는 애플리케이션인지 바로 알 수 있게 만들어야 한다.
 
1) 애플리케이션의 목적과 기능을 명확하게 하고 어떤 잇점이 있는지 보여줄 것. 2) 친구들이 해당 애플리케이션에 참여해서 만들어낸 결과를 쉽게 둘러볼 수 있도록 할 것. 3) 직접 내가 이 애플리케이션을 제어할 수 있다는 느낌을 주면 이 애플리케이션을 지속적으로 쓰고 싶어할 확률이 높아진다.


2. 해당 서비스의 디자인 분위기를 유지하라
 - 어떤 플랫폼을 이용하고 있는지에 따라 해당 서비스의 UI 분위기(글꼴, 탭/버튼 모양 등)를 유지하는 애플리케이션을 만드는 것이 중요하다.

3. 자신을 표현할 수 있도록 하라
- 이용자 프로필 기능은 자신을 나타낼 수 있으면서, 친구들간의 관계를 타고 나가는 시작점이다. 다른 사람들은 어떤 이의 프로필을 통해서 그 사람의 관심사를 알 수 있고 서로 소통할 수 있다. 사람들간의 연결을 위해서는 자신을 나타낼 수 있도록 하는 기능을 제공하는 것이 필수적이라는 얘기. 자기 맘대로 꾸밀 수 있는 기능 등을 포함하는 의미도 있겠다.

4. 활발하게 움직이도록 하라
- 단순히 고정된 형태의 프로필만을 제공하는 딱딱한 형식보다는 친구들과 상호작용하면서 변화되는 상태들을 보여줄 수 있는 애플리케이션을 만들라는 얘기. 애플리케이션을 가지고 놀면서 새로운 결과들이 계속 나오도록 하라는 얘기 정도.

5. 친구들의 활동을 보여주어라
 - 어떤 친구들이 이 애플리케이션을 어떻게 쓰고 있는지 보여주라는 당연한 얘기. 이렇게 활동을 보여주는 것을 통해서 그 결과물을 보고 많은 사람들이 이 애플리케이션에 참여할 수 있겠지.
소셜그래프를 따라갈 수 있도록 하라 - 친구들의 활동을 보여주게 되면 소셜그래프를 탐색할 수 있는 방법으로 활용할 수 있다. 단순히 내 친구들의 활동 결과를 보는 것뿐만 아니라, 친구의 친구의 친구의 친구를 따라다닐 수 있다는 얘기가 되겠지.

6. 새로운 커뮤니케이션이 일어나도록 하라
- 친구들의 활동을 따라다니다가 이 활동들에 대해서 더 얘기할 수 있도록 하라는 얘기. 댓글을 달거나 이메일이나 메신저를 보내거나 하는 거.

7. 커뮤니티가 구축되도록 하라
- 해당 플랫폼의 전체 소셜그래프는 혼자서 다 따라잡기에는 너무 클 수가 있다. 사람들이 수용가능한 작은 단위의 커뮤니티가 생기도록 해야 한다는 얘기. 이런 커뮤니티의 종류로는 1) 관계를 중심으로 한 그룹 (친한친구, 직계존속, 학교친구 등) 2) 한 사람을 둘러싼 관계내에서의 공통 관심사 3) 전체 소셜 그래프내에서의 공통 관심사

8. 실질적인 문제를 풀어주도록 하라
- 단순한 재미로 그칠 것이 아니라 실생활에서 도움이 될만한 기능을 제공하라. 예를 들어 어떤 책을 읽는게 좋을지, 어떤 영화를 보는 게 좋을지. 등을 결정하는 데 도움이 되는 애플리케이션 등은 좀 더 의미를 부여하게 될 것이다. 

[출처] 구글 오픈소셜과 소셜 디자인 구축 가이드라인 ([BU] International Marketing) |작성자 유연정
Trackback 0 And Comment 0

Semantic Web 관련기술



RDF

...시맨틱 웹에서는 RDF(Resource Description Framework)를 이용하여 컨텐츠에 의미를 표현한다. RDF는 메타데이터의 기술과 교환을 위한 프레임워크이며 시맨틱 웹의 핵심 요소라 할 수 있다. RDF는 다양한 메타데이터 사이의 의미적 연결을 위해 의미(semantics), 구조(structure) 및 구문에 대한 공통적인 규칙을 지원한다. 이러한 메커니즘을 통해 기계가 이해할 수 있는 정보 자원을 교환하는 메타데이터 사이의 상호운용 (interoperation)을 지원한다. RDF는 다양한 메타데이터의 의미를 정의하지 않고 메타데이터에 필요한 데이터 요소를 정의해 사용할 수 있게 만든다. RDF는 다음의 주요한 특성을 제공하기 위해 설계되었다.
  • 메타데이터의 상호운용성 지원
  • 기계가 이해할 수 있는 메타데이터의 의미 정의
  • 풀 텍스트(full-text) 검색보다 자원 탐색에서 향상된 정확성 실현


RDF

스키마

...RDF 데이터 모델 명세서는 정보 자원(resource)의 특성(property)들을 선언하고, 특성과 다른 자원 사이의 관계를 정의하기 위한 어떤 메커니즘도 제공하지 않는다. 이런 문제는 RDF 스키마 명세서에서 구체화한 RDF 스키마에 의해 해결할 수 있다. RDF 스키마는 자원의 특성을 기술하기 위해 사용될 수 있는 자원의 집합을 기술하고, 웹 자원을 기술하기 위해 이용된 메타데이터의 구조를 해당 애플리케이션에서 사용되는 특정한 어휘로 정의한다.

...RDF 스키마 명세서는 몇 가지의 기본적인 클래스와 특성들로 구성돼 있고, 주어진 도메인(domain)에 적용하기 위해 다른 도메인으로부터 확장될 수 있다. 클래스는 계층적인 방법으로 정렬되고, 특성의 이용은 클래스의 멤버에 의해 제약될 수 있다. (그림 1)은 클래스, 하위 클래스, 자원의 개념을 나타낸다. 클래스는 둥근 사각형으로 자원을 점으로 표시하고 있다. 화살표는 자원으로부터 화살표가 정의하는 클래스로 연결된 것이다.

...하위 클래스는 둥근 사각형(하위 클래스)으로서, 다른 클래스(상위 클래스)에 의해 완전히 싸여 있음을 보여주고 있다. 만약 자원이 클래스에 속하면, 포함된 클래스를 정의한 자원값은 상위 클래스에 대해 명시적(explicit) 또는 묵시적인(implicit) rdf:type 특성이 존재하게 된다. 접두사 rdf:와 rdfs:는 자원이 RDF 데이터 모델인지 RDF 스키마 명세서의 일부인지를 나타낸다.



OWL

...W3C에 의해 개발된 RDF와 RDF 스키마는 웹 자원의 메타데이터를 기술할 수 있는 표준이지만, 속성의 제약과 클래스의 상속 관계를 표현하는데 제한이 있었다. OWL은 웹에서 온톨로지를 기술하기 위해 RDF와 RDF 스키마보다 풍부한 표현력을 지원하기 위한 많은 특성들을 포함하고 있다. OWL은 미국 주도로 개발된 DAML과 유럽 공동체에 의해 개발된 OIL을 기반으로 확장된 언어이며, 두 언어를 통합한 DAML+OIL의 많은 특징을 계승하고 있다. DAML+OIL과 마찬가지로 OWL도 RDF 스키마의 상위 수준에서 어휘의 의미를 정의하고 있으며 RDF의 클래스와 속성을 이용한다. (그림 2)는 RDF/RDFS, DAML, OIL과 OWL 사이의 서브 클래스 관계를 보여주고 있다.

...OWL은 도메인에 따른 다양한 형태의 요구 항을 수용하기 위해 서로 다른 3개의 서브 언어, OWL Full, DL(Description Logic), Lite등을 정의하고 있다. OWL Full은 OWL이 지원하는 모든 기능을 포함하고 있는 반면 명세서를 지원하는 애플리케이션의 개발이 힘들고 사용자가 원하는 질의에 대한 빠르고 완벽한 답을 얻기 힘들다. OWL DL/Lite는 Full에 기술된 특정 속성에 제약이 있는 반면 애플리케이션의 개발과 언어의 사용에 용이함이 있다. 3개 언어의 특징은 다음과 같다.


OWL

후보


권고안

...최근 W3C는 웹 온톨로지 언어(OWL)를 후보 권고안으로 발표(2003년 8월 18일)하였다. 후보 권고안에는 OWL을 정의하는 6개의 후보 권고안 명세서가 포함되어 있다. 후보 권고안 명세서의 내용은 다음과 같다.


● Web Ontology Language (OWL): Overview
- 내 용 : 언어의 중요한 특징을 목록화하여 제공하는 간단한 소개
- http://www.w3.org/TR/owl-features/
● Web Ontology Language (OWL) Guide Version 1.0
- 내 용 : 사용법 소개
- http://www.w3.org/TR/owl-guide/
● OWL Web Ontology Language Reference
- 내 용 : OWL의 모델링 핵심 어휘 소개
- http://www.w3.org/TR/owl-ref/
● Web Ontology Language (OWL) Abstract Syntax and Semantics
- 내 용 : 언어의 형식적 표준 정의
- http://www.w3.org/TR/owl-semantics/
● Web Ontology Language (OWL) Test Cases
- 내 용 : 다양한 테스트 케이스
- http://www.w3.org/TR/owl-test/
● Web Ontology Language (OWL) Use Cases and Requirements
- 내 용 : 웹 온톨로지 언어의 쓰임새와 OWL의 요구사항 기술
- http://www.w3.org/TR/webont-req/

출처: http://www.giscampus.co.kr/webzine
Trackback 1 And Comment 0

[시맨틱웹] 2.5. RDF가 무엇인가요?

Saturday, July 23rd, 2005 at 10:16 pm

아래 글은 본래 시맨틱웹 시리즈 FAQ 10에 들어가지 않지만, RDF의 개념도 설명하지 않고 시리즈 다음 편인 “꼭 RDF를 사용해야 하나요? XML 으로도 충분해 보이는데”를 한다는 것이 여러모로 무리인 것 같아 가볍게 RDF 개념을 설명하고 넘어가고자 한다. 사실대로 이야기 하자면, 아래 글 역시 시맨틱웹 카페에 있는 글인데, 시맨틱웹 자체에 대해 그리 깊지 못하게 이해하고 있을 때 쓴 글이라 구멍 투성이. (다시 읽어봤는데, 다행히도 틀린 것은 없는 것 같다. ㅋㅋ)

———————————————————–

RDF 개요

세상을 바라보는 방법은 여러가지가 있겠지만 그중 하나는 모든 것을 관계성에 근거를 두고 바라보는 것이다. 즉, 두 객체(object)를 놓고 봤을 때, 두 객체의 관계를 중심으로 하여 객체들을 연결을 시키는 것이다. 또 그 두 객체중 하나는 다른 어떠한 객체와 관계를 형성하고 그 관계를 따라 연결이 된다. 이런 식으로 계속 어느 객체, 또는 사물에 관게성을 줌으로서 계속 연속의 연속을 따라 나아가며 커다란 관계성의 그물을 형성하면 그것들 자체가 하나의 세계관이 될 수가 있다. 예를 들어보는 것이 아마 이해하는데 훨씬 도움이 많이 될 것이다:

1. 세종대왕은 조선의 왕이었다.
2. 세종대왕은 한글의 창시자이다.
3. 한글은 대한민국의 표준어이다.
4. 대한민국의 수도는 서울이다.
5. 서울은 1988년도 올림픽의 주최도시였다.
……

1번의 예에서는 “세종대왕”과 “조선”이 “~의 왕이다”라는 관계를 맺고 있으며 2번에서는 “세종대왕”과 “한글”이 “~의 창시자이다”라는 관계를 맺고 있음을 알 수 있다. 사실 우리 삶에서도 관계성에 기초에서 상황을 기술하는 경우가 허다한데, 가장 흔한 예 중의 하나는 “내 친구의 여동생의 남자친구의 할머니의 스승님은 1940년대 가장 활발하던 독립군 중 준 하나이였다” 것과 비슷한 사람의 관게를 통한 연결이다. 이런 식으로 정보나 데이터를 나타내는 형태를 흔히 일컬어 데이터 모델이라고도 한다.

RDF (Resource Description Framework) 은 월드와이드상에 존재하는 리소스에 관한 정보를 위에서와 같이 관계성에 근거를 두고 나타내 주는 형식 또는 언어이다. 좀더 정확하게는 (:주어 :서술어(predicate) :목적어) 의 형식을 이루는데, 1번의 예를 보면 “세종대왕”은 주어, “조선”은 목적어, “~는 ~의 왕이다”는 서술어임을 알 수 있다. 때로는 ‘리소스, 속성 (property), 리소스’ 라고 대신 표현을 하며 이 하나를 통틀어 문장이라고 부르기도 한다. 그러면 웹에서는 어떤 것들이 더 구체적으로 RDF를 사용할 수 있는가?

1. 김태우 — RunsBlogAt –> http://twlog.net
2. 김태우 — IsAdministratorOf –> http://cafe.daum.net/semanticweb
3. 김태우 — IsInterestedIn –> http://en.wikipedia.org/wiki/Web_2.0
……

이같은 예들은 끝없이 들 수 있다. 이것이 바로 RDF의 강점이다. 웹상의 어느 리소스들이나 위와 같이 단순한 형식으로 표현이 가능하다는 것. 리소스나 관계의 정의들도 단순히 “김태우”라는 어떠한 인물 또는 객체에 국한되는 것이 아니라, URI 로 대체함으로서 표현범위에 사실상 무한한 자유를 준다. 즉, 이제는 웹상의 모든 정보를 컴퓨터가 처리할 수 있는 정형화된 형태로 나타날 수 있다는 것이다.

그렇다면 시맨틱웹에는 RDF가 왜 그리도 중요할까?

총 700쪽이 넘는 백과사전 한권을 샀다고 해보자. 그리고 책을 산 사람은 어떠한 특별한 정보를 찾고 싶어한다. 그런데 불행히도 이 책에는 색인이 존재하지도 않고 책의 구성 또한 주제별도 아니고 가나다순도 아니라고 해보자. 이 사전에서 원하는 정보를 찾는 단 한가지 방법은 사실상 책을 모두 훑어 보는 것이다. 이럴 경우에는 원하는 것을 찾는데 소요되는 시간뿐이 엄청날 뿐만 아니라 때로는 모두를 훑어본 후에도 원한는 자료를 놓쳐서 찾지 못할 경우가 있다. 그 사전 자체에 관한 정보인 색인과 쪽수와 주제별 구성등은 우리가 원한는 정보를 찾는데 훨씬 수월하게 해준다. 이런 의미에서 이런 것들을 메타데이터(Metadata: ‘데이터에 관한 데이터’라는 뜻) 라고 하는데, 메타데이터가 있다는 것은 곧 정보의 검색과 추출, 처리등을 훨씬 신속정확하게 할 수 있다는 것을 뜻한다. 우리가 흔히 접하는 메타데이터의 예는 전화번호부, 도서목록, 영화평 등이 있다. 메타데이터에 관해서는 2장에서 더 자세히 공부하기로 한다.

RDF는 웹의 리소스에 관한 메타데이터를 표현할 수 있게 해주는 언어이다. 이제는 웹페이지내에 존재하는 모든 내용을 읽고 맞는 내용을 찾으려고 할 필요없이 (이것이 바로 현재 검색엔진들의 작동방식) 각자 페이지에 관한 요약 또는 필요점만 보고 정보를 찾아낼 수 있는 것이다. 그리하여 웹상의 모든 문서와 리소스에 관한 자료들을 컴퓨터들이 처리할 수 있는 일관된 형식으로 나타내고 결국 이로 인해서 시맨틱웹이 가능해지는 것이다. 이미 RDF는 널리 상용화가 되기 시작했으며 이는 모질라 브라우저에서 내부 데이터구조를 나타나는데 사용되고 있으며, 뉴스 사이트에서 많이 사용되는 RSS 1.0, 사람의 프로필과 일촌관계를 나타나는 FOAF에서 찾아볼 수 있다.

RDF를 이해한다면 시맨틱웹은 한 반 정도는 이해한다고 할 수 있다. 물론 이세상이 그렇게 간단하지만은 않은 것처럼, RDF도 좀더 많은 복잡한 기능을 요구하는 RDF 스키마와 온톨로지를 필요로 하게 된다. 그렇지만 시맨틱웹의 기초를 RDF와 같은 표준으로 성공적으로 잡았다는 사실 자체로 이미 W3C은 시맨틱웹의 현실화를 좀더 우리 앞에 바짝 이끌어 왔다고 할 수 있다. RDF가 시맨틱웹을 이해하는데 중요한 만큼 이 강좌를 좀더 복습하고 아래에 있는 링크들에서 RDF에 관한 더 자세한 공부도 많이 하기를 바란다. RDF에 관한 자세한 내용은 4장에서 배우기로 한다.

Trackback 0 And Comment 0