Nuxeo Core moves in at Eclipse

February 9th, 2011 by Eric Barroca 5 comments »

As you might have seen in the news today, we decided to contribute a big chunk of our code base — our content repository, Nuxeo Core — to the Eclipse Foundation as a new project under the Eclipse RT umbrella: Eclipse Enterprise Content Repository. It’s a big step for Nuxeo, we’ve been preparing this for a few months already.

After 4 years of active development, Nuxeo Core is one of the most advanced content repositories on the market — if not the most advanced. It offers a wide range of services: content model definition (content types), mixins (dynamic schemas), storage abstraction, query, flexible access control, native de-duplication, format conversion, CMIS bindings and much more! And all of this is bundled as a set of OSGi bundles and highly optimized and tuned to scale well for large volumes (hundreds of million of objects in a single repository), but also run lean, making it easy to embed in existing apps, small or large.

Code-wise, it’s a large piece of software, yet very modular – designed around services and extension points, like the Eclipse architecture pattern. For those who like counting lines, we’re somewhere around 100K SLOC of Java code, in ~20 components, refined over the years.

Technically, it’s packaged and architected as a set OSGi bundles running on various Java container like Equinox, Virgo, Tomcat, JBoss (thanks to Nuxeo Runtime awesomeness) and integrated with the PDE for development. Everything is extensible through extension points. Really nice software!

Why Contribute? Why at Eclipse?

You might wonder why the move. After all, the software is already open source (LGPL) and follows a fully open development model.

We’ve got one main driver: innovation.

Nuxeo Core is a powerful content repository – it’s very extensible and versatile and can be used for a wide range of applications. By setting it free, we’d like to encourage the community to join and innovate in a vendor-neutral environment. We think Nuxeo Core (soon-to-be Eclipse ECR) has the potential to change the market in the same way Eclipse IDE did for the IDE market. It can ignite innovation in the content management space. We don’t know how it will morph, but we’re eager to watch it.

Eclipse has broad reach and a large developer community, trusted and respected by most thanks to the framework and process in place. We think it’s the right home for our little Core to grow big! ;-)

Why Now?

The content management space is changing and commoditization is setting in, led by SharePoint, vendor consolidation and more recently the <CMIS standard>.

We believe that the differentiation lies in the services we provide to our customers, not in low-level software components. That’s why we have developed offerings like Nuxeo Studio, Nuxeo Marketplace and the whole Nuxeo Connect package – a subscription offering for maintenance, support, and customization of content management applications.  From this perspective, it makes no sense to keep low-level components such as a the content repository and all related low-level services for one vendor only. And besides that, content repository technology is not yet well understood in the industry. This technology is a good fit for a surprisingly wide range of software projects, and it could be a great help for many developers and architects if knowledge about content repository technology was more widespread.

We’ve been thinking about contributing the Core for some time, but were waiting for the right moment. A convergence of milestones makes this the right time:

  1. The software has had time to mature. It is proven, robust, and deployed in thousands of shops around the world.

  2. We have the bandwidth to do the work required to contribute the code and ignite the project.

  3. CMIS is taking off, OSGi is hot – and the Core is compliant with both.

We believe it’s time to put more emphasis on content repositories as a technology. I believe that it’s great software and could be part of the developer toolbox, alongside traditional ORM. And for this aspect, credit should go to Apache Jackrabbit from our friends at Day. They have paved the way, even if we have a different take on how a repository should work. And we think for many use cases the Nuxeo Core approach is a better approach, especially when your content is not inherently hierarchical, which is usually the case for document management, enterprise content management, case management and digital asset management.

So here we are – Nuxeo Core is going to Eclipse, and we hope it’s the start of a long story that will make a real difference and impact the market in a very positive way.

What’s a Content Repository? Why should you care?

Nuxeo Core is a Content Repository and that might not be clear for you. :-) So here is my own definition.  A Content Repository, in the content management world, is the database where the content is stored. It basically gives you a high-level API and a set of services to easily store, query, retrieve and process content objects in a way that makes it easy to manipulate and match your domain model.

In this case, content is pretty much anything that: has a data schema (fixed or dynamic), needs access control, can live in a hierarchy, can be versioned, and can be rendered. That’s all.

Why use a content repository? Because if you start from scratch using a pure ORM or bare SQL when building an application to interact with business content, there is a very good chance that you’re going to rewrite the features we’ve developed, refined and optimized over last few years. And that’s the whole point of a content repository – it enables you to model, manage and interact with this content. That’s why you should care and use it! ;-)

You might have noticed that I haven’t mentioned “files”. That’s intentional, because that’s not the key part of the software. Of course, you can add BLOBs to any content object and we manage them well, doing low-level de-duplication and transactional integration. But a content repository is NOT just a file system. It’s much more than that. If you’re just looking to manage files, use a file system. If you’re looking to manage content, that can include files, then a content repository is the way to go! And we think Nuxeo Core is pretty powerful for this purpose.

Interested? Come on in – it’s open!

This technology is already fully open, so don’t hesitate to come by, say hi and start hacking if you like:

It’s going to be an interesting journey,

EB.

Quick Wrap on Nuxeo World 2010

December 2nd, 2010 by Eric Barroca No comments »

About 1 week ago we held the first edition of Nuxeo World, our international conference. More than 140 participants from 8 different countries got together at the charming Théatre des Variétés, a century-old theater in the heart of the city. Regardless of some quirks inherent to any “debut”, we got a tremendous feedback from participants and I’m really pleased by this.

Plus we got a great professional stage and a beautiful room! A “Steve Jobs moment” for each presenter guaranteed. ;-) Will definitely reuse the venue, and there is room for a lot more attendees next year.

I was pleased to see our customers and partners engage with our tech teams. Our developers loved it (even if some were a bit skeptical at first). I’m sure the exchange will continue after the event and ignite new innovations. I know our dev teams have already planned some customer visits to better plan the work ahead and synch with external contributors. Yes, work happens outside the company when practicing open source! I love when our developers directly engage with our customers’ teams. I hoped it would happen and pleased it did. No doubts it will inspire more innovation over the months ahead.

I’ve also been positively impressed by the level of talks from all presenters, especially since few of us are used to present on a stage half the size of a basketball field.

We got great content to expose many aspect of our company and offering a unique insight about what we’ve done, how we do things, what’s keeping us busy and what’s next. I highly recommend to check out the slide decks and react on the content. We talked about the roadmap for 2011, (stunning) performances, agile, mobility, market trends, digital assets, case management, more OSGi, semantic technologies, CMIS, Nuxeo Studio, and much more…

I’m very grateful to our customers and partners that took the time to come and show their achievements, I know it’s an important time investment and we value it highly. Damien Metzler from Leroy Merlin presented an impressive deployment of a large scale collaborative content portal for its 25000+ employees in 100+ stores. Plus, Damien talked how his team became the largest external contributor to the platform’s code base. Before that, Thomas Choppy from our partner Smile presented an innovative collaborative portal for students of France’s most famous business school. I’m really fond of these stories, where motivated teams innovate and make a difference in their organization. And it’s also two examples where collaboration drives better business.

I was honored to open the event with the keynote speech. Hope I was up to the task. We are growing and getting market share everyday serving more and more customers. We’re here to make a different in the market. Focusing on creating more and more powerful technology to let our our customer innovate managing their content, unleashing collaboration, creating a better work environment.

I’m including the video of the talk here

as well as the slide deck if you don’t have the time to listen. ;-)

So, the event was a success and will have a positive impact on our business and our community. I believe we’ve stayed clear of the usual self-congratulating BS and tried to remain transparent and open at all times (yes, the roadmap started with what we’ve achieved and what we’ve missed, apparently it’s not a common vendor practice to do this honest appraisal…).

If you’d like to know more, check out:

I’m looking forward to the 2011 edition. We might double it with a US-based event to make it easier for our North and South American friends.

I hope to see you there next year!

Agile @ Work: Kanban in the Kitchen?

October 6th, 2010 by Eric Barroca 1 comment »

I spent last week-end in NYC with my wife and we got back to Aldea for dinner. This place is becoming our favorite restaurant in NYC. The food is creative yet not too sophisticated (as in you get to actually taste and feel the ingredients) and really good. The wine list small but enticing.

Aldea-team-chef-action We had a reservation for 9:30pm but got there 30min early. Our table wasn’t available but we were offered to sit at the “chef’s counter” where you are dining literally in front of the kitchen, fully open. So we sat there ordered and inevitably started to look at the kitchen’s work…

At some point I surprised myself thinking: they have a perfect flow and are working so seamlessly together. It was really impressive and we spent a part of the dinner looking at them and trying to understand how they worked. Looked a lot like what we want to achieve in software development teams: fast flow, great collaboration, minimum waste due to unnecessary communication…

  1. Signal-based communication: very few oral communication, which seemed weird at fist (and not like I imagined) yet meal are prepared and ready to be served in no time. They are using small signals. Orders comes in from the dining room, are stacked up and each cook take a task in the pool of orders (haven’t determined the processing order). Of course there is some specialization (cold, hot, cooked, uncooked, etc.) but they just take the order and do it.

  2. Focus on done: low level of “work-in-progress”. When a cook start working on a meal, they work only on it until it’s finished. Finished as in ready to be served or passed to the next stage. And when a meal is ready to be served, it wait for the others on the same order and leave. Same here, few orders in WiP stage at the same time.

  3. Don’t let tasks stack up: When tasks start to stack up somewhere, somebody comes to help. I noticed 1-2 cooks plus the chef able to change from one part of the kitchen to another to help completing orders when they started to stack up (i.e.: too many oyster to open for the lady in charge -> help came to open oysters faster).

  4. Continuous testing: of course, no chance to miss a delivery here. They all go live . So you can see them check (at least visually) really often what they are doing (and start again if not good — which doesn’t seem to happen a lot)

So of course I might be totally wrong and I know nothing about how restaurant kitchens work. Plus there is a lot of obvious differences with software development, but those similarities amused me and comforted my thinking that the core principle of Agile in general and Kanban specifically “Focus on the flow” can be applied to pretty much any team work.

I haven’t asked but I’m pretty sure they also do Continuous Improvement to reach and maintain this stage of efficiency!

We have some experiment running to apply Kanban principle to other team than software dev teams. I’ll share the learnings, but I am pretty positive on the outcome.

If you have any experience to share on this topic, I would be happy to learn about them.

Sneak Preview: Nuxeo Marketplace & Nuxeo Admin Center

August 19th, 2010 by Eric Barroca 1 comment »

I’m very excited and proud to present the new big thing for the ECM market! We’ve been working on this plan for the last few months and now it’s ready for our community to preview. We believe it can change things in the content management market and drive a whole new innovation stream from developers!

We are releasing, as preview, Nuxeo Marketplace & the Nuxeo Admin Center. As part of our Nuxeo Connect subscription program, the Marketplace is a new way to distribute plug-ins and apps on our ECM platform and packaged products. The Admin Center is a new administration console, featuring a great software update dashboard to install and manage upgrades, patches and new features, streamlining the management of a Nuxeo application.

Nuxeo Marketplace provides a completely new experience to install new features (packages) and customization/configurations in a Nuxeo application. Leveraging our platform’s architecture and extension model, the Marketplace offers a way to package those plugins and distribute them easily to enhance our products (Nuxeo EP, Nuxeo DM, Nuxeo DAM, or Nuxeo Case Management Framework).

The key point? It is not just another app marketplace! Most app markets today require a complete download, install, test cycle. We’ve made this easy for Nuxeo customers. We have focused on the experience, integrating it throughout the Nuxeo Connect services, allowing installation of new apps or plug-ins directly from your application.

We are delivering a completely integrated environment for our customers to browse, install and try new features, download Nuxeo Studio templates, etc. Installing new features and deploying a customization literally takes seconds and doesn’t even require a restart in most cases! THAT is innovation in ECM when most of our competing friends still take weeks to install and test new features… let alone create the customization… ;-)

More than just a new product, more than another new service, it’s the logical fusion of our products and services to make your job easier.

Want to join the preview and help shape the direction of Nuxeo Marketplace? Watch the sneak peak video and try it by yourself!

Key benefits

For developers, a way better to serve your users:

  • browse and install new features from the Marketplace into your Nuxeo product
  • easily upgrade your product and related add-ons
  • easily install software patches delivered by Nuxeo’s support team

For partners and contributors:

  • create apps, features, add-ons for Nuxeo’s product and access our install base (application builders decide – free or priced as you wish)
  • easily distribute updates and collect revenue from what you’re doing

For system integrators and developers:

  • benefit from a completely unified experience, plus support and customization with Nuxeo Studio
  • quickly deploy your Studio-based customization

How does this work?

The Nuxeo Admin Center lets you link your product with your Nuxeo Connect subscription (if you don’t have one, you can start a 30-day trial ). Once your application is registered, the Update Center is activated.

The Update Center manages packages: it can notify, download, install, upgrade and remove them. The Update Center communicates available updates (and patches) for installed software, fetching and delivering Nuxeo Studio-based apps/customization and installing packages from the Marketplace.

On the Nuxeo Connect side, Nuxeo Marketplace hosts the package repository and offers a central place to browse available packages via the web-based gallery of apps and plug-ins.

Want to create new packages?

Creating new packages is very easy when you have done plug-ins for a Nuxeo application. You just need to bundle them with an install script and the resources to create a new package suitable for the Marketplace.

How to help? Want to know more?

Timeline?

The Nuxeo Marketplace and Admin Center are available today for members of our community, contributors, partners and customers for preview, testing, improvement and package creation. Nuxeo Connect customers can benefit from this update system now, receiving bug fixes and patches from our support team for Nuxeo DM 5.3.2.

The general availability release of the Nuxeo Marketplace will be done for Nuxeo DM 5.4, at the end of September. We expect to have many packages available by that time and directly available with this version.

Let’s get started!

EB.

Can Day Software Propel Adobe Towards a More Open Business Strategy?

July 30th, 2010 by Eric Barroca 1 comment »

As most involved in the broad content management market, I’ve seen the news of the week: Adobe acquires Day Software, the hot WCM vendor.

I have known and respected Day for a while: they deliver neat technology, have a clean business model and contribute significantly to open source. Plus, I appreciate the people I know from there.

Waking up on Wednesday and seeing the news starting to pour in my tweet stream was a big surprise. I thought about it a bit over the breakfast. My take: great for them, I know some people in the industry are going to hate it, but won’t be change much for Nuxeo and for the open source projects Day’s people are leading. So sent some congrats, a dinner invite, and went on my day waiting for the analysis and industry reaction overview from our great CMO later in the day. Which, in turn, confirmed my take. All good, move on. :-)

I’ve been asked a few time about my opinion and gave it. Until the last time when I thought “but what if Adobe doesn’t follow the Day way?”. Because many people have talked about Adobe closing more of Day’s technology and I don’t buy it. Developers working on the open source project are well respected, they will continue to work on those projects be it for Adobe or for an other company. So that wouldn't be a problem.

The question that started puzzling me is: What if Adobe goes onto a more open way? First reaction: That would be huge!

Imagine, for a second, that Adobe open source the whole CQ5 product. You have:

  • CQ5, great WCM software considered as one of the best in its category (the best?), available as open source

  • Day’s team, a team that knows how to ignite and lead communities

  • Adobe’s marketing war machine to let the world know

You get a winning product, with the capacity to transform the WCM market. By commoditizing this technology, Adobe would hit hard its competition in the WCM market. Despite the fact that it would unify some of the opens source WCM crowd, EMC/Fatwire, Autonomy/Interwoven, OpenText/RedDot/Vignette/Obtree and friends would be under heavy attack.

Adobe could concentrate on monetizing global service offerings: Omniture, Livecycle, end-to-end workflows for medias, acrobat.com on steroids, more online services, etc. Commoditizing the core WCM technology would keep the competition busy and let them make money where they hardly have any meaningful competition, innovate more with new services spanning and leveraging the wide reach of their offerings. We also would see an ecosystem thrive on CQ5, providing the ignition — for free — Adobe needs to enter the market. Kinda the Google way, after all.

Actually the more I think to this and after having read Adobe’s plan for Day, I think it’s the best way to achieve it. If they truly want to create a platform for customer engagement management, this is the way. This is how the industry builds big platform nowadays, by open source software.

All this for a mere $240M and -$50M in revenue addition. That would be the slam dunk that Laurence Hart doesn’t see coming! :-)

Am I crazy enough to think that Adobe will execute this? No. And I haven't thought all this thoroughly. But that would be really fun to watch! :-)

Onto some real work now,

EB.