We have completely restyled our website.
Kerika in 70 seconds
A new video that is the shortest summary we have ever made of Kerika:
Kerika in 70 seconds from Arun Kumar on Vimeo.
This is going to feature in our all-new website redesign, which we hope to get in place this week.
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.
Signing up directly with Kerika
Our very first version of Kerika, introduced back in 2011, had just one option for people to sign up: you had to use your Google ID.
In 2014 we added Box as an alternative to Google: you could sign up using your Box ID, or your Google ID.
This gave our users more choices in terms of how they signed up for Kerika, and which cloud service they used to store their project files, but we continued to resist offering a direct sign up mechanism:
We remained convinced that third-party signup and login, using OAuth, would dominate user preferences — under the theory that no one really wanted to remember yet another password for yet another web service.
Our technical architecture also restricted us from offering a direct sign up choice because we had tied together the issues of authentication and file storage: it was how our original integration with Google had been done, and we had simply duplicated that model when we added Kerika+Box.
This changed in 2015, when Box announced the Box Platform as a new service — although originally it was called the “Box Developer Edition” when it was unveiled at the BoxDev conference in April 2015.
Kerika was probably the first task management app to sign up to use the Box Platform; in fact, we were in the very first batch of beta users for the service.
This new integration with Box allowed us to finally offer a direct sign up mechanism for new users:

Now, you can sign up with any email address: it could be a company email, a Yahoo email, a Microsoft Live email… even a Gmail address.
When you sign up directly with Kerika, we use the Box Platform to securely store your project files:
- We create an account at Box that’s dedicated to storing your Kerika files.
- We do this automatically and behind the scenes: you might never know that your files are actually being stored at Box, rather than on a Kerika-operated server.
While this seamless integration is great from a user experience perspective, it doesn’t mean that we want to hide our Box links: in fact, we would actually like to boast about our use of the Box platform because Box is so well regarded for the robustness, security and privacy of their cloud storage service.
So, now you know where your files are stored when you sign up directly as a Kerika user: inside the Box Platform!
Bug, fixed: board descriptions in Internet Explorer 11
We found a bug that was causing problems for users who wanted to edit/update their board descriptions, using Internet Explorer. We fixed that.
In case you are wondering where the board description is found in the first place, here’s how you can edit it:
Click on the gear icon that appears on the top-right corner of every Task Board, Scrum Board or Whiteboard, and then chose the Settings tab:

By default, the board description field will be empty, naturally, but if you are one of the Board Admins (or the Account Owner), when you move your mouse over the Description field you will see a pencil icon appear (highlighted in red, above), and clicking on that will let you add a board description.

Board descriptions can be up to 180 characters long, and as you type the system will automatically let you know how many characters are left for you to type. (Yes, Twitter-style.)
Board descriptions are going to be very useful in the future as we make some changes to our user interface and search functions.
Kerika’s Templates
We offer a small selection of templates, covering a wide range of possible projects, to help our users get started with new boards — and, more importantly, to help introduce the concept of templates to folks.
Some of the templates we have on offer:
- Onboarding New Employees: a template for handling hiring and starting a new employee. (Surprisingly popular!)
- Solution Sales: a template for professional services companies to track their sales opportunities; essentially a CRM for small professional services companies.
- Setting up a business in Washington State: contributed by one of our users.
- Bug tracking: for software teams.
- Implementing an EHR: an example of a complex template, based upon the US Government’s guidelines for implementing an Electronic Health Records system at hospitals.
- Business Model Canvas: for startups.
We experienced some performance issues related to these templates recently which we have fixed: as the total number of Kerika users grew, the number of people wanting to use the same templates grew somewhat faster than we had anticipated, so we needed to make some back-end fixes to make sure there wasn’t a slowdown in performance.
Bugs, fixed: some glitches with the Sign Up page
We found and fixed a couple of minor glitches with our Sign Up and Sign In pages:
- If a user entered a password incorrectly, the error message’s display was a little crummy.
- A step along the the signup flow could inadvertently resend the confirmation email that’s used to complete the sign up process.
Migrating users from Kerika+Google to our own storage
We don’t offer this as a regular service — because it involves some special back-end work that can be a little time-consuming — but we recently helped a bunch of users migrate their accounts over from Kerika+Google to the new version of Kerika that lets you sign up directly with us, and have Kerika store your files instead of linking Kerika to a Box or Google account.
This is the version that you sign up for when you click on the left side of our Sign Up page:

With this option, Kerika stores your files for you using our new integration with the Box Platform.
Migrating away from Kerika+Google to this new platform helps our users save money: they could discontinue their use of premium (paid) Google Apps which they had adopted only to use as a sign-up mechanism for Kerika.
Handling this migration isn’t something we do for everyone, but this is one of our oldest customers. :-)
Bug, fixed: handling non-English characters
This is kind of annoying and embarrassing, but a while back a bug crept back into our code that made non-English characters appear as question marks.
Embarrassing because we have fixed this bug before. More than once.
This time around the bug crept back in while we were taking care of some other feature, and unfortunately it was one of our (Chinese-speaking) users who spotted it before we did.
Our own team is multilingual (3 languages) but we work almost exclusively using English, so this was one of those rare scenarios where we didn’t use a particular feature of Kerika and so developed a blind spot.
Sorry about that. The good news is that the fix is retroactive: any non-English characters that you had previously entered will not appear correctly, without any work on your end.
Google Domains remains a work in progress
Here is a screenshot of how the “Recommended domains” feature of Google Domains works:

Normally we get a little impatient with Google holding on to the “beta” tag on so many products that seem to be finished. In this case, we would urge Google to not rush out of beta.