Google was flaky for 2 hours today!

Between the hours of 9AM and 11AM PST, Google’s authentication service — which we used to sign in users of Kerika+Google — kept having problems that affected people at random.

It was a tough morning for us, dealing with the flood of “504 System Timeout” errors coming back from Google, and feeling helpless that we couldn’t provide the kind of high-quality user experience that is at the core of the Kerika brand.

The problems finally went away by themselves, but a total of 31 Kerika users were affected and we are reaching out to each of them individually to apologize for the inconvenience, and explain what happened.

This is one of those situations where Kerika cannot do anything to fix the problem: if you signed up as a Kerika+Google user, when you try to login to Kerika you are automatically redirected to Google’s authentication service, which then comes back to Kerika to give us your identity information.

Then, we use the identity information to log you into the correct Kerika account.

Normally, all this happens really fast: you click on the Sign In button at Kerika, Kerika redirects your browser to Google, Google responds immediately, and within a couple of seconds you are logged into Kerika.

It all happens so fast and smoothly, 99.999% of the time, that most people are completely unaware that their browser was even redirected to Google in the first place — it’s something you might notice only if you have a very slow WiFi connection, and you are paying close attention to your browser’s status bar.

But every once in a while, Google won’t respond when you get redirected there by Kerika. In that case we retry again several times, and then finally Kerika does a “timeout”: it gives up.

(This problem has happened before, and as software developers ourselves, we are, of course, very sympathetic to other software companies that experience occasional bugs and hiccups, but Google can be irksome in their lack of transparency.)

This happens so infrequently that we didn’t really have any special code in place to tell users why they were not able to login, but that’s going to change starting tomorrow: if Google’s servers are not responding fast enough, we will show a special page to the user explaining what’s happening, so they understand the situation better.

 

Google has been flaky all morning

Between 9AM and 11AM Pacific Standard Time, Google’s authentication service threw up about about 60 errors, which gave many of our users a rough ride.

The problem was that Google’s authentication servers were timing out repeatedly, showing errors like this:

Request URL: https://kerika.com/authcallback/google?code=XXXXXXXX
Request Method: GET
Status Code: 504 Gateway Timeout

There isn’t anything we can do in this situation to help our Kerika+Google users, unfortunately, since Google’s authentication service needs to be up and running in order to log in to Kerika.

The silver lining in this cloud, for now, is that this is a relatively rare occurrence.

More screen space to work with, in the “Max Canvas” mode

Kerika has had a “Max Canvas” mode for a while: if you click on the green square button at the top of a task board, your view of the board would expand to take up the full browser space:

Max Canvas button
Max Canvas button

This was handy when you wanted to work on just one board: your view of that board filled up the available browser space, and you weren’t distracted by the rest of the Kerika “chrome” (i.e. the application’s menus and buttons).

What we found, however, is that most of our users work on several boards at the same time: they have boards that they created for themselves, e.g. personal Kanban Boards, as well as Kanban and Scrum Boards that their colleagues had created.

So, in reality, most people need to achieve several goals simultaneously:

  • They need to be able to have a Max Canvas view that maximized their view of a board.
  • They need to be able to switch quickly from one board to another.
  • They need to know when there are new (unread) updates on boards that they are not currently viewing.

To make all of this possible at the same time, we have improved our Max Canvas view, by adding a button that makes it easy to switch between different boards (including your Home Board):

New Max Canvas view
New Max Canvas view

To the left of the Max Canvas button is a new Tab Switch button: clicking on it shows you a list of all the currently open Kerika boards, and this lets you quickly switch to another board without having to leave the Max Canvas view.

New Max Canvas view
New Max Canvas view

This view is smart: if a board has unread updates, it’s entry shows up in orange, consistent with how we let you know that you have unread updates anywhere in Kerika.

And if a board has overdue cards, it’s entry shows up in red, as with “Sprint 43″ in the example shown above.

The Max Canvas view also has a Search button built into it, so you can do searches without existing the Max Canvas view:

Search in Max Canvas view
Search in Max Canvas view

All of this makes the Max Canvas view of Kerika much more useful than it was before, and it’s all part of our grand strategy to make Kerika more useful on iPads!

A more elegant way of coloring cards

With our newest update to Kerika, we have introduced a more elegant way to show colors on cards.

The old method we employed filled in the top of each card with a selected color (which was white, by default). Here’s an example:

Old style of colors
Old style of colors

There were a couple of design problems with our old approach:

  • It severely limited the palette of colors we could use, to a small handful of light pastels. Anything darker would make it difficult to read the card’s titles.

And, to be blunt, it was excessive: the colors tended to dominate the board’s view, to the point of being distracting.

Our new design is more subtle: it lets you see the colors without calling too much attention to them:

New styling for colored cards
New styling for colored cards

Now, the colors appear in a “dog-eared” style, which gets them out of the way while still making it easy to see if a card is colored.

This new approach will also make it easy for us to add more color choices in the future and, in particular, to add darker and more vibrant shades, since we will no longer have to worry about having sufficient contrast with black text overlaying the colors.

Our newest version: tablet improvements, Google Apps Marketplace upgrade

Our newest update to Kerika serves up a rather long list of changes; the two big areas for improvement were:

  • We have updated our integration with Google Apps Marketplace to use OAuth 2.0, since Google is retiring its OAuth 1.0 implementation.
  • We have made a bunch of improvements for using Kerika on iPads, with the Safari or Chrome browsers.  (We still need to work on Android tablets, which, unfortunately, present too much variety…)

The OAuth 2.0 upgrade and iPad improvements are described in previous posts; here we want to highlight some of the other changes and improvements we made with this new version:

In addition to being less distracting, this new design will enable us to expand the palette of colors we can offer: the old design restricted us to only the lighter pastel colors.

New styling for colored cards
New styling for colored cards

 

  • We have redesigned our “Max Canvas” view so that it provides the most useful display, when you need the most space available to view a large board. In particular, you can now access Search even when you are in the Max Canvas view.We have improved security, by implementing secure cookies.
  • We added some subtle animation effects to improve usability. (So subtle, in fact, that you might not even notice them if you are an existing Kerika user, which is just what we want.)

In terms of infrastructure and other under-the-hood improvements, we have expanded our use of JUnit automated tests and done a bunch of bugs fixes, as usual.

There’s a lot of improvements being done on Kerika, and at a very fast rate. Make sure you subscribe to our blog to keep up!

 

The new OAuth 2.0 integration with Google Apps

With our latest version, we will be using OAuth 2.0 uniformly across all the ways you could sign up for Kerika:

  • As a Google Apps for Business user, e.g. someone who has the premium (paid) version of Google Apps, and signs up at kerika.com or through the Google Apps Marketplace.
  • As a free or premium user of Box, who signs up at kerika.com or through the Box App Store.

Across all these, we are now using OAuth 2.0: the more modern, robust implementation of OAuth which lets you sign into Kerika using a Google or Box ID, without Kerika ever seeing your password!

(Background: while we were using OAuth 2.0 for people who signed up directly at Kerika.com, we had OAuth 1.0 in place for people who signed up through the Google Apps Marketplace, and we needed to make every pathway consistently work with OAuth 2.0 and completely get rid of OAuth 1.0)

This new version will affect all premium users of Google Apps:

With the old (OAuth 1.0) integration with Google, it was possible for individual users who had the premium version of Google Apps to sign up for Kerika.

With the new (OAuth 2.0) integration, the Google Apps Administrator for the domain (i.e. your company) to authorize Kerika for the entire domain.

In other words, if you are a premium user of Google Apps, your Google Apps Admin — typically someone in your IT department — will need to authorize Kerika for your domain before you can use Kerika.

This will affect you even if you are an existing user of Kerika.

The good news is that once your Google Apps Admin authorizes Kerika for your company’s domain, it won’t be necessary for individual users to authorize Kerika any more: it becomes much easier for your colleagues to sign up.

We should probably stop saying “unlimited cards”…

OK, so our website has long stressed the word “unlimited”, and maybe that’s not such a great idea…

Most people have boards with a few dozen cards.

Some folks have boards with a couple of hundred cards.

Very few people have boards with up to 1,000 cards.

It turned out that one of our users had a board with nearly 4,200 cards, of which over 4,000 were in the Trash.

And that’s not good! A board with several thousand cards on it is going to take a long time to load, because each card has many different attributes to it: details, chat, assignments, status, history, etc.

And when someone with a very large board uses Kerika, this can cause very unexpected loads on the servers, particularly in terms of network I/O and CPU utilization.

This is what it looks like when someone suddenly opens a board with thousands of cards on it:

CPU spikes
CPU spikes

We have talked about this before, and now we need to do something about it…

Most of the time, boards get very big because they are very old: stuff piles up in the Done column, or, as in this case, in the Trash column.

Having very large boards can impact performance: unlike, say, email which you may be accustomed to leaving piled up in your Inbox for years on end, Kerika’s cards are “live object”: even when a card is in the Done or Trash columns, it is constantly listening for updates from the server, because it could be moved out of Done or Trash at any time by someone on the team, or have some of it’s attributes changed.

For example, even though a card is “Done” or “Trashed”, it could have its details updated, or new chat added to it.

This is different from email messages, which are essentially “dead objects”: once you get an email and read it, it doesn’t update after that, so it can sit for years in your Inbox without trying to get fresh updates from the mail server.

So, when you have 4,200 cards on a single board, you have that many live objects trying to get updates from the server at the same time, and that’s not good for your browser or our server!

(Imagine your laptop trying to read and display 4,200 emails at the same time, and you will get an idea of the problem…)

Having very large boards is not a good idea from a workflow or process management perspective, and so perhaps Kerika needs to do something about it: we need to think about how we can help our users improve their workflow, while also avoiding these CPU spikes.

A couple of ideas that we are considering:

  • Start warning users when their boards are getting too big.
  • If boards hit some threshold values (which we have yet to figure out, maybe it’s 1,000 cards?) force the user to reconfigure their board so they don’t affect the quality of the service for everyone.

 

Kerika @ PMI Olympia Chapter

Arun Kumar, Kerika’s CEO, and Beth Albertson, Solutions Architect from Washington State’s Department of Social and Health Services will be jointly presenting at the November 18, 2014 dinner meeting of the Project Management Institute’s Olympia Chapter.

The topic will be  Using web-based work management for distributed and agile teams.

If you are interested in project management, and are close to the Olympia, Washington area, please sign up for this dinner event!

PMI
PMI dinner

Kerika @ Washington State Lean Transformation Conference

Come join us at the Washington State Lean Transformation Conference, to be held October 21-22, 2014 at the Greater Tacoma Convention & Trade Center  in downtown Tacoma at 1500 Broadway Tacoma, Washington!

Arun Kumar, Kerika’s CEO, will present a special Breakout Session on One team, many places: creating collaboration networks for distributed workgroups

The vision of Lean Government is about collaborating across offices, across agencies, and even across sectors. In an era of flat or even declining budgets, it’s become essential to get Lean across the state, not just across the room.

The old technologies never really supported distributed Lean and Agile, but that’s all changed now: a new generation of browser-based work management tools makes it fast and easy to build Lean and Agile teams that connect professionals across agencies, and across sectors so that expertise from the private sector, academia, and nonprofits can be leveraged to deliver great results in Washington.

This breakout session will feature a look at some great cross-agency projects and cross-sector projects: initiatives that have succeeded in delivering in a way that was unimaginable only a couple of years ago.

The session will be presented at 12:15PM in Room 318 on October 21, and again at 10AM in Room 318 on October 22.

If you are working in state, county or local city government and are interested in Lean and Agile, be sure to join us: the cost for attending is just one can of food, which will be donated to a food bank :-)