본문 바로가기
Project

[프로젝트] 모이소 : PC 멀티리모콘 앱 개발기 - 1

by Sky Titan 2020. 8. 29.
728x90

 시작

 몇 달 전, 공모전 사이트를 탐색 중 K-해커톤이라는 앱 개발 대회를 알게 되었다. 특이하게 이름은 해커톤인데 대회 진행 방식은 사실상 공모전이었다.

 자유 주제로 개발도 가능하기에 혹했던 나머지 타학교에 임베디드 전공을 하고 있던 친구를 꼬셨고 비전공자 친구 두 명도 꼬셔서 총 4명이 대회에 참가하게 되었다. 팀장은 내가 맡았다.

 

 

예선

 예선 참가가 확정됨에 따라 올해는 코로나의 여파로 온라인으로 대회를 진행하게 되었다. 참가 확정이 되면 K-해커톤 티셔츠와 기념품, 그리고 예선 진행에 필요한 물품 몇 개를 받게 되는데 기념품은 블루투스 이어폰이었다.

 검색해보니까 3만 원 정도 하는 제품인 것 같더라. 음질이 별로라서 안쓰고 있다.

 

 예선전은 2주가 좀 넘는 기간 동안 진행되었고 배부된 워크시트와 서비스 설명 자료, 그리고 발표 동영상을 제출해야만 되었다. 즉 실제 개발은 하지 않고 서비스 기획만 하는 단계였다.

 


아이디어 기획

 모든 팀프로젝트를 진행함에 있어 가장 어려운 단계가 아이디어 기획이 아닐까 싶다. 특히나 우리 팀은 4명 다 기획력이랑은 거리가 멀었다.

  우선 공모전에서의 기획하는 아이디어들은 개인적으로 몇 가지 조건을 충족해야 된다고 생각하는데 편의성(창의성), 공익성, 구현 가능성, 이 3가지 중 하나는 충족을 해야 되는 것 같다. 

 

 편의성(창의성) 은 흔히 말하는 유틸리티 앱을 의미하며 내가 개발하기 좋아하는 분야이기도 하다. AR을 이용해서 사물의 길이를 잰다든지 신박한 기능을 갖추고 있는 앱을 의미한다. 대신 구현 가능성이 반비례해서 하락할 수 있다.

 

 공익성은 사회적 약자들을 위한 앱, 혹은 불특정 다수들의 공익을 위한 앱으로써 '장애인 음성 네비게이션 앱'이라든지, '치매 환자 찾기 앱'과 같은 것들이 대표적이다. 그리고 정부가 주최하는 대회들은 병적으로 공공 데이터 포털을 좋아한다.

 

 구현가능성은 쉽게 말하자면 아이디어가 별로면 구현 계획이라도 구체적이어야 한다는 것이다. '아이디어는 뭣도 없지만 실제로 구현이 100% 가능하고 그것을 구현할 준비가 되어있습니다!!'라는 것을 강하게 어필해야 된다는 것이다.

 

 어쨌든 팀원들 각자 가족들에게 이런 저런 의견을 구해 왔고 몇 가지 아이디어가 제시되었다.

 

 

1. 호텔 인디케이터 앱

 듣기로는 해당 앱이 국내에서는 존재하지 않고 해외 제품만이 존재한다고 한다. 그래서 아이디어 자체로는 매우 좋지만 우선 해당 앱의 필요한 기능과 정확한 앱의 정의가 파악되지 않았고, 무엇보다 우리 4명이서 감당할 수 있는 규모의 앱이 아닌 것 같아서 배제됐다.

 

2. 유치원 교육 일지 작성 앱

 유치원 교사로 근무하고 있는 가족을 둔 친구에게서 나온 아이디어이다. 유치원에선 매일, 혹은 주기적으로 교사들이 교육일지를 작성해서 보관해야 되고 그것을 나중에 교육청 측에 보고도 해야 된다고 한다.

 문제는 이것을 일일이 수기로 작성한다는 점. 그렇기에 이 앱을 제작하는 것으로 의견이 강력하게 모였으나 수요성이 그렇게 뛰어나지 않다는 점 때문에 결국 이 아이디어도 배제되었다.

 

3. 모바일 영수증 앱

 주부들이 종이 영수증을 일일이 보관하고 그걸보고 가계부를 적는 것이 불편하다는 데에서 나온 아이디어이다. 그리고 종이 영수증의 발행을 줄이면 환경 친화적이다라는 점에서 더욱 부각되는 아이디어이기도 했다.

 다만 이미 모바일 영수증을 관리, 발행해주는 앱과 서비스들이 존재해서 이 아이디어도 리젝트 되었다.

 


 아마 지금까지 이야기를 듣고는 '창의성도 없다는 애들이 까탈스럽기는 더럽게 까탈스럽네'라고 할지 모르겠다. 하지만 프로젝트의 성공 여부는 아이디어가 50%를 차지한다고 생각하기에 더더욱 객관적으로 혹은 비판적으로 바라보면서 평가를 해야 된다고 생각한다. (물론 브레인스토밍 과정에서의 비판은 절대 지양해야 된다.)

 

 결국 서로의 아이디어를 씹고 뜯고 맛보고 즐기다 나온 것이 관짝에 처박혀 있는 내 개인 프로젝트를 꺼내와서 디벨롭하는 것이었다. 그 개인 프로젝트는 'PC Remote Control'이라는 앱으로 말 그대로 pc 리모컨이다. 실제 PC와 통신하는 과정까지 구현이 되었고 난 사용까지 하던 상황이었으나 UI 디자인, 기존에 존재하는 앱들과의 차별성을 만들어 내지 못하고 끙끙거리다 개발을 중단한 상태였다.

 팀원들은 마음을 못 정한 듯했으나 훌륭한 팀장의 리더십(?) 덕분에 결국 해당 아이디어를 디벨롭하기로 최종 결정되었다. 

 

  디벨롭된 아이디어는 일반적인 PC 리모컨이 아닌, '다수의 인원이 동시에 한 PC에 접속해서 제어할 수 있다'는 컨셉의 앱이었다. 백엔드를 도입해서 회원제로 운영하고 여러 인원을 그룹으로 지정해서 편하게 관리할 수 있는 기능을 추가했다.

시스템 구성도

 


제출 자료 작성

 아까 '구현 가능성'에 대해서 언급했다시피 아이디어에 자신이 없으면 구현 계획이라도 구체적이어야 한다고 했다. 그렇기 때문에 최대한 우리는 구현을 할 준비가 다 끝났다는 점을 어필하기 위해서 여러 가지 자료를 작성했다. 위에 시스템 구성도가 그러하고 DB의 ER 다이어그램, Relational 모델, 시퀀스 다이어그램, 기능 명세서 등이 그것이다.

 

ER 다이어그램
Relational 모델
시퀀스 다이어그램

 워크시트 작성, PPT 작성, 발표 영상 촬영까지 끝내고 제출했고 7월 27일에 본선 진출 발표가 났고 본선으로 진출하게 되었다.

 

 본선에 관한 이야기는 2편에서 계속 이어서 하도록 하겠다.

728x90

댓글