기존 다이어그램 도구들이 가진 불편함과 비효율성에 지쳐있던 한 개발자가 코드 기반의 다이어그램 정의와 수동 레이아웃 기능을 결합한 새로운 도구 '다이달로스(Daedalus)'를 선보였습니다. 이 도구는 코드의 뛰어난 유지보수성과 수동으로 배치했을 때 얻을 수 있는 시각적 명확성을 동시에 추구하며, 복잡한 시스템을 효과적으로 문서화하고 소통하는 데 기여하고자 합니다.
개발자는 지난 20년간 UML(통합 모델링 언어)을 비롯한 다양한 다이어그램 도구들을 사용해왔지만, 대부분의 도구들이 '클릭 앤 드래그(WYSIWYG)' 방식이거나 '코드 기반' 방식 중 한쪽에 치우쳐 한계를 보였다고 지적합니다. WYSIWYG 도구(예: Visio, Lucidchart, draw.io)는 수동 레이아웃의 자유도는 높지만, 스타일 일관성 유지나 변경 사항 반영이 어렵고 협업에 취약하며, 결국 '다이어그램 부채(diagram debt)'로 이어진다는 것입니다. 반면, 코드 기반 도구(예: Mermaid, D2, Graphviz)는 버전 관리와 자동화에 유리하지만, 자동 레이아웃 엔진이 원하는 시각적 배치를 제공하지 못해 코드가 복잡해지거나 가독성을 해치는 문제가 발생합니다.
이러한 문제의식에서 출발한 다이달로스는 두 가지 방식의 장점을 결합했습니다. 다이어그램의 구조와 스타일은 코드로 정의하여 정확성과 유지보수성을 확보하고, 요소들의 배치는 사용자가 직접 수동으로 조작하여 시각적 명확성을 극대화하는 방식입니다. 이를 통해 시스템 변경 시에도 코드만 수정하면 다이어그램이 자동으로 업데이트되면서도, 중요한 정보가 한눈에 들어오도록 깔끔하게 정돈된 레이아웃을 유지할 수 있습니다. 이는 특히 로봇 시스템 엔지니어와 같이 복잡한 시스템을 다루는 전문가들에게 큰 도움이 될 것으로 기대됩니다. 다이달로스는 현재 데스크톱 애플리케이션으로 제공되며, 향후 사용자들의 관심에 따라 웹 버전 개발도 고려하고 있습니다.
