The story of Kerio Workspace – interview with the authors
Last week I sat down with two lead developers on the Kerio Workspace team. We talked about the inspiration behind Kerio Workspace, the technologies used and the future plans. This is an excerpt from our interview.
Where does the idea for Workspace come from?
Martin Viktora: Quite simply, we wanted to improve internal communication and document collaboration in Kerio. A ton of important email attachments were left to die somewhere in email conversations. No one knew who modified what. And at some point we started to look for a solution and as we investigated open-source and commercial options, we discovered two categories of products: Wiki and web-based content management systems, and file management systems like SharePoint and products from the SharePoint ecosystem. We had difficulty making solutions from either category fit our needs. Either they were too technically demanding to get to a level of more than basic usage, or they were too complicated with too many dependencies to deploy companywide.
Jarda Snajdr: Over time, it became clear that there was no product on the market that would allow people to create a web page in a few simple steps, upload some text, image, files, and share this page with others to let them view and edit. Then it was only a small step to dream up a product that could. And we felt that other companies would benefit from something this simple too.
Kerio used SharePoint for a while, why was this solution not usable?
Jarda: SharePoint is a product developed sometime in mid- to late 1990's. It was first launched in early 2001, and at that time was one of the first big web application servers. SharePoint really shows that conceptually it is 15 years old. In my opinion, SharePoint is pretty good for sharing files and is very useful if you want to make a file share available over the web. But the minute you want to build a more sophisticated page with text and pictures and with any kind of layout, you'll soon see how extremely difficult that is.
How old is the idea for Kerio Workspace?
Jarda: The idea itself is about six or seven years old. We had a few ideas back then but we really started with development sometime in 2007. And I'm the product lead for exactly three years now, I started in March 2008.
Which problem does Workspace solve the best?
Jarda: You have a group of people who work on a common project and they need to share several documents, several pages, and track progress over a number of weeks. I've seen projects like this at Kerio and it was pretty clear that something like Workspace would be widely adopted; anyone that could use a social networking site, could create a page, populate it with information and share it with others.
Martin: The biggest value I want our customers to see is increased and improved cooperation within and between their teams. Workspace allows a user to organize documents much more easily and effectively. It will move a lot of communication from email to Workspace where data, information, and relevant feedback are organized in a much more coherent and accessible way.
Which technologies were considered and are now used in Workspace?
Martin: From the very beginning we wanted the product to be a web application. The web interface has become the de facto standard for application GUI development.
Jarda: Our web interface is written in JavaScript. From the very beginning, we have been using the ExtJS library, which was later renamed Sencha. This library was used successfully for other projects at Kerio, so after a pilot implementation we found that it was exactly what we needed. ExtJS is an ideal library to work with.
Martin: On the server side, we wanted to keep the traditional Kerio principle of making the product super easy to deploy, configure, and maintain. This led to our decision to code the product in Java, with a relational SQL database based on the Apache Derby project. It is an embeddable database, and in turn Workspace is self-sufficient; there's nothing else to install for admins. Admins just start adding users, that's all. We are using a combination of Tomcat and Java.
You said the web interface is the primary way for users to interact with Workspace, but there is also a client application, called Kerio Workspace client. Why?
Martin: The client makes it possible to view and edit files stored in Workspace with their respective desktop applications. Without the client, you would have to download a file, save it locally, work on it, and then upload it back to Workspace. That's an unnecessarily complicated path for this kind of operation. That's why we added a very simple client app called Kerio Workspace Client which handles this scenario transparently and makes this whole cycle automatic. In a nutshell, you can view and edit any file for which you have the associated desktop application with a single click.
What's in store for Workspace?
Martin: Workspace will continue to focus on ways to improve communication and remove barriers between teams. One important avenue is the adoption of social media methods, to make it easy for everyone to discover people in the organization, uncover how teams are organized and connected and make it easy to follow the relevant people on a given project or team.
Jarda: In the first version we introduced activity feeds and discussions about content. This is something we are very interested in. We will continue to focus on the integration between a browser and your local files. And you will see further integration of Kerio Connect with Kerio Workspace.