swarms/ideas/318-desktop-team-proposal.md

137 lines
5.6 KiB
Markdown
Raw Normal View History

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
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/).