Space 2020 Roadmap
Welcome to Space 2020! We would like to share our plans and priorities for the current year in order to make sure that we’re moving in the right direction and that what we have planned will bring you the features you expect and need most. We’re planning for the official release of Space 2020 to happen in Q3 or Q4 of this year.
Space is now in Early Access Preview, and our goal with the public launch was to share the concept, the main ideas, and values behind Space as an integrated team environment of the future. That’s why we revealed a number of features in the launch that we believe are crucial to completely cover the process of software development but that are not yet available for the public preview yet.
Our main priorities for the Space 2020 release
I. Automation: CI/CD
We announced a complete solution for CI/CD and general-purpose Automation with the product launch because we believe it is one of the main parts of the software development process. However, we’ve decided to hold this functionality until we make it production-ready. For the Space 2020, release we won’t provide a complete continuous delivery solution with deployment targets. However, our aim is to provide a basic CI solution (without pipelines).
Which features are we planning to deliver first?
- Containers support: If your task can be “containerized,” then most likely Automation will be able to run it. In containers, you can run any command (including the default one), any script, or arbitrary Kotlin code.
- Extended support for Gradle: Report Gradle tests, use special commands to simplify running Gradle builds.
- Service containers: Run additional containers, database containers for example, along with the main one.
- Integration with other Space modules: Use the Space API to work with other modules right from the Automation script. For example, send a message to Chats if the build fails.
- Integration with Packages: Publish Maven artifacts to repositories in Packages.
II. Work: Issues, Checklists & Personal To-Do List
Project management in Space consists of three main stages: top-down planning, bottom-up analysis, and execution. Our goal is to provide full-featured support for every stage and ensure deep integration between the stages. According to the feedback we’ve received, there is a high demand for project management functionality in Space. That’s why we’ve made it one of the top priorities for the release.
We’re planning to rework the concept behind checklists to make it more applicable to procedures that involve breaking things down. This will allow checklists to work better with Epics or Iterations. We’re also working on integration with the issues, adding the option to convert a checklist item to a new issue or link it with an existing one.
- Bulk update for issues, including the visual UI for selecting and updating multiple issues: assignee, status, tag, due date, etc.
- Using responsibilities for the subsystems in issues and checklists
- Improvements for working with due dates: filtering, notifications
- Custom fields support
- UI and usability improvements
Personal To-Do List [New]
If crossing out items from your to-do list is the most pleasant part of your working day, the personal To-Do concept in Space is a perfect match for you.
In Space, the To-Do list is a handy tool for personal short-term planning. It allows you to collect and convert various activities in Space into actionable items in one click, like performing a code review, replying to the chats messages, reading the blog posts, commenting on an issue, reading the knowledge base article or a document, you’re planning to accomplish today or tomorrow.
We believe that the To-Do list is a simple yet powerful tool that helps reduce noise and information overload and that helps you organize your daily tasks with one click. Personal To-Do list will be available in the mobile apps as well.
III. Knowledge base [New]
The knowledge base, which is work in progress, is one of the most desired pieces of functionality in Space. Books are the main entities in the Space knowledge base. Books can be organized by topic, like Design Guides or PMM Survival Guides, by location, such as the JetBrains Munich Office, or project, like Space, IntelliJ Platform, etc.
The initial version of the Space knowledge base includes:
- My documents:
- Documents can later be published to the blog or to the book.
- Sharing documents.
- Books and articles
- Project documents – the books inside projects
- Collaborative editing – Markdown or WYSIWYG (depending on the original document format)
- Publish history
IV. Extensibility and Applications
We’ve devoted a lot of focus to supporting extensibility in Space. Applications are the main way to configure, reuse, and share extensions in Space.
Our most immediate plans for applications include:
- Incoming webhooks
- Slash commands and interactions via chats
- Support for notifications from external tools
- HTTP API polishing
For permissions, we’re planning to work on:
- A more granular permissions scheme: per repository, per book, etc.
- Permissions management for applications
- Permanent tokens for simple HTTP API access scenarios
We have the following features planned for authentication:
- Two-factor authentication and application passwords
- SAML 2.0
- Sign-in attempt throttling and CAPTCHA
Our goal is to provide the means for the easy and comfortable migration of the following resources to Space: members, teams, locations, projects, repositories, documents, knowledge base, roles, issues, etc.
We’re planning to provide a simple import from a commonly used format (such as CSV, JSON, or XML). Space will support a one-time import. We assume that the extensions, such as wizards for advanced migrations, will be created by our technological partners.
We’re going to provide a distribution mechanism for our applications via the Marketplace.
Other important directions of Space development
I. IntelliJ-based IDEs plugin
The main thing we’re currently focused on for the IDE plugin is code review process support from the IDE, including:
- An overview of opened reviews, with the option to filter them
- Notifications about assigned reviews
- Editing details and the list of reviewers
- Comments and answers
- Creating a new branch review
- Initial project setup
- Search for packages
- Resolve missing Space package references directly in the IDE
- Edit Space automation scripts from the IDE and run them locally
II. Meetings and Calendars
These days, everyone uses some kind of calendar. That’s why we’re focused on providing integration with the following tools:
- Google Calendar
- Microsoft Outlook Calendar
Our second priority is ensuring support for Space Calendars in a standalone mode. In order to accomplish this goal, we’re planning to support:
- Invites for external people
- Sending invitations
- Responding to invitations
- Notifications about the upcoming events: desktop, mobile
- CalDAV API for all calendar events
- Unified calendar items for meetings, vacations, and other absences
- All-day meetings
- Recurrent meetings improvements: remove or update a single event
III. Chats and Mobile Apps
Chats in Space are the central place for all notifications. Since chats deliver notifications from all the modules, we believe that the optimized notification mechanism – which includes smart notifications grouping, setting defaults, and flexible settings are crucial. We also have this as our main point of focus for mobile apps (iOS and Android).
Our plans for chats and mobile apps include:
- Full-text search inside chats
- Flexible grouping of notifications about issues, code reviews, and direct messages, according to company workflows
- Audio and video calls
- More subscriptions for various events, including new commit and new automation job
- Applications (bots or third-party integrations) in chats
- Performance improvements
- Mention more entities from Space: @teams, @projects, @locations
- Unified user status, which includes information about absences, meetings, and current activities, such as working in IDE or writing a blog post, as well as custom statuses.
IV. Collaborator Role
We’ve seen a lot of demand for adding support for external members, people who are not the members of the organization but are authorized in Space and have a limited set of permissions. The external member role can be used for product stakeholders, customers, partners, etc.
More features we’re planning to add
- Git regional replication
- Custom workflows on a repository change
- Turn-based code review
- The ability to set rules for the code review: the number of reviewers, their roles, etc.
- Automatic code review creation and processing rules
- NuGet and NPM support
- Package repository cleanup policy
- Integration with vulnerabilities search
- Full-text search inside chats, blogs, teams, issues, code, and online help
- More smart data analysis to provide context-based suggestions: different time zones, availability, etc.
Share your feedback
This is our plan for the upcoming release of Space 2020. We hope you’ve seen a lot of useful functionality that will help you to fully adopt Space in your team or your company.
Please let us know what you think by leaving comments here or posting a feature request to our issue tracker.
If you haven’t tried Space yet, go ahead and request your Space EAP invite. It’s free through the whole EAP period.