5.6 KiB
id | title | status | lead-contributor | contributors | budget | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
318-desktop | Desktop | research | Volodymyr |
|
|
Desktop Swarm proposal
Summary and Goal(s)
Messenger apps expected to be present on all widely used platforms - ios, android, mac, windows, linux.
Status desktop app currently extensively used by Status company for communications.
It is implemented with the help of react-native-desktop project that is a Qt-based port of react-native
to desktop platforms: mac, windows, linux.
So Desktop swarm has two goals in mind:
- Providing well-polished communication tool for Status company itself and the community
- Feature parity with mobile application For initial scope focus is on the first goal.
Additional tasks for the swarm is maintaining react-native-desktop
project to fit Status desktop needs and publishing Status desktop releases.
Communication
status channel (same as swarm id)
: #318-desktop
sync frequency
: Weekly Sync
meeting notes
: https://notes.status.im/IVQ6ZK6iRw6LfF-4y4WJmw
Research
Timebox: 21/12
Research questions:
- what features we already planned or were talking about? How they priority changes now?
- Allow standard keyboard shortcuts
- Publishing at platform's official marketplaces
- Fix memory leaks
- Improve CPU usage
- windows uwp support
- markdown support in chat
- text selection among multiple messages
- show connection stats inside the app
- add log level settings
- use peer counts to detect online\offline state
- No new messages after going back from sleep
- [Security and privacy review](Desktop security and privacy review)
- Context menu in input fields
- Add design for menus
- Fix scroll stuttering
- Add dev mode and network switching
- UI fixes for bubble-less chat area
- Fix group chats creation
- Confirmation dialog on logout
- Custom url support on linux
- Add custom mailserver
- Edit profile picture
- Remove code duplication in Jenkinsfiles
- Persist scroll position after navigation through the app
- Add jenkins job for e2e tests
- Apply onboarding designs
- what existing desktop issues affect its usability most (in functionality or UI)?
- how many users outside of Status we have? (optional)
- how can we get user feedback about desktop
- what features mostly anticipated by users?
- what ui/ux input needed
- what should be done in
react-native-desktop
to support status desktop tasks - Get rid of ubuntu-server and embed js engine in react-native-desktop
- File open dialog
- Fix remote js debugging
- Improve UI responsiveness
- what should be done in
react-native-desktop
to make its maintenance easier - port to react-native 0.57. That will give us a possibility to make it an out-of-tree platform and facilitate future upgrades.
- PR with updated version already in react-native-desktop
- PR for testing it with status-react
- PR for mobile in progress
- More documentation/tutorials for external contributors
- what tasks can be done without involving Clojure/Go resources
Research output structure:
When questions above answered we can create:
- prioritized list of most important tasks to do for boosting communication experience
- user stories
- bounties
Research output structure:
Prioritized list of tasks:
User stories:
Bounties:
Specification
do after
Research
(required)
timebox specification (approx)
(optional)
user stories
, architecture
, designs
, PoC
Implementation
(required)
timebox implementation (approx)
do after
Specification
All swarm contributors should test and break the implementation, especially developers
(required)
document progress
(optional)
townhall demo
Maintenance
lead-contributor
,post-mortems
Copyright
Copyright and related rights waived via CC0.