Article
Interview - Bard Farstad of eZ systems
SP: Who works at eZ Systems and what do they do? How would you describe ezSystems as a workplace?
There's now a total of 20 people working at eZ systems. The team consists mostly of developers from all over the world. We have people from Norway, the Ukraine, China and Germany.
eZ systems is, of course, a fun place to work, but at the same time it's challenging. Our staff works with people from all over the world, on a range of different projects.
SP: As a Norwegian company developing Web applications with PHP, do you have any involvement with other Norwegian parties in the same line of work -- such as the guys at fast.no or Stig Sæther Bakken, member of the PHP group?
We've had no contact with Stig, but Fast is a customer of eZ systems. They created their intranet using eZ publish, and are working on some other eZ publish projects as well. We have a lot of contact with different companies in Norway and other countries -- many companies use eZ publish to build their intranets. We often have the initial contact with companies because they've set up their intranet using eZ publish.
SP: Despite the dotcom crash, eZ systems seems to have gone from strength to strength. What do you see as the future for eZ systems as a business, and how do you regard the Internet these days, in terms of how it presents opportunities to companies like eZ systems?
The future is full of opportunities and we have many plans. Our first and nearest goal is to release eZ publish 3, which will be a huge improvement on the current application. With this release, enterprise sites that require features like versioning and workflow functionality with find eZ publish has what they need.
SP: How do you prefer to work when developing? Long hours broken up by long breaks, steady daily progress, or otherwise? Can you offer any tips to PHP developers with that feeling "24 hours a day just isn't enough"?
I prefer working intensely, and when the work is interesting I don't think of it as work. At the same time it's important to have breaks and get physical exercise. For the past three years I think I've had about two weeks' vacation, so obviously I have the same problem as other developers with time. The best thing to do to help yourself is build a team of developers; you can't do everything single-handed.
SP: What are your favorite development tools (e.g. text editors, project management, source code maintenance)? What operating system do you use most and why?
My editor is emacs, which, of course, is also used for project management. For the code we now use svn, subversion. We mostly use Linux because it has everything we need and that's what we started out with.
SP: When you're not at work, how do you like to spend your time?
I like to spend time with my friends. I also play the guitar in a band -- we made a cd once (so people who want some mp3's can send me an email). Most of the time I actually spend with my girlfriend, Rikke. But on the weekends I don't say no to a party.
eZ Publish
SP: Although eZ publish is described as a content management system in the product literature, how do you prefer to think of it; as a CMS or an Application Development Framework?
I like to think of it as a toolkit. Aside from design changes, you normally need to do some work with it before you can launch a site, such as building custom modules. With eZ publish 3 we've made this much more clear; we have a code library of general PHP classes such as an XML parser, template engine and SOAP library. We also have a kernel that provides the basic functionality for your site, including publishing, versioning, image handling, and workflows. But the basic idea with eZ publish is to separate content from design, so in that respect it's also a content management system.
SP:Given that Web application development is still a fairly young discipline, what factors influenced you when you designed ezPublish? Were there any existing applications or design methodologies that inspired you?
All our development starts with writing a requirements specification, where we decide what the application should do. We have of course had a look at many other programs for inspiration, but don't try to copy any functionality. With eZ publish 3 we've spent most of the development time refining the design to create the most flexible system, within the timeframe we had available. We use design patterns when we design the applications.
SP: One of the biggest problems eZ publish seems to have had is that it's difficult to install. Is this something you think can be improved in future, or is it a problem inherent in large, complicated applications like this?
It will definitely be improved upon in eZ publish 3. The problems have mostly occurred when people want to run it on shared hosting servers, as this was not the target hosting environment for the current version of eZ publish -- it has caused a lot of trouble for some users. In eZ publish 3 we've made this much smoother. Also, image conversion is now achieved through a plugin system, like most of the other functionality, so the user will be able to choose the settings that fit their specific purpose.
SP: In SitePoint's eZ publish article series, eZ publish's use of templates comes under some fire. What was your reason for using templates to deliver the eZ publish user interface? Why not utilize some kind of visual component library like Java's AWT (Abstract Window Toolkit), or an XML alternative using XSLT? Is this something we are likely to see change in future?
We based eZ publish on a third party template engine, which seemed like a good idea at the time. Now we've developed our own powerful object oriented template engine, which is very much integrated into eZ publish. This template engine is one of the huge improvements you'll see in the next version of the product. XSLT will probably be used as an export plugin, but it won't be used as the main template engine.