Show IH: I got tired of fragmented text expanders, so I built an open-source, cross-platform alternative: Typerelay
분산된 텍스트 확장 도구가 지겨워 오픈소스 크로스플랫폼 대안을 만들었습니다 — Typerelay
Typerelay는 macOS, Windows, Linux와 모바일에서 쓰는 AGPL 오픈소스 텍스트 확장 도구입니다. 일반 텍스트·리치 텍스트·코드 스니펫, 검색 팔레트, 클라우드 동기화, 팀 협업, 셀프 호스팅을 지원하며 키 입력과 전송 데이터의 보안 경계를 어떻게 설명할지가 논의됐습니다.
- 주제
AI 요약
Typerelay는 여러 운영체제에서 동일한 텍스트 스니펫을 사용하도록 만든 AGPL 오픈소스 text expander입니다. 작성자는 디자인 작업에는 Mac, 서버에는 Linux, 게임이나 데스크톱 앱에는 Windows를 쓰는 환경에서 기존 도구가 운영체제별로 갈라지는 문제를 지적합니다. 기존 제품은 특정 OS에 묶이고, 오래된 사용자 경험을 제공하며, 접근성 권한과 키 입력 권한을 요구하면서도 코드를 공개하지 않는다는 설명입니다.
기능과 배포 방식
데스크톱 앱은 macOS, Windows, Linux에서 실행됩니다. iOS와 Android 앱은 public beta로 제공됩니다. 스니펫은 일반 텍스트, HTML과 이미지를 포함하는 rich text, 전용 code editor에서 작성하는 code snippet 세 가지 형식을 지원합니다. 수백 개의 단축키를 외우지 않도록 fuzzy search 기반의 search palette도 제공합니다.
사용자는 Free, Pro, Team 요금제의 hosted cloud를 선택하거나 오픈소스 서버를 직접 self-host할 수 있습니다. 데스크톱 클라이언트는 무료로 시험할 수 있고 backend는 오픈소스로 공개했습니다. 제품은 cloud sync와 team collaboration을 함께 내세우며, 작성자는 onboarding flow와 cross-platform UX에 대한 피드백을 요청합니다.
모바일 입력 방식
모바일 운영체제에서 system-wide keystroke 접근이 제한되는 문제에는 custom keyboard로 대응했습니다. 사용자는 키보드에서 스니펫을 검색한 뒤 바로 삽입합니다. 작성자는 iOS와 Android 모두에서 작동한 유일한 해법이라고 설명합니다. 두 플랫폼 모두 beta testing 중이며, Android에서는 키보드 위치를 계속 조정하고 있습니다.
보안과 제품 방향
댓글에서는 오픈소스가 키 입력을 읽는 도구의 신뢰 문제를 해결하지만, 구매자를 개인 개발자로만 보면 안 된다는 지적이 나왔습니다. 반복 답변을 사용하는 상담원 팀을 겨냥해 권한 관리와 version history를 갖춘 shared snippet library를 중심에 두고, 오픈소스는 보안팀의 설치 승인을 돕는 근거로 활용하라는 제안입니다.
또 다른 논의에서는 cloud sync가 보안 메시지를 약화할 수 있다고 지적했습니다. 소스 코드를 공개해도 앱이 컴퓨터 밖으로 무엇을 전송하는지는 별도로 확인해야 하므로, 무엇이 언제 전송되는지 평이하게 설명하는 문서와 local-only mode가 필요하다는 주장입니다. 작성자는 사용자가 명시적으로 업로드하지 않는 한 library를 로컬에 보관하지만, 그 경계를 충분히 드러내지 못했다고 답했습니다. 이후 전송 데이터를 설명하는 페이지를 공개하고, 제품 전반에서 local-only 사용을 첫 선택지로 제공하겠다고 밝혔습니다.
Indie Hackers 반응
- @GregoryScottHenson — 오픈소스는 키 입력을 읽는 모든 도구에서 실제로 존재하는 신뢰 문제를 해결하지만, 그 자체가 돈을 벌어다 주는 요소는 아닙니다. 구매자는 운영체제 세 개를 쓰는 개인 개발자가 아니라, 같은 정형 답변 여덟 개를 반복해서 붙여 넣는 상담원 12명을 관리하면서 한 곳에서 답변을 업데이트할 방법이 없는 support lead입니다. 저라면 shared snippet libraries with permissions and version history를 중심으로 전체 포지셔닝을 잡겠습니다. 오픈소스는 보안팀이 설치를 승인하는 근거로 두겠습니다.
- @Alpha12 — 도움이 되는 글입니다. 첫 traction은 어떻게 얻으셨나요?
- @peptides11 — 보안 논리가 가장 강한 부분인데 cloud sync가 그 논리를 조용히 약화합니다. 소스 코드를 읽으면 앱이 내 컴퓨터에서 무엇을 하는지는 알 수 있지만, 키 입력을 보는 도구에서 걱정할 점은 컴퓨터 밖으로 무엇이 나가는지이며, client audit만으로는 답이 되지 않습니다. 무엇이 언제 전송되는지 정확히 설명하는 평이한 페이지와, local-only mode를 차선책이 아닌 제품의 첫 선택지로 분명하게 제시하는 방식이 필요합니다. 기존 제품을 떠날 만큼 이 문제를 중시하는 사람들은 그 점을 묻고, 사용한 뒤가 아니라 사용하기 전에 묻습니다.
- @Nitai — 맞는 지적입니다. Typerelay는 사용자가 명시적으로 업로드하지 않는 한 library를 로컬에 보관하지만, 그 경계를 충분히 눈에 띄게 보여주지 못했습니다. 무엇이 컴퓨터 밖으로 나가는지 평이한 언어로 설명하는 페이지를 공개하고, 제품 전반에서 local-only 사용을 첫 선택지로 제공하겠습니다.
- @aryan_sinh — cross-platform access, open-source security, team collaboration이 모두 주목을 끌고 있는데, 어느 사용자 그룹에서 가장 강한 수요가 나타났나요? 그 그룹을 우선하기로 한 계기는 어떤 행동이었나요?
- @baldwinedarren — 모바일 플랫폼의 엄격한 system-wide keystroke sandboxing을 고려하면 모바일 구현은 어떻게 작동하나요? custom keyboard extension으로 만들었나요, 아니면 clipboard workflow에 의존하나요? 모바일에서 system-level expansion은 늘 까다로운 기술적 문제라서 어떻게 해결했는지 궁금합니다.
- @Nitai — 모바일은 까다로울 수 있습니다. 그래서 snippet을 검색하고 쉽게 삽입하는 custom keyboard를 개발했습니다. iOS와 Android 모두에서 작동한 유일한 해법이었습니다. 현재 두 플랫폼 모두 beta testing 중이며, Android에서는 keyboard 위치를 계속 조정하고 있습니다.
원문: Indie Hackers / 번역·요약: Trawling