스토리 홈

인터뷰

피드

뉴스

조회수 1119

대화의 장벽을 허무는 UX

바크 (Bark) 앱은 개의 대화법을 적용하여 주변의 서로 모르는 사람들과 소소한 소통이 가능하게 만들어주는 위치기반 채팅 서비스 이다. (앱을 모르는 분들은 아래 프리뷰 동영상을 참고해 주세요). 이번 글에서는 아주 단순해 보이는 바크 앱의 인터페이스가 의도한 사용자 경험에 대한 이야기를 해 보려고 한다. 결론부터 얘기하자면, 바크 앱의 '서로 개처럼 짖는다'라는 매우 심플한 인터페이스 이면에는 나름 깊게 고민한 태스크 분석 및 목표가 존재하고 있다는 것이다.https://www.youtube.com/watch?v=blwic1sMpOo<iframe width="940.000000" height="529.000000" src="//www.youtube.com/embed/blwic1sMpOo" frameborder="0" allowfullscreen="">'서로 개처럼 짖는다'의 심플한 인터페이스에 숨겨진 이야기나는 왜 모르는 사람과 대화를 하고 싶은가미국 유학시절 나를 종종 당황하게 했던건 바로 모르는 사람들이 아무렇지도 않게 내게 말을 걸고 대화를 건내던 순간이었다. 한국에서는 심지어 동네 주민이라 할 지라도 엘레베이터에서 서로 눈도 안마주치고 애써 대화를 피하던 우리나라사람으로서는 매우 어색하지 않을 수 없다. 지나가다 우연히 눈이 마주친 사람이 내게 인사를 건네고, 수업시간에 옆에 앉은 사람이 갑자기 어제 풋볼 경기 봤냐고 말을 건네고, 지하철에서 옆자리에 앉은 사람이 내가 읽던 책을 슬쩍 보더니 본인도 이거 읽어봤다며 갑자기 토론모드로 들어가던 기억들을 떠올려 보면, 우리나라사람들은 서로 단절된 삶을 사는것 같아 보인다.물론 모르는 사람들과 대화를 한다는게 얼핏 생각해보면 그리 유쾌할것 같은 느낌은 아니다. 우선은 내가 굳이 왜 모르는 사람과 대화를 해야하는지 목적이 불분명하기도 하거니와, 애써 말을 걸었다가 무시받거나 이상한사람 취급받을지도 모른다는 두려움, 또는 왠지 내가 어떤 불순한(?) 목적을 지닌 사람처럼 비춰져 보일수 있다는 불안감들로 인해 우리나라에서는 그 누구도 먼저 모르는 사람과 대화를 나누려 하지 않는다.하지만, 한편으로는 이런 생각도 든다. 내가 아무리 친한 친구들이 많아도 그들과 항상 대화하면서 살지 않는다. 여자친구나 아내, 남편이 아니고서야 매일처럼 서로 대화를 나눌 수 있는 '아는사람'들은 손까락에 꼽을 정도이다. 실제로 내가 회사다닐때를 떠올려 보면, 하루에 3시간씩 소모되는 그 지루한 출퇴근 시간동안 나는 친구들과 대화를 나누기 보다는 페이스북에서 뉴스를 읽거나 다른사람의 인스타피드를 보면서 시간을 보냈었다. 회사에서의 9시간동안은 거의 일과 관련된 대화들이 오가고, 심지어 점심시간에도 주로 동료들과 식사를 하기 때문에 역시 회사의 바운더리를 벗어난 대화를 해본적이 별로 없었다. 우리는 위에 언급한 여자친구, 아내, 남편 등 가족이외에 뭔가 대화를 나눌 수 있는 사람들이 정말 거의 없는 세상에 살고 있는 것이다.우리가 만일 내 주변에 같이 숨쉬고 있는 저 수 많은 '모르는' 사람들과 아무 거리낌 없이 대화를 나누고 뭔가 소소한 교류를 할 수 있다면 어떨까? 내가 아침에 일어났는데 모르는 사람들이 '지금 밖에 엄청나게 덥다'고 알려주고, 내가 야근하고 있는데 '나도 야근중인데 힘내세요!' 라며 서로 격려해주고, 점심시간에 서로 밥은 잘 먹었냐고 챙겨주는, 이런 아주 소소한 대화들이 주변의 모르는 사람들과 오갈 수 있는 온라인 세상에 대해 꿈꾸기 시작한 것이다.이런 배경으로 인해 바크 앱 인터페이스 디자인 목표는 바로 주변의 모르는 사람들과 소소한 대화를 가로막는 모든 장벽이 제거된 위치기반 채팅 서비스를 구현하는 것이 되었다.바크 앱의 목표는 주변의 모르는 사람들과 장벽 없이 소통하는 작은 세상을 만들어 주는 것이다.대화의 장벽에 대한 정의(데이팅 니즈와 같은) 특정한 목적이 있지 않고서야 저런 소소한 대화들을 온라인상에서 모르는 사람들과 나눈다는것은 거의 불가능에 가까운 일이다. 모르는 사람들끼리의 대화를 가로막는 수많은 장벽들이 존재하기 때문이다.1) 성별, 나이, 직업, 외모 등의 아이덴티티 요소우리가 대화를 서로 건낼 때 상대방에 대해 자연스럽게 파악하게 되는 (또는 파악하고 싶은) 다양한 아이덴티티 요소이다. 이런 아이덴티티 요소는 사람의 선호나 기대를 형성하는데에 아주 중요한 정보가 되기 때문에 서로의 선호가 맞지 않게 되었을때 초기 대화 자체가 성사되지 않는 원인이 된다.2) 대화의 정보를 전달해주는 언어 및 대화의 코드 요소실제 대화에 정보를 심어서 전달하기 위해 우리는 '언어'라는 도구를 사용한다. 당연히 영어, 중국어, 일본어 처럼 서로 사용하는 언어가 다르면 대화가 어려워 지고, 10대들이 쓰는 말, 50대가 쓰는말 등 세대적인 언어형태의 차이 역시 대화를 가로막는 장애물이 된다. 하지만 언어보다 더 큰 장벽은 바로 '대화의 코드'인데, 이는 사람들이 건내는 말의 이면에 숨겨진 목적이나 정보를 의미한다. 예를들어 누가 "오늘 날씨 참 좋죠?"라고 물어본다면 이 말은 단순히 오늘 날씨에 대한 정보를 전달하는것이 아닌 상대방에 대한 관심 표현, 지루하기 때문에 대화상대가 필요하다는 어떤 목적에 대한 표현 등 수 많은 레이어가 존재하고 있음을 의미한다. 이런 대화의 코드가 서로 명확하게 교환되지 않으면 그 대화는 어색해지거나 제대로 이어지지 못하게 된다.3) 대화가 서로 자연스럽게 진행되는데 필요한 대화의 맥락 요소대화의 맥락은 위에서 설명한 대화의 코드가 모여서 형성된다. 예를들어 "오늘 날씨 참 좋죠?"라는 질문에 "네 그러네요."라고 상대방이 답변을 했다면 그 이면에는 말은 건넨사람은 상대방에게 관심이 있는데 그 상대방은 별 관심이 없는 상황이다 라는 하나의 맥락을 발견할 수 있다. 대화의 맥락이 잘 연결되지 못하면 보통 대화가 중간에 끊기거나 서로 의도했던 목적이나 정보가 제대로 전달되지 않는 문제가 생긴다.앞서 말했듯이, 바크 앱의 UX 목표가 '대화의 장벽'이 제거된 채팅 서비스 구현이기 때문에, 바크 앱의 모든 인터페이스는 철저하게 위의 3가지 장벽을 완벽하게 제거하거나 줄이는 방향으로 설계되었다. 첫째, 아이덴티티 요소를 제거하기 위해 개의 캐릭터와 번호 부여바크 앱에서는 모든 유저가 8마리의 강아지 캐릭터 중 하나를 선택해야 한다. 물론 내 프로필에서 이 개의 '주인'이라는 의미에서 내 프로필 사진을 올릴수는 있지만 기본적으로 모든 채팅의 주체는 본인이 선택한 이 강아지 캐릭터를 중심으로 이루어 진다.모든 유저가 8마리의 강아지 캐릭터 중 하나가 된다.또한 바크 앱은 가입한 순서대로 번호를 부여받게 된다. 예를들어 처음 가입한 사람은 #1, 그 다음은 #2, #3 ... 등 번호가 계속 올라가는 방식이다. 2016년 7월 29일 4시 현재 #9845번까지 들어와 있다. 이 부분이 매우 중요한데, 번호를 부여받는 방식으로 인해 유저는 본인의 이름, 성별, 나이 등 그 어떤 아이덴티티요소를 노출하지 않음과 동시에 서로 오랫동안 소통한 사람이 아닌 경우 상대방의 아이덴티티를 잘 식별 불가능하게 하기 위한 의도가 있다. 이는 익명성과 비익명성을 동시에 지니게 하기 위해 나름 의도된 설계인데, 예를들어 내 번호가 #245번이라고 한다면, 내가 자주 짖는 우리집 근처의 유저에게는 나름 '아 저 번호가 내 근처에 살고있는 사람'이라는 아이덴티티 식별이 가능하지만 내가 다른 지역에 가거나 새로운 사람이 우리 지역으로 와서 서로 짖을경우 #245번이라는 번호는 누구인지 전혀 식별 불가능한 익명성을 띄게 된다.이렇게 강아지 캐릭터와 식별번호를 통해 바크 앱의 모든 유저는 서로 철저하게 모르는 사람이 됨과 동시에 짖는 행위를 통해 아는사람이 되기도 하는 익명성과 비 익명성을 동시에 지니게 설계한 것이다.모든 유저는 이름이 아닌 식별번호를 부여받는다.둘째, 언어 및 대화의 코드 요소를 제거하기 위한 개의 대화법 적용개들이 서로 소통하는 방법은 여러가지가 있겠지만 우리가 주목한 방법은 '서로 짖는다' 이다. 물론, 개들끼리 서로 짖는 목소리 이면에 숨겨진 다양한 코드와 맥락을 이해하면서 대화를 나눌 것이다. 하지만 위에서 언급한바와 같이 대화의 코드와 맥락이 복잡할 수록 대화를 가로막는 장벽으로 작용한다. 따라서 바크 앱 에서는 서로 짖는 행위는 철저하게 '내가 익명의 주변 사람들에게 말을 걸다'의 의미로 사용된다. 다시말해서 내가 지하철에서 옆에 앉은 사람에게 "오늘 날씨 좋네요?"라고 물어보는 행위가 '나는 너에게 말을 걸고있다'라는 의미로 사용되듯이, 바크 앱에서는 내가 바크 버튼을 눌러서 반경 1마일 이내의 유저들에게 짖는 행위로써 말을 거는 것이다.또한 단순히 짖는 행위에 다양한 감정을 실어서 전달할 수 있도록 바크의 파형, 짖는 소리가 누르는 액션에 최대한 연속적으로 반응 가능하도록 설계되었다. 즉, 내가 뭔가 신이 나서 좀더 리드미컬하게 짖고 싶다면 바크 버튼을 보다 연속적으로 빠르게 누를 수 있고, 이 반응속도를 최소화 하여 리드미컬한 사운드와 바크의 파형이 퍼져나가도록 디자인 된 것이다. 이를 통해서 유저들은 이 '서로 짖는다'라는 개의 대화법 하나로 말을 거는 것 이상의 의미가 포함된 복잡한 대화를 연결해 나가곤 한다. 실제로 강남 지역에서 누가 한번 짖기 시작하면 많은 유저들이 습관적으로 반응하여 서로 짖게 되고, 마치 그룹 챗에서 카톡 메시지가 오가듯이 바크 사운드와 파형이 지도상에서 번쩍거리는 진풍경이 연출된다.셋째, 대화의 맥락요소를 제거하기 위한 메시지 바크위에서 언급한 3가지 대화의 장벽을 너무 최소화 할 경우 필연적으로 부딪치는 문제가 있다. 바로 '대화가 지속되지 않는다'라는 문제이다. 대화라는 것은 서로의 언어를 통해 정보를 교환함으로써 의미가 있다. 이 정보 교환에는 굳이 말 자체가 가진 의미 뿐만 아니라 대화의 코드 및 맥락요소도 같이 조합되어 이루어지기 때문에, 맥락요소를 아예 제거해 버리면 대화가 길게 진행되지 않는 문제가 생기는 것이다.이 부분을 해결하기 위해 디자인 된 것이 바로 메시지 바크이다. 메시지 바크 인터페이스의 목적은 대화의 맥락요소를 최소화하면서도 유저들간의 대화가 계속 이어지도록 정보교환이 가능하게 하기 위함이다. 아래 그림과 같이 유저는 바크 버튼을 3초간 누르고 있으면 영문 20자 이내, 한글 10자 이내의 짧은 단문 메시지를 전송할 수 있다. 이때, 메시지가 표현되는 방식에서 다른 채팅방식과 큰 차이가 있는 것인데, 일반적인 채팅에서는 말풍선 메시지가 순차적으로 올라가면서 대화가 연결되기 때문에 대화의 맥락이 형성된다. 따라서 누가 다른 말을 하게되면 그 대화의 맥락이 끊어지게 되서 대화가 종결되거나 어색해 지는 경우가 생긴다. 하지만 바크 앱에서는 메시지가 맵 상에서 캐릭터의 말풍선 메시지로 표현된다. 이 방식이 주는 장점은 유저가 능동적으로 저 맥락을 만들수도 있고, 맥락에 상관 없이 받아들일수도 있다는 것이다. 다시 말해서, 메시지를 보내는 사람은 지금까지의 맥락과 전혀 상관 없는 대화를 건네도 전혀 상관이 없다는 것이다.실제 사람들의 바크메시지 대화. 맥락요소가 최소화된 그룹챗 인터페이스 이다.또한, 좌측 사이드바를 통해 지금까지의 메시지 바크를 위도-경도 약 2km의 zoning으로 구역화하여 저장하고, 유저들은 해당 지역에 지금까지 건네진 메시지 바크를 읽어볼 수 있다. 마치 그룹 채팅방에서 이전 대화를 각 위치별로 열람해 보는것과 같은 기능이다. 이를 통해서 유저가 맥락을 능동적으로 찾게 되고, 맥락때문에 대화가 끊어지는 문제를 최소화 하면서 대화가 지속 가능하도록 설계된 것이 바로 메시지 바크인 것이다.지역별로 2km의 존이 있어서 해당 지역의 대화내용을 열람해 볼 수 있게 함으로써 맥락을 이어나갈 수 있도록 유도했다.위치기반 채팅의 새로운 실험바크 앱은 분명 기존의 소셜네트워크가 설정한 일반적인 소통방식의 컨벤션을 완전히 벗어나 있다. 소비자가 너무 새로운 방식을 접했을 때 그 가치를 이해하지 못하면 그 서비스는 정착하기 어렵다. 이 때문에 바크 앱은 아직도 베타테스트 중이다. 2016년 5월 18일 첫 버전을 iOS 버전으로만 런칭하였고, 아이폰에서 유입되는 유저만으로 다양한 기능들을 테스트하면서 지금까지 왔다. 이제 약 3개월간의 베타테스팅 기간 끝에 8월 중순경 안드로이드 버전을 런칭하면서 정식 서비스를 시작할 계획이다.이 실험이 성공할지 실패할지는 사실 아직도 잘 모르겠다. 현재까지 유저의 사용성을 분석해 보면 분명 강남역, 홍대, 신사등과 같은 유저 밀집지역에서는 Day 60 리텐션이 60%를 상회할 정도로 높게 나온다. 하지만, 지금처럼 서로 비슷한 목적의 카피캣만 난무하는 소셜미디어 영역에서 특정 목적을 가지고 새로운 방식을 시도해 보는것 하나로도 의미가 있다고 생각한다.글쓴이는 스팀헌트 (Steemhunt) 라는 스팀 블록체인 기반 제품 큐레이션 플랫폼의 Co-founder 및 디자이너 입니다. 비즈니스를 전공하고 대기업에서 기획자로 일하다가 스타트업을 창업하고 본업을 디자이너로 전향하게 되는 과정에서 경험한 다양한 고군분투기를 연재하고 있습니다.현재 운영중인 스팀헌트 (Steemhunt)는 전 세계 2,500개가 넘는 블록체인 기반 앱들 중에서 Top 10에 들어갈 정도로 전 세계 150개국 이상의 많은 유저들을 보유한 글로벌 디앱 (DApp - Decentralised Application) 입니다 (출처 - https://www.stateofthedapps.com/rankings).스팀헌트 웹사이트 바로가기
조회수 2206

JIRA하고 자빠졌네!?

Overview“JIRA하고, 자빠졌네!” 세종대왕은 확실히 개발자의 두뇌를 가지고 있었던 게 분명합니다. 먼 시대를 지나 오늘날 QA를 하는 저에게 응원을 해주시니 말입니다. 하지만 그는 틀렸습니다. 걱정과는 다르게 다행히 자빠지진 않았거든요. 지라(JIRA) 덕분입니다.갑자기 지라 이야기가 나와 당황하셨죠? 축하해주세요. 드디어 브랜디도 지라를 사용하게 되었답니다. (짝짝짝!) 지라 도입은 처음이라 세팅부터 쉽지 않았는데요. 이번 글은 눈물겨웠던 지라 세팅 과정과 브랜디의 이슈관리를 소개하겠습니다. 스크럼을 쓰면 좋은 점스크럼(Scrum)은 요구 사항 분석부터 하는 칸반(Kanban)보다 효율적입니다. 안드로이드와 iOS로도 나눠져 있고 업무를 짧게 반복하기 때문이죠. 스크럼에 적합한 워크플로우(Workflow)를 볼까요? 이것은 실제로 브랜디 R&D본부에서 사용하고 있기도 합니다. 스크럼에 적합한 워크플로우IN PROGRESS: 이슈나 개발 요건을 티켓으로 만들면 IN PROGRESS 상태가 됩니다. RESOLVED: 이슈나 개발 요건이 완료되면 RESOLVED 상태로 변경합니다.QA: QA가 필요한 개발 요건은 QA상태로 변경합니다.PASS: 이슈 또는 개발 요건이 수정되었거나 문제가 없다면 PASS 상태로 변경합니다.FAIL: 이슈 또는 개발 요건이 제대로 수정되지 않았거나 다른 이슈가 발생하면 FAIL 상태로 변경합니다.QA불필요: QA가 필요하지 않은 개발 요건은 QA불필요 상태로 변경합니다.DONE: 이슈를 해결했거나 개발을 완료하면 DONE 상태로 변경합니다CLOSE: 담당 팀장님이 이슈 확인 후 CLOSE 처리합니다. 예를 들어보겠습니다. 킥오프 서비스 회의를 하고, SB를 제작, 리뷰합니다. 이후에 디자인팀과 개발팀 일정을 공유하고 스크럼 마스터는 스프린트 주기를 책정하죠. 스프린트가 시작되면 개발자는 스토리 티켓을 작성하는데요. 개발이 끝나면 QA가 필요한 티켓은 테스트를 진행하고, QA가 종료되면 스프린트도 종료됩니다.Epic 티켓위의 이미지는 Epic 티켓입니다. Android, iOS, 이슈 등 모든 티켓은 Epic 안에서 관리합니다. 한 곳에서 한꺼번에 관리하기 때문에 히스토리 관리가 편하고, 진행 상황도 확인할 수 있습니다.티켓 생성개발팀의 티켓 생성입니다. 개발자는 SB를 보고 개발 티켓을 작성합니다. 개발 티켓 작성 후에 개발이 진행되며 QA 판단 여부를 체크해 QA 상태로 변경합니다. 변경된 티켓에 관한 QA가 진행되며 문제가 없으면 해당 티켓은 종료됩니다.이슈 생성다음은 이슈 생성입니다. 파악한 SB는 디자인 시안과 비교하며 개발이 된 Android, iOS 테스트 파일을 QA합니다. QA를 진행할 때 발생한 이슈는 지라 티켓으로 등록하여 이슈를 관리합니다. 모든 이슈 티켓 종료되면 해당 차수의 QA는 끝나고 마침내 상용에 배포합니다. 배포가 완료되면 필수 및 크리티컬 리그레이션 테스트가 진행됩니다. Conclusion실수는 항상 모든 것이 끝난 이후에 보이기 마련입니다. 수십 번 QA를 해도 보이지 않던 문제들이 상용에 올라간 이후부터 보이기 시작하죠. 스크럼은 이런 실수들을 가장 최소화할 수 있는 툴이 아닐까 생각합니다. 물론 아무리 좋은 툴을 써도 팀원들과 함께 뭉치는 것보다 중요한 것은 없겠죠. 다음 글은 자동화를 주제로 찾아뵙겠습니다. JIRA하고 자빠지지 않는 개발자가 됩시다!글김치영 대리 | R&D PM팀[email protected]브랜디, 오직 예쁜 옷만#브랜디 #개발자 #개발팀 #인사이트 #경험공유 #JIRA
조회수 1559

일본 스타트업 적응기#1 「일 오타쿠」

밋밋한 얼굴, 게슴츠레한 눈, 촌스런 의상,전~혀 '강함'이 느껴지지 않는 모양새지만,너무 강해서 모든 적을 원펀치에 쓰러트리는 것이 고민인반전 매력 캐릭터 원펀맨(One Punch Man)원래 만화를 좋아하진 않지만,일본어 공부 좀 재미있게 해볼까 시청한 것이..하루 만에 애니메이션 전편을 다 봐버렸다.페이스 북 등에서 워낙 빈번하게 접해본지라 이미 익숙한,'나는 취미로 히어로를 하고 있는 사람이다'를 자기소개로 하는 이 캐릭터는 '최강이 되기 위해', '지구의 평화를 지키기 위해' 히어로를 하는 것이 아니다.그냥 자기가 하고 싶어서 하는 것이기에 무엇에도 연연하지 않고,그 누구도 넘어설 수 없는 '최강'으로 자리 잡는다.일본에서 일을 시작한 지 한 달 남짓, 많은 친구들이 물어본다.일본, 일하는 것은 어때? 한국이랑 많이 다른가?그때마다 나는 대답한다."이 사람들.. 일을 오타쿠처럼 해"(오타쿠[otaku, 御宅] 한 분야에 열중하는 사람을 이르는 말 _두산백과)순화해서 말하자면, 일을 취미로 하는 사람들오타쿠처럼 집요하게, 진심으로 일을 즐기는 사람들이 의외로 많다!이래뵈도 우리 회사 CTO[최고기술경영자]가 업무에 매진하는 모습 ... 학교를 자퇴하고 회사를 다니는, 덕(?)이 충만하게 느껴지는 이 자리의 주인공은직접 원두를 갈아 핸드드립 커피를 내려 마시는 것을 시작으로실험을 하다가, 뚝딱뚝딱 뭘 만들다가, 프로그래밍을 하다가일인지 취미인지 뭔지 모르는 것들을 진심으로 즐긴다.주중 주말에 관계없이 자리에 있는 이 동료는항상 뭔가 엄청나게 즐거운 것을 하는 것처럼 보인다!!이 친구뿐만 아니라(음원 차트 10위 안에 랭크될 정도로 실력도 갖춘) 음악을 업으로 하던 뮤지션인데  회사에서 데이터 분석 글을 작성하면서, 틈틈이 피아노 연습도 하고음악에도 일에도 몰입하는 모습이 인상적인 동료도 있으며,아이폰이고 뭐고 뜯었다 조립했다를 반복하고 분석하는 영업팀 동료,위층에 마련돼있는 레이저 커팅기로 무언가를 항상 만들어오는 개발자 동료,등등 등등 등등 등,,뭐 하나 캐릭터가 없는 동료들이 없다.한국의 많은 이들이 꿈꾸는 직장은'일과 삶의 완벽한 분리'일은 일이고, 취미는 취미고, 삶은 삶이다라고생각하는 사람들이 많다. (사실 나도 그랬다..)하지만 일본 동료들과 함께 지내다 보면저게 일인지 취미인지, 취미인지 일인지회사인지, 술집인지, 놀이터인지, 수면방인지그 경계가 모호해지는 순간들을자주 목격하곤 한다.동료가 이런 이야기를 해 준 적이 있다."기술이 발전할수록, 우리를 둘러싼 '연결들'은 긴밀해질 거야그리고 그 '연결들' 중 하나는 바로 회사(일)와 나의 연결이겠지""우리는 벌써 어디서든 이메일을 확인할 수 있는 세상에 살고 있어""몇 년이 지나면,업무 관련 연락들이 때때로 스마트폰으로,스마트폰이 안되면 스마트 워치로, 스마트 워치가 안되면나를 둘러싸고 있는 가구로, 침대로, TV로, 혹은 몸속 센서로나와의 연결을 시도할지 몰라""그렇기 때문에 점점 일과 나를 완전히 분리한다는 것은 어려워지겠지그래서 미래에는'이건 일이야', '이건 내 삶이야'라는 경계가 명확한 사람보다는그사이를 오가며 모두를 즐길 수 있는 사람이더 행복하고, 원하는 바를 성취할 가능성도 높을 것이라고 생각해"그래서일까나도 어느 센가부터그 경계를 허물기 위해 노력하고 있다.나도 취미로 히어로(일)를 하는 사람이 될 수 있을까..#Fuller #일본 #스타트업 #해외취업 #스타트업합류 #일상 #인사이트
조회수 596

[논픽션] 양질의 메시지, 카피 담긴 광고가 그립다

브랜딩 영역에서 이해가 되지 않는 대목들이 있다.바로 무분별한 연예인 광고와 이상한 컬래버레이션다.이들의 공통점은 브랜드의 정체성이나 메시지가 없다는 것이다.브랜딩과 마케팅이 이용자들에게 먼저 말을 거는 것이라면,이들은 그저 핫해보이게 치장한 후 이용자들의 가던 길을 가로막고 전단지를 내미는 것처럼 보인다.브랜딩 영역에서 최우선 지출항목으로 꼽히는 광고와 컬래버레이션 부문에서 자주 벌어지는 일이라 더욱 속상하다.과거 1960-70년대 미국에서는 경제성장기 과도기, 전쟁과 냉전을 겪으면서도 "광고업"이 가장 발달했다.경제와 산업이 서서히 회복-성장하면서 여러 기업들의 활동이 살아나는 시기와 맞물린 것이 주된 이유다뉴욕의 메디슨 스퀘어 가든이 위치한 메디슨가를 중심으로 광고에이전시들이 성황하기 시작했고, 이 분야 종사자들을 메드맨(메디슨가+애드맨, Madman)이라고 일컬었다."이들은 달랐다."클라이언트를 위해 최고의 크리에이티브를 보여주는 것이 업이었다. 소기업부터 중견을 거쳐 대기업까지 광고의 제작에는 이미지, 음악 뿐만아니라 광고가 주는 메시지와 스타일, 카피라이트 등 모든 요소에 촉각을 기울였다.특히, 광고가 말하고자 하는 메시지가 분명했다.  카피라이트에 메시지를 함축하고스타일이나 기법을 활용해 브랜드 정체성을 만들었다. 신문과 매거진, 외벽, 옥외에 화려하게 등장했다.광고는 "광고제" "광고전" 등 거대한 오프라인 행사가 있을 정도로 큰 시장규모와 전통, 입지를 자랑한다. 이는 광고의 심오한 카피와 메시지를 헤아려보면서, 독특한 크리에이티브를 감상하는 재미가 있기 때문이다.지금은 어떠한가.광고가 걸리는 미디어의 환경이 송두리째 변화하고모바일 등 플랫폼도 변화하면서, 광고의 크리에이티브와 목적이 함께 변한 듯 하다.특히 인터넷으로 하여금 상호작용하는 소프트웨어 덕분에 광고를 직접 클릭하게 하여 구매 혹은 프로그램 설치를 끌어내는 것에 주된 목적을 두기도 한다.더 진화되었고, 광고 소비자들과 더 인터랙티브한 소통을 하게 된 것이 사실이다.그렇지만!그래도 꼭 바뀌었으면 하는 요소들이 있다.1. 연예인 기용 광고브랜드와 알맞은 모델을 기용해 이들과 호흡하는 광고와 프로모션은 아주 좋다.하지만, 때아닌 걸그룹이나 연예인이 가장 트렌디하다는 이유로 광고에 등장하는 것은 원치 않는다.예) 치킨광고에 걸그룹이 함께 등장한 후 브로마이드까지 나오는 것예) 핫한 연예인이 게임을 다운받으라고 외치는 것2. 이상한 컬래버레이션분명 브랜드가 갖는 이미지와 정체성이 있을 것이다. 그것이 없다면 다른 활동에 앞서 먼저 구축하는 것이 옳다.브랜드의 이미지를 고려하지 않고, 컬래버레이션을 맺고 편의점 음료나 삼각김밥 쿠폰으로 등장하는 것을 원치 않는다.에너지음료 브랜드인 "레드불"이 익스트림스포츠와 정통하게 소통하며 관련 프로모션과 마케팅, 미디어사업을 이어가는 것처럼 맵시있게 브랜딩하는 컬래버레이션이 분명 있을 것이다.어떠한 소비와 어떠한 여가, 어떠한 문화생활, 세상, 삶, 비전이 이상적이고 아름다운 것이다! 라고 규정한 것이 광고고 마케팅이다.즉 브랜딩은 우리도 모르게 우리의 가치관에 바탕이 되는 필수요소다!더 멋진 브랜딩을 기대한다.기술과 트렌드가 변화해도 말이다.Jason KH커뮤니케이션    기획자
조회수 1239

트위터의 이메일 디자인 원칙 3가지

지난 주 트위터의 공식 블로그에 “Designing with constraint: Twitter’s approach to email”이란 글이 올라왔습니다. 글에서 언급하고 있듯이 트위터라고 하면 왠지 이메일과는 거리가 멀 것 같은 느낌이지만, 트위터에서도 이메일은 큰 역할을 하고 있습니다.그렇다면 트위터는 어떤 방식으로 이메일을 디자인 하고 있을까요? 트위터의 이메일 디자인 원칙 3가지를 소개합니다.가볍고 간결하게 (Keep it light, keep it concise)이메일을 확인하는 상황은 사람마다 다릅니다. 어떤 사람은 버스에서 모바일로 확인하기도 하고, 어떤 사람은 사무실에 앉아 확인하기도 합니다.이 모두를 만족시키려면, 이메일의 문구와 콘텐츠를 가능한 짧고, 유용하고 가치있는 것으로 만들어야 합니다. 타이포그래피, 색상, 문단 구조 등을 적절하게 사용하면 중요한 내용을 더 효과적으로 전달할 수 있습니다.문장 표현도 중요합니다. 쉽게 이해되려면 문장 표현이 간단명료해야 합니다. 전문적인 카피라이터의 도움이 있다면 훨씬 쉽겠죠.트위터의 즐겨찾기 알림 메일의 BEFORE(왼쪽)와 AFTER(오른쪽): 문단 구조를 개선하고, 문구를 더 짧게 바꾸고 CTA 버튼을 더 명확하게 바꿨습니다.많은 사람들이 이메일 전체를 읽지 않고 제목, 헤드라인, CTA 버튼만 확인다는 것을 확인한 트위터는 제목, 헤드라인, CTA 버튼 외의 다른 요소를 최소화 했습니다. 트위터가 추구하는 효과적인 이메일 디자인은 이렇게 필요한 요소를 강조하고, 필요하지 않은 요소를 제거하는 것입니다.다양한 사용 환경에 대응하기 (Meet a person where they)수많은 디바이스, 플랫픔, 애플리케이션 환경에 대응해야 합니다. 트위터가 사용자에게 보내는 모든 이메일은, 모든 환경에서 동일한 메시지를 전달할 수 있어야 하기 때문입니다.친구들의 소식을 모아서 보여주는 트위터의 주간 메일은 다양한 디바이스 환경에 대응하도록 디자인되어있습니다.행동 유도하기 (Help a person do something)트위터의 마지막 디자인 원칙은, 사용자를 트위터 서비스로 유입시키기 위해 어떤 의미있는 행동을 유도하는 것입니다.이메일은, 다른 알림 메시지와 마찬가지로, 사용자가 관심있어 할 만한 정보를 빠르게 전달하고, 그와 관련된 행동을 쉽게 할 수 있게 해야 합니다.행동을 유도할 수 없는 메시지는, 보내봤자 의미가 없습니다. 이메일도 마찬가지입니다.원본: Designing with constraint: Twitter’s approach to email#슬로워크 #마케팅 #마케터 #마케팅툴 #인사이트 #꿀팁
조회수 1038

비트윈의 HBase 스키마 해부

비트윈에서는 HBase를 메인 데이터베이스로 이용하고 있습니다. 유저 및 커플에 대한 정보와 커플들이 주고받은 메시지, 업로드한 사진 정보, 메모, 기념일, 캘린더 등 서비스에서 만들어지는 다양한 데이터를 HBase에 저장합니다. HBase는 일반적인 NoSQL과 마찬가지로 스키마를 미리 정의하지 않습니다. 대신 주어진 API를 이용해 데이터를 넣기만 하면 그대로 저장되는 성질을 가지고 있습니다. 이런 점은 데이터의 구조가 바뀔 때 별다른 스키마 변경이 필요 없다는 등의 장점으로 설명되곤 하지만, 개발을 쉽게 하기 위해서는 데이터를 저장하는데 어느 정도의 규칙이 필요합니다. 이 글에서는 비트윈이 데이터를 어떤 구조로 HBase에 저장하고 있는지에 대해서 이야기해 보고자 합니다.비트윈에서 HBase에 데이터를 저장하는 방법¶Thrift를 이용해 데이터 저장: Apache Thrift는 자체적으로 정의된 문법을 통해 데이터 구조를 정의하고 이를 직렬화/역직렬화 시킬 수 있는 기능을 제공합니다. 비트윈에서는 서버와 클라이언트가 통신하기 위해 Thrift를 이용할 뿐만 아니라 HBase에 저장할 데이터를 정의하고 데이터 저장 시 직렬화를 위해 Thrift를 이용합니다.하나의 Row에 여러 Column을 트리 형태로 저장: HBase는 Column-Oriented NoSQL로 분류되며 하나의 Row에 많은 수의 Column을 저장할 수 있습니다. 비트윈에서는 Column Qualifier를 잘 정의하여 한 Row에 여러 Column을 논리적으로 트리 형태로 저장하고 있습니다.추상화된 라이브러리를 통해 데이터에 접근: 비트윈에서는 HBase 클라이언트 라이브러리를 직접 사용하는 것이 아니라 이를 래핑한 Datastore라는 라이브러리를 구현하여 이를 이용해 HBase의 데이터에 접근합니다. GAE의 Datastore와 인터페이스가 유사하며 실제 저장된 데이터들을 부모-자식 관계로 접근할 수 있게 해줍니다.트랜잭션을 걸고 데이터에 접근: HBase는 일반적인 NoSQL과 마찬가지로 트랜잭션을 제공하지 않지만 비트윈에서는 자체적으로 제작한 트랜잭션 라이브러리인 Haeinsa를 이용하여 Multi-Row ACID 트랜잭션을 걸고 있습니다. Haeinsa 덕분에 성능 하락 없이도 데이터 무결성을 유지하고 있습니다.Secondary Index를 직접 구현: HBase에서는 데이터를 Row Key와 Column Qualifier를 사전식 순서(lexicographical order)로 정렬하여 저장하며 정렬 순서대로 Scan을 하거나 바로 임의 접근할 수 있습니다. 하지만 비트윈의 어떤 데이터들은 하나의 Key로 정렬되는 것으로는 충분하지 않고 Secondary Index가 필요한 경우가 있는데, HBase는 이런 기능을 제공하지 않고 있습니다. 비트윈에서는 Datastore 라이브러리에 구현한 Trigger을 이용하여 매우 간단한 형태의 Secondary Index를 만들었습니다.비트윈 HBase 데이터 구조 해부¶페이스북의 메시징 시스템에 관해 소개된 글이나, GAE의 Datastore에 저장되는 구조를 설명한 글을 통해 HBase에 어떤 구조로 데이터를 저장할지 아이디어를 얻을 수 있습니다. 비트윈에서는 이 글과는 약간 다른 방법으로 HBase에 데이터를 저장합니다. 이에 대해 자세히 알아보겠습니다.전반적인 구조¶비트윈에서는 데이터를 종류별로 테이블에 나누어 저장하고 있습니다. 커플과 관련된 정보는 커플 테이블에, 유저에 대한 정보는 유저 테이블에 나누어 저장합니다.각 객체와 관련된 정보는 각각의 HBase 테이블에 저장됩니다.또한, 관련된 데이터를 하나의 Row에 모아 저장합니다. 특정 커플과 관련된 사진, 메모, 사진과 메모에 달린 댓글, 기념일 등의 데이터는 해당 커플과 관련된 하나의 Row에 저장됩니다. Haeinsa를 위한 Lock Column Family를 제외하면, 데이터를 저장하기 위한 용도로는 단 하나의 Column Family만 만들어 사용하고 있습니다.각 객체의 정보와 자식 객체들은 같은 Row에 저장됩니다.또한, 데이터는 기본적으로 하나의 Column Family에 저장됩니다.이렇게 한 테이블에 같은 종류의 데이터를 모아 저장하게 되면 Region Split하는 것이 쉬워집니다. HBase는 특정 테이블을 연속된 Row들의 집합인 Region으로 나누고 이 Region들을 여러 Region 서버에 할당하는 방식으로 부하를 분산합니다. 테이블을 Region으로 나눌 때 각 Region이 받는 부하를 고려해야 하므로 각 Row가 받는 부하가 전체적으로 공평해야 Region Split 정책을 세우기가 쉽습니다. 비트윈의 경우 커플과 관련된 데이터인 사진이나 메모를 올리는 것보다는 유저와 관련된 데이터인 메시지를 추가하는 트래픽이 훨씬 많은데, 한 테이블에 커플 Row와 유저 Row가 섞여 있다면 각 Row가 받는 부하가 천차만별이 되어 Region Split 정책을 세우기가 복잡해집니다. RegionSplitPolicy를 구현하여 Region Split 정책을 잘 정의한다면 가능은 하지만 좀 더 쉬운 방법을 택했습니다.또한, 한 Row에 관련된 정보를 모아서 저장하면 성능상 이점이 있습니다. 기본적으로 한 커플에 대한 데이터들은 하나의 클라이언트 요청을 처리하는 동안 함께 접근되는 경우가 많습니다. HBase는 같은 Row에 대한 연산을 묶어 한 번에 실행시킬 수 있으므로 이 점을 잘 이용하면 성능상 이득을 얻을 수 있습니다. 비트윈의 데이터 구조처럼 특정 Row에 수많은 Column이 저장되고 같은 Row의 Column들에 함께 접근하는 경우가 많도록 설계되어 있다면 성능 향상을 기대할 수 있습니다. 특히 Haeinsa는 한 트랜잭션에 같은 Row에 대한 연산은 커밋시 한 번의 RPC로 묶어 처리하므로 RPC에 드는 비용을 최소화합니다. 실제 비트윈에서 가장 많이 일어나는 연산인 메시지 추가 연산은 그냥 HBase API를 이용하여 구현하는 것보다 Haeinsa Transaction API를 이용해 구현하는 것이 오히려 성능이 좋습니다.Column Qualifier의 구조¶비트윈은 커플들이 올린 사진 정보들을 저장하며, 또 사진들에 달리는 댓글 정보들도 저장합니다. 한 커플을 Root라고 생각하고 커플 밑에 달린 사진들을 커플의 자식 데이터, 또 사진 밑에 달린 댓글들을 사진의 자식 데이터라고 생각한다면, 비트윈의 데이터들을 논리적으로 트리 형태로 생각할 수 있습니다. 비트윈 개발팀은 Column Qualifier를 잘 정의하여 실제로 HBase에 저장할 때에도 데이터가 트리 형태로 저장되도록 설계하였습니다. 이렇게 트리 형태로 저장하기 위한 Key구조에 대해 자세히 알아보겠습니다.Column Qualifier를 설계할 때 성능을 위해 몇 가지 사항들을 고려해야 합니다. HBase에서는 한 Row에 여러 Column이 들어갈 수 있으며 Column들은 Column Qualifier로 정렬되어 저장됩니다. ColumnRangeFilter를 이용하면 Column에 대해 정렬 순서로 Scan연산이 가능합니다. 이 때 원하는 데이터를 순서대로 읽어야 하는 경우가 있는데 이를 위해 Scan시, 최대한 Sequential Read를 할 수 있도록 설계해야 합니다. 또한, HBase에서 데이터를 읽어올 때, 실제로 데이터를 읽어오는 단위인 Block에 대해 캐시를 하는데 이를 Block Cache라고 합니다. 실제로 같이 접근하는 경우가 빈번한 데이터들이 최대한 근접한 곳에 저장되도록 설계해야 Block Cache의 도움을 받을 수 있습니다.비트윈에서는 특정 커플의 사진이나 이벤트를 가져오는 등의 특정 타입으로 자식 데이터를 Scan해야하는 경우가 많습니다. 따라서 특정 타입의 데이터를 연속하게 저장하여 최대한 Sequential Read가 일어나도록 해야 합니다. 이 때문에 Column Qualifier가 가리키는 데이터의 타입을 맨 앞에 배치하여 같은 타입의 자식 데이터들끼리 연속하여 저장되도록 하였습니다. 만약 가리키는 데이터의 타입과 아이디가 Parent 정보 이후에 붙게 되면 사진 사이사이에 각 사진의 댓글 데이터가 끼어 저장됩니다. 이렇게 되면 사진들에 대한 데이터를 Scan시, 중간중간 저장된 댓글 데이터들 때문에 완벽한 Sequential Read가 일어나지 않게 되어 비효율적입니다.이렇게 특정 타입의 자식들을 연속하게 모아 저장하는 묶음을 컬렉션이라고 합니다. 컬렉션에는 컬렉션에 저장된 자식들의 개수나 새로운 자식을 추가할 때 발급할 아이디 등을 저장하는 Metadata가 있습니다. 이 Metadata도 특정 Column에 저장되므로 Metadata를 위한 Column Qualifier가 존재합니다. 이를 위해 Column Qualifier에는 Column Qualifier가 자칭하는 데이터가 Metadata인지 표현하는 필드가 있는데, 특이하게도 메타데이터임을 나타내는 값이 1이 아니라 0입니다. 이는 Metadata가 컬렉션의 맨 앞쪽에 위치하도록 하기 위함입니다. 컬렉션을 읽을 때 보통 맨 앞에서부터 읽는 경우가 많고, 동시에 Metadata에도 접근하는 경우가 많은데, 이 데이터가 인접하게 저장되어 있도록 하여 Block Cache 적중이 최대한 일어나도록 한 것입니다.Datastore 인터페이스¶비트윈에서는 이와 같은 데이터 구조에 접근하기 위해 Datastore라는 라이브러리를 구현하여 이를 이용하고 있습니다. HBase API를 그대로 이용하는 것보다 좀 더 쉽게 데이터에 접근할 수 있습니다. GAE의 Datastore와 같은 이름인데, 실제 인터페이스도 매우 유사합니다. 이 라이브러리의 인터페이스에 대해 간단히 알아보겠습니다.Key는 Datastore에서 HBase에 저장된 특정 데이터를 지칭하기 위한 클래스입니다. 논리적으로 트리 형태로 저장된 데이터 구조를 위해 부모 자식 관계를 이용하여 만들어 집니다.Key parentKey = new Key(MType.T_RELATIONSHIP, relId);Key photoKey = new Key(parentKey, MType.T_PHOTO, photoId); // 특정 커플 밑에 달린 사진에 대한 키Datastore는 Key를 이용해 Row Key와 Column Qualifier를 만들어 낼 수 있습니다. Datastore는 이 정보를 바탕으로 HBase에 새로운 데이터를 저장하거나 저장된 데이터에 접근할 수 있는 메서드를 제공합니다. 아래 코드에서 MUser 클래스는 Thrift로 정의하여 자동 생성된 클래스이며, Datastore에서는 이 객체를 직렬화 하여 HBase에 저장합니다.MUser user = new MUser();user.setNickname("Alice");user.setGender(Gender.FEMALE);user.setStatus("Hello World!"); Key userKey = new Key(MType.T_USER, userId);getDatastore().put(userKey, user);user = getDatastore().get(userKey);getDatastore().delete(userKey);또한, Datastore는 Key를 범위로 하여 Scan연산이 할 수 있도록 인터페이스를 제공합니다. Java에서 제공하는 Try-with-resource문을 이용하여 ResultScanner를 반드시 닫을 수 있도록 하고 있습니다. 내부적으로 일단 특정 크기만큼 배치로 가져오고 더 필요한 경우 더 가져오는 식으로 구현되어 있습니다.try (CloseableIterable> entries = getDatastore().subSibling(fromKey, fromInclusive, toKey, toInclusive)) { for (KeyValue entry : entries) { // do something }}Secondary Index 구현 방법¶HBase는 데이터를 Row Key나 Column Qualifier로 정렬하여 저장합니다. 이 순서로만 Sequential Read를 할 수 있으며 Key값을 통해 특정 데이터를 바로 임의 접근할 수 있습니다. 비트윈에서는 특정 달에 해당하는 이벤트들을 읽어오거나 특정 날짜의 사진들의 리스트를 조회하는 등 id 순서가 아니라 특정 값을 가지는 데이터를 순서대로 접근해야 하는 경우가 있습니다. 이럴 때에도 효율적으로 데이터에 접근하기 위해서는 id로 정렬된 것 외에 특정 값으로 데이터를 정렬할 수 있어야 합니다. 하지만 HBase에서는 이와 같은 Secondary Index 같은 기능을 제공하지 않습니다. 비트윈 개발팀은 이에 굴하지 않고 Secondary Index를 간단한 방법으로 구현하여 사용하고 있습니다.구현을 간단히 하기 위해 Secondary Index를 다른 데이터들과 마찬가지로 특정 타입의 데이터로 취급하여 구현하였습니다. 따라서 Index에 대해서도 Column Qualifier가 발급되며, 이때, Index에 해당하는 id를 잘 정의하여 원하는 순서의 Index를 만듭니다. 이런 식으로 원하는 순서로 데이터를 정렬하여 저장할 수 있으며 이 인덱스를 통해 특정 필드의 값의 순서대로 데이터를 조회하거나 특정 값을 가지는 데이터에 바로 임의 접근할 수 있습니다. 또한, Index에 실제 데이터를 그대로 복사하여 저장하여 Clustered Index처럼 동작하도록 하거나, Reference만 저장하여 Non-Clustered Index와 같이 동작하게 할 수도 있습니다. Datastore 라이브러리에는 특정 데이터가 추가, 삭제, 수정할 때 특정 코드를 실행할 수 있도록 Trigger 기능이 구현되어 있는데, 이를 통해 Index를 업데이트합니다. 데이터의 변경하는 연산과 Index를 업데이트하는 연산이 하나의 Haeinsa 트랜잭션을 통해 원자적으로 일어나므로 데이터의 무결성이 보장됩니다.못다 한 이야기¶각 테이블의 특정 Row의 Column들에 대한 Column Qualifier외에도 Row에 대한 Row Key를 정의 해야 합니다. 비트윈에서는 각 Row가 표현하는 Root객체에 대한 아이디를 그대로 Row Key로 이용합니다. 새로운 Root객체가 추가될 때 발급되는 아이디는 랜덤하게 생성하여 객체가 여러 Region 서버에 잘 분산될 수 있도록 하였습니다. 만약 Row Key를 연속하게 발급한다면 특정 Region 서버로 연산이 몰리게 되어 성능 확장에 어려움이 생길 수 있습니다.데이터를 저장할 때 Thrift를 이용하고 있는데, Thrift 때문에 생기는 문제가 있습니다. 비트윈에서 서버를 업데이트할 때 서비스 중지 시간을 최소화하기 위해 롤링 업데이트를 합니다. Thrift 객체에 새로운 필드가 생기는 경우, 롤링 업데이트 중간에는 일부 서버에만 새로운 Thift가 적용되어 있을 수 있습니다. 업데이트된 서버가 새로운 필드에 값을 넣어 저장했는데, 아직 업데이트가 안 된 서버가 이 데이터를 읽은 후 데이터를 다시 저장한다면 새로운 필드에 저장된 값이 사라지게 됩니다. Google Protocol Buffer의 경우, 다시 직렬화 할 때 정의되지 않은 필드도 처리해주기 때문에 문제가 없지만, Thrift의 경우에는 그렇지 않습니다. 비트윈에서는 새로운 Thrift를 적용한 과거 버전의 서버를 먼저 배포한 후, 업데이트된 서버를 다시 롤링 업데이트를 하는 식으로 이 문제를 해결하고 있습니다.저희는 언제나 타다 및 비트윈 서비스를 함께 만들며 기술적인 문제를 함께 풀어나갈 능력있는 개발자를 모시고 있습니다. 언제든 부담없이 [email protected]로 이메일을 주시기 바랍니다!
조회수 991

[블랭크코퍼레이션 상생스토리.04]전통 한과에 바질씨를 담다#소소반끼-유림푸드

제조사와 같이블랭크코퍼레이션은 좋은 기술과 제품을 보유한 제조사를 발굴하고, 그들과 함께 생활의 문제에 대해 고민하고 있습니다. 더불어 그 제품을 소비자와 더 효율적으로 연결할 수 있도록 함께 하고 있습니다. 우리의 고민이 단발성이 되지 않도록, 함께 성장할 수 있는 가치를 만들고자 노력하고 있습니다.이런 인터뷰는 처음이라며 무척 쑥스러워 하셨지만 한과에 대한 이야기하실 땐 누구보다 열정적으로 알려주신 유림푸드 김주형 대표블랭크의 식음료 브랜드 소소생활에는 눈에 띄는 다이어트 식품이 있다. 한과제조업체 유림푸드가 전통 다식제조 방법을 응용한 바질정을 개발해 만든 ‘소소반끼’가 그 주인공이다. 전통 방식을 고수해 만들던 한과가 ‘소소반끼’로 재탄생하기까지의 과정을 유림푸드 김주형 대표에게 들었다.유림푸드 로고가 들어간 조그마한 간판Q1. 유림푸드는? 1979년에 서울 종로구 창신동에서 가족기업 창신제과로 한과 사업에 첫발을 내디뎠습니다. 한과를 만들다 1997년 3월부터 유림한과로 독립해 현재 유림푸드로 사명을 변경해 사업을 이어오고 있습니다. 소소반끼를 비롯해 수제 약과, 다식, 강정, 넛츠바 등 10가지 제품을 생산합니다.Q2. 주요 제품과 특징은?전통방식의 수제제조로 제품을 만듭니다. 생산성이 좀 떨어지더라도 수작업을 고집하죠. 기계화가 필요한 부분은 받아들이되 맛과 관계된 부분에서는 수작업을 고수하고 있어요. 약 40년 동안 한과를 제조하면서 노하우를 쌓았습니다. 특히 강정과 넛츠바는 여름철이 되면 찐득찐득하게 변하기 쉬운데 이런 현상이 전혀 없는 제품을 만들고 있습니다. 일반적으로 한과 업체는 강정을 만들기 위해 물엿을 졸입니다. 그리고 강정의 형태를 유지하기 위해 다량의 설탕을 넣고, 일부 업체는 젤라틴이나 한천 같은 보조제를 넣기도 합니다. 단단한 경도를 유지하는 것이 기술이기 때문입니다. 그러나 요즘 소비자에게 딱딱하고 달달한 강정은 입맛에 맞지 않습니다. 경도는 유지되나 씹으면 쉽게 바스러지고 달지 않은, 쿠키 같은 식감의 넛츠바를 만들었습니다.공장에 들어가면 바로 깨끗하게 잘 정리된 기계들이 있는데 이렇게 깨끗하게 잘 관리되어 한과업체에서는 드물게 HACCP 인증을 받을 수 있었다.전통방식의 수제제조로 제품을 만듭니다.생산성이 좀 떨어지더라도 수작업을 고집하죠.기계화가 필요한 부분은 받아들이되 맛과 관계된 부분에서는수작업을 고수하고 있어요.반죽기계를 지나 다른 방으로 들어가니 많은 직원분들과 함께 한과를 제조 중에 있었다.많은 직원분들이 바쁘게 한과 생산에 몰두하고 있다.Q3. 같이 일하게 된 과정은? 전통 한과 시장의 주요 고객층은 60대 이상 노년층입니다. 젊은 세대의 눈높이에 맞지 않아 소위 ‘잊혀져 가는 식품’, 제사 때나 먹는 맛없고 비싼 음식으로 전락하고 말았습니다. 시장이 위축되다 보니 회사에도 어려움이 닥쳤습니다.그러던 중 지난해 5월경 블랭크에서 바질씨를 이용한 제품을 만들고 싶다는 의뢰가 들어왔습니다. 물에 닿으면 30배가 불어나는 바질씨의 성질을 이용해 포만감을 느낄 수 있는 제품을 만들어보자는 것이었습니다.바질씨는 성형하기 곤란한 물성을 가지고 있습니다. 반죽할 때 경화되는 속도가 빨라 캡슐에 바질씨만 넣어야 했습니다. 하지만 현행법상 의약품이 아닌 것은 캡슐에 넣을 수가 없습니다. 그래서 압력을 통해 압축하는 방식인 타정으로 만들어 달라는 요청이 있었습니다. 기존 업체에서 타정 방식으로 작업을 할 수가 없는 상황이었던 것 같습니다. 그래서 한과를 만드는 우리 회사에 의뢰가 들어온 것이죠. 그러나 바질씨는 반죽 후 20분이면 경화가 되어 타정을 할 수가 없었습니다. 이후 바질씨를 갈아 한약의 환 형태로 만들었습니다. 그러나 환 형태로 만드는 과정에서 수분에 노출되어 이미 부풀어오른 것을 반죽해야 했죠. 뱃속에서 부풀어야 하는데, 이미 부푼 것은 먹어도 효과가 없었습니다.다이어트 식품의 특성을 살려 미량의 쌀조청만으로 제품화하기까지 두 달이 걸렸습니다. 전통방식으로 제조해 특허 출원까지 따냈습니다. 만드는 것만이 전부는 아니라는 마음가짐으로 바로 HACCP 기준에 맞는 설비를 갖출 수 있게 준비했고, 2018년 4월 HACCP 인증을 받았습니다. 현재 한과업체 중 HACCP 인증을 받은 곳은 손에 꼽을 정도입니다. 소소반끼의 제품 품질을 위해 별도로 설치한 조명.Q4. 시장의 반응은?소소반끼 첫 출시 때 5,000세트 정도를 납품했습니다. 시장 반응은 그야말로 폭발적이었습니다. 첫 납품 후 일주일도 채 안돼 3만개의 추가 발주가 들어왔습니다. 한과 특성상 명절이 아닐 때는 한가했는데, 일이 크게 늘어나 즐거운 비명을 질렀죠. 주야간 3교대로 24시간 작업을 돌려 물량을 맞췄습니다. 인력이 부족해 소분을 할 여력이 없어 평소 친분이 있던 업체인 정과원의 도움을 받기도 했습니다. 현재는 자체적으로 설비를 선진화하여 HACCP 인증을 취득했고, 인력 확충을 통해 유림푸드 자체적으로 생산 및 소분까지 완제품을 만들고 있습니다.소소반끼 출시 이후 34만개를 생산해 약 34억원의 매출을 기록했습니다. 블랭크와 협업한 뒤 매출이 40% 정도 급성장했습니다.마침 한쪽에서는 소소반끼의 제품 포장이 이루어지고 있다. 이 기계는 불순물 검출기로 HACCP인증 기준 이상으로 준비한 기계라고 한다.Q5. 어떤 점이 달랐는지?HACCP 인증 설비를 갖추기 위해 기계를 장만할 때 블랭크가 큰 도움이 됐습니다. 기계 값이 한두 푼이 아닌데 블랭크의 선결제로 무사히 HACCP 인증을 받을 수 있었습니다. 블랭크는 ‘안 될 것 같은 것’을 ‘되게 하는’ 힘이 있습니다. 특히 요즘 젊은 층의 니즈에 부합하는 SNS를 통한 마케팅은 탁월하다고 생각합니다. 저희 업무는 한과 특성상 명절에 주로 작업을 하고 평소에는 한가한 편이었습니다. 이제는 성수기가 아니어도 쉬지 않고 작업할 수 있게 돼 회사 운영에 큰 도움이 되고 있습니다.식품업계에서 오래 종사하다 보니 ‘이건 이래서 안 될 거야’라는 나름의 저지선이 있었습니다. 그런데 감각적이고 도전 정신 넘치는 블랭크의 모습을 옆에서 지켜보면서 나도 뭔가 전통 한과에 새로운 것을 접목해야겠다는 도전 의식이 생겼습니다. 한과가 기존 것을 답습하는 것이 아니라 서양의 수많은 식품과 비교해도 경쟁력을 가질 수 있도록 발전시켜 나가고 싶습니다. 새로운 세대의 기호에 맞춰 한과 제품을 현대화하는 작업에 심혈을 기울이게 됐습니다. 전통 제품만이 아니라 우수한 건강식품으로 제품군을 넓혀 나가고자 합니다.소소반끼의 시작은 정과원의 홍권택 차장님의 소개로 공동개발되었다.(사진왼쪽)유림푸드 김주형대표 (사진오른쪽)정과원 홍권택 차장소소생활 - 소소반끼 홈페이지블랭크 코퍼레이션은 좋은 기술력의 기업과 함께더 나은 생활을 만들어 갑니다./Lifestyle needs solutionblank.
조회수 1311

흐린 날의 생일 파티

안녕하세요.공항을 오가는 가장 편한 법 벅시(BUXI) 입니다.이런 말씀은 안 드리려고 했는데...그 벅시가 아니라 벅시(BUXI) 입니다.BUS+TAXI해외여행 갈 때, 출장 갈 때, 그냥 공항가고 싶을 때집 앞까지 모시러가는 벅시(BUXI) 입니다.오늘은 오랜만에 포스팅을 하게 되었습니다.근데 너무너무너무너무너무 진부한 내용을 포스팅 해달라고 하네요.아휴 무슨 팀원 생일 파티까지 제가 올려야 하나요?날씨도 엄청 흐린데 남의 생일 제가 알게 뭔지???...?!음... 생각해보니 벅시(BUXI)의 마블리, 우리 운영팀의 마동석,석헌님의 탄생일이군요....진짜 저렇게 생기심때리지 마세요 ㄷㄷㄷ포스팅 할께요 ㄷㄷㄷ마동... 아니 석헌님은 우리 벅시(BUXI) 서비스의 운영팀의 업무를 맡아주고 계십니다.되게 친절하시고 일도 엄청 잘하십니다 ㄷㄷㄷ친절한 그의 메신저 프로필 사진... 도대체 왜? ㄷㄷㄷ그... 뭐냐 운동도 엄청 좋아하셔서 저한테 아래 사진 같은거를 가끔 보내주고 그러십니다 ㄷㄷㄷ존경하는 사람이라고 ㄷㄷㄷ네... 뭐 암튼 하하하사진 찍은 것 좀 보실까요 ㄷㄷㄷ왕의 모습 ㄷㄷ왕관이 잘 어울리십니다 왕이시여...충신들의 바쁜 손놀림 ㅠㅠ이거 쓰다보니 문득 든 생각인데,그 동안 우리 회사의 생일자 분들이 많으셨거든요.근데 파티하자고 한 건 이번이 처음 ㄷㄷ이유가 뭘까요? 맞기...싫어서?조공 5초전...영상으로 제 충성심을 표현해보겠습니다!흡족해하시는 모습을 보니 '조공'이 성공적인 것 같네요.기분이 좋으셨는지 '직접' 케익을 '하사'하시는 모습까지! ㄷㄷㄷ팔뚝에 근육 ㄷㄷㄷ비록 비가오고 흐린 날 이었지만마동... 아 아니 석헌님의 생일 파티가 있어서 매우 행복한 하루였습니다 ㄷㄷㄷ이 글을 읽으시는 모든 분들도 행복한 기운을 느끼셨으면 좋겠습니다.....마무리ㄷㄷㄷ공항을 오가는 가장 편한 방법 벅시(BUXI)였습니다.석헌님 생일 다시 한번 축하드려요~#벅시 #스타트업일상 #운영 #성장 #일지 #기업문화 #조직문화 #사내복지
조회수 1585

스마트 컨트랙트 개발과정에서의 실수 — TransferFrom

Hexlant는 Blockchain 전문 개발 팀으로, 다양한 기관들의 스마트 컨트랙트 코드를 검수하는 업무도 진행하고 있습니다.지금까지 다양한 컨트랙트 코드들을 리뷰하면서 나왔던 문제점들을 공유하고, 더 나은 방법으로 개발 할 수 있는 방법들에 대해 이야기 해보고자 합니다.transferFrom에 대한 이해ERC-20 표준에 보면, transferFrom 이라는 함수가 있습니다. 일반적으로 많이 쓰이는 기능이 아니다 보니 잘 모르고 넘어가는 경우가 많습니다.function transferFrom(address _from, address _to, uint256 _value) public returns(bool)transferFrom은 남이 가지고 있는 토큰을 누군가에게 보내는 기능입니다.그 누군가는 내가 될 수도 있습니다.이 설명만 보면, 아래와 같은 의문이 생기실 겁니다.어? 남의 토큰을 내 마음대로 옮길 수 있다고??당연히 마음대로 옮기면 안되겠죠.그래서 approve 함수를 통해, 내 토큰을 사용할 수 있는 사람을 지정할 수 있습니다function approve(address spender, uint256 _value) public returns(bool)토큰의 holder는 approve함수를 호출하여 spender에게 일정량 만큼을 사용할 수 있게 허용을 해 줍니다. 그럼 spender는 허용된 범위 안에서 토큰을 마음대로 옮길 수 있습니다.허가되지 않은 토큰의 이동많이 쓰지 않는 기능이다 보니, 이 부분에 대해 고려하지 않고 개발 하는 경우가 있을 수 있습니다.아래는 저희가 리뷰했던 코드 중 일부입니다function approve(address _spender, uint256 _value) public returns (bool success) { require(_spender > address(0)); allowed[msg.sender][_spender] = _value; Approval(msg.sender, _spender, _value); return true; }function transferFrom(address _from, address _to, uint256 _value) public { require(_from > address(0)); require(_to > address(0)); require(balances[_from] >= _value); require(balances[_to] + _value > balances[_to]); balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); Transfer(_from, _to, _value); }approve 함수를 우선적으로 보면, allowed 테이블에, msg.sender가 _spender에게 얼마만큼 토큰사용을 허용해 주었는지 저장하는것 말고는 특별한 기능은 없습니다.allowed[msg.sender][_spender] = _value;이제 transferFrom 함수를 확인해 보겠습니다.transferFrom은 실제 토큰이 전송되는 부분이니 예가 필요할 것같습니다.Alice에게 10000개의 토큰이 있을 때, Bob이 transferFrom을 다음과 같이 호출했다고 합시다.transferFrom(Alice, Bob, 10000)자 이제 transferFrom코드를 따라가며 토큰이 어떻게 전송이 되는지 확인해 봅시다.require는 안에 들어간 조건이 만족해야만 다음 라인을 실행 할 수 있다는 명령어 입니다. require를 만족하지 못하면, 해당 트랙잭션은 수행되지 않고 실패로 처리됩니다.require(_from > address(0)); require(_to > address(0));위의 두 줄의 조건은 입력된 주소_from, _to는 각각 Alice와 Bob의 지갑 주소이기 때문에 0x*****형태로 0x0000…0000이 아니기에 해당 조건들을 모두 만족합니다.require(balances[_from] >= _value); require(balances[_to] + _value > balances[_to]);Alice의 지갑에는 10000개의 토큰이 있고 _value는 10000개이니까 저 require를 실제 숫자로 대입하면require(10000 >= 100000); require(0+10000 > 0);조건을 충분히 만족합니다.그 다음부분들을 실제로 Alice의 주소에서 Bob의주소로 10000개의 토큰을 옮기는 작업입니다.balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); Transfer(_from, _to, _value);Alice의 잔액에서 10000개만큼이 빠지고,Bob의 잔액에 10000개가 추가됩니다.balances[Alice] = balances[Alice].sub(10000); balances[Bob] = balances[Bob].add(10000); Transfer(Alice, Bob, 10000);이로서 Bob은 Alice의 토큰 10000개를 자신의 지갑으로 이동시켰습니다.일련의 과정을 요약하면1. 주소 오류 검증 2. 보내려는 토큰이 Alice가 가진 잔액보다 작은지 검증 3. 받았을때 Overflow가 발생하는지 체크 4. Alice의 잔액에서 보내는 만큼의 토큰 수량을 뺀다 5. Bob의 잔액에 보내는 만큼의 토큰 수량을 더한다과정을 보면 Bob이 Alice로 부터 토큰 사용을 허락받았는지 체크하는 부분이 없습니다.따라서 누군가가 보유한 토큰을 다른 사람이 제멋대로 쓸수 있게됩니다.오류수정transferFrom이 정상적으로 동작하려면 어떻게 수정되어야 할까요?function transferFrom(address _from, address _to, uint256 _value) public { require(_from > address(0)); require(_to > address(0)); require(balances[_from] >= _value); require(balances[_to] + _value > balances[_to]); require(allowed[_from][msg.sender] >= _value); balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value) Transfer(_from, _to, _value); }첫 번째로는 당연히 transferFrom을 호출한 사람이 권한이 있는지 확인해야 합니다.require(allowed[_from][msg.sender] >= _value);이 조건을 통해 허용된 수량안에서만 토큰을 옮길 수 있게 만들 수 있습니다.두번째는, 토큰을 옮긴 후 허용량을 줄여주어야 합니다.allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value)만일 Alice가 Bob에게 10000개의 토큰을 허용해 주고, Bob이 그중 100개를 사용했다면, 그 다음번에 Bob은 9900개 안에서만 사용할 수 있어야 합니다.#헥슬란트 #HEXLANT #블록체인 #개발자 #개발팀 #기술기업 #기술중심 #실수담
조회수 2570

전 세계 인플루언서들을 우리 손안에! 거쉬클라우드 코리아

안녕하세요! 멋진 옐로모바일 패밀리사의 서비스와 팀문화를 소개하는 옐친소, 19번째 이야기입니다! 이번 주인공은 옐로디지털마케팅 그룹의 글로벌 마케팅 기업 ‘거쉬클라우드 코리아’입니다! 인플루언서 마케팅 시장을 이끌어 나가고 있는 거쉬클라우드! 그들이 전망하는 2017년 마케팅 트랜드는 무엇인지, 그 흥미진진한 이야기를 거쉬클라우드 코리아의 Ruth 플래너로부터 들어봤습니다:)안녕하세요! 거쉬클라우드에 대해 간략한 소개 부탁 드립니다안녕하세요 옐로 여러분! 인플루언서 마케팅 기업 ‘거쉬클라우드 코리아’입니다. 저를 포함해서 Anna와Sue까지 총 3명이서 함께 일하고 있습니다:) 거쉬클라우드는 현재 아시아 지역에 7개 지사를 두고 있는데요, 전체 임직원 수는 100여명입니다.  현재 거쉬클라우드가 진출해 있는 국가는 어디인가요? 거쉬클라우드는 싱가폴에 본사를 두고 있고, 한국을 포함해 필리핀, 태국, 인도네시아 등 7개 국가에 진출해 있어요. 아시아 인플루언서들을 통해 콘텐츠를 생산하고 소비자들에게 브랜드를 알리고 있습니다. 조만간 중국과 일본에도 진출해 아시아 전역 인플루언서들과 함께 시너지를 내며 마케팅을 진행 할 예정입니다거쉬클라우드 본사 사무실인플루언서 마케팅이 생소한 분들도 있을 것 같아요. 인플루언서 마케팅이란 무엇인가요? 인플루언서 마케팅은 요즘 콘텐츠 마케팅의 핵심으로 각광받고 있는데요, 1인 크리에이터 등의 영향력 있는 개인을 활용한 마케팅 방안입니다. 유튜브, 인스타그램 등의 소셜 콘텐츠를 통해 브랜드를 노출시키며 소비자에게 보다 친근한 이미지를 심어줄 수 있죠. 특히 스마트폰으로 콘텐츠를 소비하는 경향이 큰 동남아 시장에서 주요한 수단으로 자리잡았습니다. 한국에서도 그 수요가 점점 커지도 있고요.거쉬클라우드 사명에는 어떤 의미가 있나요? ‘거쉬’는 빠른 확산이라는 뜻을 가지고 있고 ‘클라우드’는 말 그대로 구름이라는 의미입니다. 구름처럼 빠르게 확산시키겠다는 의미를 담은 사명입니다:)거쉬클라우드에서 진행했던 인플루언서 마케팅 사례가 듣고 싶어요:)태국에서 진행했던 KFC 먹방 캠페인이 가장 기억에 남아요:) 지난 2월, 태국 KFC가 전국 매장에 와이파이를 설치한 기념으로 태국에서 인기가 많은 양수빈씨와 마케팅을 진행했습니다. 양수빈씨가 태국 KFC 매장에서 약 40분 가량 매장 와이파이를 이용해 끊기지 않는 먹방 라이브 방송을 진행했는데요, 엄청난 인파가 몰렸어요. 이로 인해 KFC 매장 내 와이파이 존재를 태국 전역에 알렸죠.KFC에서 먹방 라이브 중인 양수빈또 어떤 사례가 있나요? 만인의 사랑, 스노우 앱을 필리핀, 베트남, 인도네시아 등에서 홍보했던 것도 기억에 남아요. 유명 인플루언서들이 스노우앱을 활용해 사진이나 영상을 찍어 각자의 SNS에 올리면 자연스럽게 팔로워들에게 홍보되는 방식이죠.  인플루언서 마케팅을 하는 회사가 많은데, 타사 대비 거쉬클라우드의 강점은 무엇인가요? 말씀드렸듯 거쉬클라우드는 현재 7국가에 지사를 두고 있습니다. 각 지사에는 그 나라 문화에 대해 가장 잘 이해하고 있는 현지 직원들이 함께 하고 있어 보다 쉽고 정확하게 클라이언트가 원하는 마케팅을 진행할 수 있죠. 또 하나의 캠페인으로 아시아 여러 국가 타게팅이 가능하다는 것도 큰 강점입니다:)얼마 전 ‘인플루언스 아시아 2017’를 주관했다고 들었어요. 어떤 행사였나요? ‘인플루언스 아시아’는 아시아 지역 최대 소셜미디어 시상식입니다:) 최근 모바일과 콘텐츠 중심으로 미디어 환경이 급변하고 있는데요, 그 중심인 인플루언서들을 한 자리에 모으고 연결하여 긍정적인 생태계를 조성하는 것을 목표로 2년에 한번 진행하고 있습니다. 2015년부터 시작했고 한국과 베트남이 올해 새롭게 추가됐어요! 앞으로는 인플루언서들이 만드는 콘텐츠를 소비할 아이들이 점점 늘어날 거예요. 그렇기 때문에 크리에이터들이 건강하고 긍정적인 콘텐츠를 생산하는 것이 무엇보다 중요하다고 생각해요.거쉬클라우드의 조직문화는 어떤가요? 우선 회사 경영진들이 외국인이다 보니 굉장히 수평적인 문화를 가지고 있습니다. 직원들은 자유롭게 의견을 내고 경영진들은 모두의 의견을 소중하게 생각하고 수용해줘요. 보스라기 보다 동료 느낌이죠. 또 직원 한 명 한 명의 강점이 무엇인지 파악해서 알려주기도 해요. 개인의 성장을 중요하게 생각하는게 느껴져서 더 열심히 일하는 동기가 되는 것 같아요.  2017년도 부상할 마케팅 트랜드는 무엇일까요?‘마이크로인플루언서’가 주요 마케팅 전략으로 부상할 것이라고 예상하고 있어요. 수백만명의 팔로워를 보유한 탑티어 인플루언서와는 달리 마이크로인플루언서는 특정 분야에서 수천 혹은 수 만명 수준의 팔로워들을 보유하고 있는데요. 이들은 팔로워들과 지속적인 소통을 통해 탄탄한 유대감을 형성하고 있고, 한 가지 분야만 파는 만큼 특정 연령층 혹은 특정 집단을 대상으로 세밀한 타게팅이 가능합니다. 스타 인플루언서보다 투자 대비 효과가 크다고 볼 수 있죠.  거쉬클라우드의 올해 목표는 무엇인가요? 올해 안으로 중국과 일본에 지사를 설립하고 각 국 인플루언서들과 독점적으로 일 하며 거쉬클라우드의 브랜드를 좀 더 강화 시키는 것이 목표입니다. 거쉬클라우드, 그리고 YDM 식구들 늘 감사합니다:) Go Yello! Go Gushcloud!
조회수 821

'브랜드 스토리는 멀리 있지 않다.'

브랜드 스토리는 우리가 만드는 것일까 고객이 만드는 것일까'결론은 둘다이다 정확히 얘기하면 우리는 길을 터놓고 고객들이 그 길을 따라 가기를 유도하는 것과 같다.'그 길에서 발생하는 스토리들이 브랜드의 스토리가 되고 자산이 되고 아이덴티티(정체성)가 된다 그리고 브랜드의 생명까지 결정 짓기도 한다. 그러면 우리가 우리얘기를 하는 게 워킹할까.경험한 고객(유저)들이 우리얘기를 하는게 워킹할까.'처음은 우리의 얘기가 강할 수 있다. 경험한 고객들이 없기 때문에'고객들이 많아지고 스토리가 진행될 수록 주인공은 우리가 아닌 고객들이 된다.고객들의 소리에 잠재고객들이 움직이게 되고 신뢰하고 결정짓게 된다.사이트에 구매후기를 보고 블로그를 검색하고 유튜브를 검색해서 콘텐츠를 보는 것처럼즉, 고객이 구전역할(바이럴)을 하게 된다.   고객의 소리 = 브랜드 스토리가 생길수록 비즈니스의 모델의 품질이 중요한 이유기도 하다.Q. 고객의 소리 = 브랜드 스토리는 어디에 있을까? - 자사 브랜드 웹사이트, 마케팅 매체(SNS외), 블로그, 쇼핑검색, 앱스토어, 커뮤니티 등에 고스란히 남겨져 있다.그 곳에는 우리가 생각하지 못한 피드백과 돈으로 살 수 없는 이야기들이 감사하게 잘 남겨져 있다.본인 인생에 경험을, 사연을, 목소리를, 희망을, 감사함을, 개선사항들을 우리가 궁금했던 해답들도 있다우리는 이것들을 그냥 지나치면 안된다.처음은 하나하나 체크하면서 데이터를 수집하고 귀담아 듣지만 시간이 지날수록 우리는 이곳의 반응들에 대해 잘 귀담아 듣지 않게 되는 거 같다.'우리가 목적지를 가기 위해 바쁘게 움직이다 보면 주변 풍경들을 놓치는 것 처럼'   '고객의 소리가 브랜드 스토리가 되고 피드백이 되고 남겨져 있는 곳을 알고 있다면 이야기가 가진 힘이 얼마나 큰지 확인하기 위해 가설/검증을 진행했다.'  *해당 콘텐츠는 자사몰 구매후기를 보다가 발견하고, 고객의 소리를 그대로 담아 콘텐츠로 만들었다.*후기를 남겨주신 분께 사전동의를 받고 진행했다.<구매후기를 남긴 고객 이야기를 콘텐츠로>애기가 트러블이 심해서 녹물 걸러주는 샤워기를 쓰고 피부가 나아졌다는 사연을 보고 연락을 취해서 동의를 받고 콘텐츠를 만드는데 3일도 걸리지 않았다. 고개를 돌려보면 정말 신기하게도 이런 이야기들을 발견하게 된다.해당 콘텐츠 : https://www.facebook.com/688606631230077/posts/1445046455586087     내일의유머 - 뽀샵없는 영상보고 제대로 쇼핑하자우리애기 피부트러블이 심했는데........ . 샤워기 물만 바꿨는데도 이렇게 좋아졌어요 대박!!!! . 구매좌표 > tabb.at/pO0kPr4www.facebook.com 반응은 예상한 것보다 훨씬 더 좋게 나왔고, 댓글처럼 공감과 바이럴, 전환까지 워킹했다.그리고 이런 경험을 통해 마케팅 프로세스를 만들었고, 고객의 소리를 담은 콘텐츠들을 여러개 만들었는데 다른 콘텐츠들도 반응이 좋게 나왔다.이걸 보고 이렇게 생각하시는 분도 계실 거다.'우리는 오픈한지 얼마 안돼서 고객의 소리가 별로 없어요.''고객의 소리중에 이렇게 담아낼게 별로 없어요.'하지만 고객의 소리를 만드는 방법은 있다.  '고객이 직접 경험을 하게 만들면 된다.'비용이 거의 들지 않고, 콘텐츠로 담아낼 수 있고 콘텐츠를 노출할 수 있는 곳을 연결하면 된다.*프로세스로 쓰면고객 > 제품/서비스 > 경험 > 콘텐츠 > 노출 > 구매/사용유도이다.제품/서비스를 경험할 수 있는 체험단을 소수로 운영할 수 있고, 음식을 파는 가게라면 시식을 통해 해볼 수 있다.거기에 바이럴을 할 수 있도록 블로그, 인스타그램 같은 게시물에 태그를 걸고, 바로 지우지 않고 게시글이 오래 유지 되도록 설계한다. 그 콘텐츠를 광고로 돌릴 수도 있다.플랫폼이면 플랫폼 쿠폰/이익을 주어 경험의 허들을 낮춰서 해볼 수 있다.투자할 수 있는 금액이 있다면 대행을 맡길 수도 있다.이런 접근 방법은 생각보다 어려운 게 아니다.머릿속으로 이렇게 해야 되는 걸 알고 있지만 그게 얼마만큼의 가치가 있을 지, 얼마나 시간을 투자해야 되는지얼마큼 고객에게 전달해야할 지 경험을 통해 익숙해지고 개선하면 된다.    그리고 개선을 통해 접근하는 방법들도 다양하게 만들 수 있다. '고객의 소리를 잘 담아낼 수 있게 만드는 것도 비즈니스모델을 만드는 사람들의 역할이다.'사이트에 영상과 사진을 남기면 혜택을 더 주거나, 피드백이 좋은 고객들은 따로 관리 하거나 등  이런 행동들이 비즈니스 모델을 더 성장시키는 아주 쉬운 방법으로 접근할 수 있다.  - 직접 경험한 내용들이 도움이 되기를 희망하며 마케팅 인사이트를 남깁니다 -  임재환마케터
조회수 2103

인턴에서 지사장까지. 잔디 대만 총괄책임자 KM을 만나다.

맛있는 인터뷰 : 대만지사장 KM 편집자 주잔디와 함께 하는 멤버는 총 35명. 국적, 학력, 경험이 모두 다른 이들이 어떤 스토리를 갖고 잔디에 합류했는지, 무슨 일을 하고 있는지 궁금해하는 분들이 많습니다. 잔디 블로그에서는 이 궁금증을 해결해 드리고자 ‘맛있는 인터뷰’를 통해 ‘잔디’ 멤버들의 이야기를 다루고 있습니다. 이번 맛있는 인터뷰는 스페셜 에디션으로 대만의 멤버 KM(이하 : K)를 인터뷰해보았다. 인턴으로 시작해서 어떻게 대만 지사장이 되었는지, 그에 대해 조금 더 자세히 알아보자.KM을 모르는 한국 사용자를 위해 소개 부탁한다.K: 잔디 대만 지사를 총괄하고 있는 KM (Kaimin)이라고 한다. 대만에서 세일즈, 마케팅, CX(Customer Experience), 재무 업무를 모두 담당하고 있다. 엄청 바쁠 것 같다. 대만 비즈니스는 어떠한가? 바쁜 거 보니 잘 되는 것 같은데.K: 대만에서만 연 매출이 3배 증가했고 그래서 그런지 바빠도 기쁘게 일하고 있다. 3배라니! 대단하다. 어떻게 회사를 키워 나갔는지 궁금하다!K: 오늘 모든 걸 다 말해주겠다!! 시작하기 전에, 인터뷰 제목이 맛있는 인터뷰이다. 인터뷰이가 가장 좋아하는 맛집에서 인터뷰를 진행하지만, 물리적인 이슈가 있기에. KM이 소개하고 싶은 음식을 가지고 왔는데, 어떤 걸 가지고 왔는지? (featuring 대만 버블티)K: 가장 보편적으로 먹는 대만식 아침이다. 빵과, 부리또 같이 생긴 랩과 두유다. 랩 안에는 계란과 돼지고기, 밥이 들어있다. 나는 자주 먹어서 그런지 먹고 나면 마음이 편안해지고 생각보다 배가 부르다. 꼭 먹어보길 추천한다.  인턴으로 시작했다가 이제 대만의 비즈니스를 총괄하고 있는데. 엄청난 변화다. 어떤 일이 있었나?K: 처음에 비즈니스&재무 인턴으로 잔디와 함께하고 몇 개월 후 정식 멤버가 되었다. 그 당시에는 비즈니스 멤버들과, UI/UX 매니저, 그리고 BX 매니저 이렇게 총 8명의 멤버와 함께 일을 했었다. 첫 1년간은 멤버가 한 명씩 커리어를 바꿀 때마다 비즈니스 업무를 조금씩 더 담당하게 되었다. 그 이후 결국에는 약 1년간 혼자 일하게 되었다. 당시 책임감도 막중했을 것 같은데. 무섭진 않았나?K: 솔직히 뭘 해야 할지도 잘 몰랐다. 인수인계를 받으면서 ‘뭘 어떻게 해야 되겠다’라는 감은 있었지만, 이전에 한 번도 못 해본 일도 있었고 그 자리에서 바로 도움 받을 상황도 아니었기 때문에 막막했다. 하지만 재무와 비즈니스 등 여러 방면에 늘 관심있었고 한국 본사 멤버들이 꾸준히 응원해줬다. 오히려 절호의 기회로 생각했다. 항상 잔디에서 온라인 상태이던데 온종일 일하는 게 맞는지.K: 맞다. 특히 글을 쓰는 일은 주로 조용한 밤에 잘 되더라. 모든 비즈니스가 마찬가지지만 고객 관리가 생명이라고 생각한다. 고객은 일반적으로 기다리는 것을 싫어하기 때문에 응대는 최대한 즉각 하려고 한다. 그렇다 보니 거의 온종일 일에 집중하게 되는 것 같다. 혼자서 일하는 것과 다른 멤버와 함께 일하는 것의 가장 큰 차이는 뭔지? 선호하는 방식이 있는지?K: 각 방식에 장단점이 있지만, 아무래도 함께 일하는 것이 더 좋은 것 같다.혼자 일할 때는 모든 의사 결정을 내가 해야 하는 만큼 책임과 자율이 공존했다. 이런 자유를 선호하고 스스로 동기부여 하는 사람이라면 더할 나위 없는 환경인 것 같다. 하지만 가끔은 모든 책임에 조금 부담을 느끼기도 하고 무엇보다도. 외로워지게 된다. 그럴 때면 다시 동기 부여 모드로 돌아가기가 어려울 때가 있긴 하다.멤버들과 함께 일하게 되면서 각자 다른 방식으로 의사소통 한다는 부분을 가장 크게 느꼈다. 각 멤버의 의사소통 방식을 존중해줘야 하고 지금도 계속 찾아가는 중이다. 미팅을 할 때 서로에게 피드백을 많이 주려고 하는데 의사 결정에 있어 큰 도움이 되는 것 같다.사실 인턴들보다 내가 더 많이 배우고 있는 것 같다. ^^;  대만 팀 일하는 방식을 조금 더 자세히 알고 싶다.K: 모든 멤버가 원격으로 일을 하고 있기 때문에 대부분 잔디로 공유하고 있다.매주 월요일에는 미팅을 진행하고 1:1로 만나 한 주의 계획, 그 전 주 업무에 대한 피드백을 주고받는다. 미팅 내용을 토대로 자세한 업무 사항을 각 인턴에게 공유하고 중간중간 현황을 공유 받는다. 매주 금요일에는 편하게 점심을 먹으며 (약간의 업무 얘기와 함께) 서로 개인적인 일도 공유하고 수다를 떤다. ^^ 잔디와 함께한 지 꽤 되었는데, 어떤 게 가장 많이 달라졌는가?K: 잔디 서비스가 많이 성장한 것 같다. 처음 조인했을 때만 해도 메시지와 파일 영구 저장, 그리고 약간의 연동 기능만 제공되고 있었지만 지금은 할 일 관리, 조직도, 그리고 더 다양한 연동 서비스까지 생겨났다.이보다 더 많이 달라진 게 있다면 대만 고객들의 인식이다. 잔디를 사용해본 고객이라면 “꼭 필요한 서비스다!”라며 주변에 많이 소개해주고 있다. 대만은 아직 협업툴이 많이 알려지지 않았고 대체제가 많지 않아 ‘잔디’의 성장 가능성이 매우 높다. 스타트업을 넘어 최근에는 중소기업, 대기업 고객들도 협업툴에 관심을 갖기 시작했다. 그럼 변하지 않은 것도 있는지?K: 아시아 시장을 타겟한 글로벌 서비스라는 점은 변하지 않았고, 내가 잔디와 함께 하기로 결심한 또 다른 이유이다. 아시아권에는 수십개의 국가와 문화가 존재한다. 메신저라고 해도 현지 고객이 좋아하는 것, 원하는 것이 다르다. 쉽게 말해, 카톡, 라인이 동양권에서 현지화에 성공한 이유일 것이다.잔디가 꾸준히 아시아권 확장에 노력하고 있다는 것에는 변함이 없는 것 같다. 혹시 스타트업에서 꾸준함이 얼마나 중요하다고 생각하는지?K: 스타트업이 아니더라도 꾸준함은 모든 분야에서 제일 중요한 요소인 것 같다. 요즘엔 많은 사람이 똑똑하고 열정이 있다. 하지만 그 열정과 성과를 얼마나 오랫동안 유지하느냐에 따라 결과가 갈린다고 생각한다. 지금까지 수많은 사람을 만나오면서 의욕과 열정만 너무 앞서 뭔가 해보기도 전에 제풀에 꺾이는 경우를 많이 봤다. 또, 물론 긍정적인 태도도 중요하지만, 긍정적인 태도 자체는 아무것도 해주지 않는다. 그 긍정성과 비전이 빛을 발한다는 것을 증명하기 위한 행동이 반드시 따라야 한다. 잔디에서 가장 기억에 남은 경험이 있는지?K: 한국 출장 중 IT/스타트업 종사자를 위한 파티에 초대받은 적이 있다. 한국어를 잘 못 하니 굉장히 낯설었는데 지나가면서 사람들이 이것저것 물어보더라. 회사와 대만에 대해 말을 하게 되고, 나중에는 나도 모르는 사이에 내가 처음 본 사람과 막 수다를 떨고 있더라. 나에게는 문화 충격이었다. 대만에서 그런 파티를 가보지도 않았고 굉장히 수다스럽고? 오픈 마인드인 사람들과 얘기할 수 있는 신기한 경험이었다. 시간 날 땐 무엇을 하는지?K: 사실 시간이 잘 나지 않는다. 하하. 주로 밤에 짬이 나면 주로 조깅하거나 산책을 한다. 아, 산책하면서 포켓몬을 잡는다. 조깅을 하거나 걸으면서 할 수 있는 게임이라 포켓몬 고를 좋아하는 것 같다. 지금까지 641마리를 잡았고 앞으로 한 10마리만 더 잡으면 내 컬렉션을 완성 시킬 수 있다. 어디서 덕질의 향기가…. KM의 꾸준함이 여기서 보이는 것 같다.K: 나도 당연히 쉬면서 일을 한다. 다만, 내 목표를 달성하기 위해 일에 조금 더 몰두하게 되는 것 같다.  목표가 무엇인가?K: 단기적으로는 대만에서 잔디를 협업툴 1위로 만드는 것이다. 나아가서는 대만뿐만 아니라 아시아에서 1위로 만들고 싶다. 국가, 문화 상관없이 다른 아시안들도 잔디의 효용을 알게 되었으면 좋겠고, 충분히 할 수 있다고 본다. 이런 내 목표를 이루기 위해 다른 대만 기업들과 제휴하는 것으로 첫 발자국을 뗐다. 한국은 이미 구루미의 화상채팅, 그리고 사이냅소프트의 문서 바로 보기 기능을 제휴를 통해 이루어냈다. 그 제휴 결과로 꼭 연동 서비스가 추가되어야 하는 건 아니지만, 주변 기업들과 상생하면서 그 영역을 넓혀가고 싶다. 끝으로, 전 인터뷰이였던 Gary가 남긴 질문이다. 지금 먹고 있는 음식을 같이 먹고 싶은 멤버는 누구인가?K: 음…. Onion(어니언)과 함께 하고 싶다. 직접 만나보진 못했지만 뭔가 재미있고 스토리가 많은 사람 같다. 어니언과 수다 떨면서 하루를 시작하면 뭔가 엄청난 에너지를 받을 것 같다. 다음 인터뷰이에게 묻고 싶은 질문이 있다면?K: 처음 한국에 갔을 때 즐거운 추억들이 많다. 외국에 가본 경험이 있다면 가장 기억에 남는 경험이 뭐였는지 궁금하다. 마지막으로 하고 싶은 말이 있는지?K: 작년에 개인적으로 힘든 일을 겪었는데, 그때 업무에 다시 집중할 수 있을 때까지 충분한 시간을 주었고, 멤버들이 응원해주었다. 멀리 떨어져 있지만, 그 거리가 느껴지지 않을 정도로 큰 위로를 받았고 너무 감사했다는 말을 전하고 싶다.#토스랩 #잔디 #JANDI #팀원소개 #팀원인터뷰 #팀원자랑 #기업문화 #조직문화 #원격근무 #리모트 #디지털노마드 #재택근무

기업문화 엿볼 때, 더팀스

로그인

/