All posts by user

A simpler way to handle invitations and requests

We have built a simpler way to handle invitations and requests in Kerika, part of a continued (indeed, never-ending!) push to improve usability. A quick recap of what invitations and requests are all about:

Invitations

Invitations are the messages you receive when someone wants to add you to a project team. If you have never worked with someone before, you need to accept their invitation to join a project – to establish a working or “buddy” relationship. This simple mechanism reduces the possibility of you getting dragged onto projects that you have no interest in, or getting involved with people you don’t know.

When you are invited to join a project, you get a (regular) email that looks like this example:

Example of an emailed invitation
Example of an emailed invitation

After you have accepted an invitation from someone, it becomes easier for that person to add you to other projects: we call this an “auto-add”, where they can add you to another project without waiting for your to accept yet another invitation. This makes it easy for you to work with the same set of colleagues and friends without having to wait for them to accept one invitation after another. So, if you are “auto-added” to a second project, you get a notification email that looks like this:

Example of an email sent when you are auto-added to a project
Example of an email sent when you are auto-added to a project

Requests

Requests can be made in a couple of different ways:

You might want to upgrade your role on a project, where you are not the Project Leader or Account Owner. For example, you might be a Visitor on a project, with read-only privileges, who wants to become a full-fledged Team Member. In that case you can easily request an upgrade in your role by using the Project Team dialog box, which is found in the upper-right corner of the Kerika application. Here’s an illustration of how that’s done:

Requesting an upgrade in role
Requesting an upgrade in role

In this example, Betty is currently a Team Member on the project, and is requesting an upgrade to Project Leader. This request for an upgrade in role gets sent to whoever is currently a Project Leader, and the email sent looks like this:

Email sent when someone requests an upgrade in role
Email sent when someone requests an upgrade in role

The other type of request is made when a Team Member wants to add someone else to a project team: this will automatically trigger a request sent to the Project Leader, who is asked for approval since it is Project Leaders who ultimately control who gets to be on the project team. The email sent to the Project Leader looks like this:

Email sent when a Team Member wants to add someone to a project team
Email sent when a Team Member wants to add someone to a project team

What’s new: the Inbox

The email aspect of invitations and requests isn’t changing – although we are looking at ways to reduce the odds of these emails getting trapped by spam filters. What is changing is the way you can access invitations and requests from within the Kerika application itself: we have simplified the user interface to look like this:

The total number of invitations and requests you have outstanding
The total number of invitations and requests you have outstanding

The old envelope icon is being replaced with an orange square that contains the total number of outstanding (pending) invitations and requests you have: in the example above, this is 6.

Clicking on the orange square will bring up a compact display of all your pending invitations and requests organized into an “Inbox” and a “Sent” list:

Example of Inbox
Example of Inbox

In the example above, there are 4 items pending in the Inbox; from top-to-bottom, they are:

  • Betty has “auto-added” Arun to the Marketing Review project; Arun’s gotten a notification to that effect. He can open this project by clicking on the Open Project button, which will remove this item from his Inbox.
  • Betty has a request to invite Sean to the Build a website project. Since Betty is only a Team Member, her invitation has triggered an request for the Project Leader (Arun, in this case) to approve her invitation. If Arun approves Betty’s request, her invitation to Sean will get sent automatically by the system.
  • Betty wants to upgrade her role in the Build a website project from Team Member to Project Leader; this request has gone to Arun who is one of the current Project Leaders. (Maybe Betty wants to be able to add people more easily to this project, without having to wait for Arun’s approval…)
  • Susan has invited Arun to join the Getting Started project as a Team Member.

What’s new: the Sentbox

Clicking on the Sent link would bring up a list of all of Arun’s pending invitations and requests:

Example of Sentbox
Example of Sentbox

In the example above, this includes:

  • A request made to Betty to upgrade Arun’s role in the Getting Started project from Team Member to Project Leader.
  • An invitation to rika@kerika to join the Release 29 project.

The great thing about the Sentbox is that it lets you pull back (i.e. cancel) an invitation or request that you may have made in error, or where you have subsequently changed your mind.

For example, you may have typed in someone’s email address incorrectly when you were adding them to your project – although Kerika’s seamless integration with Google Contacts makes that less likely! – and you would naturally want to cancel that invitation (quickly) before it gets accepted by the wrong person.

To learn more about people and roles in Kerika’s project teams, check out this video:

Our Independence Day release

Amidst all the fireworks of Independence Day (here in the U.S.), we released a new version of Kerika with a bunch of new functionality:

And… over one hundred minor usability tweaks and bug fixes!

Use Google Drive for sharing files, without having to use Google Docs

From the very beginning Kerika has been built to leverage the Google Apps platform, and today we are one of the most elegant apps in the Google Apps Marketplace! The Google Apps integration, however, has been something of a double-edged sword: folks who are already committed to using Google Docs and Google Drive love Kerika, but there are also folks who like Google Drive but not Google Docs, and these folks haven’t been too happy to lose the advanced formatting and other “power-user” features of Microsoft Office.

This has been particularly true for some of our consulting users who make extensive use of Word, Excel and PowerPoint in dealing with RFPs and client reports.

The fact that we have always converted files to the Google Docs format is really more a historical artifact than an integral part of the Kerika design and product vision, so now we are offering users the choice of using Google Docs or not, while retaining our integration with Google Drive. Here’s how it works:

  • There will be a new user preference that lets you decide whether you want to use Google Docs or not. By default, this will be OFF, which means that you will not be using Google Docs.
  • If the preference is OFF, then files that you add to your Kerika project boards — onto individual cards or canvases — will still be shared using your Google Drive, but the original Microsoft Office format will be preserved. This means, for example, Excel files will remain as Excel files even as they are getting shared across your project team using Google Drive.

This setting is on a per-user basis: it means that you are controlling whether projects in your own account are going to use Google Docs or not. Other Kerika users may have different preference settings, so on some projects you may find that the files have been converted to Google Docs because that account’s owner prefers that way of sharing files.

This is what the new user preference looks like: it can be found at https://kerika.com/preferences

Your new Kerika preferences page
Your new Kerika preferences page

More ways for Project Leaders to get smart email notifications when changes take place on your projects

We are adding a bunch of new ways in which Project Leaders can choose to get email notifications when there are important changes taking place on their project boards; these include the following:

  • Email me when cards are added to my project: if new cards are added to a board where you are one of the Project Leaders, you can get an email notification. By default, this is turned ON: it’s a useful way for Project Leaders to know when the work expected of the team, particularly in Scrum projects, is increasing. (Team Members never get emailed when new cards are added.)
  • Email me when cards on my projects are marked Done: if any cards are moved to the Done column on a Task Board or Scrum Board, the Project Leaders can get notified by email. By default, this is also turned ON. (And Team Members never get emailed.)
  • Email me chat messages on cards in my projects: this is actually a two-part change that we are making. Previously, everyone who was part of a project got an email if there was any chat on a card. Now, this is more targeted:
    • If a card is assigned to one or more people, chat messages are emailed only to the assigned people. This reduces the overall volume of emails sent by Kerika by targeting only those folks who care the most about a particular card.
    • If a card isn’t assigned to anyone, chat messages are sent to everyone who is part of the team. Here, our assumption is that if you are writing a message about an unassigned card, you would like to get everyone’s attention with that message. For example, you might be suggesting a path forward for an unassigned card, or calling attention to an issue that isn’t assigned to anyone to fix.
    • Project Leaders can choose to be part of the chat notifications for all cards, even if they aren’t assigned to these cards, and this is a new preference setting that we have created with a default value of Off. So, if you are a Project Leader that would like to know about each and every chat message on your project boards, you could turn this preference On.
  • Email me general chat messages: this refers to chat that takes place on the board itself, that isn’t tied to any particular card. Chat that takes place on the board itself is usually intended for the entire team, so this preference setting applies to Project Leaders and Team Members. By default, this is turned On.
  • Email me when cards in my projects are reassigned: when a card is reassigned, i.e. an old team member is taken off a card, or a new person added, everyone affected by the change is notified by email: the people who were formerly assigned the card, and the new people. This is an easy way for you to know when someone expects you to handle some new work, or, conversely, if someone else is now expected to do the work that had previously been assigned to you. We have added a new preference setting for Project Leaders to be told, by email, when cards are reassigned: this is an easy way for you to know that your team has self-organized itself to handle its work differently.

All these changes means that your Preferences page, which is always found at https://kerika.com/preferences, now looks like this:

Your new Kerika preferences page
Your new Kerika preferences page

We have been using these new features internally for the past couple of weeks, and have found them to be really useful!

More ways for Project Leaders to get smart email notifications when changes take place on your projects

We are adding a bunch of new ways in which Project Leaders can choose to get email notifications when there are important changes taking place on their project boards; these include the following:

  • Email me when cards are added to my project: if new cards are added to a board where you are one of the Project Leaders, you can get an email notification. By default, this is turned ON: it’s a useful way for Project Leaders to know when the work expected of the team, particularly in Scrum projects, is increasing. (Team Members never get emailed when new cards are added.)
  • Email me when cards on my projects are marked Done: if any cards are moved to the Done column on a Task Board or Scrum Board, the Project Leaders can get notified by email. By default, this is also turned ON. (And Team Members never get emailed.)
  • Email me chat messages on cards in my projects: this is actually a two-part change that we are making. Previously, everyone who was part of a project got an email if there was any chat on a card. Now, this is more targeted:
    • If a card is assigned to one or more people, chat messages are emailed only to the assigned people. This reduces the overall volume of emails sent by Kerika by targeting only those folks who care the most about a particular card.
    • If a card isn’t assigned to anyone, chat messages are sent to everyone who is part of the team. Here, our assumption is that if you are writing a message about an unassigned card, you would like to get everyone’s attention with that message. For example, you might be suggesting a path forward for an unassigned card, or calling attention to an issue that isn’t assigned to anyone to fix.
    • Project Leaders can choose to be part of the chat notifications for all cards, even if they aren’t assigned to these cards, and this is a new preference setting that we have created with a default value of Off. So, if you are a Project Leader that would like to know about each and every chat message on your project boards, you could turn this preference On.
  • Email me general chat messages: this refers to chat that takes place on the board itself, that isn’t tied to any particular card. Chat that takes place on the board itself is usually intended for the entire team, so this preference setting applies to Project Leaders and Team Members. By default, this is turned On.
  • Email me when cards in my projects are reassigned: when a card is reassigned, i.e. an old team member is taken off a card, or a new person added, everyone affected by the change is notified by email: the people who were formerly assigned the card, and the new people. This is an easy way for you to know when someone expects you to handle some new work, or, conversely, if someone else is now expected to do the work that had previously been assigned to you. We have added a new preference setting for Project Leaders to be told, by email, when cards are reassigned: this is an easy way for you to know that your team has self-organized itself to handle its work differently.

All these changes means that your Preferences page, which is always found at https://kerika.com/preferences, now looks like this:

Your new Kerika preferences page
Your new Kerika preferences page

We have been using these new features internally for the past couple of weeks, and have found them to be really useful!

Card history on project boards in Kerika

The next release of Kerika will include a bunch of bug fixes and usability improvements, as usual, but a big new feature that we hope you will find useful is Card History: every card will contain a succinct history of everything that’s happened to it, since it was created.

Here’s an example:

Card history
Card history

Our implementation of this new feature is actually kind of clever, under the covers (of course!): rather than log every action immediately we wait a little to see if the user changes her mind about the action.

So, for example, if a user moves a card to Done, and then moves it back to another column soon afterwards, the Card History doesn’t show the intermediate action since the user clearly changed her mind about whether that work item was actually done or not. In other words, the system is forgiving of user errors: an important design principle that we have tried to adopt elsewhere as well.

Because the Kerika user interface makes it so easy to make changes to your task board, a built-in delay in the history is necessary to avoid creating a “noisy” or “spammy” history.

From a technical perspective, the most interesting aspect of creating this new feature was that we expanded our infrastructure to include Amazon’s DynamoDB.

DynamoDB is a fast, fully managed NoSQL database service that makes it simple and cost-effective to store and retrieve any amount of data, and serve any level of request traffic. This is our first foray into using NoSQL databases; up to now we had been exclusively using MySQL.

 

Shock, horror: Harvard divests 0.03% of its equity portfolio; Apple must be going out of business?

It isn’t hard to see example of “Apple-bashing” in the press these days: just take a look at Bloomberg’s website where the top headline in its Personal Finance section, for the past three days running, is entitled “Harvard Liquidates Apple Stake After IPhone Sales Lose Steam”.

If you read past the headline, the second paragraph lays it all out in devastating detail: Harvard has sold a grand total of $304,000 in Apple shares (about 571 shares at a price of $573), which represents 0.03% of its equity portfolio (and about 0.1% of its total endowment).

 

Our new version adds Tagging

As Kerika gets adopted by larger teams, working on larger and more complex projects, we have seen an increasing need to create filtered views of projects.

To make this easy, in the usual Kerika style, we are adding Tagging as the main new feature in our next release. This video will give you a quick overview of how tagging works in Kerika:

The concepts behind tagging are simple:

  • Every project board can have its own set of tags, and tags can also be added to templates if you want them to be part of your regular workflow.
  • Every Project Leader and Team Member can add new tags, apply tags, or remove tags.
  • A quick filter capability lets you easily see which items on a board match specific tags.
  • If you are working on a Scrum board, tags are integrated with your Backlogs: bringing a card in from a Backlog will automatically add the tags for that card to your current project board.
  • Tags are always converted to lower-case, and are not case-sensitive: i.e. “Server” becomes “server”. You cannot add duplicate tags to a board, so, for example, you can’t have “Server” and “server” as tags within a board since they are both considered the same.

There are a bunch of other improvements in the new version, of course, but tagging is the one you will see right away! Let us know what you think…

 

Facebook Home on Android: a great way to monetize the addicts

In many industries, a small proportion of the users will consume a disproportionate amount of the product, and will provide the vast bulk of a company’s profit.

This is true in the beer business for example: the beer companies have long known that a small percentage of their customers will drink a vast amount of beer every day. (This factoid used to be a staple of marketing classes in the 1980s, when it was offered as an example of the 80:20 rule — 20% of the consumers will drink 80% of the beer. Which actually amounts to about a case of beer a day…)

It is also true for Software-as-a-Service (SaaS) businesses: Forbes reported in 2011, for example, that just 4% of Dropbox’s users pay for the service, and yet Dropbox is a growing, profitable company! The other 96% contribute indirectly, by adding to the network effect and recruiting others who have a 4% probability of becoming a paid-up subscriber of Dropbox.

These percentages can seem small, but they can quickly add up when you have millions of users.

Facebook has a similar profile of users: a small number of people are logged in obsessively, and these will provide the bulk of their advertising revenues — not just because they are more like to see the advertisements, but because they are more likely to view Facebook as a trusted source of useful content.

In this context, creating Facebook Home on Android makes a lot of sense: it doesn’t matter whether a very large proportion of your user base never uses it, if you can get the addicted segment to be logged in all the time. These people will drink all the beer you are selling.