Tag Archives: Usability

About software usability in general.

An easier way to hide or show columns

We are extending the Column Actions menu (featured in a previous post) to provide a quicker, easier way to hide (or show) individual columns on your Kerika Task Boards and Scrum Boards:

Option to hide column
Option to hide column

When a column is hidden, it’s name is shown vertically, so you can easily remember which columns you have hidden at this time.

Hidden columns
Hidden columns

Revealing columns that are hidden is easy: just click on the “eye” button and the column immediately comes back into view.

Every Team Member can decide whether to show or hide individual columns: their choices won’t affect the way other Team Members choose to view the same board.

Column Actions: a simpler way for Board Admins to customize Task Boards and Scrum Boards

We have added a new feature to our Kerika Task Boards and Scrum Boards, to make it easier for Board Admins to customize the layout of their boards (i.e. to customize the workflow of their projects).

This Column Actions menu appears the top of each column, as shown below:

Column Actions menu
Column Actions menu

When clicked, the button shows the following actions that can be performed on the column:

  • Rename the column
  • Add a new column, to the left
  • Add a new column, to the right
  • Move the column one position over to the left
  • Move the column one position over to the right
  • Delete the column, which means move all its contents to the Trash

This new button and menu makes it easy to access the most common actions that Board Admins need to organize their project’s workflow.

The Board Settings dialog will continue to support this feature, as well as handle more advanced scenarios such as boards that use Work-In-Progress limits on columns:

Column Operations
Column Operations

Note: only Board Admins can customize the columns on a board; not Team Members or Visitors.

New feature: an easier way to share boards

We have added a new feature in the Board Team dialog, to make it easier to share your board’s URL:

Board URL
Board URL (masked in this example)

This will be useful if your board’s privacy is set to Anyone can view this board, like in the example shown below:

Public board
Public board

You can now copy the Board’s URL to  your browser clipboard, and send that to someone else as an email or instant message.

If you change your mind about making the board accessible to anyone who has the URL, you can always set your board’s privacy to Everyone in Account Team or Only people on the team.

Handling the different timezones in a distributed team

When you schedule cards on a Kerika Task Board or Scrum Board, we offer a simple way to pick a date:

Setting due date
Setting due date

We don’t support setting a specific time (e.g. 5:00PM) along with the time: these times are generally useless in most work settings and add unnecessary complexity to the user experience.

And, yet, it’s possible that Kerika reports a specific time for a due date, like in this example:

A specific time for a due date
A specific time for a due date

So, how did happen?

Well, Kerika took note of the fact that person making that time commitment (“I will get it done today”) was based in India.

And midnight in India is 11:30AM in Seattle — at least now, with Daylight Savings Time in effect.

So Kerika shows the Indian team member’s commitment  of “I will get it done today” in terms that make sense to a colleague in Seattle:

Handling timezone differences
Handling timezone differences

11:47 AM Pacific Standard Time with Daylight Savings Time in force is 12:47PM Indian Standard Time; something that Kerika figures out automatically.

This simple, elegant way of handling timezones eliminates the frequent disagreements over “I meant my today, not your today…”

An example of the incredible attention to detail that Kerika brings to the needs of distributed teams.

Trying to be less obscure: why we show the Trash column now

With our latest release we have made a change to all Task Boards and Scrum Boards: the Trash column will now show automatically if it contains anything:

Showing the Trash column
Showing the Trash column

We made this change because the old design was too subtle: most of our users never even discovered the Trash feature, which was a really pity.

Now, the Trash column will automatically display whenever it has anything in it.  We are using lazy loading for the Trash, so performance is not affected for people who have very large Trashes. (Some people, who have been using the same board for years, have hundreds or even thousands of items in their Trash.)

If you don’t want to see the Trash, you can hide it using the Filter button that appears on the top right of each board:

Hiding Trash
Hiding Trash

 

A transition to “lazy loading”

With our big UI redesign, launched a couple of weeks ago, we have started using lazy loading of cards in an effort to improve performance, particularly with very large boards.

Background:

Most Kerika boards tend to be small, or moderate: up to 100-200 cards in size.  A few users, however, have very large boards: several thousand cards in size!

And this is not because we have users who are tracking thousands of work items simultaneously; it’s just that some users have been continuously using the same board for years to track all their work.

For people who use the same board over several years, the number of items in the Done or Trash columns can eventually number in the thousands.  Displaying such large boards was already difficult in our old architecture: we had underestimated how many cards some boards might contain, so our old design downloaded all the cards on a board every time it was opened, and then created a DOM for each card!

This meant that, for very large boards, the browser had to create thousands of DOMs before it could even display the board.  This was obviously not a sustainable model.

What we did:

With our redesign, we have laid the groundwork for a better architecture using two related concepts in lazy loading:

  • For columns that we anticipate being very large — the Done, Trash and Backlog columns for Task Boards and Scrum Boards — the browser now fetches only a small number of cards, say 10-20, from the server.  (With our old design the browser would fetch every card, for every column.)
  • Fetching fewer cards means the amount of traffic between the browser and the server decreased dramatically, but it didn’t solve the performance problem by itself. We also changed our browser code to reuse DOMs instead of creating new DOMs.  By reducing the total number of DOMs created and maintained within the browser by the Kerika app, we are able to reduce Kerika’s overall browser footprint while significantly improving performance.

Here’s an example of lazy loading of the Done column:

Lazy loading of Done column
Lazy loading of Done column

On this board, the Done column contains 163 cards, but when the board is opened only 10 are shown.  Since these are the 10 most recently done cards, this works great for most users, most of the time.

If the user really wanted to see something that was done a long time ago, they can simply scroll down the Done column, as they would have with our old design as well.

As a user scrolls down, more cards are fetched automatically from the server.  Slightly more cards are fetched from the server than are likely to be displayed, e.g. the browser may fetch 15 cards from the server even when it expects to display only 10.

This helps avoid the perception of delay when the browser needs to fetch more cards, since it will already have 5 more cards stored in memory to show as the user begins scrolling, giving it time to fetch another 15 before the user has finished scrolling.

We also decided to use lazy loading on the Home page: with our new design we display more information about the state of each board than we did previously, and the cards themselves are much larger than before.  This means we are unlikely to show the full set of boards to any user at any time, so lazy loading is a natural choice for this view.

Lazy loading of Home
Lazy loading of Home

Finally, with our most recent update (launched two days ago), we have extended our use of lazy loading to include the Not Scheduled column in the Planning Views, where you can pivot your view of a Task Board or Scrum Board to see all the cards organized in terms of due dates.

Here’s an example of a board where there are a very large number of unscheduled cards:

Lazy loading of Not Scheduled
Lazy loading of Not Scheduled

The Not Scheduled column only fetches and displays 10 cards at a time even though there are over 200 cards that are not scheduled.  Since the browser (on this laptop) can only show 3-4 cards at a time, there isn’t any point in fetching all 200 cards: just fetching and displaying 10-15 at a time does the trick!

Better looking emails

The emails you get from Kerika, e.g. when someone assigns you to a card on a Task Board or Scrum Board, have gotten better:

  • The formatting is better: neater, cleaner, and there’s less verbose junk.
  • They are all sent from the same Sender Email — notifications@kerikamail.com — so your mail clients (like Gmail) do a better job of clustering them in your Inbox.
  • They all have better footers, explaining why you are getting the email, and how to contact us. (In other words, they are better at conforming to the CAN-SPAM Act.)
  • They look better on mobile devices: the subject headers are easier to scan, so if the email is something you expected, it is easier to delete it unread.
  • We eliminated the use of our logo, which saves (every so slightly) on bandwidth, especially on mobile devices.

 

Apologies for the long absence…

Sorry for not having posted in a while; we have been swamped with a new UI design that has consumed all of our time.

The new UI, by the way, is all about making Kerika more accessible, particularly to people who are new to visual collaboration.

Our user feedback had revealed a couple of uncomfortable truths that we needed to address:

  • Very few users were aware of all the functionality that already exists in Kerika. Which means that we didn’t need to focus so much on building new functions as we did on making sure people understand what Kerika can already do.
  • Our new users aren’t just new to Kerika; in most cases, they are new to visual collaboration altogether.  Even though there has been a proliferation in recent months of all sorts of companies trying to recast old, tired products as exciting new visual collaboration (hello, Smartsheet!), our new users aren’t converting away from our competitors as much as converting away from paper, email, and SharePoint.

This, then, is the goal of our new UI: to make it easier for people to adapt from paper and email to visual collaboration, and to make it easier for all users to exploit all the great functionality that we have already built.

We will have more on this in the coming months, as we get closer to releasing our new user interface, but in the meantime we have queued up a bunch of blog posts to make sure you know about all the other great stuff we have been working.

Yeah, our biggest problem is we don’t tell people what we have already done…

Feature, restored: simple download of files previewed within the browser

We now allow users to sign up for Kerika directly, by using any email address. This version is powered by the Box Platform, which allows us to make good use of Box’s cloud storage technology while presenting a simple user interface for our own users.

Another cool feature from Box that we had integrated, as part of this new service, was to use their browser-based preview functionality — which came to Box as a result of their 2014 purchase of Crocodoc.

We use this preview feature with a simple IFRAME integration, which means we don’t add anything to it ourselves, but one downside of this approach is that if Box removes something from their preview capability, it can disappear from Kerika also.

This happened recently when they took away a button that allowed for a quick download of a file that was being previewed.

We have fixed this by adding our own “Download file” link within the Box Preview:

Downloading previewed files
Downloading previewed files