English translation of RadioTux interview
Thanks to Gunnar, my interview with RadioTux on LinuxTag has been transcribed and translated to English.
Introduction: Dirk is happy to welcome Jan, and he will talk with
Jan about Horde which is an advanced groupware system.
Dirk: Jan, who are you and what do you do?
Jan: I'm Jan Schneider. I have been a freelance PHP developer for many years now, and my PHP development work got me into Horde. I initially did that alone as the sole consultant for the Horde project but now we have a complete company.
Dirk: So what is Horde?
Jan: Horde is three things. Horde is the project that does open source software with the name "Horde".
The best known part of this software certainly is the "Horde Groupware". This is built with the Horde Application Framework, which you can use to write your own web applications that can then be integrated with modules from the groupware.
The third thing is the Horde framework components which are a collection of independent libraries that can be used to solve many tasks. We currently have about 80 libraries for various topics.
Dirk: You don't have to tell about all of them now.
Jan: (laughs) I won't. Otherwise this interview will be over before I finished.
Dirk: But it would be interesting to know which components are used most widely. Certainly the webmail, the calendar and the address book. That is probably the basis. But what else is there?
Jan: Well, there are two types of components. The 80 modules I mentioned are really libraries. They do not target the end users, but PHP developers.
Then there is another type of components: the applications which you just mentioned. All the parts that are in the groupware. Like the webmail, the address book, the task manager, notes, the calender. You can even extend this by additional modules. There is a large list from which you can choose. A Wiki, a forum application, photo manager, ticket system, a repository viewer for Git/CVS/Subversion... I can't count them all.
Dirk: You are heavily involved in the Horde project. What is your actual position?
Jan: I'm the lead developer of Horde. The project was initially started by Chuck Hagenbuch. He comes from Boston, USA but is now too busy in his day job, and that turned me into the lead developer. I actually work full time for Horde. My colleagues from the Horde LLC and the Horde project are mostly working part time on Horde.
Dirk: Horde LLC means that it is no German company. Where is the company located?
Jan: It is based in Atlanta, USA. Our company is partialy German, partialy US. But there are more US guys and the person doing the business management lives in USA as well. Starting a company is also easier over there. These were the reasons to start the company in the USA.
Dirk: I picked you for this interview as there were quite a number of changes with Horde 4. You released this a few weeks ago. There were two major changes.
The version change from 3 to 4. Which probably means that many applications changed.
But the release mode changed as well, right?
Jan: Yes. In the past we had very long release cycles. We worked for a long time on each release. We basically followed the "It's done when it's done" policy. We released when we were satisfied with the current state. Though many developers know the problem that comes with that: you are never completely satisfied. So you delay further and further for yet another feature you want to get in. It took two years to complete Horde 4 which was just too long.
So we turned over to a half-yearly release cycle now. This means we have regular release dates. What's not finished by then doesn't get in. No feature lists anymore. Just: "what is in, is in, and what is not, is not". What didn't get in is postponed to the next version.
Dirk: But that also means you discuss the feature list every half year and sort the priority list?
Jan: Sure. We just released Horde 4. And last week we started discussing what we want in 4.1. And of course we hope we will decide on a feature list so that we can squeeze it all into 4.1 by October.
Dirk: Do you want more attention with this release cycle? I know there are projects that say a fixed release cycle is the death of a software. I personally don't believe so as I come from the business side and I am an administrator. I see a need for time plans and I see that all the large successful projects seem to have some kind of release plan.
Jan: And people like you are exactly our target audience. Horde is no end-user software for the desktop but a web application. So it has to be installed on the web server by an administrator. We want to deliver to these people a more reliable schedule so that they know when a new release comes out, and what features it will contain so that they can adapt their own deployment according to this release cycle.
Of course a time plan does not only target administrators but also distributions that need to plan their releases. We basically want to get more reliable.
It should also help people and organizations that desire a new feature. When they pay for this development they should know exactly when it can be used in a stable release. This way they don't need to work with git checkouts for two years.
Dirk: How many developers are working on Horde?
Jan: There are six core developers. But of course there are many additional contributors from the community that deliver patches, translations or even applications once in a while.
Dirk: Do these have direct access or do they send patches?
Jan: Usually the latter. But if someone is sending many patches and the code quality is good then people get direct access. The code quality in the Horde project is very high and we want to keep it that way of course.
Dirk: Where did you come from when thinking of Horde 3 and what changed with Horde 4?
Jan: For you as an administrator, the installation changed. All libraries and applications are being installed as PEAR packages via the PEAR installer now. For those that don't know it: The PEAR installer is delivered with the PHP base installation. It allows to install PHP packages via the command line. This helped us to control the dependencies between the modules. For example the calendar needs the base horde application and that one again needs a lot of libraries. It was not easy to deal with those dependencies before which was solved with PEAR now.
And then there were many changes to the GUI. The calendar has an AJAX interface now. We have new smartphone views based on jQuery Mobile which is a JavaScript mobile framework. We have ActiveSync support which means you can natively synchronize your Smartphone contacts, calenders and so on without installing additional software on the phone.
Dirk: I interrupt with a short: "Yippie"
Jan: Yeah, this was the feature that got the most positive emotional feeback. Also here on the LinuxTag. The applications changed a lot too The AJAX webmailer now has nearly all functions of the traditional client. You can encrypt and sign your mails now for examle. There are HTML signatures etc. So there is a lot that changed under the hood.
Dirk: Horde is the only web groupware I know that supports PGP which is a nice and unique feature. And ActiveSync is important as it is being spoken by all devices natively. SyncML which was supported by Horde 3 before required me to buy an extra client for my Android. Which I didn't mind doing because I like Horde but now another layer is being dropped which is good.
Jan: We didn't drop SyncML though. It is still available and you can still synchronize this way. This may be interesting if you want to use Outlook directly. You can then use an Outlook plugin to synchronize it via SyncML. This is interesting for people that like to stick to their fat client. Its not quite like using an Exchange server directly but its a start and can be helpful.
Dirk: SyncML seems to be dying.
Jan: Yeah. I guess it won't exist for a long time. It is kind of sad as it was an open standard, compared to the proprietary ActiveSync standard from Microsoft. It had a lot of initial problems that later versions tried to fix. Nevertheless there were still many compatibility issues, and you often needed an extra client application. There were only a few devices that directly supported it.
Dirk: Symbian had it.
Jan: Yes, Sony Ericson and Nokia as far as I know. But the new smartphones don't have it any longer.
Dirk: Do you synchronize your contacts via ActiveSync now?
Jan: Yes, I do. And the calendar. There is also synchronization for tasks. Though most devices don't have a native task manager. I don't know why.
Dirk: Maybe just a small "stickie" like thing.
Jan: Yes, but without synchronization then. So you need third party applications. You can install some on Android devices. You use those instead of the internal calendar and then synchronization is possible as well.
Dirk: Do you have a third party application in mind?
Jan: TouchDown is such an application.
Dirk: I know that some projects avoid using ActiveSync from Microsoft within the USA because of licensing reasons. How do you handle that? Do you deliver the code world wide?
Jan: We deliver it worldwide. But the licensing restrictions do indeed apply in the USA. So the customer in the US needs to decide whether to activate it or not. We delegate the problem to the administrator who needs to decide if he should use it or not. Or whether he gets a license.
Dirk: I know that some other projects deliver it as a separate component.
Jan: It is installable as a separate module as well. As I mentioned before: the whole framework is split into small components.
Dirk: Speaking of components ... there are two bundles - "webmail" and "groupware" - that combine the main applications necessary for a webmail system. In principle you don't need these and could just install the base horde package. Subsequently you'd select any application you want to have.
Jan: Yes, that is correct. And right now both the "webmail" and "groupware" editions are not yet available for Horde 4 (note: they were not at the time of the interview but are available now). I'm currently working on those. In fact right before this interview. Maybe the first test releases will be available later today or tomorrow.
Dirk: If you install an update from Horde you will usually have to work on the server as you need to pull the configuration from the old installation into the new installation.
Jan: That is something that changes with Horde 4. That is one of the advantages of using the PEAR installer. This one allows to automatically download all newer versions from pear.horde.org. It will then install them into the system. The configuration can be updated in the web frontend after that. You still have to deal with the PEAR tool on the command line but the process has become much more straightforward. The upgrade is much simpler through PEAR. Not only for the Horde users, it also made it easier for us developers to provide new releases.
Dirk: But it is not that easy for people that just have some web space somewhere.
Jan: True, that is difficult at the moment. If you just have some FTP access and no shell then, well, you are discouraged from installing it.
Dirk: Well, I guess in that case the providers often deliver preconfigured packages.
Jan: Exactly. Packages prepared by the provider resulted in the wide distribution of Horde in the first place. It is not only that Horde has been available for 13 years now ...
Dirk: Wow. Thirteen years already?
Jan: Yes, the first webmail release was done in 1998 by Chuck Hagenbuch. It was one of the first web mail clients - if not the first - definitely the first one in PHP - and it was the start of the whole project.
But back to the distribution: Horde is often being offered as a part of prepared web hosting solutions such as Plesk and Cpanel. So many users can have it even on very simple web/domain hosting solutions.
Dirk: Horde is pretty huge. I'm a heavy mail user and I personally used it for two years exclusively because there are many filtering possibilities. This worked well. I have to do some advertising as I really like the Horde solution. But I came back to using a standard mail client as I just had too much mail. Nevertheless I must say that it worked very well.
Jan: I use it exclusively as well. The advantage as a developer is that you see what kind of problems occur during daily use and you can immediately fix them. Or you add missing functionality that you personally miss.
But I would say Horde can handle large amounts of data just fine. As you mentioned there are many filter options. You can filter on the server or in the application. Then there is an extensive search functionality that got many improvements in Horde 4. You can also save such searches in virtual folders that you can call up again later. In addition you can now filter the current view by a quick filtering function. You can for example restrict the view to the unread messages or the flagged ones. I believe it offers all the functionality that are required by mail power users.
Dirk: Sounds great. What will the future bring? Horde 5?
Jan: Short term we want to port the remaining applications for Horde 4. We only did the groupware stuff so far. But there remains the password application, the ticket management etc. In addition we want to provide the "classic" style with AJAX functionality. We also need to provide a better design. The old static HTML looks somewhat aged, and it is a frequent critique that Horde looks antique.
Dirk: Yes, it is important that you choose "dynamic" instead of "traditional" when logging in.
Jan: We now have an "automatic" option that delivers the best view depending on the browser because we have so many different views now. If the browser supports AJAX then AJAX will get delivered. If not, the traditional view will be chosen. If it is a smartphone then smartphone view will be delivered. And the old phones will get a very simple reduced view.
Dirk: One that worked surprisingly well. My wife also used it once in a while.
Jan: And this reduced view was even extended a lot in Horde 4. So your wife should be happy if you upgrade.
Dirk: But what remains to be done? My whishlist - ActiveSync, PGP - has been completed with this release. So you can stop now... (laughs)
Jan: Yeah in some way it feels like this. No - joking aside - there are of course still tasks open but the large issues have been done with Horde 4 now. CalDAV server functionality would be important. We only offer CalDAV client functionality so far.
Dirk: Since a long time, no?
Jan: We supported WebDAV for a long time but not CalDAV. And we need to be a CalDAV server as well.
And one thing that has been mentioned a lot here on LinuxTag is project management. We have the components all there: Ticket system, repository viewer, task management, time tracking. So we just need the wrapper that integrates these into useful project management. That would make a new bundle which is specifically targeted at project management.
The same would apply for a development bundle. Something like trac for which we have all the components right there ...
Dirk: ... don't try me ...
Jan: ... and it would be possible to publish this as another bundle.
Dirk: Great. Horde as the answer to everything.
Jan: Yes, kind of a swiss army knife.
Dirk: Well, I got through my question. Anything you still wanted to mention?
Jan: Yes: Happy birthday! I don't know if your listeners know this but it looks a bit like a childrend birthday party here at the booth. With balloons, garlands and everything.
Dirk: Yes, we turned ten in April and we had a party here on Wednesday. So do you need developers, do you need support?
Jan: Sure, like any other open source project. What we would need primarily is a dedicated designer. An interface designer. Of course not necessarily only dedicated for the Horde project. We already tried to find one several times over the blogs and the web site, but this seems to be difficult. You speak with many projects yourself... I don't know how the experiences are in that area, but it seems to be hard to find designers that also work in the spirit of open source. Like we do. We invest endless man hours into the software. But my impression is that the designers rather get paid.
Dirk: I definitely see a trend to team up with interface designers in open source projects. Especially in the last two years. Many open source and profit a lot from such team work.
Jan: And do they pay these designers or are they lucky enough to find them somewhere, doing it for free?
Dirk: There are of course a few that work for open source projects but they are usually fully booked. I can connect you to some KDE guys that work with such designers. Maybe there are some that want to work for Horde as well.
Jan: It is not like we want to do all this without paying for it. I mentioned in the beginning that we started a company now. We don't want to get rich from this, we like to invest any overhead back into the project. We pay stuff like the equipment on this fair, and we would of course also be willing to pay a designer. We plan to update the design and if we find someone that convinces us we can pay for this. Of course, we do not have unlimited resources, just like most open source projects. There is no venture capital backing us up or something. Just our hard and honest work. (laughs)
Dirk: But you can promise fame.
Jan: Absolutely.
Dirk: Working on open source of course also means pushing your own ego if we are honest. But you do something for others and get something back.
Jan: Of course. Especially on a trade fair like LinuxTag it is great to get some user feedback and once in a while some praise. That helps. (laughs)
Dirk: That is something I can give you!
Jan: Oh, that was no fishing for compliments now.
Dirk: No, no. I already said so before. I'm a user for a long time and I'm happy with Horde.
So you need interface designers or usability experts. That is what you want to work on.
Jan: Yes, that is what has to come next.
Dirk: So - dear listeners - if you feel called upon: Jan is available for questions and answers. You just have to add yourself to one of the Horde mailing lists and you will see Jan's name rather often.
Jan: Yes, as the release manager my name appears more frequently.
Dirk: Thanks a lot Jan! We wish you luck with Horde and your company.
Jan: Thanks to you and good luck with your radio station!