Archive for January, 2009

One small change and 37 Signals reduces credit card chargebacks by 30%

Thursday, January 29th, 2009

This is impressive. With one small change and 37 Signals reduces credit card chargebacks by 30%:

We’ve never had a lot of chargebacks (a chargeback is when a customer calls their credit card company to dispute a charge they don’t recognize), but last year we made a simple change that reduced our chargebacks by 30% as a percentage of sales.

…One of the issues we have at 37signals is that many people know our product names better than they know 37signals. They sign up for Basecamp or Highrise without knowing that there’s a company called 37signals behind the product.So sometimes people see a charge on their card from 37signals but they don’t know what it’s for. And even if they did remember 37signals, they still may not recognize the charge.

…So I decided to register 37signals-charge.com, redirect it to 37signals.com/charge, write up a page explaining why there’s a charge on your card, and put that URL on people’s charge slips instead of “37signals, LLC” or “Basecamp” or “Highrise” etc.

Now when someone buys something from us, this line item shows up on their credit card statement:

37signals-charge.com 800.xxx.xxxx IL

Visiting that URL takes you to this page where we explain the charge, the products, some suggestions if you don’t recognize the products, and a link to our billing support form someone needs additional help.

If you can’t measure the response to your marketing, maybe you are doing something wrong

Thursday, January 29th, 2009

I disagree with this post by Susan Payton:

I think we need to shift our thinking about marketing results in terms of having absolute control and ability to micromanage the results and just sit back and let it happen. You won’t see results overnight, but if you use social networking sites correctly and participate in the right conversations, you will see a positive change. You will see traffic to your site increase. You will see sales climb. Just relax and let it happen.

Let’s all take a deep breath and let out all those years of being control freaks, of needing to know exactly how everything will pan out. Marketing 2.0 is happening as we speak. There is no precedence set. We are making history with internet marketing and social media. Do you want to go along for the ride or sit this one out and regret it later?

I am astonished by the attitude that Payton is expressing. Why are we suppose to have blind faith in social media? Why is it that any normal ad platform has to prove itself to us, but social media gets a free pass? If people are having trouble measuring the results of their social media efforts, maybe that’s because those efforts are worthless and need to be stopped?

One of my current clients has pages on MySpace and Facebook. They occasionally post news bulletins to both of them. They’ve tried to build up a network of friends on both. How much traffic do we see in the referers from either? Generally, we get zero a month, though sometimes we get 3 or 4. Therefore, I am strong advocate of abandoning both platforms. The return on investment is terrible. The time spent on those sites could be better spent elsewhere.

If you can’t measure a result, there is a good chance that you are wasting your money. Therefore, you should not spend money on this kind of media.

How many plugins can you use on a WordPress blog?

Wednesday, January 28th, 2009

Last week, Chris Clarke and I were talking about a site that had 250 WordPress plugins installed. The site was unmanageably slow. Some of the plugins needed to be removed.

We then discussed what a reasonable upper limit was. WordPress offers no mechanism for policing conflicts between plugins – if there is a conflict, you must figure it out yourself. And each plugin can potentially slow the site down. Chris is a fan of clean and minimal overhead, so he said he wanted to limit the site to just 3 plugins.

Just now I stumbled across “Our Favorite WordPress Plugins“, a post by Sarah Lewis. She clearly knows what she is doing when it comes to WordPress. I was surprised to see her list 20 plugins, 14 of which are highlighted as “favorites”. The list is worth checking out.

How much should you lie on your resume?

Wednesday, January 28th, 2009

Sarah Lewis has this suggestion for freelancers:

Prove you can follow directions

This is first in the list because it’s the most important advice I can offer you. In my postings, I asked for three specific things:

1. A link to an online portfolio
2. An hourly rate with a tentative time estimate
3. Current availability

You would not believe how many people sent me “applications” without giving me that information.

Listen, if you aren’t willing to read and follow the instructions on a job post, stop wasting everyone’s time. If the instructions are too complicated or you can’t follow them for some reason, the job is probably not a good fit anyway, so you’re better off spending your time finding and applying for a job that works for you.

I’ve my own tip, about those applying to work: do not put anything on your resume that you won’t be able to defend in an interview.

I’ve written before about the stretch when we were desperate to hire people.  There were about 4 years, from the summer of 2004 to the summer of 2008, when anyone with any talent had more work than they could handle. During that time, we struggled with the question: should we hire inexperienced people and train them or should we hire talented people and pay them a lot? We often had to hire inexperienced people because all the experienced people were way too busy. And we learned that, even if we only paid the inexperienced people $10 an hour, they were very, very expensive. First, they took a lot of our time, and second, they made mistakes we then had to fix. For instance, it is difficult to tell a beginner what separates good quality HTML from poor HTML. Generally, they would write poor HTML, and then we would have to fix it.

For most of 2007, one of my main clients was monkeyclaus. After Darren Hoyt had gone back to working full time with Category4, we tried very hard to hire some additional people to help us out. The interviews were amazing. People would claim all kinds of things on their resume that they couldn’t defend when we met for an interview.

One woman said she knew Javascript. During the interview, I asked how well she knew Javascript. She said she’d taken a class in it during 1999 (that’s 8 years previous!). Could she write a single line of Javascript now? Um, no. But, uh, if she started working with it, she was sure it would come back quickly.

One fellow said he knew PHP and MySql. Turns out his experience consisted of a single small project he’d done for fun, at work. He was working as a tech support person at a local community college, and one of his main tasks was to help people when they forgot their passwords. So he wrote a tiny database program into which he could record usernames and passwords and email addresses. This consisted of about 6 screens. The PHP code was unbelievably primitive: he didn’t know what functions were, so when he wanted to break up his code into pieces, he put each routine into its own file, and then he would include that file when he wanted to trigger the code. And all the HTML was hard coded into the PHP. Awful. And the poor guy had no idea how much he still had to learn.

We spoke to a woman who said she knew Java, but had no Java projects that she could point us to, not even little demos on her laptop.

Many of the people we spoke to were just moving past the point of unconscious incompetence. They simply had no idea how they appeared to us.

We spoke to a lot of people who were clearly beginners, yet they claimed to know more technologies than I do. A typical list: Javascript, CSS, HTML, XHTML, RSS, Atom, Flash, ActionScript, Java, .Net, C, C++, Python, Perl, PHP, Linux, MySql, Oracle, Microsoft Server, Windows, Apache, IIS, Photoshop, FinalCut Pro, iMovies, Mac OS, and SOAP.

Wow. I mean wow. If you know all that, you can have my job. You clearly deserve it.

What a lot of beginners seem to do is they include on their resume stuff they were briefly exposed to during some class in college. So if, for one day, they got to write some SQL queries against a dummy database set up in Oracle, they then claimed that they knew Oracle. I think what this approach communicates, more than anything, is insecurity. I realize that it is tough to get one’s career started, but still, you might want to leave off the stuff that you’ve only had a day or two exposure to.

Many of the resumes set my expectations unreasonably high, so that then the actual interview was a disappointment. And when I felt like someone had lied on their resume, I tended to become a bit more aggressive in my questions. At one point Peter Agelasto (who was there for several interviews) said “Damn, Lawrence, I’m glad I don’t have to do an interview with you.”  But I would not have been so aggressive had the resume not set my expectations so much higher than what the  person could defend. An example: if you claim you are programmer, you should at least be able to define what the phrase “object oriented programming” means (bonus points if you tell me there are several definitions, and go on to explain why the partisans of each definition feel so strongly about the issue). If you’re working in PHP, then maybe you haven’t done OOP yourself, and that is fine, but if you’ve never even heard the phrase, then I will doubt if you are intellectually curious about the field that you are attempting to get a job in. At least for me, personally, a lack of curiosity would be a major negative factor.

Bottom line: don’t put anything on your resume that you won’t feel comfortable defending in an interview.

Java has already done what Larry Wall was hoping for from Perl 6

Wednesday, January 28th, 2009

Larry Wall says that version 6 of Perl will hopefully become a root language that will lead to many other languages:

If you allow a language to mutate its own grammar within a lexical scope, how do you keep track of that cleanly? Perl 5 discovered one really bad way to do it, namely source filters, but even so we ended up with Perl dialects such as Perligata and Klingon. What would it be like if we actually did it right?

Doing it right involves treating the evolution of the language as a pragmatic scope, or as a set of pragmatic scopes. You have to be able to name your dialect, kind of like a URL, so there needs to be a universal root language, and ways of warping that universal root language into whatever dialect you like. This is actually near the heart of the vision for Perl 6. We don’t see Perl 6 as a single language, but as the root for a family of related languages. As a family, there are shared cultural values that can be passed back and forth among sibling languages as well as to the descendants.

Poor Larry Wall. Everybody seems to like him. I’ve never heard anyone say anything bad about him. Yet the beginning of work on Perl 6 was announced in 2002. This project remains vaporware. Larry Wall has mentioned it in every interview for the last 7 years. Now it is 2009 and Perl 6 has still not yet been released to the public. And in the meantime, the world of computing has changed a great deal.

Larry Wall is a deep thinker. And he has been developing a deep philosophy of computer languages. Yet the world of Java has, quite surprisingly, opened up and become a world of many languages: Groovy, JavaFX, JRuby, hecl,  Jython, etc. No one would have guessed, in 2002, how much Java was going to open up. But while Larry Wall has been thinking about Perl 6, the Java community went ahead and created the reality that he was merely thinking about: “So there needs to be a universal root language… [and] shared cultural values that can be passed back and forth among sibling languages as well as to the descendants.”

Eventually we will forget the meaning of every URL

Wednesday, January 28th, 2009

 Larry Wall says:

Eventually we will forget the meaning of every URL. But we must not forget the principle of the URL. That leads us to our next degree of freedom.

This struck me because I just got done reading Milan Kundera’s book, The Book Of Laughter and Forgetting. Kundera says, at the outset of the book:

The struggle of man against power is the struggle of memory against forgetting.

While the book is mostly about sex, it also covers a number of incidents in which the Communists attempt to erase the history of people they’ve conquered.

I think Larry Wall is correct. Yet what is the point of a system that routes around censorship, if, in the end, the words that were the target of censorship are erased anyway, and forgotten?  The Internet loses most of its potential for furthering human freedom, if it forgets everything.

Inflation in the 1970s

Thursday, January 22nd, 2009

I was just reading Brad Delong’s article about inflation during the 1970s. I’d always assumed it was the Republicans who forced the country to worry more about inflation than economic growth. I was surprised to learn that the Democrats, too, did an about-face on this subject:

 The recession of 1974-1975 made it politically dangerous to be an advocate of restrictive monetary policy to reduce inflation. Near the trough of the recession, Hubert Humphrey and Augustus Hawkins sought to require that the government reduce unemployment to 3 percent within four years after passage, that it offer employment to all who wished at the same “prevailing wage” that Davis-Bacon mandated be paid on government construction projects, and (in its House version) that individuals have the right to sue in federal court for their Humphrey-Hawkins jobs if the federal government had not provided them. In early 1976 the National Journal assessed its chances of passage as quite good—though principally as veto bait to create an issue for Democrats to campaign against Gerald Ford, rather than as a desirable policy.

Arthur Burns tried to avoid getting sucked into what he saw as a no-win situation:

Humphrey-Hawkins… continues the old game of setting a target for the unemployment rate. You set one figure. I set another figure. If your figure is low, you are a friend of mankind; if mine is high, I am a servant of Wall Street…. I think that is not a profitable game… (Wells
(1994))

And Humphrey-Hawkins eventually generated significant opposition from within the Democratic coalition. Labor would not support the bill unless Humphrey-Hawkins jobs paid the prevailing wage (fearing the consequences for unionized public employment if the “prevailing wage” clause was dropped); legislators who feared criticism from economists’—even Democratic economists’— judgment that Humphrey-Hawkins was likely to be very inflationary would not support the bill unless the “prevailing wage” clause was removed (see Weir (1992)).

The bill that finally passed and was signed in 1977:

  • Set a target of reducing unemployment to 4 percent by 1983.
  • Elevated price stability to a goal equal in importance to full employment.
  • Set a goal of zero inflation by 1988.
  • Called for the reduction of federal spending to the lowest level consistent with national needs.
  • Required the Federal Reserve Chairman to testify twice a year.

In other words, the bill that was signed did nothing at all—save commit the Federal Reserve Chairman to a twice-a-year round of Congressional testimony.

So, by the end of the 1970s, nearly everyone was worried about the long-term effects that inflation was having on the country. I suppose, looking ahead to the 1980s, people might have reasonably worried about Latin American style hyper-inflation.

I also learned from this article that Germany got inflation under control in 1971 and Japan in 1975. They both did pretty well for a while after that. Germany offers a more interesting model than Japan, since Japan only did well for 15 years, and then it slid into the Lost Decade of the 1990s. Germany had a longer run of domestic prosperity, with things going well till the end of the 1990s.

Sharing ad dollars is the best way to get ad dollars

Monday, January 19th, 2009

Michael Arrington offers this fake criticism of  Federated Media:

But as advertising dollars become harder to come by, staying with Federated becomes more costly. The biggest issue is that as a market leader among tech blogs, we end up subsidizing others. An example – an advertiser comes to us with, say, a $100,000 spend. They are referred through to Federated, who if they make the sale gets a 40% cut. That cut is fine. But what Federated then does is spread that $100k around to many different blogs. In the end we may only see a small fraction of it spent on TechCrunch. This works in our favor as well when leads come in from other blogs. But given how much higher profile we are than many of the other blogs in the Federated network, a disproportionate share of leads comes in through us. In effect, we’re subsidizing our competition. As ad dollars become more scarce, the effect of that subsidy is more pronounced.

So if an advertiser comes to TechCrunch and says “Hey, we’ve got $100,000 for ads, what should we do with it?” then TechCrunch normally says “Go talk to our ad partner, Federated Media.” Then Federated Media talks to the ad buyer. I can imagine that negotiations between Federated Media and the ad buyer might drag on for weeks – the ad buyer needs to be convinced that the ads will show up on the web sites that are right for their product or service. Assuming the deal is closed, Federated Media will keep $40,000 for its troubles. The remaining $60,000 is given to the various sites that Federated Media and the ad buyer decided were right for this marketing campaign.

This is fake criticism, since Federated Media has an option where TechCrunch can negotiate the deal itself, keep most of the money, and simply serve the ads from Federated Media’s servers. But of course, TechCrunch doesn’t want to negotiate the ads itself. That would mean hiring sales people. That would be a big expense, and it would distract TechCrunch from its core mission.

Mostly, it would seem that Arrington is complaining that ad dollars are falling. Possibly he’s trying to strongarm Federated Media into lowering their cut, though in that case he is being disingenuous when he says “That cut is fine.”

Some people in the comments suggest that TechCrunch go their own way. The problem is that TechCrunch is too small. Ad buyers don’t want to negotiate 1,000 separate deals with 1,000 separate websites. Instead, they want to negotiate one deal with a company that controls an ad network that has those 1,000 websites in its network.

Being part of a network is good for TechCrunch.  Arrington complains “we’re subsidizing our competition”, but the competition creates the network that draws in the advertisers. Sharing ad dollars with the competition is a way to get more ad dollars.

On a different subject, Pete Spande, of Federated Media, emphasizes the effectiveness of social media advertising:

As the cost goes down, the investment in the relationship goes up with those that attend. I’m quite confident I could fill a hall with people if I had the best band, chef, location, etc. The number of people who would meet me in a park to hang out is much lower but the people who would come mean much more to me.

That is the trick with Social Media. It isn’t free but the low cost of the tools make it feel free from a distance.

If you go to where the people are (i.e. Facebook, Twitter, the “blogosphere,” etc) you must invest time, money, and energy to stimulate a conversation. Marketers can and do create fan pages, groups, and even applications for very little money. But creating them and getting people to use them are two very different things. The people who become a fan of you your brand within Facebook or subscribe to your brand blog’s RSS feed are the people your brand has already converted. To grow beyond that base you must invest money, time, and energy. If you are the social media equivalent of a fantastic chef the out of pocket costs are still relatively low. For most brands, they will need to invest in a private room at a restaurant or a caterer.

Does that make Conversational Marketing less attractive? No!

The benefit of Social Media isn’t the initial cost it is the return. If you invest time, money, and energy into a conversation with your potential customers you build equity with prospects at a scale that becomes extremely meaningful. As you build these relationships, you gain the ability to get more out of that relationship. They will share their feelings with new prospects, they will defend your brand in place you can’t, and they will amplify your message.

The conversation about “conversational marketing” has been going on since the 90s. The ClueTrain Manifesto was an early incarnation of the idea. For some reason, large companies are still struggling with the idea. Matthew DiPietro offers them some advice:

Nike, FedEx, Bud Light and countless others, have all put major efforts into building and leveraging branded Facebook applications. They experienced varying degrees of initial success followed by near-universal failure. All of these apps are now largely ignored. Why? Well, would you go to a dinner party where you knew the chief objective of the host was to get you to buy stuff? I wouldn’t.

There is a very simple marketing lesson to be learned here: Don’t build it, join it. And not just for social apps, but for the entirety of social media. Find the apps, sites and communities that encompass your audience and get involved in an authentic, transparent way.

Will the depression increase the importance of social media?

Monday, January 19th, 2009

Sarah Lacy used LinkedIn to try to help a friends of her get a job. It occurs to her that the depression will be very good for LinkedIn:

In terms of ego and validation, I got the pride of knowing my network could help someone I care about. And not just help someone with something minor– help someone potentially find a new job. In this case she wasn’t laid off but, in an economy like this where hundreds of thousands are, survivor’s guilt runs high. Especially if you’ve been laid off before and viscerally remember that feeling. You want to be able to do something when you hear that kind of news, and LinkedIn offers that, whether it’s an introduction or just writing a recommendation for a laid-off friend. It was one of the first times an interaction with LinkedIn gave me that social media endorphin rush that I more commonly get with Twitter, blogging, Flickr or Facebook.

Sarah Lacy says Carol Bartz is a great choice for Yahoo

Monday, January 19th, 2009

Sarah Lacy thinks Carol Bartz is a great choice for Yahoo:

“Bartz was the chief executive of AutoDesk, a sleepy little software company that she transformed into one of the fastest-growing, most profitable companies in the software space, even amid the post-2000 crash.

…But anyone can look at the CV and truth be told, it doesn’t tell you much about Bartz as a leader, which is what Yahoo needs more than anything right now. We all can name CEOs who appeared to be geniuses, but subsequently fell from grace when the going got tough. Maybe the company was just hitting a tailwind; maybe she was surrounded by a great staff; maybe she was in the right job at the right time and it made her look good.
Nope. In this case, it’s at least a good percentage Bartz.

I covered AutoDesk for BusinessWeek, and watched as the company sprung from obscurity based not on being the sexy technology of the day, but on strong operating results and stock appreciation. I did the exclusive interview with her for the magazine when she retired– a shock and disappointment to nearly everyone at the time.

…Her manner was as unadorned as her outfit. In fact, she’d planned on dressing up in a nice suit, but that morning her daughter was in the throws of teen angst and Bartz said she just needed to “hang with her” rather than using her time to put on the CEO-facade of suit, coiffed hair, sensible-but-feminine-shoes and makeup. There were no talking points, certainly no PR chaperones, and she answered nearly every question I put to her, even the uncomfortable ones. Well, everything except what she was doing next, and whether she might wind up in another CEO slot one day. If it was an act, it was a brilliant act.

In ten years of being a reporter, I found her unlike any other tech CEO at that level, especially highly-guarded female CEOs like Meg Whitman and Carly Fiorina. She’s not veneered. She’s unafraid to talk about her role in the industry as a woman. She says something conclusive when she speaks, not a lukewarm point to please everyone. She gets tech, has a backbone, and most important, is a leader who pumps people up.

Everything I’ve heard about Bartz so far has sounded positive. The simple fact that she wants to keep the company independent and whole is a good sign.

In 1993 when Lou Gerstner took over as CEO of IBM many people thought he could increase value for shareholders by splitting IBM up and selling off the pieces. Instead, he generated a great deal of wealth by finding the right way to make IBM’s disparate parts work together. The word “synergy” is overused, but certainly applies to IBM during the 90s. The whole was greater than the parts. 

More so,  Gerstner had no background in tech. Instead, he had been one of IBM’s biggest customers (as CEO of Nabisco), and it was his perspective as a customer that allowed him to clearly see IBM’s greatest strength. He knew that Nabisco found it easier to get all they needed from IBM, rather than shopping around RFPs to a dozen different tech companies. So he knew that IBM’s greatest strength was as a unified whole.

What I’m hoping for, where Bartz is concerned, is something similar. Yahoo needs a leader who realizes its strength as  a whole.

Journalism has been dying for my whole life and I want to see it dead!

Monday, January 19th, 2009

Paul Mulshine says no one can replace the work of professional journalists.

After I got out of Rutgers, I began as a reporter at a newspaper in Ocean County, N.J. If the Toms River Regional Board of Education had not offered free coffee, I fear that I might have been found the next day curled up on the floor in the back of the room like Rip Van Winkle. As it was, I only made it through the endless stream of resolutions and speeches by employing trance-inducing techniques learned in my youth during religion class at St. Joseph’s school up the street.

The common thread here, whether the subject is foreign, national or local, is that the writer in question is performing a valuable task for the reader — one that no sane man would perform for free. He is assembling what in the business world is termed the “executive summary.” Anyone can duplicate a long and tedious report. And anyone can highlight one passage from that report and either praise or denounce it. But it takes both talent and willpower to analyze the report in its entirety and put it in a context comprehensible to the casual reader.

Damn, I am getting bored of this debate.

If people aren’t willing pay for Paul’s summary of the Toms River Regional Board of Education then, by definition, that information is not valuable. So why should anyone do it?

Journalism starts with The Spectator. Yet Joseph Addison and Richard Steele wouldn’t recognize what Paul Mulshine does for a living. And there are aspects to the writing of The Spectator (in particular, the prevalence of opinion) that have more in common with blogs than with what Mulshine does.

Modern journalism begins to take shape during the 1890s and reaches its full form by the 1920s. Then it has a good 40 year run, and then it goes into decline. When I was young, in the 1980s, I heard story after story about how newspapers were in decline, because Americans don’t read any more.

When I was in middle school, and then high school, our teachers used to plead with us to read the newspapers. We were often given newspaper reading assignments – once a week we had to find a story we liked and bring it to class. Even though my folks were fanatic readers of the New York Times, and even though I read it often myself, I usually could not bring myself to engage in the stupid, artificial assignments.

I hated the histrionics – I recall a history teacher in the 9th grade who told us that without newspapers, there would be no more democracy. My feeling, then and now, was that if democracy was that weak then it deserved to die.

The death of the newspapers was a big subject all through the 80s, even after I got out of high school. In college I recall a professor asking the class how many of the students read the paper everyday. Maybe a quarter of the class raised their hands. The professor shooks his head sadly and said that the nation was doomed.

So much melodrama! So much dismay and nostalgia! So much sadness and disappointment for the older generation!

Can I contribute to this outpouring of emotion? I’d like to offer my own melodrama:

I want the newspapers to die! I’m tired of them always being on their deathbed! This industry has been dying for my whole life! How long can this story possibly continue? When I am 90, will the newspapers still be dying? Whatever Paul Mulshine is trying to defend is too old and too decrepit to be of any use to anyone, ever again. Drown it with acid, set it aflame or blow it to bits, whatever is necessary to make sure it is dead.

What I am eager to see is what comes next. I’m more interested in the new next thing then I am interested in yesterday’s news.

Paul Krugman asks a boring question, seeks a boring answer

Monday, January 19th, 2009

I usually like Paul Krugman’s writing a great deal, so I’m disappointed with his sarcastic take on job creation under President Bush.

He points to this graph to show the weakness of job creation:

Job creation under Bush

and he asks:

Why were the last 8 years so bad? Even the good times weren’t all that good: by my quick count there were only 10 months under Bush in which the economy added as many jobs as it did in an average month under Clinton.

Asking why Bush was worse than Clinton strikes me as a boring question. When I look at that graph, the first thing that jumps out at me is that even the best of times, the peaks, have been getting lower and lower for the last 40 years:

1947-2008 job decline

The chart shows a long-term decline going back 40 years (or 60 years if you can ignore the slump in the 50s). The chart masks how bad things really were in the 70s and 80s, since that is when the Baby Boom would have entered the work force, and that is also when women were entering the work force. The late 70s and early 80s should have the highest peak on this graph, and the fact that they don’t suggests something was very wrong with the economy at that time.

For me, the interesting question is how do we get back to the highest peak on this chart? I’d like to ask “How do we get back to 1947?” Some people might say “Oh, it takes a war to do that!” I’m not sure that is the right response, since we had a war under President Bush and it did not boost the economy. But for those who feel World War II is in a class by itself, and not to be emulated, I’ll accept the 1960s as a relevant comparison. For me, the most interesting parts of the graph are the peaks:

1947-2008-jobs.png

How do we get back up to the interesting peaks? We should not try to emulate the Clinton years, since the best of times under Clinton were worse than the best of times of any earlier period. We need to figure out how to recreate the dynamic economy of the earlier periods.

The correct balance between Fernand Braudel and Ayn Rand

Sunday, January 18th, 2009

An illness, striking an older family member, summons my business partner, Laura, from back across the west.

She drives. When tired, she pulls into a truck stop, climbs into the back seat and sleeps. Unusual cold grips the heartland, one night the temperature is as low as 5 degrees. She is lucky to have a zero-degree rated sleeping bag.

She’s named her car “Happy”, a 91 Volvo which sings down the road, the gears at high pitch.

Ah yes, the church cross in Texas, which advertises itself as the largest in the world – a familiar landmark. Laura’s now made this trip down Interstate 40 so many times it begins to have ordinariness most people experience during their commute to work.

Laura leaves Phoenix, Arizona on Wednesday and arrives in Charlottesville, Virginia, on Friday. She completes the whole trip in just 54 hours. Whereas the average American family makes the trip in 4 days, she does it in less than 3.

“That is remarkable!” I think to myself. My own personal record for a one day solo trip was the drive from New Orleans to Chapel Hill, North Carolina – perhaps 900 miles. I recall my body stiff and aching at the end of that trip. But Laura had 3 days like that, and during the middle day she drove nearly 1,100 miles, from Amarillo, Texas to Carthage, Tennessee. She drove for 19 hours that day.

And I think “She used will power to shrink the continent!”

But then I think “How did she get here?”

She traveled across America’s excellent road system.

“And who built the roads?” I wonder.

Countless hands toiled for decades to build these roads.

In the old days, the average family might have hitched their horses to wagons and taken 6 months to get from Virginia to Arizona. Now the average family can make the trip in 4 days. Numerous inventors, and innumerable workers, have changed the world.

Here then, is an example of what we inherit from the longue duree, and what we contribute, in the here and now, with our bodies and our souls. To use old fashioned language, the masses, in their ceaseless toil, reduced the trip by 98%, and individual will power reduced it by 25% of the remainder, or .5% of the total.

For me, this offers a rough rule of thumb, applicable to other fields of human endeavor; the correct balance between Fernand Braudel and Ayn Rand.

David N. Welton on git, hecl and gigs

Friday, January 16th, 2009

There are several good posts over at David N. Welton’s blog, and I’m going to post short excerpts here.

Welton is one of the two people working on hecl:

Hecl is intended as a complement to the Java programming language, not a replacement. As such, it tries to do well what Java doesn’t, and leaves those tasks to Java for which it is best suited. Hecl aims to be a very immediate language – you can pick it up and start doing useful things with it quickly. It is also meant to be easy to learn. Where Java is verbose and rigid, Hecl is forgiving and quick to write. For instance, System.out.println("Hello World"); vs puts "Hello World" – 41 keystrokes (shifted letters count double) versus 22. Hecl is built to “scale down”.

This makes Hecl ideal for large applications written in Java that would like to provide a user friendly scripting interface, rather than, say, a clunky XML based configuration system. Examples include: scripted web pages, command/control logic in long running applications, and, I’m sure, many environments I’ve never considered.

hecl strikes me as arising from the same economic/technological forces that have in recent years lead to the explosion of script languages running on the JVM: JRuby, Groovy, JavaFX, etc. hecl doesn’t necessarily run on the JVM, but, as I say, its existence seems due to the same underlying trend – the reality that for many projects it is economically rational to trade away program execution speed in exchange for greater programmer productivity.

The mobile phone is a good environment for Java and yet hecl might work even better in this environment (in that sense, it might be a direct competitor of JavaFX). They’ve apparently gotten a prototype working:

Thanks to Neal McBurnett, Hecl for Android finally got to run wild and free on a real phone. There were some glitches, but by and large, things seem to work, which is always exciting, and something of a relief. Neil says it runs fairly quickly, and looks good. Once again, a big thanks to Neil, and now on to fixing the bugs!

Welton also writes the only article I’ve ever read that says something negative about git:

The whole thing seems kind of shaky in the sense that it’s not very confidence inspiring: I feel like it wouldn’t take much to make a wrong turn and find all my files gone forever. I can see some of the advantages, and will likely stick with it – git is quite convenient for local files that I might not have bothered putting under version control in the past, but it’s also a bit more “bureaucratic” in that you have more steps to do, and you have to fill in the forms just so… or else!

And this is the only negative thing I’ve ever read about github:

However, I have a nagging doubt. Github apparently bases everything around the developer. In other words, projects hosted there are mostly attached to a developer who ‘owns’ the project, rather than existing on their own. There are a few exceptions – there seems to be a ‘rails’ role account to manage Rails, rather than having it belong to, say, DHH, so it’s not impossible to do something in a project-centric fashion, but it doesn’t seem to be very common either.

What I’m wondering is what sort of effects this might have in the long term. Github, and git itself, make it very easy to ‘fork’ projects. Could, or will this lead to a situation where people don’t try so hard to get their code in the ‘official’ branch? What happens when someone loses interest in their project? Sure, someone else can fork their repository, but if all the links were pointing to the first guy, because he was the main hacker on a project for X years, they’re not going to switch overnight even if guy B takes over maintanance. And in the meantime, casual searchers might turn up the ‘dead’ branch, or simply be confused as to who’s doing what. This could make things confusing for someone who just wants to check out some code and start using it…. trying to sort out various revisions and ancestry of a project could be quite discouraging.

Finally, Welton thinks of Coase and his Theory of the Firm when considering how smaller transaction costs in certain industries might be leading to more freelance gigs and less permanent jobs:

So if one wanted to look, in a less anecdotal way and slightly more scientific way, about whether the US, or other countries, are turning into “gig economies”, one could do worse than look at the transaction costs associated with utilizing contractors as opposed to permanent employees. If those costs have fallen (it may be easier to find people, thanks to the internet, for example), perhaps it is more efficient to have more contractors and fewer full time employees and so the equilibrium will tilt in that direction. Of course, another explanation might simply be that the economy is bad, and companies don’t have the budget to take on more people, so they get by with what they can in the short term.

For me, this is one of the main ideas I took away from the work of H. T Goranson. During the 1980s Japanese manufacturing firms used their focus on quality to beat American manufacturing firms. By the early 90s American companies were trying to catch up with the Japanese innovations in quality. Many American economists and business analysts worried that the next great zone of innovation would be agility. Organizations such as DARPA were sufficiently worried that they gave out a lot of grants to people like Goranson. His work concluded that, at least in the American context, small firms were uniquely innovative, but their innovations would be at least partially wasted if they could not be brought into the supply chains of the largest manufacturing firms. In this context, agility was defined as the ability to overcome the transaction costs associated with dealings outside of a firm. A truly agile supply chain would be one where numerous small suppliers could be quickly brought together into a completely new supply chain, with little additional cost (that is, the annoyance of dealing with lots of small firms would somehow be minimized). The model was Hollywood, which, in just a few weeks, is able to pull together a vast and diverse group of professionals to create a new movie. Goranson looked at everything from legal traditions to social mores to technological innovations that contribute to agility.

Needless to say, that kind of agility has become an increasingly important part of the economy, and possibly has become a unique competitive advantage of America.

We are offering a 20% finder’s fee for putting us in touch with a client

Tuesday, January 13th, 2009

Over the last 6 years we have twice developed a relationship with someone who was able to work as a salesperson for us, working for commission only. Back in 2003, for instance, our friend Don Krug was able to bring us a small contract, for which we compensated him out of what we were paid.

We would like to develop a similar relationship with at least one other person. Ideally, we could find someone we like, who likes us. We’d ask you to read over some of the material we’ve written explaining our philosophy of how to handle a web start up. If you were that person, we’d hope you’d be able to faithfully represent our views.

If you could put us in touch with a client who eventually hired us and paid us to build a website, we would pay you a finder’s fee for bringing that client to us. In that situation, we would pay you 20% of what we are paid, with a maximum cap of $10,000. That is, for projects that pay us more than $50,000, we will pay you $10,000. For projects under $50,000, we will pay you 20% of what we are paid.

A few rules to keep in mind:

1.) You only get paid if we get paid.

2.) You get paid 90 days after we get paid.

3.) There are no circumstances where we will pay you more than $10,000 for introducing us to one client.

4.) You don’t need to do any more than tell us about client, though of course, since you don’t get paid unless we do, you would be wise to nurture the project.

5.) We reserve the right to reject any client. If we don’t take the work, then we don’t owe you anything.

6.) Any time or expense you incur to win a client is strictly your own affair. We will never reimburse any of your expenses. We will only pay you the finder’s fee, and you only get that if we ourselves get paid.

7.) To verify what we owe you, we will send you copies of the invoices we send the client.

We will accept any kind of work, but we are mostly interested in projects with initial budgets between $40,000 and $100,000. You should print out a copy of our essay “How much do websites cost?” and hand it to the potential client.

Our team includes the lead programmer who developed the iHanuam store for yoga videos. That project cost about $60,000 before it launched. If you bring us a project like that, we will pay you $10,000, after we ourselves get paid.

We developed the social network site The Second Road. That project cost over $100,000. If you put us in touch with a client like that, we will pay you $10,000, after we ourselves get paid.

Please feel free to contact us:

contact @ teamlalala.com (You must remove the space from this email address.)

434-825-7694

Amateur photographers often underestimate the long term value of their work

Saturday, January 10th, 2009

Darren Hoyt and his wife discovered a remarkable scene one day of a turtle, a frog and a spider. They took a photo of the scene, which became popular. And then, sad to say, some newspapers began stealing the photo without attribution:

Apparently, she first discovered the photo and backstory in OK! Magazine, one of England’s sleazier tabloids. I hadn’t given permission to any magazine, so I started Googling around.

Turns out another British publication, the Daily Telegraph, had also published the photo, initially crediting it to WENN (World Entertainment News Network). WENN is largely known for supplying paparazzi/celebrity photos to the entertainment media.

In fact someone from WENN had contacted me months before, but I’d refused to provide a hi-res photo unless I was told what in what context it would be used. I never got a response, but the photo was taken from Flickr anyway.

The lady at WENN seemed a little startled that I’d called their London office directly. She agreed to remove the photo from their database, but offered little in the way of an explanation, apology, or disclosure about how much money was exchanged for the photo. Since then I’ve been told the photo had been scooped up and sold by mistake, and would be removed from WENN’s database. Mistake or no, I suspect this isn’t uncommon at all.

My dad had a popular lecture that he used to give to amateur photo clubs about the value of the occasional great photo. During his 57 year career, he took 700,000 shots, of which he would immediately discard 90%. He was left with about 70,000 high quality shots that got picked up by stock agencies and other organizations that agreed to represent his work. Of these photos, about 80% never made a single sale. Only 5% had multiple sales. The best 2% (of the 10% he did not discard) accounted for more than half his income.

When I was a child, I heard story after story about the surprise best sellers. One morning in 1970 he walked out the front door with a camera in his hand and, seeing a butterfly on a flower in the front yard, took a picture of it. He had taken dozens of other butterfly photos, but for some reason that one went on to make $17,000 over the next 15 years (triple the figure to adjust for inflation).

One 4th of July in the early 1980s he took some night shots of the fireworks, which he then comped together in his darkroom using traditional photo overlay techniques (this is more than 10 years before Photoshop). Though he had dozens of other fireworks shots (which didn’t sell), this one went on to make $36,000 over the course of many years.

His biggest surprise was when he went to Morocco as part of a tour for other professional photographers. For two weeks they were taken around in a bus to famous spots. He recalls one time they all got out at a famous mosque and stood their photographing its golden dome. He looked to his left and to his right and saw 15 other professional photographers clicking away. He thought to himself, “I’ll never make any money on these shots. We are all pros and we are all taking the same shot.” But the next day they were out in the desert, photographing a ruined, abandoned fort. There were no other human beings in sight, only the bus and the bus driver and the photographers. But then my dad looked off to his right and in the distance, saw a man, dressed all in white, come over a sand dune. The scene reminded my dad of one of his favorite novels, The Martian Chronicles, a scene of infinite desert, and there in the middle, the impossibly lonely figure of a single human being walk across a vast expanse of pure sand. So my dad took that shot, which the other photographers did not think to take, and that became his best selling photo of Africa. Several encyclopedias and travel guides bought the rights to it.

In the late 90s the arrival of Photoshop and CDs full of royalty free images changed the industry, and it became harder to make a living, but my dad found that the top 1% (of that 10% he had not discarded) of his photos continued to generate some good sales.

He worried a great deal about amateur photographers who were giving away the rights to their photos without realizing the value in the occasional photo. When Flickr emerged, he had some deep reservations about their too casual promotion of the most open Creative Commons licenses. When the story broke about Virgin Mobile using a photo of a girl which the novice photographer had marked for “commercial use” my dad wrote several long articles for local amateurs about the dangers of offering photos for commercial use without securing a release from humans that appear in the photos. It was clear, in the Flickr case, that the photographer hadn’t really understood what the words “commercial use” meant. My dad developed a lecture on this subject and was invited to speak at over a 100 amateur camera clubs in New Jersey, Pennsylvania and New York.

All of this is to say, when we take photos, we should be aggressive in defending their value. If we wish to share them with the public, we should all do so having educated ourselves about what rights we are sharing, and what value we are letting go of. Every once in a long while, people take photos that are worth a great deal, and even when they are not interested in making money off that photo, it doesn’t seem fair for others to do so without the permission of the photographer.

JournalSpace loses all data in its database and has no backup

Saturday, January 10th, 2009

This is a horrifying failure of risk management and system administration good practice:  JournalSpace loses all data in its database and has no backup:

Blogging platform JournalSpace (which I’d never heard of to date) has ceased to be, following a wipe-out of the main database for which there was no back-up in place. According to the JournalSpace blog, the database was overwritten as a result of a malicious act from a disgruntled ex-employee.

The lack of backups is the fault of management, for they had the authority to make better decisions, and they had the ethical responsibility to protect the data of their users. Nevertheless, they try to shift the blame to one of their employees:

It was the guy handling the IT (and, yes, the same guy who I caught stealing from the company, and who did a slash-and-burn on some servers on his way out) who made the choice to rely on RAID as the only backup mechanism for the SQL server. He had set up automated backups for the HTTP server which contains the PHP code, but, inscrutibly, had no backup system in place for the SQL data. The ironic thing here is that one of his hobbies was telling everybody how smart he was.

The employee might be guilty of criminal actions here, but that doesn’t let management off the hook for having been so unprepared. If it hadn’t been an employee it might have been a tornado or earthquake or some other disaster – and the blame still would have belonged to management. Multiple backups, in different locations, is the precaution that a responsible company must make.

cb sums it up well in the comments:

lol, gotta love an internet company that has ‘a guy handling IT’. As if the IT side of things is an afterthought-which apparently it was in this case.

There is a second part to this story that I find very sad. One of the users of JournalSpace, a woman calling herself tinythoughts, shows up in the comments at TechCrunch and expresses her sadness, whereupon she is immediately attacked for her having ever used JournalSpace. I am puzzled and worried by the attitude that would defend the company and blame the customer.

This is tinythoughts:

i had one of the oldest journals on journalspace. i am really upset about losing about 6 years of writing, and my layouts which i made. it was bad enough when they lost years of comments. this is far worse. i am pretty sure i archived most of everything up til about a year ago on my external hd. i’m actually a lot sadder about this than i thought i would be.

This is the criticism that is then thrown at her:

If you value your work so much, you shouldn’t be using something that’s free and expect not to lose it.

At the end of the day, piss all you want. It’s your damn fault for leeching off a free service and expect it to continue to provide for you.

The day of FREE is over!

And then this was her response:

it wasn’t free. i was a paying customer for most of the time i was on there, until the first big data loss. after that, i did not get a pro account anymore and also began to write less on there.
as for losing my stuff, which i did value, as i said, i did back it up myself after that first data loss. however, i liked it where and how it was, accessible online to me and anyone else. we are talking about almost 6 years of content. that is not some small thing. even if you’re dumb, you should be able to understand that.
btw, i work in this industry myself, and i am pretty sure the days of free are not over. but all the best to you on being rude anonymously to others online.

She also adds:

I don’t believe their story. I think there is more to it. They’ve had problems before and they always lay it out like their users are technically stupid and willing to accept any dumb answer given to them. What happened really was a great loss for many users, who had been there for years, a community of really great people. The greatest loss is all of the time, life, love, and community each of those users put into journalspace, where it was all documented and washed away like sandcastles on the beach. I might be upset for my own loss, but not nearly as sad as I am for many of my friends there. I think journalspace owes them more than a lame excuse and an empty sorry.

The fact that someone is willing to attack the customers in this case, rather than the grossly irresponsible company, actually saddens me more than the already sad fact that a lot of people lost years worth of work. (Though if I lost that much work, I’d cry for days.)

How to avoid time limits in PHP scripts

Saturday, January 10th, 2009

In PHP 4 all PHP scripts had a time limit that was set in the php.ini file. The default value was 30 seconds, though every professional web design shop I know of set that value much higher, to 180 or even 300 seconds.

In PHP 5, there are two separate contexts for calling PHP: the web, and the command line. PHP on the web, a module of Apache, still has the time limits like PHP 4. PHP for the command line (cli) has no time limits

Normally PHP code is sequential: first one thing happens, then another, then another after that. If a function calls another function, execution in the first function stops till the other function has returned.

On the  web you will sometimes need the equivalent of asynchronous PHP. For instance, if the user triggers some major maintence operation, which should really play out in the background, without holding up the script that the current user is currently interacting with. On PHP.net, there was a suggestion for acheiving asynchronous PHP. This relies on CURL to make multiple calls to an URL, triggering whatever PHP script you want to trigger.

Now I’m wondering how I might achieve something similar away from the web, in the context of the command line.

Venture capital firms are run by cowards, who get their money from other cowards

Friday, January 9th, 2009

Sarah Lacy points out that risk aversion and short term thinking are overwhelming the tech industry:

I think there’s also a mindset problem when it comes to venture capital. Investors and many entrepreneurs are no longer focused on building companies and taking real risk. Paul and I did another clip yesterday about Facebook, where he argued it doesn’t make sense for Facebook to stay a stand alone company anymore because the ad markets are going to be locked up for 24 months.

I love P-Ked, but what the hell does a 24 month contraction have to do with building a company? Especially a company that’s still private, growing like mad, has loads of money in the bank and is essentially break even? We’ve got to break ourselves from this quick-fix, quarter-to-quarter mentality of Wall Street– and increasingly Silicon Valley– if any next great tech companies are going to be formed. The very reason great companies are typically started during downturns is they’re started by people who aren’t obsessed with timing a market. They’re started by real entrepreneurs.

In her BusinessWeek column, she also points out that it’s been a bad decade for tech focused venture capital:

But check your calendar. We’re closing in on 2009. And even if the financial system on which VCs depend for returns averts collapse, it’s still in for a few years of serious wound-licking and stepped-up government regulation. Ask anyone in Silicon Valley whether Sarbanes-Oxley had a chill on IPOs.

This realization hit me like a ton of bricks during a recent trip to Boston, coincidentally the same day Lehman Brothers (LEHMQ) filed for Chapter 11. I was sitting down with Tom Crotty, of the venerable Battery Ventures, which had a unique approach to the tech meltdown. Battery, full as it is with more financial gurus than Valley-style engineers, responded by diversifying from traditional startup investments into so-called Private Investments in Public Stocks (PIPEs). Battery also capitalized on the consolidation of cash-rich but fragmented industries.

Crotty hopes the atypical investment approach will insulate Battery, but he nonetheless sees a reckoning coming—specifically toward the end of 2010. He points to 2000 as the “last really good year” for venture capital. Looking back, “the one-year, three-year, and five-year indexes are all going to be terrible,” Crotty says. “And once 1999 and 2000 fall off, the 10-year will be, too. It’s going to be painful.”

But she also points out that there are new markets out there waiting for investment:

That won’t be such a bad thing. After a painful period of forced reckoning with bad past decisions, VC will emerge stronger. Entrepreneurs and the larger U.S. economy will still need venture capital. Some venture capitalists will engineer a new way to make venture-style returns, like Battery Ventures did eight years ago. Many will turn to emerging markets such as India and China. There will be even fewer Google-like (GOOG) home runs. Then again, a leaner, smarter industry may not need as many.

She puts needed qualifiers around the idea that downturns are good for innovation:

To those of you who say platitudes like: “Downturns are GREAT times for innovation!” yes, that’s true, but you are missing the point. This isn’t just the cause of a downturn. This is a structural change in the industry that needs to occur and has been building for nearly a decade. There is far too much money, tech is maturing, and clean tech isn’t mature enough.

Real innovation can not be done in 90 days. Real innovation does not conform to quarterly profit reports. Real innovation comes from those people who can see a potential business when it is still way out on the horizon, and then find ways to reduce the risk of getting from here to there:

People think entrepreneurs are risk-loving. Really what you find is successful entrepreneurs hate risk, because the founding of the enterprise is already so risky that what they do is take their early resources, the small amounts of capital that they have, whatever assets they have, and they deploy those resources systematically, eliminating the largest risk first, the second-largest risk, and so on, and so on.

Jeff Bezos

In the title of this post I used the word “coward”. That is a strong accusation. It is deserved by those who feel the normal risk minimization of entrepreneurs is no longer enough to allow a business to be trusted with money. It is deserved by those who now only place sure bets, and only short term ones, too.

The tech industry, especially the web portion of it, has been infected with speculative excess. During the South Sea Bubble of 1720 financial manipulators raised money for “a company for carrying out an undertaking of great advantage, but nobody to know what it is” and today we have similar ill dealings: “The company will ‘let its purpose and presence be known’ as soon as they reach their goal of raising a Series A capital round of $10 million”.

For the true entrepreneur, the goal is always MR4MR: minimum risk for maximum reward. But they have bold goals that demand big risks be taken — they then set out to find the least risky way of achieving that goal. This applies to many fields. Shakespeare, Napoleon, Thomas Edison and Bill Gates had this common: they were all successful at minimizing the risks they had to run to achieve their goals, yet their goals were so ambitious that even the least risky path still entailed big gambles. The NASA team that first sent men to the moon was fanatic about reducing risk, yet still the mission was among the riskiest endeavors ever undertaken by the human race.

The driving force of the digital revolution were two fold: the increasing power of computer chips, and the dramatic fall in the price of communications, due to breakthroughs in multiplexing. The pulse of change for both has grown slower. Wal-Mart, Fed-Ex, Google and Twitter were all instances of a creative soul finding that the digital revolution allowed a new way to organize human activity. Such surprising alterations to the existing scene will continue as long as there is still growth in computing power and communicative capacity, though the appearance of such novel businesses can be expected to slow as innovation in the underlying technology does.

We should not allow the term “innovation” to be killed by its over-association with the industries that grew during the last few booms. There are other fields desperate for the intervention of  the entrepreneur: green energy, green transport, recycling, lower impact production methods, the education of adults, the teaching of children, child care, environmental clean up. We will soon see a new wave of change in the oldest industry, I mentioned community supported agriculture in the post where I made predictions, in some sense no economic activity is more important than how the human race feeds itself. And at some point in the next 50 years we will see considerable breakthroughs in the way the human race relates to living things on earth, as our understanding of the underlying rules of DNA come into focus.

Downturns are a great time for innovation, but the invitation is only there for those who are thinking long term.

Can business ever be gender blind?

Friday, January 9th, 2009

Sarah Lacy on gender and business:

As the gender blindness idea suggests, I never considered I couldn’t achieve things in business because I was woman, and that was probably part of my success. But at the same time I don’t think there’s anything wrong with being proud of the fact that I can hold my own in a male-dominated world. That I’ve been able to make it a non-issue.

I also think that in some unknown, unquantifiable way part of my success has been because I’m a woman. How could it not be? Being a reporter and a writer is an incredibly individualistic career. It’s like an episode of Survivor. You’re dropped into a jungle and you have to use whatever you’ve got to fight your way out. Not even a great editor can cover for you for long and whatever you’ve accomplished is in tangible black-and-white at the end of the day for everyone to see. I’ve long felt like weird personality traits of mine that were pretty annoying from a human point of view, actually wound up being hugely helpful as a reporter. It was as if I was designed to do what I do.

Because it’s so personal, I’d be naive to think none of that has to do with being a woman. Women connect with people in a different way, listen better than men on average, are non-threatening and are naturally nurturing.  A lot of people tell me things they don’t tell other people, and all of that is probably part of why. My gender is part of me, so why would I treat it as something I somehow have to subvert or ignore?

Google API limits results to 64, which limits the types of businesses you can build

Monday, January 5th, 2009

I had an idea for a new business I’d like to launch, based around results from the Google database, fetched using their Search API. After downloading their sample code and reading their documentation, I wrote a simple script and looked at the results. What I realized, after awhile, was that there was no way to get back more than 64 results. My idea needed thousands of results. I asked about this on the official Google Search API forum and was told that, yes, there was no way to get more than 64 results. I then responded:

You’ll forgive me, I hope, for being confused. Over the last 4 or 5 years I’ve read hundreds of articles at Slashdot and Techcrunch and Businessweek and FastCompany, all talking about new businesses being built around Google’s API. In fact, I just did a quick search for “google mashups” and saw some “best of” articles, such as this one:

http://mashable.com/

Are all the Google mashups using small result sets to build their businesses?

Jeremy R. Geerdes offered this exhaustive reply:

I can’t blame you for being confused. There is a lot of seemingly contradictory information out there! For instance, Google’s initial search API offering came in the form of a SOAP API which delivered up to 1,000 results. While this API offered a number of interesting features, it also had a fairly low rate restriction which limited the number of times you could query it over a 24-hour period. Even though this API was deprecated in December 2006, the service to my knowledge has not yet been discontinued for persons who obtained an API key before that cutoff, so you’ll still find a number of sites and applications out there that use it, not to mention articles that refer to it as the greatest thing since sliced bread.


Speaking of the Group, though, even that contains a multiple of different numbers. For instance, when the AJAX Search API was originally released, you could not retrieve more than 8 results at all. So there are a number of posts stating a result limit of 8. Then the number jumped, for most searchers, to 32. So you have posts talking about that limit. Then to 64. Local and blog results were left at 8, and then Local results were increased to a total of 32. Blog result limits remain at 8 to this day, and if you’re not confused yet by all those numbers, you’re a smarter person than I!

All of that said, here is where things stand today. As mentioned in my previous post on this thread, you can retrieve up to 64 results, across 8 pages of 8 results each, with most searchers. The exceptions are Local, which can retrieve up to 32, across 4 pages of 8 results each; and Blog, which can retrieve only one set of up to 8 results. At first glance, this all may seem rather restricting, but I think that, for most purposes, the result limits as they stand now are generally adequate. Does that mean I wouldn’t like to see more? No, I would love to see more, especially local results. Rather, it is an acknowledgment that the AJAX Search API was designed to provide basic search functionality to an application. It is not intended for deep searching, data mining, or SEO operations. And I think most people will agree that, when just running a search for something on the internet, the vast majority of the time, we’ll click on something long before we get to the 64th result OR we’ll refine our search.

It should also be noted that the Search API is NOT intended to be the central emphasis of a website or the core of a business model. The TOU are explicit in this in a number of locations. For example:

“You will not, and will not permit your end users or other third parties to incorporate Google Search Results as the primary content on your Property or any page on your Property [or] display business listings Search Results from the Google Maps service on any Property which has the primary purpose of making available residential or business address listings or telephone directory listings” (excerpted from section 1.3)

“In using Google Brand Features, you may not have the Google logo as the largest logo on your Property (except as displayed in the Google Search Results itself) [or] display a Google Brand Feature as the mostprominent element on any page of your Property” (excerpted from
section 2.2)

So, to answer your question – Are all the Google mashups using small result sets to build their businesses? – directly: no, the Google AJAX Search API merely augments their current businesses and application functionality.

In the case of the mashups that you’ve seen at mashable.com and elsewhere, there are a number of sites out there that combine the Google Maps API with proprietary data sources other than the Google Search API. For example, one site that I work with ( http://www.scrantondirections.com ) has its own database of businesses, etc., that it pushes to a Google Map. These results may be augmented by Google LocalSearch results, but the primary focus is on the proprietary data. Other sites will combine the Maps and Search APIs with some other data to provide unique information. For instance, http://www.walkscore.com
uses a number of LocalSearch instances, filters their results through metric that calculates your ability to survive without a car at a given address, and then shows you all of the results using the Maps API. So it is absolutely possible to leverage even the “small result set” of the Search API to develop effective applications.

Dependency Injection explained in simple terms

Sunday, January 4th, 2009

Martin Fowler wrote a long article about “Inversion of Control Containers and the Dependency Injection pattern“. I recall struggling to read this article back in late 2005 or early 2006. It was really mind numbing at the time. For some reason, folks writing for the Java community feel the need to surround their ideas with a fair amount of ceremony. Also, the folks attracted to Java seem to be folks who are attracted to abstractness for its own sake. Fowler is a great writer and a genius of a programmer. Nevertheless, sometimes it is nice to say things plainly and simply. (Fowler is writing for a tough crowd – experienced Java programmers who can think of a counter-argument to all his arguments, and even counter-counter-counter arguments to all his counter-counter arguments. So his writing must contain a number of qualifiers that add to the complexity.)

I just reread the article and, since I’ve had years to grow used to its ideas, I found it easy to read. Allow me to summarize it here, as quickly and simply as possible, using PHP for what examples I give.

The problem to be solved is dependency. If you have an object that is dependent on another object, then your code is more brittle than it needs to be. A direct call from one object to another is an example of tight coupling. If that dependency could be made less direct, then your code would be more loosely coupled. When imagining the set of classes that will make up your software, your design goal should be “small pieces, loosely joined.”

I’ll use an example similar to the one that Martin Fowler uses.

Imagine you’d like to build some software that looks up all the movies that are made by a particular director. You might have a class that looks like this:

class MovieLister {

function moviesDirectedBy($nameOfDirector) {

$finder = new FindMoviesInCommaSeparatedList();

$arrayOfMovies = $finder->findAllMoviesMadeByThisDirector($nameOfDirector);

return $arrayOfMovies;

}
}

So this method returns an array with the list of movies it just found. If you are using this on a web site, for instance, you could now loop through the array and wrap it in some HTML and, viola, you’ve a nice little service that is listing all the movies made by some director.

But this line of code is bad:

$finder = new FindMoviesInCommaSeparatedList();

It is bad because you are using FinderMoviesInCommaSeparatedList directly, and this is a case of tight coupling. And yes, the name is clearly awful, but that is deliberate. Things would still be just as bad if you changed the name:

$finder = new FindMovies();

If FindMovies still looks up its data in a comma separated list, you are still tightly coupled to a particular way of looking up data. What if, in the future, you want to look up movies in a database?

Let’s imagine that you run a web design shop, and two new customers walk in. They hire you to build two different web sites. They both want to use this movie listing software you’ve developed, but one wants to store data in an XML file, and another wants to store data in a MySql database. How do you adapt the software to those different circumstances? You could edit the code for each customer, but then you’d essentially have two separate software programs, rather than one. Assuming you are called upon to maintain this software, and debug it, you would be facing twice the costs. Wouldn’t it be better if you could stick with one code base, and have a configuration file control those things that need to be different on the different sites?

In a real life application (let’s say for a website) you’ll often have multiple objects in use in a class:

class MovieLister {

private $finder;
private $html;
private $user;

function __construct() {

$this->finder = new FindMovies();

$this->html = new HtmlMaker();

$this->user = new UserManager();

}

function moviesDirectedBy($nameOfDirector) {

if($this->user->isLoggedIn()) {

$arrayOfMovies = $this->finder->findAllMoviesMadeByThisDirector($nameOfDirector);

return $arrayOfMovies;
}
}
}

This is some brittle code. MovieLister now depends on 3 other objects. If you later decide that MovieLister should use replacements for FindMovies or HtmlMaker or UserManager, you need to come here to this class and change the way the code is written. Again, wouldn’t it be better if you could make such changes from the configuration file?

That’s the basic idea of both the “dependency injection” pattern and the “service locator” pattern: the decision about what class you are using gets moved to a configuration file.

Imagine we have an object that can fetch other objects based on settings in a configuration file. We could re-write the constructor like this:

function __construct() {

$dm = new DependencyManager();

$this->finder = $dm->fetch(”FindMovies”);

$this->html = $dm->fetch(”HtmlMaker”);

$this->user = $dm->fetch(”UserManager”);

}

This is more flexible. Imagine that DependencyManager looks in some kind of configuration file (perhaps a big XML file) and finds out that, on this particular website, the call to “FindMovies” should really get FindMoviesMySql, which is a class that looks up the movies in a MySql database. On another website, using the same code but a different configuration, the same call to “FindMovies” fetches an instance of FindMoviesInCommaSeparatedList.

Your code is now more loosely coupled. You can make changes from the configuration file, so you no longer need to come here and directly edit your code, even when you want to make changes to the objects that are in use.

The only problem with the above constructor is that we are still directly dependent on DependencyManager. This could be fixed like so:

function __construct($dm) {

$this->finder = $dm->fetch(”FindMovies”);

$this->html = $dm->fetch(”HtmlMaker”);

$this->user = $dm->fetch(”UserManager”);

}

Now the DependencyManager can be invoked at some high level in your code, and perhaps the place where it is created could also be dependent on some setting in configuration. If you do that, you’ve achieved some wonderfully loose code. Your software is now insulated against a wide variety of changes that it might face in the future.

For the record, “inversion of control” is a fancy term, and it can apply to a lot of things, but when it comes to the “dependency injection” pattern mostly it just means that decisions are being moved from your code to some code that is outside of the current software. That is, normally your script will cause something to happen, and then another thing, and then another thing, but with inversion of control, some outside software will take charge for awhile and make some important decisions.

In his article, Martin Fowler talks about two patterns of managing dependency. He calls these two patterns “dependency injection” and “service locator”. The DependencyManager object that I’m showing in the code above is an example of the “service locator” pattern. This is an object that looks up other objects (other “services”) based on settings in the configuration file. The only possible problem with the service locator pattern is that you still have this object in your code, and you still have its interface there, so changes to its interface could harm your software, so clearly you’ve got a kind of dependence there. Most of the time, this won’t be a serious problem – it’s just the interface you’re dealing with. You can change to a different service locator, so long as it maintains the same interface.

With the dependency injection pattern you assume that you have some high level code, outside of your main code, that initiates your objects and which simply injects the objects that your code is dependent upon. There are different ways to do this but the main way is to use a constructor. So if you were using dependency injection, the above code might look like this:

function __construct($finder, $html, $user) {

$this->finder = $finder;

$this->html = $html;

$this->user = $user;

}

So in this example, all the complicated questions of managing dependencies is removed from your main code and placed in some high level code that works from the configuration and takes care of the dependencies for all of your objects. Your main code ends up looking quite simple, as you can see above.

Which is better, the dependency injection pattern, or the service locator pattern? That depends on context. Martin Fowler has this to say:

Inversion of control is a common feature of frameworks, but it’s something that comes at a price. It tends to be hard to understand and leads to problems when you are trying to debug. So on the whole I prefer to avoid it unless I need it. This isn’t to say it’s a bad thing, just that I think it needs to justify itself over the more straightforward alternative.

…A lot of this depends on the nature of the user of the service. If you are building an application with various classes that use a service, then a dependency from the application classes to the locator isn’t a big deal. In my example of giving a Movie Lister to my friends, then using a service locator works quite well. All they need to do is to configure the locator to hook in the right service implementations, either through some configuration code or through a configuration file. In this kind of scenario I don’t see the injector’s inversion as providing anything compelling.

The difference comes if the lister is a component that I’m providing to an application that other people are writing. In this case I don’t know much about the APIs of the service locators that my customers are going to use. Each customer might have their own incompatible service locators. I can get around some of this by using the segregated interface. Each customer can write an adapter that matches my interface to their locator, but in any case I still need to see the first locator to lookup my specific interface. And once the adapter appears then the simplicity of the direct connection to a locator is beginning to slip.

…So the primary issue is for people who are writing code that expects to be used in applications outside of the control of the writer. In these cases even a minimal assumption about a Service Locator is a problem.

I have a personal PHP framework that’s been in development since 2002. For my personal style of coding, getting the right dependency manager in place was the single most important design decision I ever made. Through trial and error, over the course of two years, I stumbled into my current design. Without even knowing the name of the pattern, I developed a service locator. As Fowler points out, a service locator is the ideal choice for managing dependencies in situations where the author has full control over the relationship between the base code and the client code. When you, as the author, know where your base code (providing services) will live, and where your client code (dependent on those services) will live, then a service locator makes sense.

That was back in 2004, before I had even read Fowler’s article – though having struggled with the issue of dependency, I was hungry for information on the subject (though, as I said above, I found the article overly abstract the first time I read it).

In the end, the dependency manager I put in place allows so much flexibility that I haven’t needed to change it in the last 4 years. It allows my code to evolve with each new project I take on. Whenever I need to replace a class, I simply do so, and the rest of the code is insulated from that change – no surprising bugs crop up.

On a different subject, I’ve already written of a bitter experience I’ve had trying to manage a Flash project. I am curious how dependency injection would be handled in ActionScript 3, and how that would get worked into a Flash project. Maybe I don’t understand enough about Flash/Flex, but the setup of the average Flash project seems resistant to a lot of the best ideas in OOP programming.

(Speaking of Martin Fowler, I just noticed someone has created a PHP version of PicoContainer, for doing dependency injection in PHP the way Fowler suggested.)

Mixins are bad?

Sunday, January 4th, 2009

Interesting post by Michele Simionato:

The idea of creating classes by composing reusable collections of methods is quite old: for instance Flavors, and old Lisp dialect, featured mixins more that 25 years ago. Nevertheless, there are still people thinking that the idea is new and cool: as a consequence, we see a lot of new code where the idea is misused or abused. Writing a paper showing the downfalls of mixins is in my opinion worth the effort.

Injecting methods into a class namespace is a bad idea for a very simple reason: every time you use a mixin, you are actually polluting your class namespace and loosing track of the origin of your methods. In this sense, using a mixin in a class is just as bad as using from module import * in a module. However, everybody agrees that it is much better to use the full form mymodule.myname instead of importing all the names in the global namespace, but nobody realizes that importing methods into a class via a mixin is potentially just as bad.

For instance, have a look at the hierarchy of the Plone Site class which I report in appendix. Between square backets you can see the number of methods/attributes defined per class, except special attributes. The plot comes from a real Plone application I have in production. The total count is of 38 classes, 88 names overridden, 42 special names and 648 regular names: a monster.To trace the origin of the methods and to keep in mind the hierarchy is practically impossibile. Moreover, both autocompletion and the builtin help facility become unusable, the self-generated class documentation become unreadable since too big.

In other words, a design based on mixins works for small frameworks, but it does not scale at all to large frameworks. Actually, Zope 3 has been entirely rewritten with the goal of avoiding the mixin abuse of Zope 2 and to use composition instead of inheritance (this is basically what the buzzwords Component Architecture really mean).

A consequence of namespace pollution is that it is very easy to have name clashes. Since there are hundreds of methods and it is impossible to know all of them, and since method overriding is silent, this is a real problem: the very first time I subclassed a Plone class I run into this issue: I overrode a pre-defined method inadvertently, by causing hard to investigate problems in an unrelated part of the code.

Her argument against mixins sounds like the arguments against big inheritance trees, and she reminds me why composition is better than inheritance. Mixins, in her telling, are even worse than inheritance because the inheritance is less explicit and comes from so many directions.

Of course, composition can lead to tight coupling, which makes code old and brittle and resistant to change. Composition can be done in a loose way if you use a lot of wrapper classes, insulating the calling class from the class that is called. Lots of wrapper classes can have the problem that they slow the code down, and make it more complex. I went down that road, once, years ago, and then eventually I got angry at my own code, for being too complex.

I eventually came up with a simple manager of dependency (a single object that manages dependency throughout the code).  One of my goals has been to keep my code as easy-to-read as possible for any future programmer who might have to replace me. I worry about the complexity that comes from inversion of control and dependency injection, but that is one viable way of maintaining loose coupling as my code evolves over time. Introducing a dependency manager is one of the few design decisions I’ve made that possibly makes it harder for new programmers to understand my code, but I believe the benefits out weigh the risks.

When your company stalls, the results are devastating, and last several years

Sunday, January 4th, 2009

The Harvard Business Review had out a special issue this fall, the cover title of which was “Growing Your Business In A Downturn.” Since HBR is focused on Fortune 500 companies, and since I work with startups, I suppose I shouldn’t find these articles relevant, yet I do. I suppose it is good to know what comes after the startup phase. If a small company grows rapidly, what crisis next appears?

One article in particular interested me, “When Growth Stalls”, by Matthew Olson, Derek van Bever and Seth Verry. They analyze 400 big American companies and 100 international companies, looking back in time all the way to 1955, and they find that 87% of these companies suffered from a “growth stall” which they define as follows:

To qualify as having stalled in a given year, a company must have enjoyed compound annual growth (CARG) of at least 2% in real dollars for the 10 year period prior to the potential stall point; the difference in CARG for the 10 years preceding and the 10 years following the stall point must have been at least 4 percentage points; and the CARG of the subsequent 10 years must have fallen below 6% in real dollars.

They identify 4 main reasons for growth stalls:

1.) Premium position captivity

2.) Innovation management breakdown

3.) Premature core abandonment

4.) Talent bench shortfall

Of these, #1 and #3 don’t apply to startups, since they have no position to be captive to, and either their core focus is undergoing rapid growth, or the startup is as good as dead.

#2 has an echo in the world of startups. There is the problem of “the endless brainstorm“, a sort of mental illness where the entrepreneur hires a team and chases an idea, but then gives up on the idea because they worry it is not unique enough, so they then they chase another idea, and then another, always pursuing what they hope will be a unique idea, but then giving it up before it has had a chance to prove itself.

#4 is, of course, one of the central problems that startups face. When an organization can only afford to have 8 or 9 people on the team, it is impossible to get all the desired skills. One has to rely on the adaptivity and quick learning of the folks on the team to cover the deficits. Of the startups I’ve worked with, all the failures I’ve seen were of three causes:

1.) Initial idea was a bad one, no real market demand existed for this product or service.

2.) Under capitalized, and therefore unable to execute the vision.

3.) Talent bench shortfall crippled execution. Though the market demand was real and there was enough money to start the project, a lack of some critical skill eventually brings the organization down.

Though I don’t have to deal with #1 and #3 when dealing with startups, they were fascinating to read about.

#1 is simply the other side of the world of startups – when you are a big organization you have to worry about a feisty startup taking your market away from you. As the authors note in the article, this is a category of problem that was well covered by Clayton M. Christensen in his book “The Innovator’s Dilemma“.

The article offers a fascinating story to illustrate #3:

The two most common mistakes we saw in this category were believing that one’s core markets are saturated and viewing operational impediments in the core business model as a signal to move on to new, presumably easier competitive terrain. Either situation invariably ended badly, with some competitor moving in to displace the incumbent.

…In 1976 Kmart reached a peak in new store openings, adding 271 facilities to its countrywide network. That would prove to be its limit. Over the next decade the company reined in expansion in its core business, convinced that the US market was saturated. Its chairman, Robbert Dewar, created a special strategy group whose purpose was to study new growth avenues and, in the parlance of the time, far-out ideas. He also established a performance goal for the company: 25% of sales should come from new ventures by 1990.

What’s most disturbing about Kmart’s choices is not that management was tempted to diversify in search of growth – however misguided this appears in hindsight, given Wal-Mart’s concurrent gathering of strength. Rather, it is that the executive team failed to monitor and match the distribution and inventory management capabilities that its rival was pioneering in Bentonville, Arkansas. In the early 1980s, while Wal-Mart was installing its first point-of-service system with a satellite link for automatic recorders, Kmart was acquiring Furr’s Cafeterias of Texas, the Bishop’s Buffet chain, and pizza-video parlors as outlets for its retained earnings. Throughout the next decade Wal-Mart continued to invest in its cross-docking distribution system, while Kmart pursued a range of disparate businesses, including PayLess Drug Stores, the Sports Authority, and OfficeMax. By  the end of the 1980s Kmart was at least 10 years behind Wal-Mart in its logistical capabilities, handing Wal-Mart a “gimme” advantage of more than 1% of sales in inbound logistics costs. As Kmart lagged ever further behind, its imagined need for outside-the-core growth platforms became real.

One other thing jumped out at me in this passage, an issue I’ve thought of a lot before, and that is the assumption that corporations should hang onto to profits and reinvest them, even when management feels its core market is saturated. The other option is to give the money to the owners of the corporation, the shareholders, and let them reinvest the money as they see fit. What is the ethical argument in favor of “acquiring Furr’s Cafeterias of Texas, the Bishop’s Buffet chain, and pizza-video parlors as outlets for its retained earnings”? I realize this is how things are done in all of the advanced industrial countries, and perhaps I should not argue with success. Still, it seems to me there is an alternative way to organize the economy, one which is not much discussed by either critics or supporters of the current system.

The alternative would involve companies not ever expanding outside of their core market, but instead giving all surplus capital (the profit) back to the shareholders, and allowing the shareholders, as private citizens, to make all the decisions about how capital is reallocated from one sector of the economy to another. What right (other than established precedent) do large corporations have to make these decisions? And why do so many people get angry about the government taking their money through taxes, yet so few get angry about corporations hanging onto money that really belongs to the shareholder (the question is rhetorical, I realize this is an example of the well studied psychology that people fear losses more than they value potential gains)?

I can imagine a hypothetical investor in Kmart, circa 1980, who realizes that Wal-Mart is moving ahead, while Kmart is stagnating. The investor would like to move their investment from Kmart to Wal-Mart, but they can not get the full value of their investment out of Kmart, because the management of Kmart is wasting its retained earnings on pizza parlors. The investor must sacrafice some small amount of potential value, when they sell their Kmart stock and reinvest in Wal-Mart.

I think on some level we all have a bias toward centralized decision making. This would explain why we think it is normal for large corporations to make decisions about reallocating capital from declining sectors to rising sectors. Otherwise, we would think it normal to push the money, and therefore the decision, back out to the millions of investors who make up the (nominally) real owners of capital in our society.  (I say “nominally” since, in practice, it’s become common to treat investors as something other than real owners.)

My predictions about the future

Thursday, January 1st, 2009

Rich and Happy has some predictions for 2009.  I’ve some predictions too, which I will record here. I put these things down in writing, mostly for myself. I’d like to be able to look back, years from now, and see what I believed at the end of 2008. It will be interesting to learn what I am wrong about. I am certain that by 2019 some of these predictions will seem embarrassing.

At some point (and I wish I could find the quote), Joseph Schumpeter said that people tend to view the early phase of a depression as a temporary blip, yet by the end of the depression people’s views have changed dramatically. What had been the fastest growing city is now among the slowest growing cities. What had been the most profitable industry is now the industry trying to recover from a glut of over-supply. Embryonic industries that had been growing rapidly in a small niche finally burst upon the main scene with a vigor that takes everyone by surprise. Regions and countries are surprised to realize that they have passed through an inflection point and cannot continue doing what they did before. Recall the universal surprise when the unstoppable Japanese economy of the 1980s became the no-growth economy of the 1990s. I think culture, religion, entertainment and politics are also transformed by depressions, in keeping with Schumpeter’s line “The social process is really one indivisible whole.” Yet out of that mix, he said, an economist must pluck certain phenomena and call them “economic”, and I will do the same here.

Predictions:

1.) At some point in the next 10 years, China will see enormous civil unrest. Every advanced economy on Earth has adopted some kind of free-speech-plus-elections model as the main method through which different factions work out their antagonism toward each other. If one industry is in decline, and another rising, the shift in power can either be registered at the polls, or it can be registered through violence. There is no third way. If factions need to turn to violence to work out their differences, then economic growth will slow.

2.) At some point in the next 15 years, India will replace China as the fastest growing large nation on Earth. India already has in place most of the civil rights that are necessary for sustained economic growth.

3.) In the USA, new jobless claims will reach a peak in the 3rd quarter of 2009. Unemployment will remain above 7% till 2011.

4.) During the period 2009 to 2014 the dollar will fall in value, relative to other currencies. The dollar fell from 2005 to 2008. It was heading toward a sustainable market level. The financial crisis drove the dollar back up because traders had made enormous bets denominated in dollars, and they had to buy dollars to unwind those positions. When the unwinding is finished (that is, when the financial crisis is finished) the dollar will return to the 2005-2008 trend. But the true value of the dollar is lower than even its lowest value of 2008. America, after all, now has both a huge trade deficit and a huge external debt.

5.) A falling dollar will help exporters. Exports will be one of the main sources of growth in 2010 and 2011. Exports will help end the depression.

6.) Private, foreign investment in America has stopped cold, but will resume when the dollar falls in 2010. After that, for 5 or 6 years, private foreign non-financial investment will be at an all time peak. Foreign investment in purely financial vehicles will be muted compared to the past.

7.) At the beginning of 2013, the Dow Jones Average will still be beneath 11,500. For the last 30 years, foreign money has been a factor in the upward trend of the market, but foreign money will be averse to re-entering the market when the dollar is perceived as needing to adjust downward. Also, the Obama administration will push through new regulations aimed toward reigning in financial speculation of all kinds, so the kind of leverage that was common during the last 30 years will be very slow to return. (I say this assuming that the USA won’t engage in deliberate high inflation, though deliberate high inflation is a viable solution that some liberal economists are thinking about. I think it is possible, but unlikely, that the Obama administration will follow this path.)

8.) During the period 2009 to 2019 we will not see 12 consecutive months where oil is above an inflation adjusted $150 a barrel. I have friends who think that oil supplies will soon run out and therefore, because oil is so important, the price of oil is going to skyrocket. I think the experience of 2008 offers a different model – oil is so important that the world economy can not grow when oil is expensive. Therefore, whenever oil gets expensive, the world economy will lapse into a recession, and the recession will bring down the price of oil.

9.) Conversely, from 2009 to 2019, any time America sees more than 4% annual real growth, oil will rise above an inflation adjusted $100 a barrel. I have friends who, earlier this year, believed that the era of cheap oil was over. I believe in something slightly different – the era of cheap oil during an economic boom is over. From now on, in the USA, we will only see cheap oil during economic slow downs.

10.) During the period 2009 to 2019 the medical industry will make slow, incremental progress toward understanding cancer. There will be no major breakthroughs during this period, though the possibility of a major breakthrough may come into view by the end of this period. When I say “major breakthroughs” I’m thinking especially of a silver-bullet, that is, a single process or drug that works against all types of cancer. I do expect to see more drugs like Herceptin that are useful against a particular type of cancer (thus, “incremental progress”). Is a single, silver-bullet type of treatment against all types of cancer even possible? By 2019 we should know whether cell processes (such as those activated by sirtuins) will allow for this approach.

11.) During the period 2009 to 2019 we are due for the emergence of new, deadly epidemic. Like the Pandemic of 1918 or the AIDs epidemic of the last 30 years, it will be something unexpected when it occurs. I don’t believe the next epidemic will be caused by avian flu, simply because the dangers that people make preparations for are rarely the dangers they are killed by. There is a reason why flying is safer than driving, and it’s not because strapping 200 people into a metal tube and hurling them at 500mph through the air at 40,000 feet is an inherently safe activity.

12.) During the period 2009 to 2014 the news industry will reach a critical tipping point. Online ad revenues will grow dramatically while print ad revenues will continue their decline. The kids who were 25 in 1996 will soon turn 40. Getting one’s news from the web will no longer seem hip, modern, cool or youthful. It will simply be the way that people get their news. Many older organizations will fail to adapt. Fortunes will continue to be made by the entrepreneurs who build media empires online. (I tried to say this before, but I said it poorly.)

13.) 2008 is later viewed as the beginning of a long era of Democratic dominance in the USA. Much like 1932 began a 36 year era for the Democrats and 1968 began a 40 year era for the Republicans, 2008 begins another Democratic era.

14.) 2008 is later viewed as the beginning of the end of the long era of party stability that began in the USA in 1868. Popular discontent with the 2 party system leads to experimentation that either allows 3rd parties to become viable over the long term, or simply allows the replacement of one of the existing parties with a new, dominant party.

15.) During the period 2009 to 2019 universities in the USA become the center of a new industrial policy. Universities are one of the USA’s few remaining strong points and so must be utilized to launch the next wave of sustained economic growth. Whereas the industrial policy that grew out of the 1930s largely focused on subsidizing agriculture and defense, the new industrial policy will focus on subsidizing high-tech innovation through what supporters will describe as mutually beneficial public/private partnerships (critics will describe these programs as giveaways of taxpayer money to private firms). Universities will become major exporters, though mostly they will be exporting technology and expertise, a fact which will make many US citizens uncomfortable. The extra money implied by this new industrial policy will at first enhance and enrich universities, though over the course of 20 years the universities will increasingly become the slaves of the private partners who put up matching funds, and this reorientation toward goals quite divorced from teaching young people must eventually bring an end to the university system that the USA built during the last 100 years. I can not guess if the replacement system (after 2029) will be good or bad.

16.) The Obama administration makes efforts to ameliorate the concentration of wealth that has taken place in America since the mid-1970s. However, in 2016, inequality in American wealth remains at higher levels than in 1970.

17.) The children of The Great Demographic Trough (I mean the low point of birth rates in the late 1970s and early 1980s, “U.S. fertility hit its low of 1.7 in 1976“) are now ready to have children themselves, but they face an economic downturn. The birth rate in the USA is already at an all time low. If you look at these numbers from the Census Bureau, you’ll see that the birth rate is now at the same level it was in the 1970s, a fraction over 14 per 1,000. This actually represents an uptick, given the aging of the population. The number will go down from here. The high birthrates of recent immigrants will be offset by the aging of the Baby Boom and the trepidation of the young who are facing economic uncertainty. (Certainly, it takes money to raise children nowadays. From the same article as above, written in 2006: “We do know that birthrates ticked up quite a bit among the most affluent,” says Stephanie Coontz, director of research and public education at the Council on Contemporary Families. “Kids are luxury goods.”) In the medium term (2009 to 2019) the only thing that could offset this trend would be much greater immigration.

18.) The fertility rate will revive to high levels when strong, sustained economic growth returns – 2013 at the earliest. Articles that cheer “Fertility rate in USA on upswing” will disappear for the duration of the depression. Please note that the above mentioned birth rate and this fertility rate measure two different things: the first is a  per-capita measure, and the second is a per-woman measure. The first is declining but the second has been rising. The first has implications for society-wide institutions such as Social Security whereas the second has implications for the personal happiness of women and their partners. Because of the old age and large size of the Baby Boom, there is very little chance of the birth rate picking up any time soon. The fertility rate, on the other hand, is at a relatively high level right now and will go even higher when economic growth resumes. The USA’s civil rights tradition, and its flexible use of part-time and informal work, both contribute to an environment that enables US women to have more children than the women in other advanced economies feel comfortable having. 

19.) During the period 2009 to 2019 falling birth rates cause no harm to the economy. We read with humor these doomsday words from 1902: “A saving is effected in inconvenience and expense in rearing seven children instead of nine in an equal population, by which means the prosperity of recent years has no doubt been augmented, but the family and the country are eventually impoverished by their absence, though their loss may be partially remedied by a larger influx of aliens or a check to emigration. When the birth-rate falls to 28, the limit of public danger is approached.” The social/political system in the USA is flexible and will adjust. Having an old population is a new experience for the human race. The USA’s culture of innovation will allow it to make this transition gracefully. Also, expect “a larger influx of aliens.”

20.) During the period 2009 to 2019 fundamentalist Christians will face new political challenges. In particular, church leaders who claim that the USA is a Christian nation will be directly challenged by atheists, secularists and New Age spiritualists, who will be feeling energized by what they perceive as a positive change in the political and social milieu.

21.) Nationalization of industry was pioneered in 2008 and will become much more common. What was introduced as an emergency measure will become normalized. The public will become comfortable with a modest amount of socialism, so long as it is not called socialism. By 2019, even normal, annual disasters such as hurricanes will be followed by nationalizations and recapitalizations of affected regional firms. This will open the door to enormous corruption, which must eventually provoke a backlash, but I do not expect the backlash to come till some time after 2019.

22.) 2008 is later seen as the beginning of the end of the middle class suburbs. The death of the suburbs is triggered in part by #9, the lack of cheap oil during economic expansions. The death of the suburbs is not noticed for decades, in the same way that the decline of urban centers after 1929 wasn’t noticed till the end of the 1950s (when newspapers began to run articles about “the urban crisis”). Only the middle class suburbs die. The wealthy continue to live in the suburbs, just as they have for several centuries (for instance, during the Black Plague of 1347, wealthy citizens of Pisa left the city and retired to their estates just outside the city).

23.) At some point during the period 2009 to 2029 the ice masses of Greenland melt, with the same horrifying suddenness as the Larsen Ice Shelf melt of 2002. More than most other events, this causes public opinion in most advanced nations (and all island nations) to focus on global warming as an imminent threat to their standard of living. Those people who have previously questioned the urgency of global warming are dealt a dramatic political setback by this event.

24.) During the period 2009 to 2029 various nations make various responses to the environmental changes that occur. Because so many of the changes are in response to events that cross national borders, legal precedents begin to accumulate that erode the sovereignty of nations. The precedents first arise from ad-hoc arrangements that nations stumble into on a per-crisis basis, but later harden into a general set of principles. The ideal of national sovereignty undergoes its biggest change since the Peace of Westphalia established the current system in 1648.

25.) During the period 2009 to 2019 the US Federal government takes over the financing of much economic activity that had previously been held in state and local hands. In some sense, this represents the completion of a process that began in the 1930s. The American political right-wing, which resisted the trend toward centralization, is now too exhausted and fractured to fight back. Policies that would have lead to the impeachment of FDR are now passed without any significant resistance. Liberal economists argue that the federalization of funding saves taxpayer’s money, and state and local officials, both conservative and liberal, will go along with the new policy, since they will feel they lack other funding options. No backlash will form till the Federal government uses its expanded funding power to push policies that are locally hated.

26.) During the period 2009 to 2019, and despite the continuing success of Silicon Valley, California loses its status as the Gold Coast of America. Newly progressive states, such as New Mexico and North Carolina, become the economic leaders. They are helped by the investments they’ve made to their university systems, and by the lack of hype (and over investment) they’ve experienced in the past (which leaves them with relatively low rents for houses and office space).

27.) During the period 2009 to 2019 greater government regulation is extended over types of work that  previously enjoyed some informality. Certificates will now be demanded for many jobs, such as auto mechanic and computer programmer, where previously nothing formal was required. During the 1930s, when the economy was in a bad spot, work relations were increasingly formalized, but during the boom years of the 50s and 60s the emphasis was on informality. Since the economy is again in a bad spot, it is reasonable to imagine another era of formalization is upon us. This may close some doors for the type of male who was only comfortable with informal arrangements, though it may be a boon to women, who may have benefited from formalized work arrangements (at least at the top tier of the economy).

28.) During the period 2009 to 2019 small farms will revive in the USA. I’m speaking here of commercial farms that have 20 acres or less. This is a category of farm that has been extinct in the USA for some time. The trend is lead by the CSAs. I have a friend who runs a successful CSA, and I asked her why she could survive when small farms disappeared a long time ago. Her answer: “The Internet”. It is the Internet that allows her to connect to her subscribers. The subscribers provide a 0% interest loan to the farm, since the they pay for the whole year up front, in the spring. The subscribers also provide free labor, as they occasionally volunteer on the farm. It is also the Internet that allows her to freely communicate with her non-subscriber customers, telling them what days she’ll be in what cities, what farmer’s markets. And it is the Internet that gives her all the information she needs about what crops can be grown next to each other, what each crop needs, and what plants repel birds or insects, thus allowing organic farming. Over the last 30 years the price of information and communication have fallen dramatically, and the effects of cheap information keep appearing in surprising places.

29.) Most societies have some hated outsider who is economically important, tolerance of whom is an important indicator of the possibility for economic growth. In the 1700s, in Europe, it was the Jew. (”Enter the London stock exchange, that place more respectable than many a court… There the Jew, the Mohammedan, and the Christian deal with each other as if they were of the same religion, and give the name of infidel only to those who go bankrupt.”). In the current era, according to Richard Florida, a tolerance of gays and lesbians is an indicator of the kind of cultural openness that allows economic growth. This will continue to be true for the next 10 years, though gays and lesbians are rapidly losing their status as the hated outsider. By 2019 they will be replaced by some newer hated outsider, tolerance of whom is again an important indicator of the possibility of economic growth. Who will the new hated outsider be? Probably an old hated outsider: as immigration increases, resentment toward immigrants will also increase.

30.) During the period 2009 to 2019 an increasing number of jobs will become mobile. I’ve never gone alone with the hype that the Internet eliminates the importance of geography. I’m not sure if anyone ever  really believed that. I just did multiple searches on the two magazines most associated with the ultra-hype of the 90s, and with both magazines, the only references I could find were negative. Wired has been generally negative toward the idea of telecommuting (in 1994: “most employees still believe that physical visibility is necessary for promotions, and this will keep telecommuting from catching on” and in 2008: “As a columnist, I ought to personify the conventional wisdom that distance is dead… but if that’s true, why do I still live in London, the second-most expensive city in the world?”). And FastCompany took the idea that “Geography is disappearing” and called it a myth: “Geography still matters, because in a global economy, business clusters are important. Relationships also matter, as do shipping times.” All the same, Peter Drucker was certainly right when he suggested knowledge has no geography: “Knowledge is becoming the one critical factor of production… Knowledge has become the central, key resource that knows no geography.” At least in the USA, knowledge will continue to be the main driver of productivity gains and economic growth, and knowledge workers will continue to see an increase in their mobility, due at least in part to the Internet. The Internet is no longer new, but companies, and society, are still adapting to it.

31.) During the period 2009 to 2019 the trend toward home schooling will continue in the USA. Home schooling will become organized, with parents renting out buildings where their children can meet for regular classes. In other words, “home” schooling will evolve into an alternate, parent-run school system. The political backlash from the educational establishment will be a vicious, ugly thing to behold.

32.) During the period 2009 to 2019 the trend toward continuous, lifetime learning will accelerate. It will become more common to meet high school drop outs who build fantastic careers during their 30s because of the education they got during the late 20s. Supporters of this trend will celebrate the fact that “Continuous learning is still an American innovation; it is still considered absolutely unimaginable in Japan or in Germany.” Critics of the trend will complain that Americans are remaining immature and undeveloped till later and later ages. This particular criticism of Americans has been around for a long time. It is similar to what  Ernest Hemingway expressed in “The Short Happy Life of Francis Macomber“: “It’s that some of them stay little boys so long, Wilson thought. Sometimes all their lives… The great American boy-men.” The criticism is valid when directed at someone who has, implicitly or explicitly, agreed to a responsibility which they then shirk, but it is not valid when directed at someone making a rational calculation about their economic future. The working class kid who drops out of high school to learn the skill of tatooing at a local shop might be making a valid decision based on the economy: all the high paying industrial jobs are gone, so why not train for one of the post-industrial jobs?

33.) New mental illnesses will emerge as people fail to adapt to the new abundance of information. Between 1870 and 1920 the abundance of food increased dramatically and so during the 1920s psychologists were able to diagnose a new mental illness, which they called anorexia nervosa. What had been historically scarce had become abundant, leading to a cultural disruption, and the first to manifest negative symptoms were America’s young girls. Likewise, over the last 30 years we’ve seen a very dramatic increase in the abundance of information. No doubt this increase, too, will cause some vulnerable young people to be overwhelmed in unhealthy ways.

34.) During the period from 2009 to 2019 economic growth in the USA will average higher than it did during the period 1998 to 2008. A pro-growth political coalition will make needed investments in basic infrastructure, raising productivity. Also, an increase in immigration and a falling dollar will lead to more total employment.

35.) During the period from 2009 to 2019 the debate over school choice is altered by the arrival of a new group: parents of children who’ve been bullied at school. A few incidents of brutal bullying will cause the American public to treat this issue more seriously than before. The politics surrounding the school choice issue change greatly as the issue becomes less about religious freedom and more the safety of the children.

36.) In the field of computer programming, the trend toward light-weight, high productivity scripting languages will continue. By 2019, all of the scripting languages that burst upon the scene this decade (Ruby, PHP, Python, etc) will be facing pressure from a new generation of easy to learn languages that will empower non-programmers to do a wide range of things that currently only programmers can do.