Category Archives: Uncategorized

Customization-as-a-Service with Nuxeo Studio 2.0

Last week we launched Nuxeo Studio 2.0, a new version of our online customization service for the Nuxeo Enterprise Platform. Working on this release side by side with the rest of team here at Nuxeo, I have been really impressed by what we achieved. Studio is an important piece in our overall product strategy—what we fondly refer to as Customization-as-a-Service. And, we’re not talking about a distant future, today, there are already approximately 150 applications powered by Nuxeo Studio!

When it comes to developing content applications, we believe that most cases have specific needs and ask for a high level of flexibility and extensibility, hence our decision to build a strong and sophisticated platform: Nuxeo EP. While we develop this platform, we also focus heavily on building tools that make it easy for application builders to develop solutions on top of it. Enabling developers to simply and efficiently build applications is critical to fulfilling our mission of allowing our customers to better manage their content. It’s not enough to have a sophisticated platform—the tools used to build on top of it must be effective, powerful, and intuitive.

The opportunity to provide customization and configuration in the cloud, “as a service”, as well as applying this strategy to development and deployment environments, as a whole, opens up tremendous possibilities for our customers and developers alike. It’s exciting to know that we’re just scratching the surface of Studio’s capabilities!

First of all, it means you can start developing quicker and you can stay focused on your development. No software to install on your systems, no environment to build, you get rid of all the usual tasks that often curb your projects in their initial phase and require too much maintenance.

It also means you can simplify the deployment of the work that you do such as using the automated update from Studio on your Nuxeo application in different runtime environments (typically: development, QA or production) without any hassles!

A very simple example is deploying document types. I’ve been working with many CMS, some of which are not really flexible or offered poor capabilities when it comes to define your own content types. Others, like Nuxeo EP, are much better and allow you to define in just a few clicks your own content models to suit your needs.  This is a great asset, but unfortunately, if you don’t have a simple way to manage deployment of the document types you define, it can easily turn into a burden for people in charge of the run, constantly struggling when it comes time to deploy on new environments, upgrade their platform, or realign their configurations. These are some of the problems that Studio can solve.

But the biggest value in my opinion, is that it helps you handle the upgradeability of your platform! Studio automatically handles upgrades of your work (or should we say remove the need for upgrades) and ensures you won’t have to spend hours on your custom code or configuration when you want to benefit from a new version of Nuxeo EP. Your plugins developed with Studio will naturally run on the new version without any effort on your side. And, of course, being delivered as a Service, upgrades of Studio itself are transparent to you …

So, to sum up, my views on the key assets of studio when it comes to Customization as a Service:

  • developing faster and expending less effort to control your work environment
  • deploying easily on your various platforms
  • ensuring upgradeability of your work!

Of course Nuxeo Studio is much more. It’s a full environment which abstracts the complexity of coding and provides a visual way to build applications—but I won’t go into details here, it’s better to have a look at the online resources that I summarize below.

On the technical side, as it is delivered as a service, its user interface requires that it run in a browser. Making large web based applications using a lot of Ajax in such an industrialized way is not an easy task. That said, we decided to go for the Google Web Toolkit technology (GWT) plugged into Nuxeo Enterprise Platform on the back end.

Studio is approximately 100,000 lines of java code and GWT helped us in that respect, providing rich user interface snippets, a relatively painless learning curve, and development tools that integrate with Eclipse (the google eclipse plugin) which help reduce the time for coding and testing cycles.

We’re constantly enhancing Studio with many innovative features, providing more customization capabilities, and will continue offering it as a service! We’ve got a lot brewing and we’re looking at an integration with Eclipse for better integration with the tools used for Java development when this is requested. We’re also planning a bunch of improvements in the fields of deployment and usability in general. As ever, we would love to hear your feedback and ideas.

A few pointers if you want to know more:

A a 3-minute introduction to Nuxeo Studio:

How to make an application based on Nuxeo open source document management system in 7 minutes with Nuxeo Studio:

See how to configure your Nuxeo application in less than 15 minutes using Nuxeo Studio to deploy your customizations thanks to the Admin Center!:

Bye bye eZ, welcome Nuxeo !

Last day of november was also my last day working as an eZ Systems employee.

I have decided to go  another way, mostly based on my personal wishes to look at new challenges and also get closer to my many friends in north america. My position as product manager of eZ was not compatible with both of those wishes and I decided to jump in a new fresh position at a new company.

From today I will work for Nuxeo, in a very similar role as what I used to do at eZ, entitled v.p. Product, but in a context that is significantly different. My focus will be to drive and develop the adoption of Nuxeo’s products on the market and to coordinate and support Nuxeo’s product development and marketing efforts to help making them as succesfull as they can be !

Nuxeo is a very promising and interesting company developing a cutting edge ECM software platform (providing Open Source Document Management solutions, but also Digital Asset Management solutions, Case Management solutions and others), thanks to the vision of Nuxeo’s architects and founders when they designed and developed further the platform. Relying on the Java stack was certainly a good pick from a high level point of view (no offense to the LAMP stack that I also love but that I see as a better match for WCM software / Front End applications). More than that, it is on the low level that they have been extremly smart in making the good choices  in the Java Enterprise jungle ! Relying on technologies like OSGI or CMIS, contributing to a number of interesting innovative projects, introducing new services such as Nuxeo Studio or Market Place which are clearly providing added value to architects and developers on top of the open source software, all things that clearly illustrate that vision.

I am very excited by this change for many reasons: refocusing on the ECM world and exploring new fields here, returning to java,  being part of the development of a company that might be one of the next success stories of the ECM market and finally, being a constant traveller between Paris and the US  and many more !

I am still a newcomer when it comes to the Nuxeo Platform but I will learn fast and hopefully share part of what I learn here as well as what we will do next ! Stay tuned if you’re interested.

Latest eZ Systems moves, looking for a better Open Source development model

eZ Systems, the company I have been working since end of 2005, has made two significant decisions in the last 6 months. I consider those interesting and worth to look at now, with an eye that has more perspective, distance and less involvement.

I am refering to, on one hand, eZ Systems transferring the eZ Components project to the Apache Foundation (see http://incubator.apache.org/zetacomponents/) and on the other hand introducing eZ Publish Community project simultaneously with a commercial package based on eZ Publish called eZ Publish Enterprise.

Does that reflect a good move to a succesfull Open Source  development model ? I think so. Of course it is far from enough to achieve that goal, and certainly not enough also to shape a succesfull business model; many other steps are on the road to success ! But I still think those two moves are going in the good direction. I’ll try to give some hints on this here.

First I would like to highlight the fact that I speak here of a succesfull “development model” and not of a succesfull “business model”. The two things are significantly different, though extremely closely related. In the last months, many folks from the Open Source community, including execs from Red Hat, analysts from 451 or other emerging vendors like Nuxeo have insisted on this important thought: You should consider Open Source as a development model and not a business model if you want it to deliver value. I truely believe this is the right angle to look at the Open Source phenomenon: a powerful and unequaled development model for software.

The first  decision I mentionned is about transfering eZ Components to a new project hosted by the Apache Software Foundation (and including a renaming in Zeta Components).  The move was definitelly the one to do in my opinion and was an important one. Since the beginning, the eZ Components project was thought as a low level PHP library that would help in building the next generation of eZ Publish software but that would also spread in the whole PHP community with the goal to turn it in a very succesful high quality PHP library/framework widely used on the market, providing eZ Publish with top quality low level components that are also adopted by a wide range of developers and that contribute in making eZ a very good choice when it comes to extandability ! In my opinion, It definitelly make more sens for that to develop this project as an external, independant and community driven one (that would then not suffer from eZ’s unforeseen events) than in an in-house project where eZ as a company would control all the resources and own all the intellectual property. I  even think now it was a mistake to start in-house, and from the beginning this project chould have been an external one, but this is not a major mistake at all and the project can catch up on that one, I am sure.

So yes, with some more distance and perspective, I welcome the Zeta Components considering it is the best choice for eZ Systems to try to leverage its initial investment and collaborate with this project to participate in a shared open source development effort.

Another interesting side topic raised here is about joining an existing foundation such as the Apache Foundation (the other choice would have been for instance to make a more independant project). I strongly believe that in that specific case of the Zeta Components, an existing foundation makes a lot of sens. In the past, the Apache Foundation, the Eclipse Foundation or the Mozilla foundation have all demonstrated they were bringing a lot of value and capable to bridge community driven open source projects with business. I see here a strong potential fit ! Zeta Components, by definition, could benefit to many other business, not competing with eZ, and joining forces can only be done in joining an existing organisation such as the one mentionned

The second decision I touched is the introduction of the eZ Publish community project on the side of the eZ Publish Enterprise package. In short, eZ Publish Community project is trying to engage the whole community, enabling and easing contribution to the develoment of the core of eZ Publish itself (and not anymore only on extensions). In less than a year the eZ Publish community has been restarted. There is now again a very good momentum. The community, while being very professional, is growing and developing significantly with high number of members, stronger activity and very significant number of downloads and installations for a commercial open source software. A governance project is baking. The work here of Nicolas Pastorino and the core community team has clearly demonstrated it is worth engaging the community on product development and activating ways of contribution to eZ Publish ! Well managed, this should provide eZ Systems and all the eZ Ecosystem with a significantly increased engineering capacity, for the best of all the ecosystem members.

Combining those two decisions shows a mixed way to deal with Open Source development, that can be hard to understand. On one side, eZ tries to leverage a strong and large existing independant open source software organisation and on the other, to develop its own community with its own tools and infrastructure instead of rallying to an existing organization. Is this the good approach ? Isn’it a contradiction ? Should eZ think about  contributing the whole eZ Publish community project to an existing open source software foundation such as the ASF ? I am still sometime wondering about that last idea, but clearly, eZ Publish being the core CMS sofware, and Zeta Components being only a low level infrastructure component, the 2 different choices are making a lot of sens: on one side we have a development effort that can not be shared with competing projects, on the other, a huge interest to mutualize and share the development effort with other users.

Interested in the topic of Open Source product development (btw on that topic, I can only recommend that blog post of Ian Skerrett on successful open development communitiesy), I really think eZ might have here a really nice combined approach that might deliver all its promises if well implemented ! I wish the best of luck to the eZ ecosystem, the eZ Publish community and the Zeta components projects in pursuing in those directions, I strongly hope they will demonstrate this mixed approach can be valuable.

But of course, this is a very little part of the endeavour, and thinking those two decisions are enough to reach a successful Open Source development model would be a huge mistake. The main and most difficult tasks will be in smartly coordinating a community effort and an internal engineering effort, in implementing the right marketing approach to the community projects, both of them, and developing at the same time a sales and marketing effort on the commercial side of the business that doesn’t contradict but leverage the value of the community effort. I again think it is all here about perception, packaging and delivering value on top of Open Source software.

To be continued !

When a blogging system takes the 1st step of a WCM podium

I recently went through a post from Matt Mullenweg where he announces wordpress winning a CMS award. Like often with Matt Mullenweg, the way it is phrased is really well done in my opinion, but that’s another story, read it there if you are interested; http://wordpress.org/news/2010/11/cms-award/

What strikes me here is not the result of this award, that has in my opinion a really little meaning, but that it takes me back to a topic I considered 5 years ago with a totally different perspective. I remember 5 years ago attending to MovableType events where the pitch was really to explain how blogs will change the face of the web and the way we make web sites and how blogging system would burry both CMS software and e-Commerce software.

At that time, I was really thinking this was a wrong approach, the one of “using the wrong tool for a specific problem”. Looking at the example showcased at that time, that would only comfort me in that thinking: the e-shop or e-magazine showcased were just hijacking the experience of a personal blog to try to adapt it for another purpose, and while it might at the time surf a bit with the early web 2.0 buzz, I really thought this was a bad message to the market and was not a solid and sustainable approach to develop an online business.

Now, discussing yesterday with some fellow CMS practionners, one of them reacted to the recent wordpress announcement I mentioned above, claiming that this is ridiculous, WordPress being anything but a CMS.

Of course debating that topic can take hours of discussions, may be with very little results and I should not really jump in “what kind of CMS are we talking here ? (_of course WCM I should still say_)” or revisiting the list of features you should expect from such a system. There is indeed a journey exploring the feature scope of WordPress, exploring the gap with Joomla then Drupal and looking at even more sophisticated ones like eZ Publish. There is another journey in looking at how they perform in each announced feature and, no, I don’t want to play that game here !

But a shorter thing to do is simply looking at the real world of users, and what they do with the software we give them, and I must admit the landscape has totally changed. The numerous “non blog” websites run by wordpress are not anymore what I saw 5 years ago at the time when Movable Type was the rising star. They are not anymore tweaking with the user experience and they are real products that are the exact same target low/mid end web content management systems have.

It is actually a relative of mine who first pinpointed this to me, let me explain: As I am working in this CMS world, I am the target of constant sollicitations from my friends and family when it come to making their own websites, one is running a small sepcialty food store and want to be visible online to expand its business, another is a sculptor and needs a website to showcase his art, yet another is a consultant and want to have his offering on the web … I always tried to escape their requests by telling them “Open a blog, that is what you need and you’ll be able to do everything on your own (meaning without my help ..)”  and what would happen usually is that they would hate the idea of having a blog and I would have to try to do a website for them using eZ Publish, PHP or even static publishing some times … It’s only recently that, facing the difficulty of me being a bottleneck and the technicality of the system I sat up another one, they did some research to find alternate solutions and came back to me with the suggestion to use WordPress (without even knowing it was a blog platform). That was sort of a bad joke to me considering that, a while ago, I would have love them accepting my proposal to go for wordpress ! But that is indeed highlighting in a very clear way that WordPress is not anymore a blogging system but a solution for low or mid end Web Content Management needs, it is the users and what they do with it that are telling it !

So what ? What should I keep from this ?

For sure, the fact that looking not only at solutions themselves but also at how users uses them is really important in having a clear understanding of the technology landscape. In short, technology is nothing without users. You always learn the most watching them, and this is true for all kind of software and all kind of users, from developers to end-users.

And of course, to always be very careful with rankings, categorizations and awards. They mean so little compared to what’s really important to look at when for instance choosing a solution. Obviously, I don’t think WordPress satisfies the same requirements as more sophisticated platforms such as eZ Publish or many other enterprise grade solutions when it comes to business critical use. But in the end, all is in really understanding what means “business critical” for your use !

Welcome here

Welcome here ! After having run with little success a couple of french blogs on different topics that I love from music to fooding, I realized it was may be time for me to write down my thoughts in a more personal way when it comes to the world I spend most of my week days (and some time week end as well) for years, the one of Internet Applications, Digital Content, Content Management ….

I hope I’ll write down here my personal views on this professional world I am evolving in, on a regular basis, with the first goal to write for myself things that would free some of my memory. Like computers when they get old, I need to free some space for fresh thoughts and that blog might be the best way to store ideas that have matured enough, without really loosing them!

And of course I will be delighted if those words raise some reader’s interest and start off discussions and comments !