I’ve been working on a collaborative design/dev tool that I’m hoping to release to this community sometime soon. Part of what I’m putting together is to enable teams to collaborate in real time on custom dashboards and publish their work to the web. Having spent nearly 10 years working in analytics, devops, and medical information analysis, I’m finally at a point where I want to build my own thing from the ground up. This has lead me to some insights and questions about what sort of prominent features teams need right off the bat for both community building and effective team work.
One immediate thought is that good team work and effective community building can take advantage of existing popular community platforms. This includes integrating with things like: slack, discord, twitch, YouTube... etc. Communities and organizations are likely to already be using these platforms so it works really nicely when you can integrate with them right from the start. Just be sure not to get into that special “integration time sink” where your product is basically nothing but endless integrations.
Team and work in general can be async - as a result notifications and alerting is something people tend to rely on when something happens while they are offline (or even actively online). In terms of products like the one I’m working on, notifications on changes help. You can find dozens of examples of how platforms tend to allow users to customize notification behaviors. The key here is to create sane defaults.
If you are building any kind of collaborative system, one thing that users will expect is the ability to revert and keep track of changes. Team members make changes, it’s good to know what/when changes happen and be able to undo them.
Systems that have any kind of visible state and collaborative element may want to provide some kind of visual feedback for when things are being changed (not just notifications). This could be as easy as showing when users are actively using a part of the app or simply online at all. You can also apply this concept to internally tracked items that may change state over time. Changes made by the system could display things Iike online status, or any kind of metrics/properties related an item of interest.
Have a way for users to give feedback and see when you’ve implemented changes. Many products have some kind of “updates” blog at the bare minimum. Community building requires making a sustained effort to write and reach out.
This is about all I’ve got so far! Hoping to continue working and push something out for you all to see!