Archive | Uncategorized RSS feed for this section

Undergoing Massive Spam Attack Today

After my first post today I apparently triggered some insidious bot lurking in a dark corner of the Interweb: within 45 seconds of bringing my blog back from the dead I got over 200 spam comment submissions, mostly to old posts.  More distressingly, 180 of them sailed right past the spam filter.  All of them were about gambling.  As a result, to prevent me getting repetitive stress disorder from hitting the “mark as spam” button and keep this blog easy to comment on without requiring registration or anything intrusive, I’ve banned the following three words from comments: poker, casino, and gambling.  I don’t anticipate anyone needing to use them, but if for some reason you do you may want to write c@sino or you’ll have your post discarded transparently.

Bleg for my Mac using friends

I recently released Bingo Card Creator on Versiontracker.com, a Mac software site that is apparently pretty popular.  And by recently I mean less than 12 hours ago.  I’ve already got multiple sales (!) and also multiple bug reports that it doesn’t work on various versions of Mac OS X.  I know it works on at least some Mac machines because I have happy, satisifed customers from the other download sites and I can see successful requests for the check-for-updates page in my HTTP logs which identify themselves as coming from the Mac version.

Two users reporting problems are using Mac OS X 3.9 and 10.4.7.  These numbers might as well be Greek to me since I have no experience using Macs.  The symptom they describe is that the application dies on startup due to Java being unable to find the main class.  This is behavior I am unfortunately distressingly familiar with on Windows, and it is generally the result of a faulty manifest file.  To my knowledge the Mac doesn’t actually read the manifest file (which is in order) but rather uses a special Mac-only pinfo.list file to specify the main class.  However, I have checked and rechecked and the special Mac file which points to the class which is to be executed *appears* to be in proper order.

Thus the request: if you’ve got a Mac OS X lying around, could you please download the software (www.bingocardcreator.com) and tell me exactly what, if any, error message it produces on your particular version of Mac OS X?  I’d be indebted if you had any suggestions as well.

Three Cheers for Tucows

I mentioned previously that I was in Tucows purgatory for three weeks after paying them $52 for an expedited submission. I’m currently out of that, thanks to a recommendation from a fellow developer at the Organization of Independent Software Vendors to contact Greg, their webmaster, and stunning customer service of the type which I always advocate giving. It included an apology, an offer to give me a total refund, a choice between the refund and a $100 credit against further services (smart move: it keeps me invested in my business relationship with them — I took it), and listing the software immediately. Yay. I’m going to post my letter to them later because its, in my opinion, a good example of how to phrase a customer support request to get what you want, and succeeded pretty brilliantly. Even business owners are customers roughly half the time, right?

Time To Get Back On Track

Well, the last two weeks have been sort of a lull for me.  I haven’t been doing much actively working on Bingo Card Creator, owing to being busy at the day job and in life otherwise.  It has also had sales which are a little on the slow side.  7 in the last two weeks, which oddly enough would have made me ecstatic 2 months ago but after my first two weeks of September is a wee bit disappointing.

Oh well.  Here are my plans for going forward:

1)  I’m calling Tucows tonight to figure out, ahem, what the heck they have done with my $52.  I am now severely regretting both paying them and paying them via debit card, because if I had paid them with a credit card I could at least charge them back.

2)  I will be canceling my current Text Link Ads campaigns and work with the Text Link Ads “account manager” to see if there are *any* deals possible in the educational space on their site.  If not, oh well.  They have a generous credit for new customers which I will take a bit of advantage of.

3)  Its time for a website update: I’m thinking of making a page for Halloween bingo to get ready for that, with an AdWords campaign to support it.  If I make the page about a month in advance and then link it from this blog with descriptive anchor text, it will get premium placement on the search results for at least MSN.

4)  Its time to sit down with AdWords again for a few hours and overhaul my advertising campaigns.  I’m currently spending $20 a week and getting approximately nothing from it in terms of sales, and thats just throwing away money at present.  I’m decently positive that I made it work once and can make it work again, Google and their penalty algorithms be darned.

Text Link Ads

I’m almost leery to mention this because the company approaches the seedier side of the SEO industry, but one of my experiments that I engaged in this month after getting destroyed by AdWords (I’m incidentally less than totally destroyed now: CPA is hovering around $.40 which is survivable if not very profitable) was buying some links from Text Link Ads.  I bought two, paying $15 for one and $20 for the other.  These two links stay up a month and there is no CPC fee.

Here’s the process: you come up with an incredibly short (30 characters as I recall) link, find a site to put it on through their interface, and make the payment for it.  24-48 hours later, the site owner says “OK, I’ll accept that link”, and they get half of the money while Text Link Ads takes the other half.  In return, I get some SEO juice and some natural traffic.

Results after a week have been less than encouraging.  First, Text Link Ads makes it less than transparent to figure out exactly who you’re buying the link from, so that you can’t contact that person off the site and cut Text Link Ads out of the deal.  As a result, I ended up buying a link on a high-traffic “forum for learning/teaching English” which turned out to be a midranked school in Beijing, with PR4.  Not that I have anything against midranked Chinese universities, its just, well, I have a realistic expectation of the likelihood of that link generating one marginal sale in a month (it cost $20).

The other site was “teacher resources for ESL learning”.  Sounds right up my alley, right?  Unfortunately, its almost *designed* to be hard to use (interstitial popup as soon as you get to the page asking for your email address so they can spam you, how lovely!), and my link is actually on the waaaaaaaaaay bottom of the page, competing for attention with some real estate speculators.

Their “inventory” (sites which have offered space for a link) is very, very poor at least when it comes to education (some blogs with two orders of magnitude less traffic than this one, for example, and a couple dozen sites which exist only to make a profit, not to provide anything of value to the visitors), and most of the pages are chock-full of links already.  Now, on the other hand, in the more technically adept parts of the pool there are some places where some offers would be actually attractive.  If I were selling iPod accessories, for example, $20/month for a link on a Mac fan forum with 60,000 members and 1,000 posts a day doesn’t sound like a terrible idea.

End result: Well, you win some, you lose some.  I’m probably not going to be continuing this experiment.  HeyAmigo is also incidentally not ready for prime time: more on that later.

Crazy Busy This Week

Blog posting has been light due to me being persistently busy with work and a social life, and the business has been more or less running itself.  Here’s my list of stuff to do in near future:

  • See if the Text Link Ads I just bought (trial, really) are going to produce a positive return or not.
  • Get software listed on Tucows (I paid $52 for it, not listed yet)
  • Figure out why my clicks from MSN crashed this last week.  75% decline from my largest source of clicks is worrisome, even if I did have a gain in Google that offset the decline.
  • Thank my lucky stars for having the foresight to create the Mac version.  50% of my (limp) sales this week.
  • Fix thanks.htm because apparently I broke Google’s tracking code *again*.  Oh well, at least I’m positive all my customers are getting their registration keys correctly now — my #1 support issue has vanished totally.  (Big hear-hear for e-junkie, incidentally.)

Selling Software on a CD

I sold my first copy of Bingo Card Creator on CD today, after having a long-running email exchange with a customer. A lot of people who aren’t the most technologically-savvy in the world prefer to have physical media, as its a) “real” in a way the download is not and b) proof against something going wrong on their computer (although, realistically, a three-second email to me will get their software and key back, but not everybody feels comfortable with that).

So I needed to get a CD to the US, and I needed it done reasonably cheaply, quickly, and with a minimum of work for me. Its certainly not worth sending me out to the video store to buy a CD or a stack of CDs (which I might never use), hand-write a license key on it, and then trudge it out to the post office, buy a padded mailer, and ship it abroad to the US, praying it doesn’t get a 25% tariff or get dropped in the freaking ocean like the last CD I sent to America (a friend’s wedding present, no less).

So I Googled “CD fulfillment”, and got cd-fulfillment.com . About ten minutes of research later I signed up with them, sent them a CD image over the Interweb, and now every time I get an order I just have to log into my account, fill out the order details, and hit “Send”. They take care of the burning, professional-quality labeling, invoice-printing (I get the actual money, they include a nice little letter), shipping, and whatnot. For $4.47 per CD at the quantities I’m likely to be using it as. I charge my customers a flat $5 for the CD option, and the extra $.53 is nominally profit although realistically I’m at a slight loss because of the time it takes to extract the correct information from the email I get from Paypal and put it into cd-fulfillment’s order form. Ahh well, if I end up getting annoyed at it I’ll *gulp* do some Perl magic.

How do you handle a return of a CD? Answer: you don’t. If a customer buys the CD and wants to use the 30-day guarantee, I will tell them to please dispose of the CD and I will take the loss ($4.47). There is no point even *thinking* about going to the post office for a five dollar item, and your customers will appreciate it immensely. This was our policy at Quill too for returns of, e.g., 3 packets of pens on a $500 order because someone else had already bought pens for that office: Oh, thats alright, why don’t you go ahead and give those to charity, we’ll credit your account.

Mac Version Doing Fairly Well

As an afterthought, while programming v1.04 I had it append a variable saying what OS it was running on to all queries it makes to my website.  This lets me track the relative popularity of the OS X version versus the Windows version.  Now, as stated previously, I give customers the option of not telling me anything so these two numbers are fractions of what the true values are, but in the last seven days I’ve had 66 requests-for-updates from the Windows version and 6 from the Mac version (those are unique counts), not counting requests from folks with the registered version.

That would put my Mac popularity at about 10% of my windows one, which is pretty phenomenal given that a) my Mac version isn’t on the major download sites yet (still working on getting it on Download.com and versiontracker.com) b) I make it almost painfully difficult to get the Mac version and c) 2% of my visitors use Macs.

I think I might have to revisit that whole “make getting the Mac version painfully difficult” thing.  Here’s what happens: I’ve got exactly one button to initiate a trial download, and at the moment it opens up a web page which starts a download of the Windows .exe installer.  There is a note in bold telling Mac users “Sorry guys, that download is useless to you, click here”.  Why do it this way?  I figure my users are not exactly savvy and having multiple download buttons confuses more users than the Mac downloads are worth.  While I still think that, inconviniencing 10% of my user base doesn’t sit well with me, so I’m going to add a bit of Javascript to that download page and redirect Mac users to the correct package.

Update on AdWords

Warning for everyone else currently a happy AdWords customer: go through your lists, look for words which are under 1% CTR, and *scrub*.  My best performing keyword has, over the past month, 1.75% CTR.  It dipped for about a week below 1%.  Random fluctuations, you would think, but Google responded by quadrupling the cost of it.  And even if I pay that for weeks to rehabilitate the keyword there is no guarantee that the minimum bid will ever go down.

Another Plug for e-junkie

Yesterday I mentioned that my customers suddenly had a lot of trouble getting mails from e-junkie. Besides posting it on my blog, I also dropped e-junkie a note to advise them of the problem — it seemed like the right thing to do since if their outgoing mail server ended up on a RBL that would have been, well, a pretty bad thing for their business. They had a response within 2 hours that said they had gotten my note, checked everything, and it looked to be in order. But they kept following up regarding the specifics of which ISPs were misbehaving and whatnot, which is already above and beyond the call of duty.

I then asked whether I could possibly request a feature. Yesterday, I faced down the unpleasant prospect of having to *gulp* code Perl to fix this problem, by embedding my registration code in the post-sale confirmation page. e-junkie currently passes that page ~4 parameters when they send a customer to it, but none of them is the registration code, and I would have to generate the registration code on my server to make sure the code on that page and in the email were the same. Then I would use the parameters they passed to look up the registration code I had generated. Aside from this involving evil Perl code (is there any other kind?), there were some potentially nasty timing issues involved (pop quiz: what happens if the customer arrives before I have the request from e-junkie to generate the registration code? What happens if the customer arrives after the request to generate the registration code but before that request has caused the flat-file database I was contemplating to be updated?)

So I asked e-junkie if it were not too much trouble could they possibly pass the registration code along with the other parameters. If they did that, fixing this problem would be a matter of writing ten lines of Javascript. (The URL query string is stored in window.location.search. Code for parsing out a particular value from it is trivial or you can copy/paste from the Internet. Then just output this to something visible.)

Anyhow, I figured that they would probably “We’ll take this feature request under advisement”. I definately wasn’t expecting the next email to say “We were going to mail you back when this was implemented, but it turns out our engineering team will require 24 hours to get to it. Sorry for the delay.”

Sorry for the delay!

So there you have it: e-junkie, the best $5 per month I ever spent. (Obligatory disclaimer: opinions in this post are my own and I receive no compensation for them.)