The Horde open source messaging and groupware project is gearing up for the first major release of its application suite and development environment in years with version 4, which is due to arrive in mid-2010.
Horde has a long history since the first release of the framework over a decade ago. Version 3 first appeared in late 2004 and since then a large ecosystem of applications has flourished around it -- from Web-based PIM to photo management.
Lead developer and release manager Jan Schneider says the version 4 release will be marked with more features and integration options, as well as a fresh approach to the Horde development environment.
Originally slated for release in 2009, Horde 4 is nearing completion and is likely to be available mid-year.
“As always, development could proceed faster, but I'm really proud about the progress that our small team has made with the development of Horde 4,” Schneider said.
Schneider said that re-factoring of the Horde framework and the calendar is “probably 80 per cent complete and the Web mail application is “more or less finished”.
Being an open source project run by individuals with no large company funding behind it, Horde does not publish a roadmap and a lot of development still happens in the developers' free time.
“That makes it difficult to predict release times, like with any other volunteer-driven open source project,” Schneider said.
Some of the more significant changes from Horde 3 to 4 include a requirement for PHP 5.2 or higher, a new Ajax interface and a new test suite.
The project has also switched from CVS to Git for source code management.
Schneider says the complete framework has been modernized, the libraries are further de-coupled, and “old cruft” that the project kept for backward compatibility reasons is being discarded.
“Unit test covering is improved too, and we switch completely from the PEAR test suite to PHPUnit for the testing framework,” he said. “Horde 4 will be a PHP component library, an application framework, and an application stack, all at the same time.”
For users, the main differences will be improved setup and upgrade processes, an Ajax interface for the calendar, and a renewed interface for the complete application stack.
Horde 4 will also be distributed through the PEAR installer and the project’s own PEAR channel server.
Version 3 will continued to be supported with security fixes until Horde 4.1 is released.
The applications themselves are slated for release around the same time as Horde 4. Horde Groupware 2.0 is also scheduled for release with Horde 4.
In a sign of the times, Horde’s social media support will be given a boost with basic Facebook and Twitter integration in what Schneider describes as “a start, not at goal” for social media integration.
Horde 4 will also sport more mobile device features with an ActiveSync server component entering the main development tree in time for the final release.
“This means built-in synchronization with iPhones and Android devices for end users, in addition to our existing SyncML server support,” he said.
“CalDAV support is the final missing piece of the calendar development for Horde 4. We will have both client and server support for CalDAV, this is the very next feature that I will personally work on.”
With the development team settling on PHP 5.2 as a minimum requirement, Schneider says there is still a lot to look forward to when PHP 5.3 becomes more widely adopted.
“PHP 5.3 has a bunch of interesting new major language features that we could use in Horde [but] the experience with adoption rates of new PHP versions at our user base makes it impossible to use the latest PHP version,” he said.
“This is of course a chicken-and-egg problem, because many users don't update PHP until they need it for a certain application.”
Switching from CVS to Git has been a “steep learning curve”, but Schneider said it has yielded a significant productivity boost.
Horde doesn’t use Git as a distributed source management tool, as a central Git repository works best with its infrastructure, project organisation and development style.
“But even without that, it makes the developer's life so much easier -- most of the time,” Schneider said.
With the impending Horde 4 release the project is also working to become more attractive for developers through the modernising of the core framework, decoupling of the libraries, and simplifying the application bootstrapping.
Schneider says this will help developers use individual components of the Horde framework for their own projects, or quickly create new Horde applications from Scratch.
“I think Horde is still one of the best Web-based groupware solutions available feature-wise,” he said. “And now we want to free the interfaces from the dust of the six years since the release of Horde 3 too.”
Documentation, a “weak point” of Horde, is one area earmarked for improvement. Horde’s latest initiative is a call for UI developers and designers to help the project improve the user interfaces for Horde 4.
“Unfortunately we don't have any active designers in the development team at the moment, so most of the interfaces have been created by developers over the time,” Schneider said.
“And there hasn't been a major re-design since the release of Horde 3. Users are used to slick and eye-pleasing interfaces today, and even though we have a very accessible interface, a visual and functional improvement has been increasingly demanded by end-users recently.”
Horde is now looking for interface designers to work with us on the Horde 4 interfaces.
The Horde project is online at: www.horde.org.