Category Archives: Usability

Posts related to product design, user experience and usability.

Our Independence Day release

Amidst all the fireworks of Independence Day (here in the U.S.), we released a new version of Kerika with a bunch of new functionality:

And… over one hundred minor usability tweaks and bug fixes!

Internet Explorer’s “Compatibility Mode” is a real problem for most modern Web Apps

We finally tracked down a weird problem that had been affecting some Internet Explorer (IE9): Kerika wouldn’t load properly. This is what users saw:

Kerika not loading with IE compatibliity mode
Kerika not loading with IE compatibliity mode

The “loading…” image would just stay on the screen, forever.

It really puzzled us when a few users started reporting the problem because we weren’t experiencing it ourselves, no matter how much we tried testing Kerika on Internet Explorer. Finally, one of our users reported the problem in a way that gave us a very valuable clue: for some reason he had inadvertently made his Internet Explorer 9 switch to “compatibility mode”. With Internet Explorer running in compatibility mode, Kerika won’t work, and neither will much of the modern Web.

Internet Explorer's compatiblity mode
Internet Explorer’s compatibility mode

The fix to this problem is simple: if any users have toggled their Internet Explorer browsers into compatibility mode by mistake (i.e. hit Alt+8 inadvertently), then please turn your IE9 back to “regular mode”.

How easy is it for users to inadvertently switch their IE browser to IE8 mode? Too damn easy! If you are trying to use the asterisk (“*”) key, you need to type Shift-8. A little carelessness on your part, and you will end up typing Alt-8 instead and switching to IE8 mode! Talk about bad UX design…

Meanwhile, we are going to make a change to Kerika in the next version that will redirect users to an explanation page on our website if the server detects that they are running in IE8 or older.

In case you are wondering what “compatibility mode” is all about, here’s the unhappy history: starting around Internet Explorer 5, which was launched in 1999 at the height of the dot-com boom and amid the fierce battle for browser supremacy with Netscape (remember them?), Microsoft adopted a strategy of getting their largest enterprise customers to create web sites that were based upon Microsoft standards, which differed substantially from what were already emerging as more open, global standards for web sites and browser behaviors.

This was based upon the old model of “owning the platform“: a strategy that had worked brilliantly for Microsoft for many years, helping them dominate one market after another, and for a long while it seemed to work well with browsers as well. Large enterprises built their pages using Active X and ASPX, and while these pages rendered just fine as long as you were inside Microsoft’s walled garden, they were not great long-term investments for these enterprises because the open Web moved onto standards like Javascript and other components of HTML5.

The walls of the garden started crumbling when Firefox came on the scene. At first, Firefox was considered an interesting hobby and Microsoft certainly paid it no attention at all — by around 2005, however, Firefox’s market share was very noticeably growing and Microsoft found that it had effectively dismantled its own browser team, having concluded prematurely that they had already won the browser war. In other words, they hung out the “Mission Accomplished” banner a little too soon.

Mission Accomplished

By the time Firefox started gaining momentum, Microsoft’s IE team was down to a program manager and a couple of developers: in other words, it was the tiniest maintenance team you could imagine. Things did start to change in 2006 when Microsoft belatedly woke up to the Firefox threat, and scrambled to put the band back together again by transferring back all the old IE developers to build IE7. (The old IE team was now all over the place, with a bunch of folks having moved to Xbox which was a particularly hot place to work just then.)

When the newly reconstituted IE team tried to regain momentum in the browser market, they were stuck with Microsoft’s legacy: a large number of enterprises had built up Intranet sites and applications that were increasingly divergent from the emerging HTML5 standards. And so, the next few releases of Internet Explorer (IE7, IE8 and IE9) had to straddle the old, Microsoft-specific world and the new, HTML-5 compliant world.

Internet Explorer 8 never quite made it, but IE9 was definitely better. However, Microsoft still isn’t completely free of the past, as this chart shows:

Internet Explorer Market Share, from The Next Web
Internet Explorer Market Share

There’s still a lot of old IE out there, which is scary when one considers that these old versions are not even getting security patches any more. (The 6.21% of the world that’s running IE6, for example, must be fueling all sorts of botnets!)

Until Microsoft can get free from its own past, “compatibility mode” is likely to stick around.

 

 

An easier way to retrieve deleted projects

We have always had a Trash (or Recycle Bin) at every level of Kerika: anything that you delete goes into a Trash that’s associated with that view, so that if you make mistakes you can easily recover from them.

But, the way to retrieve deleted projects was not very clear: the functionality was there, but it was kind of buried so we are making that easier to find and use:

Projects Trash
Projects Trash

The Trash icon shows you how many deleted projects you can retrieve: this includes all projects that you, or anyone else deleted, where you were a Project Leader or Team Member.

This means that you can retrieve projects that were deleted by mistake by other Team Members!

It’s a pretty neat feature, and it works as you would expect:

Retrieving deleted projects
Retrieving deleted projects

All part of our next release — enjoy!

More ways for Project Leaders to get smart email notifications when changes take place on your projects

We are adding a bunch of new ways in which Project Leaders can choose to get email notifications when there are important changes taking place on their project boards; these include the following:

  • Email me when cards are added to my project: if new cards are added to a board where you are one of the Project Leaders, you can get an email notification. By default, this is turned ON: it’s a useful way for Project Leaders to know when the work expected of the team, particularly in Scrum projects, is increasing. (Team Members never get emailed when new cards are added.)
  • Email me when cards on my projects are marked Done: if any cards are moved to the Done column on a Task Board or Scrum Board, the Project Leaders can get notified by email. By default, this is also turned ON. (And Team Members never get emailed.)
  • Email me chat messages on cards in my projects: this is actually a two-part change that we are making. Previously, everyone who was part of a project got an email if there was any chat on a card. Now, this is more targeted:
    • If a card is assigned to one or more people, chat messages are emailed only to the assigned people. This reduces the overall volume of emails sent by Kerika by targeting only those folks who care the most about a particular card.
    • If a card isn’t assigned to anyone, chat messages are sent to everyone who is part of the team. Here, our assumption is that if you are writing a message about an unassigned card, you would like to get everyone’s attention with that message. For example, you might be suggesting a path forward for an unassigned card, or calling attention to an issue that isn’t assigned to anyone to fix.
    • Project Leaders can choose to be part of the chat notifications for all cards, even if they aren’t assigned to these cards, and this is a new preference setting that we have created with a default value of Off. So, if you are a Project Leader that would like to know about each and every chat message on your project boards, you could turn this preference On.
  • Email me general chat messages: this refers to chat that takes place on the board itself, that isn’t tied to any particular card. Chat that takes place on the board itself is usually intended for the entire team, so this preference setting applies to Project Leaders and Team Members. By default, this is turned On.
  • Email me when cards in my projects are reassigned: when a card is reassigned, i.e. an old team member is taken off a card, or a new person added, everyone affected by the change is notified by email: the people who were formerly assigned the card, and the new people. This is an easy way for you to know when someone expects you to handle some new work, or, conversely, if someone else is now expected to do the work that had previously been assigned to you. We have added a new preference setting for Project Leaders to be told, by email, when cards are reassigned: this is an easy way for you to know that your team has self-organized itself to handle its work differently.

All these changes means that your Preferences page, which is always found at https://kerika.com/preferences, now looks like this:

Your new Kerika preferences page
Your new Kerika preferences page

We have been using these new features internally for the past couple of weeks, and have found them to be really useful!

Card history on project boards in Kerika

The next release of Kerika will include a bunch of bug fixes and usability improvements, as usual, but a big new feature that we hope you will find useful is Card History: every card will contain a succinct history of everything that’s happened to it, since it was created.

Here’s an example:

Card history
Card history

Our implementation of this new feature is actually kind of clever, under the covers (of course!): rather than log every action immediately we wait a little to see if the user changes her mind about the action.

So, for example, if a user moves a card to Done, and then moves it back to another column soon afterwards, the Card History doesn’t show the intermediate action since the user clearly changed her mind about whether that work item was actually done or not. In other words, the system is forgiving of user errors: an important design principle that we have tried to adopt elsewhere as well.

Because the Kerika user interface makes it so easy to make changes to your task board, a built-in delay in the history is necessary to avoid creating a “noisy” or “spammy” history.

From a technical perspective, the most interesting aspect of creating this new feature was that we expanded our infrastructure to include Amazon’s DynamoDB.

DynamoDB is a fast, fully managed NoSQL database service that makes it simple and cost-effective to store and retrieve any amount of data, and serve any level of request traffic. This is our first foray into using NoSQL databases; up to now we had been exclusively using MySQL.

 

The most baffling shortcoming of Apple’s Maps

Of all the many shortcomings of Apple’s Maps program, the one that we find most baffling is that it doesn’t seem to use GPS for its most basic function: looking up an address.

Here’s an example: we make an appointment in our (Apple-made) Calendar program on our (Apple-made) iPhone, that references the local office of one our users.

The original calendar entry

In King County, Washington, every address is based upon a giant coordinate system, so it isn’t really necessary to specify the city of an address. The “NE” in the street name refers to “North East”, not Nebraska, and no one in King County would ever think of looking up a street address by first considering Nebraska as a possibility. And, yet, that’s precisely what Apple’s Maps program suggest: rather than using the GPS that’s built into every Apple iPhone ever made, it assumes that our next appointment is probably 15 states away, rather than 15 minutes away by car:

Apple Maps

Google’s Maps program, on the other hand, is very much GPS-aware, and the suggestions it offers are locations that are closest to where the phone is, not furthest away:

Google Maps

Why on earth (no pun intended) would Apple produce a map program for its phones that doesn’t make use of the phone’s most important feature — it’s ability to know where it is?

Our new version adds Tagging

As Kerika gets adopted by larger teams, working on larger and more complex projects, we have seen an increasing need to create filtered views of projects.

To make this easy, in the usual Kerika style, we are adding Tagging as the main new feature in our next release. This video will give you a quick overview of how tagging works in Kerika:

The concepts behind tagging are simple:

  • Every project board can have its own set of tags, and tags can also be added to templates if you want them to be part of your regular workflow.
  • Every Project Leader and Team Member can add new tags, apply tags, or remove tags.
  • A quick filter capability lets you easily see which items on a board match specific tags.
  • If you are working on a Scrum board, tags are integrated with your Backlogs: bringing a card in from a Backlog will automatically add the tags for that card to your current project board.
  • Tags are always converted to lower-case, and are not case-sensitive: i.e. “Server” becomes “server”. You cannot add duplicate tags to a board, so, for example, you can’t have “Server” and “server” as tags within a board since they are both considered the same.

There are a bunch of other improvements in the new version, of course, but tagging is the one you will see right away! Let us know what you think…

 

How Kerika integrates with your Google Contacts

When you sign up for Kerika, using your Google ID, you get sent to an authorization screen where Google asks whether it is OK for Kerika to access some of your Google-related information. One part of this involves access to your Google Contacts.

We often get queries about this, so we thought we would clarify something that’s really important: we don’t use your Google contacts to spam your friends and coworkers!

The Google Contacts are used for one reason only: to provide an auto-completion of names and email addresses when you are adding people to a project team. Here’s a simple illustration:

Adding people to a project team
Adding people to a project team

To add people to a project team, you would click on the People button, which appears on the top-right corner of the Kerika application, and this would show a display similar to the example above, where all the members of your project team are listed (along with their roles). To add a new person, you would click on the +Member link at the top, and then start typing in a name or email address:

Enter a name or email address
Enter a name or email address

As you type in a name or email address, we pass on this string to Google which tries to match it up with entries in your Google contacts. These entries start showing up immediately, and get filtered progressively as you type in more characters:

Matching names against your Google Contacts
Matching names against your Google Contacts

This matching of names and emails is done by Google, which means Kerika never has direct access to your Google Contacts!

This auto-completion is a handy feature: it eliminates a major source of errors, which is mistyping email addresses. This means that the chances of you inviting the wrong person to your project are much lower!

 

 

Making sure you never miss a project update

In addition to the styling changes we have made, we have also been working to make sure you always have easy access to your project updates, by improving and extending the onscreen notifications you get from Kerika. There are a whole bunch of improvements in our newest version:

  • Kerika reminds you when you are hiding a column on a task board: using the Workflow button, you can always personalize your view of a task board, hiding some columns if they are not of interest. Now, Kerika makes sure you don’t forget that you have some columns hidden, by showing a small indicator above the Workflow button:

    Indicator that you are hiding some columns on your task board
    Indicator that you are hiding some columns on your task board
  • And, if there are updates to cards on columns that you are hiding, these will never get missed:
    Updates on cards that I am not viewing
    Updates on cards that I am not viewing

    Clicking on the Workflow button will show you clearly which hidden columns have updates:

    Updates on hidden cards
    Updates on hidden cards

    In the example above, the “This Sprint” and “In Development” columns are currently hidden from view, and there are updates to cards on the “In Development” column.

  • If you have several projects underway, Kerika makes it easier than ever to know which of them have updates that you haven’t seen. This is done in two places in the user interface: first, your project tabs show orange indicators when there are unread notifications:
    Updates are highlighted on project tabs
    Updates are highlighted on project tabs

    And, when you are browsing your list of projects, you see orange highlights on the project cards as well, to let you know there are unread updates:

    Updates are highlighted on project cards
    Updates are highlighted on project cards
  • And, finally, a new feature makes it easy for you to find updated cards within columns, which is especially useful when you are dealing with a lot of cards, e.g. in a Product Backlog:

    Finding the next updated card in a column
    Finding the next updated card in a column

As with all our product improvements, the Kerika team has been testing the changes extensively by “dogfooding” the software: we use Kerika for all of our work, and we have been very pleased with these improvements which have really improved our own team productivity!