본문 바로가기

[ IT Column ]/Self Trainning

작은 아이디어가 만들어낸 개발의 즐거움

노랫말이 마치 당신의 마음을 대신하는 것 같아 웃고 눈물 적시게 한 경험이 있지 않은가?

우리는 음악가사과 음원요소를 분석하여 재생되는 곡과 유사한 곡을 추천하는 바다 플랫폼 기반 애플리케이션을 개발해, bada Developer Challenge에서 특별상을 수상하였다. 작은 아이디어에서 글로벌 서비스로 발전한 이야기를 들어보자.

공유하며 성장하고픈 나의 이야기 - 진성주

타인에게 스스로를 소개할 때 즐겨 사용하는 수식어들이 있다. 호기심 왕성하고 지루함을 싫어하는, 더 성장하고픈 개발자 진성주. 호기심이 많은 성격은 다양한 분야를 공부하고픈 생각을 가지게 해주었다. 대학을 오면서 중고등학교 시절에 사용한 웹기술을 바탕으로 프로그래밍 알바를 하면서 개발 경험을 쌓아 나갔는데, 더 성장하고픈 욕구는 병특생활을 하면서 내실을 다질 수가 있었다.

하지만 그때까지는 다양하게 경험한 것은 좋으나 깊이가 없었다. 수년동안 회사생활을 하며 다양한 기술의 깊이를 생각하는 시기로 넘어오게 되었다. 호기심과 지루함을 싫어하는 성격은 새로운 환경에서 도전하는 것을 즐기게 되었다고 생각하며, 계속 성장하고 싶다는 욕구는 기회가 왔을 때 적극적으로 할 수 있는 자세를 만들었다.

함께 일을 할 때의 적극적인 자세는 내가 가진 단점을 보완하는 좋은 무기였다고 생각한다. 지금은 많지 않은 지식이 누군가에게 도움이 될 것이라는 믿음으로 공유하는 자세로 성장하고 싶다. 마이크로소프트웨어에 기고를 하거나 강연, 커뮤니티, 저술 활동을 하며 공유하며 성장하려고 한다. 내가 발전하고, 타인도 발전하는 서로 함께 웃는 세상을 꿈꿔본다.

내 컴퓨터와의 인연 - 박지훈지금의 초등학교가 국민학교라는 이름으로 불리던 시절이었다. 어느날 삼촌은 필자에게 286컴퓨터를 주셨다. 컴퓨터는 신기하고 재미난 마술상자와 같은 물것이었다. 영화처럼 컴퓨터를 이용해 대단한 것을 할 수 있는 물건처럼 말이다. 
이렇게 컴퓨터와 인연을 맺은 필자는 컴퓨터에 좀 더 관심을 가지게 되었고 컴퓨터학원으로 이끌었던 것 같다. 10살 무렵 컴퓨터 학원에서 Basic를 가지고 간단한 프로그래밍을 배웠던 기억이 있다.

이후 컴퓨터와의 인연은 대학 시절 까지 계속된다. 1학년 때 C언어를 접하게 된다. 물론 조기교육(?) 덕분에 다른 친구들보다 쉽게 이해하고 즐기면서 배울 수 있었던 것 같다. 컴퓨터를 배우는 것은 수학에서 어려운 문제를 풀었을 때의 그것과 매우 비슷했다. 그리고 어느 순간, 다른 친구들보다 잘 해나가고 있는 나의 재능을 발견하고 컴퓨터를 더 즐겁게 배울 수 있었던 것 같다. 지금도 필자는 컴퓨터의 새로운 것을 알게됐을 때, 설레임이 먼저 다가온다.

사람을 행복하게 하는 UX 디자이너가 되고싶어요 - 남형주
시카고 일리노이공대(Illinois Institute of Technology) 교환학생 시절 영어신문을 볼 때마다 정보디자인이 잘 되어있는 페이지가 참 고마웠다. 복잡하고 어려운 정보를 한눈에 파악할 수 있도록 설계된 그래픽 적 요소들은 나의 이해력과 흥미를 북돋아 주었다. 신문 말고도 박물관에서의 체험 전시, 도시의 교통 시스템에 들어간 디자인은 세상을 좀 더 쉽고 재미있게 경험하도록 도와주었다.

당시 필자는 공부하는 디자인분야가 시각적 만족을 주는 것 외에 실제 사람들의 생활 곳곳에 도움을 줄 수도 있다는 사실에 희열을 느꼈던 것 같다. 이때부터 행복한 경험을 주는 ‘UX 디자이너’의 꿈을 키웠다.

학기가 끝난 후에는 시카고 소재의 디자인회사 Plum Tree에서 모션그래픽을 이용한 튜토리얼 동영상을 제작하였고, 현재는 삼성소프트웨어멤버십에서 ‘UX 디자이너’로 활동하며 경험디자인, 정보디자인, UI 디자인 등을 공부하고 있다.

개발자가 존경 받을 수 있는 패러다임 만들기 - 권세만
컴퓨터 프로그래머는 영화에서처럼 멋진 직업이라고 생각하였지만 지난 4년간의 실무경험은 생각과 달랐다. 중소기업에서 프로그래머의 위치는 단순한 코딩과 야근의 반복이었기 때문이다. 나는 이러한 환경에서는 개인도, 기술도, 사업도 발전할 수 없다고 생각하고 디자인과 UX쪽으로 업무 분야를 넓혔다. 또한 웹 서비스와 비니지스 모델 기획을 통해 사업제안을 하기도 했다. 그러한 다방면의 경험은 UX, 모바일 애플리케이션, 비즈니스 모델 등의 다양한 공모전에서 수상을 할 수 있는 원천이 됐다.

개발자는 단순히 코딩을 하는 것이 아니라, 이용자의 삶을 편리하고 시간을 단축시켜주어야 한다. 그래서 혁신적인 디자인과 창의적인 UX가 필요한 것이다. 창의적이란 無에서 有를 찾는 것이 아니라, 有에서 有를 찾는 작업이기에, 본인의 경험을 가장 잘 반영할 수 있는 분야였다. 앞으로도 ‘개발자는 사용자를 위한 개발을 하고, 개발자는 사용자에게 존경받을 수 있는 사회적 분위기’를 만드는, 즉 사용자 감동과 개발자 존경을 위한 패러다임을 위해 노력할 것이다.

‘1년을 3년처럼’ 꿈 꾸는 사람이 살아온 이야기 - 송락규

‘너구리’, ‘01410’, ‘이야기’, ‘M3DIR’ 80년 당시 초등학교 때 컴퓨터에 흥미를 느끼고 본격적으로 접한 프로그램 들이다. 이를 시작으로 포토샵 4를 접하면서 여러 가지 스킨과 웹페이지 등을 제작하면서 지낸 중학교 시절 혼자 너무 즐겁고 호기심에 시작한 일을 다른 사람들이 보고 좋아 할 때 나는 너무 큰 보람을 느꼈다. 이런 설레임은 오늘날 내가 있게 해주는 버팀목이 되어 줬다.

평소 ‘예술과 기술 접목’에 대해 많은 고민을 했었고, 서울시립 미술관 ‘Light Wall’(09년)을 시작으로 1년간 크고 작은 미디어 아트 전시 5개를 통해 세상에 조금씩 나가기 시작 했다.

넘치는 의욕과 호기심으로 세상 사람들을 위한 디자인을 꿈 꾸며 살며 프로그래밍을 통한 디자인에도 관심이 많았기에 ‘삼성 소프트웨어 멤버십’ 일원으로 5개의 과제, 3개의 공모전 수상이라는 쾌거를 이뤄냈다.

다양한 관점으로 많은 문제를 해결하고자 할 때. 경험했던 모든 것들은 내가 무엇인가 결정할 때 있어서 중요한 지표가 되었고. ‘1년을 3년처럼’ 이라는 삶의 다짐을 품고 살아간다.

노랫말이 당신의 마음인 듯, 울고 웃어본 적 있나요?

2010년 1월, 우리는 삼성전자 소프트웨어 멤버십 신입생으로 활동하게 된 진성주, 박지훈, 권세만 셋이서 시작된 팀이다. 삼성소프트웨어 멤버십에서는 신입생들은 교육의 일환으로 조그마한 미니 프로젝트를 진행하여 협업을 미리 경험하는 시간을 갖는데, 우리는 이때 브레인 스토밍을 하게 됐다.

가끔 영화를 본 후 대사를 음미하며 감동하는 사람들을 종종 보았고, 라디오를 틀면 사연이 많은 분들이 자신의 감정을 음악하나로 얘기하고픈 경우를 보게 된다. 20대 중후반인 멤버들은 모두들 아픈 이별을 한번쯤 경험한 상태여서 가사로 음악을 추천해주는 서비스가 있으면 정말 재미있을 것이라고 생각하여 시작하게 된다.

아이디어를 떠올렸다면 기존 시장에서 어떤 제품이 있으며 상품이 있는지 사례조사를 해야 애플리케이션의 차별점을 찾을 수 있다. 사례조사를 진행하였고 대표적인 사례로, 전세계 사람들이 많이 사용하는 애플 아이튠즈 ‘지니어스’가 가장 유명하고 많이 사용하는 서비스였다.

하지만 한국계정은 사용할 수 없다는 장벽이 존재하는데다, 소녀시대를 즐겨듣는 예비군 아저씨 멤버에게는 추천의 만족도가 높지 않았다. 가장 큰 이유는 무엇이었을까. 바로 한국가요에 대한 데이터가 많지 않았던 것이다. 이에 우리는 애플리케이션의 차별성을 한국가요로 특화하여 한국인들이 공감할 수 있게 만들고 아이튠즈의 단점 중 하나인 실행속도가 무겁다는 단점을 보완해 간단한 위젯형태의 애플리케이션으로 개발하기로 하였다.

프로토타입
가사로 감정을 분석한다는 것은 텍스트를 분석하는 것이며 형태소 분석과정을 거치게 된다.바로 ‘희노애락’ 이라는 성향인데, 이를 토대로 기쁨, 슬픔, 노여움 이라는 3가지 성향으로 분석을 진행하게 되었다.

우리 헤어진 날에 집으로 향하는 너… 바라보는 것이 마지막이야

예를 들어 김연우의 ‘이별택시’를 가사를 분석한다면 ‘헤어진 날’ 단어를 슬픔으로 인식해 처리하게 된다. 음악가사분석기의 핵심은 감정단어이고, 감정사전을 구축하기 위해 미리 분류한 음악을 바탕으로 감정단어를 추출하여 구축했다. 
곰곰이 생각해보면 애프터스쿨의 ‘너 때문에’라는 곡은 가사는 슬프고 비트가 빠르다. 사람들이 슬픈 가사가 와 닿지 않을 수도 있다. 정확도를 높이기 위해서 음악의 파형을 직접 분석하여 빠르기를 분석하는 음악요소 분석기를 함께 개발하게 된다.

핵심모듈에서 분석된 결과는 최종적으로 사용자에게 가장 유사한곡을 추천하는데, 앞서 예를 든 ‘너 때문에’라는 곡을 재생 중이면 가사는 슬프고 비트가 빠른 가장 유사한 곡을 사용자에게 추천하게 되는 것이다.

핵심모듈의 개발은 직접 듣고 보고 확인 하면서 수작업으로 진행되는 고된 작업이었다. 그러나 분석모듈의 틀이 잡힌 이후에 발생한 문제는 핵심모듈을 다른 사람에게 입증해야만 한다는 점이었다. 이때 우리는 각자의 지인들과 커뮤니티에 설문을 진행하였고 만족하는 성과를 이뤄냈다.

프로젝트를 진행하면서 제품의 프로토타입 버전을 릴리즈 해야 했으니 쉴 틈 없이 다음 단계로 진행해야 했다. 플레이어의 프로토타입을 만들고 핵심모듈과의 통합을 이뤄냈다. 이때 역시 통합 과정은 순탄하지만은 않았는데, 어렵게 통합한 플레이어를 사용한 사람들은 UX적인 개선점을 요구했다.

사용자들은 내부적인 기술적인 사항이 어려운지에 대해서는 고민하지 않는다. 하지만 지금 현재 사용하고 있는 애플리케이션이 잘 작동되는지가 가장 중요한 것이다. 이런 피드백 덕분에 프로젝트가 좀 더 완성도 있게 되는 계기가 되었다.

데스크톱 애플리케이션
아이디어가 신선한 덕분인지 좋은 평가를 받게 되어 외부 릴리즈를 할 계획으로 우리는 다시 한번 뭉치게 됐다. 프로토타입에서 지적받았던 UX를 개선하고 핵심모듈의 동작은 좀 더 안정화를 시키기 위해 작업을 진행했다. 데스크톱용 애플리케이션은 http://ssmusic. secmem.org 에서도 다운로드 받을 수 있다. 사이트에서 다운로드 받을 수 있다.


<화면 1> 데스크톱용 애플리케이션

남송박진권의 도전 - bada Developer Challenge 
앞서 언급한 데스크탑용 가사 및 음원 분석을 통한 음악추천 애플리케이션은 삼성소프트웨어멤버십에서 우수과제로 선정되고, 마이크로소프트 클라우드 경진대회에서 수상하는 등 그 성능을 인정받았다. 우리는 완성도가 높아진 음악추천 모듈을 더욱 잘 활용할 방법을 모색하던 중 스마트폰용 애플리케이션으로 만들어 보기로 했다. 

모바일 애플리케이션 프로젝트를 시작할 당시 스마트폰은 이미 사람들의 생활 속에 상당 부분을 차지하고 있었다. 특히 스마트폰을 이용해 습관적으로 음악을 듣는 사용자를 주변에서 쉽게 찾아볼 수 있었던 우리는 자신들이 개발한 감성에 따른 음악추천 애플리케이션이 모바일 앱용으로 매우 적합하다는 생각이 들게 됐고, 이후 스마트폰 애플리케이션을 만들기 위해 개발자 송락규와, UX디자이너 남형주가 합류해 현재의 남송박진권이 결성됐다.

프로젝트는 크게 안드로이드용 애플리케이션과 바다용 애플리케이션 개발 두가지로 나눠졌다. 애플리케이션 명도 ‘Feever’라고 정했다. 짧은 시간동안 동시에 두 가지 다른 플랫폼의 애플리케이션을 만드는 것은 쉽지 않은 일이었지만 같은 기능의 서로 다른 컨셉의 UI를 적용할 수 있는 좋은 기회였다.


<화면 2> 안드로이드용 애플리케이션

먼저 안드로이드용 애플리케이션의 컨셉은 사용자가 별도의 학습 없이 이용할 수 있도록 기존의 뮤직플레이어의 틀을 최대한 유지하면서 우리가 개발한 음악 분석과 추천 기능을 통해 흥미를 끄는 방식이었다. 특히, 자신이 듣고 있는 노래의 감성(기쁨, 슬픔, 분노)과 템포, 볼륨 등을 분석한 결과가 재생화면에 표시됨으로서 사용자들은 즉각적으로 노래의 성향을 볼 수 있다. 또 기쁨, 슬픔, 분노 이 세가지 감정에 따라 분류된 음악추천리스트를 통해 재생리스트를 구성할 수 있어 사용자는 현재 자신의 감정에 맞는 음악을 선택하여 들을 수 있다.

바다 애플리케이션의 경우 실험적인 UI를 구성했다. 팀원들 모두 부담없이 재미로 만들어 본다는 생각에서 공모전을 준비했기 때문에 다양한 시도가 가능했다. 따라서 컨셉을 잡기 전에 몇 가지 시안을 생각했었는데, 컨트롤러를 이용해 감정과 템포를 선택하는 방법, 감정별 아이콘을 증감하는 방법, 캐릭터의 표정을 설정하는 방법 등 여러 아이디어가 떠올랐다.

당시 우리는 만나는 사람들마다 애플리케이션의 컨셉을 설명하며 적합한 유형의 UI를 물어보곤 했다. 결국 캐릭터의 표정을 설정하는 방법이 사용자의 공감을 가장 잘 유도할 수 있다는 쪽으로 의견이 수렴되었다.

감정과 템포 선택 UI에서 감정은 캐릭터 얼굴을, 템포는 프로펠러를 버튼으로 구성해 개발을 시작하였다. 그렇게 1차 개발을 마친 후, 공모전에 도전했다.

세계대회 공모전이라 큰 기대 없이 일상을 지내던 중 예선통과 소식을 듣게 되었다. 예선 통과 후 공모전 담당자는 개선해야할 부분과 좋았던 부분에 대한 의견을 친절하게 공유해주었다.


<화면 3> 바다용 애플리케이션

이후 세계대회에서 상위 90팀으로 선정되었다는 소식은 팀원들이 더욱 열정적으로 프로젝트에 참여하는 계기가 되었다. 5명 모두 대학교 4학년 학생이었고, 학업 외에 다수의 프로젝트을 진행하고 있었다. 모두 바쁜 일정이었지만 이 기간에 팀원들은 서로의 상황을 이해하며 차근 차근 애플리케이션의 완성도를 높여갔다.

유저테스트 결과 사용자들이 프로펠러를 이용한 템포 선택에서 머뭇거리는 것을 발견하고 디자인을 변경했다. 또한 사람들이 현재 듣고 있는 음악을 트위터를 통해 공유할 수 있도록 해, 해당 음악을 듣는 사람들 간의 감정 교류의 장을 만들었다.

전 세계 사람들을 대상으로 하는 애플리케이션인 만큼 트위터 감정 공유 창에는 번역 기능을 추가하였고, 사용자의 흥미를 유도하기 위해 3D 트위터 창의 UI를 개발했다. 이후 우리는 쟁쟁한 세계 각국의 개발자들과의 경쟁에서 학생의 신분으로 특별상을 수상하였고, 한국에서 열린 bada Developer Day에서 수상사례로 발표를 맡게 되는 영광을 경험하게 됐다.

<Mini Interview> bada Developer Challenge 특별상 수상자 ‘남송박진권’ 팀

“작은 아이디어가 만들어낸 큰 성과… 앞으로도 계속될 것”

삼성전자의 독자적인 스마트폰 플랫폼인 bada의 출범 1주년을 맞이해 마련된 ‘bada Developer Challenge’. 디지털의 딱딱함을 음악가사 분석과 아름다운 선율, 아기자기한 감성으로 버무려 만들어낸 ‘Feever’로 특별상을 수상한 남송박진권 팀을 압구정동 모처에서 만나보았다. 이미 현직 개발자의 길로 들어선 송락규 권세만 팀원은 아쉽게도 인터뷰에 참여하지 못했음을 먼저 알려둔다. 
취재 | 김미리 기자 milkyway@imaso.co.kr

Q. ‘남송박진권’이라는 이름이 참 독특한데, 팀 자랑을 해달라. 
남송박진권이라는 팀 이름은 멤버 전원의 성을 빌려 지은 이름이다. 남씨 송씨 박씨 진씨 권씨 5명이서 함께 한다는 것을 의미하기도 한다. 각자의 출신학교는 다르지만, 삼성 소프트웨어 멤버십에서 만나 프로젝트 팀을 꾸리게 됐다. 세부적인 담당은 일정관리와 업무분담, 프로젝트 매니지먼트는 진성주, 홍보 및 기획은 권세만, 성능개선 부분을 맡은 박지훈, 사용자 테스트를 맡은 송락규, 감각적이고 아기자기한 디자인을 맡은 남형주가 맡았다.

다른 사람들이 볼 때 5명의 팀원은 너무 많은 인원이 아닌가 하는 생각을 할 수 있지만, 나름 체계적인 역할 분담은 프로젝트의 완성도를 높이는데 많은 기여를 했다. 팀원 중 송락규, 권세만은 이번 프로젝트를 통해 삼성전자에 입사했고, 나머지 3명은 각자의 꿈과 Feever를 업그레이드 할 계획을 구상중이다. 물론 삼성전자에 입사 예정인 팀원도 있다.

Q. 앞으로의 계획은
진성주 _ 모바일과 클라우드를 키워드로 많은 개발자들과 함께 정보를 공유하며, 나 자신도 성장하고 싶다. 모두들 개발자는 어렵다고 생각하는데, 개발은 재미있는 것이라는 인식을 줄 수 있도록 하고 싶다.

남형주 _ UX디자인에 대한 매력에 푹 빠져있는 지금, 더 많은 공부를 하고 싶다. 개발자들 사이에서는 UX디자인에 대해 딱딱하다고 오해를 하고 있는것 같다. 이러한 고정관념도 깨고 싶고, 앞으로도 재미있고 즐거운 상상을 펼칠 수 있는 디자인을 하고 싶다.

박지훈 _ 앞으로도 더 다양하고 많은 경험을 해보고 싶다. 나 자신을 더 개발할 수 있는 일을 찾고자 노력중이고, 현재로서는 시스템 개발 분야에 대한 공부를 더 하고싶다.


- Reference

  http://www.imaso.co.kr/?doc=bbs/gnuboard.php&bo_table=article&wr_id=36829