Wednesday, June 06, 2012

The Eurozone chain-gang

I was recently trying to explain to a friend (in the U.S.) what's going on in Europe. The best analogy I could come up with is a chain-gang.

Imagine a chain-gang of 17 prisoners who are bound, one to the other, by chains.

At least four of the prisoners (Italy, Spain, Greece, Portugal) are mordibly obese midgets.

The chain-gang has escaped into the forest and is running away from their oppressors. But after running a while, the four weakest members (mentioned above) are out of breath, and they stop running.

The fittest members of the chain gang, represented by Germany, say to the laggards: "Come on, now. Let's keep going. We're making great progress. Don't stop now."

But the laggards are out of breath, sweating heavily, and they say: "We need to eat something. We're exhausted. We can't go on without something to eat."

And the fittest members of the chain-gang say: "Nonsense. You're obese. You need to get up and start running."

And the obese ones say: "But we didn't choose to be obese. This is a genetic condition. We inherited the 'obese' gene. Don't penalize us just because we're obese."

And the fittest say: "We're not just going to turn over our food to you, just because you're exhausted and hungry. You're fat. You need to go on a starvation diet. And you need to exercise. So get up. And run."

This seems to me to sum up what's going on, economically, in Europe right now.

The Germans don't want to just give hard-earned wealth to states like Greece, Spain, Portugal, and Italy, who are (on at least some level) plainly undeserving.

But the chain-gang cannot make progress unless the weaklings stand up and move.

Making an obese person go on a starvation diet (and sudddenly start exercising) is neither humane nor realistic. But Angela Merkel has demonstrated that even after 80-odd years, nothing much has changed in Germany. She has revealed the quintessential German nature: neither humane nor realistic.

What's needed now in Europe is a solution, for the less-well-off nations, that is both humane and realistic.

It's like a commentator on my favorite TV network (CNBC) said. Squabbles of the kind we're seeing in Europe right now used to be resolved at the point of a bayonet. They now need to be resolved at the point of a pen. And that requires significantly more time and talent.

Monday, June 04, 2012

Five questions to ask before buying enterprise software

Enterprise software tends to disappoint, on many levels. The complaints are legion, but basically you're lucky if a fairly elaborate software suite (e.g., an enterprise-grade Content Management System) can be installed by an ordinary human being (not a vendor-trained consultant) in less than a day, and if you can do anything out of the ordinary without reading the documentation. Heaven help you if you actually need to implement clustering, do a complete backup of the system, or do anything at all non-trivial, on your own.

I'd like to present a fairly simple list of five questions you should ask yourself before deciding whether a particular vendor's system is good, bad, or just plain ugly. (Disclosure: I work for Adobe Systems, and most of the following examples will use Adobe's Digital Marketing Suite, in particular the Adobe CQ5 web content management part of it, as an example.)

1. Can you install a usable (fully functional) sandbox instance of the software easily, using one double-clickable file? Adobe CQ meets this test. It comes as a double-clickable JAR file that explodes its contents into the complete install footprint needed to run a fully functional instance of the product, without presenting (for example) wizards that ask you for esoteric info or demanding that you put certain values in your operating system's Java path, etc. The first time you run the CQ installer, it takes anywhere from one to three minutes to lay down the contents of the system. All subsequent starts of the system take only 15 to 60 seconds (depending on the speed of your machine).

2. Can you easily cluster the system by designating other running instances as cluster nodes (using just a URL)? Adobe CQ offers one simple dialog to enable this. Clustering takes seconds (literally) to set up. Anyone can do it. You don't have to be a systems architect, a programmer, or an ├╝ber-admin.

Adding a node to a cluster is as easy as specifying a URL.

3. Can you do a backup (take a "snapshot" of the entire system, including all its artifacts, all user-added content, all code, all everything) by doing nothing more than hitting a button? Again, Adobe CQ enables this sort of functionality. And you don't have to be a skilled super-user to do it.

Want to take a snapshot of the system? Click a button.

4. Can you develop custom components from within the system, using an integrated UI, without firing up some secondary development environment (Eclipse, Visual C++, etc.)?
Adobe CQ includes its own code editor (a complete IDE, actually) with which to develop HTML, JSPs, server-side ECMAScript, OSGi bundles, and any other artifacts you might need in order to customize your system.

Develop Java classes with the integrated IDE, hot-deploy them as OSGi bundles. No bouncing the server.

5. Can you deploy arbitrarily elaborate custom applications without taking the system down and starting it back up again? Adobe CQ's infrastructure is OSGi-based, which means you can hot-deploy any number of Java classes any time you want, without bouncing the system.

I know, I know, this sounds like one big giant ad for Adobe CQ, and it is. But I've worked in enterprise software for 12 years (and in that time, I've evaluated scores of content management systems), and until now I've never encountered a large software offering (something of the scale of CQ) that could meet the challenges posed by the five questions listed above. If you know of another example, by all means leave a comment below!