Bug, fixed: Confirmation emails were not working correctly

Our thanks to Larry Smith from EduTone who initially alerted us to a bug in the process of signing up as a Kerika user: the confirmation email sent by Kerika wasn’t working well, particularly if the user used any browser other than Chrome.

For example, clicking on the confirmation email and having Kerika open that link using Firefox or Chrome produced this kind of behavior:

Safari problem

The problem was related to a recent decision we made to use Polymer for parts of our website.

It turns out that Chrome had a different sequence for loading the Polymer components than other browsers.

In Chrome the sequence is

  1. webcomponent-lite.js
  2. element.vulcanized.html
  3. build.min.js
While in browsers like Firefox the sequence is
  1. webcomponent-lite.js
  2. build.min.js
  3. element.vulcanized.html

Our build.min.js file needed components that were loaded only when element.vulcanized.html was loaded, which meant that the sequence in which these files were loaded by the browser was important, and  different browsers were loading these files in different sequences.

We fixed this bug: Polymer has a method to ensure that all imports are ready before the page is rendered.

This has been part of the learning process for us as we adopt Polymer more for our website redesign (which is underway, and should be unveiled by Christmas), and also consider using Polymer to rebuild the Kerika app itself!

Bug, fixed: sometimes email replies to chat weren’t working

(Thanks to our users in the Washington Professional Educator Standards Board for helping us find this bug.)

We recently discovered a rather quirky bug that was causing some chat, when replied to as emails by the recipient, to not get sent properly.

Here’s what is supposed to happen, and what went wrong:

  • If you are assigned a card, on a Task Board or Scrum Board, you will get email pushed to you whenever any other Team Member (or Board Admin) chats on that card. This helps you stay in the loop on the most important items on a project board: the ones you are currently assigned to do.

    (Board Admins have the option of getting all chat, on all cards on the board that they manage, pushed to them as emails, if they want to really be in the loop with every conversation that is going on in the board.)

  • When chat gets pushed to you as email, it shows up looking just like regular email, and you can reply to it wherever you are dealing with your email: your desktop, laptop or mobile device.
  • When you click on the “Reply” button in your email client, Kerika automatically changes the address for that reply to be the URL that points to the specific card (or canvas) that’s being referenced in the chat.

    Here’s an example of chat email:

    Chat example
    Chat example

    And what clicking on the Reply button does:

    Replying to Chat Email
    Replying to Chat Email

    In the above example, although the chat email came from Cheryl, the reply is being sent to a special address:

  • This email is received by a server that listens only to chat replies. When a chat reply is received by the server, it checks to see who the reply came from.
  • Since only Team Members and Board Admins are allowed to participate in the chat on a particular board, the Kerika chat server tries to make sure the email is coming from someone who is authorized to comment on that particular card or canvas.

    (This helps reduce the possibility of spam email appearing inside your Kerika conversations.)

The problem we found is that some email clients, e.g. the native Mac Mail client, handled the “From:” and “Sender:” fields differently from other email clients like Gmail.

In the case of Gmail, Google places fills in both the From and Sender fields, but in the case of Mac Mail, only the From field is filled in.

For now, a temporary fix is to have the server look for both the From and Sender fields, but longer-term, as part of a server re-architecture that we are planning, this problem will get solved differently that further reduces the possibility of spam.

Timing is everything when you send email

We occasionally email all of our users, when we have released something significant in terms of functionality or usability improvements.

On average, we probably send these emails 2-3 times a year, although we release software updates much more often.

Not every software update is announced in a mass email, although all the improvements and changes are always noted on this blog: unless the changes were big enough to require some additional explanation, we prefer to let users discover the new features on our own.

What we have noticed with the last couple of announcements is that the timing of the email makes a very big difference in terms of how many people actually open and read the emails.

Here are the last two emails we sent:

Timing is everything
Timing is everything


The “Release 62” announcement was actually far more significant, in our opinion, than the more recent “Release 66” version, at least in terms of UI changes and new features.

But, the Release 62 announcement went out mid-day on a Monday, and it was largely ignored as a result: only 9.7% of people opened that email.

The Release 66 announcement, on the other hand, went out on a Saturday afternoon, and had nearly double the open rate.

We think the simple explanation is that there was less competition for our emails on Saturday afternoon: fewer emails from colleagues and fewer crises to attend to.

We had long suspected this to be the case, but never had such clear proof that timing is everything when you send email :-)

Join us at the Lean Transformation Conference

Once again Arun Kumar, Kerika’s founder and CEO, will be speaking at the annual Lean Transformation Conference organized by Results Washington.

This conference is all about Lean and Agile in the public sector: thousands of folks from state, county and local (city) government agencies will be attending, and as usual Kerika will also have a display booth on the 5th floor of the Tacoma Convention Center.

Arun’s topic this year is “Can You See It Now? Visualizing your Lean and Agile Workflows”.

We look forward to seeing our Washington users at the conference; please do stop by our booth or sign up for Arun’s talk!


Google Apps last Friday

It looks like we were on the bleeding edge of Google’s problems last Friday (Oct 9): fairly early in the day, Pacific Time, we started seeing authentication failures from Google related to our Kerika+Google users.

The exceptions shown in the Kerika server logs were clearly pointing to problems on Google’s end:

Google Errors
Google Errors


What was a little frustrating for us — and our beloved users — was that Google itself didn’t seem to be acknowledging any problems until fairly late in the day:

Oct 9 Google Apps status
Oct 9 Google Apps status

By this time — almost noon, Pacific Time — dozens of Kerika users had been affected. We tried to let folks know via Twitter that there was a problem, and continued to monitor the situation through the day:

Google eventually acknowledged the problem as it became clear that it was widespread.

By mid-afternoon, the issue was largely cleared up, at least as far as Kerika was concerned, although it is possible that other apps, which also use Google for authentication or Google Drive for storage, were affected for much longer.

Once again, our apologies for everyone who was affected.

Google Authentication Errors

We are currently seeing a bunch of errors from Google with respect to their authentication service — which lets you login to your Kerika+Google account using your Google ID, and they seem to be affecting a wide range of users.

Here’s a sample of what we are seeing:

Google Errors
Google Errors


This error normally shows up when a user is logging in with a Google for Work ID, e.g. Google Apps for Business or Google Apps for Education.

What’s surprising today is that we have seen at least 1 user with a regular Gmail address have this same problem, which is theoretically impossible.

Right now there’s not much we can do but wait this out. The problem seems to be small enough that Google is not even reporting it on their Google Apps Status Dashboard. :-(

Bug, fixed: Team Members weren’t getting notification emails when they were assigned cards

Our thanks to Tatjana and Steve from Ducks Unlimited in Canada, who helped us track down a bug that was stopping notification emails being sent properly when a Team Member is assigned a card on a Task Board or Scrum Board.

(Board Admins were getting these emails when people’s assignments changed, but not the Team Members themselves.)

We fixed this with our latest release.

When you add an existing Google or Box file, we copy it into your Kerika folders

If you use the “file picker” that’s built into Kerika to add an existing Google Drive or Box file to a card, canvas or board — for a Task Board, Scrum Board or Whiteboard — you will see a message that says the file is being copied.

This is the file picker:

File picker
File picker

Clicking on the File Picker button brings up the File Picker dialog:

Using the Box file picker
Using the Box file picker

And this is the “copying…” message that’s shown.

Copying message
Copying message

So, what’s happening?

Well, Kerika stores all your Kerika-related files in a set of special folders within your Google Drive or Box account, if you are using Kerika+Google or Kerika+Box, and these are organized neatly into folders corresponding to each of your boards.

Here’s what the folders in your Box account look like (you can learn more by reading about how Kerika integrates with Box):

It’s a similar structure if you are using Kerika with Google:

Keeping all the Kerika files together in a set of related folders makes things cleaner for you: when you look at your Google Drive or Box Account, you know exactly what’s being used by Kerika, and what’s other stuff.

And this is why we make a copy of your existing Google Drive or Box file when you use the File Picker: it enables us to put a copy into your Kerika-specific folders, where it is easier to share with the rest of your project team.

Leaving chat, and then returning

When you are writing a chat message, on a card or canvas on any Kerika Task Board, Scrum Board or Whiteboard, what happens if you need to leave that message in the middle and go look at something else in Kerika?

For example, suppose you are in the middle of writing a chat message, but in order to complete it, you need to go off and look at another card’s details, or maybe a file attached somewhere else on the board?

You can leave aside a chat in mid-stream, go somewhere else in Kerika, return to the chat, and pick up where you left off!

That’s because Kerika uses your browser’s local cache storage to keep your unsent message: it means your changes aren’t lost while you go look at something else in Kerika.

This is a handy usability fix we have always had in Kerika, but it may be one that folks didn’t realize existed…

Well, now you know :-)