zulip/docs/roadmap.md

12 KiB
Raw Blame History

Zulip 2016 Roadmap

Introduction

Zulip has received a great deal of interest and attention since it was released as free and open source software by Dropbox. That attention has come with a lot of active development work from members of the Zulip community. From when Zulip was released as open source in late September 2015 through today (early November, 2016), more than 150 people have contributed over 1000 pull requests to the various Zulip repositories, the vast majority of which were submitted by Zulip's users around the world (as opposed to the small core team that reviews and merges the pull requests).

In any project, there can be a lot of value in periodically putting together a roadmap detailing the major areas where the project is hoping to improve. This can be especially important in an open source project like Zulip, where development is distributed across many people around the world. This roadmap is intended to organize a list of the most important improvements that should be made to Zulip in the relatively near future. Our aim is to complete most of these improvements by February 2017 and then prepare a new roadmap then.

This document is not meant to constrain in any way what contributions to Zulip will be accepted; instead, it will be used by the Zulip core team to prioritize our efforts, measure progress on improving the Zulip product and hold ourselves accountable for making Zulip improve rapidly.

This roadmap is the best place for contributors to look for substantial projects that will definitely be of value to the community (if you're looking for a starter project, see the guide to getting involved with Zulip).

We periodically update this roadmap by adding strikethrough to issues that have been resolved, but the linked GitHub issues are the most up-to-date source for that information.

Without further ado, below is the current Zulip roadmap.

Major projects

There are 2 huge projects that Zulip is working on right now that are too big to have a coherent GitHub issue:

  • We are working with a world-class designer on a major visual redesign of the Zulip webapp. This will dramatically improve the usability of the streams and settings UIs, and make the entire webapp feel like a modern web experience. We plan to make the first release containing this redesign Zulip 2.0, likely in early 2017.

  • We are writing a new React Native iOS app for Zulip to replace the old iOS app. The new app is progressing rapidly, but is not yet feature complete. We expect it to be in the app store by the end of 2016.

Core User Experience

Social features

Real-time sync

The overall goal is to eliminate the few known issues where Zulip does not provide a seamless real-time sync experience.

Onboarding issues

This category focuses on issues users experience when installing a new Zulip server, setting up a new Zulip realm, or starting to use Zulip.

Production installation issues

Administration and management

Scalability and performance

Scalability and performance are not currently major problems for Zulip; it already scales well to thousands of users and is significantly faster than proprietary alternatives. So, this is not a major focus area for the project.

Technology improvements

Technical Debt

While the Zulip server has a great codebase compared to most projects of its size, it takes work to keep it that way.

Security

Testing

Documentation

Nice to have

Integrations and bots

Integrations are essential to Zulip. While we currently have a reasonably good framework for writing new webhook integrations for getting notifications into Zulip, it'd be great to streamline that process and make bots that receive messages just as easy to build.

Android app

iOS app

For the new React Native iOS app, the major goal for it is to be released into the app store. Since it is moving quickly, we're tracking its roadmap via GitHub milestones.

Server/webapp support for mobile

To support a great mobile experiences, we need to make some improvements in the Zulip server.

Desktop apps

The new cross-platform desktop app is implemented in Electron, and primarily needs work on installer tooling to finish replacing the old app.

Community

These don't get GitHub issues since they're not technical projects, but they are important goals for the project.

  • Expand the number of core developers able to do code reviews
  • Have a successful season with Zulip's Outreachy participants
  • Have a successful season with Google Code In.