Moving from POP3 to IMAP

palm.jpgI have been using the POP3 protocol to collect all my emails from my ISP for the last few years. POP3 stores emails locally once they have been read from the server. This works great if you have a single PC, but it is a bit of a disaster if you check your email from multiple PCs. For example, trying to synchronise the emails on my ‘master’ desktop PC after using the laptop for a week on holiday was a royal pain. I would set the laptop not to remove messages from the POP3 server when read (unless deleted) and then re-do all the marking as read, tagging and sorting into sub-folders when I got home. Groan.

I chose POP3 because I was familiar with it and because I was using some auto-responder software that only worked with POP3. Now that I use e-junkie for sending out licence keys I don’t really need the auto-responder. So I decided to try IMAP, an alternative protocol that stores emails on a central server. So far I am very pleased with the move.

I use Mozilla Thunderbird on all my computers and my email is hosted by 1and1.co.uk. Both Thunderbird and 1and1 support POP3 and IMAP, so this made the transition very easy. I just set-up new IMAP accounts for each email account on each machine in Thunderbird. The POP3 accounts are still there so I can search them, but they no longer retrieve new emails.

Now, when I mark an email read or move it to a sub-folder, the change is immediately visible across all my email clients. Hoorah. I realise the same could be said for webmail. But I then would have to use webmail. Ugh. Lets not go there.

I was a bit worried about network latency issues with IMAP, but it haven’t noticed any problems so far and searching IMAP emails on the 1and1 server seems similar in performance to searching POP3 emails locally.

I haven’t quite worked what to do about backing-up my email yet. With POP3 it was easy, as the data was stored as files on my local machine. I am not sure what the best way to achieve this is with IMAP. In theory my ISP should be taking care of backing-up my IMAP data, but I am a bit paranoid after the recent disappearance of this blog. It is something I need to investigate further.

I am fairly conservative when it comes to adopting new technologies. Most of you reading this probably moved to IMAP ages ago. But if you didn’t, you might want to give IMAP a try. Even if you are currently a one-person company with a single PC/Mac (unlikely) it is going to make life easier if you later grow to multiple machines and/or people.

GoogleCheckout takes 22 hours 28 minutes to clear a payment

GoogleCheckout

I am a big believer in having more than one payment processor. I use PayPal as my main processor with GoogleCheckout and 2Checkout as alternatives (GoogleCheckout for pounds sterling and 2Checkout for dollars). But I haven’t been overwhelmed by GoogleCheckout so far. This is how long the last 10 payments for PerfectTablePlan through GoogleCheckout took to clear:

  • 4 hours 5 minutes
  • 5 minutes
  • <1 minute
  • <1 minute
  • 22 hours 28 minutes
  • <1 minute
  • <1 minute
  • <1 minute
  • 1 minute
  • <1 minute

That is quite some variation. I assume it is due to some orders being flagged for manual fraud checking. This is response I got from Google when I complained:

…for your protection, Google may review certain orders before passing them to you for processing. Some reviews may take slightly longer as Google performs more comprehensive analysis of the order to minimise your exposure to fraud risk.

Our specialists are working hard to address all orders in a ‘Reviewing’ state as quickly as possible. These reviews may take up to 24 hours…

So 22.5 hours appears to be acceptable as far as Google is concerned. But they managed to reply to my support email within a few minutes.

GoogleCheckout may be cheap (effectively free to Google Adwords customers at present) but keeping my customers waiting up to 24 hours for their licence isn’t acceptable to me. It makes me look bad. Go and hire some more people Google – you can afford it. Otherwise PayPal are going to wipe the floor with you as soon as you start charging comparable fees.

Despite the leisurely time they take over fraud checks they still managed to pass a payment with a postal address in Scotland, an IP address in the Netherlands and a Romanian email address. I am still waiting to see if I am going to be charged a £7.50 fee by Google for the privilege.

Patently absurd

I saw this list of patents on the back of something I bought recently:

patent

(click for larger image)

That is 40 patents, with 28 in the US alone and “other U.S. and foreign patents pending”. But it isn’t a flying car, a teleporter or a death ray. It is a child’s toy that blows bubbles.

bubbles

bubbles

It can blow bubbles within bubbles, which is quite neat, and its includes the weasel words “One or more of [the] following patents apply”. But still, 40 patents?

Patents have also got rather out of hand in the software world. The Amazon patent on “1-click ordering” is one of the more flagrant examples. This patent is now being challenged, but such a trivial patent should never have been granted in the first place. I am decidedly uneasy about the whole concept of patenting software. Software is closer to literature and mathematics than it is to invention, and it makes no sense to patent literature or mathematics. Copyright protection seems adequate to me. But, even if we allow that some forms of software innovation might be patentable, its serves no-one’s interests (apart from the lawyers) to allow trivial patents.

The companies that apply for these patents are only partly to blame. If ridiculous patents are being granted companies will inevitably have to join in to provide some protection against the patent portfolios of their competitors. Most of the blame has to lie with the institutions granting the patents and the US patent office seems to be far and away the worst offender. If the US patent office doesn’t have the resources and expertise to evaluate software patents then it should acquire the resources and expertise, and soon. The purpose of patents should be to foster innovation, not to stifle it.

 

Software audio and video resources

The Internet is a cornucopia of useful resources for software developers and marketers. As well as all the documentation, forums, blogs and wikis there are some great audio and video resources. Here are some of my favourites:

NerdTV – Robert Cringely interviews famous names from the software industry.

Shareware Radio – Mike Dullin interviews shareware authors and microISVs in his inimitable style.

The MicroISV show on channel 9 – Michael Lehman and Bob Walsh interview people of interest to microISVs.

.Net rocks and Hanselminutes – Carl Franklin and Scott Hanselman interview people of interest to .Net/Windows developers. Some of the programs are Microsoft-heavy Silverlight/Orcas/WPF alphabetti spaghetti yawn-athons, but others are of more general interest.

TED talks – The great and the good talk on a wide range of subjects, including technology.

These sites contain hours of great material. Long drives/walks/waits need never be boring again. Please add a comment if I have missed any good ones.

Creative marketing

will it blend?Although developers have traditionally avoided anything to do with marketing (aka ‘the dark side’) both development and marketing require originality, creativity and hard work to do well. Don’t believe me? Lets say you have to market a top of the range blender – how would you do it?

  • Like this? Factual, but hardly compelling.
  • Like this? Subliminal message: you could look like this or sleep with someone who looks like this, if you buy this blender. Yawn.
  • Like this? Genius. I want one.

Business of Software microISV survey

microISV sales per hour workedThe Business of Software blog has published the results of a survey of 96 microISVs:

survey results – part 1
survey results – part 2

 

As the survey is self-selecting it is hard to know how representative the results are for microISVs in general, but it makes interesting reading.

Of respondents whose microISVs had been running 6 months or more, 50% made less than $25 in sales per hour worked. Assuming modest expenses of 20% that means that the majority of microISVs are making less than $20 per hour worked, before tax. This sounds rather discouraging, but some claim to be making >$200 per hour. The author has kindly provided the raw stats for download, so I looked at them in a bit more detail. According to my quick analysis the situation is, unsurprisingly, more encouraging for established microISVs. If you take you all the respondents who have been in business at least 12 months, are working at least 30 hours per week and are making any sales at all, the average is around $60 in sales per hour worked. This is not too bad for an indoor job, with no heavy lifting, that you can do in your underwear.

The data also shows an interesting difference in sales by category. I took the data for all the 1-man companies with monthly sales >0, divided them by category and then removed the top and bottom performers in each category (to prevent outliers distorting the averages).

hourly_sales_by_category.gif

Average sales per hour worked ($), by category, click to enlarge

I am not surprised that the average sales is relatively low in the ‘Developer tools’ market given the fierce competition, prevalence of free tools and the effects of developer ‘not invented here’ syndrome. I am rather surprised that consumer software appears to pay better than business software. This seems to turn conventional wisdom on its head (assuming I got the numbers right, it was after midnight). Of course, sales is not the same as profit. There appears to be little (if any) correlation between the ticket price of an item and the total monthly sales.

Digging a bit further, the stats also show some correlation between marketing spend and sales:

microISV marketing v sales

Monthly marketing spend ($/month) vs monthly sales ($/month), click to enlarge

Of course (repeat after me) correlation does not imply causation.

Thanks to Neil for taking the time to do the survey and publish the results.

Selling your own software vs working for the man

nz_beach.jpgYou’ve got this great idea for a software product. You are pretty confident that you can crank out version 1.0 working full-time on your own from the spare room, and you are fairly confident that people will buy it. But you’ve also got a well paid full-time job ‘working for the man’. It’s cosy and familiar in that cubicle. Is it worth risking your career and savings to set out into uncharted waters on your own? Do you take the red pill or the blue pill?

The aim of this article is just to give you some insight into the economic realities of becoming a one man software company (a microISV). The results might surprise you. ‘Working for the man’ you get a steady monthly income every month. Working for yourself you start off with no income, while you create your product. If all goes well you start to make sales when you release v1.0 and these sales gradually improve over time until you are earning the same amount each month as when you were working for the man . As the sales continue to improve you (hopefully) reach the point where you have made as much money as if you had stayed in your old job for the same period of time. From here on it’s all gravy. Here is a very simple model:

simple microISV income model

Monthly income as microISV vs WFTM (T0=version 1.0 release, T1=monthly income equal to WFTM, T2=areas under the red and blue lines are the same)

Obviously I am making a lot of assumptions and simplifications here. In particular I am assuming:

  • Net income from microISV sales rises linearly month-on-month as soon as you release v1.0. Obviously this can’t happen forever (or you will be richer than Bill Gates) but it seems as good a guess as any and it keeps the mathematics simple.
  • MicroISV start-up expenses (buying a domain name, starting your company, buying equipment and software, getting an Internet connection etc) are fairly low compared your monthly WFTM salary.

Even though the model is embarrassingly over-simplified, I think it can still give some insights. If I plug some numbers for T0 and T1 into a simple spreadsheet I can come up with values for T2. I’ll choose numbers that I consider optimistic, realistic and pessimistic for each. For T0 (time to V1.0) I choose 3, 6 and 12 months. For T1 (time to same income as WFTM) I choose 12, 18 and 24 months.

T2 calculation

Months required to reach T2

i.e. if it takes you 6 months to get V1.0 out and then another 18 months until it is making the same monthly income (after expenses) as WFTM then it will take you 47 months to reach the point where a microISV has made you more money than WFTM.

So how much do you need in the way of savings to survive until you have a decent income? I can work this out by assuming living expenses as some proportion of WFTM monthly income. Calculating for 50% (living on noodles) and 100% (full speed ahead and damn the torpedoes):

debt incurred with living expenses=50% of WFTM income

Maximum debt in months of WFTM income with living expenses=50% of WFTM income

debt incurred with living expenses=100% of WFTM income

Maximum debt in months of WFTM income with living expenses=100% of WFTM income

i.e. if it takes you 6 months to get V1.0 out and then another 18 months until it is making the same monthly income (after expenses) as WFTM and your living expenses are 50% of your WFTM income then your maximum debt is 5 months of WFTM income.

I think the results of this simple little model make a few points:

  • Rate of sales growth is critical but the the time to getting v1.0 out is also very important. The longer it takes, the more you have to catch up later.
  • You are unlikely to come out financially ahead after 2 years as a microISV, even with fairly optimistic sales figures. It could easily take 3 or 4 years and, if the sales don’t take off or level out too early, you may never get there. There are many reasons to start a microISV, but getting rich quick isn’t one of them.
  • Given that you can’t know what T1 will be for your product, you should probably have at least 6 months WFTM income in the bank. Preferably 12 months.
  • Learn to love noodles.

You can download my Excel spreadsheet here (it’s a quick hack, so don’t expect too much).

So which is it going to be, the red pill or the blue pill?

man in costume holds red and blue pills

Codekana

codekanaI don’t remember when or where I first saw an editor with syntax highlighting. But I do remember that I was ‘blown away’ by it. It was immediately obvious that it was going to make code easier to understand and syntax errors easier to spot. I would now hate to have to program without it. So I was interested to try version 1.1of CodeKana, a recently released C/C++/C# syntax highlighting add-in for Visual Studio.

Codekana features include:

  • Finer grained syntax highlighting than VS2005 provides.
  • Highlighting of non-matching brackets and braces as you type.
  • Easy switching between header and body files.

In the code below Codekana colours the if/else/while blocks differently and visually pairs the braces:

syntax highlighting

I have only been using Codekana a few hours, but I am already impressed. I find the ability to quickly switch between C++ header and body files particularly useful. VS2005 only appears to allows switching body to header, not header to body (doh!). You need the dexterity of a concert pianist for the default Codekana keyboard shortcut (Ctrl-Shift-Alt-O), but it can be customised. I changed it to Ctrl+. (dot) .

Codekana also has other features, such as the ability to zoom in/out on code. This is quite ‘cool’, but I’m not sure yet whether it will be of much use. Time will tell.

I am new to VS2005 and I have yet to try out other add-ins, such as Visual Assist, but Codekana certainly seems to have a lot of potential and is excellent value at $39. I look forward to seeing what other features get added in future versions. Find out more and download the free trial here.

Disclosure: The author of Codekana is a JoS regular who I have corresponded with in the past and was kind enough to send me a complimentary licence.

Having a crack at the crackers

crack siteSoftware cracks are a real problem for software vendors large and small. I have discussed in a previous article some of the ways in which developers can try to mitigate their effects. A fellow ASP member (who might wish to remain nameless) has gone a step further by creating a fake crack site serialsgalore.com . It looks quite convincing, but when you try to download a crack it gives you an ominous message about the error of your ways and logs your IP address. I would have gone for a less confrontational message, but it will be interesting to see how effective this approach is.

I think serialsgalore.com is worthy of support by developers. Please consider giving the site some Google juice by linking to it from your site or blog using link words such as crack, keygen and/or serials. If you don’t want to do this on a main page of your site, link to it only from your site map page. Alternatively create a Google site map (a good idea anyway) and only reference the page with the links from there. I believe the site owner is going to try to cover his costs by donations, Google ads and possibly, referral fees. I certainly don’t begrudge him some return on his efforts. I also don’t feel bad about them playing a little trick on someone looking for illegal cracks. It might even save them from downloading malware.