2014년 2월 4일 화요일

게이미피케이션 Gamification : 웹과 모바일 앱에 게임 기법 불어넣기

게이미피케이션 Gamification : 웹과 모바일 앱에 게임 기법 불어넣기

게이브 지커맨,크리스토퍼 커닝햄 공저/정진영,송준호,김지원 공역 | 한빛미디어 | 원제 : Gamification by Design: Implementing Game Mechanics in Web and Mobile Apps

http://www.yes24.com/24/goods/6775080?scode=032&OzSrank=1



Gamification에 대해서 대략적인 정의만 들어봤지 자세한 개념이나 사용예에 대해서는 찾아본 적이 없이 그냥 결과물에 적용을 한적이 있었다가 서비스 기획 관련 책을 찾다 보니 눈에 띄어서 보게된 책임.

책에서는 개념, 사용할 수 있는 게임적인 기법들, 적용 업체와 동향, 실제 적용하기들을 다루고 있음.

Gamificiation을 이해하기 위해 기반된 history나 이론을 간략히 다루고 시작하고
사례를 중심으로 법칙이나 이론을 뒷받침 하는 구성으로 되어 있어
관련 지식이 전무한 상황에서도 부담없이 읽을 수 있다.
Gamification을 궁금해 하거나 관련 기획 입문자에게는 적합하지 않을까 생각한다.

그리고 또한 인상 깊었던 것은 옮긴이의 말이었는데
정진영님께서 작성하신 옮긴이의 말을 보면 Gamification은 너무나 매력적이지만 아직 걸음마 단계라 책에서 나오는 논리를 맹목적으로 따라가지 말고 호기심을 키워가는 계기로 삼으라고 하고 있는데.. 동감한다. 특히나 지금 포스퀘어를 보면 더 동감한다.

아래는 책을 읽으면서 공감되거나 인상 깊었던 사항에 대해서 정리함.

p.45, SAPS
Status(지위), Access(접근권), Power(권력), Stuff(물품)
보상시스템이며 앞쪽에 위치할 수록 더 많은 사람이 원하고 집착하는 보상책
 . Status > Badges, Levels and leader-boards
 . Access > loyalty에 따라혜택을 제공하거나, CEO와의 식사, VIP 좌석 제공 등
 . Power > forum에서 moderator 역할
 . Stuff > reward, prize보다는 덜하지만 사용자가 게임을 지속할 수 있도록 주는 공짜 아이템

p.52, Flow
게임이 성공한 요인의 중심에는 '플로우flow'라는 개념이 있습니다. 플로우는 행복과 창의성 연구로 유명한 심리학 교수 미하이 칙센트머하이 Mihaly Csikszentmihalyi가 주창했습니다.
플로우 상태란 플레이어가 지나친 열망과 과도한 권태감 사이에서 적정한 수준의 동기유발이 되고 있음을 의미합니다.

=> 피플웨어서 언급된 내용인데 출처는 알지 못했었음.
http://en.wikipedia.org/wiki/Mihaly_Csikszentmihalyi#Flow

In his seminal work, Flow: The Psychology of Optimal Experience, Csíkszentmihályi outlines his theory that people are happiest when they are in a state of flow— a state of concentration or complete absorption with the activity at hand and the situation. It is a state in which people are so involved in an activity that nothing else seems to matter. The idea of flow is identical to the feeling of being in the zone or in the groove. The flow state is an optimal state of intrinsic motivation, where the person is fully immersed in what he is doing. This is a feeling everyone has at times, characterized by a feeling of great absorption, engagement, fulfillment, and skill—and during which temporal concerns (time, food, ego-self, etc.) are typically ignored.

TED Talk : 미하이 칙센트미하이의 몰입
: http://www.ted.com/talks/mihaly_csikszentmihalyi_on_flow.html

사용자가 Anxiety Area와 Boredom Area 사이에서 Flow를 지속할 수 있는 것을 보여주는 도표


p.64
다니엘 핑크 Daniel H. Pink의 책 "드라이브Drive: 창조적인 사람들을 움직이는 자발적인 동기부여의 힘(청림출판, 2011)"

(TODO) => 보자

p.117, 소셜 몰입 루프
소셜 몰입 루프는 핵심적인 상품 디자인으로 플레이어가 몰입하고 다시 돌아오게 만드는 모델입니다.

Motivating Emotion > Social Call to Action > Player Re-Engagement > Visible Progress/Reward > Motivating Emotion (반복)

Novice Twitter Player의 예
• Motivating emotion = Connecting and expressing
• Player re-engagement = @Mentions
• Social call to action = Tweets
• Visible progress/reward = Followers

초보 사용자가 사람들과 소통하기 위해 Twitter를 사용하게 될 경우 (Motivating emotion)
Tweet을 통해 의견을 개진하고 (Social call to action)
멘션을 통해 더욱 참여하며 재 몰입하게 된다. (User Re-engagement)
결과로 팔로워라는 결과(보여주는 성과)를 얻게 됨 (Visible progress/reward)

Expert Twitter Player의 예
• Motivating emotion = Collecting and ranking
• Player re-engagement = Tweets and re-tweets
• Social call to action = Follows re-tweets
• Visible progress/reward = Listing followers

숙련 사용자는 수집하고 평가하려는 욕구를 가져 (Motivating emotion)
리트윗을 팔로우 하게 되며 (Social Call to Action)
트윗과 리트윗으로 통해 재 몰입 되고 (User Re-engagement)
결과로 얻어진 팔로워의 수를 통해 성과를 확인한다. (Visible Progress/Reward)

: http://www.quora.com/User-Acquisition/How-has-Turntable-fm-grown-so-rapidly-with-no-marketing
: http://lucyhong.blogspot.kr/2012/06/blog-post.html

p.135(영문 P.80), 게임 기법
책에서 12가지의 게임 기법이 표로 정리되어 있는데 참고하면 좋을 것 같다.

Google에서 검색한 pdf 파일  : ftp://ivacuum.ru/i/WooLF/[2011]%20Gamification%20by%20Design.pdf

2014년 2월 3일 월요일

피플웨어 : 정말로 일하고 싶어지는 직장 만들기

피플웨어 : 정말로 일하고 싶어지는 직장 만들기
톰 디마르코,티모시 리스터 공저/박승범 역 | 매일경제신문사


선배의 추천으로 톰 드마르코의 책들을 봤었는데
이 책은 강추를 하게 되어 보게 되었음.
이전 구입을 하려 했었는데 절판이었던 것 같은데.. 지금은 구입 가능. (잘못봤었나? --;) 도서관에서 빌린 책인데 10년동안 많은 사람들이 봤는지 너덜너덜함.
 프로젝트 관리를 소설로 풀어 놓고 대다수의 기업 및 조직을 풍자한 '데드라인', 성과를 위해 잔업 및 군대 문화를 요구하는 조직의 단점과 그런 조직의 발전을 위한 조언을 담은 'Slack'
을 보면서 "관리는 함부로 누구나 하는 것이 아니구나." 라를 느끼며 현재 IT 업계의 현실에 좀 우울 했었음..  
누구나 IT 회사에서 근무를 하게 된다면 경험하게 되는 일반적인 상황들을 인생의 굴레처럼 느끼고 그냥 당연시하게 생각하고 살아가는 중에 위 책들은 나의 생각을 조금은 달리 할 수 있게 해주었다.

피플웨어는 총 6부의 chapter로 구성되어 있고 각 chapter들은 다음과 같다.
1. 인적 자원 관리
2. 사무실 환경
3. 꼭 필요한 사람들
4. 드림팀 키우기
5. 일은 재미 있어야 한다.
6. 피플웨어 그 후

책이 나온지 10년이 넘었기 때문에 사실 chapter 1-5 까지는 좀 오래된 감이 있고 chapter 6는 좀 뜬구름을 잡는 느낌도 있음.

1부, 2부, 3부에서 공감 되었던 것은 인력과 사무실 환경에 대해서 설명하던 부분이었다.

각 개인을 단지 하나의 resource로 바라보며 스페인식 경영을 하는 방법이 그닥 프로젝트의 결과나 회사 측면에서 좋지 않다는 것을 잘 설명해 주었고 사무실 환경이 지식 근로자가 집중(플로 도달)에 큰 도움이 된다는 이유도 여러모로 잘 설득 하였다고 본다.

참고로 종종 소프트웨어 개발 서적에서 나오는 상위, 하위 개발자간의 업무 능력 차이가 10배가 된다는 내용이 이 책에서 나온 얘기 이다.

4,5,6부에서는 팀 구성, 관리, 유지에 대해서 좋은 얘기 들이 나온다.
관리자가 읽는 다면 도움이 많이 되는 내용이고 다소 대규모 회사보다는 중소 기업이나 소규모 프로젝트 팀에 적합할 것으로 보인다.

아래는 읽으면서 공감이 가는 내용과 개인 의견들을 적어 봄.
* 중요한 것은 책을 직접 봐야 아래 내용들이 이해가 갈 것임.

p.18
"사람들은 보통 사람을 다루거나 사람과 관련된 일에 '정치적'인이라는 말을 갖다 붙이곤 하는데 .... 진짜 정치적인 문제는 사소한 부분이고, 사실은 대부분이 사회학적인 문제의 일부분이다."

=> 정치적이라는 핑계를 대며 회피하곤 하는데 정면 돌파 하되 다른 차원의 방법을 찾아봐야 겠다.

p.22, 햄버거 마인드
- 기계(인간 기계)를 최대한 원활히 가동시켜 오동작을 일으키지 않도록 하라.
- 근무시간에 게으름을 피우는 사람들을 봐주지 말라.
- 직원들을 호환 가능한 기계 부품으로 생각하라.
- 작업 능률을 항상 비슷한 수준으로 유지하라(적당한 속도 그 이상 그 이하도 아닌 속도로)
- 프로세스를 표준화하라. 매뉴얼에 적힌 대로 하라.
- 실험적인 시도는 하지 말라. 그것은 본사 경영진들이 할 일이다.

=> 매우 공감한다.. 제조업에서 근무하는 나로써는...

p.34, 빌리 조엘의 비엔나(Vienna) 노래
=> 책에서 말하는 스페인식 경영을 지속하는 회사에서 근무한다면(근무하고 있는지도 모르지만) 정말 위 노래가 머리속에서 계속 반복될 것 같다.. 사실 한창 바빠 집에 마음대로 못 들어갈때 회사 생활, 이직, 새로운 출발, 꿈 등에 대한 책을 많이 읽었던것 같다. 

p.40
시간에 쫓기며 일하는 사람들은 일을 더 잘하는 것이 아니라 단지 더 빠르게 일할 뿐이다.
p.53
관리자들이 프로그래머들과 상의도 하지 않고 단독으로 측정하는 경우와 비교하면, 프로그래머들이 스스로 측정치를 제시한 프로젝트가 더 생산적임을 보여주었다.
낮은 측정치, 빠듯하게 일을 진행해야할 측정치는 개발자의 힘을 빼 버린다. 
p. 65
관리자가 진정 해야 하는 일은 사람들에게 일을 시키는 것이 아니라 그들이 일에 전념할 수 있는 환경을 만들어 주는 것이다.
=> 위 내용들에 대해서 전적으로 동감하며 관리자의 관리 방법, 역량에 따라서 팀 사기나 프로젝트 결과물이 좌지우지 되는 것 같다. 팀 사기가 바닥으로 떨어지고 상황이 지속 된다면 냉소와 패배의식에 사로 잡히게 되는 것 같다..

p.71
감옥 설계 방식의 사무실
=> 아.....

p.79, 개인 편차
- 가장 업무 능력이 뛰어난 사람들은 가장 업무 능력이 떨어지는 사람보다 10배쯤 뛰어나다.
- 가장 업무 능력이 뛰어난 사람들은 중간 정도의 업무 능력을 가진 사람보다 2.5배쯤 뛰어나다.
- 중간 이상의 업무 능력을 가진 사람들은 그렇지 못한 나머지 절반보다 2배쯤 뛰어나다.

생산성과 관련 없는 요소들
- 프로그래밍 언어, 경력, 결함도(좀 의외다.), 급여의 차이
=> 언제나 공부 하며 노력하는게 프로그래머의 기본 이겠지.. 

p.105, 플로
일에 정신 없이 집중하고 있을 때, 사람들은 심리학자들이 '플로(flow)'라고 부르는 이상적인 상태에 빠지게 된다. 플로는 한가지에 깊이 집중하여 거의 명상 상태에 빠지는 것을 의미한다.
... 설계나, 개발, 저작과 같은 업무에는 플로가 필수 요건이다.

p.128
전문적 직원들에 의해 행해지는 일상적인 업무의 대부분은 좌뇌의 연쇄 처리 센터에서 행해진다. 음악은 특별히 이 작업을 방해하지는 않는다. 왜나하면 뇌의 오른쪽이 음악을 소화하기 때문이다.
... 창의적인 도약 과정은 우뇌의 작용이다. 우뇌가 배경 음악을 듣느라 바쁘다면 창의적인 도약 과정이 생겨날 기회는 사라진다.
=> 주변 소음 때문에 음악을 자주 듣긴하는데, 솔직히 코딩에 영향을 미치는 것 같다. 개인적인 집중 시간을 가져야 할듯.

p.149, 꼭 필요한 사람들
- 꼭 필요한 사람들을 뽑아라.
- 그들이 떠나지 않도록 행복하게 만들어라.
- 그들을 자유롭게 풀어 주어라.

p.155
위층의 고위 관리자가 팝콘 튀기는 냄새를 맡았던 것이다. 그는 다음 내용의 쪽지를 게시판에 붙였다. "팝콘은 프로답지 못하다." 그리하여 그 회사에서 팝콘은 금지 되었다.
=> 자주 보는 방법이다.

p.188, 표준화 보다는 통일성
훈련, 도구, 동료의 품평
이런 식으로 방법적인 통일성이 생겨난 후에야 표준화를 생각할 수 있다.

p.190, 호돈효과
위 실험에서 알 수 있는 사실은 변화 자체가 중요한 게 아니라 변화를 가져오는 행동 자체가 더 중요하다는 것이다. 사람들은 뭔가 다른 것에 끌리게 되며, 새롭게 주목할 수 있는 것을 좋아했으며, 참신함에 흥미를 느꼈다. 이것이 바로 '호돈 효과'라 불리는 이론이다.
=> 그런가? Project, 근태 시스템, 사무실 환경의 변화가 도움이 되는 것 같긴하지만 일시적인 것 같아서..

p.199
팀의 목표는 목표의 달성이 아니라 목표의 일치이다.

p.210, 팀 죽이기 전략
- 방어적 관리법
- 관료주의
- 팀을 따로 떨어뜨려 놓기
- 여러 업무를 동시에 분담하기
- 제품의 품질 저하
- 거짓 데드라인
- 소집단 관리

p.217
동시에 여러 가지 업무를 맡는 것은 팀 형성에 좋지 않을 뿐만 아니라 또한 효율성에도 좋지 않다.

=> 회사 생활 얼마하지 않았을 때 매트릭스 조직에 대한 동경이 있었던 것 같다. 여기 저기 프로젝트에 참여하여 자신의 실력을 높힐 수 있고 관리자 측면에서는 최대한 resource를 활용할 것이라고 생각을 했었는데.. 아무것도 모를때라..

p.225
관리자의 기질을 타고난 사람은 거의 무의식적으로 팀에게 무엇을 해줘야 할지를 느낀다.
... 공통점은 바로 관리자가 팀원들이 함께 성공을 거둘 수 있는 작은 업무들을 끊임없이 제공한다는 것이다.

p.238, 건강한 기업을 만들기 위한 독자적 기법
- 품질을 중시하는 문화를 만들어라.
- 종결감을 느끼게 하라.
- 엘리트 의식을 키워 주어라.
- 이질성을 허락하고 격려하라.
- 성공적인 팀들을 잘 유지하고 보호하라.
- 전술적인 것이 아니라 전략적인 방향을 제시하라.

p.252, 건설적인 취지의 무질서를 도입하는 방법
- 실험 프로젝트
- 프로젝트 대회
- 브레인스토밍
- 극기 훈련
- 연수, 여행, 회의, 휴양지 등으로 직원들을 내보내기

=> 극기 훈련은 반대 하지만 다른 방법들은 리프레쉬 하기는 좋은 것 같다. 다만 정말 바쁜 상태에서는 이런 방법도 무시될 것이다.

p.284
사람들이 초과 근무를 하는 이유는 과제를 주어진 시간 안에 끝마치기 위해서라기 보다는, 일을 정해진 기간까지 끝마치지 못했을 때 비난 받게 될 것을 우려해 자신을 보호하기 위함이다.

=> 떠밀려 받은 불가능한 프로젝트 중에서 어쩔 수 없이 초과 근무로 위안 삼는 것이 이해가 간다.

p.289, 팀을 죽이는 부작용들을 만들어내는 관리자들의 행동양식
- 연봉이나 실적을 공개하는 자리를 갖는다.
- 목표 관리(MBO)식 관리 기법을 사용한다.
- 뛰어난 성과를 보인 특정 직원들을 칭찬한다.
- 업무 수행 결과에 각종 상과 보너스를 건다.
- 온갖 방식으로 업무 능력을 측정한다.

p.312
전혀 변화하지 않는다면 발전은 없다.

=> 책 본문에서 나온 것 처럼 사람들은 변화를 원하지 않는다. 그리고 용기도 없을 것이다. 하지만 개개인의 노력이 회사를 조금씩 바꿀 수 있지 않을까? 


2014년 2월 2일 일요일

Dalvik과 ART의 차이

아침에 이런 기사를 보게 됨.

Goodbye Dalvik? Android code commit makes ART runtime the default
: http://liliputing.com/2014/01/goodbye-dalvik-android-code-commit-makes-art-runtime-default.html

Google이 최근 commit에서 Dalvik 대신에 ART 라는 새로운 runtime으로 교체했다는 내용..

기사에서는 Dalvik은 JIT "Just-In-Time" 방식으로 코드를 사용할때 컴파일하는 반면에 ART는 AOT "Ahead-Of-Time" 방식으로 코드를 컴파일 해 놓고 사용하는 방식이라고 설명.

그래서 실행 시 컴파일 해서 사용하는 Dalvik은 실행 시간 및 성능에서 단점을 가지는 반면에 ART는 실행 시간과 성능에서 장점을 가짐. 반대로는 설치 시간에서는 ART가 단점을 가진다고 볼 수 있음.

: http://www.infinum.co/the-capsized-eight/articles/art-vs-dalvik-introducing-the-new-android-runtime-in-kit-kat

ART와 Dalvik의 비교는 아래 링크에서 자세히 볼 수 있고
간략하게 정리하면 ART가 일부 성능과 idle시 Battery 사용 측면에서는 근소하게 우수하고 월등하지는 않다는 것이 아래 글의 내용. 하지만 개발중이니 아직은 뭐..

Meet ART, Part 1: The New Super-Fast Android Runtime Google Has Been Working On In Secret For Over 2 Years Debuts In KitKat
: http://www.androidpolice.com/2013/11/06/meet-art-part-1-the-new-super-fast-android-runtime-google-has-been-working-on-in-secret-for-over-2-years-debuts-in-kitkat/

Meet ART, Part 2: Benchmarks - Performance Won't Blow You Away Today, But It Will Get Better
: http://www.androidpolice.com/2013/11/12/meet-art-part-2-benchmarks-performance-wont-blow-away-today-will-get-better/

Meet ART, Part 3: Battery Life Benchmarks - Not Good, But Not Too Bad
: http://www.androidpolice.com/2014/01/22/meet-art-part-3-battery-life-benchmarks-not-good-but-not-too-bad/

아래 링크에서는 Nexus 5의 사용 시간(idle 및 casual task 수행)이 Dalvik을 사용할때는 17-18시간이지만 ART를 사용했을 경우 24시간을 충분히 사용했다고 함.
: http://www.geek.com/android/work-of-art-testing-out-android-runtime-on-the-nexus-5-1577351/

2014년 1월 28일 화요일

심리학자가 바라본 UX 디자인 ( The Psychologist’s View of UX Design)

개발자이지만 공부하려고 읽어봄.

[The Psychologist’s View of UX Design by Susan Weinschenk, Ph.D.]
 : http://uxmag.com/articles/the-psychologists-view-of-ux-design?utm_source=Twitter&utm_medium=rt&utm_tone=au

[심리학자가 바라본 UX 디자인]
 : http://wooyaggo.tistory.com/406
 : http://wooyaggo.tistory.com/405
 : http://uzys.tistory.com/26

한글 번역과 영문 번역을 보며 정리...

 1. 사람들은 필요 이상으로 생각하거나 일하고 싶어하지 않는다.

  . 점진적 공개(progressive disclosure) => 최소한의 정보만 보여주고 그들이 원한다면 자세한 정보를 볼 수 있게 함.

[100 Things You Should Know About People: #33: Bite-Sized Chunks Of Info Are Best]
  : http://www.blog.theteamw.com/2010/05/07/100-things-you-should-know-about-people-33-bite-sized-chunks-of-info-are-best/

뉴질랜드 관광청사이트를 예로 들면서 뉴질랜드 전체 지도를 처음 제공하여 사용자의 의도에 따라서 더 자세한 내용을 볼 수 있도록 되어 있어 progressive disclosure를 잘 따르고 있다고 말함.
progressive disclosure 시 click 수가 증가하게되는데 사용자는 인지 하지 않은 상황에서 클릭을 하기를 즐기는 관계로 progressive disclosure에서의 click 수 증가는 의미 없다고 지적.

  . 필수 기능만 제공하고 기본값을 제공하라.

 2. 사람들은 저마다 한계가 있다.

  . 필요한 정보만 제공하고 많은 양의 정보, 텍스트는 사람들이 흥미가 있을 때만 가능
  . 훑어보기 쉽게 정보를 제시하고 헤더라 짤막한 글을 사용하라.
  . 사람들은 길이가 짧은 편을 선호하지만 길이가 더 긴 경우 더 잘 읽을 수 있음.
  . 사람들은 멀티태스킹을 할 수 없다.

[Only a Few Can Multitask]
: http://bits.blogs.nytimes.com/2010/03/30/only-a-few-can-multi-task/?_php=true&_type=blogs&_r=0

과학자들은 인간뇌가 하나 이상의 정보를 처리할때 곤란을 겪는 것을 알고 있음.
Utah 대학의 연구에 따르면 실험 참가 대학생 중 2.5만이 multitasking이 가능하다고 말함.

 3. 사람들은 실수를 한다.

  . 실수로 심각한 결과가 초래될 경우, 사용자로 부터 확인을 받도록 하고 취소를 쉽게 하도록 만들라.
   => 실수를 하고 고치도록 돕는 것 보다는 애초에 실수를 하지 않도록 돕는게 휠씬 낫다.
  . 에러 메세지를 띄우지 않는게 최고다.
  . 실수하기 쉬운 과제라면 작은 단위로 쪼개고 실수를 교정한다면 교정 내역을 알리라.
  . UX 디자인 시 여러번의 iteration을 거쳐 유저 피드백과 테스트를 반복하는 게 중요.

 4. 인간의 기억이 작동하는 방식은 매우 복잡하다.

  . 인간은 기억을 계속 재구성한다.  기억을 신뢰하기 보다는 행동을 관찰하라.

[RECONSTRUCTIVE MEMORY: CONFABULATING THE PAST, SIMULATING THE FUTURE]
: http://neurophilosophy.wordpress.com/2007/01/09/reconstructive-memory-confabulating-the-past-simulating-the-future/

너무 길어서 못 읽었지만 대충 랴쇼몽 영화를 말하며 한사건에 대해서 각 사람마다 기억하는게 다른 상황을 언급하지 않았을까 추측..

  . 인간은 한번에 3-4개의 항목만 기억할 수 있다. 7개(+-2)이론은 오래된 전설일 뿐.

[The Magical Number Seven, Plus or Minus Two]
: http://en.wikipedia.org/wiki/The_Magical_Number_Seven,_Plus_or_Minus_Two

사람들이 숫자를 기억할 때 대략 5-9개 정도를 기억할 수 있다라는 요지

[The 7±2 Urban Legend]
: http://www.knosof.co.uk/cbook/misart.pdf

다 읽어보진 않았으나 위의 Miller's law에 대해서 다시 고찰하고 실험해 본 논문 같다. 결론에서는 short term memory는 단시간 유지되며 7+2 값은 영어를 사용하는 사람이 연속적인 숫자를 외우는 상황에서 적절하며 그외 여러 factor에 의해 바뀔 수 있음을 말함.

 5. 사람들은 사회적이다.

  . 사람들은 사회적으로 어울리기 위해 기술을 사용 한다.
  . 사회적 확인 => 사람들은 타인을 의식함. 예) 웹사이트의 평가, 리뷰의 중요함
  . 동시 행동 => 사람들이 무언가를 동시에 한다면 그것은 서로를 이어줌.
  . 상호주의 => 누군가 나에게 호의를 베풀면 호의를 되돌려줘야 한다는 의식이 생김
  . 거울 신경회로 => 내가 누가 무엇을 하는 것을 볼때, 내가 그 일을 스스로 하는 것 같은 뇌 자극을 받음
    : 누가 무엇을 하는 것을 바란다면 내가 그것을 하는 것을 보여주면 모방 될 수 있음.
  . 사람은 150명의 사람들과 강력한 유대관계를 가질 수 있음. 하지만 느슨한 유대관계로는 수천명이 될 수 있음. (페북)

 6. 주의 attention

  . 몰입할 수 있는 UI를 디자인하기 위한 핵심은 집중이다.
  . 사람들은 뭔가 다르고 새로운 것에 관심을 가지게 되어 있음.
  . change blindness => 위 습성으로 인해 시야에서 일어난 변화를 놓칠 수 있음.

[Change Blindness]
: http://uxmag.com/articles/change-blindness

Change blindness에 대한 설명과 두가지 비디오가 나오는데, 길을 묻는 사람이 바꿔도 알아차리지 못하는 것과 농구하는 사람들 사이라 고릴리가 지나가는 비디오임. 참고로 EBS 다큐프라임에서도 소개됨.

  . 주의를 끌기 위해서는 오감을 사용하면 되고 밝은 색상, 큰글씨, 비프음, 톤 등을 사용할 수 있음.
  . 사람들은 쉽게 주의가 분산되며 blink효과나 동영상 재생같은 것들은 사용자의 관심을 분산 시킨다.

 7. 사람들은 정보를 원한다.

  . 도파민이란 화학물질은 사람들이 음식, 섹스, 정보를 찾도록 뇌에게 신호를 보내 욕망을 활성화 시킴
  . 실제로 자기가 소화할 수 있는 양보다 더 많은 양의 정보를 원함.
    : 정보가 많으면 > 선택의 여지가 많다고 생각 > 상황을 통제하고 있다고 느낌 > 잘 살아 남을 수 있다는 느낌.
  . 파일 로딩 메세지가 단순히 로딩됨을 알려주기 보다 뭐가 어떻게 돌아가고 있는지 알려는 욕구를 충족시키기 위함.

 8. 정신적 처리과정은 무의식적으로 일어난다.

  . 인간은 정신적인 처리과정은 인지하지 못하는 사이에 일어남
    : 무료회원 가입과 같은 작은 행동을 하게 한다면 더 큰 행동을 할 가능성이 높아짐(예. 프리미엄 업그레이드)
  . old brain은 상황 판단, 의사 결정 시 이전 정보를 사용함. 생존과 음식, 섹스, 위험을 중요하게 여기며 관련된 메세지는 관심을 쉽게 끈다.
  . 감정적인 두뇌는 그림에 영향을 받고 특히 사람 그림에 영향을 받고 이야기에 같은 것에도 영향을 받는다.
  . 감정적인 두뇌는 판단, 결정에 영향을 미침
  . 사람들은 인지하지 않은 것에 영향을 받아 행동
    : "은퇴했다", "피곤하다" 라는 말을 들은 것만으로 젊은 사람들 조차 더 천천히 걷는다. (framing effect)

[Framing effect (psychology)]
: http://en.wikipedia.org/wiki/Framing_effect_(psychology)

  . old brain, 감적적인 두뇌 둘 다 의식적인 지식과 상관없이 동작함. 우린 이성적인 판단에 의해 행동을 한다고 하지만 행동을 하는 이유가 이성적인 판단을 통한 결과만은 아니다.

 9. 사람들은 정신적 모델(멘탈모델)을 만든다.

  . Mental model => 정신적으로 어떤 공간에서 어느 물체, 해야할 일을 만들어 냄

[The Secret to Designing an Intuitive UX : Match the Mental Model to the Conceptual Model]
: http://uxmag.com/articles/the-secret-to-designing-an-intuitive-user-experience

멘탈모델에 대한 설명 아래 그림으로 설명이 되는 것 같다.
Mental model of books


  . 기 생성된 멘탈모델은 새롭게 디자인 된 인터페이스 사용에 영향을 미침
    더 나은 UX를 만들기 위해서는 사용자 멘탈모델에 매치(예: 이건 책을 읽는 것과 같다...)시키거나 유저가 다른 멘탈 모델을 만들 수 유도 해야 함.
  . 멘탈모델은 사용자 조사를 통해 알 수 있다.

 10. 시각 체계

  . 페이지가 많이 뭉쳐 있으면 사람들은 정보를 찾을 수 없음.
  . 유사한 것은 근처에 두는 게 좋다. 서로 근접해 있는 것들은 함께 움직일 것 같이 느껴진다.

[Prägnanz]
: http://en.wikipedia.org/wiki/Pr%C3%A4gnanz#Pr.C3.A4gnanz

The fundamental principle of gestalt perception is the law of prägnanz (in the German language, pithiness), which says that we tend to order our experience in a manner that is regular, orderly, symmetric, and simple.

Law of closure                                         Law of proximity


  . 충분히 큰 폰트를 사용하라 => 예쁘고 화려한 것 보다는 읽기에 편한 폰트로 하라.
  . Eye tracking 연구 결과를 보면 자신이 보고 있는 것의 핵심을 얻기 위해 주변 시야(peripheral vision)을 사용함.
    : eye tracking 연구 결과를 보면 시선을 집중하더라도 눈동자는 중심 주변을 탐색 함.
  . 붉은색과 청색은 함께 보기 가장 힘든 색들임.
  . Canonical persprective => 사람들은 정면이 아닌 비스듬한 위에서 볼 때 물체를 가장 잘 식별

[Note on Canonical Perspectives]
: http://courses.washington.edu/hypertxt/cgi-bin/book/pmontage/canonperspec.html

  . 색상으로 종류를 구분 할 수 있도록 할 수 있으나 색맹 사용자를 위한 고려가 필요.

2014년 1월 27일 월요일

개인적으로 찾아봐야 할 항목들 정리

[비지니스모델의 탄생]
 : http://onlinebiz.kr/archives/96


[새로운 미래가 온다 다니엘 핑크]
 : http://blog.daum.net/hpjlove/7355256
 : http://colanut.com/uploaded/book_digest../pdf/(%EC%9A%94%EC%95%BD%EB%B3%B8)%EC%83%88%EB%A1%9C%EC%9A%B4%20%EB%AF%B8%EB%9E%98%EA%B0%80%20%EC%98%A8%EB%8B%A4.pdf


[소유의 종말]
 : http://blog.daum.net/thrive1009/5136053


[메디치 가문, 메디치 효과]
 : http://whitelake.tistory.com/180
 : http://m.daewooenc.co.kr/webzine/2013/03/52.pdf
 : http://ko.wikipedia.org/wiki/%EB%A9%94%EB%94%94%EC%B9%98%ED%9A%A8%EA%B3%BC

- 대상인으로 부를 축척한 메디치 가문이 이후 메디치 은행(대부업?)을 하게되고
  이를 합리화 하는 방안으로 문화, 예술, 학문에 대해 막대한 후원을 하게 되어 르네상스의 황금기를 이끄는 원동력이 된다.
- 후원을 받은 예술인들은 도나텔로, 기베르티, 부르넬레스키, 보티첼리, 레오나르도 다 빈치, 미켈란젤로, 라파엘로 등..
- 메디치효과 : 서로 다른 이질적인 분야를 접목하여 창조적·혁신적 아이디어를 창출해내는 기업경영방식이다. 서로 관련이 없을것 같은 이종 간의 다양한 분야가 서로 교류, 융합하여 독창적인 아이디어나 뛰어난 생산성을 나타내고 새로운 시너지를 창출 할 수 있다는 경영이론이다.


[소프트웨어 잉여와 공포]
: http://sangminpark.wordpress.com/2011/08/23/%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4-%EC%9E%89%EC%97%AC%EC%99%80-%EA%B3%B5%ED%8F%AC/

- 해커 문화의 근원과 결과에 대한 설명
 . 실리콘밸리의 뿌리는 해커 문화
 . 해커 문화에서 발생된 것들은 Altair 8080, Basic (MS의 시작), App le I (Ap ple 의 시작), Linux 등
- 해커 문화는 잉여(Abundance)의 산실이다.
 . 재미, 기여, 명성, 여유
- 하지만 한국의 기본 정서는 공포임.
 . 그나마 잉여의 생산지로 볼 수 있는 것은 dcinside.
e0014726_475b5941c724f


[소프트웨어 크리에이티비티]
 => 도서 예약


[내가 살아가는 이유 김어준]
 : http://mlbpark.donga.com/mbs/articleV.php?mbsC=bullpen&mbsIdx=3541520&cpage=&mbsW=&select=&opt=&keyword=
 : http://blog.daum.net/wjsauddhr333/7

- 자신의 욕망의 주인이 되고 행복은 언제 어느때나 가능한게 아님 지금 행복해야 한다.
- 안하고 후회할거면 일단 해보고 후회해라.


[닐스플래깅 - 언리더쉽]
 : http://www.slideshare.net/dooookagnes/introduction-of-niels-pflaeging

2014년 1월 26일 일요일

Group Play SDK

Group Play SDK 사용을 위한 정리

[Group Play SDK introduction]


Image - Group Play

Group Play 기능을 제공해 주는 SDK 인줄 알았더니 그게 아닌 것 같다.
할 수 있는 것은 아래와 같이 정리되어 있음.

Group Play SDK provides the following features:
  • Launches Group Play applications.
  • Checks if Group Play sessions are available.
  • Checks Group Play status to confirm if a Host or Client exists.
  • Checks user status by monitoring if they have entered or exited applications. Group Play SDK then sends the information about application use to Group Play.
  • Wi-Fi network connectivity is required to use applications that are developed with Chord SDK.

할 수 있는 것은 Group Play application을 실행하고 Session이 생성되어 있는지와 Session 내에서 Host 인지 Client 인지 확인 할 수 있는 기능을 제공함. 생각보다 제한된 functionality와 API를 제공하고 있음. 

시나리오를 봤을 때도 게임을 하다가 옆 사람하고 같이 하고 싶을때 Group play를 띄워서 private session을 생성한 뒤 다른 방법으로 게임을 진행하게 될 것으로 보인다.

그래서 주요 API는 다음과 같다.

ethod Summary
 intgetGroupPlayStatus()
           Checks the status of Group Play.
 booleanhasSession()
           Checks if a device belongs to a group.
 booleanrunGroupPlay()
           Launches Group Play and displays its start screen so that user can create or join a group.
 booleansetParticipantInfo(boolean enable)
          Hands over 3rd party application and user participant information to Group Play.
 voidstart()
          To use the Group Play SDK API, the applications being developed must be initialized.


그리고 Group Play는 위 그림에서 보다 시피 Chord SDK를 사용하고 있으며 제대로된 use scenario를 위해서는 Chord SDK를 사용해야 할 것으로 보임.

[Chrod SDK Introduction]

Figure 1: Collaboration with Chord
Figure 2: Logical groups


Feature들은 다음과 같다.

- Enable reliable, peer-to-peer communication across 
connected devices, without the need of a server 
- Connection: WiFi, Mobile hotspot, WiFi Direct 
- Group Management: Manage multiple device groups 
in a local network 
- Messaging Framework: Real-time data transfer 
across a group of devices(text messages, binary data 
and files) 

디바이스 검색, 그룹 생성, 메세지/파일 전송이 가능하다.
어차피 Group Play SDK도 Chord SDK의 subset이라 게임을 구현하려면 Chord SDK를 사용해서 구현해도 무리가 없을 것으로 보임.

[Samples]
   . Chord SDK만 사용한 간단한 게임들(TicTacToc 같은)
   . Chord SDK와 AllShare SDK를 사용한 카드 게임.


API reference로는 SchordManager를 사용해서 Channel을 만든 뒤 SchordChannel에서 Data, File들을 전달

com.samsung.android.sdk.chord

Class SchordManager


voidclose()
Stop Chord and release the resources.
List<Integer>getAvailableInterfaceTypes()
Get the list of available network interface types.
StringgetIp()
Get the IPv4 address of own device.
SchordChannelgetJoinedChannel(String channelName)
Get the channel interface for the specific channel name.
List<SchordChannel>getJoinedChannelList()
Get the list of all channel interfaces the device has joined.
booleanisSmartDiscoveryEnabled()
Check if smart discovery is enabled for the device.
SchordChanneljoinChannel(String channelName, SchordChannel.StatusListener listener)
Join the specified channel with the specified status listener.
voidleaveChannel(String channelName)
Leave the specified channel.
voidresetSmartDiscoveryPeriod()
Reset the smart discovery period for nodes.
voidsetLooper(Looper looper)
Set the specified looper object to the thread handling callback methods.
voidsetNetworkListener(SchordManager.NetworkListener listener)
Set the specified NetworkListener instance.
voidsetNodeKeepAliveTimeout(int timeoutMsec)
Set how long the node remains active before the connection times out.
voidsetSecureModeEnabled(boolean enabled)
Enable or disable secure mode.
voidsetSendMultiFilesLimitCount(int count)
Set the limit for the maximum number of simultaneous files that sendMultiFiles() can send.
voidsetSmartDiscoveryEnabled(boolean enabled)
Enable or disable smart discovery.
voidsetTempDirectory(String tmpDirPath)
Set the specified directory path to temporarily store the files that are received.
voidstart(int interfaceType, SchordManager.StatusListener listener)
Start Chord with the specified interface type and listener.
voidstop()
Stop chord.

com.samsung.android.sdk.chord

Interface SchordChannel


Modifier and TypeMethod and Description
voidacceptFile(String exchangeId, int chunkTimeoutMsec, int chunkRetries, long chunkSize)
Accept the receive request for the specified file transfer.
voidacceptMultiFiles(String taskId, int chunkTimeoutMsec, int chunkRetries, long chunkSize)
Accept the receive request for the specified multiple file transfer.
voidcancelFile(String exchangeId)
Cancel the specified file transfer.
voidcancelMultiFiles(String taskId)
Cancel the specified multiple file transfer.
List<String>getJoinedNodeList()
Get the list of nodes on the channel.
StringgetName()
Get the channel name.
StringgetNodeIpAddress(String nodeName)
Get the IPv4 address of the specified node.
booleanisSecureChannel()
Check if the channel is secure.
voidrejectFile(String exchangeId)
Reject the receive request for the specified file transfer.
voidrejectMultiFiles(String taskId)
Reject the receive request for the specified multiple file transfer.
voidsendData(String toNode, String payloadType, byte[][] payload)
Send the specified data to the specified node on the channel.
voidsendDataToAll(String payloadType, byte[][] payload)
Send the specified data to all the nodes on the channel.
StringsendFile(String toNode, String fileType, String filePath, int timeoutMsec)
Send the specified file to the specified node on the channel.
StringsendMultiFiles(String toNode, String fileType, List<String> listFilePath, int timeoutMsec)
Send the specified list of files to the specified node on the channel.

2014년 1월 21일 화요일

서비스디자인 소개 링크 스크랩

공부하고자 스크랩.

[서비스디자인 개요]

정의
서비스디자인이란 고객이 서비스를 통해 경험하게 되는 모든 유ㆍ무형의 요소(사람, 사물, 행동, 감성, 공간, 커뮤니케이션,도식 등) 및 모든 경로(프로세스, 시스템, 인터랙션, 감성로드맵 등)에 대해 고객 중심의 맥락적인(Contextual) 리서치 방법을 활용하여 이해관계자간에 잠재된 요구를 포착하고 이것을 창의적이고 다학제적ㆍ협력적인 디자인 방법을 통해 실체화(Embodiment)함으로써 고객 및 서비스 제공자에게 효과ㆍ효율적이며 매력적인 서비스 경험을 향상시키는 방법 및 분야를 의미한다

[프로세스]
 : Discover > Define > Develop > Deliver

[Wokrshop Toolkit]
: http://www.servicedesign.or.kr/sub3_4.asp?pageNum=3&subNum=3&scrID=0000000079

동영상으로 Toolkit 사용에 대한 방법을 소개, Toolkit은 유로판매이며 12,000원, 유용할듯.


[점진적 개발 방법은 정말 효과적인가?, Kim, min tae]
: https://medium.com/p/f04c38212066

서비스 개발 시 필요한 조언들을 적어 놓았음.
실제 저자가 개발에서 경험한 내용들을 통해서 조언한 것이므로 명심하는게 좋을 것 같음.

- 결과물 완성도를 위해 서비스의 Persona를 정의하고 팀내 이해를 명확히 해야 한다.
- 아이디어를 시각화 할 때 많은 것을 잃어 버리게 되므로 아이디어의 참신함을 유지할 수 있는 유연한 도구(예를 들어 간단한 핸드 스케치)를 통해 시각화 한다.
- 아이디어 스케치 후 진행되는 작업들(1. 디자인, 2. 앱프로토타입, 3. 프로토타입용 API)
 : 도구에 집착하지 말고 디자인, 과도한 디테일에 집착하지 말아야 한다. (수정은 빈번하게 발생된다.)
 : 초기 아이디어의 참신함을 잃지 말아야 한다.
- 아이디어 스케치가 많아지고 연결되기 시작하면 컨텍스트가 중요해 진다. 이 때 한눈에 볼수 있게 하여 숲을 볼 수 있는 방법을 만들어야 한다.
- 끊임 없이 반복하여 점진적인 서비스를 만들어야 하고 "최대한 빠르게 최초의 사용자의 피드백을 수집하라"라는 문구를 명심
 : CBT, OBT 이벤트 활용 방법

http://en.wikipedia.org/wiki/Software_release_life_cycle#Beta
Open and closed beta
Developers release either a closed beta or an open beta; closed beta versions are released to a restricted group of individuals for a user test by invitation, while open beta testers are from a larger group, or anyone interested. The testers report any bugs that they find, and sometimes suggest additional features they think should be available in the final version.

- 기타
 : 파워포인트를 사용하지 않고 스케치한 종이를 오려서 커다란 보드위에 붙여 완성하는 것이 효과적
 : 위키보단 언제 어디서나 협업 가능한 구글 문서도구를 추천.
 : 보고서를 작성하지 않고 데일리 미팅과 이터레이션 계획 문서를 주단위로 업데이트함. 보고가 필요한 경우 해당 시점의 결과물로 커뮤니케이션 함.