오락실 정보를 고친 뒤 저장 완료 안내를 보더라도, 방금 한 참여로 경험치가 얼마나 늘었는지는 바로 알기 어렵다. 이를 확인하려고 프로필을 다시 열어야 한다면 수정 작업과 보상 사이에 불필요한 이동이 생긴다. Delta에서는 문서 수정이나 고장 정보 참여를 마친 자리에서 경험치와 레벨 변화를 볼 수 있도록 작업 응답에 보상 안내를 연결했다. 새로운 지급 규칙을 도입한 변경은 아니다.
경험치인 XP는 참여에 따라 쌓이는 값이며, 레벨은 그 누적에 따른 현재 단계를 나타낸다. 저장에 성공했다는 메시지는 문서가 반영됐음을 알려 주지만 XP가 얼마나 지급됐는지까지 설명하지 않는다. 행동 직후 보상 결과를 함께 보여 주어야 이용자가 둘의 관계를 쉽게 이해할 수 있다.
그렇다고 버튼을 누른 횟수만 세어 화면에서 지급량을 계산할 수는 없다. 활동마다 조건이 다르고 실제 증가량은 서버 처리 결과에 달려 있기 때문이다. 예를 들어 같은 종류의 수정을 저장하더라도 화면은 먼저 보상을 약속하기보다, 저장 후 서버가 돌려준 값을 확인해야 한다.
서버 응답에는 보상 결과를 담는 xp_feedback이 들어간다. 이 값은 이전과 이후 경험치, 증가량, 이전과 이후 레벨을 알려 준다. 다음 레벨까지 남은 XP와 진행 정보도 함께 있어 화면이 별도로 기준을 재계산할 필요가 없다. 공통 처리에서는 이 숫자들이 유효한지 확인한 뒤 표시한다.
안내는 XP가 양수로 늘었을 때만 띄운다. 증가가 없거나 보상 정보가 없는 응답에는 XP 알림을 만들지 않는다. 이용자의 행동을 보고 임의로 보상을 추측하면 실제 지급 결과와 다른 안내가 나갈 수 있으므로, 서버가 확인한 증가량을 표시 조건으로 삼았다.
토스트는 작업 중인 화면 위에 잠깐 나타나는 안내다. 제목에는 늘어난 XP를, 설명에는 현재 레벨을 넣었다. 레벨이 올랐다면 이전 단계에서 어느 단계로 바뀌었는지도 보여 주며, 다음 레벨까지 남은 경험치와 진행률은 응답에서 읽는다.
문서 수정과 고장 신고 및 반응의 성공 응답에 이 공통 처리를 연결했다. 로그인 상태의 출석 처리도 보상 결과를 전달할 수 있다. 기능별로 XP 계산과 문구를 복제하는 대신, 각 작업은 결과를 전달하고 같은 토스트 처리로 안내하도록 했다.
이용자는 작업을 마친 곳에서 늘어난 경험치와 현재 레벨을 확인할 수 있게 됐다. 여러 기능을 사용해도 같은 형식으로 안내하므로 보상 확인을 위해 다른 화면으로 이동할 필요를 줄인다. 문서의 저장 결과와 XP의 지급 결과도 각각 확인할 수 있다.
다만 잠시 보이는 안내를 놓칠 수는 있다. 토스트가 보이지 않았다고 XP가 지급되지 않은 것은 아니며, 안내를 다시 띄웠다고 보상을 다시 계산해서도 안 된다. 지급과 그 내역의 보존은 서버가 맡고, 토스트는 이미 처리된 결과를 이용자에게 전달하는 역할을 한다.
참고: 작업 응답의 XP 피드백 구현.