Ⅰ. 서론
최근 몇 년 동안, 과학기술정보통신부의 무선통신서비스 통계에 따르면, 대한민국에서는 스마트폰과 태블릿 PC 등 스마트 디바이스의 사용이 급격히 증가하고 있다. 2023년 11월 기준으로 스마트폰 및 태블릿 PC 사용자수는 약 5,472만 명으로, 대한민국의 총 주민등록 인구 약 5,140만 명 중 97%를 차지하고 있다.[1][2] 이로 인해 사무실, 연구실, 강의실, 대중교통 등 다양한 장소에서 스마트디바이스를 사용하는 인구가 늘어나고 있다는 것을 알 수 있다.
그러나 이와 동시에 스마트디바이스 사용으로 인한 근골격계 질환의 일종인 척추 질환 환자 수도 계속해서 증가하고 있는 실정이다. 2019년 건강보험심사평가원의 통계에 따르면, 대한민국의 척추 질환 환자 수는 920만 737명으로 집계되었으며, 2015년 대비 약 13%의 증가세를 보였다. 특히, 20대 척추 질환 환자 수는 2015년의 14만 3,183명에서 2019년에는 20만 4,987명으로 약 43% 증가한 것으로 나타났다.
이러한 상황은 스마트디바이스 사용 증가와 학업 및 취업 준비 등에 투입되는 시간 증가로 인해 발생한 것으로 보인다. 스마트디바이스 사용 시 고개를 숙이거나 구부정한 자세를 취하면 목, 어깨, 허리에 통증이 발생할 수 있으며, 이는 거북목, 일자목, 허리디스크 등과 관련이 있다.
현재 대한민국의 총 인구 약 5,140만 명을 감안하면, 스마트디바이스 사용으로 인한 척추 질환 환자는 약 100만 명에 달할 것으로 추정된다. 이에 따라 바른 자세 유지와 휴식을 취하는 것이 중요하며, 반복적으로 30분에 한 번씩 스마트폰이나 태블릿 PC 사용을 중단하고, 스트레칭이나 가벼운 운동을 하는 것이 권장되고 있다.
그러나, 주기적이고 꾸준한 운동 습관을 갖는 것은 쉽지 않다. 이에 스마트디바이스의 헬스케어 어플리케이션을 활용하여 운동 습관을 들이는 것이 필요하다. 하지만 헬스케어 어플리케이션의 활용성이 낮은 이유로는, 사용자들은 다양한 어플리케이션 중에서 선택할 수는 있지만, 사용 방법이 어렵고, 동기 부여가 부족하거나 건강에 긍정적인 변화를 불러오지 못하는 경우가 많다.[3]
또한, 근골격계 질환을 예방하기 위한 다양한 어플리케이션이 출시되고 있음에도 불구하고, 계속해서 신체적 이상증상을 겪는 사람들이 늘고 있다. 이는 자신의 잘못된 자세를 인지하지 못하거나 문제를 해결하기 위한 어플리케이션이 충분한 기능을 제공하지 못한다는 것을 시사한다.[4]
이러한 상황에서 본 연구에서는 다른 어플리케이션을 사용 중인 상태에서 어플리케이션 위에 운동 비디오 정보를 띄울 수 있거나 스마트디바이스가 대기모드인 상태에서 음성안내가 가능한 안드로이드의 오버레이 기술을 활용하여 일정 시간마다 운동을 유도하는 어플리케이션을 개발함으로써 스마트디바이스 사용으로 인한 근골격계 질환의 일종인 척추질환 예방에 도움을 주고자 한다.
Ⅱ. 연구 배경 및 기술
1. 척추 질환 원인 및 예방
현재 우리나라에서는 전체 인구 중 5명 중 1명이 척추질환으로 진료를 받고 있는 심각한 상황에 직면해 있다. 건강보험심사평가원이 2012년부터 2021년까지의 척추와 관절질환 의료이용 분석 결과 발표에 따르면, 2021년에만 척추질환자가 전체 인구의 22%를 차지하여 전국민 5명 중 1명이 척추 질환 진료를 받았음을 나타냈다. 이는 10년 전보다 2.7%p 상승한 비율을 나타내며, 평균 진단 연령 또한 2012년의 41.8세에서 지난 해인 2021년에는 36.9세로 약 5세가 감소한 것으로 확인되었다.
특히, 20∼30대 젊은 세대에서의 척추질환 환자가 급격히 증가하고 있다. 2021년 기준으로 20∼30대가 40%를 차지하였으며, 이러한 증가 추세는 주로 스마트폰, 테블릿 PC 등 휴대용 IT 기기 사용이 급증하고, 학업 및 취업 준비로 인해 시간을 투자하는데 기인하고 있다. 특히 구부정한 자세로 스마트폰 사용, 오래 앉아있거나 엎드려 자는 등의 생활 습관들이 척추, 목, 어깨에 부정적인 영향을 미치고 있다. 사무직이나 수험생들은 특히 허리 통증을 자주 호소하며, 일정한 간격으로 근육을 풀어줄 수 있는 부드러운 스트레칭이 권장되고 있다.
스마트폰이나 컴퓨터 사용 시 구부정한 자세는 목과 척추에 무리를 주며 거북목을 유발할 수 있다. 특히 엎드린 자세로 스마트폰을 보는 경우 엉덩이와 등뼈가 위로 솟아 척추에 큰 부담을 줄 수 있다. 따라서 올바른 자세를 유지하고 일정 간격을 두고 스트레칭을 하는 것이 척추 질환을 예방하는데 중요한 역할을 할 것으로 판단된다.
윤용순 재활의학과 전문의는 “수많은 통계자료들이 젊은 층들의 허리 건강을 경고하고 있지만, 이에 경각심을 갖고 관리하는 이들은 많지 않다.”고 언급하였다. 따라서 척추 건강은 꾸준한 운동, 스트레칭, 올바른 자세 등을 습관화하는 것이 필요하며, 이러한 습관을 형성하는 것이 척추 질환 예방에 기여할 것으로 기대된다.[5]
이와 같이 20∼30대에서도 심각한 척추 질환의 발생과 이에 따른 원인으로써의 휴대용 IT 기기 사용 및 생활 습관들이 부각되고 있으며, 이를 토대로 한 예방적인 접근이 필요함을 강조할 수 있다.
2. 헬스케어 어플리케이션의 한계
KISTI(한국과학기술정보연구원)에 의하면 전세계 모바일 헬스케어 시장의 규모가 2013년 18억 달러 정도에서 2015년 30억 달러까지 성장했고 2018년에는 약 80억 달러 규모로 성장할 것으로 전망되어진다. 이러한 산업 성장 배경에는 의료 서비스 구조가 치료(Cure)에서 예방 관리(Care)로 흐름이 바뀌는 것에도 큰 영향이 있다. 모바일 헬스케어 는 4P주도형의 서비스로 진화하고 있는데 4P는 Personalized(개인화), Predictive(예측), Preventive(예방), Participatory(참여)로 구성되어 있고, 이는 개인별 맞춤형으로 지능화된 ‘스마트 헬스케어 산업’으로 각광받고 있다.[4]
하지만 현재의 헬스케어 앱은 지속적인 사용성을 유지하는데 많은 제약이 따른다. 대표적인 사례로 Fitbit으로 들 수 있다. 선풍적인 인기를 끌고 있는 Fitbit은 2014년 한 해 동안 약 1,090,000를 판매했지만, 그중 420,000명이 1년을 채우지 못하고 앱 사용을 중단했다. 앱 이용으로 긍정적인 변화를 얻을 수 없었던 유저들이 이탈해 버린다는 것이다.[6]
이처럼 사용자가 척추질환 예방을 위해 지속적이고 반복적으로 꾸준히 사용할 수 있는 헬스케어 앱의 한계가 명확히 나타나고 있다.
3. 관련 기술
가. Android Studio
본 시스템에서 구현되는 앱은 Android Studio를 통해 개발되었다. Android Studio는 구글이 안드로이드 앱 개발을 위해 JetBrains 사의 IntelliJ IDEA를 기반으로 만든 통합 개발 환경으로 2014년 10월부터 이클립스를 대체해 안드로이드의 공식 IDE가 되었다. 무료로 제공되고 있으며 Windows, macOS, 리눅스를 지원한다.
2017년 5월부터 안드로이드의 공식 프로그래밍 언어로 채택된 Kotlin도 사용가능하다.[7]
나. Kotlin 우선 접근법
2019년에는 Android 플랫폼 전반에 걸쳐 최신 Kotlin 우선 API를 사용하여 Android에서 Kotlin으로 프로그래밍하는 환경을 원활하게 만드는 데 중점을 두었다. Google은 Kotlin 도메인별 언어(DSL)를 사용하여 빌드된 Android용 최신 UI 도구 키트인 Jetpack Compose의 개발자 프리뷰를 출시했다. 또한 Room 및 Lifecycle을 비롯한 여러 주력 Jetpack 라이브러리에 코루틴을 통합했다. Kotlin 확장 프로그램(KTX)을 Firebase 및 Play Core를 비롯한 더 많은 주요 Google 라이브러리에 도입했다.
도구 측면에서는 Android 스튜디오와 Android 빌드 파이프라인의 Kotlin에 대한 노력을 강화했다. R8(Android용 코드 축소기)이 크게 업데이트되어 Kotlin 관련 바이트코드 패턴을 감지하고 처리할 수 있게 되었다. Android 스튜디오의 .kts Gradle 빌드 스크립트 지원이 추가되었으며 Dagger의 Kotlin 지원이 개선되었다. JetBrains팀과 긴밀히 협력하여 Kotlin 플러그인 지원을 최적화하고 Android 스튜디오의 Kotlin 편집 환경을 유연하고 빠르게 만들었다.[8]
다. Kotlin 코드 작성의 이점
개발자가 말하는 Kotlin을 사용한 코드 작성의 이점은 다음과 같다.
⦁ 표현력이 높고 간결함: 적은 노력으로 많은 작업을 할 수 있다. 상용구 코드를 적게 사용하면서도 아이디어를 풍부하게 표현할 수 있다. Kotlin을 사용하는 전문 개발자 중 67%가 Kotlin을 통해 생산성이 높아졌다고 말한다.
⦁ 더 안전한 코드: Kotlin에는 null 포인터 예외와 같은 일반적인 프로그래밍 실수를 방지하는 데 도움이 되는 여러 언어 기능이 있다. Kotlin 코드가 포함된 Android 앱은 다운될 가능성이 20% 낮다.
⦁ 호환성: Kotlin에서 자바 기반 코드를 호출하거나 자바 기반 코드에서 Kotlin을 호출합니다. Kotlin은 자바 프로그래밍 언어와 100% 호환되므로 프로젝트에서 Kotlin을 원하는 만큼 사용할 수 있다.
⦁ 구조화된 동시 실행: Kotlin 코루틴을 사용하면 비동기 코드를 차단 코드처럼 쉽게 사용할 수 있다. 코루틴은 네트워크 호출부터 로컬 데이터 액세스에 이르기까지 백그라운드 작업 관리를 크게 단순화한다.[9]
Ⅲ. 앱의 주요 기능 및 구현
1. 척추질환 예방을 위한 앱의 주요 기능
가. 멀티태스킹의 유연성 제공
안드로이드 오버레이(Overlay) 기술은 화면 위에 다른 뷰를 겹쳐서 표시하는 기능을 제공한다. 이는 앱이나 시스템 서비스가 다른 앱의 UI 위에 콘텐츠를 그릴 수 있게 해주며, 주로 특정 상황에서 화면에 정보를 나타내거나 사용자에게 알림을 전달하는 용도로 활용할 수 있다.
이와 같은 오버레이 기술을 활용하여 사용자에게 멀티 태스킹의 유연성을 제공한다. 이를 통해 제한된 화면 공간에서도 효과적인 상호작용을 가능하게 하여 사용자 경험을 향상시키려고 한다.
앱은 안드로이드 오버레이를 활용하여 사용자가 운동 비디오를 시청하면서 다른 앱을 자유롭게 사용할 수 있도록 한다. 이는 편의성을 제공하며, 모바일 환경에서의 멀티태스킹을 효과적으로 활용할 수 있도록 한다.
나. 알림 및 상태 표시 기능을 통한 실시간 정보 전달
비동기적인 작업을 예약하고 실행하기 위한 WorkManager를 사용하였다. WorkManager는 백그라운드에서 실행되기 때문에 UI 스레드를 차단하지 않고 예약된 작업은 시스템 상태나 재부팅에도 유지된다. WorkManager와 함께 PeriodicWorkRequest를 사용하여 주기적으로 반복되는 작업을 예약할 수 있다.
특히 안드로이드 오버레이를 활용한 알림 및 상태 표시 기능은 사용자에게 실시간으로 변하는 정보를 신속하게 전달하여 사용자가 운동을 잊지 않고 지속적으로 수행할 수 있도록 지원한다.
그림 1. 반복적 스트레칭을 위한 시퀀스 다이어그램
Fig. 1. Sequence Diagram for Repetitive Stretching
다. 선택적 비디오 스트레칭 시청
그림 2. 선택적 스트레칭을 위한 시퀀스 다이어그램
Fig. 2. Sequence Diagram for Selective Stretching
앱의 메인 화면에서 원하는 시간에 스트레칭 비디오를 사용할 수 있다. 정해진 반복 시간 외에 스트레칭이 필요한 경우 스트레칭 비디오를 시청하거나 정지시킬 수 있다.
2. 다중 앱 상호작용의 설계 및 구현
그림 3. 척추질환 예방을 위한 앱 설계
Fig. 3. Designing an App for the Prevention of Spinal Disorders
본 연구를 위해 개발된 척추질환 예방을 위한 앱은 사용자가 다른 앱을 사용하는 중에 일정 시간 간격으로 척추질환 예방 스트레칭 비디오를 시청할 수 있도록 하여 기존에 앱들이 사용자가 능동적으로 참여하여야 지속적으로 효과를 얻을 수 있는 반면에 본 앱은 반강제적, 반복적으로 스트레칭을 할 수 있도록 설계되었다.
구현된 안드로이드 오버레이 기술을 사용하려면 앱을 처음 실행했을 때 그림 4와 같이 해당 앱을 다른 앱 위에 표시할 수 있도록 설정해야 하는데 이와 같은 설정은 앱을 처음 설치했을 때 단 한 번만 설정하면 된다.
그림 4. 앱 설치 후 첫 실행 화면
Fig. 4. First Run Screen After App Installation
메인 화면에서 Repeat Stretching 버튼을 선택하게 되면 사용자는 다른 앱을 사용하면서도 정해진 시간에 꾸준한 스트레칭을 반복적으로 수행하게 된다. 그림 5와 같이 앱의 메인 화면에서 설정된 시간 외에도 사용자가 필요할 때 Start 및 Stop 버튼을 선택해서 스트레칭 비디오를 시청하거나 정지할 수 있도록 구현되었다.
그림 5. 사용자의 선택적 스트레칭
Fig. 5. User's selective stretching
스마트 디바이스를 사용하는 동안 그림 6과 같이 현재 사용하고 있는 앱 위에 척추질환 예방을 위한 비디오가 50분 간격으로 자동으로 실행하게 된다. 서론 부분에서 언급한 바와 같이 반복적으로 30분에 한 번씩 스마트폰이나 태블릿 PC 사용을 중단하고, 스트레칭이나 가벼운 운동을 하는 것이 권장되고 있지만 사무직종의 근로자나 학생들과 같은 사용자가 현실적으로 휴식할 수 있는 시간을 감안하여 50분 간격으로 설정하였다. 스트레칭을 할 수 없는 특정 상황에서는 다른 앱 위에 오버레이된 비디오 화면을 터치하여 바로 종료할 수 있도록 구현되었다. 대기 상태에서도 50분 간격으로 화면에 반복적인 스트레칭을 유도하는 비디오가 재생되어 음성 오디오를 통해 사용자에게 알림을 제공하게 된다. Turn Off Repeat 버튼을 선택하게 되면 사용자가 반복적인 비디오 시청을 중지할 수 있는 인터랙션도 제공되도록 구현하였다.
그림 6. 다른 앱 위에 오버레이된 화면
Fig. 6. A screen overlayed on top of another app
위의 기능들을 통해 화면 디자인은 사용자 경험에 큰 영향을 미친다. 따라서 오버레이된 화면의 배치 등을 최적화하여 사용자가 다른 앱을 사용하면서 스트레칭 비디오를 편안하게 시청할 수 있도록 고려되었다.
오버레이 화면은 다양한 앱과의 호환성을 보장해야 한다. 안드로이드 오버레이를 통해 구현된 인터페이스가 여러 앱과의 상호작용에서 안정성과 일관성을 유지하도록 구현되었다.
Ⅳ. 앱 사용자 피드백
본 논문에서 개발한 앱은 사용자가 주기적이며 반복적인 스트레칭을 통해 사무직 근로자 및 오랜 시간 앉아서 스마트 기기를 조작하는 사용자들에게 누적되는 척추 피로도를 낮추어 척추 질환을 통해 발생되는 통증을 줄여주고자 하였다.
따라서 본 연구에서 개발한 앱의 사용자 피드백을 얻기 위해 어깨 및 목 등에 통증을 갖고 있는 사무직 근로자 5명과 학생 3명을 대상으로 스마트폰 및 태블릿에 앱을 설치하여 사용하게 하였다. 앱 사용 평가는 1주 동안 진행하였다.
1일 최소 사용시간은 오전 9시부터 오후 6시까지 사용하도록 하였고 1일 사용 횟수, 통증 개선의 효과(1: 있음, 2: 보통, 3: 없음)를 매일 작성하게 하였다. 또한 반강제적 반복 효과(1: 있음, 2: 보통, 3: 없음) 여부도 질문하였다.
표 1과 같이 1주일간 본 연구를 위해 개발된 앱을 통해 스트레칭을 실시한 결과를 분석하여 주어진 데이터를 기반으로 상관 관계를 탐색하고자 했다. 이를 위해 사용한 도구는 R 프로그래밍 언어의 ggplot2 패키지를 활용하여 시각화하였다. 시각화를 통해 “평균 일일 사용 빈도”와 “통증 완화 효과” 간의 상관 관계를 분석하였다.
표 1. 앱 사용자 피드백
Table 1. App user feedback
그림 7은 “평균 일일 사용 빈도 대 통증 완화 효과”를 시각화한 것이다. x 축은 “평균 일일 사용 빈도”를 나타내고, y 축은 “통증 완화 효과”를 나타낸다. 각 점은 데이터셋 내 각 관찰치를 나타낸다. 또한 선형 회귀선이 추가되어 “평균 일일 사용 빈도”와 “통증 완화 효과” 간의 추세를 시각적으로 보여준다. 이 그래프를 통해 평균 일일 사용 빈도와 통증 완화 효과 간의 관계를 탐색한 결과 1일 평균 사용횟수가 높을수록 통증 개선 효과가 크다는 상관 관계를 알 수 있다.
그림 7. 1일 평균 사용 횟수와 통증 개선 효과의 상관도
Fig. 7. Correlation between average daily usage count and pain relief effect
특이점으로는 일주일간 1일 평균 4회 이상 사용한 사용자의 경우 통증 개선 효과 및 앱의 반강제적 반복 효과가 있다고 답변하는 것을 알 수 있다.
Ⅴ. 결론
본 논문에서는 코틀린을 사용한 척추 질환 예방을 위한 Application 설계 및 구현을 통해 기존의 스트레칭 앱의 한계를 극복하여 척추 질환 예방에 도움이 되는 스트레칭을 반강제적 반복적으로 수행하기 위한 방법을 제안하였다.
척추질환은 간헐적으로 하는 스트레칭을 이용해서는 예방하기 어려운 질환이다. 지속적이고 반복적으로 꾸준하게 습관적인 스트레칭을 통해 긴장된 근육의 피로를 해소하기 위하여 Android Work Request와 Window Manager를 통한 Overlay 기술을 사용하여 사용자에게 반강제적이고 반복적으로 스트레칭을 할 수 있는 앱을 구현하여 사용자에게 사용하게 해본 결과 실제 사용자가 스트레칭을 통해서 척추질환 통증 감소에 도움을 받는다는 피드백을 얻을 수 있었다.
본 논문에서 개발한 척추질환 예방 앱을 통해 많은 사용자들이 척추질환 예방에 도움이 되는 더 많은 기능을 갖는 좋은 앱을 개발하는 데 초석이 되었으면 한다.
References
- Wireless Telecommunication Service Subscription Status, Statistics Information from the Ministry of Science, Technology, and Information and Communication, Nov 2023. https://www.msit.go.kr/bbs/list.do?sCode=user&mPid=74&mId=99
- Population Statistics, Data Catalog, THE WORLD BANK, Aug 2023. https://datacommons.org/place/country/KOR?category=Demographics&hl=ko
- Seon-Hee Lee and Seon-Sil Yoo, "Current Status and Future Prospects of Mobile Healthcare Applications", The Journal of Information and Communication Broadcasting Policies, Vol 26, No. 17, pp. 1-23, 2014. https://kiss.kstudy.com/Detail/Ar?key=3279216
- Jaemin Yang, Byunghwan Hyeon, and Junwoo Ok, "Analysis of Smartphone Usage Behavior and a Study on the Functions and Intention to Use Healthcare Applications", The Journal of Venture and Entrepreneurship Studies, Vol 15, No. 4, pp. 303-315, 2020. DOI: http://dx.doi.org/10.16972/apjbve.15.4.202008.303
- Editorial Department Reporter, "Spinal Health Alert for Individuals in Their 20s", Medical News, Feb, 2020. http://www.mdon.co.kr/news/article.html?no=25774
- Shin, Joong-Yeop, Lee, Chung-Ki, and Lee, Kyung-Hyun, "User Experience (UX) Strategies for Health Care Applications to Form Sustainable Exercise Habits - Focused on Women in Their 20s and 30s." Korea Design Forum, Vol. 50, No. 0, pp. 101-112, 2016. DOI: https://doi.org/10.21326/ksdt.2016..50.009
- Dong-Jin Shin, Seung-Yeon Hwang, Jae-Kon Oh, Jeong-Joon Kim, "Development of an App-Based Bicycle Riding System", The Journal of The Institute of Internet, Broadcasting and Communication, Vol. 23, No. 3, pp.113-118, Jun 2023 DOI: https://doi.org/10.7236/jiibc.2023.23.3.113
- David Winer, "Android's commitment to Kotlin", Android Developers Blog, Dec 2019 https://android-developers.googleblog.com/2019/12/androids-commitment-to-kotlin.html
- Android's Kotlin-first approach https://developer.android.com/kotlin/first?hl=ko
- Dae-yeol Kim, "Effects of Combined Exercise Training on Physical Performance, Falling Risk and Balance in Elderly Women", Journal of the Korea Academia-Industrial cooperation Society(JKAIS), Vol. 22, No. 5, pp.371-378, May 2021 DOI: https://doi.org/10.5762/KAIS.2021.22.5.371
- Hyeongseok Jeon, Sungkee Lee, "Analysis and Implementation of Digital Signature Algorithm for the Defense of MITM Attacks in IoT Healthcare Devices",Journal of KIIT, Vol. 19, No. 9, pp. 57-68, Sep 2021 DOI: http://dx.doi.org/10.14801/jkiit.2021.19.9.57
- Dong-Jin Shin, Seung-Yeon Hwang, Jeong-Joon Kim, "Development of Product Control Apps using MQTT", The Journal of The Institute of Internet, Broadcasting and Communication (IIBC), Vol. 23, No. 5, pp.77-82, Oct 2023 DOI : https://doi.org/10.7236/JIIBC.2023.23.5.77