안드로이드 개발을 하면서, IT 분야에 많은 변화가 일어나는 것을 지켜보았다. 스마트폰으로 인해 컴퓨터가 사람들에게 보다 일상화 되었고, 이전보다 많은 모바일 어플리케이션이 생겨났다. 이전에는 컴퓨터라는 것이 고정된 장소에서만 사용하던 물건이었지만, 스마트폰으로 인해 이동을 하면서도 사용을 할 수 있게되면서 새로운 시장이 생겨났다. Facebook, Twitter 와 같은 SNS가 성공할 수 있었던 이유 또한 이러한 이유 때문일 것이다.
스마트폰 시장은 개인 또는 소규모로도 사업을 시작 할 수 있다는 장점 때문에 많은 사람들이 이 시장에 관심을 보이는 것 같다. 아이디어만 있다면 쉽게 사업을 시작할 수 도 있고, 서비스가 잘 안되더라도 큰 손해를 보진 않기 때문에 만만하게 생각되는 것 같다. 실제로 주변에서 보면 많은 사람들이 아이디어를 가지고 사업을 하려는 것을 많이 보았다. 이러한 사람들 중 실제로 만들어 서비스를 시작하는 경우는 몇 없다. 사람들이 서비스를 시작도 하지 못하고 그만두는 이유는 대부분 만드는 것을 만만하게 보아서였다.
주변에서 “간단한 SNS 어플리케이션 이에요.”, “어플리케이션에 광고를 달아서 돈을 벌거에요.” 와 같은 이야기를 많이 듣거나 보았다. 결코 SNS 어플리케이션은 간단하지 않고, 어플리케이션에 광고를 달아서 돈을 많이 벌 수도 없다. 대부분 이러한 이야기를 하는 사람은 기술 동향에 대해 무지한 사람들이다. 하지만 어플리케이션으로 사업을 생각한다면 직접 프로그래밍은 못하더라도 다양한 분야에 걸쳐서 많은 지식을 가지고 있어야한다.
어플리케이션 기획
좋은 아이디어를 내는 것도 중요하지만, 이러한 아이디어를 구체화시키기 위해서는 많은 시간이 필요하고 알아야하는 것 또한 많다. 때문에 대부분의 사람들이 이러한 기획 과정에서 트러블이 생겨 포기하는 경우가 많다. 또한 기획이 제대로 되지 않은 상태에서 개발을 시작한다면 개발 과정에서 어려움을 겪게된다. 따라서 기획 할 때에 확실하게 많은 것을 조사하고 정리하여야한다. 어플리케이션을 만들기 이전에 기획 시 필요한 요소 몇가지를 정리하면 아래와 같다.
IDEA
서비스를 구상할 때 가장 중요한 요소가 아이디어다. 아이디어는 실현 가능한 범위 내에서 다른 기존의 서비스들과 차별성이 있어야한다. 이러한 차별성과 목적을 한 문장으로 요약 가능하게 설명 할 수 있는 것이 좋은 아이디어이다. Twitter 는 “140자의 짧은 글을 공유한다”, 애드라떼는 “잠금 화면 광고” 와 같이 확실하게 서비스의 특징을 요약 할 수 있어야한다. 하지만 이러한 아이디어가 기술적인 측면을 생각하지 않은 것이면 이는 좋은 아이디어가 아니다. 예를들면 “QR코드를 이용한 쿠폰북” 과 같은 아이디어가 그러한 것이다. 얼핏 들으면 기존에 존재하지 않는 좋은 생각일 것 같지만, 이는 QR코드가 복제가 쉽기 때문에 쿠폰과 같은 것에는 사용하기 어렵다는 것을 인지하지 못한 아이디어이다.
Business Model
사업을 할 목적이 아닌 아이디어라면 수익 모델이 중요하지는 않지만, 돈을 벌 목적이 있는 아이디어라면 수익 모델에 대해 많은 고민을 하여야한다.
초창기 어플리케이션들의 주 수익 모델은 광고와 유료 어플리케이션이었다. 대표적으로 앵그리버드 라는 게임이 있다. 이 게임은 상단에 배너 형태의 광고를 표시하는 무료 앱과, 유료 앱을 판매하는 두가지 형태로 나누어 수익을 올렸다. 초창기에는 앵그리버드 이외에도 많은 앱들이 이러한 형태로 돈을 벌었다. 하지만 이 형태는 유명하지 않은 앱들은 광고 노출이 별로 안되고, 판매 또한 거의 안되기 때문에 용돈벌이 수준의 수익을 낼 수 밖에 없는 한계가 있다.
이 후 나온 수익 모델이 인앱 결제 시스템이다. 유료 앱의 경우 사용자가 최초 구매 할 때 한번 돈을 지불하지만, 인앱 결제의 경우 앱 내에서 지속적으로 지불을 하게된다. 레진코믹스와 같이 컨텐츠를 판매하는 경우도 있고, 게임에 유료 아이템을 만들어 판매하는 경우도 있다. 돈을 벌 목적이 있다면 광고 보다는 사용자가 지속적으로 결제를 할 만한 아이템을 만들어 판매하는 것이 효율적일 것이다.
User Interface/Experience (UI, UX) Design
UI/UX 는 사용자가 사용할 구체적인 화면 구성이다. UI/UX 를 구성하지 않고 어플리케이션 개발을 한다면 좋은 아이디어라도 좋은 서비스는 될 수 없다. 틀이 잡히지 않은 어플리케이션은 화면이 조잡하고 사용자가 사용하기 불편하다. 따라서 기획을 하면서 스토리보드 등의 형태로 UI/UX 를 정리해 놓아야한다. UI 설계 시에는 사용자가 편리하게 사용 할 수 있어야하고, 기능에 적합하게 각 화면을 구성해야 한다.
아이디어에 대한 필요한 기능을 먼저 정리한 후, UI 설계를 하면서 각 화면에 대하여 어떠한 기능이 있는지 상세하게 정리하여 놓는 것이 좋다.
UI/UX 를 구성할 때 다른 어플리케이션을 참조하거나 UI 가이드를 보는 것이 도움이 된다. 몇 가지를 살펴보면 페이스북에는 메뉴가 옆에서 슬라이딩되어 나오는 “슬라이딩 메뉴” 가 이용되었고, 카카오톡의 경우는 상단에 탭을 이용하여 화면을 이동할 수 있게 구성되어있다. 핀터레스트의 경우는 글을 두 열로 나누어 보여주는 형태로 구성되어있다. 모바일 화면에서 슬라이딩 메뉴 또는 탭의 형태로 구성된 어플리케이션을 많이 볼 수 있다.
모바일 화면 이외에 태블릿 PC 등에서는 넓은 화면을 이용해 보기 좋게 구성된 어플리케이션도 많다. 위의 이미지는 FlipBoard 의 iPad 용 화면이다. 모바일에서는 단순히 리스트 형태로 보여주지만, 태블릿에서는 실제 신문을 보는 것과 같이 느껴지도록 UI가 구성되어있다.
이 외에도 Microsoft의 Metro UI 등 편리하고 독특한 형태의 UI 를 가진 어플리케이션들이 많다. 스마트폰 어플리케이션을 사용 할 때, 단순히 이용하는 것이 아니라 어떤 UI 가 적용되었는지, 화면 구성은 어떠하게 구성되어 있는지에 대해 생각하면서 사용을 하면 많인 도움이 된다.
Technology
프로그래밍을 할 줄 모르거나, 자신의 분야가 아니더라도 어플리케이션을 만들기 위해서는 어떠한 기술이 필요한지 알아야한다. 가끔 SNS 와 유사한 서비스를 만들 생각인데 서버가 무엇인지조차 모르는 사람도 있었다. 아무리 자신의 분야가 아니라고해도, 어플리케이션으로 서비스를 할 계획이라면 만드려는 어플리케이션이 무엇이 필요한지에 대해서는 기본적으로 알아야 프로젝트 기간, 예산 등을 예측 할 수 있기 때문에 기본적인 지식은 필요하다.
예를 들자면, 대학교의 강의 평가 어플리케이션을 만든다고하자. 강의 평가 어플리케이션이 간단해 보이지만, 만들기 위해서는 기본적으로 다른 사람과 정보를 주고 받는데 중계 역할을 할 서버와 이용자가 사용할 플랫폼 용 어플리케이션 제작이 필요하다. 서버에서는 사용자의 강의 평가 내용을 데이터베이스에 저장하고 보여주는 기능을 만들어야한다. 이러한 기능을 위해서 어떠한 정보가 저장되어야 하는지를 고려해 데이터베이스 설계(UML, ER Diagram)를 하여야한다. 또한 실제 서비스를 하기 위해서는 서버를 어떠한 방식으로 운영해야 할 지도 고려해야한다. 서버 호스팅을 받아 이용할지, Amazon Web Service(AWS) 또는 Google App Engine(GAE) 를 이용하여 서비스 할지를 가장 적합한 방식을 선택하여야 한다. 또한 사용자의 접근성을 고려하여 어떠한 플랫폼에서 어플리케이션을 개발할지 또한 정하여야한다. 안드로이드, 아이폰(iOS), 윈도우폰 등 다양한 종류의 스마트폰이 존재하지만, 각 플랫폼 모두를 개발 할 여건이 안될 경우에는 선택을 하여야한다. 사용자의 연령별, 성별별, 지역별로 각각 주류를 이루고있는 플랫폼이 다르기 때문에, 조건을 고려하여 적합하다 생각하는 것을 우선적으로 만들어야 할 것이다.