Reasonable Trial Durations: 30/30/30

I’ve come up with a way for trial software to be fair and recover lost sales opportunities. The secret: 30/30/30.

30/30/30While doing Java development, I was looking for a new IDE for Windows. Naturally, my hunt ended with IntelliJ, with Eclipse and NetBeans close on its heels.

What started the whole chain of thought for me, though, was IntelliJ’s trial period. Frankly, I really respect a company that has enough faith in their products that they let you use them, unencumbered, for a month in order to make an informed purchasing decision.

Oddly enough, though, it wasn’t enough. Allow me to explain.

The purpose behind a trial period is to allow end users to “log enough flight time” with the product that they know whether or not it meets their needs.

And here’s the problem. I have an existing code base of inter-related projects that I need to import into the IDE. And, since this is for work, my schedule is fairly swamped. I can only come up for air to do an evaluation once every week or two just for an hour or so.

What inevitably happens is this: I install the software, validate it installs, then a week or so later, I try to import; it fails, so I table the project until I have more time. A week or two goes by, and I try again, getting closer. Then, when I come up for air and try to get a bit further, the evaluation period is over. I’ve realistically had about less than three hours using the software, and none of it in the IDE writing code.

This happened to me last year as well.

And, what’s the natural conclusion at this point? I don’t know if it will meet my needs or not. Thus, a purchase doesn’t happen.

From marketing’s perspective, they think that the following scenario is the norm: a user downloads the project, tries creating a project, slings a bit of code, gets married to the IDE, and is willing to pay to keep the experience. In fact, I’ve done just this, and I really love IntelliJ.

But, no matter how much love I have for the product, if I can’t move our corporate applications into it from an existing source base, I can’t justify the site-wide purchase. End of story.

Oh sure, I could talk with the kind folks at JetBrains and ask for an extension, and I’m sure they’d give me one.

But that isn’t the point.

Being a software provider myself, I see this as a generic problem. What if I want to produce trial software that’s fair. I can’t have my customers not being able to make a well informed decision for running out of time.

Here’s my solution… 30 days, 30 invocations, 30 hours – Whichever Comes Last

Here’s how it works:

  • You’re guaranteed at least a month of physical time.
  • You’re guaranteed at least 30 invocations.
  • You’re guaranteed at least 30 hours.
  • When all three of the above goals are hit, stop the trial.

Implementing this isn’t be hard at all. It’s also quite fair and balanced.

If you are doing real work, making use of the application for 30 days, then you’re going to quickly chew through the 30 invocations and 30 hours.

If you have just haven’t even tried the software enough, you get 30 attempts.

Finally, the 30 hour rule recognizes if you haven’t had time to actually experience the software.

I’d like to see vendors start taking this approach. It’s a good one, too. It would certainly result in more sales.

Sticky Fingers: Logitech Mouse

Ok, not making this up. It’s been so long since I used my home Windows system that the plastic on my mouse is decomposing. Literally. Not the rubber. The plastic housing. The hard plastic.

This will give you an idea of how long it’s been since I’ve used Windows at home.

I had to hook up an LCD monitor to the Windows box, boot the system, and install a pile of updates [1 WGA; 34 express; 2 custom]. However, something else gave me a true sense of the time that had passed: when I moved the mouse, I felt something oily and sticky on my thumb. The plastic mouse had degraded.

Upon closer inspection of my Logitech iFeel MouseMan (M/N: M-UN53b; P/N: 830445-0000), the thumb button had ooze dripping on it.

Where did it come from? The answer was obvious. There was a thumb print above the button, where the hand naturally rests.

Apparently the natural oil in my hand left a finger print on the mouse. Undisturbed for so long, the plastic broke down and started becoming liquid mush in that one spot.

I’ve never heard of a mouse breaking down like that, but I’m holding the evidence in the palm of my hand.

Now, the larger question: do I buy a new mouse? Nah, Windows isn’t worth the pocket change or that level of effort to me anymore.

Japanese Steakhouse: “I could do that myself!”

Ever wonder what would happen if you had the chance to be like one of those Chefs in a Japanese Steakhouse, with the flying knives and bottles of flammable liquids? Well I’ve got a good idea now…

There’s a fairly large chance that you’ve been to a Japanese Steakhouse before. You know the kind, where you sit down at a huge flat grill, the chef comes out and whips knives and spatulas around his fingers, throws food here and there, and you’ve got yourself a meal.

When it comes to the part with tricks using fire, I’ve often thought: “I could do that myself!”

And I’d be wrong.

Last night I had a chance to eat at a Japanese Steakhouse where the chef was brand spanking new, and it was his first day on the job. I figured I’d use his experience as the best-possible-scenario for what would happen if I disregarded the disclaimer from the experts and tried this at home myself.

Wheeling out the cart was the first sign something was amuck; because rather than smoothly docking it into position, this cart gave him as much trouble as a shopping cart with a wobbly wheel gives me.

His execution of the spinning spatula was acceptable, but nothing impressive. No speed. No flare. The knife he just waved around, it was clear he didn’t want to let go of it.

With smiles, he dumped a blob of rice at the top of the grill and went to do the “egg roll” trick, where one spins an egg real fast and picks it up on the blade of the spatula. First attempt and the egg was running all over the hot grill. Second attempt it leap of the spatula and into the rice. He was expecting it to go into his hat.

Things calmed down at that with the eggs. He tossed them, not as high, but they missed or bounced off the edge, and soon he was out of eggs.

Then he decided to do some fire. Normally you draw a smiley face with one bottle, squirt a bit from another, light it from afar, and the blaze lasts an instant.

I said normally.

No, this guy lit the stuff in the middle of the grill with a match. A match. And that made a fireball. Which, still with the container in his left hand, he proceeded to squirt more fuel into. It was lighting gasoline.

I know from back where I was sitting, the heat was over powering. His exposed hand was in the middle of it for a moment. He cooled it off with a moist towel.

Chopping up stuff, he did pretty well. The objects weren’t moving, and he further used the spatula as a guide to keep the knife straight. But simply slicing food – slowly – wasn’t entertaining us.

To recapture our attention, he build a volcano out of onion slices. Again, how this works is that you put a little of bottle A and a little of bottle B, and you get a flame near it. It produces a small flame, to which you sprinkle spices in, and it looks like sparks. Why they call out “Chinese Fireworks” in a Japanese Steakhouse, I’ll never know. But then the flame goes out, and with a small push, the trapped steam makes a tube of “smoke”, as the chef pushes it forward slowly while rapping the spatula like a train bell.

Again, normally this is what’s supposed to happen.

He pours in a lot of bottle A and a lot of bottle B, and strikes his match, holding it directly over the spout.

This reminds me of the old fashioned commercial from the gas company which showed a gas filled room with people sitting in it smoking and talking. The point was, gas is safe. In order for it to become explosive, the gas to air mixture has to be right. Too little, and nothing happens. Too much, and like the commercial, nothing happens.

Well, there was so much stuff the chef put in, that it extinguished the flame. And that sent him off looking for more matches.

In the short time he was doing that, the liquid in the volcano was boiling away. So when he struck the second match next to the volcano, there was an enormous hovering gas cloud that suddenly became visible as it burst into flame. It was like someone cast magic missile on the darkness.

The tiny volcano literally roared as a jet like flame came spewing from it, and it was at this moment I could see the worry in his eyes. It was so hot that his recoil sent his spatula flying, and when he picked it up and set it at the other side of the table, he slathered the handle in butter. Which he noticed the next time he went to move it.

When the flame finally went out, billows of steam poured forth. It too had a low rustling whistle, something else I didn’t think was possible.

After wiping off his spatula, he refocused on just getting the food to us. And, yes, it was delicious. No complaints there.

We thanked him kindly, as he banged into his cart and tried to wheel it away with just as much trouble as his arrival.

It was at that point I thought the better to myself: this guy is a professional, he’s been trained, and this is his first day infront of customers. Imagine what would have happened if I tried this on my own, which we all know I’d do without supervision.

I don’t know which would be worse, discovering that we didn’t have a halon fire extinguisher at my instant disposal, or that the door to the ice trays and medicine cabinets are hard to open when you slice off all your fingers.

Either way, now we’ll never know. He put the fear of God into me about accepting my own limitations.

Status Off-Line: Co-worker Panics

While I knew I had a strong online presence, I didn’t know how tightly bound I was to it. I accidentally went off-line, and the blackout raised concern for my personal well-being. Read more…

Those who know me have come to terms that I’m interfaced into the Internet almost in real time. eMail is always the best way to reach me. When I’m sitting in front of a terminal, whether for work or pleasure, numerous chat clients are active in the background. Even away from a machine, my phones and automated scripts keep some kind of virtual presence active of one form or another. As a result, friends, family, and co-workers can see my status, location, and reach me with impressively short response times.

Today something interesting happened.

Last night, I was working on a fairly complicated piece of code and had set up a rather complex environment that I didn’t want to have to reinitialize in the morning. Rather than shutting down the machine, I took all my instant messaging clients off-line, and this morning I didn’t start them up, relying on the built-in chat facilities of Google’s GMail.

However, as I was researching, I accidentally closed the GMail window unknowingly, and to the Internet, I went dark.

I had not realized how connected I had become, using chat and emails as a primary means for others to reach me. Well, that was until a co-worker came rushing in to see if I was alright with genuine concern.

He was fairly certain I was in the next room, his email didn’t get a near instant reply, and there was no way to reach me interactively. For anyone else, this would have been no big deal. However, my heart was warmed by this sincere response.

Yes, folks. If my Borg-like collections goes down, please check on me. I might have died or be in need of immediate medical attention.

Vista DeFrag Sucks

Vista’s Disk Defrag leave a lot to be desired. Here’s how to you can defrag your disk for sure.

Well before Vista was even real, I wrote about the problematic issues, bad practices for customers, and locked in formats that would make Apple Mac a highly attractive option. Pretty much most of the things people said couldn’t or wouldn’t happen have. It’s no wonder that the US Government would rather keep XP than move to Vista, that students on college campuses are reporting terrible problems interfacing with the IT departments and campus infrastructure, and that even Office formats are in dispute.

Even in our own offices, Vista has been one disaster after another, causing us all kinds of heart ache and productivity loss.

We thought the nightmare was over when we found a clever hack to make Vista think our networked HP LaserJet was a local printer (and we’d given up on being able to even use sound). However, we’ve been getting terrible disk performance on a laptop with Vista installed. Turns out the drive is badly fragmented.

Obviously, an XP user would simply run Disk Defrag and let that be that.

Not so with Vista. Sure, it has the program, but it provides no indicator of how much work needs to be done, and no visual interface at all about what’s being done. All you get is a stupid message that says the operation could take minutes to hours to complete.

So, we let Vista run overnight. And performance didn’t improve. At all.

You’ve got to see the conversation over on the Microsoft Developer Network about Vista’s defrager.

It seems that Microsoft expects you to leave your machine running all the time, and at some time like 2am on Wednesday, it will run the defrag automatically for you. Whether you want it to or not. And it will do the same crappy job.

If you’re running an enterprise service, you do not want to take an I/O channel hit “just because.” If you’re an IT administrator, you don’t want to screw with scheduling. If you’re a laptop user, you don’t want to leave your machine running.

Now I know I said I wasn’t going to give Microsoft support anymore. But I occasionally will share tips.

Grab the free version of Auslogic’s Disk Defrag. It will impress you. It’s clean, crisp, visual, astoundingly fast, and most importantly: it solved our fragmentation problems.

Overcoming Writer’s Block

Recently I discovered that one of my favorite authors put out a book on writing, called Weinberg on Writing: the Field Stone Method.

Well, on a lark, I decided to purchase the book from Amazon, and I have to say, not only have I not been able to put the book down, but it has truly inspired me about writing in ways that no English book ever could.

Basically, Weinberg draws parallels of building a wall with field stones (no mortar) to that of writing. He starts by stating that how we read, sequentially, is not necessarily how we write. Additionally, when we see today’s electronic medium, full of indexes and hyperlinks, this is merely presentation, and, again, has no bearing on the writing process.

Instead, he points back to a time in his life when he became addicted to morphine from some nasty surgeries and broke the addiction. He explains that addition is a very clever and evil process. It requires that you do something in the short term that makes you feel better, but with the side effect that it actually makes you feel worse in the long term. So, you do the activity again, and you feel better, but then after it passes, you feel even worse. Quickly you run into a terrible spiral.

However, smart and creative people can break that cycle. How so? By finding something else that makes them happy. Instead, they don’t end up with feeling worse; they simply build upon repeated successes.

He then discusses how when he’s faced with a project that’s not going well, or a deadline, or even writer’s block, that he’d distract himself (“to unblock himself”) by going for a walk, drinking a beer, having sex, watching television, cleaning out the garage, whatever. Only the problem was, when the break was over, he’d be in even a worse pickle, and have even less time. …sounds an awful lot like addition, doesn’t it?

So, he started looking for a smart and creative way to break the cycle, and he now claims he never gets writer’s block. Writers block comes from three things: not having enough ideas, having too any ideas, or having just the right amount. If there’s not enough, he goes “looking for flag stones”. If there’s too much, he organizes them. If things are just right, he polishes and shapes them. Volia, writer’s block is gone.

But what is this “looking for flagstones” he’s talking about? Turns out when you’re building a wall, like a retaining wall out of stone, the quick “city” way is to purchase a ton of rocks. However, in the country, you go out into fields, looking for stones that are the right size, shape, and color. You collect them, and after a number of years, you have your wall.

Problem is, if you just flat out collect for the wall, you run into two problems. One is that as time presses on, it gets harder and harder to find wall-specific stones. You can’t just say “I’m going to find five today.” That doesn’t work. Second, sometimes you come across other stones that have practical value or some emotional connection, but you have no immediate use for them. He says to collect those and start different piles. And with this advice, he points out with modern day cheap storage, it’s possible to collect a lot of ideas and then organize them later. Also, he spends considerable time telling how to capture ideas that might get lost such as when you’re dreaming or in a social context where it doesn’t seem appropriate at first.

Weinberg points out that a “good stone” is an idea that moves you strongly emotionally. When a passage stands out, when a well worded sentence is found, when a thought sticks out, when someone says something, when you get a flash of insight or perspective on the world, and so forth, these are good stones. Weinberg has made a career out of collecting ideas, and with it, he’s never out of material or inspiration for writing. He encourages the reader to do the same, through a series of simple observational exercises he applies in his writing classes, and I have to say… it works. My own set of blogs have been stepping up in the number of entries; I’m seeing far more reader email and comments than ever before.

Weinberg pointed out that upon a friend of his giving a review to another author’s book, praise was given that it was a gold mine. And when Wienberg asked his close friend why he never got that kind of praise. Weinberg’s friend thought and said a gold mind is something where you have to move a lot of earth, and if you’re lucky, you get a nugget. Then he proceeded to say that Weinberg’s books were more like coal mines. Continuing, that every shovel full is valuable.

And, I’d have to agree.

Weinberg draws on tons of deep and clever concepts, thoughts, and expressions, weaving them into folds of comedy and information, conveying his points effortlessly and concisely. He illustrates how the “Fieldstone Method” works for fiction, non-fiction, and technical material. And, it really does.

This simple blog entry represents my personal synopsis of the first five chapters in a twenty chapter book. I strongly encourage you to get your hands on it and read it. It will take you no time what-so-ever, as it’s less than 200 pages and quite thin. In no way does it discuss grammar, technicalities of the English language, or pseudo-science positive thinking crap.

Wienberg in the course of 40 years has produced 40 well known books and over ten times that in articles. His students are cranking out books and articles. His methodology is quite an eye opener, especially if you want to become more prolific.

Apparently, I Like My Women Dressed

This morning as I was leaving the house to go to work, I gave the wife a hug and a kiss goodbye. And let me tell you, she smelled awesome.

So, I stuck around an extra minute.

“You smell fantastic! What are you wearing?” I asked, plowing my nose behind her ear.

She thought, “Uh, nothing. Maybe it’s the laundry?”

I smelled the fabric of her soft shirt. Instantly the scent of wild flowers, babbling brooks, and summer breezes sent me reeling into fond memories.

Without thinking, I replied “Yup. That’s it. You should wear clothes more often!”

She went red.

Apparently I like my women dressed. I didn’t know that about myself.

Hibernate: Duplicate Mapping and Imports

<GEEK BLOG ENTRY>
I ran into a very frustrating problem this evening, causing me to stay much later than I had intended, and to miss out on some fun socializing event that I was looking forward to. Unfortunately, there was little to no useful information on the Internet as Google was coming up with few and useless results.

I hope this post saves some poor soul from the same fate.

The Problem


I’m using the Hibernate library for persistence with a JBoss EJB using JPA. My code is sprinkled with annotations, my hibernate.cfg.xml file is clean, and I have no *.hbm.xml files. My code compiles. And it runs.

However.

When I try to access something that uses the Hibernate library, I get an odd message about “Duplicate Collection Role Mapping“.

The class in question contained a Set interface and a HashSet implementation for a member.

So, I commented out this container and tried again, hoping to simplify the problem.

This time I was greeted with a “[Mappings] duplicate import” and a “DuplicateMappingException: Duplicate class/entity mapping” set of error messages.

The only related web pages was a handful of archive with people asking similar questions in various online forums.

Almost always these fell into one of three responses:

  1. You’ve got a problem with the mapping element in your hibernate config file.
  2. You’ve got annotations and and class.hbm.xml file doing something wrong.
  3. This is an old bug in JBoss.

None of the symptoms existed in my case.

Here’s How I Solved It


Turns out that Hibernate makes the recommendation that you build a HibernateUtil helper class. Inside it, you’re supposed to make a singleton of the SessionFactory (and in the case of JBoss, you should use JNDI).

A co-worker had refactored the AnnotationConfiguration() to store a single copy, however, the routine that returned it happened to call .configure() on it before returning it each time. An honest mistake, which got integrated silently into my code when I pulled the latest version from version control.

Because .configure() was being called twice, to Hibernate it did look as if I had duplicate mapping directives in my hibernate config file.

Correcting the HibernateUtil method, which handled setting up and returning the AnnotationConfiguration solved the problem.

</GEEK BLOG ENTRY>

iPhone: American Express Came Through!

The nay sayers said it wouldn’t happen, but American Express came through. And stunningly so. That’s right, I got a refund on my iPhone. And you should see how clever American Express was about it.

Shortly after Apple announced the price drop on an existing iPhone product, without introducing a new one to take its place, I wrote about whether or not early iPhone adopters would get screwed. My take on the matter was, no, as Apple has a history of doing the right thing, at least in the long run.

American Express iPhone RefundNear the same time, a few people observed that the terms and conditions of their American Express card benefits would allow them a refund. Since it never hurts to go directly to the source and just ask, I did so, writing about my experience with American Express. Again, my take on the matter was that American Express, with no ultra compelling requirement to do could turn this into a massive marketing strategy right before the holiday season.

I learned two things.

First, I learned that there’s actually only a small number of rude people who don’t actually read posts before feeling they have to comment in the most vile language as they make false assumptions. (I’d clearly stated in a colorful sidebar box that I didn’t feel entitled to the refund, but that the opportunity could be used to build good will.)

Second, I learned that American Express came to the same conclusions I did about how to treat its customers.

Today I got a letter from American Express. In it, they explained that my recent purchase did not fall within the normal terms and provisions of the Purchase Protection Plan. However, as they value my business, they are processing the claim as an exception to the rule, and are crediting my card with $105. (They then sent me the actual terms, which covered a lot more than I was aware of.)

That made me, as a customer, feel special. And cared about.

With Steve Jobs’s refund of $100, with American Express’s refund of $105, I’m now $5 ahead.

I think American Express was smart.

They knew the product could have been returned completely, giving them a useless product, and me $300. And with my $100 from Jobs, I could have gotten a replacement phone.

They knew what I really would have liked, in the ideal case, was the $200 difference.

They most certainly knew that I’d be getting a refund of $100 from Apple, so they could just get away with providing $100 out of the kindness of their hearts.

And, but going $5 over that amount, which is trivial to them, it makes them look like the super good guys. The $5 bought a lot in terms of marketing.

At this point, as a customer, I’m so totally impressed with how well American Express took care of me, especially when they didn’t have to, that I’ll be using American Express for every major purchase, as well as now minor ones.

Prior to this I used Discover (for cash back) and Visa (when Discover wasn’t accepted).

American Express – you’ve won my heart this holiday season. Thank you.

The Best Photography Books Ever on Light

Without exception, two books leap to the front of my personal library when it comes to Photography.

Light: Science and Magic
Light: Science & Magic
Crime Scene Photography
Crime Scene Photography

Most photography books explain general principles of photography, how the camera works, and, if lucky, perhaps a simplified discussion of optics and proper metering. By the time you really understand the relationship between ISO, Shutter Speed, and Aperture, and are capable of shooting in Manual mode, you’re not done — you’ve just scratched the surface. The next subject you need to tackle is light, and it is light that allows you to get those really dramatic and interesting shots. And if you think because you own a 50mm f/1.4 lens, you know it all; think again.

Light: Science & Magic is a masterful excursion into the role that light plays with photography. It covers light sources, reflection, and angles, explaining why surfaces look the way they do. Certain objects are hard to photograph, such as glass or white subjects on white backgrounds. Either detail is lost or everything comes out gray. This resource shows how to use light to solve those hard problems. The section on diffused, direct, and glare reflections is worth the price of admission alone. Camera placement, light placement, and gobos, combined with the right metering technique, will yield stunning images. It covers methodologies of lighting portraits in fascinating ways. The book is littered with tips and tricks from front to back. It’s odd to find a book where there’s solid, approachable, directly applicable material on every page, but this book does it.

The next book is quite unexpected, Crime Scene Photography. This book goes far deeper into explaining the workings of photography, delving into the mysteries of optics, proper exposure in bad lighting conditions, and the clever use of filters. It clearly explains inverse square laws, plays with subtle differences between intensity and distance, unravels why rules of thumb actually work, shows how to get the most from a flash. And all these topics roll up to support how to draw out the details you want to capture, including from fluorescent and infrared sources. There’s tons of information to convey size and play with perspective, deal with underwater situations, and how to digitally correct severe problems when you can’t retake the photo. The book is chalked full of examples.

Frankly, if I could only own two books on photography, it would be these. I read the again, and again, and again.

Walt gives these books, two thumbs up!