다크모드 VS 라이트모드 - (1)기획
포스트
취소
Preview Image

다크모드 VS 라이트모드 - (1)기획

2022년 1학기 HCI 수업의 과제로 진행한 프로젝트입니다.

NextJS를 이용하여 개발하였습니다.

링크 : 다크모드 VS 라이트모드, 어떤게 더 좋을까?


💡 HCI, 지금까지의 수업과는 다르다!

HCI는 Human Computer Interaction 의 약자로, 인간과 컴퓨터의 상호작용을 이야기합니다. 그리고 제가 2022학년도 1학기인 현재 듣고 있는 수업입니다.

전부터 학교 수업을 듣고 과제를 하면서 드는 생각이 있었습니다. 학교 과제로는 현업에서 쓰는 것들을 이용한 과제는 없는걸까? 그런데 이 수업의 과제는 학교에서 처음으로 만나본, 개발다운 과제였습니다. DBMS 수업을 들으며 만들었던 B+ Tree, Buffer, Transaction, Recovery 나, 네트워크 수업을 들으며 만든 토렌트 등 도움되고 유익했으며 재밌는 과제는 많았지만, 항상 무언가 개발한다라고 말하기에는 애매한 느낌들의 과제였습니다.

HCI 수업은 조금 달랐습니다. on time and within budget 을 강조하며 프로젝트를 각자 구상하고, 정해진 기간 내에 개발하여 유저테스트를 진행하는 수업이었습니다. 지금까지 해온 과제 중에서 가장 자유도가 높으며 개발한다는 느낌을 주는 과제였습니다.


🤔 그래서 뭘 개발해야하지

저는 게임을 좋아합니다. 하지만 오픈월드류의 게임은 별로 좋아하지 않습니다. 그 이유는 높은 자유도 때문이죠. 얘가 젤다 야숨을 안해봤네! 높은 자유도가 주는 갓겜인데 그거 하면 생각 달라질걸? 주변 사람들한테서 많이 들었습니다. 실제로 닌텐도 스위치도 있고, 야숨도 샀는데 정작 플레이하지 않네요… 하지만 지금으로써는 높은 자유도가 저한테는 단점입니다. 제게는 높은 자유도 = 뭘 할지 모르겠어! 이기 때문입니다.

다크모드와 라이트모드 중 어떤 모드가 더 좋을까?

고민하던 와중 뜻밖의 영감이 찾아왔습니다. 핸드폰으로 다크모드를 이용해 웹서핑을 하던 중 저희 엄마께서 그렇게 보면 눈 나빠져! 그리고 눈아프지 않니? 밝게 해서 봐야지! 라고 하셨습니다. 웬만하면 다크모드를 즐겨쓰는 저로서는 좀 의아했습니다. 이러한 계기로 다크모드와 라이트모드 중 어떤 모드가 더 나은지 직접 테스트하는 프로젝트를 하기로 했습니다.

그런데 다크모드와 라이트모드 중 낫다라는 것은 무엇을 기준으로 판단할까요? 가독성이나 눈의 피로도 등, 여러 요소가 판단 기준이 될 수 있겠지만, 이 프로젝트에서는 가독성에 초점을 맞추려고 했습니다. 가독성은 특별한 장치 없이 정량적인 측정이 가능하지만, 눈의 피로도는 측정하기 힘들기 때문입니다.


👨‍💻 앱으로 개발? 웹으로 개발?

웹으로 개발할 때는 React 기반의 NextJS 를 이용하여 주로 개발하며, 앱을 개발할 때는 Flutter 로 개발합니다.

두 가지 모두 가능하지만 이 프로젝트는 단기간 안에 많은 사람들이 할 수 있는 것이 목표입니다. 이런 면에서 앱은 다운 받아 설치해야 하며, 애플의 경우 등록이 되기까지 시간이 오래 걸리기 때문에 컴퓨터, 스마트폰, 태블릿으로 등의 기기에서 바로 할 수 있도록 웹으로 개발하기로 했습니다.


👨‍👩‍👧‍👦 어떻게 해야 많은 사람들이 할까?

어떤 주제로, 무엇을 이용해 개발할지 정했습니다. 이왕 개발하는거 당연히 많은 사람이 했으면 좋지 않겠어요? 그래서 최대한 많은 사람들이 하게 만들기 위해서는 무엇이 필요할까 고민했습니다. 그리고 다음 3가지가 필요하다고 결론내렸습니다.

1. 재미있어야 하며, 지루함은 최대한 없어야 한다.

2. 길지 않아야 하며, 루즈해질 때쯤 끝나야한다.

3. 유저도 얻는 것이 있어야한다.

첫 번째로 재미를 위해서 게임이나 간단한 테스트 방식이 적합하다고 생각했습니다. 그래서 생각한 방식이 여러 단어들 사이에서 제시한 단어와 일치하는 단어를 모두 고르기였습니다. 게임 느낌의 테스트를 함으로써 사용자에게 조금이나마 재미를 느낄 수 있게 디자인했습니다.

두 번째로 아무리 길어도 5분이 넘어가면 안된다고 생각했습니다. 간단한 테스트라도 너무 길면 사람들이 중간에 하다가 그만둘 것이라고 생각했습니다. 3분에서 아무리 길어도 5분 이내로 끝낼 수 있게끔 디자인하였습니다.

세 번째로 유저도 얻는 것이 있어야한다고 생각했습니다. 유저들은 시간이 남아도는 자원봉사자가 아닙니다. 그렇기 때문에 테스트를 끝까지 할 수 있게 만드는 원동력이 필요하다고 생각하였습니다. 그 원동력을 유저가 진행한 테스트의 결과를 간단하게나마 분석하여, 각 개인에게 맞는 모드를 추천해주기로 하였습니다.


🏆 높은 퀄리티와 많은 유저를 목표로

교수님도 말씀하셨지만, 제가 생각해도 솔직히 거창한 프로젝트는 아닙니다. 오히려 쉽다고 할 수 있죠. 그렇기 때문에 최대한 교수님이 첫 시간부터 강조하셨던 on time and within budget 을 지키며 높은 퀄리티로 개발하고, 많은 사람들이 할 수 있는 프로젝트를 하고 싶었습니다. 지금 생각해보면 그런 면에서 나름 괜찮은 주제였던 것 같네요.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.

[백준 16933] 벽 부수고 이동하기 3 (파이썬 / Python)

[백준 17071] 숨바꼭질 5 (파이썬 / Python)

Comments powered by Disqus.