2018-11-30 11:03:23 +00:00
---
2018-12-14 10:26:32 +00:00
id: 318-desktop
2018-12-13 14:41:02 +00:00
title: Desktop
2018-12-13 15:00:21 +00:00
status: research
2018-12-14 10:35:27 +00:00
lead-contributor: Volodymyr
2018-12-13 14:41:02 +00:00
contributors:
- Max
- Volodymyr
budget:
- actual: xxx
- estimate: yyy
- currency: ETH/USD/SNT
2018-11-30 11:03:23 +00:00
---
2018-12-13 14:41:02 +00:00
# Desktop Swarm proposal
2018-11-30 11:03:23 +00:00
2018-12-13 14:41:02 +00:00
## Summary and Goal(s)
2018-11-30 11:03:23 +00:00
2018-12-13 14:41:02 +00:00
Messenger apps expected to be present on all widely used platforms - ios, android, mac, windows, linux.
2018-11-30 11:03:23 +00:00
2018-12-13 14:41:02 +00:00
Status desktop app currently extensively used by Status company for communications.
It is implemented with the help of [react-native-desktop ](https://github.com/status-im/react-native-desktop ) project that is a Qt-based port of `react-native` to desktop platforms: mac, windows, linux.
2018-11-30 11:03:23 +00:00
2018-12-13 14:41:02 +00:00
So Desktop swarm has two goals in mind:
1. Providing well-polished communication tool for Status company itself and the community
2. Feature parity with mobile application
For initial scope focus is on the first goal.
2018-11-30 11:03:23 +00:00
2018-12-13 14:41:02 +00:00
Additional tasks for the swarm is maintaining `react-native-desktop` project to fit Status desktop needs and publishing Status desktop releases.
2018-11-30 11:03:23 +00:00
2018-12-13 14:41:02 +00:00
## Communication
2018-12-14 10:26:32 +00:00
`status channel (same as swarm id)` : [#318-desktop ](https://get.status.im/chat/public/318-desktop )
2018-11-30 11:03:23 +00:00
2018-12-13 14:41:02 +00:00
`sync frequency` : Weekly Sync
2018-11-30 11:03:23 +00:00
2018-12-13 14:41:02 +00:00
`meeting notes` : https://notes.status.im/IVQ6ZK6iRw6LfF-4y4WJmw
2018-11-30 11:03:23 +00:00
2018-12-13 14:41:02 +00:00
## Research
2018-11-30 11:03:23 +00:00
2018-12-13 14:41:02 +00:00
`Timebox: 21/12`
2018-11-30 11:03:23 +00:00
2018-12-13 14:41:02 +00:00
`Research questions:`
2018-11-30 11:03:23 +00:00
2018-12-13 14:41:02 +00:00
* **what features we already planned or were talking about? How they priority changes now?**
* [Allow standard keyboard shortcuts ](https://github.com/status-im/status-react/pull/6951 )
* Publishing at platform's official marketplaces
* [Fix memory leaks ](https://github.com/status-im/status-react/issues/5271 )
* Improve CPU usage
* windows uwp support
* markdown support in chat
* text selection among multiple messages
* [show connection stats inside the app ](https://github.com/status-im/status-react/issues/6568 )
* [add log level settings ](https://github.com/status-im/status-react/issues/5848 )
* [use peer counts to detect online\offline state ](https://github.com/status-im/status-react/issues/6961 )
* [No new messages after going back from sleep ](https://github.com/status-im/status-react/issues/6396 )
* [Security and privacy review ](Desktop security and privacy review )
* [Context menu in input fields ](https://github.com/status-im/status-react/issues/6571 )
* [Add design for menus ](https://github.com/status-im/status-react/issues/4434 )
* [Fix scroll stuttering ](https://github.com/status-im/status-react/issues/6570 )
* [Add dev mode and network switching ](https://github.com/status-im/status-react/issues/6477 )
* [UI fixes for bubble-less chat area ](https://github.com/status-im/status-react/issues/6506 )
* [Fix group chats creation ](https://github.com/status-im/status-react/issues/6607 )
* [Confirmation dialog on logout ](https://github.com/status-im/status-react/issues/4977 )
* [Custom url support on linux ](https://github.com/status-im/status-react/issues/6394 )
* [Add custom mailserver ](https://github.com/status-im/status-react/issues/6110 )
* [Edit profile picture ](https://github.com/status-im/status-react/issues/5456 )
* [Remove code duplication in Jenkinsfiles ](https://github.com/status-im/status-react/issues/5424 )
* [Persist scroll position after navigation through the app ](https://github.com/status-im/status-react/issues/5852 )
* [Add jenkins job for e2e tests ](https://github.com/status-im/status-react/issues/5859 )
* [Apply onboarding designs ](https://github.com/status-im/status-react/issues/4418 )
* **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 ](https://github.com/status-im/status-react/issues/6175 )
* [File open dialog ](https://github.com/status-im/react-native-desktop/issues/377 )
* [Fix remote js debugging ](https://github.com/status-im/react-native-desktop/issues/392 )
* 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 ](https://facebook.github.io/react-native/docs/out-of-tree-platforms ) platform and facilitate future upgrades.
* PR with updated version [already in react-native-desktop ](https://github.com/status-im/react-native-desktop/pull/422 )
* [PR for testing it with status-react ](https://github.com/status-im/status-react/pull/6983 )
* PR for mobile [in progress ](https://github.com/status-im/status-react/pull/6951 )
* More documentation/tutorials for external contributors
2018-12-14 10:26:32 +00:00
* **what tasks can be done without involving Clojure/Go resources**
2018-11-30 11:03:23 +00:00
2018-12-14 10:26:32 +00:00
`Research output structure:`
2018-12-13 15:13:09 +00:00
When questions above answered we can create:
2018-12-14 10:26:32 +00:00
- prioritized list of most important tasks to do for boosting communication experience
2018-12-13 15:13:09 +00:00
- user stories
- bounties
2018-11-30 11:03:23 +00:00
2018-12-14 10:26:32 +00:00
`Research output structure:`
**Prioritized list of tasks:**
**User stories:**
**Bounties:**
2018-12-13 14:41:02 +00:00
## Specification
2018-11-30 11:03:23 +00:00
2018-12-13 14:41:02 +00:00
> do after `Research`
2018-11-30 11:03:23 +00:00
2018-12-13 14:41:02 +00:00
(required)
`timebox specification (approx)`
2018-11-30 11:03:23 +00:00
2018-12-13 14:41:02 +00:00
(optional)
`user stories` , `architecture` , `designs` , `PoC`
2018-11-30 11:03:23 +00:00
2018-12-13 14:41:02 +00:00
## Implementation
2018-11-30 11:03:23 +00:00
2018-12-13 14:41:02 +00:00
(required)
`timebox implementation (approx)`
2018-11-30 11:03:23 +00:00
2018-12-13 14:41:02 +00:00
> do after `Specification`
2018-11-30 11:03:23 +00:00
2018-12-13 14:41:02 +00:00
> All swarm contributors should test and break the implementation, especially developers
2018-11-30 11:03:23 +00:00
2018-12-13 14:41:02 +00:00
(required)
`document progress`
2018-11-30 11:03:23 +00:00
2018-12-13 14:41:02 +00:00
(optional)
`townhall demo`
2018-11-30 11:03:23 +00:00
2018-12-13 14:41:02 +00:00
## Maintenance
2018-11-30 11:03:23 +00:00
2018-12-13 14:41:02 +00:00
`lead-contributor` ,`post-mortems`
2018-11-30 11:03:23 +00:00
2018-12-13 14:41:02 +00:00
## Copyright
2018-11-30 11:03:23 +00:00
2018-12-13 14:41:02 +00:00
Copyright and related rights waived via [CC0 ](https://creativecommons.org/publicdomain/zero/1.0/ ).