Category Archives: Kerika

Posts about Kerika, the company and its people

How to rate Kerika on the Chrome Web Store

We would love to get your feedback on the Kerika app; one way, of course, would be to contact us directly at support@kerika.com, and an even better way would be if you could post a review of Kerika on the Chrome Web Store.

Here’s a step-by-step guide to posting a review of an app on the Chrome Web Store.  (Of course, it’s going to be useful only if you use the Chrome browser, not if you use Internet Explorer, Safari or Firefox.)

1. Go to the Chrome Web Store

Go directly to https://chrome.google.com/webstore/category/apps, or click on this button at the bottom of your Chrome browser:

Go to Chrome Web Store
Go to Chrome Web Store

2. Search for Kerika

Look for Kerika
Look for Kerika

3. Add Kerika to your Chrome Browser’s Apps

Click to install
Click to install

You will be asked for permission first:

Permission screen
Permission screen

And now you have Kerika installed among your Chrome Web Browser Apps!

You have Kerika
You have Kerika

4. This doesn’t necessarily create a new Kerika account

If you already have a Kerika account, clicking on the Kerika logo in your set of Google Apps will simply log you into your existing account.

(All you did with these three steps above is add Kerika to your list of Chrome Apps.)

5. Now you can rate and review Kerika

Go back to the Chrome Web Store and look for Kerika again.

This time, you will see a “Rate It” button appear:

Click to rate
Click to rate

6. You need a Google+ Profile to rate Apps

When you click on the”Rate It” button, you will be asked to sign into your Google+ account:

Sign in first
Sign in first

7. And now tell us how we are doing :-)

Rating Kerika
Rating Kerika

Click on one of the stars to rate Kerika, but what would be even better is if you could provide a review — even a couple of sentences would be great!

Kerika @ Kerika: How we use our own product

We are often asked how the Kerika team itself uses Kerika, and we freely share this through demos we have done in person for potential customers and at various events. For those who we haven’t met in person, here’s a blog post instead..

1. Kerika runs on Kerika.

Pretty much everything we do, from the smallest, tangential effort to our main product development is done using the Kerika software.

(It shouldn’t surprise you to hear that, given that we are a distributed team ourselves — spread out between Seattle and India.)

2. No email, limited phone calls

In fact, we gave up using internal email back in Dec 2013. (Email sucks, and Kerika is the smarter alternative to spam.)

Because our team is spread out over 10,000 miles, we do occasional phone calls, using Skype or Google Hangouts, to discuss product strategy, but we don’t have daily phone calls as a matter of routine.

We have a phone call only when there is something substantial to discuss, never to catch up on routine status. In other words, all our phone conferences are about interesting topics, like “What do you think about this idea…?” or “I met a customer today who brought up this problem…”; never about “Where are you with Task X?”.

Kerika keeps us in perfect sync across these 10,000 miles on all matters of routine status and project management, so our phone calls are all strategic in nature.

3.  Scrum for Product Development

We work with a 2-week Sprint Cycle for the most part, although we have occasionally deviated from this — never with great results, so sticking to the cycle is usually a good idea!

We capture all of our product ideas and feature requests in one large Scrum Board, which we call, simply, Product Planning.

This board organizes our ideas into various buckets, like Valuable for Enterprises and Valuable for Individuals:

Product Planning buckets
Product Planning buckets

You might notice that the Backlog column is relatively small: only 54 items. That’s because not everything in the other buckets is ready to go into the Backlog, either because a feature isn’t well defined enough, or it isn’t considered important enough to deal with in the short-term.

(We have a lot of ideas that sit and gestate for months, even years!)

It’s also worth noting that the Trash contains 62 items: this means we reject as many ideas as we pursue!

4. A Shared Backlog

As ideas for various features get prioritized — and, more importantly, defined clearly enough to be analyzed in detail by our developers — they get moved to the Backlog.

This backlog is shared by all the individual product development Scrum Boards:

Product Planning process
Product Planning process

(And, by the way, the screenshot above is from a Kerika Whiteboard that we use to map out our product planning process.)

Each Sprint is organized as a separate Scrum Board, pulling items from the common Backlog.

As items get done (or not, as the case may be), the Backlog slowly shrinks over time.

But, as ideas for new features gets firmed up on the Product Planning board, this keeps feeding more stuff into the Backlog. So, the net result is that our Backlog has remained the same size for years: about 50-60 items.

We have been doing this for a while now, and are currently wrapping up Sprint 55, with each Sprint taking at least 2 weeks, and several taking 1 month to complete.

Here’s an example of one of our Scrum Boards:

Scrum Board
Scrum Board

5. Kerika’s Smart Notifications

So, if we are a distributed team that doesn’t use email, and not that much phone either, how do we keep up with what’s happening? The answer is: Kerika’s smart notifications help each of us easily keep track of changes taking place across literally hundreds of cards each day.

Here’s an example:

Smart notifications
Smart notifications

At a glance we can tell that this card has

  • Moved
  • Has a new due date
  • Has new attachments
  • Has new (unread) chat messages
  • And, unfortunately, needs rework :-(

These smart notifications replace dumb email with a much more efficient mechanism for keeping everyone on the same page.

6. The Development Process

If we open up one of these cards, we can get a glimpse of the Kerika development process. Let’s start with the chat thread on this card:

Example of new chat
Example of new chat

This chat shows a typical interaction between a junior developer and a technical lead: after writing the code for a particular feature, the developer has passed it on to the tech lead for code review.

The code review itself is attached to the card, as an attachment:

Adding code review to a card
Adding code review to a card

For each feature we develop, our engineers create a small work plan that outlines their design thinking.

This design/work plan is a critical artifact for good software development: it ensures that people can review the work more easily and effectively, and it also provides a reference for the future — if ever a bug is found in this particular feature, we can go back to the work plan to see where the design flaw may have originated.

The code review is typically very short, and attached (in this case) as a Google Doc:

Example of code review
Example of code review

 

7. Card History

Each card in Kerika keeps track of its own history, which makes it easy for a distributed team to keep track of everything that happened. Frequently, a number of changes may have taken place on a single card during a workday, and someone who is 10,000 miles away is also about 13 hours away in terms of timezones, so the history feature is useful for understanding all the changes that took place when you weren’t looking.

History of the work
History of the work

 

So, that’s a typical card, on a typical board. And, in a typical 2-week Sprint Cycle, our development team handles 175-200 cards!

We love Kerika, not just because we have built it, but because it makes our distributed team so very effective!

How to install Kerika from the Google Apps Marketplace: step-by-step directions

If you have a premium (i.e. paid) version of Google Apps running in your organization, your Google Apps Administrator will need to authorize Kerika for your domain, before anyone within the organization can use Kerika.

Here’s step-by-step directions on how to do this:

1. Go to your Google Apps Admin console.

Go to http://admin.google.com, and log in as the Google Apps Administrator for your domain:

Start at Google Admin console
Start at Google Admin console

 

2. Click on the “Apps” button.

This is where you can manage all your Google Apps, as well as third-party apps like Kerika that integrate with your Google Apps:

Click on the Apps button
Click on the Apps button

 

3. Go to “Marketplace Apps”.

Google separates out its own apps from third-party apps, so you want to click on “Marketplace Apps”:

Go to Google Apps Marketplace
Go to Google Apps Marketplace

 

4. Click on “Add Services”.

All the apps you currently have installed for your domain will show up here (in this example, none have been installed so far); click on the blue “Add services” link:

Add services to your domain
Add services to your domain

 

5.  Search for Kerika.

Search for “Kerika” in the Google Apps Marketplace:

Search for Kerika
Search for Kerika

 

6. Click on “Install App”.

Kerika’s entry will show up in your search results; click on the blue “Install App” button:

Click on Install App
Click on Install App

 

7. Get ready to install

What you see next:

Get ready to install
Get ready to install

 

8. Accept the Terms

Kerika uses your Google Drive to store your project files; you can learn more about how Kerika works with Google:

Click to accept terms
Click to accept terms

 

9. Success!

Success!
Success!

 

10. All done…

All done
All done

 

11. Kerika now shows up in the list of apps for your domain

Looking good
Looking good

 

12. Still having problems?

Make sure you have granted Kerika “data access” to your Google Drive:

Make sure data access has been granted
Make sure data access has been granted

Follow, Unfollow, Re-follow, Don’t Follow

We have a small Twitter following, admittedly, but for the most part it looks very relevant: folks who are (a) real, and (b) actually interested in collaboration, Lean and Agile.

The part about “real” may sound odd, but consider for a moment how many Twitter accounts are actually apps that post stuff automatically, with little or no human intervention in terms of what is read or what is written.

Something peculiar we noticed recently is that we would get notifications from Twitter say that the same person, say User X, was now following us: every 3 days or so, Twitter would tell us that User X is now a new follower of Kerika.

There are a bunch of “User Xs” out there: people who will follow you on Twitter not because they are interested in what you have been posting, but because they want you to follow them back, which increases their “social capital.”

Here’s one of our followers: a total of 26 tweets, yet she has 8,675 followers!

What's wrong with this picture?
What’s wrong with this picture?

Whenever someone follows @kerika, we are happy to take a look at their Twitter feed in return, and see whether it would be worth following them in return: after all, we, too, want Twitter to be a good source of news and views.

But a lot of folks aren’t worth following for a bunch of reasons:

  • They just retweet stuff; they don’t write anything.
  • They are “real people”, but are clearly using software to find material for their Twitter posts, which is the same as saying they don’t write anything.
  • They are “real people” who don’t understand that Twitter isn’t the place to have a bunch of sidebar conversations: their Twitter feed consists mostly of cryptic asides to other users.

So, it kind of boils down to this: if you have original content to share, we would be delighted to follow you. It doesn’t have to be your own blog post; it could be that you are pretty good at finding stuff on the Internet that we might have missed ourselves.

We have found great news and opinion sites that are not very well known, thanks to Twitter, so folks who do actually curate the Web for us are always welcome.

So, what happens when we hear that User X is now following @kerika, take a look at User X’s own Twitter feed, and find it is mostly retweets and random articles?

We don’t follow User X back. User X then “unfollows” us, and retries a few days later to see if we will take the bait the second time.

We have seen some folks try this repeatedly over several weeks. We don’t know whether to find this flattering or just plain weird, and that’s assuming there is a real person doing this and not some app which blindly finds Twitter accounts to follow and then keeps track of which ones follow back.

Let’s keep it real, folks.

Everything is obvious, in retrospect

We have been working on some designs and ideas for a “Dashboard” feature in Kerika for many months now. Actually, a couple of years now.

Along the way we  convinced ourselves many times that we had solved the problem in an ideal way.

At other times, we convinced ourselves that there was no way to solve a particular aspect of the problem, so our obviously ugly solution was the best possible solution.

Looking back on all these iterations, it’s very humbling to think about how easy it is to think something is perfect, until something better comes along — at which point the old thing is suddenly, unbearably ugly.

In other words, the ugliness of each design is obvious, in retrospect.

So everything we are proud of today: we will be ashamed of in a couple of years…

A mysterious grey dot

Here’s one of the weirder bugs we ever fixed: it turns out that there is a tiny grey dot in the middle of every canvas on a Whiteboard.

Grey dot in the middle of the canvas
Grey dot in the middle of the canvas

It’s been there for a while, ever since we introduced some animation to make it easier for people to understand that canvases can be embedded inside cards on Task Boards and Scrum Boards, as well as being used independently on Whiteboards.

But the funny thing is that none of our users, nor anyone on our team, noticed it because too many of us, it seems, eat in front of our computers all too often, so our screens are flecked with little bits of food debris most of the time :-)

One of our team members finally noticed it after assiduously cleaning his computer screen, and that’s how we discovered there was an HTML element there, with a zero size and absolute position at the center of the canvas (to help with the “exploding” animation effect when a canvas is opened).

Although this element has a height and width of zero, it also has a 1 pixel wide solid grey border, which is used in the animation.

And that’s what appeared as the tiny grey dot in the middle of the screen: one pixel of grey border, not any debris from our lunch.

Help! Our designer is becoming a hipster…

We are facing a small crisis over here at Kerika… Our designer has turned hipster.  Apparently he has been drinking hand-crafted beer from a Mason jar while watching the sunset from the rooftop.  It might have something to do with the temperature hitting 61 degrees Fahrenheit today, which pretty much qualifies as mid-summer in Seattle.

Beer from a mason jar
Beer from a mason jar

 

Kerika’s UI will probably change real soon. Expect it to get more hip.

Upgrading our server infrastructure

We had problems occasionally with our servers running reliably, and if you were unlucky you may have noticed this.

Well, it took a very, very long time but we have finally figured out what’s happening.

It turns out that the garbage collection function on the Java Virtual Machine that runs our server software (all on a Linux virtual machine running on Amazon Web Service) was having problems: most of the time the garbage collection runs just fine on an incremental basis, taking up only a fraction of a second of CPU time, and periodically the JVM would do a full garbage collection as well.

The problem we are facing is that sometimes this full garbage collection would fail and immediately restart.

In the worst-case scenario, the garbage collection would start, fail and restart over and over again, until the server basically thrashed.  And each time the full garbage collection ran, it took 5-7 seconds of CPU time (which is a really long time, btw).

We are trying to understand the best long-term solution for this, but in the short-term we can mitigate the problem in a variety of ways, including upgrading our server virtual machines to have more RAM.

One reason it took so long to debug is that we were chasing a red herring: we had noticed network spikes happening frequently, and we wrongly assumed these were correlated to the server’s CPU load spiking, but this turned out to be coincidental rather than causal.

Sorry about all this.

Kerika (not) in China

One of our users, normally resident in Poland, is in China right now on vacation, and found to his disappointment that he couldn’t login to his Kerika+Google account.

Actually, he couldn’t login to his Google Account at all.

This is disappointing to hear, but not entirely surprising: Google has had problems making its services available in China for a long time, and so Kerika+Google becomes collateral damage in this larger conflict…

The only long-term solution would be for Kerika to offer its own signup and file storage mechanism, which is something we have considered in the past but is not high on our priority list right now because we have some other stuff we want to build first that’s going to be simply amazing.

Which is good news or bad news, depending upon whether you are in China right now or not…

We have upgraded our SSL Security

We have upgraded the SSL certificate, used to secure your browser’s connection to kerika.com, from SHA-1 to SHA-2.

Kerika SSL
Kerika SSL

 

(SHA-2 is a cryptographic hashing algorithm developed by the National Institute of Standards and Technology (NIST) to replace SHA-1.)

This puts Kerika ahead of moves that Google and Microsoft will soon take, for the Chrome and Internet Explorer browsers, respectively, that will start showing warning signs when you visit a website that uses the older SHA-1 certificates.

If you are not sure whether your favorite secure site has upgraded to SHA-2, Symantec has a helpful tool you can use:

Kerika SSL check
Kerika SSL check