SVG만 있으면 충분하다

1 month ago 14

  • SVG는 단순한 XML 기반의 벡터 그래픽 형식으로, 거의 모든 플랫폼에서 지원되고 스크립트를 내장해 상호작용형 시각화를 구현할 수 있음
  • 과거 균사체 네트워크 연구에서 제작된 SVG 시각화 도구가 20년이 지난 지금도 최신 브라우저에서 완벽히 작동함을 통해 형식의 내구성이 입증됨
  • 하나의 자급자족형 SVG 파일만으로 데이터 로딩, 처리, 시각화, 인터랙션을 모두 클라이언트 측에서 수행 가능
  • Anil의 ‘네 가지 P’(Permanence, Provenance, Permission, Placement) 개념과의 연계 속에서 SVG의 지속성, 버전 관리 호환성, 권한 분리, 공간적 표현력을 강조
  • 현대 브라우저의 연산 능력 향상으로 데이터 분석 파이프라인 전체를 SVG 내에서 구현할 수 있는 가능성이 열렸으며, 이는 연구 공유와 재현성을 높이는 도구로 중요함

SVG의 잠재력과 과학 출판의 이상

  • SVG는 간단한 XML 포맷의 벡터 그래픽으로, 모든 기기에서 선명하게 표시되고 스크립트를 내장해 상호작용형 콘텐츠 제작 가능
    • 대부분의 사용자가 인식하지 못한 강력한 기능을 지니며, 이를 더 적극적으로 활용할 수 있음
  • 과학 논문이 데이터 탐색과 실험 재현을 지원하는 완전한 인터랙티브 환경을 제공해야 한다는 이상을 제시
    • 일부 실험은 비용과 시간 제약으로 즉시 재현이 어렵지만, 컴퓨터 과학 분야 논문에서는 충분히 실현 가능

20년 전 SVG 시각화 도구의 재발견

  • 케임브리지 식물과학과 박사후 연구 시절, 균사체 네트워크의 시너지 연구를 위해 SVG 기반 시각화 도구를 제작
    • 실제 페트리 접시에서 성장한 균사체 네트워크 데이터를 탐색할 수 있도록 설계
  • 최근 해당 SVG를 다시 실행해본 결과, Firefox 1.5나 Adobe SVG 플러그인을 요구하던 시절의 코드가 최신 브라우저에서도 완벽히 작동
    • 이는 SVG 포맷의 장기적 호환성과 안정성을 보여주는 사례

완전 자급형 SVG의 구조

  • 하나의 SVG 파일만으로 데이터 로딩, 처리, 시각화, 인터랙션을 모두 수행 가능
    • 데이터는 외부 버전 저장소에서 가져오거나 파일 내부에 직접 포함 가능
    • 모든 연산이 클라이언트 측 브라우저에서 실행되며, 서버 측 로직이 불필요
    • 정적 웹 서버에서 손쉽게 배포 및 공유 가능

Anil의 ‘네 가지 P’와의 연계

  • Permanence(영속성) : SVG는 논문이나 데이터셋처럼 DOI 부여 가능, 20년 전 제작된 파일이 여전히 작동함이 이를 입증
  • Provenance(출처 추적) : SVG는 텍스트 기반이므로 Git 등 버전 관리 시스템과 호환되며, 외부 데이터 사용 시 동일한 추적 전략 적용 가능
  • Permission(권한 관리) : 데이터와 처리 로직이 분리되어 있어, 일반 데이터와 동일한 권한 모델 적용 가능
  • Placement(공간성) : SVG는 본질적으로 공간적 표현을 지니며, 예시로 세계 지도 시각화 제작이 용이함

브라우저 연산력 향상과 새로운 가능성

  • 20년 전 제작된 SVG는 단순 시각화 도구였지만, 현대 브라우저의 연산 능력 향상으로 이제는 전체 데이터 분석 파이프라인을 SVG 내부에서 구현 가능
    • 노트북 팬이 돌지 않을 정도의 가벼운 연산으로도 충분히 처리 가능

연구 공유 생태계 속의 SVG

  • Jupyter 노트북, Marimo botebooks, slipshow/x-ocaml 조합, Forester, 개인 노트북 프로젝트 등과 함께
    • SVG는 연구 결과의 손쉬운 공유와 재조합을 지원하는 도구로 추가됨
  • 이러한 도구들은 협업과 재현 가능한 연구 환경 구축을 위한 지속적 시도의 일부임

Read Entire Article