Project Scope for Mumble Sticker Feature
- Project Overview
This project aims to enhance the Mumble VoIP application by adding a feature that allows admins to assign "stickers" (small PNG images) to users who are connected. These stickers will be visible to all users.
- Objectives
Enable a new feature for Mumble that allows admins or privileged users to assign and manage stickers.
Stickers should appear as small images next to usernames.
Maintain compatibility between forked and non-forked clients and servers, ensuring all users can connect regardless of client version.
- Deliverables
A modified Mumble client and Murmur server supporting the sticker feature.
Compatibility with non-forked clients and servers must be preserved.
Documentation to guide admins on migrating their servers to and from the fork.
Codebase that is easy to maintain with mainline, allowing for regular updates and security patches from the original repositories.
- Functional Requirements
An updated administrative interface for managing stickers, including options to name and upload images.
No permissions are associated with stickers other than the ability for admins or privileged users to apply or modify them.
Use existing Mumble library support for rendering images, with sticker dimensions optimized for visibility.
Leverage Mumble’s existing permission system to restrict sticker application and management to designated users.
- Non-Functional Requirements
Performance should be unaffected by the sticker feature, with any noticeable impact considered unacceptable.
Stickers must display correctly on small interfaces without compromising loading times or interface responsiveness.
- Project Timeline
Planning (approximately 1 month): Handled by the project owner.
Development: Expected to be quick, especially for client modifications.
Testing: Managed by the project owner, with a focus on compatibility across Windows, Linux, and potentially BSD.
Documentation: Straightforward, detailing migration steps and sticker feature usage.
- Stakeholders
The project owner is the sole stakeholder. A public beta release is planned to gather community feedback as needed.
- Assumptions
The Mumble/Murmur codebase will support these new features without requiring major architectural changes.
Current image-rendering capabilities in Mumble will be sufficient for displaying small PNG stickers.
Testing environments for Windows, Linux, and BSD are available and accessible for compatibility verification.
- Constraints
All code must be licensed under GPLv3 (or later), ensuring this is a fully libre software project.
No vulnerabilities should be introduced, and as the code is open source, it can be audited by the community for any issues.
- Risks
OS-specific installer compatibility might be challenging, especially if Mumble binaries vary across systems. Testing will be required to ensure a smooth installation experience on Windows, Linux, and possibly BSD.
If a non-forked client connects to the forked server, they may see a message like "non-compatible emoji server" but still connect successfully without displaying stickers.
- Out of Scope
No user permissions are associated with stickers beyond the ability for admins or privileged users to apply or manage them.
A soundboard feature tied to sticker usage is out of scope for now, but it may be added later after core functionality is established.