📁

수식입력기 개선 - 콘텐츠 적용 방식, 콘텐츠 편의성, 학습 편의성

킥오프 할 때 빼먹지 않고 SRS 문서 같이 쓰기

문제 정의

유저 보이스

초중고 학생 대상 학습 앱에서는 인지 부하를 줄이고, 실수를 줄이며, 몰입을 돕는 UX가 중요하다.
1.
인지 부하 최소화
UX 장애 유발 : 수많은 버튼(∫, Σ, lim, ∂, ∇, etc...)이 한꺼번에 보이면 초중학생은 "내가 뭘 눌러야 할지"를 모름 (예: 1차 함수 단원에서 ∫나 Σ는 방해 요소일 뿐)
2.
단원 정보에 따라 필요한 기호/함수는 거의 정해져 있음
예)
수와 연산 → 분수, 괄호, ±
도형 → 각도 기호, π
미적분 → ∫, dx, d/dx
3.
탐색보다 몰입이 중요
a.
공학용 수식입기처럼 무한히 많은 기호 제공은 정보 탐색에 초점
b.
학습 앱은 문제 풀이와 개념 학습에 몰입하게 하는 게 목표
c.
따라서 도구는 "최소한의 UI로 최대한의 입력을 도와야 함"
상황
좋은 UX
나쁜 UX
중학생이 일차 함수 풀 때
x + = () 같은 버튼만 있음
∫, ∑, ∂, lim 같은 고등 기호가 섞여 있음
고등학생이 미적분 단원 공부 중
∫, d/dx, dx 등만 나옴
아직 안 배운 기호도 뒤섞여 있고, 원하는 버튼 찾기 어려움
우려
버튼 위치가 바뀌면 학습자가 혼란을 느끼지 않을까?
버튼 위치가 갑자기 바뀌면 공간 기억에 의한 실수와 스트레스가 발생할 수 있다.
때문에 위치가 바뀌는 걸 무조건 피할 필요는 없지만, 일관성 있게 ‘구역 단위’로 유지하는 게 핵심이다.” 전체 레이아웃은 고정하고, 그 안에서 기호 슬롯만 상황에 맞게 바꾸는 방식
절충안 : 구역고정 + 콘텐츠 유동 방식
항목
설명
레이아웃 구조 고정
3줄 툴바, 좌우 버튼 개수, 전체 UI 프레임
각 슬롯의 의미 고정
왼쪽 2개는 연산자, 가운데는 문자/기호, 오른쪽은 함수 등
단원에 따라 내용만 바뀜
같은 자리지만 √ 대신 π가 나올 수 있음

초/중/고로 나눴을 때의 장점과 단점

장점
설정/개발 복잡도 ↓
단원별 세팅은 관리가 많고, 업데이트 어려움
초/중/고 3가지 툴셋만 만들면 훨씬 간단
사용자 입장에서 심리적 혼란 ↓
단원에 따라 UI가 자주 바뀌면 혼란스러움
초등학생은 단순한 UI를 원하고, 고등학생은 다양한 기호가 필요하다는 경향이 분명함
패턴이 학년군별로 비슷
초등: 사칙연산, 분수, 괄호
중등: 문자식, 일차함수, 제곱근
고등: 삼각함수, 미적분, 행렬 등
단점
같은 학년군 내에서 단원간 격차 큼 : 중학교에서 ‘소인수분해’와 ‘이차함수’는 필요한 기호가 완전히 다름
과잉 혹은 과소 제공 가능성 : 초등 툴셋에 π가 없으면 6학년이 불편, 고등 툴셋에 ∫가 있으면 1학년은 혼란

결론 - 절충안

“학년군을 기본 단위로 하되, 단원 또는 문제 맥락에 따라 ‘슬롯 일부’를 동적으로 구성한다.”
위치 고정은 UX에서 중요하지만
학습 맥락에 맞는 기호 제공은 더 중요
따라서 기호 영역은 고정된 레이아웃 내에서만 변화시키는 절충 방식이 가장 합리적인 설계
예시
초등 툴바
기본 기호: +, −, ×, ÷, =, 괄호, 분수
문제에서 시간 계산이 나오면 : 버튼만 슬쩍 추가
중등 툴바
문자 기호: x, y, z, √, π
함수 문제면 f(x), g(x) 버튼만 추가
고등 툴바
삼각함수, 미적분, 행렬 버튼 기본 포함
확률 문제면 Σ, P(A), C(n,r)만 추가

문제 해결시 기대 효과

문제에 맞는 수식만

솔루션

주요 기능

학습자
답 입력 방해 요소 줄이기
입력 편의성 개선
제작자
수식 설정 방식 개선 (모듈)
수식 타입 세분화 (모듈화)
콘텐츠 정확도 (답안을 입력해야하는 콘텐츠 확인하고 다시 판단하기) @현영 유 @유라 서
정오답 오류 (우선순위 하)

고려 해야 하는 것

수식 정오답 처리

사용자가 입력한 좌표를 수식으로 변환한 결과
y=-\\frac{1}{3}x+2.66\\ldots
Plain Text
복사
cms 에서 정답으로 정해진 수식
y=-\\frac13x+\\frac83
Plain Text
복사

영향 범위

미리보기

일정 및 로드맵

논의 사항 (회의록)

@3월 25일 킥오프 논의 결정 사항 (참여자 : 이현수, 정성대, 김우희, 서유라)

1.
프리셋을 콘텐츠팀에서 정해서 넘겨준다. (이번주 내로 넘겨주실 예정 10개~20개 내외로 예상)
2.
FE에서 모든 작업을 한다. BE는 나중에 고도화시 투입. (에스티메이션이 필요해질 때)
a.
프리셋 이름
b.
프리셋별 수식 옵션 등
3.
일정 2개로 쪼개서 우희님께서 [에픽1-1] 개발 일정부터 확인해주실 예정
a.
[에픽1-1] CMS에서 수식 설정 : 그룹에서 → CMS로 수정
b.
[에픽1-2] 키보드 UI 개선 및 프리셋 작업
4.
개발 범위 : 개발은 편집없이 고정된 프리셋 제공 (확장 방향성은 커스텀 가능한 구조로 가져갈 예정)
5.
추가 검토 : 기존에 반영된 수식 입력기에도 최신 스타일 반영 가능 여부 (우선순위 낮으나, 작업량이 적다면 일관성을 위해 같이 가져가기)
6.
예외 케이스 대응
a.
기존 그룹에 초등 수식 설정 + 새로운 프리셋 적용된 액티비티 충돌시 : 새로운 프리셋 수식 입력기가 등장
b.
새로운 프리셋 미적용 상태인 경우 : 기존 default 수식입력기가 등장

가설 및 지표

가설
지표 설정
트레킹 방법

로그 설계

필요함
필요하지 않음

참고자료

수식입력기 서비스

(저희가 쓰는 것) 코텍스JS https://cortexjs.io/mathlive/demo/
Symbolab
풀패드 Off default : 대수학, 미적분학, 미적분, 함수, 삼각법, 통계
풀패드 On default : 행렬 & 벡터
칸아카데미
변수 : a, y, x, 파이, e 등 쓰이는 것만 나옴
탭 : 3가지 탭중 쓰이는 것만 나옴
포함되지 않은 변수를 작성한 경우 답을 채점할 수 없다고 나옴 (답을 채점할 수 없습니다. 답에 잘못된 문자가 포함되었습니다.)
분수 더하기 (수식입력기 대신 정답의 형태를 안내하고 있는 것이 포인트)
제곱근 간단히 하기
ScanMath
대수학 (Algebra)
계산법 (Calculus)
삼각법 (Trigonometry)
행렬 (Matrix)
브릴리언트
어려운 수식에 대한 입력은 왠만해선 쓰지 않으려고 하는 것으로 보임
여기도 변수가 있을때만 변수를 노출함 (칸아카데미 처럼)
우리 것 현황