큰 화면에서 몰입형 동영상 환경을 제공하기 위해 Android 앱을 최적화한 VLC

VLCVideoLAN 프로젝트에서 개발한 무료 오픈소스 크로스 플랫폼 멀티미디어 플레이어입니다. 모든 파일 및 화면 유형과 원활하게 호환되어야 한다는 가치가 VLC 앱 디자인의 핵심에 자리 잡고 있습니다. VLC는 대부분의 로컬 동영상 및 오디오 파일은 물론 다양한 스트리밍 프로토콜을 재생할 수 있으며, 많은 타사 앱에서 VLC 엔진을 사용해 동영상 재생을 처리합니다. VideoLAN의 개발자들은 궁극적으로 사용자가 어떤 기기나 화면 크기를 선호하느냐에 관계없이 어디서나 모든 동영상을 재생할 수 있기를 바랍니다.

팀은 원래 Android용 VLC 앱을 설계했으며, 얼마 지나지 않아 사용자들이 Chromebook에서 동일한 환경을 요청하기 시작했습니다. 이때 VideoLAN은 VLC를 ChromeOS에 도입하여 사용자에게 데스크톱 스타일의 환경을 제공할 기회를 포착했습니다.

ChromeOS와 대형 화면에 맞게 Android 앱을 최적화하고 처음부터 x86 및 64비트 ARM을 지원한 VideoLAN은 VLC 사용자가 다양한 기기와 폼 팩터에서 동일한 몰입형 환경을 즐길 수 있도록 했습니다.

진행한 작업

VideoLAN팀은 우선 VLC 사용자가 데스크톱에서 선호하는 마우스 입력, 마우스 오른쪽 버튼 클릭 메뉴 등의 기능을 파악한 다음 외부 저장소(즉, 하드 드라이브 및 USB 드라이브)가 제대로 작동하는지 확인했습니다. 그런 다음 사용자가 데스크톱과 같은 환경에서도 이러한 기능을 즐길 수 있도록 앱의 레이아웃과 기능을 조정하기 시작했습니다.

키보드 및 마우스 지원

팀에서 진행한 가장 중요한 최적화 작업 중 하나는 키보드와 마우스 입력 지원이었습니다. 키보드가 지원됨으로써 사용자는 단축키와 방향 버튼을 사용해 앱을 간편하게 탐색할 수 있게 되었고, 마우스 입력을 통해 마우스 오른쪽 버튼 클릭 명령어 및 VLC 플레이어와의 양방향 파일 드래그 앤 드롭이 가능해졌습니다.

동적 크기 조정

VideoLAN에서는 사용자가 손쉽게 앱을 확대하고 크기를 조정할 수 있도록 여러 가지 버전의 레이아웃을 디자인했습니다. 팀에서는 이미 태블릿용 VLC 레이아웃을 디자인한 적이 있었기 때문에 더욱 크고 넓은 레이아웃을 제작하는 것도 그리 어렵지 않았습니다. 또한 큰 화면이 주는 추가적인 이점을 활용하기 위하여 플레이어의 오디오 설정도 살짝 조정했습니다.

이전에는 팀에서 각 레이아웃을 테스트하려면 개별 에뮬레이터나 별도의 기기를 사용해야만 했습니다. 하지만 ChromeOS용 Android 지원 덕분에 팀은 에뮬레이터를 사용하지 않고도 동일한 기기에서 데스크톱, 태블릿, 모바일용 UI 레이아웃을 한 번에 테스트할 수 있었습니다. 이를 통해 디자인 및 테스트 시간이 크게 단축되었습니다.

이제 ChromeOS 기반 Linux (베타)에서 개발자는 Android 스튜디오를 사용하여 Android 앱을 기본적으로 빌드하고 테스트할 수 있습니다. 따라서 Chromebook은 개발용 기기로 만들 수 있습니다.

여러 가지 버전의 레이아웃, 휴대전화/태블릿/노트북 기기에서의 동적 크기 조정의 예를 보여주는 이미지

Kotlin으로 코드 작성

무엇보다도 VideoLAN팀은 강력한 프로그래밍 언어인 Kotlin을 사용해 모든 작업을 진행했고, 안전하고 간결한 코드를 작성할 수 있었기 때문에 생산성을 개선하는 데도 도움이 되었습니다. 앱의 코드베이스가 줄어들면서 문제를 해결하기 위한 시간은 줄고 앱의 레이아웃과 기능을 최적화하는 데 더 많은 시간을 투자할 수 있었습니다.

VideoLAN의 Android 수석 개발자인 제프리 메타이스는 "우리는 대개 코드의 구조를 크게 바꾸거나 코드를 다시 쓰는 것을 꺼립니다. 기능이 손실될 위험이 있기 때문입니다. 하지만 Android 스튜디오에 내장된 이전 도구 덕분에 자바에서 Kotlin으로의 전환이 상당히 원활하게 진행되었으며 Kotlin의 코루틴 프레임워크가 성능을 개선하는 데 도움을 주었습니다."라고 말합니다.

결과

VideoLAN은 모바일, ChromeOS, Android TV에 동일한 APK를 사용했기 때문에 수석 개발자가 각 플랫폼에 맞게 앱을 최적화하는 데 2개월밖에 걸리지 않았습니다. 사용자는 수개월 동안 특히 DVD 재생을 위해 ChromeOS에서 VLC 지원을 요청해왔으며 지금까지 압도적으로 긍정적인 피드백을 받았습니다. 또한 최신 버전의 ChromeOS는 외부 저장소를 완전히 지원하므로 이제 모든 Android 사용자가 동일한 이점을 누릴 수 있습니다.

VideoLAN의 사장인 장 바티스트 켐프는 "우리 팀은 언제나 사용자에게 최고의 환경을 제공하기 위한 새로운 기회를 찾으려 노력하고 있습니다. Chromebook 최적화를 통해 수많은 기기 및 폼 팩터로 VLC 앱을 확장할 수 있었으며, 전 세계 사용자들로부터 받은 의견을 보면 사용자들이 원하던 바를 정확히 이뤄냈음을 알 수 있었습니다."라고 이야기합니다.

시작하기

ChromeOS에 맞게 앱을 최적화하기 위한 권장사항을 확인하세요.