Archive by Author

You Can Probably Stand To Charge More

Scott Meade, who by my calculations will be starting his crazy coding week any minute now (good luck!), recently wrote about the difficulties of convincing a customer to pay for something done in a week. As this is a subject near and dear to my heart, I thought I would give my thoughts.

First off, your customers can only hold the fact that your product was built in a week against you if they know it was built in a week. I would suggest, well, not advertising this. Conception To Launch In Seven Days — Get Yours Now! does not strike me as a winning formula for AdWords anyway. I’m all for openness with the customer in most things, and if they asked me I might even tell them — but there is no reason to volunteer the information. Your heart surgeon doesn’t tell you he’s billing you $50,000 for three hours’ labor to implant 32 cents worth of plastic and a $5 chip made in Taiwan. And you’re not likely to ask after he’s just saved your life.

Are you worried that your customers are going to implement your product in a week themselves? That is, perhaps, a realistic worry if your customers are primarily developers. If you have a 200 line shell script and want to sell it to a bunch of Linux mavens for $15, well, God be with you. Sometimes developers spend time on things which they really should just buy off the shelves, too — I’m as guilty as that as anybody. But the rest of the world doesn’t want to program your program. If they had the skills or desire to reinvent your wheel, they’d be programmers, but they’re not. They’re teachers or real-estate brokers or heart surgeons. Everything that happens inside of the computer is black magic to them and you are the shaman they rely on for magical amulets to keep the evil spirits at bay. So long as your amulets work, you can pretty much charge what you like for them.

One of the lovely things about producing software as a product, as opposed to consulting or otherwise turning one hour of your labor into one hour of revenue, is that the marginal costs of making an additional sale are, to a first approximation, nothing. High school microecon 101 says that when this is the case, you can pretty much pick your price point at any point on the demand curve (in the absence of competition, at any rate). The demand curve doesn’t magically shift up or shift down just because you spent 10 years or $3 million on the development effort — the demand curve is external to you. Its not totally beyond your power to affect, but it certainly isn’t reading your time cards to decide whether to slope or slide. Speaking of being a product company, since you’re operating under the assumption that you’re going to sell this same product dozens or hundreds or thousands of times, the price you’re charging any one customer is such a ridiculously small fraction of what it would take to re-implement that most people with an ounce of sense will buy to save themselves the trouble (assuming you meet their needs).
Let’s talk about that heart surgeon again. Do you think he paid $5.32 for that doohickey he just planted in you? No possible way. He probably paid $500 or $1000 for it. And, if it ever occurred to him to argue with the sales rep from HeartTech (“Technology with a Heart”), the conversation probably went something like this: “Thats an interesting perspective. I suppose you could try making it yourself for $5.32… or, alternately, you could make $49,500 tomorrow installing one and be on the golf course by 3:00.” And then the good doctor’s eyes lit up and the deal got closed. Thats essentially what your conversation with the customer should be: regardless of what it took to make my product, my price is a “fair” one because you’ll get oh so much more out of it. And, seen in that light, most of your customers will agree.

Speaking of which: I think a lot of uISVs, myself included when I was starting, undervalue their own software. Sometimes severely (I know of at least one product out there which would probably see higher sales if it were priced at triple what it is right now, but thats a post for another day). Part of this is from being involved with the software day by day and seeing all the warts, the imperfections, the bug reports, and the compromises. You started with such high hopes for the software and those got pared down by schedule presure and implementation concerns, and you value the software as compared to the image you had when you started. Stop. There is no competitor who released your ImaginationWare into the market — you’re competing only with what actually exists, not with what could exist, and when your customers find out that their needs get met if they only part with a trifling sum of money they’ll happily part with it no matter how the project looked from your perspective. Don’t fall for coder’s remorse.

Ten Reasons Why Most Internet Writing Is Terrible

Forgive me for indulging in a bit of a rant here. I recently checked a particular RSS feed and, of the first ten articles, 7 of them were in the style of this post’s title. For the two people on the Internet who have not caught onto this trick yet, this is because list-style articles are widely considered to be good bait for digg et al and engage finicky Internet readers who don’t want to read so much as scan. And, I concede begrudgingly, there is a place for that and used in moderation 10 Actionable Tips For You To Increase Widget Sales has some value for people. As a writer, however, I would caution you against overly imbiding.

The reasons (of which there will not be ten, and they will not be numbered) boil down to the following: if you write for people with the attention span of an ADHD flea who is hopped up on methamphetamines, then this is who you’ll end up with for readers. Yes, you’ll get the odd link here and there, and the Internet is full of high PR/high traffic sites whose readers are there precisely because they want articles that they can absorb in 90 seconds or less. However, and this is rather important, this is not the sum toto of value on the Internet. For people who actually read what they “read”, the top ten lists are just so much dross: everyone does them, they rarely contain insights (especially after you’ve seen one on the given topic), and they go in one ear and out the other.

Now, you have to ask yourself, why do I write? If you’re a queer sort whose personal worth is measured by how many top ten lists you have produced in your life, well, do what makes you happy. If, on the other hand, you’re trying to build a base of loyal readers, for whatever reason (you hope to use your blog to get traffic, you intrinsically enjoy writing for an audience, whatever), Top Ten lists will not get you there. Say, for example, you have a blog to promote your widget management software. Ten Ways To Manage Widgets is a good way to get a lot of hits in a hurry, but the majority of them will be in and out in 90 seconds and if you asked them two minutes later they’d be unable to recall your name.

If, however, you over time build up a reputation for writing nuanced, in-depth analyses of the pleasures and perils of widget management, people will take notice. Other widget aficionados will begin writing articles about you and putting you on their blogroll (and saying “Wow , he can write, too!”) . This is what you want for a couple of reasons. The first is that it pleases your harsh mistress, Google. You see, blogs (and digg, and social bookmarking, and everything else Web 2.0 can come up with) exist in snippets of time. You never look at the same blog twice, in the same way you can never enter a river twice. Google, on the other hand, really wants to be able to enter the same 100 million rivers on a daily basis. And so there is a little tension here with links-which-will-soon-be-irrelevant: since Google reserves most of the link-juice for links which are on the front page, links which fall to the archives are worth rather less to you. Links which fall to the archive in the space of literally hours (helllllo, Digg) are worth, in SEO terms, practically nothing.

You know the one type of link which never falls to the archives? Blogrolling. Getting blogrolled requires someone to make a commitment to you. You don’t get blogrolled after the first visit any more than you get to meet the parents after the first date. You have to impress (some would say seduce) the prospect over time, and if you continue to provide value to them over weeks or months then you’ll end up on their blogroll. That is good for you — not only will you get SEO mana, but they’ll visit you more frequently, comment on what you have to say more frequently, and count you among their few trusted sources of information. And when they trust you, their readers will come to trust you. And so trust for you expands throughout your niche and eventually makes you money.

Another reason you’ll want to write to be read, not to be scanned, is the growth of RSS readers. RSS readers are a disruptive innovation in how people read blogs. They change the ballgame almost as much as the existence of Google changes the ballgame for web design. In the absence of an RSS reader, people congregate to a starting point (a portal, Slashdot, digg, a known-trusted blog) and begin getting their daily dose of news there. They might leave that site a dozen times over their news-cycle but they always come back to it. None of the dozen sites they visit “owns” (I’ve always thought this use of the word was vulgar) them — they keep coming back to the aggregator. RSS readers make every reader into their own aggregator. I cannot overemphasize how fundamental a change this is. Now, even though perhaps 1% of the blog reading public has ever blogrolled anyone, a huge percentage of your readers are trying to make a forward-looking decision about your blog: it’s good today, but will it be good tomorrow when I open its RSS feed? Quality writing is a great way to convince folks that yes, you will be there for them tomorrow.

Incidentally, articles which are well-written often tend to stand the test of time better than articles which are not. If you constantly keep cranking out the top 10 lists to an audience who thinks yesterday was ages ago, you’ll have to produce something new every day or the readers will stop coming. If, on the other hand, you write pieces which are both genuinely useful and written well, people will continue to find those and refer other people to them long after they have fallen off your front page and the radar screen of the Internet’s mayflies. My blog is pretty tiny in the grand scheme of things, and yet yesterday 60 people (yikes, two months ago I didn’t even know sixty people) decided to take some time out of their day to read something I wrote about customer service some two to three weeks ago.

Now, clearly it’s easier to write top-ten lists than it is to write well. Writing well, though, is a skill which can be taught and which can be learned. Imitate writers you admire. You’ll eventually end up with a voice of your own, but it will tend to bear a little resemblance to your favorite authors. Practice, practice, practice. Spellcheck and have a decent, but not slavish, respect for the formal rules of the English language. (Poor writers ignore the rules, good writers follow the rules, great writers break the rules, and the very best writers make the rules.) Finally, write in a way that shows off your own voice, personality, and ideas, the better to stand out against a sea of mediocrity.

[Edit: Fixed my English.]

Update on Ad Experiments

So you might remember that about a week ago I tried to have some fun with two AdWords ads.  We’ll call them “white space” and “poetry” for short.
Dolch Sight Word Lists
Free lists.
No kidding.
www.BingoCardCreator.com 

Dolch Sight Word Bingo
Roses are red, violets are blue,
Bingo makes students love you.
www.BingoCardCreator.com 
White space is an experiment in two ways: it sends people to a landing page which does not flog bingo, but rather just provides a resource to teachers (Dolch sight word lists) and then asks if they’d like to get started playing bingo with the lists they just grabbed.  It also, obviously, sticks out against six other ads which use every one of the characters they are alloted.

Poetry was an experiment to see if AdWords rewards being clever.  So many of the ads are, well, blah.  Here’s my product, here’s 5 words of description, here’s my call to action.  Blah blah blah.  Marketing should be more fun than that.  So I went with some intentionally campy poetry.  And, hey, if it didn’t work I can always kill it in a week and not lose more than a cup of cocoa.

I’m not going to kill either of these ads, because the are actually pretty solid for being so new.

For comparison, here’s a fairly typical ad I have using the same keywords.  Its been through a solid month of optimization of everything: the landing page, the title, the text.  I was happy with this ad and wanted to make more of my ads like it:

Sight Words Bingo
Don’t prep for an hour. Be ready
in minutes with our software.
www.BingoCardCreator.com 

Lets call that control.  Control has about a 1.1% CTR for the same keywords as the other ads.  It has a 22% conversion rate, for a CPA of about 32 cents.  All in all, this ad is doing pretty well.  (Note: all of these ads are in the same AdGroup and use the same keywords).

Lets compare that to poetry.  Poetry uses the same landing page and the same keywords.   It has 2.13% CTR, and 19% conversion, for a CPA of about 31 cents.  So, essentially, it performs just as well as the control ad in terms of cost performance, but brings in twice the amount of clicks in the same time period.  This is great news for me, as it lets me get up to my target $3 a day advertising spend without shooting myself in the foot by investing money in non-performing keywords for the sake of investing money.

But I’m really pleasantly suprised with white space.  I expected white space’s conversion to be thirty-one flavors of terrible.  The hook in the ad isn’t bingo cards, its a free resource which is vastly more popular than using bingo to teach with.  And the landing page was an afterthought I cooked up in about 10 minutes one day to generate backlinks — surely it isn’t going to convert people that well?  Well, it does… 14%, which is neither fantastic nor terrible.  This leads to a CPA of 43 cents, which is well below my campaign average at the moment (although still above my target of 30 cents).

But whats the real nice pleasant suprise for white space?  The click through rate.  Something about the combination of “free stuff you can use” with the eyecatching nature of the ad draws in teachers like moths to the flame.  The CTR is about 5.8%, which is just jawdropping for an ad averaging in the 3rd position.  My best ad ever, which pitches my software to people who are searching for software with exactly my feature set, only has an 8% CTR.

And how much money did finding out these insights cost me?  At last count, $4.61.

Oh yeah, how much money did these ads make me over the week?  A little digging in Google analytics says… a hair under $48.

The next step is… improve the ads and experiment some more!  Ah, I love being a small businessman.  This is so much fun.

Tweak Your Installer, Double Your Sales

Here’s yet another micro-tip, regarding your installer.  (You do have an installer, right?  If not, run over to NSIS and get started — scripting one up will take you less than an hour.  Trust me, it will work out much better for the majority of your customers than “Here’s a ZIP file, hope you know what to do”, at least if you’ve got non-technical users like me.)

1)  Drop a link on both their start menu and their desktop (asking permission is always nice).  I only did the start menu thing until version 1.03, when I decided to delve into the documentation and figure out how to put a link on the desktop.  This look me literally 45 seconds to accomplish.  It also literally doubled the percentage of my downloads which I can verify were executed (i.e. they accessed my website from within the application).

2)  Offer to run the program immediately after the installer is finished.  Have you ever seen the desktop of a non-technical user?  Its a rather cluttered place.  Don’t force them to hunt for your program, because there’s a large chance that they’ll get distracted away from the task at hand (getting hooked on your product) and will instead resume browsing the Internet, leave the computer and forget they downloaded anything, etc.  So take all the guesswork out of getting to your very best sales vehicle.  (I use a simply worded popup message: “Would you like to start making bingo cards right now?”.  A default-to-checked “Run now” box also works.)

Everybody Say Hiya To the New Guy

Scott Meade is starting a seven-day Rails development extravaganza with the end goal of getting a product off of the group.  He mentioned I’m one of his inspirations, which I find absolutely mind-blowing.  Best of luck and keep us up to speed!

When Ruthlessness Is Required

I’m not in favor of ruthlessness when it comes to customers, employees, or competitors.  Business is business, but a little bit of humanity goes a long way.  However, investments, on the other hand, have neither feelings nor moral standing.

Over the last two weeks I have watched my CPA (cost per action = what I pay to generate one additional trial download) go from $.40 to $.60+.  And, not being that involved with AdWords for a variety of reasons (“other affairs in other planes”, as we would have said in my RPG days), I didn’t see the culprit.  Until yesterday.

The culprit was one single keyword which I had added two weeks ago on a lark and forgotten about.   (printable BC, where BC are the first two letters of my program).  This keyword is pricey relative to a lot of my keywords, at $.12.  But I make good money off of a lot of $.12 keywords, such as, *cough*.  The difference was that this keyword was converting at about 9%, and getting clicked a lot.  I had a very effective ad for it, and the very effective ad was very effective at getting people to click to my site, and then most clicked right out again.  Averaging those abyssmal results with another ~50 keywords all performing as well as ever increased my advertising costs to the tune of 50%.

So I had two choices… make a better landing page or get out of that market.  I decided against the landing page, figuring that most people were looking for cards to print and just didn’t want to get invested in software to print cards.  And they were probably looking for traditional numeric cards, a gambling tool which my software rather deliberately does not support.  So I killed the ads.

In other news, folks have been asking recently on JoS “Does anyone get their money’s worth out of AdWords?”  I’m actually not sure I am yet.  I get enough sales from all sources to cover my costs, but I have not traced any of my completed sales directly to AdWords as of yet.  I think there might be a wee misconfiguration somewhere, because AdWords also doesn’t get nearly as much credit for conversion #3 (clicking the update button within the program, which verifies for me that the program was installed successfully) as it theoretically should be.  I’m wondering if it happening in different sessions is nuking the results?  But it should be cookied…

Bah, I’ll have to look into that later.  As it is, I took two days off this week and have some “real” work to take care of.

The Anthem of My Business

This is a bit old, but I love it to pieces and listen to it when I need inspiration. I try not to listen to it when actually coding because the tears of laughter make it hard to see semicolons. (The fact that its Creative Commons and totally free is a nice bonus, too — although after one listen to it I would have gladly paid money for it. However, since its free, I haven’t taken time to send the guy so much as a $1 Paypal thanking him for his time. I think there is a lesson here for a segment of the uISV community regarding pricing-as-signal.)

Code Monkey

Lyrics below the jump.

Read More…

I'm Reviewed On A High Traffic Web Site!

“Light on functionality and appears to be mostly aimed at people studying English.  Still, if thats what you want, apparently its a pretty good choice.  Easy enough for a stay-at-home mother to use.  3/5″** — Chinese cracker “Poisonous Mists of Gold Mountain”  (* Not entirely sure that the character means mist, as it isn’t used in Japanese.)

Say what you will about Chinese hackers, at the very least they have more amusing pseudonyms than our home-grown miscreants.
** I do not stand by the accuracy of this translation, as I don’t actually read Chinese.  I can just sort of get the gist of it by picking out words in isolation which happen to be the same in Japanese, in much the same manner that you can sort-of understand Portuguese by way of Spanish.

Early Results of Auto-Submission Experiment

My traffic on Monday, which isn’t yet all collected (I’d guess its approximately 60% over, given how Analytics imposes a delay on things) shows that I had my highest traffic ever today, surpassing even the spike from the pirate kings.  Its roughly 25% above my previous peak traffic, and roughly double what my traffic a week ago was.

Drilling down into the numbers, my paid advertising is performing at about the same level as normal (had an exceptionally good day on Google and a poor day on Yahoo, so they averaged out) and my organic search engine performance has not changed for a week.  However, the number of “direct” hits I got on my website increased by almost an order of magnitude, and I’m getting a significant number of referrals from one download site in particular and a long tail of them from two dozen smaller sites.

Most of the “direct” hits (when you get to a web page via your address bar) are coming from trial installs which originated off of my site.  Assuming that roughly 10% of folks downloading the trial are updating, which is what my numbers have generally looked like, I had more trial installs in the last 24 hours than I’ve had in the last two weeks (exclusive of download.com).  (Why can’t I just grep my HTTP logs for BingoCardCreatorInstaller.exe?  Because some download sites download the exe from my site and host it themselves, so if they give out 100 trials they only generate one result in my logs.)
Well, that certainly worked out well.  If any significant portion of this new traffic converts RoboSoft is getting my money as promised.

Don't Let Java/.NET Deployment Scare You

Ali commented, in regards to my last post, that I should really program my next project in C++ or similar, as requiring a Java/.NET library download scares off lots of dialup customers.  This would have been a valid consideration… in 1998.
In 2006, not so much.

1)  I don’t have dialup customers.  I am targetting a group of very non-technical customers.  The biggest two ISPs in my logs are Comcast and AOL, very mass-market ISPs.  Do you know how many of my visitors stroll on by with dialup?  10%.  60% are on cable/DSL and 30% are on a corporate internet (mostly teachers on their work computer, I’m guessing).  Additionally, of the 10% of customers who are on dial-up fully half of them hail from countries where I do not expect to ever sell a single copy of my software.

2)  Java/.NET deployment is very high.  97% of my visitors have some flavor of Java installed and enabled.  97%.  (Similarly, Flash stats: 98% total, 85% v8 or v9.) That doesn’t help me if they have the ancient MS1.1 JRE installed, which is one of the only widely-deployed JREs Bingo Card Creator won’t run on.  I don’t have any convinient way to check for that other than getting them to visit a certain page on my site, which most people don’t.  Of the highly unrepresentative sample that do, 80% of them at last count have Sun 1.3 or higher.  Don’t believe the statistics from 2000 that you read on the Internet about 50% deployment rates — Java, like Flash or .NET or anything, is a very viral bit of software.  You’ll eventually stumble across content which you want to access that needs it, and after you do this you’re set until your next computer upgrade.  The average person upgrades computers once every 4-6 years, which means as time goes on the number of machines which will have any given runtime approaches 100%.

3)  Know your market.  Lots of educational software, including the stuff distributed on CDs, requires Java to run.  I am able to happily piggyback on the inroads made by metric truckloads loads of eduware.  Its like how you can assume DirectX is installed on the machine of anyone who has bought a AAA computer game in the past, oh, ten years or so.

4)  Java comes pre-installed on most new consumer PCs.  it can’t be bundled with Windows anymore, but it comes bundled with your Dell, Gateway, Mac, etc etc.

From where I sit, its not worth the vastly higher development time and impact on the user experience to cut Java out of the equation, unless its  in favor of .NET, which I may very well try out for my next project but which has exactly the same wrinkle.  At current traffic rates, assuming every one of my dialup customers had no JRE and refused to install, that would cost me a total of 5 successful trial installations a month.  I get more installations originating from AdSense spam sites every week.

I’m not totally sanguine about requiring the JRE to run my application, but I think its a good tradeoff of market size versus development complexity.  I guarantee you that if I had to do my interface in MFC I’d still be months away from launch.  I suppose I could be convinced to change my mind by hard statistics showing that vast numbers of my potential customers can’t run Bingo Card Creator, but the best statistics I have available indicate this is not the case.