Release 10: GitHub integration
Today we have released our very first GitHub integration, allowing you to connect and manage your issues as if they were tasks. Introducing GitHub integration has taught us a few valuable lessons and due to learning those lessons it took longer than we had hoped.
You can now connect a GitHub repository to a workspace which will cause all GitHub issues of that repository to show up in the Workspace and automatically sync the title and status. This will enable you to create an issue in GitHub and then prepare the tasks needed in Todo2d. With the introduction of calculated properties it has now become easy to estimate the amount of time it takes to complete a GitHub issue.
Want GitHub issues directly in your favorite Todo app? It's as easy as pressing a few buttons. Giving you a 2d view of all your tasks and unlocking the ability to estimate most project managers can only dream about.
The long road of development
With Release 9 (release early in July 2025) we introduced the ability to have Workspace Tokens, intended for applications to be used so that they don't need to authenticate as user. However, at that time we didn't release that a connection might be used for multiple workspaces. In hindsight a mistake that was so obvious that we should have caught it in the design phase of the feature.
So when we started working on Release 10 (the current release) we quickly discovered that we either need to make multiple connections for each workspace or have a way to have one connection being used for multiple workspaces. Since multiple connections would only create overhead we introduced an (unreleased) feature named system tokens.
The idea behind system tokens is that you would generate them and then assign the public/non-secret part to a workspace while using the private/secret in an external tool to authenticate. The advantage would be that there could be multiple applications interacting with multiple workspace perform various tasks.
The good news was that the system tokens work. Except... That a person assigning the system token to a workspace could have zero knowledge about what access the external system could have. Somebody could send you a mail about asking to add a system token and as owner you would have zero knowledge and control. It was also a very complex system which would increase security risk, so we reverted course on this.
In our third attempt we decided to make GitHub a first party integration. This allowed us to have a better control over the integration and how we would handle security.
Want to see our integration in action?
What are we going to do today?
Well, multiple things, but mostly creating tasks for our next release 😄
For release 11 we have two features on our roadmap that we have wanted for a long time.
First, the better placement of tasks on a map. Currently all tasks are placed in the center with the same size. Although this works, it's a bit jarring when you start moving tasks around and release that you have created 20 tasks and some of them are duplicate. So for release 11 we want to introduce the ability to automatically place the tasks and have them automatically sized so that everything can be read. Because during development we have seen more than once the Create GitHubInstallationService
shortened to Create...
causing us to resize everything.
And with the introduction of GitHub, we have decided to wait with automatic placement until we have this feature. GitHub issues are still imported and can be found with the search functionality, but what wouldn't it be better if tasks were automatically placed? So yeah, we are going to create that.
The second feature that we will introduce is Task Inbox. We actually had this in our original design but we decided to remove that since most of the time we would place tasks on the map. However the GitHub integration will not automatically place tasks on the board so we want something that provides you with a full overview of everything in the workspace.
Finally, we have bought a new domain called "done2d" for which we will start developing a tool that act as a logbook of everything, but that will take a few months before start, so don't expect any news about that soon.