Category Archives: Kerika

Posts about Kerika, the company and its people

Technology strategy: a look back at 2015

A user from Mexico recently wrote to us asking which technologies we currently use for the Kerika software, since he was in the early days of planning his own ERP product and was impressed with the overall speed and responsiveness of Kerika.

The question was hard to answer with a simple email in part because we use several technologies, and because we are in the middle of considering some significant changes for 2016.

So, here’s an overview of the current state, with a future blog post to talk about what we are planning to change in 2016…

Our own server software:

All of our server software is written in Java.ย  That’s has worked well for us:

  • We have a lot of in-house expertise with Java (and none with PHP, Ruby, etc.).
  • Java is usually one of the first languages to be supported by other platform companies that decide to publish their APIs.
  • There is a rich ecosystem of open-source code, well-written blog posts and other knowledge sources that help us get our work done.

Open-source server software:

We use a few, well-established open source technologies on the back-end of Kerika:

  • We use the CometD protocol to provide real-time updates from the server to the browser client. CometD essentially works like a long-poll method, allowing for real-time updates to be pushed continuously from the server to the client without the client having to make new requests.ย  We could, and probably should, switch over entirely to Web Sockets but there are still older browsers out there that don’t support Web Sockets. Hence, CometD.
  • We use SOLR for our search engine. SOLR is an implementation of the Lucene search technology pioneered over a decade ago by Doug Cutting who has since gone on to do other great work in the software industry. SOLR is widely used by some very large SaaS services like Salesforce.
  • We use Jetty for our web servers.ย  Jetty is part of the Apache open-source projects, and is a well-established, robust web server that hasn’t given us any trouble in a long while. ๐Ÿ™‚
  • We use open-source OAuth for our direct signup.
  • We use the Java Spring and JBoss libraries for various features.
  • We use Log4J for error logging.
  • We use MySQL for our databases.

Platform Libraries

Given our close integration with Google and Box, we naturally use their Java SDK Libraries for authentication and file management.

We used to use Google Checkout, until Google yanked that service from the market (leaving us high-and-dry and more than a little pissed off…) as well as Google Contacts, until we realized this particular integration was scaring away potential users.

Client Software

All of our browser software is written in HTML5, which means a mix of (mostly) Javascript and (a little) SVG.

(Actually, the SVG is only used for the Whiteboards feature of Kerika. The rest is all Javascript and plain HTML.)

Open-source client software

The Javascript ecosystem is quite rich and well established, so there are a bunch of open source libraries we can make good use of:

  • JQuery is used a lot. A lot.
  • More recently, Backbone and Marionette have helped fill in the blanks left by JQuery.
  • The i18n.js library helps with internationalization, although we haven’t actually offered any language other than English so far, for the user interface.
  • Log4Javascript helps with error logging and debugging.
  • Bootstrap is used mainly for our website, to make it responsive on tablets and phones.

What changes in 2016?

Quite a lot, probably, but we haven’t finished doing our re-architecture planning.

For one thing, we are planning to use microservices a lot more to make our overall system architecture less monolithic, and we are also planning to use container technology to make deployments faster.

We might consider switching away from SOLR, which we never really mastered, to another search engine which we have more familiarity with, but haven’t made a decision on that either.

 

Getting psyched for 2016!

We have big plans for the next year, and, in fact, have been very busy through the holiday season as well working on our product roadmap.

2016 will involve a major rewrite of our software: first the back-end, to improve scalability and to also use newer technologies like containers that make for easier deployment, and then the front-end, which will make Kerika even easier to use — especially for people new to Kanban and Scrum.

2015 has been a great year for us: our registered users doubled, and so did the number of paying customers.

It has also been a great learning opportunity for us: we met in person or had long telephone conversations with a wide range of users and got an even better understanding of the problems we can address with our software.

What we have heard consistently from folks about why they like Kerika: “it provides really great functionality in a really simple system”.

Our focus on providing a simple, intuitive user interface rather than delivering raw power is winning people over.

As we plan our future roadmap, the key goals we want to achieve are:

  • Make Kerika easier for new users. “Power users” already love us, but we need to make Kerika even more accessible for people who are completely new to visual task management.
  • Avoid religion.ย  Too many of our competitors are dogmatic about how to implement Kanban or Scrum; we will continue to remain pragmatic and let people work the way they want, rather than insist that we know the only true path to project success.
  • Build solutions rather than tools. Some of our competitors focus on building as many buttons, “power-ups” and other bells and whistles. You know, because “if less is more, think how much more more could be…”ย  Our view is different: the smarter the system, the fewer the controls that need to be exposed and manipulated by the user.
  • First class mobile experience. We have not delivered this in the past.ย  To do this, we need to change our back-end and front-end infrastructure very signfiicantly, and we have made that financial commitment. Look for good stuff in 2016.
  • First class support, for all users. We get at least one unsolicited email every week from a user who is surprised by the level of support we provide, even to free or trial users.ย  We need to keep this up. (OK, so this has nothing to do with our product roadmap but we feel strongly about it so we thought we would emphasize this point…)

Thanks to all our users who have helped us grow so far. In a reversal of cards and gifts going from vendors to customers, here’s a lovely calendar and card we just got from one of our happy customers:

Calendar and card
Calendar and card

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!

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.

Kerika is now a Box Pro Partner

We are pleased to announce that our technical collaboration with Box continues, and Kerika has now been named a “Box Pro Partner” reflecting the strong ties we have built between the two companies as we continue to integrate with Box’s cloud services ๐Ÿ™‚

Box Pro Partner
Box Pro Partner