25-5-12 @symbionts의 스팀 프로포잘 개발경과 보고
스팀 프로포잘에서 지원을 받게된 @symbionts의 개발보고가 올라왔습니다.
이번에 올라온 보고는 steem proposal의 개선에 대한 내용입니다
https://steemit.com/witnesscategory/@symbionts/symbiont-s-or-steem-dao-or-wallet-development-update-1
스팀 블록체인의 의미있는 개선을 위한 개발작업을 하실분은 참고하시면 좋겠습니다
한국 스티미언은 가장 많은 스팀을 가지고 있지만 개발과 관련한 노력은 가장 미흡한 것 같습니다.
현재 symbionts가 추진하고 있는 개선내용입니다.
녹색은 이미 존재하고 있는 것이고 나머지는 개선하거나 새로 만들어갈 것입니다.
여기에서 자주색은 커뮤니티가 제시한 개선사항입니다.
포스트를 번역했습니다. 물론 AI 가 몇초간 열일을 했습니다.
안녕하세요!
지갑 업그레이드 제안과 관련된 첫 번째 업데이트입니다.
스팀 제안 시스템(SPS) 개요
스팀 제안 시스템(SPS)은 하드포크 21에서 도입된 전략적 조치로, 개발 책임을 생태계 전반에 걸쳐 보다 균등하게 분배하기 위해 설계되었습니다. 이는 이전 포크에서 증인 보상이 크게 감소하여 증인들이 운영 부담을 겪은 상황에 대응하여 도입되었습니다. SPS는 스팀 사용자들이 자금 지원을 받는 대가로 실행하고자 하는 이니셔티브나 개발 작업에 대한 제안을 공식적으로 제출할 수 있도록 하여, 블록체인의 발전에 커뮤니티 참여를 촉진합니다.
제안 투표는 증인 투표와 유사한 지분 가중치 모델을 따르지만, 증인 선택의 고정된 투표 제한과 달리 사용자는 원하는 만큼의 제안에 투표할 수 있습니다. 이 개방적이고 포괄적인 시스템은 커뮤니티가 개발 우선순위와 자금 할당을 직접 결정할 수 있는 기회를 제공합니다.
SPS의 초기 자금은 Steemit Inc.가 200,000 STEEM을 SBD로 전환하여 시스템을 시작하는 데 사용되었습니다. 이는 초기 운영을 시작하기에 충분했지만, 장기적인 자금 모델로는 지속 가능하지 않았습니다. 이에 블록체인 인플레이션의 일부를 제안 지원에 할당하자는 아이디어가 논의되었고, 스팀 증인들은 하드포크 21을 통해 SPS를 구현하여 전체 보상 풀에서 10%의 인플레이션을 SteemDAO를 통해 제출된 커뮤니티 제안을 지원하는 데 사용하도록 했습니다.
시스템과의 상호작용을 용이하게 하기 위해 Steemit Inc.는 https://steemitwallet.com/proposals에서 기본 인터페이스를 제공했으며, 이는 커뮤니티 개발자들이 시간이 지나면서 확장할 수 있는 최소 기능 제품(MVP)으로 의도되었습니다. 그러나 6년 이상이 지난 지금까지 이 인터페이스는 거의 개선되지 않아 사용자 기능과 사용성이 제한되었습니다.
이제 변화가 시작되고 있습니다. 우리는 스팀 생태계에서 오랫동안 간과되었던 이 구성 요소를 현대화하고 활성화하기 위한 집중적인 노력을 시작했습니다. 우리의 목표는 사용자 경험을 필수적으로 개선하고, 제안 인터페이스의 중요성을 회복하며, 스팀의 커뮤니티 주도 개발을 위한 핵심 도구로서의 잠재력을 완전히 발휘하는 것입니다.
변경 사항 테스트 장소
커뮤니티 회원들은 다음에서 모든 관련 개선 사항을 테스트할 수 있습니다:
https://wallet.symbionts.io/
개발 진행 상황 개요
🟩 초록색: 기존 구현
🔵 파란색: 새로 추가된 구현
🟥 빨간색: 계획 중이거나 보류 중인 구현
🟪 보라색: 커뮤니티 제안 구현
제안 페이지 UI 변경
원래 로드맵에 포함되지 않았던 변경 사항이지만, 사용자 경험을 크게 개선하기 위해 진행하기로 결정했습니다. 커뮤니티 피드백을 바탕으로, 제안 페이지의 사용성과 디자인을 먼저 개선하지 않고 제안 생성 기능을 활성화하는 것은 충분하지 않다고 판단했습니다.
원래 UI: 이제 사용자는 제안 페이지에서 보다 간소화되고 직관적인 인터페이스를 경험할 수 있습니다. 각 제안의 목적과 현재 상태를 더 빠르게 인식하고 명확하게 이해할 수 있도록 일관된 시각적 구조를 구축하는 데 많은 노력을 기울였습니다.
새 UI: 기술적 제약으로 인해 특정 페이지 요소는 지갑 운영자에게 추가 부담을 주지 않으면서 실질적인 이점을 제공하도록 맞춤 솔루션이 필요했습니다. 예를 들어, 현재 자금 지원 중인 제안을 식별하는 기본 메커니즘이 없습니다. 페이지 로드 시마다 실시간 계산을 통해 자금 지원 상태를 결정하는 방법이 고려되었지만, 성능과 확장성 측면에서 최적이 아니라고 판단되었습니다.
대안 솔루션: 대신, 반환 제안의 ID를 하드코딩하고 더 많은 지지를 받은 제안을 프로그래밍 방식으로 표시하는 결정론적 접근 방식을 채택했습니다. 일반적으로 개발자 개입을 최소화하는 솔루션을 선호하지만, 반환 제안은 장기간 활성화 상태로 유지될 예정이므로 이 방법은 실용적이고 유지보수가 적습니다. 앞으로는 반환 제안 ID를 필요에 따라 업데이트하기만 하면 정확한 기능이 보장됩니다.
모바일 버전: 모바일 사용자도 동일한 직관적 경험을 누릴 수 있도록 최적화되었습니다.
기존 문제 탐구: 미시작 제안
증인 @justyy가 제기한 미시작 제안 문제, 즉 실제 지지 여부와 관계없이 지원 수준이 0으로 표시되는 문제를 해결하고자 했습니다. 현재 정확한 지원 값을 검색하는 직접적인 방법이 없으며, 여러 솔루션을 검토했습니다. 예를 들어, 지연 로딩(lazy loading)이나 마우스 오버 시 적극적 사전 로딩(preloading) 같은 기술을 통해 인지된 성능을 개선하려 했으나, 전체 유권자 목록을 검색하는 데 따른 기술적 제약으로 인해 페이지 성능에 큰 영향을 줄 수 있어 이를 구현하지 않기로 했습니다. 제안과 유권자 수가 상대적으로 적어 이론적으로 작동할 수 있더라도, 안정성과 예측 가능성을 우선시하는 것이 더 신중한 선택입니다.
대신, 사용자가 미시작 제안의 실제 지원 수준과 유권자 목록을 확인하려면 "0" 값을 클릭하면 됩니다. 이를 클릭하면 총 지원 수준과 해당 유권자 목록을 포함한 상세 테이블로 리디렉션됩니다.
유권자 목록
위에서 설명한 대로, 미시작 제안의 지원 수준을 확인하려는 사용자는 "0" 값을 클릭하면 실제 지원과 모든 유권자 목록을 포함한 상세 정보를 볼 수 있습니다. 각 유권자의 스팀 파워, 대리 투표 파워, 계정별 전체 영향력 등의 추가 데이터도 제공됩니다. 특정 계정을 빠르게 찾을 수 있도록 검색 바가 추가되었으며, 테이블에는 필요에 따라 항목을 정렬하고 순위를 매기는 기능도 포함되었습니다.
사용자 경험과 명확성을 높이기 위해 색상 코딩된 지표를 도입했습니다. 이는 사용자가 텍스트를 모두 읽지 않고도 핵심 정보를 한눈에 파악할 수 있도록 돕기 위해 선택된 시각적 요소입니다.
연초록색: 다른 계정을 투표 대리인으로 지정한 계정으로, 대리인이 제안에 투표했기 때문에 영향력이 계산된 경우를 나타냅니다.
연홍색: 투표 대리인을 지정했지만 대리인이 제안에 투표하지 않아 영향력이 계산되지 않은 계정을 나타냅니다.
모바일 버전: 모바일에서도 동일한 명확성과 사용성을 제공합니다.
제안 삭제
이제 사용자는 두 번의 클릭으로 자신의 제안을 삭제할 수 있습니다. "삭제" 버튼은 현재 로그인한 계정이 제안 생성자와 일치할 때만 표시됩니다. 하지만 테스트 중 실수로 제안이 삭제되는 사건이 발생했습니다. 이는 특히 이미 상당한 지지를 받은 제안의 경우 큰 리스크가 될 수 있습니다. 사용자 참여와 가시성 등의 요인으로 인해 동일한 수준의 지지를 다시 얻는 것은 어렵거나 불가능할 수 있습니다.
이를 해결하기 위해 사용자가 자신의 행동을 완전히 인지하도록 추가 보안 메커니즘을 구현했습니다. 이 안전 장치는 근육 기억이나 유사한 인터페이스 요소와의 혼동으로 인한 실수 삭제를 방지합니다. 이제 사용자는 제안 삭제를 진행하기 전에 제안 ID를 다시 입력해야 합니다.
모바일 버전: 모바일에서도 동일한 보안과 사용성을 제공합니다.
제안 생성
제안 생성은 이제 간단하고 직관적인 프로세스로 설계되었습니다. 테스트 중 일부 사용자가 퍼머링크 개념에 대해 혼란스러워하는 것을 확인하고, 사용자가 링크를 붙여넣기만 하면 관련 필드가 자동으로 채워지는 시스템을 구현했습니다.
모바일 버전: 모바일에서도 간단한 제안 생성 경험을 제공합니다.
로컬라이제이션
현재 로컬라이제이션은 개발 범위에 포함되지 않습니다. 이전에 커뮤니티 주도 이니셔티브를 고려했지만 여러 요인으로 인해 실현되지 않았습니다. 그러나 현재 우선순위가 완료되면 로컬라이제이션이 해결될 것이라 확신합니다.
다음 단계는?
SteemDAO 관련 상세 정보를 제공하는 FAQ 섹션이 이미 준비되었습니다. 이번 릴리스에 포함될 수 있었지만, 다양한 기술 전문성을 가진 커뮤니티 회원들의 피드백을 기다리고 있습니다. 이는 콘텐츠가 정확하고 광범위한 사용자에게 접근 가능해야 한다는 점을 보장하기 위함입니다. FAQ 섹션은 다음 업데이트에서 포함되어 공개될 예정입니다.
높은 수준의 완성도를 우선시하는 개발 노력에서는 트레이드오프가 불가피합니다. 정밀함과 완성도를 추구하는 팀에게 이는 종종 기존 구성 요소의 개선이 마무리되는 동안 일부 중요한 기능이 백로그에 남아 있음을 의미합니다. 아직 몇 가지 검증과 사소한 개선 사항이 남아 있지만, 이를 비중대한 개선으로 분류하여 향후 개발 주기에서 해결할 계획입니다.
현재 단계에서는 다음 업데이트에 포함될 구체적인 기능을 발표하지 않으려 합니다. 이는 과대 약속하거나 추가 시간과 테스트가 필요한 기능에 대한 기대를 만들지 않기 위함입니다. 대체로 개발 우선순위는 시간에 민감하거나, 널리 요청되었거나, 평균 스팀 사용자에게 의미 있는 삶의 질 개선을 제공하는 기능에 초점을 맞추고 있습니다.
아이디어와 기능 제안 가능 여부
사용자는 자유롭게 의견과 아이디어를 공유할 것을 권장합니다. 개발자와 제품 소유자로서 우리는 종종 일반 사용자가 진정으로 필요로 하는 것에서 멀어지거나 불필요한 복잡성을 도입할 수 있습니다. 현재 작업이나 미래 개선과 관련된 제안이 있다면 주저하지 말고 연락 주세요. 여러분의 피드백은 개발 노력의 품질과 방향에 크게 기여할 수 있습니다.
이미 커뮤니티에서 요청한 몇 가지 소규모 기능을 승인했으며, 필요하다고 판단되면 더 많은 기능을 구현할 준비가 되어 있습니다. 새로운 기능 제안과 변경 요청은 환영하지만, 모든 제출이 개발 로드맵에 추가된다고 보장할 수는 없습니다.