1P by GN⁺ | ★ favorite | 댓글 1개
  • Decker는 사운드, 이미지, 하이퍼텍스트, 스크립트 동작을 한 문서에 담아 만들고 공유하는 멀티미디어 플랫폼으로, 브라우저에서 바로 체험할 수 있음
  • HyperCard와 classic MacOS의 시각적 감성을 유지하면서 깊은 실행 취소, 스크롤 휠·터치스크린 지원, 현대적 키보드 내비게이션, 일괄 편집을 더함
  • E-Zine, 노트, 발표 자료, 어드벤처 게임, 1비트 픽셀 아트 같은 작업을 만들 수 있고, 완성된 deck은 standalone .html 문서로 저장 가능함
  • 복잡한 프로젝트는 Lua와 Q의 영향을 받은 Lil로 확장하며, 위젯·클립보드 공유·텍스트 기반 문서 형식이 재사용과 버전 관리를 돕음
  • 광고, 텔레메트리, 게임화, slop-generator 통합을 넣지 않은 MIT 라이선스 무료 오픈소스 도구로, GitHub 소스와 Itch.io 바이너리 배포를 제공함

HyperCard 감성의 대화형 문서 제작

  • Decker는 사운드, 이미지, 하이퍼텍스트, 스크립트 동작이 포함된 대화형 문서를 만들고 공유하는 멀티미디어 플랫폼임
  • 웹 브라우저에서 바로 체험할 수 있음
  • HyperCard와 classic MacOS의 시각적 미학을 계승하면서, HyperCard가 제공했던 단순함과 학습 용이성을 유지함
  • 사용성 개선은 오래된 카드 기반 제작 도구의 감성을 유지하되, 현대 입력 환경에 맞추는 데 초점을 둠
    • 깊은 실행 취소 기록

      • 스크롤 휠과 터치스크린 지원
      • 더 현대적인 키보드 내비게이션
      • 일괄 편집 작업
      • 만들 수 있는 예시는 폭이 넓음
      • E-Zine
      • 노트 정리
      • 발표 자료
      • 어드벤처 게임
      • 1비트 픽셀 아트 낙서
      • 완성된 deck은 웹 브라우저에서 자체 실행되는 standalone .html 문서로 저장할 수 있으며, 웹 페이지를 호스팅하거나 임베드할 수 있는 곳이면 공유 가능함
      • Decker는 MacOS, Windows, BSD, Linux에서 네이티브로도 실행됨

Lil, 위젯, 텍스트 기반 개발 흐름

  • 복잡한 프로젝트에는 Lil이라는 스크립팅 언어를 사용할 수 있음
    • Lil은 도구와 게임 엔진에 임베드되는 명령형 언어 Lua의 영향을 받음
    • 시계열 데이터베이스와 함께 쓰이는 APL 계열 함수형 언어 Q의 영향도 받음
    • 기존 프로그래밍 경험이 있는 사용자에게 익숙한 구조를 유지하면서, 암시적 스칼라-벡터 산술과 통합 SQL 유사 질의 언어를 포함함
  • 인터페이스 제작에는 내장 대화형 위젯 모음을 쓸 수 있고, 새 위젯 정의도 가능함
    • 커스텀 위젯과 정의는 시스템 클립보드로 복사·붙여넣기할 수 있음
    • 텍스트를 공유하거나 저장할 수 있는 곳이면 커스텀 위젯도 공유 가능함
    • 각 deck은 다른 프로젝트에 가져다 쓸 수 있는 재사용 부품 모음으로 활용됨
  • 소스에서 빌드하면 standalone Lil 인터프리터인 Lilt가 함께 제공됨
    • Lilt는 Decker 문서를 읽기, 쓰기, 조작, headless 실행할 수 있음
    • Decker보다 의존성이 더 적어 크로스플랫폼 APE 실행 파일로 컴파일할 수 있음
    • POSIX AWK에서 실행되는 Lil 인터프리터도 있음
  • deck은 줄 단위 텍스트 형식으로 저장되어 Git, SVN 같은 기존 소스 관리 도구와 잘 연동됨
  • Decker에는 광고, 텔레메트리, 게임화, slop-generator 통합, 사용자 프라이버시와 자율성을 침해하는 요소가 없음

예제 deck과 확장 라이브러리

소스, 배포, 커뮤니티

  • 탐색 가능한 소스 코드와 버그 트래커는 GitHub에 있음
  • Decker는 MIT 라이선스의 무료 오픈소스임
  • MacOS와 Windows용 주기적 바이너리 릴리스는 Itch.io에서 받을 수 있음
  • Itch 페이지에는 Decker 논의와 Decker로 만든 프로젝트 공유를 위한 커뮤니티 포럼이 있음
  • Decker 테마의 “Game Jams”는 매년 7월과 12월에 열리며, 다음 예정 행사는 Decker Fantasy Camp, July 2026

댓글과 토론

Hacker News 의견들
  • 아름답다! 여기서 추구하는 미학이 있다는 건 알지만, 1비트 그래픽에서 아주 조금만 더 나아가 2비트 그래픽으로 가면 실제로 읽을 수 있는 사진도 가능할 것 같음
    비슷한 미학을 가진 좋아하는 사이트가 있는데, 여기의 모든 이미지는 최대 6색만 사용함. 다만 이미지마다 팔레트는 다름: https://solar.lowtechmagazine.com/

  • 직접 해보는 것도 잊지 말자!
    https://www.beyondloom.com/decker/tour.html
    이걸 보니 놀랄 만큼 달콤한 추억이 떠올랐는데, 나만 그런가? 바라는 건 모바일에서 핀치 확대가 되는 정도임

    • 무슨 이유인지 iPhone 화면의 20% 정도만 쓰는 것 같음
      너무 작아서 글자를 읽을 수 없고, 핀치 확대도 막혀 있어서 가까이 볼 수가 없음
    • Firefox 문제일 수도 있고 사용법을 모르는 걸 수도 있는데, New Card를 누르면 빈 화면만 나오고 쓰거나 그릴 방법이 없음
  • 이 프로젝트의 선택은 존중하지만, HyperCard의 가장 큰 결함은 Mac이 컬러를 받아들이기 시작했을 때 컬러를 구현하지 못한 것이라고 느낌
    고등학생 때 학교의 모든 Mac은 컬러 기기였지만, HyperCard에는 진짜 네이티브 컬러가 끝내 들어오지 않았음

    • 내 기억도 대체로 그랬음. HyperCard는 특히 아이들에게 프로그래밍을 소개하는 도구로 엄청 인기 있었지만, Quadra Mac 계열이 컬러를 들고 나오자 모두가 컬러를 원했음
      HyperCard는 네이티브 컬러 업데이트를 받지 못했고, 그게 모두가 가장 원한 기능이었음
      관련 제품으로 SuperCard였던 것 같은 도구가 컬러를 제공했는데, 써봤지만 투박했음. 이유는 정확히 기억나지 않지만 결국 뜨지 못했음
      HyperTalk의 제한적인 API도 문제였음. 확장 기능 시장이 있었고, 몇몇 개발자가 한동안 그 영역을 장악했음. J5erson은 어떻게 됐는지 궁금함. 정말 뛰어났음
      확장 기능은 보통 Pascal로 작성됐고 HyperTalk에 많은 기능을 더할 수 있어서, HyperCard를 넘어 프로그래밍을 더 탐구하려는 사람들에게 좋은 디딤돌이 됐음
      Decker는 단순함과 이식성 같은 HyperCard의 장점을 많이 가져온 것처럼 보임. 다만 HyperTalk에 더 가까운 언어를 쓰지 않는 건 조금 아쉬움. 그 언어는 그 나름대로 정말 괜찮았음
  • Decker는 주로 1비트라서 겉보기엔 HyperCard와 비슷하지만, 실제로는 완전히 새로 배워야 할 만큼 다름
    쓰기 꽤 어렵고, 새롭고 독특한 언어인 Lil을 배워야 하며, HyperCard나 MacPaint를 기대하면 찾게 되는 여러 편의 기능이 빠져 있음
    결국 HyperCard 아티스트들은 전환하기 어렵고, Infinite Mac 덕분에 브라우저에서 HyperCard를 계속 쓰게 됨. 아주 가까우면서도 멀다. 비슷하지만 다름

    • 언어가 가장 중요하다면 https://livecode.com/HyperTalk와 매우 비슷한 언어를 제공하고 현대 하드웨어에서도 실행됨
    • 예전 그대로는 아니지만, 브라우저에서 쓰는 HyperCard는 https://hypercardsimulator.com에서 가능함
  • 학교에 셔틀 정보가 잔뜩 담긴 NASA 레이저디스크가 있었음
    탐색과 정보 표시를 위해 HyperCard를 실행하는 Mac에 연결돼 있었고, 꽤 멋졌지만 당시에는 그만큼 제대로 감상하지 못했던 것 같음

    • 그런 것들이 기억남! 그건 본 적 없지만, 이미지가 들어간 멋진 것들의 미니 데이터베이스 같은 HyperCard 스택들이 돌아다녔던 건 확실함
      90년대 멀티미디어 붐 이전의 초기 멀티미디어 같은 느낌이었음 :-)
  • Apple이나 Microsoft가 왜 운영체제에 캐주얼 개발자를 위한 이런 도구를 더 열심히 만들지 않는지 모르겠음
    VB와 Python도 괜찮지만, 가끔은 작은 애플리케이션을 만드는 데 정말 맞춤화된 도구가 필요함

    • Apple에는 Swift Playgrounds가 있긴 함
      그리고 SwiftUI는 가능한 한 쉬운 편임
      다만 Xcode를 쓰고 App Store 설정까지 하려면 여전히 난해한 설정과 Xcode IDE에 대한 어느 정도의 이해가 필요함 :-)
  • HyperCard에 대한 애정이 정말 많음
    나는 직접 겪지 못했지만, 사람들이 작고 유용한 도구를 많이 만들 수 있게 해준 것 같음. 범용성 면에서는 스프레드시트와 비슷하지만 쓰임새는 다른 느낌임
    그 시절을 겪은 사람들에게는 어떤 현대 도구가 그 느낌을 주는지 궁금함
    나는 조금 더 어린 세대라 Delphi/VB나 Macromedia Flash 같은 도구에 향수가 있음. 완벽하지는 않았지만 창의력을 자극했음
    지금의 도구는 훨씬 좋아졌지만, 그 과정에서 뭔가를 잃어버린 것 같음

    • Flash는 꽤 가까웠지만, 평균 사용자에게는 너무 복잡하고 비쌌음. HyperCard는 처음엔 무료였지만 Performa Mac 라인에는 번들되지 않았음
      HTML은 HyperCard가 제공하던 많은 부분을 가져갔지만, 웹 저작 도구는 끝내 그만큼 쉬워지지 않았고 HyperCard의 한 기능, 즉 UI의 모양과 느낌이 일관된다는 점도 제공하지 못함. 이건 장점일 수도 단점일 수도 있지만, 어떤 사용자들은 페이지에 이전/다음 버튼 두 개만 추가해 플립북을 만들 수 있다는 점을 좋아했음
      교육 자료를 HyperCard 스택으로 묶어 판매하는 사업을 시작한 사람들도 있었음
      HyperTalk 프로그래밍 언어는 훌륭하진 않았고, 히피들이 좋아하는 부류의 언어였지만 평균 사용자는 C나 Pascal을 볼 때만큼이나 헤맸음
      Apple이 그걸로 할 수 있는 일을 지나치게 통제하려 했다는 느낌이 늘 있었음. 프로그래밍 언어와 그 주변 도구에서 내가 기대하는 것과는 반대였음
      어떤 느낌이었는지 알고 싶다면 AppleScript로 뭔가를 코딩해보면 됨
    • 나도 다른 세대인데, HyperCard의 특별함이 뭐였는지 궁금함
      VB와 Macromedia 도구들은 기억나고, 요즘 도구가 더 쓰기 어렵다고 느낌
    • Flash는 빠르게 뭔가를 만들고 넓은 사용자에게 배포하기에 훌륭한 도구였고, 브라우저 기반에 다중 플랫폼이었다는 점에서는 당시 HyperCard보다도 더 그 약속을 잘 실현한 면이 많았음
      다만 안타까운 건 Flash 제작자와 Flash 소비자 사이에 큰 간극을 만들었다는 점임. 의욕 있는 tinkerer라면 .swf를 디컴파일해 수정할 수도 있었겠지만, 모든 사용자에게 편집 도구를 주고 모든 스택을 재사용 가능한 부품 모음으로 만든 HyperCard의 모델과는 거리가 멀었음
      Decker는 편집기를 숨기는 “잠긴” 독립 실행 덱을 내보낼 수 있지만, 다시 활성화하는 과정은 사소함. 게임을 완료하면 스스로 “잠금 해제”되도록 설계한 사례도 봤는데, 꽤 멋진 보상이라고 생각함
    • 그렇게 사랑받았는데 왜 HyperCard는 사라졌고 비슷한 것이 그 자리를 차지하지 못했는지도 궁금함
    • “작고 유용한 도구를 많이 만들 수 있게 해줬다”는 측면만 놓고 보면, 지금 떠오르는 가장 가까운 것은 Godot “게임” 엔진임: https://godotengine.org
      여러 면에서 HyperCard와 정확히 맞지는 않지만, 관련된 세 가지 영역에서는 특히 강력한 후보임. 초기 다운로드 크기가 작고(<100MB) 로드/실행 시간이 짧으며, “작동하는 무언가”를 만드는 초기 탐색 개발 단계에 잘 맞는 반복적·해킹식 개발 흐름을 지원함. GDScript는 여기에 매우 적합하고, 최근 점진적 타입 같은 추가로 시간이 지날수록 견고성도 좋아지고 있음
      Godot의 배포/설치 방식도 매우 강함. 이 영역에서는 다른 어떤 생태계[0]보다 몇 광년 앞서 있다고 봄. 지원할 플랫폼의 내보내기 템플릿, 즉 플랫폼별 범용 바이너리 실행 파일을 내려받고, 프로젝트별 코드와 리소스를 패키징해 내보내면 됨[1]
      현재 Godot가 HyperCard나 “고전” Visual Basic과 비교해 의외로 가장 부족한 부분은 드래그 앤 드롭 UI 제작임. Godot에는 꽤 강력한 UI 시스템이 있지만 때로는 불투명하고, 현재 UI를 만드는 사용자 경험은 창 위에 도구 모음에서 위젯을 끌어다 놓는 방식이 아니라 장면의 노드 트리를 매우 의식하게 만듦
      이 사용자 경험은 Editor Plugin으로 비교적 쉽게 개선할 수 있어 보이고, 언젠가 그 토끼굴을 위한 프로토타입을 만들지도 모르겠음 :)
      완벽한 해법은 아니지만, 요즘 GUI 기반 유틸리티를 만들 때는 확실히 기본 선택지임. 그중 몇 개는 실제로 “릴리스”할 만큼 완성하기도 함 :D
      [0] 이 지점에서 특히 Python은 처참하게 무너짐
      [1] 웹용 WASM 내보내기도 가능해서, 사람들이 처음에는 웹 기반 버전으로 유틸리티를 써보고 충분히 유용하면 로컬 실행 파일도 내려받는 양갈래 배포가 가능함
  • Decker가 정말 좋고, 굉장히 재미있음
    HyperTalk 스크립팅을 찾는다면 Wyldcard도 즐길 만함
    https://github.com/defano/wyldcard

  • 지난주 HyperCard 대체재 논의에서 언급된 뒤 Decker를 파보기 시작했음
    덱 패키징이 정말 궁금함. Redbean처럼 Lua, SQLite 등을 포함해 전부 한 파일에 들어가고, zip 도구로 열어서 HTML과 Lua 코드를 넣고 이름만 바꾸면 배포 준비가 되는 방식이 마음에 듦
    Decker도 배포를 쉽게 하려고 그런 종류의 방식을 고려하고 있는지 궁금함