This is a an overview of the medium term trends in content management, from a mostly technology point of view.
- terminology, ways of thinking, industry model
Standardization has really started to affect the content management industry. The industry was very immature, a bit of a landgrab, and not very customer focussed. This has changed rapidly, with the wide adoption of the JCR standards, but particularly with process around CMIS. What is being set now is the model of the industry for the next five years, what the customers expect and what the products will deliver. Setting the agenda matters, and now is the opportunity to participate.
CMS as a platform
- build applications on a content platform
- API driven development
- embed code everywhere in domain level scripting languages
Co-opetition and community
- collaboration on standards, infrastructure
- open source as community
- twitter, blogs, enterprise 2.0
- end of NIH
- customers are community too
In the last year especially the landscape of content management as a community has changed. First through the standards processes, particularly CMIS and JCR, and then through social media, particularly twitter, as well as via events and blogs, there is now a growing cross vendor technical content management community, particularly with the open source players, and joint projects, for example with CMIS. This is in addition to the developer communities that are strongest around the open source products, although the .net products are trying hard to build around the Microsoft developer relations model. And of course the community of customers, who are becoming more vocal.
- richer xhtml and xml
- enhanced metadata; richer metadata in other formats
- constraints not just validation
- RDF and semantic web, linked data
- relations and IA expressed in metadata
- enhancement via deeply integrated search
- document management, DAM and WCM converge
- richer presentation layers, richer APIs
- Flash is dead, plugins are dead, HTML5 is winning faster than anyone thought
As we have moved from document management, where the focus was on whole documents, to web content management, which is more component and assembly based, there has been a gradual push to do more with the documents. Standardized rich document semantics are after all one of the main advantages of web documents. It is taking a while but making use of the potential here is beginning to happen, now we have Google indexing rich snippets and even Tesco using RDFa. There is a lot more standardization work to do here.
In the front end the aim of this backend information enhancement is to build richer interfaces more easily, and to enhance findability, search and navigation, as well as to enable repurposing, richer APIs, and linked data. Authoring is the biggest challenge, as the majority of users need to be given interfaces that are independent of the IA, simple to use, but support generation and modification of complex data structures.
SAAS and the service business
- internal delivery in a SAAS way
- APIs and standardization forced by SAAS
- changes to customer service model
Software as a service models are winning because no one wants to buy software as a product any more. I will cover more of this in another article I have been working on for a bit, but the main point is that enterprise software is a paid big ticket product is dead. The replacements are open source software and SAAS. These are not alternatives though, as people want the open source software delivered as a service, albeit maybe a more commoditized one if there are multiple providers, and many of the SAAS products delivered will be largely built of open source components by companies that run a mixed model. Microsoft is going headlong into cloud in a way that redefines what the operating system is. Even purchased software will be delivered in internal clouds.
This changes both how code as written and administered, with the web operations joining up into rolling delivery and creating the emerging field of devops. Developers need to understand operations and how to build code for this environment.
The service business as a business is different from the product business. Open source companies have got that better than product based vendors, but the less there is lockin the more key these changes become. The success of the customer using the services becomes the key business driver.
Performance and scaling, real time
- cloud has pushed scale up out of picture
- scale out transparently
- new technologies beyond RDBMS that fit CMS
- dynamic generation becoming the norm; Google pushing the performance thing; the industry norm of 100ms will fall
- real time becomes more important – dynamic updates, forget crawling, Google is going push
- backend: queuing (0MQ, AMQP)
- frontend: websockets, XMPP, long polling
Just buying big hardware for scale up is really becoming difficult; the web vibe has always been to scale horizontally on commodity hardware. There is a lot of development around scale out technologies such as NoSQL which fit into the WCM data models, which are those of the web after all.
As well as scaling for volume, latency and real time are becoming key. Google’s time to crawl has been falling rapidly, to a few or less, but is moving to real time with push updates. Twitter has really pushed the boundaries of expectation for real time. Behind the scenes there are a lot of technologies for efficiently pushing around notifications and events both at the backend and on the frontend. Real time is going to become increasingly pervasive.
Page generation times will need to fall; the standard industry benchmark of 100ms per component will probably need to be halved; overall total times under 1s will become the norm.
- web increasingly hostile
- every bug is a potential security issue
- security focussed on fewer areas, push into the OS not out to applications
I read the excellent Linux Weekly News every week, and every week there are security exploits for many pieces of software; one that really struck me recently was the major exploit against the CMS e107. What happened here was the a group of crackers found a serious security flaw in the CMS, which they began attacking systematically. When the patch was released however, they already had control of the developer’s website via the flaw, so they replaced the patched version of the code with a version with a backdoor. Hacked websites are a vital part of the underground online crime scene, and a content management system is a high value target. Expect much more of this, and be prepared.
Narrowing the security into fewer points of vulnerability, sandboxing, using every available facet of the operating system’s security layers; make the most of processes, permissions, everything that you get there; I wrote more about this in an earlier post on emerging trends. File format parsing is another area of vulnerability that is common.
It is war out there on the internet, and many people underestimate or ignore the issues, and too many programmers do not code defensively by habit.
It is an exciting time in web content management right now; the industry is growing up beyond its beginnings as a way of getting web sites up, towards being the core of the broader content management industry. The choices made now will shape the industry; the next generation of products will be a big step forward forr the industry.