All posts by Kerika

About Kerika

Kerika is the only task management tool that's designed specially for global, remote teams.

Redesigning the Whiteboard Toolbar

We did an update to the toolbar shown on Whiteboards (and canvases attached to cards on Task Boards and Scrum Boards), and while that modernized the look of the toolbar — and removed some usability problems with the old design — in retrospect it didn’t do a good enough job of simplifying the interface :-(

Current Canvas Toolbar
Current Canvas Toolbar

The problem with this design was that it mixed together two different functions:

  • Providing drawing function, e.g. drawing a rectangle on the canvas.
  • Providing context-specific functions, e.g. linking an image to an external URL.

To improve this design, we are reverting to a very old style: having the drawing buttons appear on the left side of the Kerika canvas:

New Canvas Toolbar
New Canvas Toolbar

Now, all the functions that put content on the canvas: shapes, lines, files, Web content, etc. are shown on the left edge of the canvas, and the context-specific items — e.g. changing the color of a selected shape on the canvas — are shown on the top.

Using a left-edge toolbar goes back to the very first version of Kerika, although back then we had rather embarrassing styling :-)

Box restores our Box Notes hack :-)

Our last blog post noted that a very useful Box Notes hack had gone away, following an unexpected update to the Box platform a couple of weeks ago.

We asked Box if they could consider adding something to their API that would allow us to restore this functionality, and their response has been very helpful and very fast!

Here’s how fast they responded:

  • July 15, we enter a support request at 6PM.
  • The next morning, Box Support put us in touch with Jon Berger, the Product Manager for Box Notes.
  • The same day, Jon talks to his dev team and commits to providing us with a fix.
  • Less than a week later, the fix is in production!

Very nice.

Deleting canvases attached to cards

You can attach as many canvases as you like to cards on Task Boards or Scrum Boards, and if you don’t need them anymore, you can delete the canvases.

Here’s how you add a canvas to a card:

Adding a canvas to a card
Adding a canvas to a card

By default, the new canvas is simply called “Canvas”, but like with any other attachments on a card, you can easily rename it by clicking on the pencil icon that appears to the right when you hover your mouse over it:

Renaming a canvas
Renaming a canvas

Clicking on the “x” button at the far end will let you delete a canvas that you no longer need:

Deleting a canvas
Deleting a canvas

If the canvas is empty — which means that there is nothing visible on the canvas, and nothing in the canvas’ Trash either — you see a simple confirmation message asking if you are sure you want to delete it:

Deleting an empty canvas (confirmation)
Deleting an empty canvas (confirmation)

But, if the canvas is not empty, you see a Restore option instead:

Restoring a deleted canvas
Restoring a deleted canvas

If it seems puzzling why a canvas that appears empty isn’t really empty, make sure you open the canvas and take a look at the Trash: there may be items there that you had previously removed from the canvas:

A canvas that looks empty but isn't
A canvas that looks empty but isn’t

In this example, above, the canvas looks empty but isn’t really: there are items in the Trash.

In situations like this, Kerika is careful to avoid losing all your work: until you empty the Trash on a canvas, the canvas isn’t considered to be truly empty, and until a canvas is truly empty, it cannot be removed from a card.

So, in this example, you see the Restore option rather than the Delete option:

Restoring a deleted canvas
Restoring a deleted canvas

How “Sort by Status” works

When working with Task Boards and Scrum Boards, you get a variety of options for quickly sorting a column of cards:

Sort options
Sort options

Sort by Date is easy enough to understand, but what about sort by status?

Sort by Status organizes the cards in a column as follow:

  • Critical
  • Is blocked
  • Needs rework
  • Needs review
  • In progress
  • Normal
  • On hold

This sort order reflects the normal priorities of most projects: the most important stuff would ideally show up at the top of the column to get dealt with first.

Yes, there is a “Kerika Blue”

We try to be consistent in our use of colors and shades throughout the application, although it is easy to slip up from version to version, particularly since we do so many releases a year.

One recent diversion we corrected was in the use of the color blue: we have a specific shade we call Kerika Blue (#0099CC) which is used to indicate the concept of “new”:

Kerika Blue
Kerika Blue

Kerika Blue is  more muted than the regular blue that you might find elsewhere: we generally try to keep our color scheme muted, so that the decoration of the Kerika app doesn’t compete with your data — after all, your data are far more important to you than anything we do in terms of decorating your screen ;-)

Security within a Virtual Private Network

All of Kerika’s servers, which run on Amazon Web Services (AWS), operate within a Virtual Private Network (VPN), so they can be configured to only listen on local ports, e.g. ports like 10.0.0.1, etc.

This means that they cannot be accessed directly from the Internet: instead, all connections are routed through an Elastic Load Balancer (ELB), which is a special kind of AWS server that handles connections from all users.

The ELB is very secure: it implements SSL 2.0, and when vulnerabilities like Heartbleed and POODLE are discovered, it is relatively easy for us, with Amazon’s help, to quickly ensure that the the ELBs are patched.  Patching the ELBs quickly gives us breathing room to patch all the other servers involved, particularly if vulnerabilities are found at the platform level itself.

But, running a VPN isn’t enough: while it blocks people outside the Kerika server environment from directly accessing our database, there is still — at least a theoretical possibility — that an attacker can find his way inside the VPN, and then try to connect to our database server on a local port.

To avoid this scenario, we use SSL within the VPN as well, so that the connections from the load balancers to the database servers are also authenticated and encrypted.