The New eZ Platform User Interface is on its Way

If you follow eZ, you know that we are working on our next generation of products (as announced here and here) that will so be released right after version 5.4. This release will include a brand new User Interface and many other perks. This new User Interface was presented at our recent eZ Days conference in June in Oslo.

Where we are and what it means for you

So, if you really keep up with eZ news, you might have noticed that we made the new, still under-development, User Interface available to the public this week, as Damien Pobel our lead engineer, reported in a blog post this week: The future eZ Publish Platform UI is "here"!. We must say we are quite happy with the results.

Don’t be mistaken,  the release is not to announce the availability of the User Interface. It is not yet in a usable state and it is still under development. However, it will definitely give you a feel of what will be included in the final release and what will be the User Experience (UX) like. We currently are still on the same product plan as previously discussed, targeting a stable release after eZ Publish Platform 5.4, as soon as we reach the minimum scope and quality level (the Pollux release on the roadmap calendar below). We also plan to ship alpha and beta versions earlier in the release process. So if you are not a developer, project manager, architect or simply not tech savvy, it might be best to wait a bit before giving it a try.

At our latest conference in Oslo, we had the opportunity to provide an introduction and demo of the project and received very positive feedback. The project has indeed made enough progress to have developers in our community take a look and contribute, even at this very early stage. Before you jump in, here are a few things you want to know about the new generation:

A new way to build Web applications

When we released eZ Publish 3 more than ten years ago, the Administration Interface of eZ Publish was developed as a website using the eZ Publish framework. It was actually a good illustration of what could be done with eZ Publish. This approach lived for more than 10 years! Today in 2014, web technology has made it to a new era where websites and web applications are no longer developed the same way.

On the client side, javascript and other related technology have totally disrupted the way to develop web applications, moving the application logic to the client side and relying more and more on distributed REST APIs. The new architecture of eZ Platform totally embraces this move, with a strong effort on APIs and the use of JS client-side code for the application.

Of course, websites can still be done in the traditional way with simple server side templating and building dynamic pages, this is still possible with the eZ Publish Platform and it’s still very efficient! However, this is relevant for content-driven website but not so much for rich applications. Interaction-heavy and more complex interfaces are better build as modern web applications. One of the options is to rely on REST APIs and to use a JS application framework. We adopted this approach for the new eZ user interface, for all the editorial part. As Damien explains in his blogpost, the application is developed using the YUI JS application framework and the eZ JS Rest API library. This is quite new and we want developers in our community to have time to get used to it.

Much stronger User Experience (UX) expectations

Not only does the new generation come with a new software architecture inside, it is more importantly built with a much stronger emphasis on the User Experience on the outside -- one of the main driver for the whole project. We reached for a new level of expectations in the interface, that is in no way comparable to what we developed before. A lot of attention is given to the global concept and UX design. An equally important attention is given to the very small details. For instance, we intend to deliver top notch usability for each and every field type editable in the default installation, making the creation and edition of any content as smooth and comfortable as as possible (to be honest, we can’t say this was the case for previous generations).

Building strong UX requires a lot of feedback and user testing. We already started this on small private panels, now as we go forward with the development, it will be very important to have as much feedback as we can, hence the importance of opening this core part of the user interface to the content repository.

But still the very same fundamental requirements for extensibility and customization

If both the architecture and UX requirements are new, something must stay the same right? One very important thing about eZ Publish is its ability to be properly (and sustainably) customized and extended. It has been probably one of the biggest strengths of eZ. Developers have been customizing and extending eZ Administration Interface in many ways to fit the special needs of many projects and make them happy with very customized solutions fitting those needs. It surely is one of the thing that makes eZ different than many other solutions on the market. This part is here to stay!

What this means is that despite the new architecture as explained above, the application will be fully customizable and extensible. We already planned to make it extensible, making it possible to use either client-side JS code or server-side more traditional PHP and Symfony code. It will in any case be done in a different way than it used to be with eZ Publish 3, 4 and 5.x. This is another key reason for us to open and share how we build this new application: to have developers look at it, understand the changes and understand how they will be able to use and leverage this new software architecture to extend and customize eZ Platform in the future.

So if you’re still with me and interested in the project, please go check-out the future of eZ UI. You will be able to get a sneak peak of the future eZ interface at the same time as understanding the technical side of it. Please don't hesitate to comment or contribute. Here is Damien’s blog post and the small screen capture below

If I lost you somewhere, you are excused, soon it will be time for alpha and beta versions more targeted toward end-users and this might be more appropriate for you. Be sure to stay tuned.

Happy exploration,

Roland Benedetti