browser-compatibility

1 개의 포스트

figma

작지만 큰 업데이트: 퀄리티 (새 탭에서 열림)

Figma의 Quality Week는 단순한 코드 오류뿐 아니라, 사용자가 “버그처럼 느끼는” 문제까지 찾아 개선하는 기간이다. 글은 버그를 고치는 일이 명세대로 복원하는 것 이상이며, 복잡한 운영체제·브라우저·사용자 경험을 고려해 무엇을 고칠 가치가 있는지 판단하는 과정이라고 설명한다. 작은 수정도 실제 사용자에게는 큰 품질 차이를 만들 수 있지만, 수정 자체가 다른 문제를 낳지 않도록 세심한 검토가 필요하다. ### Quality Week의 목적 - Figma 제품 팀은 몇 달에 한 번씩 Quality Week를 진행한다. - 평소 우선순위에서 밀리기 쉬운 문제를 집중적으로 조사하고 수정한다. - 대상에는 다음과 같은 문제가 포함된다. - 전형적인 코딩 오류 - 재현하기 어려운 이상 현상 - 기술적으로는 버그가 아니지만 사용자에게는 버그처럼 보이는 문제 - 전통적인 버그의 정의를 넘어서는 품질 문제 - 2022년 1월 Quality Week에서는 Figma와 FigJam의 여러 작은 개선 사항이 공개됐다. ### macOS 악센트 메뉴와 브라우저별 차이 - macOS에서 악센트 메뉴를 사용해 문자를 입력하면 글자가 반복되거나 입력되지 않는 문제가 있었다. - 원인은 단순한 비즈니스 로직이 아니라 키 입력 과정의 이벤트 순서와 관련된 브라우저 동작의 차이였다. - 키가 눌림 - 키가 일정 시간 유지됨 - 키가 해제됨 - 입력할 문자가 결정됨 - 문자가 화면에 표시됨 - 운영체제와 브라우저가 Figma보다 먼저 처리하는 이벤트 과정에서 예상과 다른 동작이 발생했다. - 이를 보완하는 수정 코드는 10줄 미만이었고 키보드와 마우스 입력 모두 지원했다. - 그러나 수정 사항은 Firefox와 Safari에서는 정상 작동했지만, 사용자 비중이 가장 큰 Chrome에서는 문제가 계속됐다. - 따라서 개발자 관점에서는 버그를 해결했더라도, 대부분의 사용자에게는 여전히 해결되지 않은 문제였다. ### 명확한 버그 정의와 현실적인 버그 정의 - 이론적으로 버그는 두 가지 정보로 정의된다. - 원래 어떻게 동작해야 하는가 - 현재 어떻게 잘못 동작하고 있는가 - Y2K 문제나 Pentium FDIV 버그처럼 기대 동작과 실제 동작의 차이가 명확한 사례도 있다. - 하지만 사람과 기계가 상호작용하는 복잡한 시스템에서는 “정상 동작”의 기준 자체가 불분명할 수 있다. - 기능이 의도대로 작동하지만 사용하기 불편한 경우와, 기능이 완전히 고장 난 경우가 실제 사용자 경험에서는 비슷하게 느껴질 수 있다. - 화성 기후 궤도선 사고처럼 코드 오류가 아니더라도 서로 다른 단위 체계를 사용한 시스템 간 불일치가 치명적인 결과를 낳을 수 있다. - 모든 문제를 수정할 수 있는 것도 아니며, 모든 문제가 수정할 가치가 있는 것도 아니다. - 때로는 원래 상태로 되돌리는 대신, 더 안정적인 새로운 동작 방향을 선택해야 한다. ### “버그처럼 느껴지면 버그”라는 관점 - HEIC 이미지 지원은 전통적인 정의로는 버그가 아니었다. - Figma가 처음부터 해당 포맷을 지원하지 않았으므로 기존 기능이 망가진 것은 아니기 때문이다. - 그러나 iPhone이나 iPad에서 가져온 이미지 중 일부만 작동하면 사용자는 Figma가 불안정하다고 느낀다. - 따라서 사용자 경험 관점에서는 명세에 없던 기능의 부재도 버그로 취급할 수 있다. - Quality Week는 이런 문제를 제품 품질 개선 대상으로 다룰 수 있게 해준다. ### HEIC 지원과 로딩 상태의 중요성 - HEIC 지원을 위해 약 98줄의 코드가 추가됐다. - 하지만 고해상도 HEIC 파일은 용량이 크고 처리 시간이 오래 걸리는 문제가 있었다. - 파일을 캔버스에 끌어놓은 뒤 서버와 내부 처리 과정에서 수 초가 걸리는 동안 아무런 시각적 피드백이 없었다. - 사용자는 기능이 처리 중인지, 아니면 입력을 무시한 것인지 알 수 없었다. - 기능이 실제로 작동하고 있어도 사용자에게 작동하지 않는 것처럼 보이면 품질 문제로 이어진다. - 이를 해결하기 위해 이미지 처리 중임을 알리는 로딩 상태를 추가하는 방안이 제시됐다. - 글은 이처럼 단순해 보이는 로딩 개선에도 사용자의 심리와 관련된 또 다른 이상 현상이 숨어 있었다고 설명하며 이어진다. 작은 버그라도 실제 사용 환경과 사용자 인식을 기준으로 우선순위를 판단해야 한다. 특히 브라우저 호환성, 처리 지연, 로딩 피드백처럼 명세만으로 드러나지 않는 문제를 함께 점검하는 것이 중요하다.