대체적으로 일반적인 사진 편집 앱과 소셜미디어 용 애플리케이션으로 나뉩니다. 사진 앱의 목적은 개발자나 최종 사용자의 요구에 따라서 아주 많이 다르기 때문에, 어떤 것이 더 낫다고 말하기는 어려운데요. 어떤 유형을 선택하느냐에 따라서 최소 기능 제품(MVP)을 어떻게 만들어야 하는지, 개발팀을 어떻게 구성할 것인지 그리고 전체적인 소프트웨어 개발 프로세스를 어떻게 체계화할 것인지가 결정됩니다.
필터(Filter) 적용
– 최고의 사진 편집 앱들은 사용자들에게 자신들만의 필터 세트를 제공하고 있습니다. 필터는 기본적으로 이미지의 픽셀이나 레이어를 다룹니다. 사진 편집기에서 레이어를 다루는 대표적인 예로는 그라데이션, 그레인(grain), 색상 감쇠(color attenuation), 조명 등의 효과가 있습니다. 색온도(color temperature), 채도, 색조 효과 등은 모두 픽셀을 다루는 겁니다. 이런 식으로 필터 효과는 픽셀과 레이어 모두에 적용할 수 있고, 이미지 개선을 위한 기능으로 쓰일 수 있습니다.
이미지 자르기
– 자르기는 물론이고, 뒤집기, 회전하기, 크기 조절, 정렬하기 기능도 있어야 합니다. 사진의 일부를 쉽게 제거하고 다듬으면 핵심을 돋보이게 할 수 있고, 이미지의 구성을 변경해서 더욱 보기 좋게 만들 수 있는데요. 자르기를 할 때는 이미지의 가로세로 비율을 고정한다거나, 3분할, 그리드, 황금비 기능 등을 제공할 수 있습니다. 아니면 사용자가 직접 설정하게 할 수도 있습니다.
리터치(Retouch)
– 얼굴 사진을 보정하거나 전문적인 용도로 사용할 때 아주 좋은 편집 도구입니다. 이 기능에서는 사진을 편집하면서 원하지 않는 개체는 없앨 수 있어야 하는데요. 이미지에서 불완전한 요소들은 전부 제거해야 하기 때문에, 리터치 도구는 상당히 많은 기능들을 포함하고 있어야 합니다. 이 기능은 원래 잡티 및 여드름 제거, 치아를 하얗게 보이게 만들기, 윤곽선 수정, 피부 색조 보정 등에서 사용되었는데, 요즘과 같은 소셜 미디어의 시대에도 여전히 상당한 인기를 누리고 있습니다. 따라서 이 기능만 제대로 갖추어 놓아도 고객들의 요구를 만족시킬 수 있습니다.
콜라주(Collage) 생성
– 콜라주는 한 장의 그림 안에서 여러 개의 사진들을 보여줄 수 있는 방법입니다. 웹 애플리케이션이나 모바일 앱 가운데에서는 리터치나 필터 등의 기능과 함께 콜라주 기능을 제공하는 서비스들도 있죠. 콜라주 기능에서는 사용자들이 어려운 기술을 사용할 필요가 없이 사진을 빠르게 합성할 수 있는 도구들을 제공해야만 합니다.
배경 변환
– 사진의 배경을 바꾼다는 것은 그리 간단하지 않을 것처럼 보입니다. 하지만 앱 사용자들에게는 쉬운 작업이 되어야 합니다. 사진의 배경을 바꿔주는 앱은 이미 많이 있으며, 여기에 더해서 이미지의 다른 수정 작업까지 가능한 앱들도 아주 많이 나와 있습니다. 배경을 바꾸기 위해서는 이미지를 업로드하고, 필요한 부분을 자르고, 지우고 싶은 부분을 표시하고, 새로운 배경 사진을 선택하면 작업이 완료됩니다.
프레임 추가
– 테두리와 프레임을 이용하면 굳이 사진의 일부를 자르지 않고도 이미지를 더 예쁘게 만들거나, 필요한 비율을 얻어낼 수 있습니다. 다양한 프레임을 가진 라이브러리를 제공할 수도 있고, 또는 스마트폰의 갤러리에 있는 사진을 선택해서 사용자들이 직접 원하는 프레임을 생성하게 할 수도 있습니다.
우선은 사진 편집 모바일 앱 개발을 위한 프로젝트 팀을 꾸려야 합니다. 팀에는 안드로이드 개발자와 iOS 개발자, UI/UX 디자이너, 품질보증(QA) 엔지니어, 백엔드(back-end) 개발자가 반드시 포함되어 있어야 하며, 경우에 따라서는 비즈니스 애널리스트와 프로젝트 관리자가 필요할 수도 있습니다.
앞에서 이미 살펴봤듯이, 이미지 편집 애플리케이션은 기능이 풍부해야 하기 때문에, 일반적으로 개발을 함에 있어서 복잡한 기술 스택이 필요합니다. 기술 스택은 여러분이 앱을 iOS 환경 또는 안드로이드 환경에서 만들 것인지, 아니면 둘 다 만들 것인지, 또는 콜라주나 배경 바꾸기와 같은 한 가지의 기능에만 초점을 맞출 것인지, 아니면 편집에 필요한 모든 기능을 구현할 것인지에 따라서 많이 다를 수 있습니다.
이미지 편집 애플리케이션 제작을 위한 기술 스택을 선택할 때 따라야 하는 기본적인 원칙들이 몇 가지 있는데요. 우선, 애플리케이션을 제작할 때는 (타사의) 응용프로그램 인터페이스(API)에 크게 의존할 가능성이 높습니다. 예를 들자면, 오픈 GL(Open GL)은 안드로이드 기기 용으로 사진 편집 앱을 개발할 때 가장 많이 사용되는 그래픽 API 중 하나입니다. 라이브러리의 경우에는, 안드로이드 또는 iOS에서 쓸 수 있는 라이브러리들이 이미 아주 많이 있습니다. 예를 들어서, 포토에디터(PhotoEditor)는 안드로이드 소프트웨어 개발도구(SDK)와 호환되는 이미지 프로세스 라이브러리인데, 수많은 이미지 편집 기능들을 간편한 방식으로 지원하고 있습니다. 한편, 오픈 CV(오픈소스 컴퓨터 비전)는 iOS와 안드로이드 OS 환경 모두를 지원하는 라이브러리의 대표적인 사례입니다.
인스타그램(Instagram), 핀터레스트(Pinterest), 언스플래쉬(Unsplash), 또는 플리커(Flickr)와 같은 다양한 플랫폼들에서 사진을 연결하고 공유하는데 사용되는 API들도, 여러분이 반드시 염두에 두고 구현해야 하는 기술입니다. 어떤 경우든, 모든 애플리케이션들은 서로 다르기 때문에, 그것을 개발하는 작업은 각자 별개로 접근해야 합니다. 위시켓에서는 최소기능제품(MVP)을 만드는 것이든, 아니면 완전한 기능을 모두 갖춘 모바일 앱을 개발하는 것이든, 여러분의 프로젝트 계획에 맞는 IT 전문가를 만나보실 수 있습니다.
> 이 글은 'HOW TO BUILD A PHOTO EDITOR APP LIKE VSCO'를 각색하여 작성되었습니다.