Contented Management laughing buddha logo

Contented Management

Contented Management

When WCM isn’t enough

Orange and blue liquid forms in a glass

How many websites these days are purely content-driven?

It’s hard to justify brochureware sites. How many people do business with you just because your website looks pretty? Organisations want websites that either generate an income or reduce pressure on more costly channels, like call centres. That means transactional web applications, not just web content management.

Yet content management is still required. Whether you’re updating marketing material to support your service offering or changing form labelling and layouts to ensure fewer drop-outs on transactions, the web team still needs to be able to make content changes without having to go through a lengthy development release process.

The simplest way to achieve this is to run two web applications separately, one driven by the content management system and the other by the transactional software, like eCommerce. You get your developers to style the two applications to look the same, run from similar URLs and hope that the web app gives you enough control to alter content that it’s responsible for, such as labels on form fields. This way you can keep system integration to a minimum. There are a couple of significant disadvantages, however. Firstly, if your site needs to change globally — a change to brand or navigation, for example — you have to update both systems. Secondly, you need to design your site in such a way that you keep content and transactions separate, which is very unlikely to lead to a successful user experience.

So what are your other options? You could take content managed through the CMS and embed it in the transactional application. This means that when you have a form field to complete which needs some guidance, that guidance can come from the CMS without the user having to abandon their transaction. But this creates problems of its own. You lose some of the key benefits of the CMS: relationships are harder to maintain between pieces of content and preview becomes nearly impossible.

This is why the transactional application is often embedded in the CMS. FatWire, for example, has just launched its Web Experience Management Framework, which should make this process easier, while Terminal Four also touts its integration with external systems. Yet irrespective of the CMS you use, you’re going to face some integration problems. There’s bound to be an element of custom code, issues with assuring decent performance from both the CMS and the transactional application, and above all design difficulties ensuring that the security of the user’s transaction is maintained by the delivery layer.

Another option is portal technology. In theory, portals enable you to deliver all your web applications in an integrated fashion and what’s more, do so incrementally, adding applications without having to change the core configuration. They’re also usually pretty good at managing sessions and user credentials. Portals bring their own problems however, not least cost of delivery, increased time to develop and un-friendly URLs.

So all four approaches have positives and negatives. There’s a niche in that market somewhere for a vendor. Until someone proves they’ve filled that niche however, you’re unlikely to be able to deliver a great business-driven website using just a web content management system.

Philippe Parker on , | 14 January 2010 | Tweet this |

Contented Management

The future of the web is JavaScript

O'Reilly JavaScript textbook

The future of the web is mobile. And by mobile I don’t mean mobile phones. I mean browsing through devices that people carry around with them. All these devices, irrespective of form factor, have a common problem: they are prone to lose connectivity to the internet.

If you’re on the move and keep losing your 3G signal, or just happen to live in an area with a poor reception, or in a house with brick walls which slow wifi, or suffer from terrible contention rates in your Starbucks or conference venue, you’ll know that cable-less connectivity is fallible. So you’re in the middle of a transaction, just trying to get to the next step when… enter tunnel / lose packet / connection error and you have to start over.

There is a solution to this problem however. As Michael Kowalski tells us, the future of the web is JavaScript. Or perhaps not JavaScript in its current form, but client-side scripting nonetheless. Why? Consider the options.

If you want interaction that will run reliably on a device with poor connectivity, you can’t keep expecting the browser to go back to a server. So you might make your functionality available as a downloadable app. But it had better be a killer app the user wants to rely on, because otherwise they won’t want it taking up real estate on their phone. And it’ll have to run across operating systems if you want to reach a broad market, not just Steve Jobs’ latest toy.

You could use a rich internet application such as Flash or Silverlight. But the client platform has to support these and the user has to install them, although they’re more likely to do so for a generic RIA than for a specific tool. The big issue with these applications however is that the content is embedded in the interface, which makes them both heavy to download and difficult to make accessible to other applications, such as screen readers and content aggregators. So you’d probably have to create two versions of the content: one embedded in the RIA, the other standalone. That’s not great.

JavaScript has the advantage that it can be used to enrich content, but not contain the content itself; for example, to provide better interactivity on maps. There are also libraries of JavaScript functions that can be re-used and downloaded to the client device with the user barely noticing. Take jquery: Google hosts a copy, so if you use these functions on your site, you don’t even need to host the file. Reference Google’s copy and you’ll save bandwidth and, if enough websites follow the same path, there’ll probably be a cached copy on the user’s machine even before they get to your site, which will significantly improve response times.

Google is of course moving beyond jquery to complex client-side scripting which its own browser / operating system will be capable of handling, but some other browsers may struggle with. Chrome is a replacement for off-line scripting using Gears. It should not only enable mini applications such as Wave to run faster in a browser, but will enable online transactions to continue to function better when connections are poor. Opera has been developing similar functionality for its browser too.

So if you want to provide audiences with a better experience irrespective of platform and location, a lightweight client-side tool that separates content and function and runs in a browser seems like a future-proof idea. And for the moment at least, that means JavaScript.

Philippe Parker on , | 11 December 2009 | Tweet this |

Contented Management

We’re not just policing your content

Contented Management has joined forces with Linea to develop an online application and candidate management system for the Metropolitan Police. The system, which went live earlier this month, has already taken on appications for nearly 300 Special Constables and will shortly go live for Police Officers, Community Support Officers (PCSO) and police staff.

Candidates can check the progress of their applications online through integration with an enterprise offline system managed by the Met’s HR department.

The application was audited by a third party security consultancy and is built using the Java Struts 2.0 framework.

Visit metpolicecareers.co.uk and contact info@contentedmanagement.net to find out more.

Philippe Parker on 25 June 2009 | Tweet this |

Contented Management

Stand and deliver

Adriaan Bloem points to the downtime on Oracle’s website following its acquistion of Sun as an indicator that dynamic delivery is generally unsatisfactory. Certainly that website looked like it needed a decent application server on Monday. I wonder where they could get one.

The static vs. dynamic delivery debate is specific to the kind of content you’re producing. Generally, dynamic delivery is well-suited to:

  1. Time-critical content, such as news or user-generated content.
  2. Content that requires lots of automatic relationships and “see also” type links, including product catalogues. This is easier to generate through dynamic queries than it is through a complex relational static publishing model. This is a particular strength of Vignette.
  3. Segmentation and personalistion of content; a strength of FatWire. It can be really hard to deliver content aimed at specific users if you deploy static publishing, although SDL-Tridion has a go by implementing custom server tags into the application server layer.

More generally, you need to weigh up whether you need a dynamic model because you’re publishing lots of content that needs to be up to date, or a static model because you want to guarantee that the content will continue to be served. Either way, you need to be sure that you can change or remove content quickly as well as publish it, and you should follow best practice for delivery performance:

  1. Ensure caching is in place and decent parameters are set; use a CDN if you have a global audience or lots of very large media files.
  2. Optimise your images, CSS and JavaScript and try not to have too many of these being called from a single page.
  3. Use compression techniques, such as GZIP delivery.
  4. Ensure your CMS gives you a tool to purge your cache when you need to.

If Oracle are really concerned about their own website performance, expect them to buy Akamai some time soon.

Philippe Parker on , , , , | 22 April 2009 | Tweet this |

Contented Management

How to get better CMS support

Janus Boye recently proposed that you cancel your maintenance contracts in order to save money. But before you think of this as a great money-spinner, there are a number of key issues you must consider.

  • Many maintenance contracts are tied into the licence agreement; cancel your maintenance and you lose the right to use the software. In this case, the vendor may not sue you, but how honest would you be in denying the company its cash?
  • If something goes seriously wrong with the core product — you discover a security flaw or an issue with the schema — then how do you fix it? Third parties will be extremely reluctant to fix this and any changes to the core product are likely to make re-entering support (when upgrading, for example) extremely complex. We’re talking low likelihood, high impact risks. The question is, do you want to tolerate these or transfer them to someone else?
  • A good relationship with the vendor is still preferable to a poor one. If you take all money and services away, what incentive do they have to provide you with a good service? The analogy shouldn’t be about not paying your insurance premium; it should be about having to return to work with the person you had a regretful fling with at the office Christmas party…

So what can you do to improve your CMS support?

  1. Educate yourself: have procedures to handle common issues (restarting the servers, clearing the cache, etc.). Train internal staff to deal with these and provide procedures to out-of-hours support teams, be they internal or at your hosting company. This will cater for the vast majority of issues that don’t need any further investigation.
  2. Get to the root of the problem. Are you unhappy with your software (or implementation), or simply with your supplier’s responsiveness. If there’s something fundamentally wrong with the product, you should be selecting a new one. If the issue is service or cost then renegotiate the SLA, don’t throw it out.
  3. Find someone who’ll support you better. If the software vendor cannot demonstrate their ability to meet your service level requirements, then ask them to recommend someone who will.
  4. Negotiate your licences so that you get what you pay for. The help desk should be like any additional module that you’d have to purchase with the product. Why should you pay for something you don’t use?

Yes, there’s a downturn and you’re under pressure to save money. But you’re probably under more pressure to ensure that projects and services continue to be delivered. Why would you jeopardize these for the sake of a line item already in next year’s budget?

Focus on developing a good relationship with your supplier and you should find the quality of their service improves too.

Philippe Parker on 15 January 2009 | Tweet this |

Contented Management

Are open standards by-passing enterprise implementations?

A significant challenge for medium to large organisations is managing the exchange of information between all the applications. This might mean having a common login for your users across all your websites, or being able to display different content depending on a visitor’s geographic location.Ordinarily, the approach has been to create complex integrations of content management systems with user directories (LDAP), web services and portals to expose information from back-end systems in a standardised way.The single biggest issue with this approach is cost. You need sufficient kit to ensure scalable dynamic delivery of the applications, licences for all the software involved and significant design and implementation time. You always hit hurdles during the project as you discover data models weren’t quite what you expected, or your LDAP directory has been customised to hold data slightly differently, or you can’t get one portlet to communicate with another… It’s time-consuming and often frustrating.

Once you complete integration to all your applications, they appear as a common platform for everyone interacting with your services. Except that people don’t use the internet to interact just with your services. They want to check their email, spend time on their networking sites, shop… why should they have to go to your site just to get hold of information that should be available anywhere?

Who buys a washing machine by going to the Hotpoint site? They go to a price comparison site or a reliable distributor first. You should be able to syndicate your content any partner site. And when I’ve remembered my login to all your services, wouldn’t it be good to have the same username and password across all these partner sites? For example, you login to check your current account balance, and it’s the same login to check your mortgage status with another bank!

All right, you can retain login credentials in your browser, in a particularly insecure way. And why would you expect Barclay’s and Abbey to share login credentials? Because it’s what customers need.

We’re seeing the emergence now of true data portability. Increasingly, large web organisations (Google, Facebook, LinkedIn, Flickr) are subscribing to a model of open standards for information exchange that mean you’ll be able to enter your information once and choose which data you share with which websites. Consider OpenID which already provides single sign-on across many sites on the web. This is exactly what many enterprises are struggling to achieve across applications which they actually own!

So what does this emerging approach mean for enterprise implementations? It means you need to question the value of creating complex data integrations. Service oriented architecture through a portal is no longer the only method for integrating your systems, so you need to conduct some due diligence to satisfy this kind of expenditure.

Data portability is, of course, no panacea. Standards are still emerging. But if you’re going to jump on a web services bandwagon, it’s probably a good idea to be on the same train as Google and other leading web presences.

Philippe Parker on | 16 January 2008 | Tweet this |

Contented Management

Suitable content for a CMS

One of the biggest challenges for organisations with complex web architectures, particularly those trying to implement SOA, is deciding just what is appropriate for a content management system and what goes into AN Other application. Oscar Berg has had a stab, but I thought I’d try to give a few guidelines.

An indication that a project may be a good fit is if it meets any of these criteria:

  • Written (as opposed to numerical) content to be published within or outside the organisation and administered through a web browser.
  • Documents to be published internally or externally.
  • Digital assets used in conjunction with web or document publishing.
  • Information aggregated from other sources that subsequently needs to be edited by staff before it is published to an internal or external website.

An indication of a poor fit would be a project with the following requirements:

  • Structured numerical databases: this is more appropriate to a bespoke database application.
  • Draft, unpublished information that belongs to an individual, rather than to the organisation: this can be achieved with a file server.
  • Loose, collaboratively-created content, such as blogs, discussion forums and wikis, that don’t require peer review. This content is usually best managed through dedicated collaboration technologies.
  • Aggregated content that can be presented “live” on websites without editorial intervention. This can be achieved through a portal or an application server.
  • Integration of back-end applications to be presented through a common, browser-based interface. This can be achieved through a portal.
  • Archiving records to less expensive data allocations based on frequency of access or age of assets. This is a feature of a more advanced records management system.
  • eCommerce sites requiring automated cross-sell functionality.

There are some grey areas which might combine a CMS with another technology:

  • “Advanced” personalisation, where a website has to remember who you are while you’re on the website and deliver different content to you based on your profile. This is pretty straightforward in a CMS when applied to the homepage using cookies, but anything beyond this requirement is going to be complex to implement, particularly if your CMS is stateless.
  • Streaming media will require an additional dedicated server.
  • Single sign-on functionality would benefit from an identity management tool.
  • Web-based applications such as polls that need to be included on a website but are unlikely to be managed through the CMS.
Philippe Parker on 29 October 2007 | Tweet this |

Contented Management

Is it “what” or “how” that broke it?

A typical question I get asked when assessing failing CMS implementations is whether there’s a fundamental flaw in the product or in the way it’s been implemented. Some products are more difficult to implement than others, but businesses can be hasty in wanting to throw technology away when the implementation has failed to meet expectations.

While you can make any product do anything if you have an endless supply of time, money and ingenuity, it’s useful to have some idea about whether you need to throw your core product away to achieve your goals feasibly. So I thought I’d list a few typical warning signs that might prompt you to initiate a technology selection project:

  • Wrong technology stack — You’d have thought this would be obvious; but if you’re living in a Java world and you have a .Net, ColdFusion or LAMP product, you’re in trouble. This also applies to legacy systems coming out of support.
  • Unfriendly URLs — You could get around this with some clever rewrite rules, but it’s extremely tricky to do this in a really scalable and cost-effective way.
  • Incompatible workflow — If your CMS doesn’t allow you to implement your online publishing processes, you have a serious problem. Integrating a distinct workflow tool could be more trouble than it’s worth.
  • Running Active X components on a Mac — This is a way to alienate your user base. Don’t use anything that relies on Active X. Even if you’ve locked down all your editors’ PCs to use the same version of Windows, these components can be a headache. There’s plenty of tools out there that use cross-platform, browser-based technologies, so why give yourself this burden?
  • Auto-generated non-compliant mark-up — Many portals (including MOSS Sharepoint) provide you with default templates into which your content is published. Trouble is, they rely on HTML table layouts and JavaScript that are a long way off best practice for being well-formed and accessible. If this is important to you, it can take a lot of effort to fix. You have to weigh up this level of effort against the advantages the product gives you, or against simply throwing the tool away.
  • Poor security — A requirement that’s more obvious to some organisations than others. Some CMS (dynamic-delivery products tend to be more susceptible than those using static delivery methods) are prone to brute force attacks, so if you could be vulnerable to DDoS you should get this evaluated. You should also ensure that your product doesn’t suffer from SQL injections.
  • Lack of integration standards — If your CMS doesn’t work with your LDAP directory, you’re in for a world of pain…
  • Poor version comparison — As with workflow, does the CMS provide you with versioning and audit capabilities that match your business processes? If not, there are tools you can integrate with no little effort, but why wouldn’t you just pick a CMS that does all the red-lining and version comparison for you?

This isn’t an exhaustive list. What characterises these issues is that while you could address them with some outside-the-box thinking, the problem is likely to be so ingrained in the product that dumping your current technology is a more viable approach. And at that stage, when you look to select a new technology, all the points listed above should be the technical prerequisites you have when inviting suppliers to tender. During the selection process, you can then concentrate on organisational fit. This is a subject I’ll return to later.

But what if the reason your implementation is struggling isn’t listed above? It could well be down to the implementation. Most common things people blame on the product, but are actually a problem with how the product has been implemented are:

  • Performance — Hardly ever down to the product, in my experience. Can almost always be improved, if not completely solved, by improving infrastructure (not necessarily more licences) and information architecture.
  • Unfriendly WYSIWYG editorial interface — There are lots of free or cheap tools out on the market which provide friendly and standards-based ways for editors to add rich content to your CMS.
  • Poor classification systems — Products have limitations about implementing taxonomies and classification systems, but typically if you’ve trouble managing these in enterprise products, it’s more likely to be because of how you chose to do it rather than a fundamental flaw with the product itself. It may well require some bespoke work, but doesn’t mean abandoning your entire system.
  • Having to publish in multiple places to generate a single piece of content — This problem is more often found with component-based content management systems, such as Tridion and Percussion. Editors have to publish blocks of related content that then go through independent workflow processes only to be assembled on the same page. There’s an advantage that these are re-used elsewhere on the site, or translated into other languages more efficiently, but the big disadvantage is that editors are confused by what needs to be published in order to make one simple update. In my experience, the business blames the technology when it’s just down to how it’s been put together.

Hopefully this will steer you down the right path when you need to decide whose arse to kick: software supplier or systems integrator / design agency. But more than that, it should give you an idea about where to focus your energy for new requirements: do you need to run a technology selection project or can you build on the platform you have currently? We all know that things break, but if you know whether it’s the what or the how that’ll do it, you should be able to put some contingency in place, saving some blushes and some money.

Philippe Parker on , , | 16 October 2007 | Tweet this |

Contented Management

Ajax: hero or zero?

As yet another vendor introduces AJAX to their WCM offering, it’s worth considering what benefits these interfaces bring you. Last year, Jonathan Downes and Joe Walker at CMS Watch provided a great introduction to the subject of Ajax in content management systems, but there are a couple of other points you should consider.

Firstly, in the last year or so, users have become much more familiar with these kinds of interfaces. Most webmail systems make use of the tool and there are countless portal-type sites and map applications that use JavaScript to create smoother browser-based interfaces. This should mean that people will be more comfortable with richer interfaces than with simple web forms.

Secondly, Downes and Walker tell us that Ajax generally equates to better performance. While the interface may give the end-user an impression of efficiency, this isn’t necessarily the case for the server. Remember that with each interaction, you’re sending a request — albeit small — to the server. Given that most CMS licences run on a per CPU basis and many environments have as a consequence been under-specified, introducing these tiny rapid requests could put some serious strain on your hardware and your budget.

These interfaces can be more user-friendly than some client software, but as with any CMS selection process you just need to be wary, size your environment appropriately and test with real editorial users to see if they get the desired usability benefits. It’s pretty safe to say that the smaller the number of users, the more benefit and least risk in deploying these kinds of tools.

A final word of caution: in the Iliad, Ajax was certainly mighty. But he was passed over by his peers for a hero with more guile and ended up destroying himself. Is this the sort of technology you want to unleash in your CMS campaign?

Philippe Parker on , , , | 14 October 2007 | Tweet this |

Contented Management

Solid architectural foundations

I confess, I’m a sceptic when it comes to architects, for two main reasons.

1. What qualifies someone to be an architect in the first place?

If you meet an architect in the construction world, you know they’ll have studied the minutiae of building design for many years. But if you meet a user experience architect, an information architect, a system architect, or indeed an enterprise architect, what qualifies them for that role? How do you know if they’re any good?

There are some recognised models for “enterprise architecture”, provided by the Zachman Instititute for Framework Advancement or The Open Group Architecture Framework, but these don’t actually tell you whether your architect is sufficiently clued up about your CMS publishing model that s/he can get it to work with a proprietary HR system.

2. What use is someone who designs your project then walks away from it when you actually start implementation?

I think I’d like to be a project architect. I could come up with all the tasks, dependencies and deliverables to design a project, then hand it over to someone else and say “deliver that”. I’d know what all the tasks are likely to be, identify risks, assumptions and approach, but someone else could own delivery post initiation / inception. Anything goes wrong, it’s not my fault: I told you how to do it, so if the project goes wrong then it must be your fault.

It’s just the same for development. How many projects have you seen where the technical architect needs to be called in to resolve an issue because the development team couldn’t apply the technical design?

These days, Service Orientation is the order of the day, which makes having an architect a prerequisite for any web CMS project. So how do I overcome my scepticism and define what an architect should do and if they’re any good or not?

Pranshu Jain provides some insights into what you should expect from your architect: fundamentally the role is about picking the technologies that enable the business to meet its objectives. But this approach has led to some organisations having less technical architects who understand what various software packages do, but who don’t understand the in depth technical details of how the architectural components relate. This spells project disaster.

So my message to architects out there is get your hands dirty. Get involved in the project development and take ownership if things start to go wrong. It will help you to design better systems in future.

And my message to project sponsors and managers is that if you’re recruiting an architect and they don’t know what a reverse proxy is, they’re not going to be much use to you.

Philippe Parker on 8 October 2007 | Tweet this |