테두리로 잘라낸 한 장
노트 전체가 아닙니다. 저자가 자기 캔버스에서 테두리로 잡아낸 한 구획입니다. 그 안에 그은 획, 도형, 입력한 글자, 이미지가 담기고, 테두리 바깥은 한 획도 들어가지 않습니다. 원본 PDF는 딸려 가지 않습니다.
자료실
Fluera 학습 템플릿은 PDF도 플래시카드 묶음도 아닙니다. 진짜 손글씨 한 장, 그 아래 깔린 개념 구조, 그리고 앞으로 어떻게 복습할지를 적어 둔 처방입니다. 하나를 설치하면 그 일정이 내 캔버스에 자리 잡습니다.
단위
다른 스토어는 문서 하나를 건네주고 행운을 빌어 줍니다. 학습 템플릿에는 페이지, 그 페이지를 가르칠 수 있게 만드는 구조, 일정을 짜는 지침이 함께 들어 있습니다. 만든 사람에게 속한 부분만 일부러 뺐습니다.
노트 전체가 아닙니다. 저자가 자기 캔버스에서 테두리로 잡아낸 한 구획입니다. 그 안에 그은 획, 도형, 입력한 글자, 이미지가 담기고, 테두리 바깥은 한 획도 들어가지 않습니다. 원본 PDF는 딸려 가지 않습니다.
잉크 아래에 깔린 구조입니다. 어떤 개념이 있고, 각 개념이 어느 주제에 속하며, 무엇이 무엇에 기대고 있는지. 그냥 읽히는 페이지와 가르칠 수 있는 페이지를 가르는 것이 이 뼈대입니다.
저자의 기억이 아니라 내 기억을 만들 재료입니다. 목표로 삼을 기억 유지율, 자료의 종류, 첫 복습이 돌아오는 시점. 설치하는 순간 이것으로 내 일정이 짜입니다.
설치
학습 자료를 내려받는 일은 한 번도 어려웠던 적이 없습니다. 어려운 쪽은 잊기 직전인 그날 그 자료로 돌아오는 것이고, 폴더는 그 문제를 풀어 준 적이 없습니다.
그래서 템플릿 설치는 문서를 어딘가에 놓아 두는 일이 아닙니다. 날짜가 박힌 카드를 심는 일입니다. 저자의 개념과 그 사이의 구조는 물려받지만, 저자의 복습 이력도, 얼마나 확신했는지도, 그것을 얼마나 잘 알았는지도 물려받지 않습니다. 템플릿 형식 자체가 그것들을 담지 못합니다.
그 페이지는 내 캔버스에 그대로 복원됩니다. 렌더링한 PDF가 아니라 진짜 종이에 쓴 진짜 손글씨입니다. 그 위에 덧쓰고, 이어 그리고, 잘라낼 수 있습니다.
이름이 붙은 개념마다 간격 반복 카드가 새로 하나씩 생깁니다. 딸려 오는 복습 이력은 없습니다. 반복 횟수 0, 난이도는 Fluera 범위의 한가운데. 첫 복습은 하루 뒤입니다.
일정은 디스크에 남고, 직접 쓴 다른 노트와 똑같이 마감 배지와 하루 요약에 그대로 반영됩니다. 같은 템플릿을 다시 설치해도 이미 쌓아 둔 복습 이력은 지워지지 않습니다.
순위
다운로드 수는 아직 아무도 아무것도 배우지 않은 시점에 내린 결정을 셉니다. 어느 스토어에서든 부풀리기 가장 쉬운 숫자이기도 합니다. Fluera는 더 나은 기준을 쓸 수 있습니다. 앱이 이미 모든 학습자가 모든 개념을 얼마나 붙들고 있는지 모델링하고 있기 때문입니다.
템플릿의 캔버스를 1일, 7일, 30일째, 또는 그 이후에 다시 열면 Fluera가 숫자 하나를 읽어 냅니다. 간격 반복 모델이 그 개념들을 얼마나 붙들고 있다고 보는지를 담은 값입니다.
전송되는 것은 그 숫자가 전부입니다. 개념 제목도, 카드 내용도, 복습 이력도, 신원도 따라가지 않습니다. 로그인 상태이고 분석 수집에 동의했을 때만 올라가며, 자기가 만든 템플릿에서는 절대 올라가지 않습니다.
서로 다른 학습자 다섯 명이 숫자를 보내기 전까지 템플릿에는 공개되는 수치가 아예 없습니다. 다섯 명에 못 미치면 정렬 기준이 설치 수로 내려가고, 카드는 아무 말도 하지 않습니다.
'모든 템플릿' 아래의 목록은 인기가 아니라 측정된 신호로 정렬되는 것이 기본입니다. 빨리 퍼졌다고 해서 그 순위까지 살 수는 없습니다.
이것이 아닌 것. 이것은, 다시 공부하러 돌아온 학습자들이 템플릿의 개념을 얼마나 붙들고 있다고 모델이 보는지, 그 추정치입니다. 시험 점수가 아니고, 대조군이 아니며, 설치해 놓고 다시는 열지 않은 사람을 두고 하는 말도 아닙니다. 신호를 그럴듯하게 포장하기보다 있는 그대로 설명하는 쪽을 택합니다.
찾기
학습 자료실은 늘 같은 방식으로 실패합니다. 이름만 보면 전부 내 과목 이야기인데, 내 강의 이야기는 거의 없습니다. 그래서 필터를 학생이 실제로 떠올리는 단위로 짰습니다.
과목으로 좁히고, 강의나 시험으로 좁힙니다. 여기는 자유 입력이라 Maturità도 MCAT도 해석학 1과 똑같이 유효합니다. 세 번째가 언어입니다. 필터마다 지금 걸리는 개수가 함께 뜨고, 하나를 고르면 나머지가 그에 맞춰 다시 계산되며, 걸리는 것이 하나도 없는 필터는 아예 나타나지 않습니다. 빈 화면으로 이어지는 선택지는 내놓지 않습니다.
자료실은 앱에 설정된 언어로 열립니다. 읽지 못하는 자료가 벽처럼 쌓인 곳은 자료실이 아니기 때문입니다. 울타리가 아니라 기본값입니다. 한 번 누르면 모든 언어로 넓어집니다.
검색은 전문 검색이고 악센트 부호에 너그럽습니다. 검색할 때는 순위를 내려놓고 관련도로 정렬합니다. 원하는 것을 이미 적어 넣었다면, 지금 묻고 있는 것은 남들 머리에 무엇이 남았는지가 아니기 때문입니다.
그리고 다른 누구도 만들 수 없는 줄 하나. Fluera는 내가 지금 어떤 개념을 붙들고 있는지 이미 압니다. 내가 직접 썼기 때문입니다. 그래서 지금 캔버스에 놓인 것과 얼마나 겹치는지로 템플릿을 줄 세울 수 있습니다. 그 계산은 기기 안에서 끝납니다. 휴대폰 밖으로 나가는 것은 가장 많이 공부한 과목, 그리고 이미 받아 둔 템플릿의 식별자입니다. 개념 집합은 거기에 없습니다.
가는 것과 가지 않는 것
학습 자료를 나눈다는 것은 아직 배우는 중에 만든 것을 내놓는다는 뜻입니다. 그 둘 사이의 선은 정책 문단이 아니라 코드에 그어져 있습니다.
공개용 뼈대를 만드는 구성 요소는 구조상 복습 이력을 읽지 못합니다. 얼마나 확신했는지도, 몇 번 공부했는지도, 얼마나 잘 붙들고 있었는지도, 그 뒤에 딸린 임베딩도 읽지 못합니다. 통달한 사람과 헤매는 사람이 같은 페이지를 올리면 바이트까지 똑같은 뼈대가 나옵니다.
이 보장은 테스트 하나가 붙들고 있습니다. 직렬화된 결과물을 훑어, 학습자 모델과 행동에 관한 필드 이름 스물여섯 개 가운데 하나라도 나오면 실패하는 테스트입니다. 이름이 붙은 필수 CI 게이트로 돌아가고, 테스트 파일을 지워도 실패합니다.
아무리 걸러 내도 손글씨 자체에는 닿지 못합니다. 게다가 뼈대에는 인식된 글자의 짧게 잘린 발췌가 실제로 실립니다. 전체 텍스트가 실리는 일은 없지만, 가려 놓지도 않았습니다. 그래서 게시 시트는 무엇이든 올라가기 전에 공개될 바로 그 이미지를 보여 주고, 그 아래에 동의 체크박스를 둡니다.
공개 조회에는 계정 ID가 아예 나오지 않습니다. 제작자는 계정에서 한 방향으로만 뽑아낸 코드로 식별됩니다. 솔트를 섞고, 해시하고, 잘라낸 값입니다. 신원이 아니라 고정된 가명입니다.
제작자에게
게시는 내 캔버스에서 시작합니다. 나눌 만한 구획을 테두리로 잡으면 Fluera가 그것을 찍어 내고, 시트가 파일로 만들지 등록물로 만들지 묻습니다. 테두리 안에 넣은 것만 나갑니다. 캔버스의 나머지는 그 자리에 그대로 남습니다.
무엇이든 올라가기 전에 공개될 바로 그 이미지를 보고 확인합니다. 등록물은 단 1바이트가 저장되기 전에 검증되고, 업로드는 한 번만 쓰는 서명 URL로 이뤄집니다. 실패하면 반쯤 만들어진 채 남지 않고 통째로 되돌아갑니다.
모든 템플릿은 무료입니다. Fluera에는 결제 화면이 없고, 게시 API에 가격 필드가 없으며, 정산 장부도 없습니다. 자료실의 가격 열은 정책이 아니라 데이터베이스 제약 조건이 0에 붙들고 있습니다.
계정도 이메일도 아닌 가명 제작자 핸들
원하면 채우는 프로필. 표시 이름, 소개, 아바타. 아바타는 심사를 마칠 때까지 내걸리지 않습니다
팔로워, 그리고 가장 최근에 올린 템플릿을 그 팔로워에게 실어 나르는 선반
버전 관리. 고친 판을 중복이 아니라 교체본으로 올립니다
불리한 결정에 반드시 따라붙는 이유, 그리고 되돌릴 수 있는 이의 제기
게시하려면 로그인한 계정과 연령 확인이 필요합니다. 둘러보기와 설치에는 둘 다 필요 없습니다.
모더레이션과 신뢰
자료실은 누구나 열 수 있습니다. 진짜 일은 두 군데에 있습니다. 무언가 잘못됐을 때 무슨 일이 벌어지는가, 그리고 가장 목소리 큰 쪽이 결정을 쥐지 못하게 어떻게 막는가.
새 템플릿은 심사 대기 상태로 기록됩니다. 심사를 거치기 전에는 둘러보기에도, 검색에도, 자료실 어디에도 없고, 공유 링크를 눌러도 아무것도 열리지 않습니다.
분류기는 올린 사람이 붙인 썸네일을 믿는 대신 템플릿 안에 든 이미지를 직접 꺼내 읽고, 그중 가장 나쁜 판정을 기준으로 삼으며, EU 리전에서 돌아갑니다. 항목을 통과시키거나 위로 올려 보낼 수는 있어도, 모더레이터의 결정을 뒤집지는 못합니다.
신고는 사람이 보는 대기열로 들어가는 신호입니다. 신고자 한 명에 하나, 자기 신고는 받지 않습니다. 무리를 지으면 주목은 끌 수 있어도, 등록물을 내릴 수는 없습니다.
등록물이 내려가면, 증거를 관리자만 여는 비공개 버킷에 남긴 뒤 게시된 객체를 CDN에서 지웁니다. 목록에서만 빼는 것이 아닙니다.
제작자는 자기 템플릿에 무슨 일이 있었는지, 그 결정이 자동으로 내려진 것인지까지 함께 통보받고, 이의를 제기할 수 있습니다. 이의가 받아들여지면 등록물은 되돌아옵니다.
설치한 적 없는 템플릿에는 별을 줄 수 없고, 자기 템플릿에도 줄 수 없으며, 익명으로도 줄 수 없습니다. 평균은 조금씩 더해 올리는 것이 아니라 매번 처음부터 다시 계산합니다.
제공 현황
둘러보기, 미리보기, 설치는 Fluera에 들어 있고 앱이 쓰는 열여섯 개 언어 모두로 옮겨져 있습니다. 게시도 로그인한 성인에게 이미 열려 있지만, 일부러 천천히 열고 있습니다. 남의 작업을 맡아 두는 일에는 책임이 따르고, 그 책임은 제대로 지거나 아예 지지 않거나 둘 중 하나이기 때문입니다.
그래서 자료실은 작고, 이 페이지에는 템플릿 수도, 설치 수도, 제작자 수도 적혀 있지 않습니다. 그 숫자들은 언젠가 무언가를 뜻하게 될 것입니다. 오늘은 장식일 뿐입니다.