Tuesday, May 22, 2012

Beware the deflationary forces at work in the worldwide economy

I'm not an economist by training, but that won't keep me from advancing a hypothesis or two about the worldwide economy.

My main thesis is that there are signifcant deflationary forces at work today (mostly new in the last six months), which could have unexpected consequences in the months ahead.

Not all parts of any economy are deflationary. Some are inflationary. But it's important to recognize what the deflationary forces are.

Deflation is (colloquially, at least) a situation in which too little money is chasing too many goods. Ultimately this leads to a surplus of goods and lowered prices on them, with a corresponding strengthening of currencies.

One of the great examples of deflation cited in textbooks is the deflation that occurred from the period of 1870 to 1900 as the dramatic productivity gains of the Industrial Revolution (combined with relatively modest increases is wages) resulted in cheap goods with few buyers. I think we are living a replay of this situation today. Gains in computing power (with Moore's law) combined with the application of technology to production (resulting in historic high productivity), combined with the devaluing of ordinary items of consumption via competition on the Internet (e.g., Amazon), combined with declining earning power (in real terms) for most workers, has led to a phantom deflationary economy that runs in parallel with an inflationary economy. 

The evidence for deflation, today, comes from many sources.

1. Petroleum has been declining in price (significantly) recently.

2. Natural gas (a feedstock for plastics, as well as an energy source) is at historic low prices.

3. Base metals (steel, aluminum, copper, etc.) are sinking in price.

4. Precious metals have been on a downtrend since February 2012.

5. Soft commodities (e.g., agriculturals) have been on a steady decline since February.

6. There is a glut of unsold real estate in the U.S., depressing prices. In China, home prices have declined 15% or more in the past year.

Cash hoarding is known to be deflationary, and we have seen plenty of that, not only on the part of banks, but also the very wealthy, who have not been spending the majority of their cash (neither to create jobs, nor invest).

Participation in the stock market by individual investors has shrunk markedly over the past two years.

Unemployment has the effect of decreasing consumer spending. In the U.S., real unemployment (including the discouraged, and those who have left the workforce) is running around 15%. These are people who are barely spending any money.

The rate of new family formation (in the U.S.) is down substantially. This puts downward pressure on the housing market and leads to less spending, generally.

U.S. corporations are carrying record amounts of cash on their books. This is a form of cash hoarding.

Banks are not making as many loans as they used to. Again, cash hoarding.

Government austerity programs are aimed at cutting government spending, which is a form of cash conservation (hoarding).

Lately, because of the banking crisis in Europe, there has been a run on the U.S. dollar, increasing its relative value. This is delflationary in the sense that dollar-denominated assets are now dropping in price.

The short-term effects of deflation are positive for businesses whose margins are dramatically affected by raw-supply costs. If aluminum, steel, and rubber are cheap, car makers can enjoy increased margins. If restaurants see the cost of food go down, this means margins increase.

Longer-term, the effects of deflation are not so salutary. Inventories pile up. Consumers who are hoarding cash (or don't have much cash to begin with) will stop buying big-ticket items (houses, cars) and inventories of those items will increase.

Also, consumers will be less likely to buy items on credit, because if you take a loan out to buy a high-ticket item, you are promising to pay in future dollars that are worth more than current dollars. In essence, you are paying more for an item than the interest rate would indicate.

The Internet has been a huge deflationary influence. Think of all the items on Amazon that have been cut in price to a fraction of pre-Internet pricing. Multiply that by all the other companies on the Web who have been able to "eliminate the middleman," bringing you goods at historic low prices.

Where it gets complicated is in separating out deflationary aspects of the economy from inflationary aspects. This is no longer largely a goods-based economy. It's a service-based economy, more and more. And services are not going down in price. The prime example of this is health care costs. In the U.S., health care costs are one of the fastest rising cost centers in the economy. The same is true of the cost of higher education. Colleges have been increasing their tuition rates much faster than the overall rate of inflation.

Bottom line, not all aspects of the economy are experiencing deflation. Some aspects are experiencing significant inflation. Thus, the Consumer Price Index is positive, still. But it may not be, for long.

What does it all mean? You can probably expect that housing prices will stay low (given the huge amount of unsold inventory). Also, you can expect to buy a new car at a much lower price later this year than right now. The U.S. is on track to produce 15 million new vehicles in 2012, which is more than a 10 percent increase over last year. This will lead to a glut of unsold vehicles come late fall. If you're in the market for a new car, you'd be well advised to wait until late in the year to purchase a new car. Dealers will be overstocked and anxious to cut deals.

Ironically, this may be one of the best times in history for governments to print more money and boost inflation. Rather than encouraging austerity, governments should be spending more on social programs and paying for them with printed money that will be worth less in the future than now.

And the stock market? That's a complicated question. If there's a flight to the dollar, the dollar will increase in value and everything dollar-denominated (including U.S. stock prices) will inevitably go down, unless the Fed acts to increase the money supply. But to do that, they would practically be forced to charge negative interest rates to banks. That's never happened before.

The banking crisis in Europe is putting new focus on all these questions. Every Greek (and Spanish and Italian and Irish) citizen knows instinctively that cash is king. Local currencies could be devalued severely in any country that leaves the Eurozone.

Time to prepare for deflation. Not inflation. It requires quite a mind-shift. Are you thinking about it now?

Comments? Suggestions? Kudos? Brickbats? Leave your feedback below.

Friday, May 18, 2012

Importing JSON data into a Java Content Repository

This is a handy tip for anyone who might be wondering if there's an easy way (a RESTful way) to push hierarchical data into a Java Content Repository, making use of JSON. The good news: There is, indeed, an easy way to accomplish this.

The key is to use the :operation selector (set to a value of "import"), in conjunction with the :contentType selector (set to a value of "json").

Let's take a simple example. Suppose you have a JSON object that looks like:

{ 'jcr:primaryType': 'nt:unstructured',
  'propOne' : 'propOneValue',
  'childOne' : { 'childPropOne' : true }

You want this data to show up under /content in the repository tree, with a node of type nt:unstructured. You would simply create a form element in your HTML page and set it up like this:

<form method="POST" action="/content" enctype="multipart/form-data">
   <input type="hidden" name=":operation" value="import" />
   <input type="hidden" name=":contentType" value="json" />
  <input type="hidden" name=":nameHint" value="sample" />
   <input type="text" name=":content"
     value="{ 'jcr:primaryType': 'nt:unstructured', 'propOne' : 'propOneValue', 'childOne' : { 'childPropOne' : true } }" />
   <input type="Submit" />

Once the user clicks "Submit," the JSON data gets pushed into the repository exaxtly where and how you want it.

Other tips for pushing data to a Java Content Repository can be found here.

If you want to play with this using Adobe's CRX repository (otherwise known as the Experience Server product), you can download a copy of it, along with a free developer license, right here. CRX is the foundational piece of repository infrastructure underlying Adobe CQ and other Adobe enterprise products. It's a JCR-compliant repository (based on Apache Sling) with a lot of great administrative tools and other UIs (including a built-in IDE) included, ready to use. Installation is as simple as double-clicking the (single) downloadable JAR.

Give CRX a try. It's about as straightforward and easy to use as an enterprise-grade content repository gets.

Friday, May 11, 2012

New features in Adobe CQ 5.5

Last time, I gave a high-level overview of the some of the flashier new changes in Adobe CQ 5.5 (Adobe's Web Experience Management solution). This time, I'd like to dig a little deeper and shed light on a few less-visible (yet still noteworthy) changes in the product.

A change to the repository infrastructure that I think is very much under-rated is the transition to a pure OSGi runtime based on Apache Felix. The repository has leveraged OSGi for some time, actually, but with 5.5, every Java process runs in the OSGi framework (everything is an OSGi service).

OSGi is a powerful framework for development of Composite Content Applications, because it provides:
  • Modularity and Code Reuse ―OSGi is ideal for this. Developing with OSGi means deploying code and resources as bundles, which is OSGI's fundamental unit of modularity. Bundles hide their internals from each other, communicating through well-defined APIs. The high degree of encapsulation provided by bundles means improved granularity and compositionality, robust dependency resolution, improved control over visibility (superior to Java's native “package” system), among other benefits.

  • Dynamism ― The OSGI framework is highly dynamic. Bundles can be indepedently installed, started, stopped, updated, and/or uninstalled at any time, without taking the system down.

  • Flexible Versioning Support ― It's often been said that OSGi technology solves JAR hell, which is the problem that library A works with library B-version-1, but library C can only work with B-version-2. In standard Java, this is a difficult problem. In OSGI, all bundles are explicitly versioned and can be mapped to multiple versions of the same library.

  • Simplicity ― The core OSGI API comprises only one package with a few dozen classes.

  • Lightweight ― The OSGI Framework is small and efficient, and allows runtime to be relatively small, itself, and run in a reasonable amount of memory.
Some other miscellaneous new features that have been brought into Adobe CQ 5.5 include:
  • An OpenSocial container, in the form of Apache Shindig.
  • Integration with Creative Suite 5 and 5.5 using Adobe Drive.
  • Faceted Search in DAM Admin.
  • More detailed Context Cloud UI.
  • InDesign content extraction via integration into InDesign Server. This allows direct repurposing of content from InDesign files hosted in the DAM.
  • Service and workflow task to write XMP meta data back into the original binary. Until now DAM could only extract XMP but not write back. This is essential for full round-trip Creative Suite integration.
  • The use of HTML5 (instead of Flash) to upload assets to DAM/Image/Download Component.
  • Improved Campaign Manager UI to manage teasers and brand pages.
  • XLIFF import/export tools for better translation process integration.
  • Update built-in Apache PDFBox to version 1.6 for improved PDF extraction and preview.
  • RMI connectivity to repository (for use by, e.g., connectors).
  • A number of updates to libraries (e.g., jQuery and ExtJS) for better/broader browser support.
These are just some of the under-the-covers enhancements included in CQ 5.5. For more information on the product, be sure to consult the Adobe CQ product page, the CQ developer page, and the CQ Community page.

Tuesday, May 08, 2012

Leadership (or lack thereof) begins at the top

Yahoo! CEO (and liar) Scott Thompson.
On May 3, activist shareholder Dan Loeb pointed out that Yahoo! CEO Scott Thompson never obtained a degree in computer science, despite what his official Yahoo! bio claims. (The bio has since been altered.)

Apparently, Thompson has been lying about his credentials for at least ten years. When Thompson worked for eBay (as CTO of the PayPal division), his bio contained the statement: "Scott received a bachelor’s in accounting and computer science from Stonehill College." There's only one problem. Stonehill did not begin awarding computer-science degrees until four years after Thomspon graduated.

Thompson's bachelor's degree is actually in business administration.

Less-often reported is the fact that Yahoo! board member Patti Hart (who vetted Thompson's hiring) doctored her bio, also, to show a degree in "economics and marketing." In actual fact, Hart's degree (like Thompson's) is in business administration.

Yahoo! issued a statement calling Thompson's out-and-out lie "an inadvertent error." Which is, itself, a lie.
Yahoo! Board Member Patti Hart

So lying is endemic at the highest levels of Yahoo.Which ought to be quite demoralizing to Yahoo! employees. And apparently it is.

Interestingly, Yahoo's own code of ethics, which you can download here if you're interested, requires employees to (among other things) "Make sure information we disclose about our company is clear, truthful, and accurate." It also cautions employees to "avoid exaggerating."

Apparently, Yahoo's code of ethics means absolutely nothing, since board members and executive officers don't obey it.

Ordinary employees at Yahoo! now must come to grips with the fact that there are two standards of behavior at Yahoo!, one of which applies to them, the other of which applies to bigwigs at the top.If any ordinary employee did what Thompson and Hart have done, he or she would be fired in an instant. But CEO Thompson hasn't been fired. And even if he is, he'll leave with millions of dollars in severance.

The whole episode (including Yahoo's unbelievable lack of urgency in dealing with the situation) sends a bad message not only about Yahoo! but about corporate America. It says that corporate codes of ethics needn't mean anything, and lying (in both corporate bios and SEC statements) is 100% acceptable at the level of CEOs and board members.

We'll see, soon enough, if at also means you get paid big bucks on the way out the door.