Here’s some presents from us for some merry holidays:
Fixed $123, $124, $125
as part of your commit message.1
, 2
, 3
shortcuts for switching to the Hand, Decks and Milestones tab with Shift+1
, Shift+2
, Shift+3
.+
and -
buttons in the timer widget at the bottom. You can also reset the timer to zero when hitting the -
button often enough. (By the way: did you know you can keep the buttons pressed for faster updates?)This release contains all necessary changes to migrate away from our existing CRM provider (Mailchimp) to a self-hosted solution. This means your data will be shared with one service provider less. (Leaving only our payment provider Stripe and our hosting solution.)
After adding and refining a lot of features, we felt it was time to focus once again on one of our major core values: A snappy and responsive interface. Teams with a lot of cards and decks might have recognized that it might take a second or two to load the deck library in a new tab. Same for opening a deck for the first time.
So we took the time to put our profiling goggles on and to look for all cases in which the browser is doing more work than it should. We found a lot of opportunities for improvements and updated our card, deck, deck library and notification components with performance improvements in mind. We feel it’s been well worth it! Loading up the deck library in a new tab has been sped up by a factor 3 to 4!
Before this update, notifications were generated on the fly, in your browser by checking all relevant card changes. This approach led to some performance issues for projects with a lot of activity. So we improved it significantly by generating notifications on the server instead. This should speed up a lot of interactions that could potentially generate notifications.
But this update did not only improve performance but came with a lot of new features as well:
Once you start selecting cards, you’ll find a download icon in the right part of the selection bar. Here you may pick the desired fields to export and download a csv file right away!
We’re super stoked to announce that this release introduces time tracking!
Open up the Mission Control and navigate to Organization Settings > General
and look towards the bottom for the relevant settings. Time tracking comes in two flavors: Manual mode and Real-time mode.
Manual mode allows you to enter your time manually via a card’s history panel.
The Real-time mode allow you to manually enter your time as well, but comes with a lot more power: it will be tracking your time whenever you start a card.
This basically means, if a card a blue, you’ll be tracking time. To reduce any confusion this also means that a single user can’t have more than a single started card. So you might have to adapt your workflow if you want to activate this feature. But we strongly believe it’s worth it as a blue card will be a strong signal to your team that you are actually currently working on this card.
A timer widget at the bottom of the screen allows you to quickly stop and restart a card that you are currently working on.
Once any of the two time tracking modes is activated, you are able to find a Time Tracking Report in the Mission Control. Here you can inspect everyone’s tracked time and filter and sort it by date, user and project. To give you full flexibility you may export the report as a csv-file. This file not only contains the tracked time for each card but also most of a card’s properties so you can do all kinds of analyses and reports yourself if you so wish.
We also introduced an icon to the mini cards giving you a quick overview who worked how much on a card already as well as allowing you to group your cards by time worked on them.
g
letter) was cut off. We revisited our web fonts and this should now be resolved.x
key reliably dismisses notifications on a card, preventing double submit for new conversations and comments, fix error when attempting to edit commands on discord, and a few more.This release also allows us to start testing the next two big features internally already: time tracking as well as an all new design of the mini cards (including cover images)!
Bug fixes and small improvements:
- []
checkboxes on cards with card references would open the “Card not saved” dialog. This is now fixed.This time there’s a lot of Quality of life improvements:
We noticed that long cards and long conversations could lead to frustrations at times. While sometimes less is more, that’s probably not always true for the amount of scrollbars. We tried to live with only one main scrollbar for a long time, but now that we’ve added scrollbars to long cards and the side panel, we’re already asking ourselves how we could have lived without!
We understand Codecks to be more than just a list of tasks. We’re moving towards becoming a great place for your knowledge base and design documents. As a next step, we introduced Wide mode to cards. This will make it much more pleasant to create, edit, and read large amounts of texts. To activate it look out for the ↔️ arrows or hit w
on your keyboard.
$cardid
) now get a background color according to the referenced card’s status. So if you create an overview card referring to lots of sub tasks, you can now see at a glance how far a certain feature has come.?
to open it.) Note that it’s context dependent and shows different hints depending on what part of the app you’re currently in.To comply with new EU regulations starting on September 14, 2019, we reworked our payment systems.
To ensure that all future payments will be accepted by your bank, we removed payment information stored on Stripe and their references on our side. This means that you need to enter your credit card details again, should you apply a new top-up or start a subscription. Existing subscriptions should not be affected.
In case we’re applying VAT to your invoices (this affects mostly our German customers), we’ve always treated the paid-in VAT as part of your balance. This made the accounting hard on our side and led to strange edge cases.
One example: should a non-German EU-Business enter their VAT-ID, they we were eligible for a VAT-free invoice. As our initial gift of 50€ should be treated as a a gift worth 10 person months, we had to change the gift amount along with a customers VAT rate. Any directly paid in money and bonuses should not be affected however. This led to the weird effect of changing your gift-portion of your balance whenever your VAT rate changed.
This is why we decided to simplify the balance system by only showing net amounts. Any VAT paid will show up on your invoices but not in your balance. On the other hand we’ll also only subtract the net amount per user and month from your balance without applying any VAT rates. (I.e. VAT is only considered when you actually pay in money and not when we deduct money from your balance at the end of a billing cycle.)
Should you have any questions feel free to get in touch with hello@codecks.io!
When you create a card on your hand or a milestone you now are able to select which deck this card should belong to without having to create it first. This should make a lot of workflows a lot simpler. You can still decide to not put it into any deck to create this card as a private card.
When creating a card in a deck, you can now also choose to add it to your hand on creation. Check the top right area of the card creation panel to find it!
@
, #
or $
, sometimes leading browsers to crash 💥.@everyone
role, Leaderboard doesn’t show Cards that are done.Oooh, we are very excited about this one! We’ll release some more concrete information soon on our home page.
I can share that much already, however: it’s gonna be awesome for both, managing your team and your community on Discord!
Both, the metrics performance optimizations in May, as well as the project refactoring for the 2.0 release introduced some issues that made a lot of graphs unusable. This release fixes those.
Several Fixes
So much has been improved in this release! To give a you good overview we created a blog post outlining the most important changes.
For you convienience, here’s a quick summary:
111
. We needed to change this to make card ids organisation specific. All references within carsd (via $ID
) have been automatically updated. We also will be redirecting old URLs to their new version for the time being.This release serves mostly as a preparation for the next release: instead of using sequentual numbers for database ids, we’re now relying on globally unique uuids. This helps us for moving certain accounts to different databases for e.g. alpha testing purposes.
If you’ve been using the codecks api directly, make sure to now accept strings as ids.
Phew. Quite a bit has happened here. First, you’ll probably notice that the design has changed.
Making it look like an input will hopefully make it more approachable. We also decided to forgo the real-time search as you type. This became a big bottleneck for larger projects. We also moved currently active filters into the search component since they make a lot more sense in here! Makes it also quite easy to delete via backspace.
The most important addition probably is Full Text Search. I don’t think there’s much to explain. Just type whatever you’re looking for and it’ll show the relevant cards. You still are able to search by title though as well.
For some teams the metrics view has become unbearably slow, so a few fixes were made that had a very big impact on performance. One important change was to not consider the full history of a deck or milestone but only look at the past 3 months.
It took a bit longer than expected. But it’s finally there!
You now have access to your notifications from the milestone tab.
Lots of quality-of-life improvements this time:
!D
no-deck icon with a much more pleasant to look at icon. 👻Due to new permissions you need to head to the slack integration settings to (re-)activate it.
(Depending on the approval process of Slack it might take a few hours until it’s available).
You might have noticed that especially large texts behaved funky sometimes while editing them. This release refactored most of the editor logic. While it pretty much looks like before (with some subtle improvements though), it should now be considerably more stable.
This release is quite packed. Let’s get it started:
Go to your account settings to find it. It allows you to import any Trello board you have access to including its cards, attachments and check lists. You can chose to either import it into a new Codecks project or add the cards into an existing projects.
Rather than opening the original file in a new tab, you can now view and browse attachments in an overlay.
Not too much happened that was user-facing (except prettier invoices), but the billing logic was cleaned up and typed via typescript, resulting in much more maintainable code.
The backend has been developed using ruby. A solid choice back in 2015. But time and work on related projects has shown that a switch to node would be worthwhile decision. Both, in terms of performance as well as in terms of maintanence when paired with type-safe code via typescript.
This release marks the first step and should hopefully be a notable one already. All data fetching requests now run over the new node backend. Benchmarks in our staging environment have shown that the maximum number of requests per second went up from ~20 to ~200. While we’re still not near this kind of load yet, benchmarks have also shown that median latency went down from ~70ms to ~30ms. This should be enough of an improvement to have a perceivable effect on Codecks’ responsiveness when loading new data.
Creating and changing data still runs through the old ruby-based system. The corresponding endpoints will be migrated piece by piece as the respective parts of the code base are being worked on in the upcoming months.
You already could select multiple cards and make bulk changes via the selection header. This update allows you do perform drag and drop operations with all currently selected cards.
The Mini Cards and Deck Library are now powered by a new animation engine. Codecks already is a fairly complex web-app so it was necessary to come up with a performant way of dealing with animations. The FLIP Technique was chosen as the underlying basis.
While not perfect yet, it will make it fairly straight forward to add more helpful animations at the right places in the future.
j
and k
keys to navigate from one open card to the next one.