Category Archives: guest posts

Coding my way around 100 countries

Running a software company from a laptop while travelling the world sounds like a dream lifestyle. But what is it really like? Steve McLeod was kind enough to share his experiences as a nomadic software entrepreneur.

Running a one-person software company while travelling doesn’t work. And yet I’ve been doing it for years. I’m writing this in Patagonia, in a hotel lobby. There’s pop music playing too loud to fully concentrate. The Internet connection is sketchy; in fact I’m writing this now because the Internet is unavailable again. The chair is not good for my posture. The table is too high for comfortable typing. My productivity is abysmal.

I’m partway through adding a new feature to my software, and doing it in this environment is unproductive. There is a big glacier an hour’s drive from here that I’d rather be viewing. I know that tomorrow or the next day, when I see the glacier, I’ll come back to the hotel too exhausted to code or to deal with customer support.

What does this mean for my business? Low productivity and poorer-than-intended customer support response times, which lead to lower sales. My alternative to spending a decent part of each year travelling would be to stay in my home city, working better, selling more software and earning more money.

Here are some real problems I’ve faced working on the road:

  • In Ukraine my MacBook Pro’s screen stopped working. I didn’t intend to return home for another week. I had to choose between returning home earlier; trying to get the computer serviced promptly in a foreign country; supporting customers for my Mac software for the next week on Windows computer in Internet cafes; or buying a new computer and trying to get all my development tools on it.
  • In Turkey, YouTube was blocked. Which was mostly a good thing for productivity, but as my video demo was hosted on YouTube at the time, I couldn’t monitor it.
  • In Syria, Facebook was blocked. Okay, that was incontrovertibly good.
  • In Turkmenistan there was no Internet in my hotel. Or any hotel, just about, except on age-old computers in one hotel’s inaccurately-named “business centre”. No WiFi in cafes. For a few days my company was getting no attention.
  • Travelling in a shared taxi for hour after hour between obscure locations in Iraq (true story!) left me utterly spent. All I wanted to do after getting into a hotel is to relax. But that customer support backlog is nagging, nagging, nagging at me.
  • Skype is blocked in Qatar and in some other countries. This really ruins the conference call you had planned.
  • In Lebanon I needed to update my product with a critical fix. The Internet at the time in Beirut was so bad, it would take an hour to upload my 20 MB software. An hour! During which time I’m hoping not to get a network disruption, from one of Beirut’s daily 3-hour power outages. My 2-minute scripted solution for building and uploading updates, followed by a 5-minute smoke test turned into a 2-hour task, during which time I need to keep ordering coffees so as to keep the staff happy in the cafe supplying me with WiFi.
  • Coding while sipping a cocktail in a beach-side bar in the Caribbean is difficult. The brilliant midday sun makes the laptop screen hard to read. Actually that doesn’t sound too bad at all.

A very real risk includes getting my computer stolen, which, by some miracle, has not happened yet.

How do I make this running-a-one-person-company-while-travelling thing work? Here’s some things I do:

  • I keep everything in multiple online places. I use DropBox for documents and code. I use GitHub too. Without excuse, everything needs to be recoverable without drama if the computer breaks or gets stolen.
  • I set aside frequent rest periods where I can get through a backlog of harder customer support issues and work on new features or bug-fixes. It is actually nice sometimes to not climb Andean glaciers nor to see orang-utans in Borneo, and instead to do something prosaic like working for a day or two.
  • I try to be disciplined in keeping my customer support inbox empty. When I arrive at a new hotel after a long, dusty trip, before rewarding myself with an ice-cold beer, I’ll force myself to tackle the inbox.
  • In recent months I’ve been outsourcing customer support. I pay my support representative a monthly fee in return for which she deals with what she can handle herself each day. This helps so much.
  • I aim to spend my months in my home city in high-intensity bouts of feature-adding, taking advantage of having a good work environment.
  • I produce desktop software. Not SaaS, which would be terrible to support and monitor in these environments.
  • Moving source control from Subversion (which needs an Internet connection to be usable) to Git has helped a lot.
  • I concentrate on keeping my software as solid as I can, and the user experience as smooth as possible. These two things help reduce the customer support load.
  • I try to keep things in perspective. Yes, getting my computer stolen would be a minor catastrophe. Yes, a sketchy Internet connection is annoying. Yes, some customers might get irritated at the occasionally slow support. But here’s the other side: Three years ago the city I grew up in was destroyed by two earthquakes, killing hundreds and destroying a significant amount of the city. A year before that I suffered a terrible personal tragedy. Do other things matter so much that I should sit at home to keep customers as satisfied as possible?

Although my lifestyle might seem enviable, it can be lonely at times. You don’t realise how nice it is to be able to regularly catch up with the same friends for dinner or a drink until you can’t do this for long periods. Luckily, I often manage to find someone I know well to join me for part of each trip. Here in Patagonia and beyond, my girlfriend is travelling with me for two months or so. I’d not be travelling for so long anymore without companionship.

On the other hand, my one-person software company has enabled me to reach a goal I’ve long had: to travel to more than 100 different countries. I earn a decent income from my work and thousands of customers love my software. And that is enough for me.

Photos copyright Steve McLeod.

Steve McLeod runs Barbary Software, a one-person software company. Barbary Software’s main product is Poker Copilot, hand history analysis software for online poker players on Mac OS X.

Further reading:

3 practical tips for finding software product ideas

software product ideasToo many software products fail because no-one bothered to do basic market research. This is a guest post from Edmundo López B. with some useful advice on finding a viable market niche before you start creating your product.

The process of building software for a niche market is more or less well documented online. The basic workflow I found is (for example here or here):

  • choose some niche (with potential)
  • find out the problems that you can solve in that niche
  • create a product to solve the problem
  • sell it
  • enjoy life :-)

Here are three things you can look for when asking people about their problems.

Ask for the painful tasks that they do, not for the problem you can help with

The people I first talked to were persons that I already knew, so my pitch for them was: “Hello. As you know I’m a software engineer. I’m looking for problems to solve. I want to build software and sell it. And, if I solve a real problem, I’m sure people will pay for it. I was wondering if there is some problem in your business where you need some help. I could create some software, solve your problem and then sell it. I can help you with your problem and you will help me to find my problem.”

The first response was always positive however, everybody I talked to started to look at a problem they thought could be solved by a computer. The problem with that is that people’s vision of computers is very limited. First, some people limit the software I can build to desktop applications or some platform they know well. Second, they try to find problems to give you, and not the problems they really have. For example: one of my interviewees said to me that she needed some kind of tracking system for the expenses of her very small business (a small farm producing eggs). I told her: “Wow, that sounds like a problem I could solve, how are you solving that problem right now?.” She told me: “I’m not, I’m busy bootstrapping the whole business right now. But later I’d certainly like to have something for that.” Of course, if she is not solving that right now, then that is not a real problem. She sort of made that problem up to give an answer to my question.

People have real problems but sometimes they don’t even know they could tackle that problem with a computer. So, the lesson here is that you have to get them to tell you their real problems. Even the ones they don’t think that could be solved by a computer. You are the computer expert, not the people you interview, so you need to find out the real problem out there. Also it doesn’t have to be a problem from the future, it has to be an actual problem now. The question that I found works best is the following: Tell me about your day and what activities are the most tedious and boring to do, but do not add much value to your business. (I’m not the first to come up with this question, but I don’t remember the source, sorry.)

Look for their existing solution and ask what is wrong with it (the Excel spreadsheet)

From the people I interviewed, 2 of them had an Excel spreadsheet that solved their problem in a way that was not the best, but did the job. The third one had plans to solve her problem with an Excel spreadsheet in the future. Joel Spolsky talks about how Excel and other horizontal software are nothing more than glorified data structures. It is true, you can do almost anything involving simple mathematics and tables of data within Excel. Keeping track of costs, sales, etc. are a perfect match for it.

The common engineer will say: “If there is already a solution for that, why roll my own?” The entrepreneur will just ask what isn’t possible with the existing solution and think of ways of improving that. The existence of the Excel spreadsheet is a clear sign that there is a computing problem that can be solved in a better way. I can give you an example. Two of the persons I interviewed showed me their Excel spreadsheets (an architect and an event manager). A common problem was being able to slightly change some prices in a budget and immediately be able to show the old and the new price to the client.  This kind of information is gold to the person creating an application. This is something they use, and if you can save them time using it, you can add value to their businesses.

If there is no Excel spreadsheet, I just try to find software on the net that does what they need. If there is something really good on the market, I don’t want to compete with them. If you are wondering why didn’t I let them do the search, the answer is simple: they do the search using the traditional channels, colleagues and networks of peers; I focus on the Google search. I’m a developer, I can Google for software in a much better way than they do. It took me an hour to do a research on software for architects. Then you can explain to them the pros and cons of the solutions, help them to sign up for a free trial and tell them if their set-up is supported. The golden rule is to be really helpful. It is true that you might end up finding a customer for someone else. But if there is not a good solution, you are finding a niche for yourself.

Do some simple mathematics to see if the problem is worth solving

My last tip is about the financial aspect. Let us say that you finally found a problem that you can solve. It is painful and there is no solution in the market that can solve it in the way people in that niche want. The question to ask now is: “What are people willing to pay for something like this?” I cannot give you an exact answer but I can tell you that it depends on the value you add to your client’s business.

What you want to know is:

  • How much time does it take monthly to do the task you are solving?
  • How much money could be earned in the same amount of time?
  • How much faster would it be to do the same task with your solution?

The basic idea is to convert saved time to saved dollars. Of course, if your solution saves dollars monthly, it becomes an investment for the business. My limited experience showed me that saving people money and pain gets them really excited.

I can give you an example from my interview with the architect. Once again, the problem was something he was solving with an Excel spreadsheet. I asked him how much time did it take and he told me at least three days. Three days of architect’s time means a lot of money. So, if you can help him solve the problem in one day, you are not only saving his money but avoiding pain (because the problem was painful to solve, but  it needed to be done).

Conclusion

Now it’s up to you. Try to put these in practice, and find a niche to build your first product. Please share your thoughts and remarks in the comments.

Edmundo López B. is a PhD student in computer science at the University of Geneva and an entrepreneur in the making. He loves building things, learning new stuff, and  playing classical guitar. He decided to make the jump directly from school to entrepreneurship and shares his journey in his phdsolopreneur.com blog.

The brutal truth about marketing your software product

badwaterWe tend to hear a lot about software industry success stories. But most of us mere mortals have to fail a few times before we learn enough to succeed. In this guest post William Echlin talks about the hard lessons he has learned about creating and selling software products.

Probably, like you, I started developing my own software application a few years back. I had this dream of working for myself and becoming financially independent. The money side was a nice goal to have but ultimately I was looking for the fulfilment of working for myself. Sound familiar? Well, if it does, you may have learnt many of the lessons I’ve learnt. I don’t mind admitting now that I got carried away. I got carried away with building a test management application to the extent that I forget about many of the key things you need in place to build a successful business.

After a few years work I’d created the leading open source test management application (a product called QaTraq that’s still available on Source Forge but a little dormant). It had cost me time, money and effort. I’d achieved some success with building and marketing a free product. Next stop taking it commercial. This is where it gets brutal.

About a year into leaving a full time job I’m taking the last £1,000 out of the joint bank account. I’m making some sales but it’s damn tough. A few months later and I’m in the supermarket £15,000 in debt wondering if my credit card is about to be rejected for the families weekly shop. You read about this sort of thing in biographies on successful entrepreneurs. These guys take it to the limit and then succeed and make millions. Sounds so glamorous. When your wife, 3 year old son and 1 year old daughter depend on that credit card being accepted believe me it’s NOT glamorous.

Building a business has always been about balancing design, development, sales, marketing, support, testing, etc. When you’re a one man band that’s not easy. You try to do everything. You’re bloody brilliant at building the product. The trouble is, once you want to make a living out of it, that “building” is almost the least important bit. After I’d spent 5 years building my product I stumbled upon one very useful piece of advice. It was a little late for me but maybe it’ll help you….

“Learn how to market and sell before you build your product. Learn these crafts by picking a product that’s already been built and act as a reseller”.

That’s worth reading again (it’s counter intuitive). What’s being said here is that if you can’t market and sell a product (ANY product) then the odds of succeeding with your own product are slim. If you can’t “market and sell” what on earth is the point in wasting all that time, effort and money building your own product? If you’re never going to be able to market it, and sell it, why build it?

So find a product in a slightly different sector and sign up as a reseller. Save yourself the time and effort of building a product and practice marketing and sales with someone else’s product first. Create a web site, develop an ad words campaign and start promoting with social media. Sell the product! If you can’t get the hang of this why bother building your own? If you can get the hang of building your own marketing machine it won’t be wasted effort. If you’re clever and pick the right product / sector you just need to switch the product on your site a year or so down the road. Once you’ve built the marketing and sales engine switch it to sell the product you’re building.

I’m not saying that this is the only way to go about it. I’m just saying that if you don’t have the determination to learn, understand and be successful with marketing and sales early on, then it’s unlikely you’ll succeed with your own product. So why waste time building it. It’s a tough lesson to learn. One I learnt the hard way.

And the specific lessons I learnt the hard way? Well I’d do these things first if I was ever to do this again:

1. Create at least one lead generation channel as an affiliate for another product. That lead generation channel will probably be a web site and as part of that you’ll need to master things like:

  • Google Adwords
  • Social media
  • Email marketing
  • Blogging
  • Link building

All these things take a lot of time. Do you have the determination to learn and execute on all of this?

2. Spend some time in a sales related role. Initially I was working in a full time job whilst building my own product in my spare time. The best thing I did was offer to help the sales team with product demos. I learnt lots from working closely with sales people (I didn’t like them very much, but that’s a different matter) and clients. If you can’t do product demos to clients, or you can’t talk to clients confidently then you don’t stand a chance of selling anything. People buy from people and a product demo is THE place to show case YOU (and the product)

3. Spend time learning about re-marketing. A lot of money goes into getting that initial lead. Don’t waste it! Understand Google’s re-marketing campaigns. These allow you to follow the people that came to your site and continue serving them banner ads on other sites. Understand email marketing once you’ve captured an email address. Yes I hate most of this when I’m on the receiving end. The reality is that it works though. That’s why companies do it (and why Google make so much money). I’ll tell you now that your business won’t survive if you don’t master some of these techniques. And if your business doesn’t survive then every ounce of effort you’ve put into building that application is wasted!

4. Spend time learning about cross selling. A significant amount of revenue can come from cross selling other products. When was the last time you went to a restaurant and they didn’t try to sell you a bread roll? When was the last time you flew somewhere and they didn’t try to sell you priority boarding? For you this might be in the guise of selling your leads to other companies that have complementary products. It might be providing different editions of your application. There are many other ways to add additional revenue streams to your prime product sale. These streams are absolutely critical to the success of your business.

5. Don’t try to become a sales person. You don’t have to be a sales man/woman to sell. Some of the best sales people I’ve worked with are those that just go out of their way to HELP the customer. They understand their niche inside out and have the gift, not to sell, but to HELP. People that are looking to buy something want help. They want an itch scratched or a problem solved. If you can help them with a solution then you’re most of the way towards making the sale. Forget all this rubbish about psychology and techniques to influence people. The best thing you can do is enter the mind set of helping! Go out of your way to help.

I don’t have all of this right by any stretch. I know one thing though. Products don’t sell themselves. And if you’re not prepared to start learning about sales and marketing you won’t sell your product.

It was all a bit ironic for me though. I spent years building my own test management product to help software testers. It even started out as the leading open source solution in it’s market for many years. I mastered SEO and created a great lead generation process (the oxygen of any business). I created a version which I put a price on and sold to companies. I even sold to a number of significant companies. But I just couldn’t do all of it. I couldn’t balance the design, development, testing, marketing, sales, support, etc. It’s brutally painful when this dawns on you.

In the end what I’d really mastered was lead generation. I ended up with a web site that attracted my target audience but failed to sell much. When you realise that, you realise that it’s the product. Nothing wrong with the marketing and sales. It’s the product. There were better products out there. Kind of tough to swallow but as soon as I did, I moved on. These leads, or rather people (because leads are actually real people), were looking for help. I just needed to provide them with the right product and services. So I started reselling other products and providing consultancy around those products on my test management website.

In the end I had one of the toughest bits right. If you get the lead generation right you’ve built a marketing foundation that you can build any type of business around. For me I just wished I figured the marketing piece out before I’d built my product. Now I just work on my marketing. Oh, and I help companies with their software testing and test management. For me at least, it’s much easier this way.

William Echlin has spent 20 years in testing, working on everything from air traffic control systems to anti-virus engines. He had a bad experience in his early childhood trying to effectively manage test cases with vi (he’s still a huge fan of vi but recognises that text files make a lousy repository for test cases). In an attempt to deal with these childhood demons he became a consultant on all things related to test management.

Monetization: Ads vs Toolbars vs Charging

I believe that the best way for most small software vendors to make money off their software is to charge for it. So I was interested to spot a post on BOS by someone who had tried ads, toolbars and charging to monetize the same piece of software. He kindly agreed to share his experience anonymously. Obviously it is only one data point, but the results are pretty unequivocal.

I developed a freeware program six or seven years ago. A piece of utility software, for either home or business use, in an extremely crowded and competitive niche. The downloads grew organically and settled into what they are now, around 30,000-40,000 per month. I’ve never used any paid advertising, but have always had a forum and been responsive to user queries. That, coupled with regular updates, built the software a fairly loyal user base.

My original idea was to make money by attracting visitors to the website and using Google Ads. This isn’t generally done on software sites, but it kind of worked for me (I still had a day job though). Eventually it was making one or two thousand dollars per month. I experimented with toolbar installer offers – Bing for the US and UK, Ask for the rest of the world. The revenue wasn’t too bad, but the ads made more.

Eventually I decided to try selling a ‘Pro’ version of the software, with even more features. I planned to keep the free version as a ‘gateway’. Note the free version still has more features than non-free competitors. It took about 6 months to write (evenings and weekends), and was finally released (with no marketing, apart from the website) in Jan 2012.

As you can see, from the first full month the sales revenue brought in ten times what the toolbar did. I wound down the site ads, and eventually removed the toolbar (you can see the revenue tail off in the chart).

I quit the day job!

See also:

Selling software vs selling eyeballs

3 Low-Competition Niches In Retail Software

This is a guest post by Joannes Vermorel, founder of the Lokad Forecasting Service.

Software developers seem to be herd animals. They like to stay very close to each other. As a result, the marketplace ends up riddled with hundreds of ToDo lists while other segments are deserted, despite high financial stakes. During my routine browsing of software business forums, I have noticed that the most common answer to Why the heck are you producing yet another ToDo list? is the desperately annoying Because I can’t find a better idea.

This is desperately annoying because the world is full (saturated even) with problems so painful that people or companies would be very willing to pay to relieve the pain, even if only a little. A tiny fraction of these problems are addressed by the software industry (such as the need for ToDo lists), but most are just lacking any decent solution.

Hence, I detail below 3 low-competition software niches in retail. Indeed, after half a decade of running sales forecasting software company Lokad, I believe, despite the potential survivor bias, that I have acquired insights on a few B2B markets close to my own. Firstly I will address a few inevitable questions:

Q: If you have uncovered such profitable niches, why don’t you take over them yourself?
A: Mostly because running a growing business already takes about 100% of my management bandwidth.

Q: If these niches have little competition, entry barriers must be high?
A: Herding problems aside, I believe not.

Q: Now these niches have been disclosed, they will be swarmed over by competitors, right?
A: Odds are extremely low on that one. The herd instinct is just too strong.

Q. Do I have to pay you if I use one of your ideas?
A. No, I am releasing this into the public domain. I expect no payment if you get rich (unless you want to!) and accept no liability if you fail miserably. Execution is everything.  And don’t trust a random stranger on the Internet – do your own market research.

Before digging into the specifics of those niches, here are a couple of signs that I have noticed to be indicators of desperate lack of competition:

  • No one bothers about doing even basic SEO.
  • No prices on display.
  • No one offers self-signup – you have to go through a sales rep.
  • Little in the way of online documentation or screenshots are available.

However, lack of competition does not mean lack of competitors. It’s just not the sort of competition that keeps you up at night. Through private one-to-one discussions with clients of those solutions, here is the typical feedback I get:

  • Licenses are hideously expensive.
  • Setup takes months.
  • Upgrade takes months (and is hideously expensive).
  • Every single feature feels half-baked.

By way of anecdotal evidence – during a manufacturer integration with our forecasting technology a few months ago at Lokad, we discovered that the client had been charged $2,000 by its primary software provider in order to activate Remote Desktop on the Windows Server where the software was installed. Apparently, this was well within the norm of their usual fees for the inventory management system in place.

Granted, just being cheaper is usually not a good place to be in the market. Yet, when a competitor’s software is designed in such a way that it takes a small army of consultants to get it up and running, they can’t just lower their license fees to match yours – assuming that your design is not half-baked too. The competition would have to redesign their solution from scratch, and give up on their consultingware revenues. So you are in a great position to drive competition crazy.

With a market managing over two-thirds of the US gross domestic product, one would expected retail be saturated by fantastic software products. It turns out this is not the case. Not by a long shot – except eCommerce (e.g. online shopping carts) which attracts a zillion developers for no good reason.

Some salient aspects of the retail software market:

  1. Most retailers are already equipped in basic stuff such as point-of-sale, inventory management and order management systems. So you don’t have to deliver that yourself. On the contrary, you should rely on the assumption that such software is already in place.
  2. As far the Lokad experience goes with its online sales forecasting service, retailers are not unwilling to disclose their data to a 3rd party over the Internet. It takes trust and trust takes time. Interestingly enough, at Lokad we do sign NDAs, but rather infrequently. We are not unwilling, but most retailers (even top 100 worldwide ones) simply don’t even bother.
  3. Retailers have a LOT of data, and yet unlike banks, they have little talented manpower to deal with it. Many retail businesses are highly profitable though and could afford to pay for this kind of manpower, but as far I can tell, it’s just not part of the usual Western retail culture. Talents go to management, not to the trenches.

Niche 1: EOQ (Economic Order Quantity) calculator

Retailers know they need to keep their stocks as low as possible, while preserving their service levels (aka rate of non stock-outs), see this safety stock tutorial for more details. If the marginal ordering cost for replenishment was zero, then retailers would produce myriads of incremental replenishment orders, precisely matching their own sales. This is not the case. One century ago, F. W. Harris introduced the economic order quantity (EOQ) which represents the optimal quantity to be ordered at once by the retailer, when friction factors such as the shipping cost are taken into account. Obviously, the Wilson Formula (see Wikipedia for details) is an extremely early attempt at addressing the question. It’s not too hard to see that many factors are not accounted for, such as non-flat shipping costs, volume discounts, obsolescence risks …etc.

Picking the right quantity to order is obviously a fundamental question for each retailer performing an inventory replenishment operation. Yet, AFAIK, there is no satisfying solution available on the market. ERP systems just graciously let the retailer manually enter the EOQ along with other product settings. Naturally, this process is extremely tedious, firstly because of the sheer number of products, secondly because whenever a supply parameter is changing, the retailer has to go through all the relevant products all over again.

The EOQ calculator would typically come as multi-tenant web app. Main features being:

  • Product and supplier data import from any remotely reachable SQL database[1].
  • Web UI for entering / editing EOQ settings.
  • EOQ calculation engine.
  • Optional EOQ export back to the ERP.

Pricing guestimate: Charge by the number of products rather than by the number of users. I would suggest to start around $50/month for small shops and go up to $10k/month for large retail networks.

Gut feeling: EOQ seemingly involves a lot of expert knowledge (my take: acquiring this knowledge is a matter of months, not years). So there is an opportunity to position yourself as an expert here, which is a good place to be as it facilitates inbound marketing and PR with specialized press. Also, EOQ can be narrowed down to sub-verticals in retail (e.g. textiles) in case competition grows stronger.

Niche 2: Supplier scorecard manager

For a retailer, there are about 3 qualities that define a good supplier: lowest prices, shortest shipment delays, best availability levels (aka no items out-of-stock delaying the shipments). Better, sometime exclusive, suppliers give a strong competitive edge to a retailer. Setting aside payment terms and complicated discounts, comparing supplier prices is simple, yet, this is only the tip of the iceberg. If the cheapest supplier doesn’t deliver half of the time, “savings” will turn into very expensive lost sales. As far I can observe, beyond pricing, assessing quality of the suppliers is hard, and most retailers suffer an ongoing struggle with this issue.

An idea that frequently comes to the mind of retailers is to establish contracts with suppliers that involve financial penalties if delays or availability levels are not enforced. In practice, the idea is often impractical. Firstly, you need to be Walmart-strong to inflict any punitive damage on your suppliers without simply losing them. Secondly, shipping delays and availabilities needs to be accurately monitored, which is typically not the case.

A much better alternative, yet infrequently implemented outside the large retail networks, consists of establishing a supplier scorecard based on the precise measuring of both lead times (i.e. the duration between the initial order and the final delivery) and of the item availability. The scorecard is a synthetic, typically 1-page, document refreshed every week or every month that provides the overall performance of each supplier. The scorecard includes a synthetic score like A (10% best performing suppliers), B and C (10% worst performing suppliers). Scorecards are shared with the suppliers themselves.

Instead of punishing bad suppliers, the scorecard helps them in realizing there is a problem in the first place. Then, if the situation doesn’t improve after a couple of months, it helps the retailer itself to realize the need for switching to another supplier…

The scorecard manager web app would feature:

  • Import of both purchase orders and delivery receipts (this might be 2 distinct systems). [2]
  • Consolidation of per-supplier lead time and availability statistics.
  • One-page scorecard reports with 3rd party access offered to the suppliers.

Pricing guestimate: Charge based on the number of suppliers and the numbers of orders to be processed. Again, the number of users having access to the system might not be a reliable indicator. Starting at $50/month for small shops up to $10k/month for large retail networks.

Gut feeling: By positioning your company as intermediate between retailers and their suppliers, you benefit from a built-in viral marketing effect, which is rather unusual in B2B. On the other hand, there isn’t that much expert knowledge (real or assumed) in the software itself.

Niche 3: Dead simple sales analytics

Retail is a fast-paced business, and a retailer needs to keep a really close eye on its sales figures in order to stay clear of bankruptcy. Globally, the software market is swarming with hundreds of sales analytics tools, most of them being distant competitors of Business Objects acquired by SAP years ago. However, the business model of most retailers is extremely simple and straightforward, making all those Business Intelligence tools vast overkill for small and medium retail networks.

Concepts that matter in retail are: sales per product, product categories and points of sale. That’s about it. Hence, all it should take to have a powerful sales visualization tool setup for a retailer should be access to the 2 or 3 SQL tables of the ERP defining products and transactions; and the rest being hard-coded defaults.

Google Analytics would be an inspiring model. Indeed, Google does not offer to webmasters any flexibility whatsoever in the way the web traffic is reported; but in exchange, setting-up Google Analytics requires no more than merely cutting-and-pasting a block of JavaScript into your web page footer.

Naturally it would be a web app, with the main features being:

  • Product and sales data import from any remotely reachable SQL database.[2]
  • Aggregate sales per day/week/month.
  • Aggregate per product/product category/point-of-sales.
  • A Web UI ala Google Analytics, with a single time-series graph per page.

Pricing guestimate: Regular per-usage fee, a la Salesforce.com. Starting at $5/user/month basic features to $100/user/month for more fancy stuff.

Gut feeling: probably the weakest of the 3 niches, precisely because it has too much potential and is therefore doomed to attract significant attention later on. Also, achieving a wow effect on first contact with the product will probably be critical to turn prospects into clients.

Market entry points

Worldwide, there are plenty of competitors already for these niches. Yet, again, this does not mean much. Firstly because retail is so huge, secondly because it’s a heavily fragmented market anyway. First, there are big guys like SAP, JDA or RedPrairie, typically way too expensive for anything but large retail networks. Second, there are hundreds of mid-market ERPs, typically with a strong national (or even regional) focus. However, those ERPs don’t delve into fine-grained specifics of retail, as they are too busy already dealing with a myriad of feature requests for their +20 modules (accounting, billing, HR, payments, shipping … etc). Hence, there is a lot of space for razor-sharp web apps that focus on one, and only one, aspect of the retail business. Basically single-minded, uncompromising obsession with one thing, leaving aside all other stuff to either ERPs or other web apps.

In order to enter the market, the good news is that mid-size retailers are pretty much everywhere. So you can just use a tiny bit of networking to get in touch with a couple of neighbouring businesses, even if you don’t have that much of a network in the first place. Then, being razor-sharp in a market where very little online content is available, offers you a cheap opportunity at doing some basic SEO based on the very specific questions your software is addressing.

Q: I am interested, I have questions, can I ask you those questions?
A: Naturally, my rate is 200€/h (no just kidding). Yes, email me.

[1] Don’t even bother about providing a super-complicated setup wizard. Just offer a $2k to $5k setup package that includes the ad-hoc handful of SQL lines to match the existing data of the retailer. We are already using this approach at Lokad with Salescast. Alternatively, we also offer an intermediate SQL schema, if the retailer is willing to deal with the data formatting on its own.

[2] Again, I suggest an approach similar to the one of Salescast by Lokad: don’t even try to robotize data import, just design the software in such a way that adding a custom adapter is cheap.

Joannes Vermorel is the founder of Lokad, company motto “You send data, we return forecasts”. Lokad won the first Windows Azure award from Microsoft in 2010, out of 3000 companies applying worldwide. He has a personal blog that mostly deals with cloud computing matters.

How to remove software cracks and keygens from file hosting sites

Software piracy is a real issue for every software company, large and small, and it isn’t going away any time soon. So when I heard that fellow microISV owner Nikos Bozinis had created a tool to help software vendors fight  piracy, I asked him to write a guest post. He kindly agreed to write this post about software piracy, the Digital Millennium Copyright Act and his CrackTracker product.

Why buy something when you can download it ‘for free’? Billions of dollars are lost every year from illegal downloads of music, movies and software. People around the world seem to have very lax morals when it comes to abusing digital content. Downloading the latest movie or windows software from rapidshare.com somehow doesn’t strike them as theft — it’s not like stealing a loaf of bread! The traditional music industry is already down on its knees as a result, and software may be the next to follow.

Software authors and music enterprises are fighting back by tightening the DRM (Digital Rights Management) of their products in a futile effort to stop online piracy. But usually crackers have no problem circumventing any protection system that we can dream up. To add insult to injury legitimate customers are usually hurt by such reinforced software protection and activation systems. A little bit like the war on terror, isn’t it?

A different line of defense for ailing copyright owners is the Digital Millennium Copyright Act (DMCA), a US law with global reach for copyright protection (the european EUCD equivalent is not as broadly known). This law is very broad, and not without controversy, but it works – closing down websites that distribute illegal content and removing copyright infringing downloads from file-hosting websites with summary procedures, among other things. So if you discover your software illegally distributed in some warez website, you can send a so called “DMCA section 512 takedown notice” to the website host and they are expected to remove that particular file from circulation — or risk the wrath of the law.

Software Piracy

I have been a microISV for over 10 years so lets forget about the entertainment industry and concentrate on my field, software. There are over 200,000 programs listed on download.com and that’s just for Windows. Many are created by very small to medium sized companies — many even run by a single programmer/webmaster/marketer/entrepreneur. I bet that all these programs are cracked in one way or another — at least those popular enough for crackers to care about them. If you search for warez or torrents you will find the software you want for free, either the latest or an older working version.

Piracy statistics from Business Software Alliance report 2009 (click image to enlarge).

I sell a file manager called xplorer². I track how many people install the program every day and also I have a good guesstimate for the number of people using cracked versions of xplorer². I estimate over 70% of the regular users use one of the known keygens. Imagine if this 70% didn’t exist or it was converted to regular paying customers!

How is it done?

Downloadable software falls into 2 categories: those that run in trial mode until you buy a key to unlock the full functionality; and those that are special downloads for customers that pay the registration fee. In all cases some sort of unlocking takes place using a plain key, or a license file, or online activation, or some combination thereof. Many ISVs write their own licensing code, while others rely on off-the-shelf protection and licensing products (Armadillo, WinLicense etc).

Imagine you shipped your source code along with your program, then it would be trivial for even amateur crackers to bypass your protection and run the program without paying. Very few vendors supply source code, but people in the know can read off your licensing logic like an open book using specialized reverse engineering tools (softICE, IDA and other debuggers and disassemblers). Then they can create a ‘patch’ or modification to your executable that bypasses the protection.

An even worse type of compromise is a keygen. When the cracker uncovers the logic of your unlock keys, he can create a program to generate such keys which look and behave exactly like the legitimate ones you sell to your customers. Then he doesn’t need to patch your program, he just supplies this keygen to the warez community and everyone can help themselves to your program. You can guard yourself against such attacks using asymmetric encryption algorithms for your keys.

Is there a perfect protection system?

In short, no. If you consider that your program is presenting its logic to anyone with moderate experience in machine language, then sooner or later any protection can be circumvented. Professional protection schemes utilize encryption to protect sensitive parts of your code, but even they won’t withstand the cracker test. And remember the harder your DRM the more likely your program will be mistaken for malware (!) as many viruses and trojans use encryption tricks.

Even if there was a perfect system, your sales would still be at risk. All that’s required is some of your customers to post their unlock key in a warez site, and the game is lost. You would then blacklist that serial, until another one was leaked and so on.

The warez scene

There are people who don’t spend any time in Facebook or YouTube. They surf the internet for free stuff. Cracked versions of commercial software (aka warez) circulate in some shady forums that bring together the crackers with the downloaders e.g. http://www.warez-bb.org.  Browse a warez site and you will find any software, movie or music you fancy, with an assortment of popups and dodgy advertisements of the usual internet 3P products (Pills, Poker and Girls [sic]). For your convenience there are even specialized search engines that search a number of such forums simultaneously, e.g. http://www.warez.com.

These forums do not host the actual files. They refer the traffic to specialized file hosting services like rapidshare.com. To make the most of warez you need to buy a subscription to access such file hosting sites (e.g. unlimited downloads from $9/month). Incurable cheapskates could get away without paying anything though, as you can download for free after a forced (nag) waiting of a minute or two.

A bit more up-market are download sites where to gain access you need to purchase a subscription, e.g. http://www.nowdownloadall.com. I have never paid to enter such a site, but they promise access to any download you can imagine. So you pay a monthly fee to download as much as you like. Note that this is different from paid-for hosting mentioned above. I suppose that you need a file hosting subscription on top to get the actual files downloaded. With so much stuff available for free I don’t know if this approach makes economic sense.

Finally there are traditional peer-to-peer file sharing networks, where people share their software music and video through torrents. After the demise of Napster torrents are still strong, with completely decentralized databases immune to legal intervention. The downside of torrents is their inherent unreliability, so people in a hurry will prefer the immediate gratification of a full download from rapidshare.com and the like.

Why do they do it?

It is easy to understand why someone will prefer ‘free’ software instead of paying up. But what about the crackers, the people who circumvent the DRM and distribute these warez. Why do they do it? Here are a few plausible motives:

  • For kicks. The traditional hacker stereotype is a geeky person whose pastime is breaking into computer networks. Cracking into a software’s protection and stripping it clean must be a pleasure in itself, a ritual destruction of the evil Death Star.
  • For glory. Marxist theory claims that private property is theft. This concept has struggled with real tangible property, but digital property is the ideal trophy. Many groups feel that software and music should be free (!) so taking down the big media and software corporations is a noble cause for them. But many small ISVs fall victims too, and the real motives are far less revolutionary…
  • For profit. Marx is dead; long live Das Kapital. Warez downloads are big business in a number of ways:
    • Direct subscriptions charges to access the downloads
    • Selling password unlockers (e.g. you download something in a ZIP archive which is locked and you need to buy some software to unlock it)
    • Distributing malware. Many downloads are packed with malware (sample report for a keygen), from straightforward scams and ransomware to trojans that turn your computer to a zombie, waiting for instructions to launch a DDoS attack or send spam.

You *can* remove illegal downloads

If your software is available to download from warez sites, either compromised (patched or keygened) or simply accompanied by a simple serial number to unlock it, you will definitely lose sales. The good news is that, using DMCA provisions, you can have these unauthorized downloads removed. Without these downloads prospective users will have no choice but to buy your software — or move on to your competitor’s cracked software.

Here is how to remove illegal downloads:

  1. Find your download links. All illegal downloads end up in a host like rapidshare.com or megaupload.com (I know of more than 100, but there are 10-20 big player websites). A standard Google search for your software name plus ‘crack’, ‘keygen’ or ‘rapidshare’ will find some hits, especially if you search in groups or blogs. Even better use specialized warez search engines like http://www.filestube.com with just your software name as a keyword — the results will be just downloads.
  2. Validate download URLs. Some of the download links you discover may be dead (e.g. very old). Click on each one to see if they are valid or 404.
  3. Send DCMA notices. Group the download links by provider (rapidshare, hotfile, etc), and send a DMCA notice to the abuse email address of each website. Usually this is abuse@website.com (e.g. abuse@rapidshare.com). Each website lists the steps for filing DMCA notices for file removal.

This sounds like a lot of hard work, and it can be, but it works. File sharing websites like rapidshare.com run a legitimate business — they are not responsible for cracks — so if you send them a polite DMCA takedown notice they will remove the copyright infringing downloads.

The DCMA takedown notice

Strictly speaking when you send a DMCA notice you are making allegations of copyright infringement, which is a serious crime. You would imagine that a formal complaint should be launched under the guidance of a solicitor/lawyer. Given the amount of copyright infringement that goes on, the red tape would bring everything to a standstill. The beauty of the DMCA law is that it simplifies the procedure. Sometimes a plain English email explaining the situation to the download site, along with a list of your download locations is all that’s required to have the links removed.

A few websites require a more formal DMCA email including details such as your company address, contact telephone numbers, and some boilerplate statements like “I swear, under penalty of perjury, that the information in the notification is accurate…”. You can find many sample DMCA notices online so I won’t repeat them here. The general idea is that you present yourself as the copyright owner and declare the download URLs as unauthorized, and therefore infringing your copyright.

Torrents slip by

DMCA is very good for removing illegal downloads hosted in popular file sharing websites, but it is powerless against torrents. There is no single source for the download, as the files are kept in many computers. You would have to contact each and every person who shares illegal copies of your software in the peer-to-peer network. This would be hopeless and a waste of effort. Thankfully for the ISV, torrent use is on the decline. People prefer direct downloads of the full package instead of slower peer-to-peer downloads.

The sales pitch

Anyone can search and remove illegal downloads manually. I was doing it the hard way for quite some time, each time I released a new version of my software tool (there’s a lot of cracker activity for each release as they need to update their patches and keygens). However this is very tedious, as you must:

  • enter shady warez forums to search for your keyword, facing annoying popups and adverts you wouldn’t want your wife to see
  • search many locations to ensure you get as many download URLs as possible
  • validate each download URL to see if it is still alive or dead
  • organize download URLs and write DMCA takedown emails for each file hosting website

Even if one wipes all the illegal downloads, new ones will appear over time. So the locate-report-remove cycle must be repeated regularly. This was the motivation for writing Crack Tracker, a tool that simplifies the removal of illegal downloads.

Crack Tracker is a desktop tool, with a meta search engine that securely scans warez databases for your downloads. You supply the search keyword (e.g. your software title or company name) then crack tracker will do an exhaustive search, collect a list of suspect download locations and verify the links with robotic efficiency. After you examine the results you just hit a button and the relevant DMCA emails are sent automatically. It doesn’t get any easier than that.

Crack Tracker doesn’t have a fancy user interface but it is very easy to use. It knows of more than 120 file hosting websites and works with 6 major warez search engines (the list is expanding). It is free to try as a search engine; to send the actual DMCA emails you need a registration, but I believe the price is very reasonable, especially if you consider the money you lose in pirated versions of your software.

Why don’t you try it for free and see how many cracks of your software it finds?

Download CrackTracker for Windows (318KB)

Nikos Bozinis ditched his Process Systems Engineering PhD to run his own microISV ZABKAT since 1999. He also writes a weekly blog focusing on file management and occasionally on programming, debugging and running a software business.

Selling your software in China

how to sell software in chinaI think a lot of people in the software business are wondering whether China will soon become a significant market for software and/or a source of competition in existing markets. So I was very interested to read a forum post about the realities of selling software in China from Felipe Albertao, an ex-Silicon Valley software engineer currently living in China. He kindly agreed to expand his forum post into an article for this blog.

Disclaimer: Although I live in China, I absolutely do not claim to be a China expert. I accepted Andy’s kind invitation because I have not seen anything at all written about the business of software in China for microISVs, and I humbly hope it will positively contribute to the discussion. This article is mainly based on my observations, and not on proven techniques. Use them at your own risk, and please report back your own findings!

Getting Paid

The first thing I need to say, right off the bat: Chinese users will not buy your software. Period. That does not mean that there is no money to be made, it simply means that they will not pay for your software license. The reasons are many, but for the sake of conciseness let’s suspend our “piracy is bad” mindset, and simply accept this fact as a reality. Think of the positive side: no payment processors or merchant accounts to worry about!

Chinese users will not buy your software, but Chinese companies might. Actually, let me clarify that: They will not buy the software license alone, but they are willing to pay for the license if it is part of a package that includes services (customization, installation, support, training, etc…). So, to get paid in China, you must offer services connected to your software. Of course, it would be very hard for westerners who do not speak the language nor have contacts in China to provide such services, but there are opportunities to partner with local independent professionals or small businesses in your target industry. More on that later.

Education is a huge business in China, especially for skills that give them a professional lead, like English language or IT. So, if you can somehow “plug-in” your software to an education-related service, that would also be another way to make money. For example, if you offer a component for ASP.NET, why not offer training on ASP.NET itself using your software? I am sure they will not pay for a self-paced course, but there is a good chance they will pay if you offer a hands-on remote live course. That is, a service rendered by a human, as there is no value perceived in the standalone immaterial software itself. Of course there is huge local competition, but one thing we have going for us is the fact that westerners enjoy a high degree of trust among Chinese people.

I suspect SAAS may be another way that Chinese users will pay for software (with a big question mark here). For example, today they do pay for services like site hosting, advertising and e-commerce presence, so we can assume there is at least a perceived value in subscription-based intangible products, though only the ones provided by well-known established companies, and not independent vendors. However, as the marketplace gets more fragmented and niche-oriented, I believe there will be opportunities for small players as well.

Web Site and Software Translation

Young Chinese people normally have a good grasp of written English, so I don’t think translation of the software itself is essential, although it always helps. IT professionals tend to be more English-proficient, as well as undergrad-level students. However, I do believe that the documentation must be translated, especially with IT-related software. Differently than western users, Chinese people actually have enough attention-span to thoroughly read a manual, and I have seen English-proficient programmers choosing frameworks and components based not only on the quality of the software itself, but whether the manual is in Mandarin Chinese or not (it’s always easier for them to read Chinese). So, translation here is not really a necessity, but a promotional strategy.

The “larger attention-span” assessment is also valid for the web site. We are used to the Web-2.0-ish recipe of a catchy one-liner plus 3 benefits and the big “Buy” orange button, and in China that probably works too, but users expect much more than that. I have observed that paid services almost always include some kind of workflow with arrows and circles and boxes explaining how the service works. Long explanations (not just a FAQ) are also quite common, and people actually read them! The fact is that here in China there is no such thing as “money back guarantee”, so people and companies normally think a lot before putting their hard-earned money into something. And forget the big “Buy” orange button: Instead, the call-to-action should be “Free Download” or “Free Sign Up”.

Sales

You are now probably asking yourself “Then where does the big ‘Buy’ orange button go?”, and the answer is: nowhere on your site! One fact you should be aware of is that here in China nothing happens without an established relationship (Google the keyword “guanxi” for more information). It is very unlikely that you will get any paid conversions originating from an ad or email. The goal of your conversion funnel should not be “sales” but instead “relationships”. Then, from the established relationship, the user can recommend your software to their boss, or whoever is the actual buyer. Of course the sales cycle is longer and it requires much more effort, but the rewards may be bigger too as you will be selling a package, and not only the license. Also, since guanxi is such an important part of making business, Chinese people are quite receptive when approached with a business proposition, differently than in the west where sales are normally met with resistance.

However, note that I have not suggested that you should be the one personally cultivating those relationships. Maybe it is possible to do it remotely and in English, but it would be more effective if you partner with locals and funnel the leads to them. They do not need to be sales professionals per se, but they need to know your software and be able to help prospects. They could be software students for example. Of course, at some point you must get involved, but your partner can help you to filter the good leads as they cultivate the relationship. The reward for them could be payment per hour or a percentage of the sale. Students might also be eager to help a foreign company, so they can add that experience to their resumes.

A word about consumer-oriented microISVs: I am extremely skeptical about independent microISV B2C sales in China, because I honestly cannot imagine an individual paying for independent software. That does not mean that microISV B2C cannot succeed in China. My point is that B2C sales are in fact B2B, because businesses who deal with consumers are more likely to pay. And B2B requires guanxi.

Approaching bloggers

As in the west, approaching bloggers is probably the most effective way to let users know about your product. You can use Google Translate to find sites and bloggers that you would like to contact: Google Translate does a good job in translating keywords (that you can use on searches on Baidu) as well as entire pages (so you can read the blog posts). For IT-related blogs, cnblogs.com (Microsoft-focused) and javaeye.com (you guessed correctly) are the most popular ones.

You can contact the bloggers directly in English, as most young Chinese people have a good grasp of written English. Foreigners in China are well-respected, especially in the IT industry, so this is a point in our favor.

Dealing with piracy

Actually “Dealing with piracy” is a misleading title, because in reality there is no way to deal with piracy. People will crack, copy and use your software as they wish, and they will not even feel guilty about it. Again, let’s not judge, but accept the fact that piracy is simply part of the culture (for some it is piracy, for others it is just sharing)

Instead of talking about code scramblers and licensing keys, let me offer here a contrarian (perhaps even controversial) point of view, in the wisdom of “if you can’t fight them, join them”. You should consider yourself lucky if your software gets pirated, because that means that it got traction. For every pirated software there is always a happy user behind it (after all, they chose to pirate your software, and not your competitor’s), and if this user convinces their employer to use your software, then there is a good chance that these companies will be your future clients.

SEM / SEO

By no means am I an SEO expert, let alone a China SEO expert. However, I can tell a little about the users’ search behaviors: Non-technical users very rarely use Google. In fact, my observation is that while Google is a somewhat known brand, people first turn to Baidu hands-down. Baidu has the best search results in Mandarin Chinese, and they have a service similar to AdWords (though you might need help to set-up an account, as the interface has not been translated to English)

Technical users have a different behavior: These are IT professionals and students, and because English is so pervasive in IT, they normally do have a good grasp of the language. So, for technical searches they might use both Mandarin and English keywords, but still Baidu is their first choice. However, interestingly enough, Gmail is also quite popular among Chinese techies. So, if you are selling IT-related software, your SEM/SEO strategy should include keywords in both Mandarin and English, and include both Baidu and Google (or more specifically, AdWords targeting Gmail).

Face

I cannot finish this article without mentioning such important part of the culture: Face. There is not enough space here to explain the concept (Google “mianzi” for more information), but it’s suffice to say that it’s basically the same as in the west (face as in reputation), except that in China face is much more important.

When it comes to software, always keep in mind that most (if not all) decisions are made based on face: Users will use your software to be more efficient in a certain job, and thus look better to the boss; or to show that they have knowledge that other colleagues don’t have; or to show to their clients what cool software they have, and not their competitor. The contrary (that is avoiding face lost) is also true: To finish a job quickly so they can deliver the project on time, and thus avoid getting the boss mad; or to learn a new skill that their colleagues already have; or to show their clients that they also have the same cool software their competitors use. In the west we also make decisions based on face, but in China it is so much more prevalent. Keep that in mind when creating your promotional material.

Conclusion

I have no doubts that China will become a major technology consumer in the very near future, not only because of the sheer size of its Internet user base (which today surpasses the size of the entire US population), but also due to the number of high-quality IT professionals graduating at their universities.

The key message I want to communicate is that your China strategy should be a long-term one. It takes time and effort, but the rewards are worthwhile. Even if you conclude that there are no opportunities to be pursued, at the very least you should have a strategy to protect your marketshare against competitors that decide to go to China.

You don’t necessarily need to be so enthusiastic like me and move to China (although I guarantee you would have an experience of a lifetime!), but at the same time you cannot simply ignore it. Chinese users will certainly knock on your door, and you can even ignore them, but your competitors won’t.

Felipe Albertao is a software engineer with more than 15 years of experience, and has been living in China since June 2009. He is a native from São Paulo, Brazil, and lived in Silicon Valley, USA for 8 years. Felipe blogs about software and China at shanzhaier.com.